{ "name": "twn", "procedures": { "input_action": { "module": "input", "symbol": "action", "header": "twn_input.h", "params": [ { "name": "name", "type": "char *" }, { "name": "control", "type": "Control" } ] }, "input_action_pressed": { "module": "input", "symbol": "action_pressed", "header": "twn_input.h", "params": [ { "name": "name", "type": "char *" } ], "return": "bool" }, "input_action_just_pressed": { "module": "input", "symbol": "action_just_pressed", "header": "twn_input.h", "params": [ { "name": "name", "type": "char *" } ], "return": "bool" }, "input_action_just_released": { "module": "input", "symbol": "action_just_released", "header": "twn_input.h", "params": [ { "name": "name", "type": "char *" } ], "return": "bool" }, "input_action_position": { "module": "input", "symbol": "get_action_position", "header": "twn_input.h", "params": [ { "name": "name", "type": "char *" } ], "return": "Vec2" }, "draw_sprite": { "module": "draw", "symbol": "sprite", "header": "twn_draw.h", "params": [ { "name": "texture", "type": "char *" }, { "name": "rect", "type": "Rect" }, { "name": "texture_region", "type": "Rect *", "default": {} }, { "name": "color", "type": "Color", "default": { "r": 255, "g": 255, "b": 255, "a": 255 } }, { "name": "rotation", "type": "float", "default": 0.0 }, { "name": "flip_x", "type": "bool", "default": false }, { "name": "flip_y", "type": "bool", "default": false }, { "name": "stretch", "type": "bool", "default": true } ] }, "draw_rectangle": { "module": "draw", "symbol": "rectangle", "header": "twn_draw.h", "params": [ { "name": "rect", "type": "Rect" }, { "name": "color", "type": "Color", "default": { "r": 255, "g": 255, "b": 255, "a": 255 } } ] }, "draw_circle": { "module": "draw", "symbol": "circle", "header": "twn_draw.h", "params": [ { "name": "position", "type": "Vec2" }, { "name": "radius", "type": "float" }, { "name": "color", "type": "Color", "default": { "r": 255, "g": 255, "b": 255, "a": 255 } } ] }, "draw_text": { "module": "draw", "symbol": "text", "header": "twn_draw.h", "params": [ { "name": "string", "type": "char *" }, { "name": "position", "type": "Vec2" }, { "name": "height", "type": "float", "default": 22 }, { "name": "color", "type": "Color", "default": { "r": 255, "g": 255, "b": 255, "a": 255 } }, { "name": "font", "type": "char *", "default": {} } ] }, "draw_text_width": { "module": "draw", "symbol": "text_width", "header": "twn_draw.h", "params": [ { "name": "string", "type": "char *" }, { "name": "height", "type": "float", "default": 22 }, { "name": "font", "type": "char *", "default": {} } ], "return": "float" }, "draw_nine_slice": { "module": "draw", "symbol": "nine_slice", "header": "twn_draw.h", "params": [ { "name": "texture", "type": "char *" }, { "name": "corners", "type": "Vec2" }, { "name": "rect", "type": "Rect" }, { "name": "border_thickness", "type": "float", "default": 0 }, { "name": "color", "type": "Color", "default": { "r": 255, "g": 255, "b": 255, "a": 255 } } ] }, "draw_triangle": { "module": "draw", "symbol": "triangle", "header": "twn_draw.h", "params": [ { "name": "texture", "type": "char *" }, { "name": "v0", "type": "Vec3" }, { "name": "v1", "type": "Vec3" }, { "name": "v2", "type": "Vec3" }, { "name": "uv0", "type": "Vec2" }, { "name": "uv1", "type": "Vec2" }, { "name": "uv2", "type": "Vec2" }, { "name": "c0", "type": "Color", "default": { "r": 255, "g": 255, "b": 255, "a": 255 } }, { "name": "c1", "type": "Color", "default": { "r": 255, "g": 255, "b": 255, "a": 255 } }, { "name": "c2", "type": "Color", "default": { "r": 255, "g": 255, "b": 255, "a": 255 } } ] }, "draw_quad": { "module": "draw", "symbol": "quad", "header": "twn_draw.h", "params": [ { "name": "texture", "type": "char *" }, { "name": "v0", "type": "Vec3" }, { "name": "v1", "type": "Vec3" }, { "name": "v2", "type": "Vec3" }, { "name": "v3", "type": "Vec3" }, { "name": "texture_region", "type": "Rect" }, { "name": "color", "type": "Color", "default": { "r": 255, "g": 255, "b": 255, "a": 255 } } ] }, "draw_billboard": { "module": "draw", "symbol": "billboard", "header": "twn_draw.h", "params": [ { "name": "texture", "type": "char *" }, { "name": "position", "type": "Vec3" }, { "name": "size", "type": "Vec2" }, { "name": "color", "type": "Color", "default": { "r": 255, "g": 255, "b": 255, "a": 255 } }, { "name": "cylindrical", "type": "bool", "default": false } ] }, "draw_camera": { "module": "draw", "symbol": "camera", "header": "twn_draw.h", "params": [ { "name": "position", "type": "Vec3" }, { "name": "fov", "type": "float" }, { "name": "up", "type": "Vec3" }, { "name": "direction", "type": "Vec3" } ] }, "draw_camera_from_principal_axes": { "module": "draw", "symbol": "camera_from_principal_axes", "header": "twn_draw.h", "params": [ { "name": "position", "type": "Vec3" }, { "name": "fov", "type": "float" }, { "name": "roll", "type": "float" }, { "name": "pitch", "type": "float" }, { "name": "yaw", "type": "float" } ], "return": { "fields": [ { "name": "direction", "type": "Vec3" }, { "name": "up", "type": "Vec3" } ], "c_type": "DrawCameraFromPrincipalAxesResult" } }, "draw_skybox": { "module": "draw", "symbol": "skybox", "header": "twn_draw.h", "params": [ { "name": "textures", "type": "char *", "default": {} } ] }, }, "types": { "Vec2": { "fields": [ { "name": "x", "type": "float" }, { "name": "y", "type": "float" } ], "c_type": "Vec2" }, "Vec3": { "fields": [ { "name": "x", "type": "float" }, { "name": "y", "type": "float" }, { "name": "z", "type": "float" } ], "c_type": "Vec3" }, "Color": { "fields": [ { "name": "r", "type": "uint8_t" }, { "name": "g", "type": "uint8_t" }, { "name": "b", "type": "uint8_t" }, { "name": "a", "type": "uint8_t" } ], "c_type": "Color" }, "Rect": { "fields": [ { "name": "x", "type": "float" }, { "name": "y", "type": "float" }, { "name": "w", "type": "float" }, { "name": "h", "type": "float" } ], "c_type": "Rect" }, "Context": { "fields": [ { "name": "frame_number", "type": "float" }, { "name": "frame_duration", "type": "float" }, { "name": "fog_start", "type": "float" }, { "name": "fog_end", "type": "float" }, { "name": "fog_density", "type": "float" }, { "name": "fog_color", "type": "Color" }, { "name": "resolution", "type": "Vec2" }, { "name": "mouse_position", "type": "Vec2" }, { "name": "mouse_movement", "type": "Vec2" }, { "name": "random_seed", "type": "float" }, { "name": "debug", "type": "bool" }, { "name": "initialization_needed", "type": "bool" }, { "name": "mouse_capture", "type": "bool" } ], "c_type": "Context" }, "Control": { "enums": { "A": 4, "B": 5, "C": 6, "D": 7, "E": 8, "F": 9, "G": 10, "H": 11, "I": 12, "J": 13, "K": 14, "L": 15, "M": 16, "N": 17, "O": 18, "P": 19, "Q": 20, "R": 21, "S": 22, "T": 23, "U": 24, "V": 25, "W": 26, "X": 27, "Y": 28, "Z": 29, "1": 30, "2": 31, "3": 32, "4": 33, "5": 34, "6": 35, "7": 36, "8": 37, "9": 38, "0": 39, "RETURN": 40, "ESCAPE": 41, "BACKSPACE": 42, "TAB": 43, "SPACE": 44, "MINUS": 45, "EQUALS": 46, "LEFTBRACKET": 47, "RIGHTBRACKET": 48, "BACKSLASH": 49, "NONUSHASH": 50, "SEMICOLON": 51, "APOSTROPHE": 52, "GRAVE": 53, "COMMA": 54, "PERIOD": 55, "SLASH": 56, "CAPSLOCK": 57, "F1": 58, "F2": 59, "F3": 60, "F4": 61, "F5": 62, "F6": 63, "F7": 64, "F8": 65, "F9": 66, "F10": 67, "F11": 68, "F12": 69, "PRINTSCREEN": 70, "SCROLLLOCK": 71, "PAUSE": 72, "INSERT": 73, "HOME": 74, "PAGEUP": 75, "DELETE": 76, "END": 77, "PAGEDOWN": 78, "RIGHT": 79, "LEFT": 80, "DOWN": 81, "UP": 82, "NUMLOCKCLEAR": 83, "KP_DIVIDE": 84, "KP_MULTIPLY": 85, "KP_MINUS": 86, "KP_PLUS": 87, "KP_ENTER": 88, "KP_1": 89, "KP_2": 90, "KP_3": 91, "KP_4": 92, "KP_5": 93, "KP_6": 94, "KP_7": 95, "KP_8": 96, "KP_9": 97, "KP_0": 98, "KP_PERIOD": 99, "NONUSBACKSLASH": 100, "APPLICATION": 101, "POWER": 102, "KP_EQUALS": 103, "F13": 104, "F14": 105, "F15": 106, "F16": 107, "F17": 108, "F18": 109, "F19": 110, "F20": 111, "F21": 112, "F22": 113, "F23": 114, "F24": 115, "EXECUTE": 116, "HELP": 117, "MENU": 118, "SELECT": 119, "STOP": 120, "AGAIN": 121, "UNDO": 122, "CUT": 123, "COPY": 124, "PASTE": 125, "FIND": 126, "MUTE": 127, "VOLUMEUP": 128, "VOLUMEDOWN": 129, "KP_COMMA": 133, "KP_EQUALSAS400": 134, "INTERNATIONAL1": 135, "INTERNATIONAL2": 136, "INTERNATIONAL3": 137, "INTERNATIONAL4": 138, "INTERNATIONAL5": 139, "INTERNATIONAL6": 140, "INTERNATIONAL7": 141, "INTERNATIONAL8": 142, "INTERNATIONAL9": 143, "LANG1": 144, "LANG2": 145, "LANG3": 146, "LANG4": 147, "LANG5": 148, "LANG6": 149, "LANG7": 150, "LANG8": 151, "LANG9": 152, "ALTERASE": 153, "SYSREQ": 154, "CANCEL": 155, "CLEAR": 156, "PRIOR": 157, "RETURN2": 158, "SEPARATOR": 159, "OUT": 160, "OPER": 161, "CLEARAGAIN": 162, "CRSEL": 163, "EXSEL": 164, "KP_00": 176, "KP_000": 177, "THOUSANDSSEPARATOR": 178, "DECIMALSEPARATOR": 179, "CURRENCYUNIT": 180, "CURRENCYSUBUNIT": 181, "KP_LEFTPAREN": 182, "KP_RIGHTPAREN": 183, "KP_LEFTBRACE": 184, "KP_RIGHTBRACE": 185, "KP_TAB": 186, "KP_BACKSPACE": 187, "KP_A": 188, "KP_B": 189, "KP_C": 190, "KP_D": 191, "KP_E": 192, "KP_F": 193, "KP_XOR": 194, "KP_POWER": 195, "KP_PERCENT": 196, "KP_LESS": 197, "KP_GREATER": 198, "KP_AMPERSAND": 199, "KP_DBLAMPERSAND": 200, "KP_VERTICALBAR": 201, "KP_DBLVERTICALBAR": 202, "KP_COLON": 203, "KP_HASH": 204, "KP_SPACE": 205, "KP_AT": 206, "KP_EXCLAM": 207, "KP_MEMSTORE": 208, "KP_MEMRECALL": 209, "KP_MEMCLEAR": 210, "KP_MEMADD": 211, "KP_MEMSUBTRACT": 212, "KP_MEMMULTIPLY": 213, "KP_MEMDIVIDE": 214, "KP_PLUSMINUS": 215, "KP_CLEAR": 216, "KP_CLEARENTRY": 217, "KP_BINARY": 218, "KP_OCTAL": 219, "KP_DECIMAL": 220, "KP_HEXADECIMAL": 221, "LCTRL": 224, "LSHIFT": 225, "LALT": 226, "LGUI": 227, "RCTRL": 228, "RSHIFT": 229, "RALT": 230, "RGUI": 231, "MODE": 257, "KBDILLUMTOGGLE": 278, "KBDILLUMDOWN": 279, "KBDILLUMUP": 280, "EJECT": 281, "SLEEP": 282, "APP1": 283, "APP2": 284, "AUDIOREWIND": 285, "AUDIOFASTFORWARD": 286, "SOFTLEFT": 287, "SOFTRIGHT": 288, "CALL": 289, "ENDCALL": 290, "LEFT_MOUSE": 513, "RIGHT_MOUSE": 515, "MIDDLE_MOUSE": 514, "X1": 516, "X2": 517 } } } }