{ "name": "twn", "procedures": { "input_action": { "module": "input", "symbol": "action", "header": "twn_input.h", "params": [ { "name": "name", "type": "char *" }, { "name": "control", "type": "char *" } ] }, "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_line": { "module": "draw", "symbol": "line", "header": "twn_draw.h", "params": [ { "name": "start", "type": "Vec2" }, { "name": "finish", "type": "Vec2" }, { "name": "thickness", "type": "float", "default": 1 }, { "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": "direction", "type": "Vec3", "default": { "x": 0, "y": 0, "z": -1 } }, { "name": "up", "type": "Vec3", "default": { "x": 0, "y": 1, "z": 0 } }, { "name": "fov", "type": "float", "default": 1.57079632679 }, { "name": "zoom", "type": "float", "default": 1 } ] }, "draw_camera_from_principal_axes": { "module": "draw", "symbol": "camera_from_principal_axes", "header": "twn_draw.h", "params": [ { "name": "position", "type": "Vec3" }, { "name": "roll", "type": "float", "default": 0 }, { "name": "pitch", "type": "float", "default": 0 }, { "name": "yaw", "type": "float", "default": 0 }, { "name": "fov", "type": "float", "default": 1.57079632679 }, { "name": "zoom", "type": "float", "default": 1 } ], "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": {} } ] }, "audio_play": { "module": "audio", "symbol": "play", "header": "twn_audio.h", "params": [ { "name": "audio", "type": "char *" }, { "name": "channel", "type": "char *", "default": {} }, { "name": "loops", "type": "bool", "default": false }, { "name": "volume", "type": "float", "default": 1.0 }, { "name": "panning", "type": "float", "default": 0.0 } ] }, "audio_parameter": { "module": "audio", "symbol": "parameter", "header": "twn_audio.h", "params": [ { "name": "channel", "type": "char *" }, { "name": "parameter", "type": "char *" }, { "name": "value", "type": "float" } ] }, "log_vec2": { "module": "util", "symbol": "log_vec2", "header": "twn_util.h", "params": [ { "name": "value", "type": "Vec2" }, { "name": "identity", "type": "char *" } ] }, "log_vec3": { "module": "util", "symbol": "log_vec3", "header": "twn_util.h", "params": [ { "name": "value", "type": "Vec3" }, { "name": "identity", "type": "char *" } ] }, "log_rect": { "module": "util", "symbol": "log_rect", "header": "twn_util.h", "params": [ { "name": "value", "type": "Rect" }, { "name": "identity", "type": "char *" } ] }, "profile_start": { "module": "util", "symbol": "profile_start", "header": "twn_util.h", "params": [ { "name": "profile", "type": "char *" } ] }, "profile_end": { "module": "util", "symbol": "profile_end", "header": "twn_util.h", "params": [ { "name": "profile", "type": "char *" } ] } }, "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_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" } } }