From 4eb3d8857f1a8377f2cfa6e804183512cde5973e Mon Sep 17 00:00:00 2001 From: lazaray <104470294+lazaray@users.noreply.github.com> Date: Wed, 4 May 2022 13:44:55 +0200 Subject: [PATCH] Reorder parser (#2462) * Reorder parser output * Regenerate parser output * Reorder parser line reading * Reorder parser data parsing * Reorder remaining parser stuff --- parser/raylib_api.json | 4424 +++++++++++------------ parser/raylib_api.lua | 4342 +++++++++++------------ parser/raylib_api.txt | 7664 ++++++++++++++++++++-------------------- parser/raylib_api.xml | 162 +- parser/raylib_parser.c | 1210 ++++--- 5 files changed, 8900 insertions(+), 8902 deletions(-) diff --git a/parser/raylib_api.json b/parser/raylib_api.json index 98a939b2..5006e206 100644 --- a/parser/raylib_api.json +++ b/parser/raylib_api.json @@ -1,2899 +1,2995 @@ { - "structs": [ + "defines": [ { - "name": "Vector2", - "description": "Vector2, 2 components", - "fields": [ - { - "type": "float", - "name": "x", - "description": "Vector x component" - }, - { - "type": "float", - "name": "y", - "description": "Vector y component" - } - ] + "name": "RAYLIB_H", + "type": "GUARD", + "value": "", + "description": "" }, { - "name": "Vector3", - "description": "Vector3, 3 components", - "fields": [ - { - "type": "float", - "name": "x", - "description": "Vector x component" - }, - { - "type": "float", - "name": "y", - "description": "Vector y component" - }, - { - "type": "float", - "name": "z", - "description": "Vector z component" - } - ] + "name": "RAYLIB_VERSION", + "type": "STRING", + "value": "4.1-dev", + "description": "" }, { - "name": "Vector4", - "description": "Vector4, 4 components", - "fields": [ - { - "type": "float", - "name": "x", - "description": "Vector x component" - }, - { - "type": "float", - "name": "y", - "description": "Vector y component" - }, - { - "type": "float", - "name": "z", - "description": "Vector z component" - }, - { - "type": "float", - "name": "w", - "description": "Vector w component" - } - ] + "name": "RLAPI", + "type": "UNKNOWN", + "value": "__declspec(dllexport)", + "description": "We are building the library as a Win32 shared library (.dll)" }, { - "name": "Matrix", - "description": "Matrix, 4x4 components, column major, OpenGL style, right handed", - "fields": [ - { - "type": "float", - "name": "m0", - "description": "Matrix first row (4 components)" - }, - { - "type": "float", - "name": "m4", - "description": "Matrix first row (4 components)" - }, - { - "type": "float", - "name": "m8", - "description": "Matrix first row (4 components)" - }, - { - "type": "float", - "name": "m12", - "description": "Matrix first row (4 components)" - }, - { - "type": "float", - "name": "m1", - "description": "Matrix second row (4 components)" - }, - { - "type": "float", - "name": "m5", - "description": "Matrix second row (4 components)" - }, - { - "type": "float", - "name": "m9", - "description": "Matrix second row (4 components)" - }, - { - "type": "float", - "name": "m13", - "description": "Matrix second row (4 components)" - }, - { - "type": "float", - "name": "m2", - "description": "Matrix third row (4 components)" - }, - { - "type": "float", - "name": "m6", - "description": "Matrix third row (4 components)" - }, - { - "type": "float", - "name": "m10", - "description": "Matrix third row (4 components)" - }, - { - "type": "float", - "name": "m14", - "description": "Matrix third row (4 components)" - }, - { - "type": "float", - "name": "m3", - "description": "Matrix fourth row (4 components)" - }, - { - "type": "float", - "name": "m7", - "description": "Matrix fourth row (4 components)" - }, - { - "type": "float", - "name": "m11", - "description": "Matrix fourth row (4 components)" - }, - { - "type": "float", - "name": "m15", - "description": "Matrix fourth row (4 components)" - } - ] + "name": "PI", + "type": "FLOAT", + "value": 3.14159265358979323846, + "description": "" }, { - "name": "Color", - "description": "Color, 4 components, R8G8B8A8 (32bit)", - "fields": [ - { - "type": "unsigned char", - "name": "r", - "description": "Color red value" - }, - { - "type": "unsigned char", - "name": "g", - "description": "Color green value" - }, - { - "type": "unsigned char", - "name": "b", - "description": "Color blue value" - }, - { - "type": "unsigned char", - "name": "a", - "description": "Color alpha value" - } - ] + "name": "DEG2RAD", + "type": "UNKNOWN", + "value": "(PI/180.0f)", + "description": "" }, { - "name": "Rectangle", - "description": "Rectangle, 4 components", - "fields": [ - { - "type": "float", - "name": "x", - "description": "Rectangle top-left corner position x" - }, - { - "type": "float", - "name": "y", - "description": "Rectangle top-left corner position y" - }, - { - "type": "float", - "name": "width", - "description": "Rectangle width" - }, - { - "type": "float", - "name": "height", - "description": "Rectangle height" - } - ] + "name": "RAD2DEG", + "type": "UNKNOWN", + "value": "(180.0f/PI)", + "description": "" }, { - "name": "Image", - "description": "Image, pixel data stored in CPU memory (RAM)", - "fields": [ - { - "type": "void *", - "name": "data", - "description": "Image raw data" - }, - { - "type": "int", - "name": "width", - "description": "Image base width" - }, - { - "type": "int", - "name": "height", - "description": "Image base height" - }, - { - "type": "int", - "name": "mipmaps", - "description": "Mipmap levels, 1 by default" - }, - { - "type": "int", - "name": "format", - "description": "Data format (PixelFormat type)" - } - ] + "name": "RL_MALLOC(sz)", + "type": "MACRO", + "value": "malloc(sz)", + "description": "" }, { - "name": "Texture", - "description": "Texture, tex data stored in GPU memory (VRAM)", - "fields": [ - { - "type": "unsigned int", - "name": "id", - "description": "OpenGL texture id" - }, - { - "type": "int", - "name": "width", - "description": "Texture base width" - }, - { - "type": "int", - "name": "height", - "description": "Texture base height" - }, - { - "type": "int", - "name": "mipmaps", - "description": "Mipmap levels, 1 by default" - }, - { - "type": "int", - "name": "format", - "description": "Data format (PixelFormat type)" - } - ] + "name": "RL_CALLOC(n,sz)", + "type": "MACRO", + "value": "calloc(n,sz)", + "description": "" }, { - "name": "RenderTexture", - "description": "RenderTexture, fbo for texture rendering", - "fields": [ - { - "type": "unsigned int", - "name": "id", - "description": "OpenGL framebuffer object id" - }, - { - "type": "Texture", - "name": "texture", - "description": "Color buffer attachment texture" - }, - { - "type": "Texture", - "name": "depth", - "description": "Depth buffer attachment texture" - } - ] + "name": "RL_REALLOC(ptr,sz)", + "type": "MACRO", + "value": "realloc(ptr,sz)", + "description": "" }, { - "name": "NPatchInfo", - "description": "NPatchInfo, n-patch layout info", - "fields": [ - { - "type": "Rectangle", - "name": "source", - "description": "Texture source rectangle" - }, - { - "type": "int", - "name": "left", - "description": "Left border offset" - }, - { - "type": "int", - "name": "top", - "description": "Top border offset" - }, - { - "type": "int", - "name": "right", - "description": "Right border offset" - }, - { - "type": "int", - "name": "bottom", - "description": "Bottom border offset" - }, - { - "type": "int", - "name": "layout", - "description": "Layout of the n-patch: 3x3, 1x3 or 3x1" - } - ] + "name": "RL_FREE(ptr)", + "type": "MACRO", + "value": "free(ptr)", + "description": "" }, { - "name": "GlyphInfo", - "description": "GlyphInfo, font characters glyphs info", - "fields": [ - { - "type": "int", - "name": "value", - "description": "Character value (Unicode)" - }, - { - "type": "int", - "name": "offsetX", - "description": "Character offset X when drawing" - }, - { - "type": "int", - "name": "offsetY", - "description": "Character offset Y when drawing" - }, - { - "type": "int", - "name": "advanceX", - "description": "Character advance position X" - }, - { - "type": "Image", - "name": "image", - "description": "Character image data" - } - ] + "name": "CLITERAL(type)", + "type": "MACRO", + "value": "type", + "description": "" }, { - "name": "Font", - "description": "Font, font texture and GlyphInfo array data", - "fields": [ - { - "type": "int", - "name": "baseSize", - "description": "Base size (default chars height)" - }, - { - "type": "int", - "name": "glyphCount", - "description": "Number of glyph characters" - }, - { - "type": "int", - "name": "glyphPadding", - "description": "Padding around the glyph characters" - }, - { - "type": "Texture2D", - "name": "texture", - "description": "Texture atlas containing the glyphs" - }, - { - "type": "Rectangle *", - "name": "recs", - "description": "Rectangles in texture for the glyphs" - }, - { - "type": "GlyphInfo *", - "name": "glyphs", - "description": "Glyphs info data" - } - ] + "name": "RL_COLOR_TYPE", + "type": "GUARD", + "value": "", + "description": "" }, { - "name": "Camera3D", - "description": "Camera, defines position/orientation in 3d space", - "fields": [ - { - "type": "Vector3", - "name": "position", - "description": "Camera position" - }, - { - "type": "Vector3", - "name": "target", - "description": "Camera target it looks-at" - }, - { - "type": "Vector3", - "name": "up", - "description": "Camera up vector (rotation over its axis)" - }, - { - "type": "float", - "name": "fovy", - "description": "Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic" - }, - { - "type": "int", - "name": "projection", - "description": "Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC" - } - ] + "name": "RL_RECTANGLE_TYPE", + "type": "GUARD", + "value": "", + "description": "" }, { - "name": "Camera2D", - "description": "Camera2D, defines position/orientation in 2d space", - "fields": [ - { - "type": "Vector2", - "name": "offset", - "description": "Camera offset (displacement from target)" - }, - { - "type": "Vector2", - "name": "target", - "description": "Camera target (rotation and zoom origin)" - }, - { - "type": "float", - "name": "rotation", - "description": "Camera rotation in degrees" - }, - { - "type": "float", - "name": "zoom", - "description": "Camera zoom (scaling), should be 1.0f by default" - } - ] + "name": "RL_VECTOR2_TYPE", + "type": "GUARD", + "value": "", + "description": "" }, { - "name": "Mesh", - "description": "Mesh, vertex data and vao/vbo", - "fields": [ - { - "type": "int", - "name": "vertexCount", - "description": "Number of vertices stored in arrays" - }, - { - "type": "int", - "name": "triangleCount", - "description": "Number of triangles stored (indexed or not)" - }, - { - "type": "float *", - "name": "vertices", - "description": "Vertex position (XYZ - 3 components per vertex) (shader-location = 0)" - }, - { - "type": "float *", - "name": "texcoords", - "description": "Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)" - }, - { - "type": "float *", - "name": "texcoords2", - "description": "Vertex texture second coordinates (UV - 2 components per vertex) (shader-location = 5)" - }, - { - "type": "float *", - "name": "normals", - "description": "Vertex normals (XYZ - 3 components per vertex) (shader-location = 2)" - }, - { - "type": "float *", - "name": "tangents", - "description": "Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4)" - }, - { - "type": "unsigned char *", - "name": "colors", - "description": "Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)" - }, - { - "type": "unsigned short *", - "name": "indices", - "description": "Vertex indices (in case vertex data comes indexed)" - }, - { - "type": "float *", - "name": "animVertices", - "description": "Animated vertex positions (after bones transformations)" - }, - { - "type": "float *", - "name": "animNormals", - "description": "Animated normals (after bones transformations)" - }, - { - "type": "unsigned char *", - "name": "boneIds", - "description": "Vertex bone ids, max 255 bone ids, up to 4 bones influence by vertex (skinning)" - }, - { - "type": "float *", - "name": "boneWeights", - "description": "Vertex bone weight, up to 4 bones influence by vertex (skinning)" - }, - { - "type": "unsigned int", - "name": "vaoId", - "description": "OpenGL Vertex Array Object id" - }, - { - "type": "unsigned int *", - "name": "vboId", - "description": "OpenGL Vertex Buffer Objects id (default vertex data)" - } - ] + "name": "RL_VECTOR3_TYPE", + "type": "GUARD", + "value": "", + "description": "" }, { - "name": "Shader", - "description": "Shader", - "fields": [ - { - "type": "unsigned int", - "name": "id", - "description": "Shader program id" - }, - { - "type": "int *", - "name": "locs", - "description": "Shader locations array (RL_MAX_SHADER_LOCATIONS)" - } - ] + "name": "RL_VECTOR4_TYPE", + "type": "GUARD", + "value": "", + "description": "" }, { - "name": "MaterialMap", - "description": "MaterialMap", - "fields": [ - { - "type": "Texture2D", - "name": "texture", - "description": "Material map texture" - }, - { - "type": "Color", - "name": "color", - "description": "Material map color" - }, - { - "type": "float", - "name": "value", - "description": "Material map value" - } - ] + "name": "RL_QUATERNION_TYPE", + "type": "GUARD", + "value": "", + "description": "" }, { - "name": "Material", - "description": "Material, includes shader and maps", - "fields": [ - { - "type": "Shader", - "name": "shader", - "description": "Material shader" - }, - { - "type": "MaterialMap *", - "name": "maps", - "description": "Material maps array (MAX_MATERIAL_MAPS)" - }, - { - "type": "float[4]", - "name": "params", - "description": "Material generic parameters (if required)" - } - ] + "name": "RL_MATRIX_TYPE", + "type": "GUARD", + "value": "", + "description": "" }, { - "name": "Transform", - "description": "Transform, vectex transformation data", - "fields": [ - { - "type": "Vector3", - "name": "translation", - "description": "Translation" - }, - { - "type": "Quaternion", - "name": "rotation", - "description": "Rotation" - }, - { - "type": "Vector3", - "name": "scale", - "description": "Scale" - } - ] + "name": "LIGHTGRAY", + "type": "COLOR", + "value": "CLITERAL(Color){ 200, 200, 200, 255 }", + "description": "Light Gray" }, { - "name": "BoneInfo", - "description": "Bone, skeletal animation bone", - "fields": [ - { - "type": "char[32]", - "name": "name", - "description": "Bone name" - }, - { - "type": "int", - "name": "parent", - "description": "Bone parent" - } - ] + "name": "GRAY", + "type": "COLOR", + "value": "CLITERAL(Color){ 130, 130, 130, 255 }", + "description": "Gray" }, { - "name": "Model", - "description": "Model, meshes, materials and animation data", - "fields": [ - { - "type": "Matrix", - "name": "transform", - "description": "Local transform matrix" - }, - { - "type": "int", - "name": "meshCount", - "description": "Number of meshes" - }, - { - "type": "int", - "name": "materialCount", - "description": "Number of materials" - }, - { - "type": "Mesh *", - "name": "meshes", - "description": "Meshes array" - }, - { - "type": "Material *", - "name": "materials", - "description": "Materials array" - }, - { - "type": "int *", - "name": "meshMaterial", - "description": "Mesh material number" - }, - { - "type": "int", - "name": "boneCount", - "description": "Number of bones" - }, - { - "type": "BoneInfo *", - "name": "bones", - "description": "Bones information (skeleton)" - }, - { - "type": "Transform *", - "name": "bindPose", - "description": "Bones base transformation (pose)" - } - ] + "name": "DARKGRAY", + "type": "COLOR", + "value": "CLITERAL(Color){ 80, 80, 80, 255 }", + "description": "Dark Gray" }, { - "name": "ModelAnimation", - "description": "ModelAnimation", - "fields": [ - { - "type": "int", - "name": "boneCount", - "description": "Number of bones" - }, - { - "type": "int", - "name": "frameCount", - "description": "Number of animation frames" - }, - { - "type": "BoneInfo *", - "name": "bones", - "description": "Bones information (skeleton)" - }, - { - "type": "Transform **", - "name": "framePoses", - "description": "Poses array by frame" - } - ] + "name": "YELLOW", + "type": "COLOR", + "value": "CLITERAL(Color){ 253, 249, 0, 255 }", + "description": "Yellow" }, { - "name": "Ray", - "description": "Ray, ray for raycasting", - "fields": [ - { - "type": "Vector3", - "name": "position", - "description": "Ray position (origin)" - }, - { - "type": "Vector3", - "name": "direction", - "description": "Ray direction" - } - ] + "name": "GOLD", + "type": "COLOR", + "value": "CLITERAL(Color){ 255, 203, 0, 255 }", + "description": "Gold" }, { - "name": "RayCollision", - "description": "RayCollision, ray hit information", - "fields": [ - { - "type": "bool", - "name": "hit", - "description": "Did the ray hit something?" - }, + "name": "ORANGE", + "type": "COLOR", + "value": "CLITERAL(Color){ 255, 161, 0, 255 }", + "description": "Orange" + }, + { + "name": "PINK", + "type": "COLOR", + "value": "CLITERAL(Color){ 255, 109, 194, 255 }", + "description": "Pink" + }, + { + "name": "RED", + "type": "COLOR", + "value": "CLITERAL(Color){ 230, 41, 55, 255 }", + "description": "Red" + }, + { + "name": "MAROON", + "type": "COLOR", + "value": "CLITERAL(Color){ 190, 33, 55, 255 }", + "description": "Maroon" + }, + { + "name": "GREEN", + "type": "COLOR", + "value": "CLITERAL(Color){ 0, 228, 48, 255 }", + "description": "Green" + }, + { + "name": "LIME", + "type": "COLOR", + "value": "CLITERAL(Color){ 0, 158, 47, 255 }", + "description": "Lime" + }, + { + "name": "DARKGREEN", + "type": "COLOR", + "value": "CLITERAL(Color){ 0, 117, 44, 255 }", + "description": "Dark Green" + }, + { + "name": "SKYBLUE", + "type": "COLOR", + "value": "CLITERAL(Color){ 102, 191, 255, 255 }", + "description": "Sky Blue" + }, + { + "name": "BLUE", + "type": "COLOR", + "value": "CLITERAL(Color){ 0, 121, 241, 255 }", + "description": "Blue" + }, + { + "name": "DARKBLUE", + "type": "COLOR", + "value": "CLITERAL(Color){ 0, 82, 172, 255 }", + "description": "Dark Blue" + }, + { + "name": "PURPLE", + "type": "COLOR", + "value": "CLITERAL(Color){ 200, 122, 255, 255 }", + "description": "Purple" + }, + { + "name": "VIOLET", + "type": "COLOR", + "value": "CLITERAL(Color){ 135, 60, 190, 255 }", + "description": "Violet" + }, + { + "name": "DARKPURPLE", + "type": "COLOR", + "value": "CLITERAL(Color){ 112, 31, 126, 255 }", + "description": "Dark Purple" + }, + { + "name": "BEIGE", + "type": "COLOR", + "value": "CLITERAL(Color){ 211, 176, 131, 255 }", + "description": "Beige" + }, + { + "name": "BROWN", + "type": "COLOR", + "value": "CLITERAL(Color){ 127, 106, 79, 255 }", + "description": "Brown" + }, + { + "name": "DARKBROWN", + "type": "COLOR", + "value": "CLITERAL(Color){ 76, 63, 47, 255 }", + "description": "Dark Brown" + }, + { + "name": "WHITE", + "type": "COLOR", + "value": "CLITERAL(Color){ 255, 255, 255, 255 }", + "description": "White" + }, + { + "name": "BLACK", + "type": "COLOR", + "value": "CLITERAL(Color){ 0, 0, 0, 255 }", + "description": "Black" + }, + { + "name": "BLANK", + "type": "COLOR", + "value": "CLITERAL(Color){ 0, 0, 0, 0 }", + "description": "Blank (Transparent)" + }, + { + "name": "MAGENTA", + "type": "COLOR", + "value": "CLITERAL(Color){ 255, 0, 255, 255 }", + "description": "Magenta" + }, + { + "name": "RAYWHITE", + "type": "COLOR", + "value": "CLITERAL(Color){ 245, 245, 245, 255 }", + "description": "My own White (raylib logo)" + }, + { + "name": "RL_BOOL_TYPE", + "type": "GUARD", + "value": "", + "description": "" + }, + { + "name": "MOUSE_LEFT_BUTTON", + "type": "UNKNOWN", + "value": "MOUSE_BUTTON_LEFT", + "description": "" + }, + { + "name": "MOUSE_RIGHT_BUTTON", + "type": "UNKNOWN", + "value": "MOUSE_BUTTON_RIGHT", + "description": "" + }, + { + "name": "MOUSE_MIDDLE_BUTTON", + "type": "UNKNOWN", + "value": "MOUSE_BUTTON_MIDDLE", + "description": "" + }, + { + "name": "MATERIAL_MAP_DIFFUSE", + "type": "UNKNOWN", + "value": "MATERIAL_MAP_ALBEDO", + "description": "" + }, + { + "name": "MATERIAL_MAP_SPECULAR", + "type": "UNKNOWN", + "value": "MATERIAL_MAP_METALNESS", + "description": "" + }, + { + "name": "SHADER_LOC_MAP_DIFFUSE", + "type": "UNKNOWN", + "value": "SHADER_LOC_MAP_ALBEDO", + "description": "" + }, + { + "name": "SHADER_LOC_MAP_SPECULAR", + "type": "UNKNOWN", + "value": "SHADER_LOC_MAP_METALNESS", + "description": "" + } + ], + "structs": [ + { + "name": "Vector2", + "description": "Vector2, 2 components", + "fields": [ { "type": "float", - "name": "distance", - "description": "Distance to nearest hit" - }, - { - "type": "Vector3", - "name": "point", - "description": "Point of nearest hit" + "name": "x", + "description": "Vector x component" }, { - "type": "Vector3", - "name": "normal", - "description": "Surface normal of hit" + "type": "float", + "name": "y", + "description": "Vector y component" } ] }, { - "name": "BoundingBox", - "description": "BoundingBox", + "name": "Vector3", + "description": "Vector3, 3 components", "fields": [ { - "type": "Vector3", - "name": "min", - "description": "Minimum vertex box-corner" + "type": "float", + "name": "x", + "description": "Vector x component" }, { - "type": "Vector3", - "name": "max", - "description": "Maximum vertex box-corner" + "type": "float", + "name": "y", + "description": "Vector y component" + }, + { + "type": "float", + "name": "z", + "description": "Vector z component" } ] }, { - "name": "Wave", - "description": "Wave, audio wave data", + "name": "Vector4", + "description": "Vector4, 4 components", "fields": [ { - "type": "unsigned int", - "name": "frameCount", - "description": "Total number of frames (considering channels)" - }, - { - "type": "unsigned int", - "name": "sampleRate", - "description": "Frequency (samples per second)" + "type": "float", + "name": "x", + "description": "Vector x component" }, { - "type": "unsigned int", - "name": "sampleSize", - "description": "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" + "type": "float", + "name": "y", + "description": "Vector y component" }, { - "type": "unsigned int", - "name": "channels", - "description": "Number of channels (1-mono, 2-stereo, ...)" + "type": "float", + "name": "z", + "description": "Vector z component" }, { - "type": "void *", - "name": "data", - "description": "Buffer data pointer" + "type": "float", + "name": "w", + "description": "Vector w component" } ] }, { - "name": "AudioStream", - "description": "AudioStream, custom audio stream", + "name": "Matrix", + "description": "Matrix, 4x4 components, column major, OpenGL style, right handed", "fields": [ { - "type": "rAudioBuffer *", - "name": "buffer", - "description": "Pointer to internal data used by the audio system" + "type": "float", + "name": "m0", + "description": "Matrix first row (4 components)" }, { - "type": "rAudioProcessor *", - "name": "processor", - "description": "Pointer to internal data processor, useful for audio effects" + "type": "float", + "name": "m4", + "description": "Matrix first row (4 components)" }, { - "type": "unsigned int", - "name": "sampleRate", - "description": "Frequency (samples per second)" + "type": "float", + "name": "m8", + "description": "Matrix first row (4 components)" }, { - "type": "unsigned int", - "name": "sampleSize", - "description": "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" + "type": "float", + "name": "m12", + "description": "Matrix first row (4 components)" }, { - "type": "unsigned int", - "name": "channels", - "description": "Number of channels (1-mono, 2-stereo, ...)" - } - ] - }, - { - "name": "Sound", - "description": "Sound", - "fields": [ + "type": "float", + "name": "m1", + "description": "Matrix second row (4 components)" + }, { - "type": "AudioStream", - "name": "stream", - "description": "Audio stream" + "type": "float", + "name": "m5", + "description": "Matrix second row (4 components)" }, { - "type": "unsigned int", - "name": "frameCount", - "description": "Total number of frames (considering channels)" - } - ] - }, - { - "name": "Music", - "description": "Music, audio stream, anything longer than ~10 seconds should be streamed", - "fields": [ + "type": "float", + "name": "m9", + "description": "Matrix second row (4 components)" + }, { - "type": "AudioStream", - "name": "stream", - "description": "Audio stream" + "type": "float", + "name": "m13", + "description": "Matrix second row (4 components)" }, { - "type": "unsigned int", - "name": "frameCount", - "description": "Total number of frames (considering channels)" + "type": "float", + "name": "m2", + "description": "Matrix third row (4 components)" }, { - "type": "bool", - "name": "looping", - "description": "Music looping enable" + "type": "float", + "name": "m6", + "description": "Matrix third row (4 components)" }, { - "type": "int", - "name": "ctxType", - "description": "Type of music context (audio filetype)" + "type": "float", + "name": "m10", + "description": "Matrix third row (4 components)" }, { - "type": "void *", - "name": "ctxData", - "description": "Audio context data, depends on type" + "type": "float", + "name": "m14", + "description": "Matrix third row (4 components)" + }, + { + "type": "float", + "name": "m3", + "description": "Matrix fourth row (4 components)" + }, + { + "type": "float", + "name": "m7", + "description": "Matrix fourth row (4 components)" + }, + { + "type": "float", + "name": "m11", + "description": "Matrix fourth row (4 components)" + }, + { + "type": "float", + "name": "m15", + "description": "Matrix fourth row (4 components)" } ] }, { - "name": "VrDeviceInfo", - "description": "VrDeviceInfo, Head-Mounted-Display device parameters", + "name": "Color", + "description": "Color, 4 components, R8G8B8A8 (32bit)", "fields": [ { - "type": "int", - "name": "hResolution", - "description": "Horizontal resolution in pixels" + "type": "unsigned char", + "name": "r", + "description": "Color red value" }, { - "type": "int", - "name": "vResolution", - "description": "Vertical resolution in pixels" + "type": "unsigned char", + "name": "g", + "description": "Color green value" }, { - "type": "float", - "name": "hScreenSize", - "description": "Horizontal size in meters" + "type": "unsigned char", + "name": "b", + "description": "Color blue value" }, + { + "type": "unsigned char", + "name": "a", + "description": "Color alpha value" + } + ] + }, + { + "name": "Rectangle", + "description": "Rectangle, 4 components", + "fields": [ { "type": "float", - "name": "vScreenSize", - "description": "Vertical size in meters" + "name": "x", + "description": "Rectangle top-left corner position x" }, { "type": "float", - "name": "vScreenCenter", - "description": "Screen center in meters" + "name": "y", + "description": "Rectangle top-left corner position y" }, { "type": "float", - "name": "eyeToScreenDistance", - "description": "Distance between eye and display in meters" + "name": "width", + "description": "Rectangle width" }, { "type": "float", - "name": "lensSeparationDistance", - "description": "Lens separation distance in meters" + "name": "height", + "description": "Rectangle height" + } + ] + }, + { + "name": "Image", + "description": "Image, pixel data stored in CPU memory (RAM)", + "fields": [ + { + "type": "void *", + "name": "data", + "description": "Image raw data" }, { - "type": "float", - "name": "interpupillaryDistance", - "description": "IPD (distance between pupils) in meters" + "type": "int", + "name": "width", + "description": "Image base width" }, { - "type": "float[4]", - "name": "lensDistortionValues", - "description": "Lens distortion constant parameters" + "type": "int", + "name": "height", + "description": "Image base height" }, { - "type": "float[4]", - "name": "chromaAbCorrection", - "description": "Chromatic aberration correction parameters" + "type": "int", + "name": "mipmaps", + "description": "Mipmap levels, 1 by default" + }, + { + "type": "int", + "name": "format", + "description": "Data format (PixelFormat type)" } ] }, { - "name": "VrStereoConfig", - "description": "VrStereoConfig, VR stereo rendering configuration for simulator", + "name": "Texture", + "description": "Texture, tex data stored in GPU memory (VRAM)", "fields": [ { - "type": "Matrix[2]", - "name": "projection", - "description": "VR projection matrices (per eye)" + "type": "unsigned int", + "name": "id", + "description": "OpenGL texture id" }, { - "type": "Matrix[2]", - "name": "viewOffset", - "description": "VR view offset matrices (per eye)" + "type": "int", + "name": "width", + "description": "Texture base width" }, { - "type": "float[2]", - "name": "leftLensCenter", - "description": "VR left lens center" + "type": "int", + "name": "height", + "description": "Texture base height" }, { - "type": "float[2]", - "name": "rightLensCenter", - "description": "VR right lens center" + "type": "int", + "name": "mipmaps", + "description": "Mipmap levels, 1 by default" }, { - "type": "float[2]", - "name": "leftScreenCenter", - "description": "VR left screen center" - }, + "type": "int", + "name": "format", + "description": "Data format (PixelFormat type)" + } + ] + }, + { + "name": "RenderTexture", + "description": "RenderTexture, fbo for texture rendering", + "fields": [ { - "type": "float[2]", - "name": "rightScreenCenter", - "description": "VR right screen center" + "type": "unsigned int", + "name": "id", + "description": "OpenGL framebuffer object id" }, { - "type": "float[2]", - "name": "scale", - "description": "VR distortion scale" + "type": "Texture", + "name": "texture", + "description": "Color buffer attachment texture" }, { - "type": "float[2]", - "name": "scaleIn", - "description": "VR distortion scale in" + "type": "Texture", + "name": "depth", + "description": "Depth buffer attachment texture" } ] - } - ], - "aliases": [ - { - "type": "Vector4", - "name": "Quaternion", - "description": "Quaternion, 4 components (Vector4 alias)" }, { - "type": "Texture", - "name": "Texture2D", - "description": "Texture2D, same as Texture" - }, - { - "type": "Texture", - "name": "TextureCubemap", - "description": "TextureCubemap, same as Texture" - }, - { - "type": "RenderTexture", - "name": "RenderTexture2D", - "description": "RenderTexture2D, same as RenderTexture" - }, - { - "type": "Camera3D", - "name": "Camera", - "description": "Camera type fallback, defaults to Camera3D" - } - ], - "enums": [ - { - "name": "ConfigFlags", - "description": "System/Window config flags", - "values": [ + "name": "NPatchInfo", + "description": "NPatchInfo, n-patch layout info", + "fields": [ { - "name": "FLAG_VSYNC_HINT", - "value": 64, - "description": "Set to try enabling V-Sync on GPU" + "type": "Rectangle", + "name": "source", + "description": "Texture source rectangle" }, { - "name": "FLAG_FULLSCREEN_MODE", - "value": 2, - "description": "Set to run program in fullscreen" + "type": "int", + "name": "left", + "description": "Left border offset" }, { - "name": "FLAG_WINDOW_RESIZABLE", - "value": 4, - "description": "Set to allow resizable window" + "type": "int", + "name": "top", + "description": "Top border offset" }, { - "name": "FLAG_WINDOW_UNDECORATED", - "value": 8, - "description": "Set to disable window decoration (frame and buttons)" + "type": "int", + "name": "right", + "description": "Right border offset" }, { - "name": "FLAG_WINDOW_HIDDEN", - "value": 128, - "description": "Set to hide window" + "type": "int", + "name": "bottom", + "description": "Bottom border offset" }, { - "name": "FLAG_WINDOW_MINIMIZED", - "value": 512, - "description": "Set to minimize window (iconify)" + "type": "int", + "name": "layout", + "description": "Layout of the n-patch: 3x3, 1x3 or 3x1" + } + ] + }, + { + "name": "GlyphInfo", + "description": "GlyphInfo, font characters glyphs info", + "fields": [ + { + "type": "int", + "name": "value", + "description": "Character value (Unicode)" }, { - "name": "FLAG_WINDOW_MAXIMIZED", - "value": 1024, - "description": "Set to maximize window (expanded to monitor)" + "type": "int", + "name": "offsetX", + "description": "Character offset X when drawing" }, { - "name": "FLAG_WINDOW_UNFOCUSED", - "value": 2048, - "description": "Set to window non focused" + "type": "int", + "name": "offsetY", + "description": "Character offset Y when drawing" }, { - "name": "FLAG_WINDOW_TOPMOST", - "value": 4096, - "description": "Set to window always on top" + "type": "int", + "name": "advanceX", + "description": "Character advance position X" }, { - "name": "FLAG_WINDOW_ALWAYS_RUN", - "value": 256, - "description": "Set to allow windows running while minimized" + "type": "Image", + "name": "image", + "description": "Character image data" + } + ] + }, + { + "name": "Font", + "description": "Font, font texture and GlyphInfo array data", + "fields": [ + { + "type": "int", + "name": "baseSize", + "description": "Base size (default chars height)" }, { - "name": "FLAG_WINDOW_TRANSPARENT", - "value": 16, - "description": "Set to allow transparent framebuffer" + "type": "int", + "name": "glyphCount", + "description": "Number of glyph characters" }, { - "name": "FLAG_WINDOW_HIGHDPI", - "value": 8192, - "description": "Set to support HighDPI" + "type": "int", + "name": "glyphPadding", + "description": "Padding around the glyph characters" }, { - "name": "FLAG_MSAA_4X_HINT", - "value": 32, - "description": "Set to try enabling MSAA 4X" + "type": "Texture2D", + "name": "texture", + "description": "Texture atlas containing the glyphs" }, { - "name": "FLAG_INTERLACED_HINT", - "value": 65536, - "description": "Set to try enabling interlaced video format (for V3D)" + "type": "Rectangle *", + "name": "recs", + "description": "Rectangles in texture for the glyphs" + }, + { + "type": "GlyphInfo *", + "name": "glyphs", + "description": "Glyphs info data" } ] }, { - "name": "TraceLogLevel", - "description": "Trace log level", - "values": [ + "name": "Camera3D", + "description": "Camera, defines position/orientation in 3d space", + "fields": [ { - "name": "LOG_ALL", - "value": 0, - "description": "Display all logs" + "type": "Vector3", + "name": "position", + "description": "Camera position" }, { - "name": "LOG_TRACE", - "value": 1, - "description": "Trace logging, intended for internal use only" + "type": "Vector3", + "name": "target", + "description": "Camera target it looks-at" }, { - "name": "LOG_DEBUG", - "value": 2, - "description": "Debug logging, used for internal debugging, it should be disabled on release builds" + "type": "Vector3", + "name": "up", + "description": "Camera up vector (rotation over its axis)" }, { - "name": "LOG_INFO", - "value": 3, - "description": "Info logging, used for program execution info" + "type": "float", + "name": "fovy", + "description": "Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic" }, { - "name": "LOG_WARNING", - "value": 4, - "description": "Warning logging, used on recoverable failures" + "type": "int", + "name": "projection", + "description": "Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC" + } + ] + }, + { + "name": "Camera2D", + "description": "Camera2D, defines position/orientation in 2d space", + "fields": [ + { + "type": "Vector2", + "name": "offset", + "description": "Camera offset (displacement from target)" }, { - "name": "LOG_ERROR", - "value": 5, - "description": "Error logging, used on unrecoverable failures" + "type": "Vector2", + "name": "target", + "description": "Camera target (rotation and zoom origin)" }, { - "name": "LOG_FATAL", - "value": 6, - "description": "Fatal logging, used to abort program: exit(EXIT_FAILURE)" + "type": "float", + "name": "rotation", + "description": "Camera rotation in degrees" }, { - "name": "LOG_NONE", - "value": 7, - "description": "Disable logging" + "type": "float", + "name": "zoom", + "description": "Camera zoom (scaling), should be 1.0f by default" } ] }, { - "name": "KeyboardKey", - "description": "Keyboard keys (US keyboard layout)", - "values": [ - { - "name": "KEY_NULL", - "value": 0, - "description": "Key: NULL, used for no key pressed" - }, + "name": "Mesh", + "description": "Mesh, vertex data and vao/vbo", + "fields": [ { - "name": "KEY_APOSTROPHE", - "value": 39, - "description": "Key: '" + "type": "int", + "name": "vertexCount", + "description": "Number of vertices stored in arrays" }, { - "name": "KEY_COMMA", - "value": 44, - "description": "Key: ," + "type": "int", + "name": "triangleCount", + "description": "Number of triangles stored (indexed or not)" }, { - "name": "KEY_MINUS", - "value": 45, - "description": "Key: -" + "type": "float *", + "name": "vertices", + "description": "Vertex position (XYZ - 3 components per vertex) (shader-location = 0)" }, { - "name": "KEY_PERIOD", - "value": 46, - "description": "Key: ." + "type": "float *", + "name": "texcoords", + "description": "Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)" }, { - "name": "KEY_SLASH", - "value": 47, - "description": "Key: /" + "type": "float *", + "name": "texcoords2", + "description": "Vertex texture second coordinates (UV - 2 components per vertex) (shader-location = 5)" }, { - "name": "KEY_ZERO", - "value": 48, - "description": "Key: 0" + "type": "float *", + "name": "normals", + "description": "Vertex normals (XYZ - 3 components per vertex) (shader-location = 2)" }, { - "name": "KEY_ONE", - "value": 49, - "description": "Key: 1" + "type": "float *", + "name": "tangents", + "description": "Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4)" }, { - "name": "KEY_TWO", - "value": 50, - "description": "Key: 2" + "type": "unsigned char *", + "name": "colors", + "description": "Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)" }, { - "name": "KEY_THREE", - "value": 51, - "description": "Key: 3" + "type": "unsigned short *", + "name": "indices", + "description": "Vertex indices (in case vertex data comes indexed)" }, { - "name": "KEY_FOUR", - "value": 52, - "description": "Key: 4" + "type": "float *", + "name": "animVertices", + "description": "Animated vertex positions (after bones transformations)" }, { - "name": "KEY_FIVE", - "value": 53, - "description": "Key: 5" + "type": "float *", + "name": "animNormals", + "description": "Animated normals (after bones transformations)" }, { - "name": "KEY_SIX", - "value": 54, - "description": "Key: 6" + "type": "unsigned char *", + "name": "boneIds", + "description": "Vertex bone ids, max 255 bone ids, up to 4 bones influence by vertex (skinning)" }, { - "name": "KEY_SEVEN", - "value": 55, - "description": "Key: 7" + "type": "float *", + "name": "boneWeights", + "description": "Vertex bone weight, up to 4 bones influence by vertex (skinning)" }, { - "name": "KEY_EIGHT", - "value": 56, - "description": "Key: 8" + "type": "unsigned int", + "name": "vaoId", + "description": "OpenGL Vertex Array Object id" }, { - "name": "KEY_NINE", - "value": 57, - "description": "Key: 9" - }, + "type": "unsigned int *", + "name": "vboId", + "description": "OpenGL Vertex Buffer Objects id (default vertex data)" + } + ] + }, + { + "name": "Shader", + "description": "Shader", + "fields": [ { - "name": "KEY_SEMICOLON", - "value": 59, - "description": "Key: ;" + "type": "unsigned int", + "name": "id", + "description": "Shader program id" }, { - "name": "KEY_EQUAL", - "value": 61, - "description": "Key: =" - }, + "type": "int *", + "name": "locs", + "description": "Shader locations array (RL_MAX_SHADER_LOCATIONS)" + } + ] + }, + { + "name": "MaterialMap", + "description": "MaterialMap", + "fields": [ { - "name": "KEY_A", - "value": 65, - "description": "Key: A | a" + "type": "Texture2D", + "name": "texture", + "description": "Material map texture" }, { - "name": "KEY_B", - "value": 66, - "description": "Key: B | b" + "type": "Color", + "name": "color", + "description": "Material map color" }, { - "name": "KEY_C", - "value": 67, - "description": "Key: C | c" - }, + "type": "float", + "name": "value", + "description": "Material map value" + } + ] + }, + { + "name": "Material", + "description": "Material, includes shader and maps", + "fields": [ { - "name": "KEY_D", - "value": 68, - "description": "Key: D | d" + "type": "Shader", + "name": "shader", + "description": "Material shader" }, { - "name": "KEY_E", - "value": 69, - "description": "Key: E | e" + "type": "MaterialMap *", + "name": "maps", + "description": "Material maps array (MAX_MATERIAL_MAPS)" }, { - "name": "KEY_F", - "value": 70, - "description": "Key: F | f" - }, + "type": "float[4]", + "name": "params", + "description": "Material generic parameters (if required)" + } + ] + }, + { + "name": "Transform", + "description": "Transform, vectex transformation data", + "fields": [ { - "name": "KEY_G", - "value": 71, - "description": "Key: G | g" + "type": "Vector3", + "name": "translation", + "description": "Translation" }, { - "name": "KEY_H", - "value": 72, - "description": "Key: H | h" + "type": "Quaternion", + "name": "rotation", + "description": "Rotation" }, { - "name": "KEY_I", - "value": 73, - "description": "Key: I | i" - }, + "type": "Vector3", + "name": "scale", + "description": "Scale" + } + ] + }, + { + "name": "BoneInfo", + "description": "Bone, skeletal animation bone", + "fields": [ { - "name": "KEY_J", - "value": 74, - "description": "Key: J | j" + "type": "char[32]", + "name": "name", + "description": "Bone name" }, { - "name": "KEY_K", - "value": 75, - "description": "Key: K | k" - }, + "type": "int", + "name": "parent", + "description": "Bone parent" + } + ] + }, + { + "name": "Model", + "description": "Model, meshes, materials and animation data", + "fields": [ { - "name": "KEY_L", - "value": 76, - "description": "Key: L | l" + "type": "Matrix", + "name": "transform", + "description": "Local transform matrix" }, { - "name": "KEY_M", - "value": 77, - "description": "Key: M | m" + "type": "int", + "name": "meshCount", + "description": "Number of meshes" }, { - "name": "KEY_N", - "value": 78, - "description": "Key: N | n" + "type": "int", + "name": "materialCount", + "description": "Number of materials" }, { - "name": "KEY_O", - "value": 79, - "description": "Key: O | o" + "type": "Mesh *", + "name": "meshes", + "description": "Meshes array" }, { - "name": "KEY_P", - "value": 80, - "description": "Key: P | p" + "type": "Material *", + "name": "materials", + "description": "Materials array" }, { - "name": "KEY_Q", - "value": 81, - "description": "Key: Q | q" + "type": "int *", + "name": "meshMaterial", + "description": "Mesh material number" }, { - "name": "KEY_R", - "value": 82, - "description": "Key: R | r" + "type": "int", + "name": "boneCount", + "description": "Number of bones" }, { - "name": "KEY_S", - "value": 83, - "description": "Key: S | s" + "type": "BoneInfo *", + "name": "bones", + "description": "Bones information (skeleton)" }, { - "name": "KEY_T", - "value": 84, - "description": "Key: T | t" - }, + "type": "Transform *", + "name": "bindPose", + "description": "Bones base transformation (pose)" + } + ] + }, + { + "name": "ModelAnimation", + "description": "ModelAnimation", + "fields": [ { - "name": "KEY_U", - "value": 85, - "description": "Key: U | u" + "type": "int", + "name": "boneCount", + "description": "Number of bones" }, { - "name": "KEY_V", - "value": 86, - "description": "Key: V | v" + "type": "int", + "name": "frameCount", + "description": "Number of animation frames" }, { - "name": "KEY_W", - "value": 87, - "description": "Key: W | w" + "type": "BoneInfo *", + "name": "bones", + "description": "Bones information (skeleton)" }, { - "name": "KEY_X", - "value": 88, - "description": "Key: X | x" - }, + "type": "Transform **", + "name": "framePoses", + "description": "Poses array by frame" + } + ] + }, + { + "name": "Ray", + "description": "Ray, ray for raycasting", + "fields": [ { - "name": "KEY_Y", - "value": 89, - "description": "Key: Y | y" + "type": "Vector3", + "name": "position", + "description": "Ray position (origin)" }, { - "name": "KEY_Z", - "value": 90, - "description": "Key: Z | z" - }, + "type": "Vector3", + "name": "direction", + "description": "Ray direction" + } + ] + }, + { + "name": "RayCollision", + "description": "RayCollision, ray hit information", + "fields": [ { - "name": "KEY_LEFT_BRACKET", - "value": 91, - "description": "Key: [" + "type": "bool", + "name": "hit", + "description": "Did the ray hit something?" }, { - "name": "KEY_BACKSLASH", - "value": 92, - "description": "Key: '\\'" + "type": "float", + "name": "distance", + "description": "Distance to nearest hit" }, { - "name": "KEY_RIGHT_BRACKET", - "value": 93, - "description": "Key: ]" + "type": "Vector3", + "name": "point", + "description": "Point of nearest hit" }, { - "name": "KEY_GRAVE", - "value": 96, - "description": "Key: `" - }, + "type": "Vector3", + "name": "normal", + "description": "Surface normal of hit" + } + ] + }, + { + "name": "BoundingBox", + "description": "BoundingBox", + "fields": [ { - "name": "KEY_SPACE", - "value": 32, - "description": "Key: Space" + "type": "Vector3", + "name": "min", + "description": "Minimum vertex box-corner" }, { - "name": "KEY_ESCAPE", - "value": 256, - "description": "Key: Esc" - }, + "type": "Vector3", + "name": "max", + "description": "Maximum vertex box-corner" + } + ] + }, + { + "name": "Wave", + "description": "Wave, audio wave data", + "fields": [ { - "name": "KEY_ENTER", - "value": 257, - "description": "Key: Enter" + "type": "unsigned int", + "name": "frameCount", + "description": "Total number of frames (considering channels)" }, { - "name": "KEY_TAB", - "value": 258, - "description": "Key: Tab" + "type": "unsigned int", + "name": "sampleRate", + "description": "Frequency (samples per second)" }, { - "name": "KEY_BACKSPACE", - "value": 259, - "description": "Key: Backspace" + "type": "unsigned int", + "name": "sampleSize", + "description": "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" }, { - "name": "KEY_INSERT", - "value": 260, - "description": "Key: Ins" + "type": "unsigned int", + "name": "channels", + "description": "Number of channels (1-mono, 2-stereo, ...)" }, { - "name": "KEY_DELETE", - "value": 261, - "description": "Key: Del" - }, + "type": "void *", + "name": "data", + "description": "Buffer data pointer" + } + ] + }, + { + "name": "AudioStream", + "description": "AudioStream, custom audio stream", + "fields": [ { - "name": "KEY_RIGHT", - "value": 262, - "description": "Key: Cursor right" + "type": "rAudioBuffer *", + "name": "buffer", + "description": "Pointer to internal data used by the audio system" }, { - "name": "KEY_LEFT", - "value": 263, - "description": "Key: Cursor left" + "type": "rAudioProcessor *", + "name": "processor", + "description": "Pointer to internal data processor, useful for audio effects" }, { - "name": "KEY_DOWN", - "value": 264, - "description": "Key: Cursor down" + "type": "unsigned int", + "name": "sampleRate", + "description": "Frequency (samples per second)" }, { - "name": "KEY_UP", - "value": 265, - "description": "Key: Cursor up" + "type": "unsigned int", + "name": "sampleSize", + "description": "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" }, { - "name": "KEY_PAGE_UP", - "value": 266, - "description": "Key: Page up" - }, + "type": "unsigned int", + "name": "channels", + "description": "Number of channels (1-mono, 2-stereo, ...)" + } + ] + }, + { + "name": "Sound", + "description": "Sound", + "fields": [ { - "name": "KEY_PAGE_DOWN", - "value": 267, - "description": "Key: Page down" + "type": "AudioStream", + "name": "stream", + "description": "Audio stream" }, { - "name": "KEY_HOME", - "value": 268, - "description": "Key: Home" - }, + "type": "unsigned int", + "name": "frameCount", + "description": "Total number of frames (considering channels)" + } + ] + }, + { + "name": "Music", + "description": "Music, audio stream, anything longer than ~10 seconds should be streamed", + "fields": [ { - "name": "KEY_END", - "value": 269, - "description": "Key: End" + "type": "AudioStream", + "name": "stream", + "description": "Audio stream" }, { - "name": "KEY_CAPS_LOCK", - "value": 280, - "description": "Key: Caps lock" + "type": "unsigned int", + "name": "frameCount", + "description": "Total number of frames (considering channels)" }, { - "name": "KEY_SCROLL_LOCK", - "value": 281, - "description": "Key: Scroll down" + "type": "bool", + "name": "looping", + "description": "Music looping enable" }, { - "name": "KEY_NUM_LOCK", - "value": 282, - "description": "Key: Num lock" + "type": "int", + "name": "ctxType", + "description": "Type of music context (audio filetype)" }, { - "name": "KEY_PRINT_SCREEN", - "value": 283, - "description": "Key: Print screen" - }, + "type": "void *", + "name": "ctxData", + "description": "Audio context data, depends on type" + } + ] + }, + { + "name": "VrDeviceInfo", + "description": "VrDeviceInfo, Head-Mounted-Display device parameters", + "fields": [ { - "name": "KEY_PAUSE", - "value": 284, - "description": "Key: Pause" + "type": "int", + "name": "hResolution", + "description": "Horizontal resolution in pixels" }, { - "name": "KEY_F1", - "value": 290, - "description": "Key: F1" + "type": "int", + "name": "vResolution", + "description": "Vertical resolution in pixels" }, { - "name": "KEY_F2", - "value": 291, - "description": "Key: F2" + "type": "float", + "name": "hScreenSize", + "description": "Horizontal size in meters" }, { - "name": "KEY_F3", - "value": 292, - "description": "Key: F3" + "type": "float", + "name": "vScreenSize", + "description": "Vertical size in meters" }, { - "name": "KEY_F4", - "value": 293, - "description": "Key: F4" + "type": "float", + "name": "vScreenCenter", + "description": "Screen center in meters" }, { - "name": "KEY_F5", - "value": 294, - "description": "Key: F5" + "type": "float", + "name": "eyeToScreenDistance", + "description": "Distance between eye and display in meters" }, { - "name": "KEY_F6", - "value": 295, - "description": "Key: F6" - }, - { - "name": "KEY_F7", - "value": 296, - "description": "Key: F7" + "type": "float", + "name": "lensSeparationDistance", + "description": "Lens separation distance in meters" }, { - "name": "KEY_F8", - "value": 297, - "description": "Key: F8" + "type": "float", + "name": "interpupillaryDistance", + "description": "IPD (distance between pupils) in meters" }, { - "name": "KEY_F9", - "value": 298, - "description": "Key: F9" + "type": "float[4]", + "name": "lensDistortionValues", + "description": "Lens distortion constant parameters" }, { - "name": "KEY_F10", - "value": 299, - "description": "Key: F10" - }, + "type": "float[4]", + "name": "chromaAbCorrection", + "description": "Chromatic aberration correction parameters" + } + ] + }, + { + "name": "VrStereoConfig", + "description": "VrStereoConfig, VR stereo rendering configuration for simulator", + "fields": [ { - "name": "KEY_F11", - "value": 300, - "description": "Key: F11" + "type": "Matrix[2]", + "name": "projection", + "description": "VR projection matrices (per eye)" }, { - "name": "KEY_F12", - "value": 301, - "description": "Key: F12" + "type": "Matrix[2]", + "name": "viewOffset", + "description": "VR view offset matrices (per eye)" }, { - "name": "KEY_LEFT_SHIFT", - "value": 340, - "description": "Key: Shift left" + "type": "float[2]", + "name": "leftLensCenter", + "description": "VR left lens center" }, { - "name": "KEY_LEFT_CONTROL", - "value": 341, - "description": "Key: Control left" + "type": "float[2]", + "name": "rightLensCenter", + "description": "VR right lens center" }, { - "name": "KEY_LEFT_ALT", - "value": 342, - "description": "Key: Alt left" + "type": "float[2]", + "name": "leftScreenCenter", + "description": "VR left screen center" }, { - "name": "KEY_LEFT_SUPER", - "value": 343, - "description": "Key: Super left" + "type": "float[2]", + "name": "rightScreenCenter", + "description": "VR right screen center" }, { - "name": "KEY_RIGHT_SHIFT", - "value": 344, - "description": "Key: Shift right" + "type": "float[2]", + "name": "scale", + "description": "VR distortion scale" }, { - "name": "KEY_RIGHT_CONTROL", - "value": 345, - "description": "Key: Control right" - }, + "type": "float[2]", + "name": "scaleIn", + "description": "VR distortion scale in" + } + ] + } + ], + "aliases": [ + { + "type": "Vector4", + "name": "Quaternion", + "description": "Quaternion, 4 components (Vector4 alias)" + }, + { + "type": "Texture", + "name": "Texture2D", + "description": "Texture2D, same as Texture" + }, + { + "type": "Texture", + "name": "TextureCubemap", + "description": "TextureCubemap, same as Texture" + }, + { + "type": "RenderTexture", + "name": "RenderTexture2D", + "description": "RenderTexture2D, same as RenderTexture" + }, + { + "type": "Camera3D", + "name": "Camera", + "description": "Camera type fallback, defaults to Camera3D" + } + ], + "enums": [ + { + "name": "ConfigFlags", + "description": "System/Window config flags", + "values": [ { - "name": "KEY_RIGHT_ALT", - "value": 346, - "description": "Key: Alt right" + "name": "FLAG_VSYNC_HINT", + "value": 64, + "description": "Set to try enabling V-Sync on GPU" }, { - "name": "KEY_RIGHT_SUPER", - "value": 347, - "description": "Key: Super right" + "name": "FLAG_FULLSCREEN_MODE", + "value": 2, + "description": "Set to run program in fullscreen" }, { - "name": "KEY_KB_MENU", - "value": 348, - "description": "Key: KB menu" + "name": "FLAG_WINDOW_RESIZABLE", + "value": 4, + "description": "Set to allow resizable window" }, { - "name": "KEY_KP_0", - "value": 320, - "description": "Key: Keypad 0" + "name": "FLAG_WINDOW_UNDECORATED", + "value": 8, + "description": "Set to disable window decoration (frame and buttons)" }, { - "name": "KEY_KP_1", - "value": 321, - "description": "Key: Keypad 1" + "name": "FLAG_WINDOW_HIDDEN", + "value": 128, + "description": "Set to hide window" }, { - "name": "KEY_KP_2", - "value": 322, - "description": "Key: Keypad 2" + "name": "FLAG_WINDOW_MINIMIZED", + "value": 512, + "description": "Set to minimize window (iconify)" }, { - "name": "KEY_KP_3", - "value": 323, - "description": "Key: Keypad 3" + "name": "FLAG_WINDOW_MAXIMIZED", + "value": 1024, + "description": "Set to maximize window (expanded to monitor)" }, { - "name": "KEY_KP_4", - "value": 324, - "description": "Key: Keypad 4" + "name": "FLAG_WINDOW_UNFOCUSED", + "value": 2048, + "description": "Set to window non focused" }, { - "name": "KEY_KP_5", - "value": 325, - "description": "Key: Keypad 5" + "name": "FLAG_WINDOW_TOPMOST", + "value": 4096, + "description": "Set to window always on top" }, { - "name": "KEY_KP_6", - "value": 326, - "description": "Key: Keypad 6" + "name": "FLAG_WINDOW_ALWAYS_RUN", + "value": 256, + "description": "Set to allow windows running while minimized" }, { - "name": "KEY_KP_7", - "value": 327, - "description": "Key: Keypad 7" + "name": "FLAG_WINDOW_TRANSPARENT", + "value": 16, + "description": "Set to allow transparent framebuffer" }, { - "name": "KEY_KP_8", - "value": 328, - "description": "Key: Keypad 8" + "name": "FLAG_WINDOW_HIGHDPI", + "value": 8192, + "description": "Set to support HighDPI" }, { - "name": "KEY_KP_9", - "value": 329, - "description": "Key: Keypad 9" + "name": "FLAG_MSAA_4X_HINT", + "value": 32, + "description": "Set to try enabling MSAA 4X" }, { - "name": "KEY_KP_DECIMAL", - "value": 330, - "description": "Key: Keypad ." - }, + "name": "FLAG_INTERLACED_HINT", + "value": 65536, + "description": "Set to try enabling interlaced video format (for V3D)" + } + ] + }, + { + "name": "TraceLogLevel", + "description": "Trace log level", + "values": [ { - "name": "KEY_KP_DIVIDE", - "value": 331, - "description": "Key: Keypad /" + "name": "LOG_ALL", + "value": 0, + "description": "Display all logs" }, { - "name": "KEY_KP_MULTIPLY", - "value": 332, - "description": "Key: Keypad *" + "name": "LOG_TRACE", + "value": 1, + "description": "Trace logging, intended for internal use only" }, { - "name": "KEY_KP_SUBTRACT", - "value": 333, - "description": "Key: Keypad -" + "name": "LOG_DEBUG", + "value": 2, + "description": "Debug logging, used for internal debugging, it should be disabled on release builds" }, { - "name": "KEY_KP_ADD", - "value": 334, - "description": "Key: Keypad +" + "name": "LOG_INFO", + "value": 3, + "description": "Info logging, used for program execution info" }, { - "name": "KEY_KP_ENTER", - "value": 335, - "description": "Key: Keypad Enter" + "name": "LOG_WARNING", + "value": 4, + "description": "Warning logging, used on recoverable failures" }, { - "name": "KEY_KP_EQUAL", - "value": 336, - "description": "Key: Keypad =" + "name": "LOG_ERROR", + "value": 5, + "description": "Error logging, used on unrecoverable failures" }, { - "name": "KEY_BACK", - "value": 4, - "description": "Key: Android back button" + "name": "LOG_FATAL", + "value": 6, + "description": "Fatal logging, used to abort program: exit(EXIT_FAILURE)" }, { - "name": "KEY_MENU", - "value": 82, - "description": "Key: Android menu button" - }, - { - "name": "KEY_VOLUME_UP", - "value": 24, - "description": "Key: Android volume up button" - }, - { - "name": "KEY_VOLUME_DOWN", - "value": 25, - "description": "Key: Android volume down button" + "name": "LOG_NONE", + "value": 7, + "description": "Disable logging" } ] }, { - "name": "MouseButton", - "description": "Mouse buttons", + "name": "KeyboardKey", + "description": "Keyboard keys (US keyboard layout)", "values": [ { - "name": "MOUSE_BUTTON_LEFT", + "name": "KEY_NULL", "value": 0, - "description": "Mouse button left" + "description": "Key: NULL, used for no key pressed" }, { - "name": "MOUSE_BUTTON_RIGHT", - "value": 1, - "description": "Mouse button right" + "name": "KEY_APOSTROPHE", + "value": 39, + "description": "Key: '" }, { - "name": "MOUSE_BUTTON_MIDDLE", - "value": 2, - "description": "Mouse button middle (pressed wheel)" + "name": "KEY_COMMA", + "value": 44, + "description": "Key: ," }, { - "name": "MOUSE_BUTTON_SIDE", - "value": 3, - "description": "Mouse button side (advanced mouse device)" + "name": "KEY_MINUS", + "value": 45, + "description": "Key: -" }, { - "name": "MOUSE_BUTTON_EXTRA", - "value": 4, - "description": "Mouse button extra (advanced mouse device)" + "name": "KEY_PERIOD", + "value": 46, + "description": "Key: ." }, { - "name": "MOUSE_BUTTON_FORWARD", - "value": 5, - "description": "Mouse button fordward (advanced mouse device)" + "name": "KEY_SLASH", + "value": 47, + "description": "Key: /" }, { - "name": "MOUSE_BUTTON_BACK", - "value": 6, - "description": "Mouse button back (advanced mouse device)" - } - ] - }, - { - "name": "MouseCursor", - "description": "Mouse cursor", - "values": [ - { - "name": "MOUSE_CURSOR_DEFAULT", - "value": 0, - "description": "Default pointer shape" + "name": "KEY_ZERO", + "value": 48, + "description": "Key: 0" }, { - "name": "MOUSE_CURSOR_ARROW", - "value": 1, - "description": "Arrow shape" + "name": "KEY_ONE", + "value": 49, + "description": "Key: 1" }, { - "name": "MOUSE_CURSOR_IBEAM", - "value": 2, - "description": "Text writing cursor shape" + "name": "KEY_TWO", + "value": 50, + "description": "Key: 2" }, { - "name": "MOUSE_CURSOR_CROSSHAIR", - "value": 3, - "description": "Cross shape" + "name": "KEY_THREE", + "value": 51, + "description": "Key: 3" }, { - "name": "MOUSE_CURSOR_POINTING_HAND", - "value": 4, - "description": "Pointing hand cursor" + "name": "KEY_FOUR", + "value": 52, + "description": "Key: 4" }, { - "name": "MOUSE_CURSOR_RESIZE_EW", - "value": 5, - "description": "Horizontal resize/move arrow shape" + "name": "KEY_FIVE", + "value": 53, + "description": "Key: 5" }, { - "name": "MOUSE_CURSOR_RESIZE_NS", - "value": 6, - "description": "Vertical resize/move arrow shape" + "name": "KEY_SIX", + "value": 54, + "description": "Key: 6" }, { - "name": "MOUSE_CURSOR_RESIZE_NWSE", - "value": 7, - "description": "Top-left to bottom-right diagonal resize/move arrow shape" + "name": "KEY_SEVEN", + "value": 55, + "description": "Key: 7" }, { - "name": "MOUSE_CURSOR_RESIZE_NESW", - "value": 8, - "description": "The top-right to bottom-left diagonal resize/move arrow shape" + "name": "KEY_EIGHT", + "value": 56, + "description": "Key: 8" }, { - "name": "MOUSE_CURSOR_RESIZE_ALL", - "value": 9, - "description": "The omni-directional resize/move cursor shape" + "name": "KEY_NINE", + "value": 57, + "description": "Key: 9" }, { - "name": "MOUSE_CURSOR_NOT_ALLOWED", - "value": 10, - "description": "The operation-not-allowed shape" - } - ] - }, - { - "name": "GamepadButton", - "description": "Gamepad buttons", - "values": [ - { - "name": "GAMEPAD_BUTTON_UNKNOWN", - "value": 0, - "description": "Unknown button, just for error checking" + "name": "KEY_SEMICOLON", + "value": 59, + "description": "Key: ;" }, { - "name": "GAMEPAD_BUTTON_LEFT_FACE_UP", - "value": 1, - "description": "Gamepad left DPAD up button" + "name": "KEY_EQUAL", + "value": 61, + "description": "Key: =" }, { - "name": "GAMEPAD_BUTTON_LEFT_FACE_RIGHT", - "value": 2, - "description": "Gamepad left DPAD right button" + "name": "KEY_A", + "value": 65, + "description": "Key: A | a" }, { - "name": "GAMEPAD_BUTTON_LEFT_FACE_DOWN", - "value": 3, - "description": "Gamepad left DPAD down button" + "name": "KEY_B", + "value": 66, + "description": "Key: B | b" }, { - "name": "GAMEPAD_BUTTON_LEFT_FACE_LEFT", - "value": 4, - "description": "Gamepad left DPAD left button" + "name": "KEY_C", + "value": 67, + "description": "Key: C | c" }, { - "name": "GAMEPAD_BUTTON_RIGHT_FACE_UP", - "value": 5, - "description": "Gamepad right button up (i.e. PS3: Triangle, Xbox: Y)" + "name": "KEY_D", + "value": 68, + "description": "Key: D | d" }, { - "name": "GAMEPAD_BUTTON_RIGHT_FACE_RIGHT", - "value": 6, - "description": "Gamepad right button right (i.e. PS3: Square, Xbox: X)" + "name": "KEY_E", + "value": 69, + "description": "Key: E | e" }, { - "name": "GAMEPAD_BUTTON_RIGHT_FACE_DOWN", - "value": 7, - "description": "Gamepad right button down (i.e. PS3: Cross, Xbox: A)" + "name": "KEY_F", + "value": 70, + "description": "Key: F | f" }, { - "name": "GAMEPAD_BUTTON_RIGHT_FACE_LEFT", - "value": 8, - "description": "Gamepad right button left (i.e. PS3: Circle, Xbox: B)" + "name": "KEY_G", + "value": 71, + "description": "Key: G | g" }, { - "name": "GAMEPAD_BUTTON_LEFT_TRIGGER_1", - "value": 9, - "description": "Gamepad top/back trigger left (first), it could be a trailing button" + "name": "KEY_H", + "value": 72, + "description": "Key: H | h" }, { - "name": "GAMEPAD_BUTTON_LEFT_TRIGGER_2", - "value": 10, - "description": "Gamepad top/back trigger left (second), it could be a trailing button" + "name": "KEY_I", + "value": 73, + "description": "Key: I | i" }, { - "name": "GAMEPAD_BUTTON_RIGHT_TRIGGER_1", - "value": 11, - "description": "Gamepad top/back trigger right (one), it could be a trailing button" + "name": "KEY_J", + "value": 74, + "description": "Key: J | j" }, { - "name": "GAMEPAD_BUTTON_RIGHT_TRIGGER_2", - "value": 12, - "description": "Gamepad top/back trigger right (second), it could be a trailing button" + "name": "KEY_K", + "value": 75, + "description": "Key: K | k" }, { - "name": "GAMEPAD_BUTTON_MIDDLE_LEFT", - "value": 13, - "description": "Gamepad center buttons, left one (i.e. PS3: Select)" + "name": "KEY_L", + "value": 76, + "description": "Key: L | l" }, { - "name": "GAMEPAD_BUTTON_MIDDLE", - "value": 14, - "description": "Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX)" + "name": "KEY_M", + "value": 77, + "description": "Key: M | m" }, { - "name": "GAMEPAD_BUTTON_MIDDLE_RIGHT", - "value": 15, - "description": "Gamepad center buttons, right one (i.e. PS3: Start)" + "name": "KEY_N", + "value": 78, + "description": "Key: N | n" }, { - "name": "GAMEPAD_BUTTON_LEFT_THUMB", - "value": 16, - "description": "Gamepad joystick pressed button left" + "name": "KEY_O", + "value": 79, + "description": "Key: O | o" }, { - "name": "GAMEPAD_BUTTON_RIGHT_THUMB", - "value": 17, - "description": "Gamepad joystick pressed button right" - } - ] - }, - { - "name": "GamepadAxis", - "description": "Gamepad axis", - "values": [ + "name": "KEY_P", + "value": 80, + "description": "Key: P | p" + }, { - "name": "GAMEPAD_AXIS_LEFT_X", - "value": 0, - "description": "Gamepad left stick X axis" + "name": "KEY_Q", + "value": 81, + "description": "Key: Q | q" }, { - "name": "GAMEPAD_AXIS_LEFT_Y", - "value": 1, - "description": "Gamepad left stick Y axis" + "name": "KEY_R", + "value": 82, + "description": "Key: R | r" }, { - "name": "GAMEPAD_AXIS_RIGHT_X", - "value": 2, - "description": "Gamepad right stick X axis" + "name": "KEY_S", + "value": 83, + "description": "Key: S | s" }, { - "name": "GAMEPAD_AXIS_RIGHT_Y", - "value": 3, - "description": "Gamepad right stick Y axis" + "name": "KEY_T", + "value": 84, + "description": "Key: T | t" }, { - "name": "GAMEPAD_AXIS_LEFT_TRIGGER", - "value": 4, - "description": "Gamepad back trigger left, pressure level: [1..-1]" + "name": "KEY_U", + "value": 85, + "description": "Key: U | u" }, { - "name": "GAMEPAD_AXIS_RIGHT_TRIGGER", - "value": 5, - "description": "Gamepad back trigger right, pressure level: [1..-1]" - } - ] - }, - { - "name": "MaterialMapIndex", - "description": "Material map index", - "values": [ - { - "name": "MATERIAL_MAP_ALBEDO", - "value": 0, - "description": "Albedo material (same as: MATERIAL_MAP_DIFFUSE)" + "name": "KEY_V", + "value": 86, + "description": "Key: V | v" }, { - "name": "MATERIAL_MAP_METALNESS", - "value": 1, - "description": "Metalness material (same as: MATERIAL_MAP_SPECULAR)" + "name": "KEY_W", + "value": 87, + "description": "Key: W | w" }, { - "name": "MATERIAL_MAP_NORMAL", - "value": 2, - "description": "Normal material" + "name": "KEY_X", + "value": 88, + "description": "Key: X | x" }, { - "name": "MATERIAL_MAP_ROUGHNESS", - "value": 3, - "description": "Roughness material" + "name": "KEY_Y", + "value": 89, + "description": "Key: Y | y" }, { - "name": "MATERIAL_MAP_OCCLUSION", - "value": 4, - "description": "Ambient occlusion material" + "name": "KEY_Z", + "value": 90, + "description": "Key: Z | z" }, { - "name": "MATERIAL_MAP_EMISSION", - "value": 5, - "description": "Emission material" + "name": "KEY_LEFT_BRACKET", + "value": 91, + "description": "Key: [" }, { - "name": "MATERIAL_MAP_HEIGHT", - "value": 6, - "description": "Heightmap material" + "name": "KEY_BACKSLASH", + "value": 92, + "description": "Key: '\\'" }, { - "name": "MATERIAL_MAP_CUBEMAP", - "value": 7, - "description": "Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + "name": "KEY_RIGHT_BRACKET", + "value": 93, + "description": "Key: ]" }, { - "name": "MATERIAL_MAP_IRRADIANCE", - "value": 8, - "description": "Irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + "name": "KEY_GRAVE", + "value": 96, + "description": "Key: `" }, { - "name": "MATERIAL_MAP_PREFILTER", - "value": 9, - "description": "Prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + "name": "KEY_SPACE", + "value": 32, + "description": "Key: Space" }, { - "name": "MATERIAL_MAP_BRDF", - "value": 10, - "description": "Brdf material" - } - ] - }, - { - "name": "ShaderLocationIndex", - "description": "Shader location index", - "values": [ - { - "name": "SHADER_LOC_VERTEX_POSITION", - "value": 0, - "description": "Shader location: vertex attribute: position" + "name": "KEY_ESCAPE", + "value": 256, + "description": "Key: Esc" }, { - "name": "SHADER_LOC_VERTEX_TEXCOORD01", - "value": 1, - "description": "Shader location: vertex attribute: texcoord01" + "name": "KEY_ENTER", + "value": 257, + "description": "Key: Enter" }, { - "name": "SHADER_LOC_VERTEX_TEXCOORD02", - "value": 2, - "description": "Shader location: vertex attribute: texcoord02" + "name": "KEY_TAB", + "value": 258, + "description": "Key: Tab" }, { - "name": "SHADER_LOC_VERTEX_NORMAL", - "value": 3, - "description": "Shader location: vertex attribute: normal" + "name": "KEY_BACKSPACE", + "value": 259, + "description": "Key: Backspace" }, { - "name": "SHADER_LOC_VERTEX_TANGENT", - "value": 4, - "description": "Shader location: vertex attribute: tangent" + "name": "KEY_INSERT", + "value": 260, + "description": "Key: Ins" }, { - "name": "SHADER_LOC_VERTEX_COLOR", - "value": 5, - "description": "Shader location: vertex attribute: color" + "name": "KEY_DELETE", + "value": 261, + "description": "Key: Del" }, { - "name": "SHADER_LOC_MATRIX_MVP", - "value": 6, - "description": "Shader location: matrix uniform: model-view-projection" + "name": "KEY_RIGHT", + "value": 262, + "description": "Key: Cursor right" }, { - "name": "SHADER_LOC_MATRIX_VIEW", - "value": 7, - "description": "Shader location: matrix uniform: view (camera transform)" + "name": "KEY_LEFT", + "value": 263, + "description": "Key: Cursor left" }, { - "name": "SHADER_LOC_MATRIX_PROJECTION", - "value": 8, - "description": "Shader location: matrix uniform: projection" + "name": "KEY_DOWN", + "value": 264, + "description": "Key: Cursor down" }, { - "name": "SHADER_LOC_MATRIX_MODEL", - "value": 9, - "description": "Shader location: matrix uniform: model (transform)" + "name": "KEY_UP", + "value": 265, + "description": "Key: Cursor up" }, { - "name": "SHADER_LOC_MATRIX_NORMAL", - "value": 10, - "description": "Shader location: matrix uniform: normal" + "name": "KEY_PAGE_UP", + "value": 266, + "description": "Key: Page up" }, { - "name": "SHADER_LOC_VECTOR_VIEW", - "value": 11, - "description": "Shader location: vector uniform: view" + "name": "KEY_PAGE_DOWN", + "value": 267, + "description": "Key: Page down" }, { - "name": "SHADER_LOC_COLOR_DIFFUSE", - "value": 12, - "description": "Shader location: vector uniform: diffuse color" + "name": "KEY_HOME", + "value": 268, + "description": "Key: Home" }, { - "name": "SHADER_LOC_COLOR_SPECULAR", - "value": 13, - "description": "Shader location: vector uniform: specular color" + "name": "KEY_END", + "value": 269, + "description": "Key: End" }, { - "name": "SHADER_LOC_COLOR_AMBIENT", - "value": 14, - "description": "Shader location: vector uniform: ambient color" + "name": "KEY_CAPS_LOCK", + "value": 280, + "description": "Key: Caps lock" }, { - "name": "SHADER_LOC_MAP_ALBEDO", - "value": 15, - "description": "Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE)" + "name": "KEY_SCROLL_LOCK", + "value": 281, + "description": "Key: Scroll down" }, { - "name": "SHADER_LOC_MAP_METALNESS", - "value": 16, - "description": "Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR)" + "name": "KEY_NUM_LOCK", + "value": 282, + "description": "Key: Num lock" }, { - "name": "SHADER_LOC_MAP_NORMAL", - "value": 17, - "description": "Shader location: sampler2d texture: normal" + "name": "KEY_PRINT_SCREEN", + "value": 283, + "description": "Key: Print screen" }, { - "name": "SHADER_LOC_MAP_ROUGHNESS", - "value": 18, - "description": "Shader location: sampler2d texture: roughness" + "name": "KEY_PAUSE", + "value": 284, + "description": "Key: Pause" }, { - "name": "SHADER_LOC_MAP_OCCLUSION", - "value": 19, - "description": "Shader location: sampler2d texture: occlusion" + "name": "KEY_F1", + "value": 290, + "description": "Key: F1" }, { - "name": "SHADER_LOC_MAP_EMISSION", - "value": 20, - "description": "Shader location: sampler2d texture: emission" + "name": "KEY_F2", + "value": 291, + "description": "Key: F2" }, { - "name": "SHADER_LOC_MAP_HEIGHT", - "value": 21, - "description": "Shader location: sampler2d texture: height" + "name": "KEY_F3", + "value": 292, + "description": "Key: F3" }, { - "name": "SHADER_LOC_MAP_CUBEMAP", - "value": 22, - "description": "Shader location: samplerCube texture: cubemap" + "name": "KEY_F4", + "value": 293, + "description": "Key: F4" }, { - "name": "SHADER_LOC_MAP_IRRADIANCE", - "value": 23, - "description": "Shader location: samplerCube texture: irradiance" + "name": "KEY_F5", + "value": 294, + "description": "Key: F5" }, { - "name": "SHADER_LOC_MAP_PREFILTER", - "value": 24, - "description": "Shader location: samplerCube texture: prefilter" + "name": "KEY_F6", + "value": 295, + "description": "Key: F6" }, { - "name": "SHADER_LOC_MAP_BRDF", - "value": 25, - "description": "Shader location: sampler2d texture: brdf" - } - ] - }, - { - "name": "ShaderUniformDataType", - "description": "Shader uniform data type", - "values": [ + "name": "KEY_F7", + "value": 296, + "description": "Key: F7" + }, { - "name": "SHADER_UNIFORM_FLOAT", - "value": 0, - "description": "Shader uniform type: float" + "name": "KEY_F8", + "value": 297, + "description": "Key: F8" }, { - "name": "SHADER_UNIFORM_VEC2", - "value": 1, - "description": "Shader uniform type: vec2 (2 float)" + "name": "KEY_F9", + "value": 298, + "description": "Key: F9" }, { - "name": "SHADER_UNIFORM_VEC3", - "value": 2, - "description": "Shader uniform type: vec3 (3 float)" + "name": "KEY_F10", + "value": 299, + "description": "Key: F10" }, { - "name": "SHADER_UNIFORM_VEC4", - "value": 3, - "description": "Shader uniform type: vec4 (4 float)" + "name": "KEY_F11", + "value": 300, + "description": "Key: F11" }, { - "name": "SHADER_UNIFORM_INT", - "value": 4, - "description": "Shader uniform type: int" + "name": "KEY_F12", + "value": 301, + "description": "Key: F12" }, { - "name": "SHADER_UNIFORM_IVEC2", - "value": 5, - "description": "Shader uniform type: ivec2 (2 int)" + "name": "KEY_LEFT_SHIFT", + "value": 340, + "description": "Key: Shift left" }, { - "name": "SHADER_UNIFORM_IVEC3", - "value": 6, - "description": "Shader uniform type: ivec3 (3 int)" + "name": "KEY_LEFT_CONTROL", + "value": 341, + "description": "Key: Control left" }, { - "name": "SHADER_UNIFORM_IVEC4", - "value": 7, - "description": "Shader uniform type: ivec4 (4 int)" + "name": "KEY_LEFT_ALT", + "value": 342, + "description": "Key: Alt left" }, { - "name": "SHADER_UNIFORM_SAMPLER2D", - "value": 8, - "description": "Shader uniform type: sampler2d" - } - ] - }, - { - "name": "ShaderAttributeDataType", - "description": "Shader attribute data types", - "values": [ + "name": "KEY_LEFT_SUPER", + "value": 343, + "description": "Key: Super left" + }, { - "name": "SHADER_ATTRIB_FLOAT", - "value": 0, - "description": "Shader attribute type: float" + "name": "KEY_RIGHT_SHIFT", + "value": 344, + "description": "Key: Shift right" }, { - "name": "SHADER_ATTRIB_VEC2", - "value": 1, - "description": "Shader attribute type: vec2 (2 float)" + "name": "KEY_RIGHT_CONTROL", + "value": 345, + "description": "Key: Control right" }, { - "name": "SHADER_ATTRIB_VEC3", - "value": 2, - "description": "Shader attribute type: vec3 (3 float)" + "name": "KEY_RIGHT_ALT", + "value": 346, + "description": "Key: Alt right" }, { - "name": "SHADER_ATTRIB_VEC4", - "value": 3, - "description": "Shader attribute type: vec4 (4 float)" - } - ] - }, - { - "name": "PixelFormat", - "description": "Pixel formats", - "values": [ + "name": "KEY_RIGHT_SUPER", + "value": 347, + "description": "Key: Super right" + }, { - "name": "PIXELFORMAT_UNCOMPRESSED_GRAYSCALE", - "value": 1, - "description": "8 bit per pixel (no alpha)" + "name": "KEY_KB_MENU", + "value": 348, + "description": "Key: KB menu" }, { - "name": "PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA", - "value": 2, - "description": "8*2 bpp (2 channels)" + "name": "KEY_KP_0", + "value": 320, + "description": "Key: Keypad 0" }, { - "name": "PIXELFORMAT_UNCOMPRESSED_R5G6B5", - "value": 3, - "description": "16 bpp" + "name": "KEY_KP_1", + "value": 321, + "description": "Key: Keypad 1" }, { - "name": "PIXELFORMAT_UNCOMPRESSED_R8G8B8", - "value": 4, - "description": "24 bpp" + "name": "KEY_KP_2", + "value": 322, + "description": "Key: Keypad 2" }, { - "name": "PIXELFORMAT_UNCOMPRESSED_R5G5B5A1", - "value": 5, - "description": "16 bpp (1 bit alpha)" + "name": "KEY_KP_3", + "value": 323, + "description": "Key: Keypad 3" }, { - "name": "PIXELFORMAT_UNCOMPRESSED_R4G4B4A4", - "value": 6, - "description": "16 bpp (4 bit alpha)" + "name": "KEY_KP_4", + "value": 324, + "description": "Key: Keypad 4" }, { - "name": "PIXELFORMAT_UNCOMPRESSED_R8G8B8A8", - "value": 7, - "description": "32 bpp" + "name": "KEY_KP_5", + "value": 325, + "description": "Key: Keypad 5" }, { - "name": "PIXELFORMAT_UNCOMPRESSED_R32", - "value": 8, - "description": "32 bpp (1 channel - float)" + "name": "KEY_KP_6", + "value": 326, + "description": "Key: Keypad 6" }, { - "name": "PIXELFORMAT_UNCOMPRESSED_R32G32B32", - "value": 9, - "description": "32*3 bpp (3 channels - float)" + "name": "KEY_KP_7", + "value": 327, + "description": "Key: Keypad 7" }, { - "name": "PIXELFORMAT_UNCOMPRESSED_R32G32B32A32", - "value": 10, - "description": "32*4 bpp (4 channels - float)" + "name": "KEY_KP_8", + "value": 328, + "description": "Key: Keypad 8" }, { - "name": "PIXELFORMAT_COMPRESSED_DXT1_RGB", - "value": 11, - "description": "4 bpp (no alpha)" + "name": "KEY_KP_9", + "value": 329, + "description": "Key: Keypad 9" }, { - "name": "PIXELFORMAT_COMPRESSED_DXT1_RGBA", - "value": 12, - "description": "4 bpp (1 bit alpha)" + "name": "KEY_KP_DECIMAL", + "value": 330, + "description": "Key: Keypad ." }, { - "name": "PIXELFORMAT_COMPRESSED_DXT3_RGBA", - "value": 13, - "description": "8 bpp" + "name": "KEY_KP_DIVIDE", + "value": 331, + "description": "Key: Keypad /" }, { - "name": "PIXELFORMAT_COMPRESSED_DXT5_RGBA", - "value": 14, - "description": "8 bpp" + "name": "KEY_KP_MULTIPLY", + "value": 332, + "description": "Key: Keypad *" }, { - "name": "PIXELFORMAT_COMPRESSED_ETC1_RGB", - "value": 15, - "description": "4 bpp" + "name": "KEY_KP_SUBTRACT", + "value": 333, + "description": "Key: Keypad -" }, { - "name": "PIXELFORMAT_COMPRESSED_ETC2_RGB", - "value": 16, - "description": "4 bpp" + "name": "KEY_KP_ADD", + "value": 334, + "description": "Key: Keypad +" }, { - "name": "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA", - "value": 17, - "description": "8 bpp" + "name": "KEY_KP_ENTER", + "value": 335, + "description": "Key: Keypad Enter" }, { - "name": "PIXELFORMAT_COMPRESSED_PVRT_RGB", - "value": 18, - "description": "4 bpp" + "name": "KEY_KP_EQUAL", + "value": 336, + "description": "Key: Keypad =" }, { - "name": "PIXELFORMAT_COMPRESSED_PVRT_RGBA", - "value": 19, - "description": "4 bpp" + "name": "KEY_BACK", + "value": 4, + "description": "Key: Android back button" }, { - "name": "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA", - "value": 20, - "description": "8 bpp" + "name": "KEY_MENU", + "value": 82, + "description": "Key: Android menu button" }, { - "name": "PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA", - "value": 21, - "description": "2 bpp" + "name": "KEY_VOLUME_UP", + "value": 24, + "description": "Key: Android volume up button" + }, + { + "name": "KEY_VOLUME_DOWN", + "value": 25, + "description": "Key: Android volume down button" } ] }, { - "name": "TextureFilter", - "description": "Texture parameters: filter mode", + "name": "MouseButton", + "description": "Mouse buttons", "values": [ { - "name": "TEXTURE_FILTER_POINT", + "name": "MOUSE_BUTTON_LEFT", "value": 0, - "description": "No filter, just pixel approximation" + "description": "Mouse button left" }, { - "name": "TEXTURE_FILTER_BILINEAR", + "name": "MOUSE_BUTTON_RIGHT", "value": 1, - "description": "Linear filtering" + "description": "Mouse button right" }, { - "name": "TEXTURE_FILTER_TRILINEAR", + "name": "MOUSE_BUTTON_MIDDLE", "value": 2, - "description": "Trilinear filtering (linear with mipmaps)" + "description": "Mouse button middle (pressed wheel)" }, { - "name": "TEXTURE_FILTER_ANISOTROPIC_4X", + "name": "MOUSE_BUTTON_SIDE", "value": 3, - "description": "Anisotropic filtering 4x" + "description": "Mouse button side (advanced mouse device)" }, { - "name": "TEXTURE_FILTER_ANISOTROPIC_8X", + "name": "MOUSE_BUTTON_EXTRA", "value": 4, - "description": "Anisotropic filtering 8x" + "description": "Mouse button extra (advanced mouse device)" }, { - "name": "TEXTURE_FILTER_ANISOTROPIC_16X", + "name": "MOUSE_BUTTON_FORWARD", "value": 5, - "description": "Anisotropic filtering 16x" + "description": "Mouse button fordward (advanced mouse device)" + }, + { + "name": "MOUSE_BUTTON_BACK", + "value": 6, + "description": "Mouse button back (advanced mouse device)" } ] }, { - "name": "TextureWrap", - "description": "Texture parameters: wrap mode", + "name": "MouseCursor", + "description": "Mouse cursor", "values": [ { - "name": "TEXTURE_WRAP_REPEAT", + "name": "MOUSE_CURSOR_DEFAULT", "value": 0, - "description": "Repeats texture in tiled mode" + "description": "Default pointer shape" }, { - "name": "TEXTURE_WRAP_CLAMP", + "name": "MOUSE_CURSOR_ARROW", "value": 1, - "description": "Clamps texture to edge pixel in tiled mode" + "description": "Arrow shape" }, { - "name": "TEXTURE_WRAP_MIRROR_REPEAT", + "name": "MOUSE_CURSOR_IBEAM", "value": 2, - "description": "Mirrors and repeats the texture in tiled mode" + "description": "Text writing cursor shape" }, { - "name": "TEXTURE_WRAP_MIRROR_CLAMP", + "name": "MOUSE_CURSOR_CROSSHAIR", "value": 3, - "description": "Mirrors and clamps to border the texture in tiled mode" - } - ] - }, - { - "name": "CubemapLayout", - "description": "Cubemap layouts", - "values": [ - { - "name": "CUBEMAP_LAYOUT_AUTO_DETECT", - "value": 0, - "description": "Automatically detect layout type" + "description": "Cross shape" }, { - "name": "CUBEMAP_LAYOUT_LINE_VERTICAL", - "value": 1, - "description": "Layout is defined by a vertical line with faces" + "name": "MOUSE_CURSOR_POINTING_HAND", + "value": 4, + "description": "Pointing hand cursor" }, { - "name": "CUBEMAP_LAYOUT_LINE_HORIZONTAL", - "value": 2, - "description": "Layout is defined by an horizontal line with faces" + "name": "MOUSE_CURSOR_RESIZE_EW", + "value": 5, + "description": "Horizontal resize/move arrow shape" }, { - "name": "CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR", - "value": 3, - "description": "Layout is defined by a 3x4 cross with cubemap faces" + "name": "MOUSE_CURSOR_RESIZE_NS", + "value": 6, + "description": "Vertical resize/move arrow shape" }, { - "name": "CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE", - "value": 4, - "description": "Layout is defined by a 4x3 cross with cubemap faces" + "name": "MOUSE_CURSOR_RESIZE_NWSE", + "value": 7, + "description": "Top-left to bottom-right diagonal resize/move arrow shape" }, { - "name": "CUBEMAP_LAYOUT_PANORAMA", - "value": 5, - "description": "Layout is defined by a panorama image (equirectangular map)" - } - ] - }, - { - "name": "FontType", - "description": "Font type, defines generation method", - "values": [ - { - "name": "FONT_DEFAULT", - "value": 0, - "description": "Default font generation, anti-aliased" + "name": "MOUSE_CURSOR_RESIZE_NESW", + "value": 8, + "description": "The top-right to bottom-left diagonal resize/move arrow shape" }, { - "name": "FONT_BITMAP", - "value": 1, - "description": "Bitmap font generation, no anti-aliasing" + "name": "MOUSE_CURSOR_RESIZE_ALL", + "value": 9, + "description": "The omni-directional resize/move cursor shape" }, { - "name": "FONT_SDF", - "value": 2, - "description": "SDF font generation, requires external shader" + "name": "MOUSE_CURSOR_NOT_ALLOWED", + "value": 10, + "description": "The operation-not-allowed shape" } ] }, { - "name": "BlendMode", - "description": "Color blending modes (pre-defined)", + "name": "GamepadButton", + "description": "Gamepad buttons", "values": [ { - "name": "BLEND_ALPHA", + "name": "GAMEPAD_BUTTON_UNKNOWN", "value": 0, - "description": "Blend textures considering alpha (default)" + "description": "Unknown button, just for error checking" }, { - "name": "BLEND_ADDITIVE", + "name": "GAMEPAD_BUTTON_LEFT_FACE_UP", "value": 1, - "description": "Blend textures adding colors" + "description": "Gamepad left DPAD up button" }, { - "name": "BLEND_MULTIPLIED", + "name": "GAMEPAD_BUTTON_LEFT_FACE_RIGHT", "value": 2, - "description": "Blend textures multiplying colors" + "description": "Gamepad left DPAD right button" }, { - "name": "BLEND_ADD_COLORS", + "name": "GAMEPAD_BUTTON_LEFT_FACE_DOWN", "value": 3, - "description": "Blend textures adding colors (alternative)" + "description": "Gamepad left DPAD down button" }, { - "name": "BLEND_SUBTRACT_COLORS", + "name": "GAMEPAD_BUTTON_LEFT_FACE_LEFT", "value": 4, - "description": "Blend textures subtracting colors (alternative)" + "description": "Gamepad left DPAD left button" }, { - "name": "BLEND_ALPHA_PREMUL", + "name": "GAMEPAD_BUTTON_RIGHT_FACE_UP", "value": 5, - "description": "Blend premultiplied textures considering alpha" + "description": "Gamepad right button up (i.e. PS3: Triangle, Xbox: Y)" }, { - "name": "BLEND_CUSTOM", + "name": "GAMEPAD_BUTTON_RIGHT_FACE_RIGHT", "value": 6, - "description": "Blend textures using custom src/dst factors (use rlSetBlendMode())" - } - ] - }, - { - "name": "Gesture", - "description": "Gesture", - "values": [ + "description": "Gamepad right button right (i.e. PS3: Square, Xbox: X)" + }, { - "name": "GESTURE_NONE", - "value": 0, - "description": "No gesture" + "name": "GAMEPAD_BUTTON_RIGHT_FACE_DOWN", + "value": 7, + "description": "Gamepad right button down (i.e. PS3: Cross, Xbox: A)" }, { - "name": "GESTURE_TAP", - "value": 1, - "description": "Tap gesture" + "name": "GAMEPAD_BUTTON_RIGHT_FACE_LEFT", + "value": 8, + "description": "Gamepad right button left (i.e. PS3: Circle, Xbox: B)" }, { - "name": "GESTURE_DOUBLETAP", - "value": 2, - "description": "Double tap gesture" + "name": "GAMEPAD_BUTTON_LEFT_TRIGGER_1", + "value": 9, + "description": "Gamepad top/back trigger left (first), it could be a trailing button" }, { - "name": "GESTURE_HOLD", - "value": 4, - "description": "Hold gesture" + "name": "GAMEPAD_BUTTON_LEFT_TRIGGER_2", + "value": 10, + "description": "Gamepad top/back trigger left (second), it could be a trailing button" }, { - "name": "GESTURE_DRAG", - "value": 8, - "description": "Drag gesture" + "name": "GAMEPAD_BUTTON_RIGHT_TRIGGER_1", + "value": 11, + "description": "Gamepad top/back trigger right (one), it could be a trailing button" }, { - "name": "GESTURE_SWIPE_RIGHT", - "value": 16, - "description": "Swipe right gesture" + "name": "GAMEPAD_BUTTON_RIGHT_TRIGGER_2", + "value": 12, + "description": "Gamepad top/back trigger right (second), it could be a trailing button" }, { - "name": "GESTURE_SWIPE_LEFT", - "value": 32, - "description": "Swipe left gesture" + "name": "GAMEPAD_BUTTON_MIDDLE_LEFT", + "value": 13, + "description": "Gamepad center buttons, left one (i.e. PS3: Select)" }, { - "name": "GESTURE_SWIPE_UP", - "value": 64, - "description": "Swipe up gesture" + "name": "GAMEPAD_BUTTON_MIDDLE", + "value": 14, + "description": "Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX)" }, { - "name": "GESTURE_SWIPE_DOWN", - "value": 128, - "description": "Swipe down gesture" + "name": "GAMEPAD_BUTTON_MIDDLE_RIGHT", + "value": 15, + "description": "Gamepad center buttons, right one (i.e. PS3: Start)" }, { - "name": "GESTURE_PINCH_IN", - "value": 256, - "description": "Pinch in gesture" + "name": "GAMEPAD_BUTTON_LEFT_THUMB", + "value": 16, + "description": "Gamepad joystick pressed button left" }, { - "name": "GESTURE_PINCH_OUT", - "value": 512, - "description": "Pinch out gesture" + "name": "GAMEPAD_BUTTON_RIGHT_THUMB", + "value": 17, + "description": "Gamepad joystick pressed button right" } ] }, { - "name": "CameraMode", - "description": "Camera system modes", + "name": "GamepadAxis", + "description": "Gamepad axis", "values": [ { - "name": "CAMERA_CUSTOM", + "name": "GAMEPAD_AXIS_LEFT_X", "value": 0, - "description": "Custom camera" + "description": "Gamepad left stick X axis" }, { - "name": "CAMERA_FREE", + "name": "GAMEPAD_AXIS_LEFT_Y", "value": 1, - "description": "Free camera" + "description": "Gamepad left stick Y axis" }, { - "name": "CAMERA_ORBITAL", + "name": "GAMEPAD_AXIS_RIGHT_X", "value": 2, - "description": "Orbital camera" + "description": "Gamepad right stick X axis" }, { - "name": "CAMERA_FIRST_PERSON", + "name": "GAMEPAD_AXIS_RIGHT_Y", "value": 3, - "description": "First person camera" + "description": "Gamepad right stick Y axis" }, { - "name": "CAMERA_THIRD_PERSON", + "name": "GAMEPAD_AXIS_LEFT_TRIGGER", "value": 4, - "description": "Third person camera" - } - ] - }, - { - "name": "CameraProjection", - "description": "Camera projection", - "values": [ - { - "name": "CAMERA_PERSPECTIVE", - "value": 0, - "description": "Perspective projection" + "description": "Gamepad back trigger left, pressure level: [1..-1]" }, { - "name": "CAMERA_ORTHOGRAPHIC", - "value": 1, - "description": "Orthographic projection" + "name": "GAMEPAD_AXIS_RIGHT_TRIGGER", + "value": 5, + "description": "Gamepad back trigger right, pressure level: [1..-1]" } ] }, { - "name": "NPatchLayout", - "description": "N-patch layout", + "name": "MaterialMapIndex", + "description": "Material map index", "values": [ { - "name": "NPATCH_NINE_PATCH", + "name": "MATERIAL_MAP_ALBEDO", "value": 0, - "description": "Npatch layout: 3x3 tiles" + "description": "Albedo material (same as: MATERIAL_MAP_DIFFUSE)" }, { - "name": "NPATCH_THREE_PATCH_VERTICAL", + "name": "MATERIAL_MAP_METALNESS", "value": 1, - "description": "Npatch layout: 1x3 tiles" + "description": "Metalness material (same as: MATERIAL_MAP_SPECULAR)" }, { - "name": "NPATCH_THREE_PATCH_HORIZONTAL", + "name": "MATERIAL_MAP_NORMAL", "value": 2, - "description": "Npatch layout: 3x1 tiles" + "description": "Normal material" + }, + { + "name": "MATERIAL_MAP_ROUGHNESS", + "value": 3, + "description": "Roughness material" + }, + { + "name": "MATERIAL_MAP_OCCLUSION", + "value": 4, + "description": "Ambient occlusion material" + }, + { + "name": "MATERIAL_MAP_EMISSION", + "value": 5, + "description": "Emission material" + }, + { + "name": "MATERIAL_MAP_HEIGHT", + "value": 6, + "description": "Heightmap material" + }, + { + "name": "MATERIAL_MAP_CUBEMAP", + "value": 7, + "description": "Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + }, + { + "name": "MATERIAL_MAP_IRRADIANCE", + "value": 8, + "description": "Irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + }, + { + "name": "MATERIAL_MAP_PREFILTER", + "value": 9, + "description": "Prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + }, + { + "name": "MATERIAL_MAP_BRDF", + "value": 10, + "description": "Brdf material" } ] - } - ], - "defines": [ - { - "name": "RAYLIB_H", - "type": "GUARD", - "value": "", - "description": "" - }, - { - "name": "RAYLIB_VERSION", - "type": "STRING", - "value": "4.1-dev", - "description": "" }, { - "name": "RLAPI", - "type": "UNKNOWN", - "value": "__declspec(dllexport)", - "description": "We are building the library as a Win32 shared library (.dll)" + "name": "ShaderLocationIndex", + "description": "Shader location index", + "values": [ + { + "name": "SHADER_LOC_VERTEX_POSITION", + "value": 0, + "description": "Shader location: vertex attribute: position" + }, + { + "name": "SHADER_LOC_VERTEX_TEXCOORD01", + "value": 1, + "description": "Shader location: vertex attribute: texcoord01" + }, + { + "name": "SHADER_LOC_VERTEX_TEXCOORD02", + "value": 2, + "description": "Shader location: vertex attribute: texcoord02" + }, + { + "name": "SHADER_LOC_VERTEX_NORMAL", + "value": 3, + "description": "Shader location: vertex attribute: normal" + }, + { + "name": "SHADER_LOC_VERTEX_TANGENT", + "value": 4, + "description": "Shader location: vertex attribute: tangent" + }, + { + "name": "SHADER_LOC_VERTEX_COLOR", + "value": 5, + "description": "Shader location: vertex attribute: color" + }, + { + "name": "SHADER_LOC_MATRIX_MVP", + "value": 6, + "description": "Shader location: matrix uniform: model-view-projection" + }, + { + "name": "SHADER_LOC_MATRIX_VIEW", + "value": 7, + "description": "Shader location: matrix uniform: view (camera transform)" + }, + { + "name": "SHADER_LOC_MATRIX_PROJECTION", + "value": 8, + "description": "Shader location: matrix uniform: projection" + }, + { + "name": "SHADER_LOC_MATRIX_MODEL", + "value": 9, + "description": "Shader location: matrix uniform: model (transform)" + }, + { + "name": "SHADER_LOC_MATRIX_NORMAL", + "value": 10, + "description": "Shader location: matrix uniform: normal" + }, + { + "name": "SHADER_LOC_VECTOR_VIEW", + "value": 11, + "description": "Shader location: vector uniform: view" + }, + { + "name": "SHADER_LOC_COLOR_DIFFUSE", + "value": 12, + "description": "Shader location: vector uniform: diffuse color" + }, + { + "name": "SHADER_LOC_COLOR_SPECULAR", + "value": 13, + "description": "Shader location: vector uniform: specular color" + }, + { + "name": "SHADER_LOC_COLOR_AMBIENT", + "value": 14, + "description": "Shader location: vector uniform: ambient color" + }, + { + "name": "SHADER_LOC_MAP_ALBEDO", + "value": 15, + "description": "Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE)" + }, + { + "name": "SHADER_LOC_MAP_METALNESS", + "value": 16, + "description": "Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR)" + }, + { + "name": "SHADER_LOC_MAP_NORMAL", + "value": 17, + "description": "Shader location: sampler2d texture: normal" + }, + { + "name": "SHADER_LOC_MAP_ROUGHNESS", + "value": 18, + "description": "Shader location: sampler2d texture: roughness" + }, + { + "name": "SHADER_LOC_MAP_OCCLUSION", + "value": 19, + "description": "Shader location: sampler2d texture: occlusion" + }, + { + "name": "SHADER_LOC_MAP_EMISSION", + "value": 20, + "description": "Shader location: sampler2d texture: emission" + }, + { + "name": "SHADER_LOC_MAP_HEIGHT", + "value": 21, + "description": "Shader location: sampler2d texture: height" + }, + { + "name": "SHADER_LOC_MAP_CUBEMAP", + "value": 22, + "description": "Shader location: samplerCube texture: cubemap" + }, + { + "name": "SHADER_LOC_MAP_IRRADIANCE", + "value": 23, + "description": "Shader location: samplerCube texture: irradiance" + }, + { + "name": "SHADER_LOC_MAP_PREFILTER", + "value": 24, + "description": "Shader location: samplerCube texture: prefilter" + }, + { + "name": "SHADER_LOC_MAP_BRDF", + "value": 25, + "description": "Shader location: sampler2d texture: brdf" + } + ] }, { - "name": "PI", - "type": "FLOAT", - "value": 3.14159265358979323846, - "description": "" + "name": "ShaderUniformDataType", + "description": "Shader uniform data type", + "values": [ + { + "name": "SHADER_UNIFORM_FLOAT", + "value": 0, + "description": "Shader uniform type: float" + }, + { + "name": "SHADER_UNIFORM_VEC2", + "value": 1, + "description": "Shader uniform type: vec2 (2 float)" + }, + { + "name": "SHADER_UNIFORM_VEC3", + "value": 2, + "description": "Shader uniform type: vec3 (3 float)" + }, + { + "name": "SHADER_UNIFORM_VEC4", + "value": 3, + "description": "Shader uniform type: vec4 (4 float)" + }, + { + "name": "SHADER_UNIFORM_INT", + "value": 4, + "description": "Shader uniform type: int" + }, + { + "name": "SHADER_UNIFORM_IVEC2", + "value": 5, + "description": "Shader uniform type: ivec2 (2 int)" + }, + { + "name": "SHADER_UNIFORM_IVEC3", + "value": 6, + "description": "Shader uniform type: ivec3 (3 int)" + }, + { + "name": "SHADER_UNIFORM_IVEC4", + "value": 7, + "description": "Shader uniform type: ivec4 (4 int)" + }, + { + "name": "SHADER_UNIFORM_SAMPLER2D", + "value": 8, + "description": "Shader uniform type: sampler2d" + } + ] }, { - "name": "DEG2RAD", - "type": "UNKNOWN", - "value": "(PI/180.0f)", - "description": "" - }, - { - "name": "RAD2DEG", - "type": "UNKNOWN", - "value": "(180.0f/PI)", - "description": "" - }, - { - "name": "RL_MALLOC(sz)", - "type": "MACRO", - "value": "malloc(sz)", - "description": "" - }, - { - "name": "RL_CALLOC(n,sz)", - "type": "MACRO", - "value": "calloc(n,sz)", - "description": "" - }, - { - "name": "RL_REALLOC(ptr,sz)", - "type": "MACRO", - "value": "realloc(ptr,sz)", - "description": "" - }, - { - "name": "RL_FREE(ptr)", - "type": "MACRO", - "value": "free(ptr)", - "description": "" - }, - { - "name": "CLITERAL(type)", - "type": "MACRO", - "value": "type", - "description": "" - }, - { - "name": "RL_COLOR_TYPE", - "type": "GUARD", - "value": "", - "description": "" - }, - { - "name": "RL_RECTANGLE_TYPE", - "type": "GUARD", - "value": "", - "description": "" - }, - { - "name": "RL_VECTOR2_TYPE", - "type": "GUARD", - "value": "", - "description": "" - }, - { - "name": "RL_VECTOR3_TYPE", - "type": "GUARD", - "value": "", - "description": "" - }, - { - "name": "RL_VECTOR4_TYPE", - "type": "GUARD", - "value": "", - "description": "" - }, - { - "name": "RL_QUATERNION_TYPE", - "type": "GUARD", - "value": "", - "description": "" - }, - { - "name": "RL_MATRIX_TYPE", - "type": "GUARD", - "value": "", - "description": "" - }, - { - "name": "LIGHTGRAY", - "type": "COLOR", - "value": "CLITERAL(Color){ 200, 200, 200, 255 }", - "description": "Light Gray" - }, - { - "name": "GRAY", - "type": "COLOR", - "value": "CLITERAL(Color){ 130, 130, 130, 255 }", - "description": "Gray" - }, - { - "name": "DARKGRAY", - "type": "COLOR", - "value": "CLITERAL(Color){ 80, 80, 80, 255 }", - "description": "Dark Gray" - }, - { - "name": "YELLOW", - "type": "COLOR", - "value": "CLITERAL(Color){ 253, 249, 0, 255 }", - "description": "Yellow" - }, - { - "name": "GOLD", - "type": "COLOR", - "value": "CLITERAL(Color){ 255, 203, 0, 255 }", - "description": "Gold" - }, - { - "name": "ORANGE", - "type": "COLOR", - "value": "CLITERAL(Color){ 255, 161, 0, 255 }", - "description": "Orange" - }, - { - "name": "PINK", - "type": "COLOR", - "value": "CLITERAL(Color){ 255, 109, 194, 255 }", - "description": "Pink" - }, - { - "name": "RED", - "type": "COLOR", - "value": "CLITERAL(Color){ 230, 41, 55, 255 }", - "description": "Red" - }, - { - "name": "MAROON", - "type": "COLOR", - "value": "CLITERAL(Color){ 190, 33, 55, 255 }", - "description": "Maroon" - }, - { - "name": "GREEN", - "type": "COLOR", - "value": "CLITERAL(Color){ 0, 228, 48, 255 }", - "description": "Green" - }, - { - "name": "LIME", - "type": "COLOR", - "value": "CLITERAL(Color){ 0, 158, 47, 255 }", - "description": "Lime" - }, - { - "name": "DARKGREEN", - "type": "COLOR", - "value": "CLITERAL(Color){ 0, 117, 44, 255 }", - "description": "Dark Green" - }, - { - "name": "SKYBLUE", - "type": "COLOR", - "value": "CLITERAL(Color){ 102, 191, 255, 255 }", - "description": "Sky Blue" - }, - { - "name": "BLUE", - "type": "COLOR", - "value": "CLITERAL(Color){ 0, 121, 241, 255 }", - "description": "Blue" - }, - { - "name": "DARKBLUE", - "type": "COLOR", - "value": "CLITERAL(Color){ 0, 82, 172, 255 }", - "description": "Dark Blue" - }, - { - "name": "PURPLE", - "type": "COLOR", - "value": "CLITERAL(Color){ 200, 122, 255, 255 }", - "description": "Purple" - }, - { - "name": "VIOLET", - "type": "COLOR", - "value": "CLITERAL(Color){ 135, 60, 190, 255 }", - "description": "Violet" - }, - { - "name": "DARKPURPLE", - "type": "COLOR", - "value": "CLITERAL(Color){ 112, 31, 126, 255 }", - "description": "Dark Purple" - }, - { - "name": "BEIGE", - "type": "COLOR", - "value": "CLITERAL(Color){ 211, 176, 131, 255 }", - "description": "Beige" + "name": "ShaderAttributeDataType", + "description": "Shader attribute data types", + "values": [ + { + "name": "SHADER_ATTRIB_FLOAT", + "value": 0, + "description": "Shader attribute type: float" + }, + { + "name": "SHADER_ATTRIB_VEC2", + "value": 1, + "description": "Shader attribute type: vec2 (2 float)" + }, + { + "name": "SHADER_ATTRIB_VEC3", + "value": 2, + "description": "Shader attribute type: vec3 (3 float)" + }, + { + "name": "SHADER_ATTRIB_VEC4", + "value": 3, + "description": "Shader attribute type: vec4 (4 float)" + } + ] }, { - "name": "BROWN", - "type": "COLOR", - "value": "CLITERAL(Color){ 127, 106, 79, 255 }", - "description": "Brown" + "name": "PixelFormat", + "description": "Pixel formats", + "values": [ + { + "name": "PIXELFORMAT_UNCOMPRESSED_GRAYSCALE", + "value": 1, + "description": "8 bit per pixel (no alpha)" + }, + { + "name": "PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA", + "value": 2, + "description": "8*2 bpp (2 channels)" + }, + { + "name": "PIXELFORMAT_UNCOMPRESSED_R5G6B5", + "value": 3, + "description": "16 bpp" + }, + { + "name": "PIXELFORMAT_UNCOMPRESSED_R8G8B8", + "value": 4, + "description": "24 bpp" + }, + { + "name": "PIXELFORMAT_UNCOMPRESSED_R5G5B5A1", + "value": 5, + "description": "16 bpp (1 bit alpha)" + }, + { + "name": "PIXELFORMAT_UNCOMPRESSED_R4G4B4A4", + "value": 6, + "description": "16 bpp (4 bit alpha)" + }, + { + "name": "PIXELFORMAT_UNCOMPRESSED_R8G8B8A8", + "value": 7, + "description": "32 bpp" + }, + { + "name": "PIXELFORMAT_UNCOMPRESSED_R32", + "value": 8, + "description": "32 bpp (1 channel - float)" + }, + { + "name": "PIXELFORMAT_UNCOMPRESSED_R32G32B32", + "value": 9, + "description": "32*3 bpp (3 channels - float)" + }, + { + "name": "PIXELFORMAT_UNCOMPRESSED_R32G32B32A32", + "value": 10, + "description": "32*4 bpp (4 channels - float)" + }, + { + "name": "PIXELFORMAT_COMPRESSED_DXT1_RGB", + "value": 11, + "description": "4 bpp (no alpha)" + }, + { + "name": "PIXELFORMAT_COMPRESSED_DXT1_RGBA", + "value": 12, + "description": "4 bpp (1 bit alpha)" + }, + { + "name": "PIXELFORMAT_COMPRESSED_DXT3_RGBA", + "value": 13, + "description": "8 bpp" + }, + { + "name": "PIXELFORMAT_COMPRESSED_DXT5_RGBA", + "value": 14, + "description": "8 bpp" + }, + { + "name": "PIXELFORMAT_COMPRESSED_ETC1_RGB", + "value": 15, + "description": "4 bpp" + }, + { + "name": "PIXELFORMAT_COMPRESSED_ETC2_RGB", + "value": 16, + "description": "4 bpp" + }, + { + "name": "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA", + "value": 17, + "description": "8 bpp" + }, + { + "name": "PIXELFORMAT_COMPRESSED_PVRT_RGB", + "value": 18, + "description": "4 bpp" + }, + { + "name": "PIXELFORMAT_COMPRESSED_PVRT_RGBA", + "value": 19, + "description": "4 bpp" + }, + { + "name": "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA", + "value": 20, + "description": "8 bpp" + }, + { + "name": "PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA", + "value": 21, + "description": "2 bpp" + } + ] }, { - "name": "DARKBROWN", - "type": "COLOR", - "value": "CLITERAL(Color){ 76, 63, 47, 255 }", - "description": "Dark Brown" + "name": "TextureFilter", + "description": "Texture parameters: filter mode", + "values": [ + { + "name": "TEXTURE_FILTER_POINT", + "value": 0, + "description": "No filter, just pixel approximation" + }, + { + "name": "TEXTURE_FILTER_BILINEAR", + "value": 1, + "description": "Linear filtering" + }, + { + "name": "TEXTURE_FILTER_TRILINEAR", + "value": 2, + "description": "Trilinear filtering (linear with mipmaps)" + }, + { + "name": "TEXTURE_FILTER_ANISOTROPIC_4X", + "value": 3, + "description": "Anisotropic filtering 4x" + }, + { + "name": "TEXTURE_FILTER_ANISOTROPIC_8X", + "value": 4, + "description": "Anisotropic filtering 8x" + }, + { + "name": "TEXTURE_FILTER_ANISOTROPIC_16X", + "value": 5, + "description": "Anisotropic filtering 16x" + } + ] }, { - "name": "WHITE", - "type": "COLOR", - "value": "CLITERAL(Color){ 255, 255, 255, 255 }", - "description": "White" + "name": "TextureWrap", + "description": "Texture parameters: wrap mode", + "values": [ + { + "name": "TEXTURE_WRAP_REPEAT", + "value": 0, + "description": "Repeats texture in tiled mode" + }, + { + "name": "TEXTURE_WRAP_CLAMP", + "value": 1, + "description": "Clamps texture to edge pixel in tiled mode" + }, + { + "name": "TEXTURE_WRAP_MIRROR_REPEAT", + "value": 2, + "description": "Mirrors and repeats the texture in tiled mode" + }, + { + "name": "TEXTURE_WRAP_MIRROR_CLAMP", + "value": 3, + "description": "Mirrors and clamps to border the texture in tiled mode" + } + ] }, { - "name": "BLACK", - "type": "COLOR", - "value": "CLITERAL(Color){ 0, 0, 0, 255 }", - "description": "Black" + "name": "CubemapLayout", + "description": "Cubemap layouts", + "values": [ + { + "name": "CUBEMAP_LAYOUT_AUTO_DETECT", + "value": 0, + "description": "Automatically detect layout type" + }, + { + "name": "CUBEMAP_LAYOUT_LINE_VERTICAL", + "value": 1, + "description": "Layout is defined by a vertical line with faces" + }, + { + "name": "CUBEMAP_LAYOUT_LINE_HORIZONTAL", + "value": 2, + "description": "Layout is defined by an horizontal line with faces" + }, + { + "name": "CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR", + "value": 3, + "description": "Layout is defined by a 3x4 cross with cubemap faces" + }, + { + "name": "CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE", + "value": 4, + "description": "Layout is defined by a 4x3 cross with cubemap faces" + }, + { + "name": "CUBEMAP_LAYOUT_PANORAMA", + "value": 5, + "description": "Layout is defined by a panorama image (equirectangular map)" + } + ] }, { - "name": "BLANK", - "type": "COLOR", - "value": "CLITERAL(Color){ 0, 0, 0, 0 }", - "description": "Blank (Transparent)" + "name": "FontType", + "description": "Font type, defines generation method", + "values": [ + { + "name": "FONT_DEFAULT", + "value": 0, + "description": "Default font generation, anti-aliased" + }, + { + "name": "FONT_BITMAP", + "value": 1, + "description": "Bitmap font generation, no anti-aliasing" + }, + { + "name": "FONT_SDF", + "value": 2, + "description": "SDF font generation, requires external shader" + } + ] }, { - "name": "MAGENTA", - "type": "COLOR", - "value": "CLITERAL(Color){ 255, 0, 255, 255 }", - "description": "Magenta" + "name": "BlendMode", + "description": "Color blending modes (pre-defined)", + "values": [ + { + "name": "BLEND_ALPHA", + "value": 0, + "description": "Blend textures considering alpha (default)" + }, + { + "name": "BLEND_ADDITIVE", + "value": 1, + "description": "Blend textures adding colors" + }, + { + "name": "BLEND_MULTIPLIED", + "value": 2, + "description": "Blend textures multiplying colors" + }, + { + "name": "BLEND_ADD_COLORS", + "value": 3, + "description": "Blend textures adding colors (alternative)" + }, + { + "name": "BLEND_SUBTRACT_COLORS", + "value": 4, + "description": "Blend textures subtracting colors (alternative)" + }, + { + "name": "BLEND_ALPHA_PREMUL", + "value": 5, + "description": "Blend premultiplied textures considering alpha" + }, + { + "name": "BLEND_CUSTOM", + "value": 6, + "description": "Blend textures using custom src/dst factors (use rlSetBlendMode())" + } + ] }, { - "name": "RAYWHITE", - "type": "COLOR", - "value": "CLITERAL(Color){ 245, 245, 245, 255 }", - "description": "My own White (raylib logo)" + "name": "Gesture", + "description": "Gesture", + "values": [ + { + "name": "GESTURE_NONE", + "value": 0, + "description": "No gesture" + }, + { + "name": "GESTURE_TAP", + "value": 1, + "description": "Tap gesture" + }, + { + "name": "GESTURE_DOUBLETAP", + "value": 2, + "description": "Double tap gesture" + }, + { + "name": "GESTURE_HOLD", + "value": 4, + "description": "Hold gesture" + }, + { + "name": "GESTURE_DRAG", + "value": 8, + "description": "Drag gesture" + }, + { + "name": "GESTURE_SWIPE_RIGHT", + "value": 16, + "description": "Swipe right gesture" + }, + { + "name": "GESTURE_SWIPE_LEFT", + "value": 32, + "description": "Swipe left gesture" + }, + { + "name": "GESTURE_SWIPE_UP", + "value": 64, + "description": "Swipe up gesture" + }, + { + "name": "GESTURE_SWIPE_DOWN", + "value": 128, + "description": "Swipe down gesture" + }, + { + "name": "GESTURE_PINCH_IN", + "value": 256, + "description": "Pinch in gesture" + }, + { + "name": "GESTURE_PINCH_OUT", + "value": 512, + "description": "Pinch out gesture" + } + ] + }, + { + "name": "CameraMode", + "description": "Camera system modes", + "values": [ + { + "name": "CAMERA_CUSTOM", + "value": 0, + "description": "Custom camera" + }, + { + "name": "CAMERA_FREE", + "value": 1, + "description": "Free camera" + }, + { + "name": "CAMERA_ORBITAL", + "value": 2, + "description": "Orbital camera" + }, + { + "name": "CAMERA_FIRST_PERSON", + "value": 3, + "description": "First person camera" + }, + { + "name": "CAMERA_THIRD_PERSON", + "value": 4, + "description": "Third person camera" + } + ] }, { - "name": "RL_BOOL_TYPE", - "type": "GUARD", - "value": "", - "description": "" + "name": "CameraProjection", + "description": "Camera projection", + "values": [ + { + "name": "CAMERA_PERSPECTIVE", + "value": 0, + "description": "Perspective projection" + }, + { + "name": "CAMERA_ORTHOGRAPHIC", + "value": 1, + "description": "Orthographic projection" + } + ] }, { - "name": "MOUSE_LEFT_BUTTON", - "type": "UNKNOWN", - "value": "MOUSE_BUTTON_LEFT", - "description": "" - }, + "name": "NPatchLayout", + "description": "N-patch layout", + "values": [ + { + "name": "NPATCH_NINE_PATCH", + "value": 0, + "description": "Npatch layout: 3x3 tiles" + }, + { + "name": "NPATCH_THREE_PATCH_VERTICAL", + "value": 1, + "description": "Npatch layout: 1x3 tiles" + }, + { + "name": "NPATCH_THREE_PATCH_HORIZONTAL", + "value": 2, + "description": "Npatch layout: 3x1 tiles" + } + ] + } + ], + "callbacks": [ { - "name": "MOUSE_RIGHT_BUTTON", - "type": "UNKNOWN", - "value": "MOUSE_BUTTON_RIGHT", - "description": "" + "name": "TraceLogCallback", + "description": "Logging: Redirect trace log messages", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "logLevel" + }, + { + "type": "const char *", + "name": "text" + }, + { + "type": "va_list", + "name": "args" + } + ] }, { - "name": "MOUSE_MIDDLE_BUTTON", - "type": "UNKNOWN", - "value": "MOUSE_BUTTON_MIDDLE", - "description": "" + "name": "LoadFileDataCallback", + "description": "FileIO: Load binary data", + "returnType": "unsigned char *", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "unsigned int *", + "name": "bytesRead" + } + ] }, { - "name": "MATERIAL_MAP_DIFFUSE", - "type": "UNKNOWN", - "value": "MATERIAL_MAP_ALBEDO", - "description": "" + "name": "SaveFileDataCallback", + "description": "FileIO: Save binary data", + "returnType": "bool", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "void *", + "name": "data" + }, + { + "type": "unsigned int", + "name": "bytesToWrite" + } + ] }, { - "name": "MATERIAL_MAP_SPECULAR", - "type": "UNKNOWN", - "value": "MATERIAL_MAP_METALNESS", - "description": "" + "name": "LoadFileTextCallback", + "description": "FileIO: Load text data", + "returnType": "char *", + "params": [ + { + "type": "const char *", + "name": "fileName" + } + ] }, { - "name": "SHADER_LOC_MAP_DIFFUSE", - "type": "UNKNOWN", - "value": "SHADER_LOC_MAP_ALBEDO", - "description": "" + "name": "SaveFileTextCallback", + "description": "FileIO: Save text data", + "returnType": "bool", + "params": [ + { + "type": "const char *", + "name": "fileName" + }, + { + "type": "char *", + "name": "text" + } + ] }, { - "name": "SHADER_LOC_MAP_SPECULAR", - "type": "UNKNOWN", - "value": "SHADER_LOC_MAP_METALNESS", - "description": "" + "name": "AudioCallback", + "description": "", + "returnType": "void", + "params": [ + { + "type": "void *", + "name": "bufferData" + }, + { + "type": "unsigned int", + "name": "frames" + } + ] } ], "functions": [ @@ -10556,101 +10652,5 @@ } ] } - ], - "callbacks": [ - { - "name": "TraceLogCallback", - "description": "Logging: Redirect trace log messages", - "returnType": "void", - "params": [ - { - "type": "int", - "name": "logLevel" - }, - { - "type": "const char *", - "name": "text" - }, - { - "type": "va_list", - "name": "args" - } - ] - }, - { - "name": "LoadFileDataCallback", - "description": "FileIO: Load binary data", - "returnType": "unsigned char *", - "params": [ - { - "type": "const char *", - "name": "fileName" - }, - { - "type": "unsigned int *", - "name": "bytesRead" - } - ] - }, - { - "name": "SaveFileDataCallback", - "description": "FileIO: Save binary data", - "returnType": "bool", - "params": [ - { - "type": "const char *", - "name": "fileName" - }, - { - "type": "void *", - "name": "data" - }, - { - "type": "unsigned int", - "name": "bytesToWrite" - } - ] - }, - { - "name": "LoadFileTextCallback", - "description": "FileIO: Load text data", - "returnType": "char *", - "params": [ - { - "type": "const char *", - "name": "fileName" - } - ] - }, - { - "name": "SaveFileTextCallback", - "description": "FileIO: Save text data", - "returnType": "bool", - "params": [ - { - "type": "const char *", - "name": "fileName" - }, - { - "type": "char *", - "name": "text" - } - ] - }, - { - "name": "AudioCallback", - "description": "", - "returnType": "void", - "params": [ - { - "type": "void *", - "name": "bufferData" - }, - { - "type": "unsigned int", - "name": "frames" - } - ] - } ] } diff --git a/parser/raylib_api.lua b/parser/raylib_api.lua index 8888fade..2cbd388f 100644 --- a/parser/raylib_api.lua +++ b/parser/raylib_api.lua @@ -1,2899 +1,2956 @@ return { - structs = { + defines = { { - name = "Vector2", - description = "Vector2, 2 components", - fields = { - { - type = "float", - name = "x", - description = "Vector x component" - }, - { - type = "float", - name = "y", - description = "Vector y component" - } - } + name = "RAYLIB_H", + type = "GUARD", + value = "", + description = "" }, { - name = "Vector3", - description = "Vector3, 3 components", - fields = { - { - type = "float", - name = "x", - description = "Vector x component" - }, - { - type = "float", - name = "y", - description = "Vector y component" - }, - { - type = "float", - name = "z", - description = "Vector z component" - } - } + name = "RAYLIB_VERSION", + type = "STRING", + value = "4.1-dev", + description = "" }, { - name = "Vector4", - description = "Vector4, 4 components", - fields = { - { - type = "float", - name = "x", - description = "Vector x component" - }, - { - type = "float", - name = "y", - description = "Vector y component" - }, - { - type = "float", - name = "z", - description = "Vector z component" - }, - { - type = "float", - name = "w", - description = "Vector w component" - } - } + name = "RLAPI", + type = "UNKNOWN", + value = "__declspec(dllexport)", + description = "We are building the library as a Win32 shared library (.dll)" }, { - name = "Matrix", - description = "Matrix, 4x4 components, column major, OpenGL style, right handed", - fields = { - { - type = "float", - name = "m0", - description = "Matrix first row (4 components)" - }, - { - type = "float", - name = "m4", - description = "Matrix first row (4 components)" - }, - { - type = "float", - name = "m8", - description = "Matrix first row (4 components)" - }, - { - type = "float", - name = "m12", - description = "Matrix first row (4 components)" - }, - { - type = "float", - name = "m1", - description = "Matrix second row (4 components)" - }, - { - type = "float", - name = "m5", - description = "Matrix second row (4 components)" - }, - { - type = "float", - name = "m9", - description = "Matrix second row (4 components)" - }, - { - type = "float", - name = "m13", - description = "Matrix second row (4 components)" - }, - { - type = "float", - name = "m2", - description = "Matrix third row (4 components)" - }, - { - type = "float", - name = "m6", - description = "Matrix third row (4 components)" - }, - { - type = "float", - name = "m10", - description = "Matrix third row (4 components)" - }, - { - type = "float", - name = "m14", - description = "Matrix third row (4 components)" - }, - { - type = "float", - name = "m3", - description = "Matrix fourth row (4 components)" - }, - { - type = "float", - name = "m7", - description = "Matrix fourth row (4 components)" - }, - { - type = "float", - name = "m11", - description = "Matrix fourth row (4 components)" - }, - { - type = "float", - name = "m15", - description = "Matrix fourth row (4 components)" - } - } + name = "PI", + type = "FLOAT", + value = 3.14159265358979323846, + description = "" }, { - name = "Color", - description = "Color, 4 components, R8G8B8A8 (32bit)", - fields = { - { - type = "unsigned char", - name = "r", - description = "Color red value" - }, - { - type = "unsigned char", - name = "g", - description = "Color green value" - }, - { - type = "unsigned char", - name = "b", - description = "Color blue value" - }, - { - type = "unsigned char", - name = "a", - description = "Color alpha value" - } - } + name = "DEG2RAD", + type = "UNKNOWN", + value = "(PI/180.0f)", + description = "" }, { - name = "Rectangle", - description = "Rectangle, 4 components", - fields = { - { - type = "float", - name = "x", - description = "Rectangle top-left corner position x" - }, - { - type = "float", - name = "y", - description = "Rectangle top-left corner position y" - }, - { - type = "float", - name = "width", - description = "Rectangle width" - }, - { - type = "float", - name = "height", - description = "Rectangle height" - } - } + name = "RAD2DEG", + type = "UNKNOWN", + value = "(180.0f/PI)", + description = "" }, { - name = "Image", - description = "Image, pixel data stored in CPU memory (RAM)", - fields = { - { - type = "void *", - name = "data", - description = "Image raw data" - }, - { - type = "int", - name = "width", - description = "Image base width" - }, - { - type = "int", - name = "height", - description = "Image base height" - }, - { - type = "int", - name = "mipmaps", - description = "Mipmap levels, 1 by default" - }, - { - type = "int", - name = "format", - description = "Data format (PixelFormat type)" - } - } + name = "RL_MALLOC(sz)", + type = "MACRO", + value = "malloc(sz)", + description = "" }, { - name = "Texture", - description = "Texture, tex data stored in GPU memory (VRAM)", - fields = { - { - type = "unsigned int", - name = "id", - description = "OpenGL texture id" - }, - { - type = "int", - name = "width", - description = "Texture base width" - }, - { - type = "int", - name = "height", - description = "Texture base height" - }, - { - type = "int", - name = "mipmaps", - description = "Mipmap levels, 1 by default" - }, - { - type = "int", - name = "format", - description = "Data format (PixelFormat type)" - } - } + name = "RL_CALLOC(n,sz)", + type = "MACRO", + value = "calloc(n,sz)", + description = "" }, { - name = "RenderTexture", - description = "RenderTexture, fbo for texture rendering", - fields = { - { - type = "unsigned int", - name = "id", - description = "OpenGL framebuffer object id" - }, - { - type = "Texture", - name = "texture", - description = "Color buffer attachment texture" - }, - { - type = "Texture", - name = "depth", - description = "Depth buffer attachment texture" - } - } + name = "RL_REALLOC(ptr,sz)", + type = "MACRO", + value = "realloc(ptr,sz)", + description = "" }, { - name = "NPatchInfo", - description = "NPatchInfo, n-patch layout info", - fields = { - { - type = "Rectangle", - name = "source", - description = "Texture source rectangle" - }, - { - type = "int", - name = "left", - description = "Left border offset" - }, - { - type = "int", - name = "top", - description = "Top border offset" - }, - { - type = "int", - name = "right", - description = "Right border offset" - }, - { - type = "int", - name = "bottom", - description = "Bottom border offset" - }, - { - type = "int", - name = "layout", - description = "Layout of the n-patch: 3x3, 1x3 or 3x1" - } - } + name = "RL_FREE(ptr)", + type = "MACRO", + value = "free(ptr)", + description = "" }, { - name = "GlyphInfo", - description = "GlyphInfo, font characters glyphs info", - fields = { - { - type = "int", - name = "value", - description = "Character value (Unicode)" - }, - { - type = "int", - name = "offsetX", - description = "Character offset X when drawing" - }, - { - type = "int", - name = "offsetY", - description = "Character offset Y when drawing" - }, - { - type = "int", - name = "advanceX", - description = "Character advance position X" - }, - { - type = "Image", - name = "image", - description = "Character image data" - } - } + name = "CLITERAL(type)", + type = "MACRO", + value = "type", + description = "" }, { - name = "Font", - description = "Font, font texture and GlyphInfo array data", - fields = { - { - type = "int", - name = "baseSize", - description = "Base size (default chars height)" - }, - { - type = "int", - name = "glyphCount", - description = "Number of glyph characters" - }, - { - type = "int", - name = "glyphPadding", - description = "Padding around the glyph characters" - }, - { - type = "Texture2D", - name = "texture", - description = "Texture atlas containing the glyphs" - }, - { - type = "Rectangle *", - name = "recs", - description = "Rectangles in texture for the glyphs" - }, - { - type = "GlyphInfo *", - name = "glyphs", - description = "Glyphs info data" - } - } + name = "RL_COLOR_TYPE", + type = "GUARD", + value = "", + description = "" }, { - name = "Camera3D", - description = "Camera, defines position/orientation in 3d space", - fields = { - { - type = "Vector3", - name = "position", - description = "Camera position" - }, - { - type = "Vector3", - name = "target", - description = "Camera target it looks-at" - }, - { - type = "Vector3", - name = "up", - description = "Camera up vector (rotation over its axis)" - }, - { - type = "float", - name = "fovy", - description = "Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic" - }, - { - type = "int", - name = "projection", - description = "Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC" - } - } + name = "RL_RECTANGLE_TYPE", + type = "GUARD", + value = "", + description = "" }, { - name = "Camera2D", - description = "Camera2D, defines position/orientation in 2d space", - fields = { - { - type = "Vector2", - name = "offset", - description = "Camera offset (displacement from target)" - }, - { - type = "Vector2", - name = "target", - description = "Camera target (rotation and zoom origin)" - }, - { - type = "float", - name = "rotation", - description = "Camera rotation in degrees" - }, - { - type = "float", - name = "zoom", - description = "Camera zoom (scaling), should be 1.0f by default" - } - } + name = "RL_VECTOR2_TYPE", + type = "GUARD", + value = "", + description = "" }, { - name = "Mesh", - description = "Mesh, vertex data and vao/vbo", - fields = { - { - type = "int", - name = "vertexCount", - description = "Number of vertices stored in arrays" - }, - { - type = "int", - name = "triangleCount", - description = "Number of triangles stored (indexed or not)" - }, - { - type = "float *", - name = "vertices", - description = "Vertex position (XYZ - 3 components per vertex) (shader-location = 0)" - }, - { - type = "float *", - name = "texcoords", - description = "Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)" - }, - { - type = "float *", - name = "texcoords2", - description = "Vertex texture second coordinates (UV - 2 components per vertex) (shader-location = 5)" - }, - { - type = "float *", - name = "normals", - description = "Vertex normals (XYZ - 3 components per vertex) (shader-location = 2)" - }, - { - type = "float *", - name = "tangents", - description = "Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4)" - }, - { - type = "unsigned char *", - name = "colors", - description = "Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)" - }, - { - type = "unsigned short *", - name = "indices", - description = "Vertex indices (in case vertex data comes indexed)" - }, - { - type = "float *", - name = "animVertices", - description = "Animated vertex positions (after bones transformations)" - }, - { - type = "float *", - name = "animNormals", - description = "Animated normals (after bones transformations)" - }, - { - type = "unsigned char *", - name = "boneIds", - description = "Vertex bone ids, max 255 bone ids, up to 4 bones influence by vertex (skinning)" - }, - { - type = "float *", - name = "boneWeights", - description = "Vertex bone weight, up to 4 bones influence by vertex (skinning)" - }, - { - type = "unsigned int", - name = "vaoId", - description = "OpenGL Vertex Array Object id" - }, - { - type = "unsigned int *", - name = "vboId", - description = "OpenGL Vertex Buffer Objects id (default vertex data)" - } - } + name = "RL_VECTOR3_TYPE", + type = "GUARD", + value = "", + description = "" }, { - name = "Shader", - description = "Shader", - fields = { - { - type = "unsigned int", - name = "id", - description = "Shader program id" - }, - { - type = "int *", - name = "locs", - description = "Shader locations array (RL_MAX_SHADER_LOCATIONS)" - } - } + name = "RL_VECTOR4_TYPE", + type = "GUARD", + value = "", + description = "" }, { - name = "MaterialMap", - description = "MaterialMap", - fields = { - { - type = "Texture2D", - name = "texture", - description = "Material map texture" - }, - { - type = "Color", - name = "color", - description = "Material map color" - }, - { - type = "float", - name = "value", - description = "Material map value" - } - } + name = "RL_QUATERNION_TYPE", + type = "GUARD", + value = "", + description = "" }, { - name = "Material", - description = "Material, includes shader and maps", - fields = { - { - type = "Shader", - name = "shader", - description = "Material shader" - }, - { - type = "MaterialMap *", - name = "maps", - description = "Material maps array (MAX_MATERIAL_MAPS)" - }, - { - type = "float[4]", - name = "params", - description = "Material generic parameters (if required)" - } - } + name = "RL_MATRIX_TYPE", + type = "GUARD", + value = "", + description = "" }, { - name = "Transform", - description = "Transform, vectex transformation data", - fields = { - { - type = "Vector3", - name = "translation", - description = "Translation" - }, - { - type = "Quaternion", - name = "rotation", - description = "Rotation" - }, - { - type = "Vector3", - name = "scale", - description = "Scale" - } - } + name = "LIGHTGRAY", + type = "COLOR", + value = "CLITERAL(Color){ 200, 200, 200, 255 }", + description = "Light Gray" }, { - name = "BoneInfo", - description = "Bone, skeletal animation bone", - fields = { - { - type = "char[32]", - name = "name", - description = "Bone name" - }, - { - type = "int", - name = "parent", - description = "Bone parent" - } - } + name = "GRAY", + type = "COLOR", + value = "CLITERAL(Color){ 130, 130, 130, 255 }", + description = "Gray" }, { - name = "Model", - description = "Model, meshes, materials and animation data", - fields = { - { - type = "Matrix", - name = "transform", - description = "Local transform matrix" - }, - { - type = "int", - name = "meshCount", - description = "Number of meshes" - }, - { - type = "int", - name = "materialCount", - description = "Number of materials" - }, - { - type = "Mesh *", - name = "meshes", - description = "Meshes array" - }, - { - type = "Material *", - name = "materials", - description = "Materials array" - }, - { - type = "int *", - name = "meshMaterial", - description = "Mesh material number" - }, - { - type = "int", - name = "boneCount", - description = "Number of bones" - }, - { - type = "BoneInfo *", - name = "bones", - description = "Bones information (skeleton)" - }, - { - type = "Transform *", - name = "bindPose", - description = "Bones base transformation (pose)" - } - } + name = "DARKGRAY", + type = "COLOR", + value = "CLITERAL(Color){ 80, 80, 80, 255 }", + description = "Dark Gray" }, { - name = "ModelAnimation", - description = "ModelAnimation", - fields = { - { - type = "int", - name = "boneCount", - description = "Number of bones" - }, - { - type = "int", - name = "frameCount", - description = "Number of animation frames" - }, - { - type = "BoneInfo *", - name = "bones", - description = "Bones information (skeleton)" - }, - { - type = "Transform **", - name = "framePoses", - description = "Poses array by frame" - } - } + name = "YELLOW", + type = "COLOR", + value = "CLITERAL(Color){ 253, 249, 0, 255 }", + description = "Yellow" }, { - name = "Ray", - description = "Ray, ray for raycasting", - fields = { - { - type = "Vector3", - name = "position", - description = "Ray position (origin)" - }, - { - type = "Vector3", - name = "direction", - description = "Ray direction" - } - } + name = "GOLD", + type = "COLOR", + value = "CLITERAL(Color){ 255, 203, 0, 255 }", + description = "Gold" }, { - name = "RayCollision", - description = "RayCollision, ray hit information", - fields = { - { - type = "bool", - name = "hit", - description = "Did the ray hit something?" - }, + name = "ORANGE", + type = "COLOR", + value = "CLITERAL(Color){ 255, 161, 0, 255 }", + description = "Orange" + }, + { + name = "PINK", + type = "COLOR", + value = "CLITERAL(Color){ 255, 109, 194, 255 }", + description = "Pink" + }, + { + name = "RED", + type = "COLOR", + value = "CLITERAL(Color){ 230, 41, 55, 255 }", + description = "Red" + }, + { + name = "MAROON", + type = "COLOR", + value = "CLITERAL(Color){ 190, 33, 55, 255 }", + description = "Maroon" + }, + { + name = "GREEN", + type = "COLOR", + value = "CLITERAL(Color){ 0, 228, 48, 255 }", + description = "Green" + }, + { + name = "LIME", + type = "COLOR", + value = "CLITERAL(Color){ 0, 158, 47, 255 }", + description = "Lime" + }, + { + name = "DARKGREEN", + type = "COLOR", + value = "CLITERAL(Color){ 0, 117, 44, 255 }", + description = "Dark Green" + }, + { + name = "SKYBLUE", + type = "COLOR", + value = "CLITERAL(Color){ 102, 191, 255, 255 }", + description = "Sky Blue" + }, + { + name = "BLUE", + type = "COLOR", + value = "CLITERAL(Color){ 0, 121, 241, 255 }", + description = "Blue" + }, + { + name = "DARKBLUE", + type = "COLOR", + value = "CLITERAL(Color){ 0, 82, 172, 255 }", + description = "Dark Blue" + }, + { + name = "PURPLE", + type = "COLOR", + value = "CLITERAL(Color){ 200, 122, 255, 255 }", + description = "Purple" + }, + { + name = "VIOLET", + type = "COLOR", + value = "CLITERAL(Color){ 135, 60, 190, 255 }", + description = "Violet" + }, + { + name = "DARKPURPLE", + type = "COLOR", + value = "CLITERAL(Color){ 112, 31, 126, 255 }", + description = "Dark Purple" + }, + { + name = "BEIGE", + type = "COLOR", + value = "CLITERAL(Color){ 211, 176, 131, 255 }", + description = "Beige" + }, + { + name = "BROWN", + type = "COLOR", + value = "CLITERAL(Color){ 127, 106, 79, 255 }", + description = "Brown" + }, + { + name = "DARKBROWN", + type = "COLOR", + value = "CLITERAL(Color){ 76, 63, 47, 255 }", + description = "Dark Brown" + }, + { + name = "WHITE", + type = "COLOR", + value = "CLITERAL(Color){ 255, 255, 255, 255 }", + description = "White" + }, + { + name = "BLACK", + type = "COLOR", + value = "CLITERAL(Color){ 0, 0, 0, 255 }", + description = "Black" + }, + { + name = "BLANK", + type = "COLOR", + value = "CLITERAL(Color){ 0, 0, 0, 0 }", + description = "Blank (Transparent)" + }, + { + name = "MAGENTA", + type = "COLOR", + value = "CLITERAL(Color){ 255, 0, 255, 255 }", + description = "Magenta" + }, + { + name = "RAYWHITE", + type = "COLOR", + value = "CLITERAL(Color){ 245, 245, 245, 255 }", + description = "My own White (raylib logo)" + }, + { + name = "RL_BOOL_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "MOUSE_LEFT_BUTTON", + type = "UNKNOWN", + value = "MOUSE_BUTTON_LEFT", + description = "" + }, + { + name = "MOUSE_RIGHT_BUTTON", + type = "UNKNOWN", + value = "MOUSE_BUTTON_RIGHT", + description = "" + }, + { + name = "MOUSE_MIDDLE_BUTTON", + type = "UNKNOWN", + value = "MOUSE_BUTTON_MIDDLE", + description = "" + }, + { + name = "MATERIAL_MAP_DIFFUSE", + type = "UNKNOWN", + value = "MATERIAL_MAP_ALBEDO", + description = "" + }, + { + name = "MATERIAL_MAP_SPECULAR", + type = "UNKNOWN", + value = "MATERIAL_MAP_METALNESS", + description = "" + }, + { + name = "SHADER_LOC_MAP_DIFFUSE", + type = "UNKNOWN", + value = "SHADER_LOC_MAP_ALBEDO", + description = "" + }, + { + name = "SHADER_LOC_MAP_SPECULAR", + type = "UNKNOWN", + value = "SHADER_LOC_MAP_METALNESS", + description = "" + } + }, + structs = { + { + name = "Vector2", + description = "Vector2, 2 components", + fields = { { type = "float", - name = "distance", - description = "Distance to nearest hit" - }, - { - type = "Vector3", - name = "point", - description = "Point of nearest hit" + name = "x", + description = "Vector x component" }, { - type = "Vector3", - name = "normal", - description = "Surface normal of hit" + type = "float", + name = "y", + description = "Vector y component" } } }, { - name = "BoundingBox", - description = "BoundingBox", + name = "Vector3", + description = "Vector3, 3 components", fields = { { - type = "Vector3", - name = "min", - description = "Minimum vertex box-corner" + type = "float", + name = "x", + description = "Vector x component" }, { - type = "Vector3", - name = "max", - description = "Maximum vertex box-corner" + type = "float", + name = "y", + description = "Vector y component" + }, + { + type = "float", + name = "z", + description = "Vector z component" } } }, { - name = "Wave", - description = "Wave, audio wave data", + name = "Vector4", + description = "Vector4, 4 components", fields = { { - type = "unsigned int", - name = "frameCount", - description = "Total number of frames (considering channels)" - }, - { - type = "unsigned int", - name = "sampleRate", - description = "Frequency (samples per second)" + type = "float", + name = "x", + description = "Vector x component" }, { - type = "unsigned int", - name = "sampleSize", - description = "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" + type = "float", + name = "y", + description = "Vector y component" }, { - type = "unsigned int", - name = "channels", - description = "Number of channels (1-mono, 2-stereo, ...)" + type = "float", + name = "z", + description = "Vector z component" }, { - type = "void *", - name = "data", - description = "Buffer data pointer" + type = "float", + name = "w", + description = "Vector w component" } } }, { - name = "AudioStream", - description = "AudioStream, custom audio stream", + name = "Matrix", + description = "Matrix, 4x4 components, column major, OpenGL style, right handed", fields = { { - type = "rAudioBuffer *", - name = "buffer", - description = "Pointer to internal data used by the audio system" + type = "float", + name = "m0", + description = "Matrix first row (4 components)" }, { - type = "rAudioProcessor *", - name = "processor", - description = "Pointer to internal data processor, useful for audio effects" + type = "float", + name = "m4", + description = "Matrix first row (4 components)" }, { - type = "unsigned int", - name = "sampleRate", - description = "Frequency (samples per second)" + type = "float", + name = "m8", + description = "Matrix first row (4 components)" }, { - type = "unsigned int", - name = "sampleSize", - description = "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" + type = "float", + name = "m12", + description = "Matrix first row (4 components)" }, { - type = "unsigned int", - name = "channels", - description = "Number of channels (1-mono, 2-stereo, ...)" - } - } - }, - { - name = "Sound", - description = "Sound", - fields = { + type = "float", + name = "m1", + description = "Matrix second row (4 components)" + }, { - type = "AudioStream", - name = "stream", - description = "Audio stream" + type = "float", + name = "m5", + description = "Matrix second row (4 components)" }, { - type = "unsigned int", - name = "frameCount", - description = "Total number of frames (considering channels)" - } - } - }, - { - name = "Music", - description = "Music, audio stream, anything longer than ~10 seconds should be streamed", - fields = { + type = "float", + name = "m9", + description = "Matrix second row (4 components)" + }, { - type = "AudioStream", - name = "stream", - description = "Audio stream" + type = "float", + name = "m13", + description = "Matrix second row (4 components)" }, { - type = "unsigned int", - name = "frameCount", - description = "Total number of frames (considering channels)" + type = "float", + name = "m2", + description = "Matrix third row (4 components)" }, { - type = "bool", - name = "looping", - description = "Music looping enable" + type = "float", + name = "m6", + description = "Matrix third row (4 components)" }, { - type = "int", - name = "ctxType", - description = "Type of music context (audio filetype)" + type = "float", + name = "m10", + description = "Matrix third row (4 components)" }, { - type = "void *", - name = "ctxData", - description = "Audio context data, depends on type" + type = "float", + name = "m14", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m3", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m7", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m11", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m15", + description = "Matrix fourth row (4 components)" } } }, { - name = "VrDeviceInfo", - description = "VrDeviceInfo, Head-Mounted-Display device parameters", + name = "Color", + description = "Color, 4 components, R8G8B8A8 (32bit)", fields = { { - type = "int", - name = "hResolution", - description = "Horizontal resolution in pixels" + type = "unsigned char", + name = "r", + description = "Color red value" }, { - type = "int", - name = "vResolution", - description = "Vertical resolution in pixels" + type = "unsigned char", + name = "g", + description = "Color green value" }, { - type = "float", - name = "hScreenSize", - description = "Horizontal size in meters" + type = "unsigned char", + name = "b", + description = "Color blue value" }, + { + type = "unsigned char", + name = "a", + description = "Color alpha value" + } + } + }, + { + name = "Rectangle", + description = "Rectangle, 4 components", + fields = { { type = "float", - name = "vScreenSize", - description = "Vertical size in meters" + name = "x", + description = "Rectangle top-left corner position x" }, { type = "float", - name = "vScreenCenter", - description = "Screen center in meters" + name = "y", + description = "Rectangle top-left corner position y" }, { type = "float", - name = "eyeToScreenDistance", - description = "Distance between eye and display in meters" + name = "width", + description = "Rectangle width" }, { type = "float", - name = "lensSeparationDistance", - description = "Lens separation distance in meters" + name = "height", + description = "Rectangle height" + } + } + }, + { + name = "Image", + description = "Image, pixel data stored in CPU memory (RAM)", + fields = { + { + type = "void *", + name = "data", + description = "Image raw data" }, { - type = "float", - name = "interpupillaryDistance", - description = "IPD (distance between pupils) in meters" + type = "int", + name = "width", + description = "Image base width" }, { - type = "float[4]", - name = "lensDistortionValues", - description = "Lens distortion constant parameters" + type = "int", + name = "height", + description = "Image base height" }, { - type = "float[4]", - name = "chromaAbCorrection", - description = "Chromatic aberration correction parameters" + type = "int", + name = "mipmaps", + description = "Mipmap levels, 1 by default" + }, + { + type = "int", + name = "format", + description = "Data format (PixelFormat type)" } } }, { - name = "VrStereoConfig", - description = "VrStereoConfig, VR stereo rendering configuration for simulator", + name = "Texture", + description = "Texture, tex data stored in GPU memory (VRAM)", fields = { { - type = "Matrix[2]", - name = "projection", - description = "VR projection matrices (per eye)" + type = "unsigned int", + name = "id", + description = "OpenGL texture id" }, { - type = "Matrix[2]", - name = "viewOffset", - description = "VR view offset matrices (per eye)" + type = "int", + name = "width", + description = "Texture base width" }, { - type = "float[2]", - name = "leftLensCenter", - description = "VR left lens center" + type = "int", + name = "height", + description = "Texture base height" }, { - type = "float[2]", - name = "rightLensCenter", - description = "VR right lens center" + type = "int", + name = "mipmaps", + description = "Mipmap levels, 1 by default" }, { - type = "float[2]", - name = "leftScreenCenter", - description = "VR left screen center" - }, + type = "int", + name = "format", + description = "Data format (PixelFormat type)" + } + } + }, + { + name = "RenderTexture", + description = "RenderTexture, fbo for texture rendering", + fields = { { - type = "float[2]", - name = "rightScreenCenter", - description = "VR right screen center" + type = "unsigned int", + name = "id", + description = "OpenGL framebuffer object id" }, { - type = "float[2]", - name = "scale", - description = "VR distortion scale" + type = "Texture", + name = "texture", + description = "Color buffer attachment texture" }, { - type = "float[2]", - name = "scaleIn", - description = "VR distortion scale in" + type = "Texture", + name = "depth", + description = "Depth buffer attachment texture" } } - } - }, - aliases = { - { - type = "Vector4", - name = "Quaternion", - description = "Quaternion, 4 components (Vector4 alias)" }, { - type = "Texture", - name = "Texture2D", - description = "Texture2D, same as Texture" - }, - { - type = "Texture", - name = "TextureCubemap", - description = "TextureCubemap, same as Texture" - }, - { - type = "RenderTexture", - name = "RenderTexture2D", - description = "RenderTexture2D, same as RenderTexture" - }, - { - type = "Camera3D", - name = "Camera", - description = "Camera type fallback, defaults to Camera3D" - } - }, - enums = { - { - name = "ConfigFlags", - description = "System/Window config flags", - values = { + name = "NPatchInfo", + description = "NPatchInfo, n-patch layout info", + fields = { { - name = "FLAG_VSYNC_HINT", - value = 64, - description = "Set to try enabling V-Sync on GPU" + type = "Rectangle", + name = "source", + description = "Texture source rectangle" }, { - name = "FLAG_FULLSCREEN_MODE", - value = 2, - description = "Set to run program in fullscreen" + type = "int", + name = "left", + description = "Left border offset" }, { - name = "FLAG_WINDOW_RESIZABLE", - value = 4, - description = "Set to allow resizable window" + type = "int", + name = "top", + description = "Top border offset" }, { - name = "FLAG_WINDOW_UNDECORATED", - value = 8, - description = "Set to disable window decoration (frame and buttons)" + type = "int", + name = "right", + description = "Right border offset" }, { - name = "FLAG_WINDOW_HIDDEN", - value = 128, - description = "Set to hide window" + type = "int", + name = "bottom", + description = "Bottom border offset" }, { - name = "FLAG_WINDOW_MINIMIZED", - value = 512, - description = "Set to minimize window (iconify)" + type = "int", + name = "layout", + description = "Layout of the n-patch: 3x3, 1x3 or 3x1" + } + } + }, + { + name = "GlyphInfo", + description = "GlyphInfo, font characters glyphs info", + fields = { + { + type = "int", + name = "value", + description = "Character value (Unicode)" }, { - name = "FLAG_WINDOW_MAXIMIZED", - value = 1024, - description = "Set to maximize window (expanded to monitor)" + type = "int", + name = "offsetX", + description = "Character offset X when drawing" }, { - name = "FLAG_WINDOW_UNFOCUSED", - value = 2048, - description = "Set to window non focused" + type = "int", + name = "offsetY", + description = "Character offset Y when drawing" }, { - name = "FLAG_WINDOW_TOPMOST", - value = 4096, - description = "Set to window always on top" + type = "int", + name = "advanceX", + description = "Character advance position X" }, { - name = "FLAG_WINDOW_ALWAYS_RUN", - value = 256, - description = "Set to allow windows running while minimized" + type = "Image", + name = "image", + description = "Character image data" + } + } + }, + { + name = "Font", + description = "Font, font texture and GlyphInfo array data", + fields = { + { + type = "int", + name = "baseSize", + description = "Base size (default chars height)" }, { - name = "FLAG_WINDOW_TRANSPARENT", - value = 16, - description = "Set to allow transparent framebuffer" + type = "int", + name = "glyphCount", + description = "Number of glyph characters" }, { - name = "FLAG_WINDOW_HIGHDPI", - value = 8192, - description = "Set to support HighDPI" + type = "int", + name = "glyphPadding", + description = "Padding around the glyph characters" }, { - name = "FLAG_MSAA_4X_HINT", - value = 32, - description = "Set to try enabling MSAA 4X" + type = "Texture2D", + name = "texture", + description = "Texture atlas containing the glyphs" }, { - name = "FLAG_INTERLACED_HINT", - value = 65536, - description = "Set to try enabling interlaced video format (for V3D)" + type = "Rectangle *", + name = "recs", + description = "Rectangles in texture for the glyphs" + }, + { + type = "GlyphInfo *", + name = "glyphs", + description = "Glyphs info data" } } }, { - name = "TraceLogLevel", - description = "Trace log level", - values = { + name = "Camera3D", + description = "Camera, defines position/orientation in 3d space", + fields = { { - name = "LOG_ALL", - value = 0, - description = "Display all logs" + type = "Vector3", + name = "position", + description = "Camera position" }, { - name = "LOG_TRACE", - value = 1, - description = "Trace logging, intended for internal use only" + type = "Vector3", + name = "target", + description = "Camera target it looks-at" }, { - name = "LOG_DEBUG", - value = 2, - description = "Debug logging, used for internal debugging, it should be disabled on release builds" + type = "Vector3", + name = "up", + description = "Camera up vector (rotation over its axis)" }, { - name = "LOG_INFO", - value = 3, - description = "Info logging, used for program execution info" + type = "float", + name = "fovy", + description = "Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic" }, { - name = "LOG_WARNING", - value = 4, - description = "Warning logging, used on recoverable failures" + type = "int", + name = "projection", + description = "Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC" + } + } + }, + { + name = "Camera2D", + description = "Camera2D, defines position/orientation in 2d space", + fields = { + { + type = "Vector2", + name = "offset", + description = "Camera offset (displacement from target)" }, { - name = "LOG_ERROR", - value = 5, - description = "Error logging, used on unrecoverable failures" + type = "Vector2", + name = "target", + description = "Camera target (rotation and zoom origin)" }, { - name = "LOG_FATAL", - value = 6, - description = "Fatal logging, used to abort program: exit(EXIT_FAILURE)" + type = "float", + name = "rotation", + description = "Camera rotation in degrees" }, { - name = "LOG_NONE", - value = 7, - description = "Disable logging" + type = "float", + name = "zoom", + description = "Camera zoom (scaling), should be 1.0f by default" } } }, { - name = "KeyboardKey", - description = "Keyboard keys (US keyboard layout)", - values = { - { - name = "KEY_NULL", - value = 0, - description = "Key: NULL, used for no key pressed" - }, + name = "Mesh", + description = "Mesh, vertex data and vao/vbo", + fields = { { - name = "KEY_APOSTROPHE", - value = 39, - description = "Key: '" + type = "int", + name = "vertexCount", + description = "Number of vertices stored in arrays" }, { - name = "KEY_COMMA", - value = 44, - description = "Key: ," + type = "int", + name = "triangleCount", + description = "Number of triangles stored (indexed or not)" }, { - name = "KEY_MINUS", - value = 45, - description = "Key: -" + type = "float *", + name = "vertices", + description = "Vertex position (XYZ - 3 components per vertex) (shader-location = 0)" }, { - name = "KEY_PERIOD", - value = 46, - description = "Key: ." + type = "float *", + name = "texcoords", + description = "Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)" }, { - name = "KEY_SLASH", - value = 47, - description = "Key: /" + type = "float *", + name = "texcoords2", + description = "Vertex texture second coordinates (UV - 2 components per vertex) (shader-location = 5)" }, { - name = "KEY_ZERO", - value = 48, - description = "Key: 0" + type = "float *", + name = "normals", + description = "Vertex normals (XYZ - 3 components per vertex) (shader-location = 2)" }, { - name = "KEY_ONE", - value = 49, - description = "Key: 1" + type = "float *", + name = "tangents", + description = "Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4)" }, { - name = "KEY_TWO", - value = 50, - description = "Key: 2" + type = "unsigned char *", + name = "colors", + description = "Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)" }, { - name = "KEY_THREE", - value = 51, - description = "Key: 3" + type = "unsigned short *", + name = "indices", + description = "Vertex indices (in case vertex data comes indexed)" }, { - name = "KEY_FOUR", - value = 52, - description = "Key: 4" + type = "float *", + name = "animVertices", + description = "Animated vertex positions (after bones transformations)" }, { - name = "KEY_FIVE", - value = 53, - description = "Key: 5" + type = "float *", + name = "animNormals", + description = "Animated normals (after bones transformations)" }, { - name = "KEY_SIX", - value = 54, - description = "Key: 6" + type = "unsigned char *", + name = "boneIds", + description = "Vertex bone ids, max 255 bone ids, up to 4 bones influence by vertex (skinning)" }, { - name = "KEY_SEVEN", - value = 55, - description = "Key: 7" + type = "float *", + name = "boneWeights", + description = "Vertex bone weight, up to 4 bones influence by vertex (skinning)" }, { - name = "KEY_EIGHT", - value = 56, - description = "Key: 8" + type = "unsigned int", + name = "vaoId", + description = "OpenGL Vertex Array Object id" }, { - name = "KEY_NINE", - value = 57, - description = "Key: 9" - }, + type = "unsigned int *", + name = "vboId", + description = "OpenGL Vertex Buffer Objects id (default vertex data)" + } + } + }, + { + name = "Shader", + description = "Shader", + fields = { { - name = "KEY_SEMICOLON", - value = 59, - description = "Key: ;" + type = "unsigned int", + name = "id", + description = "Shader program id" }, { - name = "KEY_EQUAL", - value = 61, - description = "Key: =" - }, + type = "int *", + name = "locs", + description = "Shader locations array (RL_MAX_SHADER_LOCATIONS)" + } + } + }, + { + name = "MaterialMap", + description = "MaterialMap", + fields = { { - name = "KEY_A", - value = 65, - description = "Key: A | a" + type = "Texture2D", + name = "texture", + description = "Material map texture" }, { - name = "KEY_B", - value = 66, - description = "Key: B | b" + type = "Color", + name = "color", + description = "Material map color" }, { - name = "KEY_C", - value = 67, - description = "Key: C | c" - }, + type = "float", + name = "value", + description = "Material map value" + } + } + }, + { + name = "Material", + description = "Material, includes shader and maps", + fields = { { - name = "KEY_D", - value = 68, - description = "Key: D | d" + type = "Shader", + name = "shader", + description = "Material shader" }, { - name = "KEY_E", - value = 69, - description = "Key: E | e" + type = "MaterialMap *", + name = "maps", + description = "Material maps array (MAX_MATERIAL_MAPS)" }, { - name = "KEY_F", - value = 70, - description = "Key: F | f" - }, + type = "float[4]", + name = "params", + description = "Material generic parameters (if required)" + } + } + }, + { + name = "Transform", + description = "Transform, vectex transformation data", + fields = { { - name = "KEY_G", - value = 71, - description = "Key: G | g" + type = "Vector3", + name = "translation", + description = "Translation" }, { - name = "KEY_H", - value = 72, - description = "Key: H | h" + type = "Quaternion", + name = "rotation", + description = "Rotation" }, { - name = "KEY_I", - value = 73, - description = "Key: I | i" - }, + type = "Vector3", + name = "scale", + description = "Scale" + } + } + }, + { + name = "BoneInfo", + description = "Bone, skeletal animation bone", + fields = { { - name = "KEY_J", - value = 74, - description = "Key: J | j" + type = "char[32]", + name = "name", + description = "Bone name" }, { - name = "KEY_K", - value = 75, - description = "Key: K | k" - }, + type = "int", + name = "parent", + description = "Bone parent" + } + } + }, + { + name = "Model", + description = "Model, meshes, materials and animation data", + fields = { { - name = "KEY_L", - value = 76, - description = "Key: L | l" + type = "Matrix", + name = "transform", + description = "Local transform matrix" }, { - name = "KEY_M", - value = 77, - description = "Key: M | m" + type = "int", + name = "meshCount", + description = "Number of meshes" }, { - name = "KEY_N", - value = 78, - description = "Key: N | n" + type = "int", + name = "materialCount", + description = "Number of materials" }, { - name = "KEY_O", - value = 79, - description = "Key: O | o" + type = "Mesh *", + name = "meshes", + description = "Meshes array" }, { - name = "KEY_P", - value = 80, - description = "Key: P | p" + type = "Material *", + name = "materials", + description = "Materials array" }, { - name = "KEY_Q", - value = 81, - description = "Key: Q | q" + type = "int *", + name = "meshMaterial", + description = "Mesh material number" }, { - name = "KEY_R", - value = 82, - description = "Key: R | r" + type = "int", + name = "boneCount", + description = "Number of bones" }, { - name = "KEY_S", - value = 83, - description = "Key: S | s" + type = "BoneInfo *", + name = "bones", + description = "Bones information (skeleton)" }, { - name = "KEY_T", - value = 84, - description = "Key: T | t" - }, + type = "Transform *", + name = "bindPose", + description = "Bones base transformation (pose)" + } + } + }, + { + name = "ModelAnimation", + description = "ModelAnimation", + fields = { { - name = "KEY_U", - value = 85, - description = "Key: U | u" + type = "int", + name = "boneCount", + description = "Number of bones" }, { - name = "KEY_V", - value = 86, - description = "Key: V | v" + type = "int", + name = "frameCount", + description = "Number of animation frames" }, { - name = "KEY_W", - value = 87, - description = "Key: W | w" + type = "BoneInfo *", + name = "bones", + description = "Bones information (skeleton)" }, { - name = "KEY_X", - value = 88, - description = "Key: X | x" - }, + type = "Transform **", + name = "framePoses", + description = "Poses array by frame" + } + } + }, + { + name = "Ray", + description = "Ray, ray for raycasting", + fields = { { - name = "KEY_Y", - value = 89, - description = "Key: Y | y" + type = "Vector3", + name = "position", + description = "Ray position (origin)" }, { - name = "KEY_Z", - value = 90, - description = "Key: Z | z" - }, + type = "Vector3", + name = "direction", + description = "Ray direction" + } + } + }, + { + name = "RayCollision", + description = "RayCollision, ray hit information", + fields = { { - name = "KEY_LEFT_BRACKET", - value = 91, - description = "Key: [" + type = "bool", + name = "hit", + description = "Did the ray hit something?" }, { - name = "KEY_BACKSLASH", - value = 92, - description = "Key: '\\'" + type = "float", + name = "distance", + description = "Distance to nearest hit" }, { - name = "KEY_RIGHT_BRACKET", - value = 93, - description = "Key: ]" + type = "Vector3", + name = "point", + description = "Point of nearest hit" }, { - name = "KEY_GRAVE", - value = 96, - description = "Key: `" - }, + type = "Vector3", + name = "normal", + description = "Surface normal of hit" + } + } + }, + { + name = "BoundingBox", + description = "BoundingBox", + fields = { { - name = "KEY_SPACE", - value = 32, - description = "Key: Space" + type = "Vector3", + name = "min", + description = "Minimum vertex box-corner" }, { - name = "KEY_ESCAPE", - value = 256, - description = "Key: Esc" - }, + type = "Vector3", + name = "max", + description = "Maximum vertex box-corner" + } + } + }, + { + name = "Wave", + description = "Wave, audio wave data", + fields = { { - name = "KEY_ENTER", - value = 257, - description = "Key: Enter" + type = "unsigned int", + name = "frameCount", + description = "Total number of frames (considering channels)" }, { - name = "KEY_TAB", - value = 258, - description = "Key: Tab" + type = "unsigned int", + name = "sampleRate", + description = "Frequency (samples per second)" }, { - name = "KEY_BACKSPACE", - value = 259, - description = "Key: Backspace" + type = "unsigned int", + name = "sampleSize", + description = "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" }, { - name = "KEY_INSERT", - value = 260, - description = "Key: Ins" + type = "unsigned int", + name = "channels", + description = "Number of channels (1-mono, 2-stereo, ...)" }, { - name = "KEY_DELETE", - value = 261, - description = "Key: Del" - }, + type = "void *", + name = "data", + description = "Buffer data pointer" + } + } + }, + { + name = "AudioStream", + description = "AudioStream, custom audio stream", + fields = { { - name = "KEY_RIGHT", - value = 262, - description = "Key: Cursor right" + type = "rAudioBuffer *", + name = "buffer", + description = "Pointer to internal data used by the audio system" }, { - name = "KEY_LEFT", - value = 263, - description = "Key: Cursor left" + type = "rAudioProcessor *", + name = "processor", + description = "Pointer to internal data processor, useful for audio effects" }, { - name = "KEY_DOWN", - value = 264, - description = "Key: Cursor down" + type = "unsigned int", + name = "sampleRate", + description = "Frequency (samples per second)" }, { - name = "KEY_UP", - value = 265, - description = "Key: Cursor up" + type = "unsigned int", + name = "sampleSize", + description = "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" }, { - name = "KEY_PAGE_UP", - value = 266, - description = "Key: Page up" - }, + type = "unsigned int", + name = "channels", + description = "Number of channels (1-mono, 2-stereo, ...)" + } + } + }, + { + name = "Sound", + description = "Sound", + fields = { { - name = "KEY_PAGE_DOWN", - value = 267, - description = "Key: Page down" + type = "AudioStream", + name = "stream", + description = "Audio stream" }, { - name = "KEY_HOME", - value = 268, - description = "Key: Home" - }, + type = "unsigned int", + name = "frameCount", + description = "Total number of frames (considering channels)" + } + } + }, + { + name = "Music", + description = "Music, audio stream, anything longer than ~10 seconds should be streamed", + fields = { { - name = "KEY_END", - value = 269, - description = "Key: End" + type = "AudioStream", + name = "stream", + description = "Audio stream" }, { - name = "KEY_CAPS_LOCK", - value = 280, - description = "Key: Caps lock" + type = "unsigned int", + name = "frameCount", + description = "Total number of frames (considering channels)" }, { - name = "KEY_SCROLL_LOCK", - value = 281, - description = "Key: Scroll down" + type = "bool", + name = "looping", + description = "Music looping enable" }, { - name = "KEY_NUM_LOCK", - value = 282, - description = "Key: Num lock" + type = "int", + name = "ctxType", + description = "Type of music context (audio filetype)" }, { - name = "KEY_PRINT_SCREEN", - value = 283, - description = "Key: Print screen" - }, + type = "void *", + name = "ctxData", + description = "Audio context data, depends on type" + } + } + }, + { + name = "VrDeviceInfo", + description = "VrDeviceInfo, Head-Mounted-Display device parameters", + fields = { { - name = "KEY_PAUSE", - value = 284, - description = "Key: Pause" + type = "int", + name = "hResolution", + description = "Horizontal resolution in pixels" }, { - name = "KEY_F1", - value = 290, - description = "Key: F1" + type = "int", + name = "vResolution", + description = "Vertical resolution in pixels" }, { - name = "KEY_F2", - value = 291, - description = "Key: F2" + type = "float", + name = "hScreenSize", + description = "Horizontal size in meters" }, { - name = "KEY_F3", - value = 292, - description = "Key: F3" + type = "float", + name = "vScreenSize", + description = "Vertical size in meters" }, { - name = "KEY_F4", - value = 293, - description = "Key: F4" + type = "float", + name = "vScreenCenter", + description = "Screen center in meters" }, { - name = "KEY_F5", - value = 294, - description = "Key: F5" + type = "float", + name = "eyeToScreenDistance", + description = "Distance between eye and display in meters" }, { - name = "KEY_F6", - value = 295, - description = "Key: F6" - }, - { - name = "KEY_F7", - value = 296, - description = "Key: F7" + type = "float", + name = "lensSeparationDistance", + description = "Lens separation distance in meters" }, { - name = "KEY_F8", - value = 297, - description = "Key: F8" + type = "float", + name = "interpupillaryDistance", + description = "IPD (distance between pupils) in meters" }, { - name = "KEY_F9", - value = 298, - description = "Key: F9" + type = "float[4]", + name = "lensDistortionValues", + description = "Lens distortion constant parameters" }, { - name = "KEY_F10", - value = 299, - description = "Key: F10" - }, + type = "float[4]", + name = "chromaAbCorrection", + description = "Chromatic aberration correction parameters" + } + } + }, + { + name = "VrStereoConfig", + description = "VrStereoConfig, VR stereo rendering configuration for simulator", + fields = { { - name = "KEY_F11", - value = 300, - description = "Key: F11" + type = "Matrix[2]", + name = "projection", + description = "VR projection matrices (per eye)" }, { - name = "KEY_F12", - value = 301, - description = "Key: F12" + type = "Matrix[2]", + name = "viewOffset", + description = "VR view offset matrices (per eye)" }, { - name = "KEY_LEFT_SHIFT", - value = 340, - description = "Key: Shift left" + type = "float[2]", + name = "leftLensCenter", + description = "VR left lens center" }, { - name = "KEY_LEFT_CONTROL", - value = 341, - description = "Key: Control left" + type = "float[2]", + name = "rightLensCenter", + description = "VR right lens center" }, { - name = "KEY_LEFT_ALT", - value = 342, - description = "Key: Alt left" + type = "float[2]", + name = "leftScreenCenter", + description = "VR left screen center" }, { - name = "KEY_LEFT_SUPER", - value = 343, - description = "Key: Super left" + type = "float[2]", + name = "rightScreenCenter", + description = "VR right screen center" }, { - name = "KEY_RIGHT_SHIFT", - value = 344, - description = "Key: Shift right" + type = "float[2]", + name = "scale", + description = "VR distortion scale" }, { - name = "KEY_RIGHT_CONTROL", - value = 345, - description = "Key: Control right" - }, + type = "float[2]", + name = "scaleIn", + description = "VR distortion scale in" + } + } + } + }, + aliases = { + { + type = "Vector4", + name = "Quaternion", + description = "Quaternion, 4 components (Vector4 alias)" + }, + { + type = "Texture", + name = "Texture2D", + description = "Texture2D, same as Texture" + }, + { + type = "Texture", + name = "TextureCubemap", + description = "TextureCubemap, same as Texture" + }, + { + type = "RenderTexture", + name = "RenderTexture2D", + description = "RenderTexture2D, same as RenderTexture" + }, + { + type = "Camera3D", + name = "Camera", + description = "Camera type fallback, defaults to Camera3D" + } + }, + enums = { + { + name = "ConfigFlags", + description = "System/Window config flags", + values = { { - name = "KEY_RIGHT_ALT", - value = 346, - description = "Key: Alt right" + name = "FLAG_VSYNC_HINT", + value = 64, + description = "Set to try enabling V-Sync on GPU" }, { - name = "KEY_RIGHT_SUPER", - value = 347, - description = "Key: Super right" + name = "FLAG_FULLSCREEN_MODE", + value = 2, + description = "Set to run program in fullscreen" }, { - name = "KEY_KB_MENU", - value = 348, - description = "Key: KB menu" + name = "FLAG_WINDOW_RESIZABLE", + value = 4, + description = "Set to allow resizable window" }, { - name = "KEY_KP_0", - value = 320, - description = "Key: Keypad 0" + name = "FLAG_WINDOW_UNDECORATED", + value = 8, + description = "Set to disable window decoration (frame and buttons)" }, { - name = "KEY_KP_1", - value = 321, - description = "Key: Keypad 1" + name = "FLAG_WINDOW_HIDDEN", + value = 128, + description = "Set to hide window" }, { - name = "KEY_KP_2", - value = 322, - description = "Key: Keypad 2" + name = "FLAG_WINDOW_MINIMIZED", + value = 512, + description = "Set to minimize window (iconify)" }, { - name = "KEY_KP_3", - value = 323, - description = "Key: Keypad 3" + name = "FLAG_WINDOW_MAXIMIZED", + value = 1024, + description = "Set to maximize window (expanded to monitor)" }, { - name = "KEY_KP_4", - value = 324, - description = "Key: Keypad 4" + name = "FLAG_WINDOW_UNFOCUSED", + value = 2048, + description = "Set to window non focused" }, { - name = "KEY_KP_5", - value = 325, - description = "Key: Keypad 5" + name = "FLAG_WINDOW_TOPMOST", + value = 4096, + description = "Set to window always on top" }, { - name = "KEY_KP_6", - value = 326, - description = "Key: Keypad 6" + name = "FLAG_WINDOW_ALWAYS_RUN", + value = 256, + description = "Set to allow windows running while minimized" }, { - name = "KEY_KP_7", - value = 327, - description = "Key: Keypad 7" + name = "FLAG_WINDOW_TRANSPARENT", + value = 16, + description = "Set to allow transparent framebuffer" }, { - name = "KEY_KP_8", - value = 328, - description = "Key: Keypad 8" + name = "FLAG_WINDOW_HIGHDPI", + value = 8192, + description = "Set to support HighDPI" }, { - name = "KEY_KP_9", - value = 329, - description = "Key: Keypad 9" + name = "FLAG_MSAA_4X_HINT", + value = 32, + description = "Set to try enabling MSAA 4X" }, { - name = "KEY_KP_DECIMAL", - value = 330, - description = "Key: Keypad ." - }, + name = "FLAG_INTERLACED_HINT", + value = 65536, + description = "Set to try enabling interlaced video format (for V3D)" + } + } + }, + { + name = "TraceLogLevel", + description = "Trace log level", + values = { { - name = "KEY_KP_DIVIDE", - value = 331, - description = "Key: Keypad /" + name = "LOG_ALL", + value = 0, + description = "Display all logs" }, { - name = "KEY_KP_MULTIPLY", - value = 332, - description = "Key: Keypad *" + name = "LOG_TRACE", + value = 1, + description = "Trace logging, intended for internal use only" }, { - name = "KEY_KP_SUBTRACT", - value = 333, - description = "Key: Keypad -" + name = "LOG_DEBUG", + value = 2, + description = "Debug logging, used for internal debugging, it should be disabled on release builds" }, { - name = "KEY_KP_ADD", - value = 334, - description = "Key: Keypad +" + name = "LOG_INFO", + value = 3, + description = "Info logging, used for program execution info" }, { - name = "KEY_KP_ENTER", - value = 335, - description = "Key: Keypad Enter" + name = "LOG_WARNING", + value = 4, + description = "Warning logging, used on recoverable failures" }, { - name = "KEY_KP_EQUAL", - value = 336, - description = "Key: Keypad =" + name = "LOG_ERROR", + value = 5, + description = "Error logging, used on unrecoverable failures" }, { - name = "KEY_BACK", - value = 4, - description = "Key: Android back button" + name = "LOG_FATAL", + value = 6, + description = "Fatal logging, used to abort program: exit(EXIT_FAILURE)" }, { - name = "KEY_MENU", - value = 82, - description = "Key: Android menu button" - }, - { - name = "KEY_VOLUME_UP", - value = 24, - description = "Key: Android volume up button" - }, - { - name = "KEY_VOLUME_DOWN", - value = 25, - description = "Key: Android volume down button" + name = "LOG_NONE", + value = 7, + description = "Disable logging" } } }, { - name = "MouseButton", - description = "Mouse buttons", + name = "KeyboardKey", + description = "Keyboard keys (US keyboard layout)", values = { { - name = "MOUSE_BUTTON_LEFT", + name = "KEY_NULL", value = 0, - description = "Mouse button left" + description = "Key: NULL, used for no key pressed" }, { - name = "MOUSE_BUTTON_RIGHT", - value = 1, - description = "Mouse button right" + name = "KEY_APOSTROPHE", + value = 39, + description = "Key: '" }, { - name = "MOUSE_BUTTON_MIDDLE", - value = 2, - description = "Mouse button middle (pressed wheel)" + name = "KEY_COMMA", + value = 44, + description = "Key: ," }, { - name = "MOUSE_BUTTON_SIDE", - value = 3, - description = "Mouse button side (advanced mouse device)" + name = "KEY_MINUS", + value = 45, + description = "Key: -" }, { - name = "MOUSE_BUTTON_EXTRA", - value = 4, - description = "Mouse button extra (advanced mouse device)" + name = "KEY_PERIOD", + value = 46, + description = "Key: ." }, { - name = "MOUSE_BUTTON_FORWARD", - value = 5, - description = "Mouse button fordward (advanced mouse device)" + name = "KEY_SLASH", + value = 47, + description = "Key: /" }, { - name = "MOUSE_BUTTON_BACK", - value = 6, - description = "Mouse button back (advanced mouse device)" - } - } - }, - { - name = "MouseCursor", - description = "Mouse cursor", - values = { - { - name = "MOUSE_CURSOR_DEFAULT", - value = 0, - description = "Default pointer shape" + name = "KEY_ZERO", + value = 48, + description = "Key: 0" }, { - name = "MOUSE_CURSOR_ARROW", - value = 1, - description = "Arrow shape" + name = "KEY_ONE", + value = 49, + description = "Key: 1" }, { - name = "MOUSE_CURSOR_IBEAM", - value = 2, - description = "Text writing cursor shape" + name = "KEY_TWO", + value = 50, + description = "Key: 2" }, { - name = "MOUSE_CURSOR_CROSSHAIR", - value = 3, - description = "Cross shape" + name = "KEY_THREE", + value = 51, + description = "Key: 3" }, { - name = "MOUSE_CURSOR_POINTING_HAND", - value = 4, - description = "Pointing hand cursor" + name = "KEY_FOUR", + value = 52, + description = "Key: 4" }, { - name = "MOUSE_CURSOR_RESIZE_EW", - value = 5, - description = "Horizontal resize/move arrow shape" + name = "KEY_FIVE", + value = 53, + description = "Key: 5" }, { - name = "MOUSE_CURSOR_RESIZE_NS", - value = 6, - description = "Vertical resize/move arrow shape" + name = "KEY_SIX", + value = 54, + description = "Key: 6" }, { - name = "MOUSE_CURSOR_RESIZE_NWSE", - value = 7, - description = "Top-left to bottom-right diagonal resize/move arrow shape" + name = "KEY_SEVEN", + value = 55, + description = "Key: 7" }, { - name = "MOUSE_CURSOR_RESIZE_NESW", - value = 8, - description = "The top-right to bottom-left diagonal resize/move arrow shape" + name = "KEY_EIGHT", + value = 56, + description = "Key: 8" }, { - name = "MOUSE_CURSOR_RESIZE_ALL", - value = 9, - description = "The omni-directional resize/move cursor shape" + name = "KEY_NINE", + value = 57, + description = "Key: 9" }, { - name = "MOUSE_CURSOR_NOT_ALLOWED", - value = 10, - description = "The operation-not-allowed shape" - } - } - }, - { - name = "GamepadButton", - description = "Gamepad buttons", - values = { - { - name = "GAMEPAD_BUTTON_UNKNOWN", - value = 0, - description = "Unknown button, just for error checking" + name = "KEY_SEMICOLON", + value = 59, + description = "Key: ;" }, { - name = "GAMEPAD_BUTTON_LEFT_FACE_UP", - value = 1, - description = "Gamepad left DPAD up button" + name = "KEY_EQUAL", + value = 61, + description = "Key: =" }, { - name = "GAMEPAD_BUTTON_LEFT_FACE_RIGHT", - value = 2, - description = "Gamepad left DPAD right button" + name = "KEY_A", + value = 65, + description = "Key: A | a" }, { - name = "GAMEPAD_BUTTON_LEFT_FACE_DOWN", - value = 3, - description = "Gamepad left DPAD down button" + name = "KEY_B", + value = 66, + description = "Key: B | b" }, { - name = "GAMEPAD_BUTTON_LEFT_FACE_LEFT", - value = 4, - description = "Gamepad left DPAD left button" + name = "KEY_C", + value = 67, + description = "Key: C | c" }, { - name = "GAMEPAD_BUTTON_RIGHT_FACE_UP", - value = 5, - description = "Gamepad right button up (i.e. PS3: Triangle, Xbox: Y)" + name = "KEY_D", + value = 68, + description = "Key: D | d" }, { - name = "GAMEPAD_BUTTON_RIGHT_FACE_RIGHT", - value = 6, - description = "Gamepad right button right (i.e. PS3: Square, Xbox: X)" + name = "KEY_E", + value = 69, + description = "Key: E | e" }, { - name = "GAMEPAD_BUTTON_RIGHT_FACE_DOWN", - value = 7, - description = "Gamepad right button down (i.e. PS3: Cross, Xbox: A)" + name = "KEY_F", + value = 70, + description = "Key: F | f" }, { - name = "GAMEPAD_BUTTON_RIGHT_FACE_LEFT", - value = 8, - description = "Gamepad right button left (i.e. PS3: Circle, Xbox: B)" + name = "KEY_G", + value = 71, + description = "Key: G | g" }, { - name = "GAMEPAD_BUTTON_LEFT_TRIGGER_1", - value = 9, - description = "Gamepad top/back trigger left (first), it could be a trailing button" + name = "KEY_H", + value = 72, + description = "Key: H | h" }, { - name = "GAMEPAD_BUTTON_LEFT_TRIGGER_2", - value = 10, - description = "Gamepad top/back trigger left (second), it could be a trailing button" + name = "KEY_I", + value = 73, + description = "Key: I | i" }, { - name = "GAMEPAD_BUTTON_RIGHT_TRIGGER_1", - value = 11, - description = "Gamepad top/back trigger right (one), it could be a trailing button" + name = "KEY_J", + value = 74, + description = "Key: J | j" }, { - name = "GAMEPAD_BUTTON_RIGHT_TRIGGER_2", - value = 12, - description = "Gamepad top/back trigger right (second), it could be a trailing button" + name = "KEY_K", + value = 75, + description = "Key: K | k" }, { - name = "GAMEPAD_BUTTON_MIDDLE_LEFT", - value = 13, - description = "Gamepad center buttons, left one (i.e. PS3: Select)" + name = "KEY_L", + value = 76, + description = "Key: L | l" }, { - name = "GAMEPAD_BUTTON_MIDDLE", - value = 14, - description = "Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX)" + name = "KEY_M", + value = 77, + description = "Key: M | m" }, { - name = "GAMEPAD_BUTTON_MIDDLE_RIGHT", - value = 15, - description = "Gamepad center buttons, right one (i.e. PS3: Start)" + name = "KEY_N", + value = 78, + description = "Key: N | n" }, { - name = "GAMEPAD_BUTTON_LEFT_THUMB", - value = 16, - description = "Gamepad joystick pressed button left" + name = "KEY_O", + value = 79, + description = "Key: O | o" }, { - name = "GAMEPAD_BUTTON_RIGHT_THUMB", - value = 17, - description = "Gamepad joystick pressed button right" - } - } - }, - { - name = "GamepadAxis", - description = "Gamepad axis", - values = { + name = "KEY_P", + value = 80, + description = "Key: P | p" + }, { - name = "GAMEPAD_AXIS_LEFT_X", - value = 0, - description = "Gamepad left stick X axis" + name = "KEY_Q", + value = 81, + description = "Key: Q | q" }, { - name = "GAMEPAD_AXIS_LEFT_Y", - value = 1, - description = "Gamepad left stick Y axis" + name = "KEY_R", + value = 82, + description = "Key: R | r" }, { - name = "GAMEPAD_AXIS_RIGHT_X", - value = 2, - description = "Gamepad right stick X axis" + name = "KEY_S", + value = 83, + description = "Key: S | s" }, { - name = "GAMEPAD_AXIS_RIGHT_Y", - value = 3, - description = "Gamepad right stick Y axis" + name = "KEY_T", + value = 84, + description = "Key: T | t" }, { - name = "GAMEPAD_AXIS_LEFT_TRIGGER", - value = 4, - description = "Gamepad back trigger left, pressure level: [1..-1]" + name = "KEY_U", + value = 85, + description = "Key: U | u" }, { - name = "GAMEPAD_AXIS_RIGHT_TRIGGER", - value = 5, - description = "Gamepad back trigger right, pressure level: [1..-1]" - } - } - }, - { - name = "MaterialMapIndex", - description = "Material map index", - values = { - { - name = "MATERIAL_MAP_ALBEDO", - value = 0, - description = "Albedo material (same as: MATERIAL_MAP_DIFFUSE)" + name = "KEY_V", + value = 86, + description = "Key: V | v" }, { - name = "MATERIAL_MAP_METALNESS", - value = 1, - description = "Metalness material (same as: MATERIAL_MAP_SPECULAR)" + name = "KEY_W", + value = 87, + description = "Key: W | w" }, { - name = "MATERIAL_MAP_NORMAL", - value = 2, - description = "Normal material" + name = "KEY_X", + value = 88, + description = "Key: X | x" }, { - name = "MATERIAL_MAP_ROUGHNESS", - value = 3, - description = "Roughness material" + name = "KEY_Y", + value = 89, + description = "Key: Y | y" }, { - name = "MATERIAL_MAP_OCCLUSION", - value = 4, - description = "Ambient occlusion material" + name = "KEY_Z", + value = 90, + description = "Key: Z | z" }, { - name = "MATERIAL_MAP_EMISSION", - value = 5, - description = "Emission material" + name = "KEY_LEFT_BRACKET", + value = 91, + description = "Key: [" }, { - name = "MATERIAL_MAP_HEIGHT", - value = 6, - description = "Heightmap material" + name = "KEY_BACKSLASH", + value = 92, + description = "Key: '\\'" }, { - name = "MATERIAL_MAP_CUBEMAP", - value = 7, - description = "Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + name = "KEY_RIGHT_BRACKET", + value = 93, + description = "Key: ]" }, { - name = "MATERIAL_MAP_IRRADIANCE", - value = 8, - description = "Irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + name = "KEY_GRAVE", + value = 96, + description = "Key: `" }, { - name = "MATERIAL_MAP_PREFILTER", - value = 9, - description = "Prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + name = "KEY_SPACE", + value = 32, + description = "Key: Space" }, { - name = "MATERIAL_MAP_BRDF", - value = 10, - description = "Brdf material" - } - } - }, - { - name = "ShaderLocationIndex", - description = "Shader location index", - values = { - { - name = "SHADER_LOC_VERTEX_POSITION", - value = 0, - description = "Shader location: vertex attribute: position" + name = "KEY_ESCAPE", + value = 256, + description = "Key: Esc" }, { - name = "SHADER_LOC_VERTEX_TEXCOORD01", - value = 1, - description = "Shader location: vertex attribute: texcoord01" + name = "KEY_ENTER", + value = 257, + description = "Key: Enter" }, { - name = "SHADER_LOC_VERTEX_TEXCOORD02", - value = 2, - description = "Shader location: vertex attribute: texcoord02" + name = "KEY_TAB", + value = 258, + description = "Key: Tab" }, { - name = "SHADER_LOC_VERTEX_NORMAL", - value = 3, - description = "Shader location: vertex attribute: normal" + name = "KEY_BACKSPACE", + value = 259, + description = "Key: Backspace" }, { - name = "SHADER_LOC_VERTEX_TANGENT", - value = 4, - description = "Shader location: vertex attribute: tangent" + name = "KEY_INSERT", + value = 260, + description = "Key: Ins" }, { - name = "SHADER_LOC_VERTEX_COLOR", - value = 5, - description = "Shader location: vertex attribute: color" + name = "KEY_DELETE", + value = 261, + description = "Key: Del" }, { - name = "SHADER_LOC_MATRIX_MVP", - value = 6, - description = "Shader location: matrix uniform: model-view-projection" + name = "KEY_RIGHT", + value = 262, + description = "Key: Cursor right" }, { - name = "SHADER_LOC_MATRIX_VIEW", - value = 7, - description = "Shader location: matrix uniform: view (camera transform)" + name = "KEY_LEFT", + value = 263, + description = "Key: Cursor left" }, { - name = "SHADER_LOC_MATRIX_PROJECTION", - value = 8, - description = "Shader location: matrix uniform: projection" + name = "KEY_DOWN", + value = 264, + description = "Key: Cursor down" }, { - name = "SHADER_LOC_MATRIX_MODEL", - value = 9, - description = "Shader location: matrix uniform: model (transform)" + name = "KEY_UP", + value = 265, + description = "Key: Cursor up" }, { - name = "SHADER_LOC_MATRIX_NORMAL", - value = 10, - description = "Shader location: matrix uniform: normal" + name = "KEY_PAGE_UP", + value = 266, + description = "Key: Page up" }, { - name = "SHADER_LOC_VECTOR_VIEW", - value = 11, - description = "Shader location: vector uniform: view" + name = "KEY_PAGE_DOWN", + value = 267, + description = "Key: Page down" }, { - name = "SHADER_LOC_COLOR_DIFFUSE", - value = 12, - description = "Shader location: vector uniform: diffuse color" + name = "KEY_HOME", + value = 268, + description = "Key: Home" }, { - name = "SHADER_LOC_COLOR_SPECULAR", - value = 13, - description = "Shader location: vector uniform: specular color" + name = "KEY_END", + value = 269, + description = "Key: End" }, { - name = "SHADER_LOC_COLOR_AMBIENT", - value = 14, - description = "Shader location: vector uniform: ambient color" + name = "KEY_CAPS_LOCK", + value = 280, + description = "Key: Caps lock" }, { - name = "SHADER_LOC_MAP_ALBEDO", - value = 15, - description = "Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE)" + name = "KEY_SCROLL_LOCK", + value = 281, + description = "Key: Scroll down" }, { - name = "SHADER_LOC_MAP_METALNESS", - value = 16, - description = "Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR)" + name = "KEY_NUM_LOCK", + value = 282, + description = "Key: Num lock" }, { - name = "SHADER_LOC_MAP_NORMAL", - value = 17, - description = "Shader location: sampler2d texture: normal" + name = "KEY_PRINT_SCREEN", + value = 283, + description = "Key: Print screen" }, { - name = "SHADER_LOC_MAP_ROUGHNESS", - value = 18, - description = "Shader location: sampler2d texture: roughness" + name = "KEY_PAUSE", + value = 284, + description = "Key: Pause" }, { - name = "SHADER_LOC_MAP_OCCLUSION", - value = 19, - description = "Shader location: sampler2d texture: occlusion" + name = "KEY_F1", + value = 290, + description = "Key: F1" }, { - name = "SHADER_LOC_MAP_EMISSION", - value = 20, - description = "Shader location: sampler2d texture: emission" + name = "KEY_F2", + value = 291, + description = "Key: F2" }, { - name = "SHADER_LOC_MAP_HEIGHT", - value = 21, - description = "Shader location: sampler2d texture: height" + name = "KEY_F3", + value = 292, + description = "Key: F3" }, { - name = "SHADER_LOC_MAP_CUBEMAP", - value = 22, - description = "Shader location: samplerCube texture: cubemap" + name = "KEY_F4", + value = 293, + description = "Key: F4" }, { - name = "SHADER_LOC_MAP_IRRADIANCE", - value = 23, - description = "Shader location: samplerCube texture: irradiance" + name = "KEY_F5", + value = 294, + description = "Key: F5" }, { - name = "SHADER_LOC_MAP_PREFILTER", - value = 24, - description = "Shader location: samplerCube texture: prefilter" + name = "KEY_F6", + value = 295, + description = "Key: F6" }, { - name = "SHADER_LOC_MAP_BRDF", - value = 25, - description = "Shader location: sampler2d texture: brdf" - } - } - }, - { - name = "ShaderUniformDataType", - description = "Shader uniform data type", - values = { + name = "KEY_F7", + value = 296, + description = "Key: F7" + }, { - name = "SHADER_UNIFORM_FLOAT", - value = 0, - description = "Shader uniform type: float" + name = "KEY_F8", + value = 297, + description = "Key: F8" }, { - name = "SHADER_UNIFORM_VEC2", - value = 1, - description = "Shader uniform type: vec2 (2 float)" + name = "KEY_F9", + value = 298, + description = "Key: F9" }, { - name = "SHADER_UNIFORM_VEC3", - value = 2, - description = "Shader uniform type: vec3 (3 float)" + name = "KEY_F10", + value = 299, + description = "Key: F10" }, { - name = "SHADER_UNIFORM_VEC4", - value = 3, - description = "Shader uniform type: vec4 (4 float)" + name = "KEY_F11", + value = 300, + description = "Key: F11" }, { - name = "SHADER_UNIFORM_INT", - value = 4, - description = "Shader uniform type: int" + name = "KEY_F12", + value = 301, + description = "Key: F12" }, { - name = "SHADER_UNIFORM_IVEC2", - value = 5, - description = "Shader uniform type: ivec2 (2 int)" + name = "KEY_LEFT_SHIFT", + value = 340, + description = "Key: Shift left" }, { - name = "SHADER_UNIFORM_IVEC3", - value = 6, - description = "Shader uniform type: ivec3 (3 int)" + name = "KEY_LEFT_CONTROL", + value = 341, + description = "Key: Control left" }, { - name = "SHADER_UNIFORM_IVEC4", - value = 7, - description = "Shader uniform type: ivec4 (4 int)" + name = "KEY_LEFT_ALT", + value = 342, + description = "Key: Alt left" }, { - name = "SHADER_UNIFORM_SAMPLER2D", - value = 8, - description = "Shader uniform type: sampler2d" - } - } - }, - { - name = "ShaderAttributeDataType", - description = "Shader attribute data types", - values = { + name = "KEY_LEFT_SUPER", + value = 343, + description = "Key: Super left" + }, { - name = "SHADER_ATTRIB_FLOAT", - value = 0, - description = "Shader attribute type: float" + name = "KEY_RIGHT_SHIFT", + value = 344, + description = "Key: Shift right" }, { - name = "SHADER_ATTRIB_VEC2", - value = 1, - description = "Shader attribute type: vec2 (2 float)" + name = "KEY_RIGHT_CONTROL", + value = 345, + description = "Key: Control right" }, { - name = "SHADER_ATTRIB_VEC3", - value = 2, - description = "Shader attribute type: vec3 (3 float)" + name = "KEY_RIGHT_ALT", + value = 346, + description = "Key: Alt right" }, { - name = "SHADER_ATTRIB_VEC4", - value = 3, - description = "Shader attribute type: vec4 (4 float)" - } - } - }, - { - name = "PixelFormat", - description = "Pixel formats", - values = { + name = "KEY_RIGHT_SUPER", + value = 347, + description = "Key: Super right" + }, { - name = "PIXELFORMAT_UNCOMPRESSED_GRAYSCALE", - value = 1, - description = "8 bit per pixel (no alpha)" + name = "KEY_KB_MENU", + value = 348, + description = "Key: KB menu" }, { - name = "PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA", - value = 2, - description = "8*2 bpp (2 channels)" + name = "KEY_KP_0", + value = 320, + description = "Key: Keypad 0" }, { - name = "PIXELFORMAT_UNCOMPRESSED_R5G6B5", - value = 3, - description = "16 bpp" + name = "KEY_KP_1", + value = 321, + description = "Key: Keypad 1" }, { - name = "PIXELFORMAT_UNCOMPRESSED_R8G8B8", - value = 4, - description = "24 bpp" + name = "KEY_KP_2", + value = 322, + description = "Key: Keypad 2" }, { - name = "PIXELFORMAT_UNCOMPRESSED_R5G5B5A1", - value = 5, - description = "16 bpp (1 bit alpha)" + name = "KEY_KP_3", + value = 323, + description = "Key: Keypad 3" }, { - name = "PIXELFORMAT_UNCOMPRESSED_R4G4B4A4", - value = 6, - description = "16 bpp (4 bit alpha)" + name = "KEY_KP_4", + value = 324, + description = "Key: Keypad 4" }, { - name = "PIXELFORMAT_UNCOMPRESSED_R8G8B8A8", - value = 7, - description = "32 bpp" + name = "KEY_KP_5", + value = 325, + description = "Key: Keypad 5" }, { - name = "PIXELFORMAT_UNCOMPRESSED_R32", - value = 8, - description = "32 bpp (1 channel - float)" + name = "KEY_KP_6", + value = 326, + description = "Key: Keypad 6" }, { - name = "PIXELFORMAT_UNCOMPRESSED_R32G32B32", - value = 9, - description = "32*3 bpp (3 channels - float)" + name = "KEY_KP_7", + value = 327, + description = "Key: Keypad 7" }, { - name = "PIXELFORMAT_UNCOMPRESSED_R32G32B32A32", - value = 10, - description = "32*4 bpp (4 channels - float)" + name = "KEY_KP_8", + value = 328, + description = "Key: Keypad 8" }, { - name = "PIXELFORMAT_COMPRESSED_DXT1_RGB", - value = 11, - description = "4 bpp (no alpha)" + name = "KEY_KP_9", + value = 329, + description = "Key: Keypad 9" }, { - name = "PIXELFORMAT_COMPRESSED_DXT1_RGBA", - value = 12, - description = "4 bpp (1 bit alpha)" + name = "KEY_KP_DECIMAL", + value = 330, + description = "Key: Keypad ." }, { - name = "PIXELFORMAT_COMPRESSED_DXT3_RGBA", - value = 13, - description = "8 bpp" + name = "KEY_KP_DIVIDE", + value = 331, + description = "Key: Keypad /" }, { - name = "PIXELFORMAT_COMPRESSED_DXT5_RGBA", - value = 14, - description = "8 bpp" + name = "KEY_KP_MULTIPLY", + value = 332, + description = "Key: Keypad *" }, { - name = "PIXELFORMAT_COMPRESSED_ETC1_RGB", - value = 15, - description = "4 bpp" + name = "KEY_KP_SUBTRACT", + value = 333, + description = "Key: Keypad -" }, { - name = "PIXELFORMAT_COMPRESSED_ETC2_RGB", - value = 16, - description = "4 bpp" + name = "KEY_KP_ADD", + value = 334, + description = "Key: Keypad +" }, { - name = "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA", - value = 17, - description = "8 bpp" + name = "KEY_KP_ENTER", + value = 335, + description = "Key: Keypad Enter" }, { - name = "PIXELFORMAT_COMPRESSED_PVRT_RGB", - value = 18, - description = "4 bpp" + name = "KEY_KP_EQUAL", + value = 336, + description = "Key: Keypad =" }, { - name = "PIXELFORMAT_COMPRESSED_PVRT_RGBA", - value = 19, - description = "4 bpp" + name = "KEY_BACK", + value = 4, + description = "Key: Android back button" }, { - name = "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA", - value = 20, - description = "8 bpp" + name = "KEY_MENU", + value = 82, + description = "Key: Android menu button" }, { - name = "PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA", - value = 21, - description = "2 bpp" + name = "KEY_VOLUME_UP", + value = 24, + description = "Key: Android volume up button" + }, + { + name = "KEY_VOLUME_DOWN", + value = 25, + description = "Key: Android volume down button" } } }, { - name = "TextureFilter", - description = "Texture parameters: filter mode", + name = "MouseButton", + description = "Mouse buttons", values = { { - name = "TEXTURE_FILTER_POINT", + name = "MOUSE_BUTTON_LEFT", value = 0, - description = "No filter, just pixel approximation" + description = "Mouse button left" }, { - name = "TEXTURE_FILTER_BILINEAR", + name = "MOUSE_BUTTON_RIGHT", value = 1, - description = "Linear filtering" + description = "Mouse button right" }, { - name = "TEXTURE_FILTER_TRILINEAR", + name = "MOUSE_BUTTON_MIDDLE", value = 2, - description = "Trilinear filtering (linear with mipmaps)" + description = "Mouse button middle (pressed wheel)" }, { - name = "TEXTURE_FILTER_ANISOTROPIC_4X", + name = "MOUSE_BUTTON_SIDE", value = 3, - description = "Anisotropic filtering 4x" + description = "Mouse button side (advanced mouse device)" }, { - name = "TEXTURE_FILTER_ANISOTROPIC_8X", + name = "MOUSE_BUTTON_EXTRA", value = 4, - description = "Anisotropic filtering 8x" + description = "Mouse button extra (advanced mouse device)" }, { - name = "TEXTURE_FILTER_ANISOTROPIC_16X", + name = "MOUSE_BUTTON_FORWARD", value = 5, - description = "Anisotropic filtering 16x" + description = "Mouse button fordward (advanced mouse device)" + }, + { + name = "MOUSE_BUTTON_BACK", + value = 6, + description = "Mouse button back (advanced mouse device)" } } }, { - name = "TextureWrap", - description = "Texture parameters: wrap mode", + name = "MouseCursor", + description = "Mouse cursor", values = { { - name = "TEXTURE_WRAP_REPEAT", + name = "MOUSE_CURSOR_DEFAULT", value = 0, - description = "Repeats texture in tiled mode" + description = "Default pointer shape" }, { - name = "TEXTURE_WRAP_CLAMP", + name = "MOUSE_CURSOR_ARROW", value = 1, - description = "Clamps texture to edge pixel in tiled mode" + description = "Arrow shape" }, { - name = "TEXTURE_WRAP_MIRROR_REPEAT", + name = "MOUSE_CURSOR_IBEAM", value = 2, - description = "Mirrors and repeats the texture in tiled mode" + description = "Text writing cursor shape" }, { - name = "TEXTURE_WRAP_MIRROR_CLAMP", + name = "MOUSE_CURSOR_CROSSHAIR", value = 3, - description = "Mirrors and clamps to border the texture in tiled mode" - } - } - }, - { - name = "CubemapLayout", - description = "Cubemap layouts", - values = { - { - name = "CUBEMAP_LAYOUT_AUTO_DETECT", - value = 0, - description = "Automatically detect layout type" + description = "Cross shape" }, { - name = "CUBEMAP_LAYOUT_LINE_VERTICAL", - value = 1, - description = "Layout is defined by a vertical line with faces" + name = "MOUSE_CURSOR_POINTING_HAND", + value = 4, + description = "Pointing hand cursor" }, { - name = "CUBEMAP_LAYOUT_LINE_HORIZONTAL", - value = 2, - description = "Layout is defined by an horizontal line with faces" + name = "MOUSE_CURSOR_RESIZE_EW", + value = 5, + description = "Horizontal resize/move arrow shape" }, { - name = "CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR", - value = 3, - description = "Layout is defined by a 3x4 cross with cubemap faces" + name = "MOUSE_CURSOR_RESIZE_NS", + value = 6, + description = "Vertical resize/move arrow shape" }, { - name = "CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE", - value = 4, - description = "Layout is defined by a 4x3 cross with cubemap faces" + name = "MOUSE_CURSOR_RESIZE_NWSE", + value = 7, + description = "Top-left to bottom-right diagonal resize/move arrow shape" }, { - name = "CUBEMAP_LAYOUT_PANORAMA", - value = 5, - description = "Layout is defined by a panorama image (equirectangular map)" - } - } - }, - { - name = "FontType", - description = "Font type, defines generation method", - values = { - { - name = "FONT_DEFAULT", - value = 0, - description = "Default font generation, anti-aliased" + name = "MOUSE_CURSOR_RESIZE_NESW", + value = 8, + description = "The top-right to bottom-left diagonal resize/move arrow shape" }, { - name = "FONT_BITMAP", - value = 1, - description = "Bitmap font generation, no anti-aliasing" + name = "MOUSE_CURSOR_RESIZE_ALL", + value = 9, + description = "The omni-directional resize/move cursor shape" }, { - name = "FONT_SDF", - value = 2, - description = "SDF font generation, requires external shader" + name = "MOUSE_CURSOR_NOT_ALLOWED", + value = 10, + description = "The operation-not-allowed shape" } } }, { - name = "BlendMode", - description = "Color blending modes (pre-defined)", + name = "GamepadButton", + description = "Gamepad buttons", values = { { - name = "BLEND_ALPHA", + name = "GAMEPAD_BUTTON_UNKNOWN", value = 0, - description = "Blend textures considering alpha (default)" + description = "Unknown button, just for error checking" }, { - name = "BLEND_ADDITIVE", + name = "GAMEPAD_BUTTON_LEFT_FACE_UP", value = 1, - description = "Blend textures adding colors" + description = "Gamepad left DPAD up button" }, { - name = "BLEND_MULTIPLIED", + name = "GAMEPAD_BUTTON_LEFT_FACE_RIGHT", value = 2, - description = "Blend textures multiplying colors" + description = "Gamepad left DPAD right button" }, { - name = "BLEND_ADD_COLORS", + name = "GAMEPAD_BUTTON_LEFT_FACE_DOWN", value = 3, - description = "Blend textures adding colors (alternative)" + description = "Gamepad left DPAD down button" }, { - name = "BLEND_SUBTRACT_COLORS", + name = "GAMEPAD_BUTTON_LEFT_FACE_LEFT", value = 4, - description = "Blend textures subtracting colors (alternative)" + description = "Gamepad left DPAD left button" }, { - name = "BLEND_ALPHA_PREMUL", + name = "GAMEPAD_BUTTON_RIGHT_FACE_UP", value = 5, - description = "Blend premultiplied textures considering alpha" + description = "Gamepad right button up (i.e. PS3: Triangle, Xbox: Y)" }, { - name = "BLEND_CUSTOM", + name = "GAMEPAD_BUTTON_RIGHT_FACE_RIGHT", value = 6, - description = "Blend textures using custom src/dst factors (use rlSetBlendMode())" - } - } - }, - { - name = "Gesture", - description = "Gesture", - values = { + description = "Gamepad right button right (i.e. PS3: Square, Xbox: X)" + }, { - name = "GESTURE_NONE", - value = 0, - description = "No gesture" + name = "GAMEPAD_BUTTON_RIGHT_FACE_DOWN", + value = 7, + description = "Gamepad right button down (i.e. PS3: Cross, Xbox: A)" }, { - name = "GESTURE_TAP", - value = 1, - description = "Tap gesture" + name = "GAMEPAD_BUTTON_RIGHT_FACE_LEFT", + value = 8, + description = "Gamepad right button left (i.e. PS3: Circle, Xbox: B)" }, { - name = "GESTURE_DOUBLETAP", - value = 2, - description = "Double tap gesture" + name = "GAMEPAD_BUTTON_LEFT_TRIGGER_1", + value = 9, + description = "Gamepad top/back trigger left (first), it could be a trailing button" }, { - name = "GESTURE_HOLD", - value = 4, - description = "Hold gesture" + name = "GAMEPAD_BUTTON_LEFT_TRIGGER_2", + value = 10, + description = "Gamepad top/back trigger left (second), it could be a trailing button" }, { - name = "GESTURE_DRAG", - value = 8, - description = "Drag gesture" + name = "GAMEPAD_BUTTON_RIGHT_TRIGGER_1", + value = 11, + description = "Gamepad top/back trigger right (one), it could be a trailing button" }, { - name = "GESTURE_SWIPE_RIGHT", - value = 16, - description = "Swipe right gesture" + name = "GAMEPAD_BUTTON_RIGHT_TRIGGER_2", + value = 12, + description = "Gamepad top/back trigger right (second), it could be a trailing button" }, { - name = "GESTURE_SWIPE_LEFT", - value = 32, - description = "Swipe left gesture" + name = "GAMEPAD_BUTTON_MIDDLE_LEFT", + value = 13, + description = "Gamepad center buttons, left one (i.e. PS3: Select)" }, { - name = "GESTURE_SWIPE_UP", - value = 64, - description = "Swipe up gesture" + name = "GAMEPAD_BUTTON_MIDDLE", + value = 14, + description = "Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX)" }, { - name = "GESTURE_SWIPE_DOWN", - value = 128, - description = "Swipe down gesture" + name = "GAMEPAD_BUTTON_MIDDLE_RIGHT", + value = 15, + description = "Gamepad center buttons, right one (i.e. PS3: Start)" }, { - name = "GESTURE_PINCH_IN", - value = 256, - description = "Pinch in gesture" + name = "GAMEPAD_BUTTON_LEFT_THUMB", + value = 16, + description = "Gamepad joystick pressed button left" }, { - name = "GESTURE_PINCH_OUT", - value = 512, - description = "Pinch out gesture" + name = "GAMEPAD_BUTTON_RIGHT_THUMB", + value = 17, + description = "Gamepad joystick pressed button right" } } }, { - name = "CameraMode", - description = "Camera system modes", + name = "GamepadAxis", + description = "Gamepad axis", values = { { - name = "CAMERA_CUSTOM", + name = "GAMEPAD_AXIS_LEFT_X", value = 0, - description = "Custom camera" + description = "Gamepad left stick X axis" }, { - name = "CAMERA_FREE", + name = "GAMEPAD_AXIS_LEFT_Y", value = 1, - description = "Free camera" + description = "Gamepad left stick Y axis" }, { - name = "CAMERA_ORBITAL", + name = "GAMEPAD_AXIS_RIGHT_X", value = 2, - description = "Orbital camera" + description = "Gamepad right stick X axis" }, { - name = "CAMERA_FIRST_PERSON", + name = "GAMEPAD_AXIS_RIGHT_Y", value = 3, - description = "First person camera" + description = "Gamepad right stick Y axis" }, { - name = "CAMERA_THIRD_PERSON", + name = "GAMEPAD_AXIS_LEFT_TRIGGER", value = 4, - description = "Third person camera" - } - } - }, - { - name = "CameraProjection", - description = "Camera projection", - values = { - { - name = "CAMERA_PERSPECTIVE", - value = 0, - description = "Perspective projection" + description = "Gamepad back trigger left, pressure level: [1..-1]" }, { - name = "CAMERA_ORTHOGRAPHIC", - value = 1, - description = "Orthographic projection" + name = "GAMEPAD_AXIS_RIGHT_TRIGGER", + value = 5, + description = "Gamepad back trigger right, pressure level: [1..-1]" } } }, { - name = "NPatchLayout", - description = "N-patch layout", + name = "MaterialMapIndex", + description = "Material map index", values = { { - name = "NPATCH_NINE_PATCH", + name = "MATERIAL_MAP_ALBEDO", value = 0, - description = "Npatch layout: 3x3 tiles" + description = "Albedo material (same as: MATERIAL_MAP_DIFFUSE)" }, { - name = "NPATCH_THREE_PATCH_VERTICAL", + name = "MATERIAL_MAP_METALNESS", value = 1, - description = "Npatch layout: 1x3 tiles" + description = "Metalness material (same as: MATERIAL_MAP_SPECULAR)" }, { - name = "NPATCH_THREE_PATCH_HORIZONTAL", + name = "MATERIAL_MAP_NORMAL", value = 2, - description = "Npatch layout: 3x1 tiles" + description = "Normal material" + }, + { + name = "MATERIAL_MAP_ROUGHNESS", + value = 3, + description = "Roughness material" + }, + { + name = "MATERIAL_MAP_OCCLUSION", + value = 4, + description = "Ambient occlusion material" + }, + { + name = "MATERIAL_MAP_EMISSION", + value = 5, + description = "Emission material" + }, + { + name = "MATERIAL_MAP_HEIGHT", + value = 6, + description = "Heightmap material" + }, + { + name = "MATERIAL_MAP_CUBEMAP", + value = 7, + description = "Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + }, + { + name = "MATERIAL_MAP_IRRADIANCE", + value = 8, + description = "Irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + }, + { + name = "MATERIAL_MAP_PREFILTER", + value = 9, + description = "Prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + }, + { + name = "MATERIAL_MAP_BRDF", + value = 10, + description = "Brdf material" } } - } - }, - defines = { - { - name = "RAYLIB_H", - type = "GUARD", - value = "", - description = "" - }, - { - name = "RAYLIB_VERSION", - type = "STRING", - value = "4.1-dev", - description = "" - }, - { - name = "RLAPI", - type = "UNKNOWN", - value = "__declspec(dllexport)", - description = "We are building the library as a Win32 shared library (.dll)" - }, - { - name = "PI", - type = "FLOAT", - value = 3.14159265358979323846, - description = "" - }, - { - name = "DEG2RAD", - type = "UNKNOWN", - value = "(PI/180.0f)", - description = "" }, { - name = "RAD2DEG", - type = "UNKNOWN", - value = "(180.0f/PI)", - description = "" - }, - { - name = "RL_MALLOC(sz)", - type = "MACRO", - value = "malloc(sz)", - description = "" - }, - { - name = "RL_CALLOC(n,sz)", - type = "MACRO", - value = "calloc(n,sz)", - description = "" - }, - { - name = "RL_REALLOC(ptr,sz)", - type = "MACRO", - value = "realloc(ptr,sz)", - description = "" - }, - { - name = "RL_FREE(ptr)", - type = "MACRO", - value = "free(ptr)", - description = "" - }, - { - name = "CLITERAL(type)", - type = "MACRO", - value = "type", - description = "" - }, - { - name = "RL_COLOR_TYPE", - type = "GUARD", - value = "", - description = "" - }, - { - name = "RL_RECTANGLE_TYPE", - type = "GUARD", - value = "", - description = "" - }, - { - name = "RL_VECTOR2_TYPE", - type = "GUARD", - value = "", - description = "" - }, - { - name = "RL_VECTOR3_TYPE", - type = "GUARD", - value = "", - description = "" - }, - { - name = "RL_VECTOR4_TYPE", - type = "GUARD", - value = "", - description = "" - }, - { - name = "RL_QUATERNION_TYPE", - type = "GUARD", - value = "", - description = "" - }, - { - name = "RL_MATRIX_TYPE", - type = "GUARD", - value = "", - description = "" - }, - { - name = "LIGHTGRAY", - type = "COLOR", - value = "CLITERAL(Color){ 200, 200, 200, 255 }", - description = "Light Gray" - }, - { - name = "GRAY", - type = "COLOR", - value = "CLITERAL(Color){ 130, 130, 130, 255 }", - description = "Gray" - }, - { - name = "DARKGRAY", - type = "COLOR", - value = "CLITERAL(Color){ 80, 80, 80, 255 }", - description = "Dark Gray" - }, - { - name = "YELLOW", - type = "COLOR", - value = "CLITERAL(Color){ 253, 249, 0, 255 }", - description = "Yellow" - }, - { - name = "GOLD", - type = "COLOR", - value = "CLITERAL(Color){ 255, 203, 0, 255 }", - description = "Gold" - }, - { - name = "ORANGE", - type = "COLOR", - value = "CLITERAL(Color){ 255, 161, 0, 255 }", - description = "Orange" - }, - { - name = "PINK", - type = "COLOR", - value = "CLITERAL(Color){ 255, 109, 194, 255 }", - description = "Pink" - }, - { - name = "RED", - type = "COLOR", - value = "CLITERAL(Color){ 230, 41, 55, 255 }", - description = "Red" - }, - { - name = "MAROON", - type = "COLOR", - value = "CLITERAL(Color){ 190, 33, 55, 255 }", - description = "Maroon" - }, - { - name = "GREEN", - type = "COLOR", - value = "CLITERAL(Color){ 0, 228, 48, 255 }", - description = "Green" - }, - { - name = "LIME", - type = "COLOR", - value = "CLITERAL(Color){ 0, 158, 47, 255 }", - description = "Lime" - }, - { - name = "DARKGREEN", - type = "COLOR", - value = "CLITERAL(Color){ 0, 117, 44, 255 }", - description = "Dark Green" - }, - { - name = "SKYBLUE", - type = "COLOR", - value = "CLITERAL(Color){ 102, 191, 255, 255 }", - description = "Sky Blue" - }, - { - name = "BLUE", - type = "COLOR", - value = "CLITERAL(Color){ 0, 121, 241, 255 }", - description = "Blue" - }, - { - name = "DARKBLUE", - type = "COLOR", - value = "CLITERAL(Color){ 0, 82, 172, 255 }", - description = "Dark Blue" - }, - { - name = "PURPLE", - type = "COLOR", - value = "CLITERAL(Color){ 200, 122, 255, 255 }", - description = "Purple" + name = "ShaderLocationIndex", + description = "Shader location index", + values = { + { + name = "SHADER_LOC_VERTEX_POSITION", + value = 0, + description = "Shader location: vertex attribute: position" + }, + { + name = "SHADER_LOC_VERTEX_TEXCOORD01", + value = 1, + description = "Shader location: vertex attribute: texcoord01" + }, + { + name = "SHADER_LOC_VERTEX_TEXCOORD02", + value = 2, + description = "Shader location: vertex attribute: texcoord02" + }, + { + name = "SHADER_LOC_VERTEX_NORMAL", + value = 3, + description = "Shader location: vertex attribute: normal" + }, + { + name = "SHADER_LOC_VERTEX_TANGENT", + value = 4, + description = "Shader location: vertex attribute: tangent" + }, + { + name = "SHADER_LOC_VERTEX_COLOR", + value = 5, + description = "Shader location: vertex attribute: color" + }, + { + name = "SHADER_LOC_MATRIX_MVP", + value = 6, + description = "Shader location: matrix uniform: model-view-projection" + }, + { + name = "SHADER_LOC_MATRIX_VIEW", + value = 7, + description = "Shader location: matrix uniform: view (camera transform)" + }, + { + name = "SHADER_LOC_MATRIX_PROJECTION", + value = 8, + description = "Shader location: matrix uniform: projection" + }, + { + name = "SHADER_LOC_MATRIX_MODEL", + value = 9, + description = "Shader location: matrix uniform: model (transform)" + }, + { + name = "SHADER_LOC_MATRIX_NORMAL", + value = 10, + description = "Shader location: matrix uniform: normal" + }, + { + name = "SHADER_LOC_VECTOR_VIEW", + value = 11, + description = "Shader location: vector uniform: view" + }, + { + name = "SHADER_LOC_COLOR_DIFFUSE", + value = 12, + description = "Shader location: vector uniform: diffuse color" + }, + { + name = "SHADER_LOC_COLOR_SPECULAR", + value = 13, + description = "Shader location: vector uniform: specular color" + }, + { + name = "SHADER_LOC_COLOR_AMBIENT", + value = 14, + description = "Shader location: vector uniform: ambient color" + }, + { + name = "SHADER_LOC_MAP_ALBEDO", + value = 15, + description = "Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE)" + }, + { + name = "SHADER_LOC_MAP_METALNESS", + value = 16, + description = "Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR)" + }, + { + name = "SHADER_LOC_MAP_NORMAL", + value = 17, + description = "Shader location: sampler2d texture: normal" + }, + { + name = "SHADER_LOC_MAP_ROUGHNESS", + value = 18, + description = "Shader location: sampler2d texture: roughness" + }, + { + name = "SHADER_LOC_MAP_OCCLUSION", + value = 19, + description = "Shader location: sampler2d texture: occlusion" + }, + { + name = "SHADER_LOC_MAP_EMISSION", + value = 20, + description = "Shader location: sampler2d texture: emission" + }, + { + name = "SHADER_LOC_MAP_HEIGHT", + value = 21, + description = "Shader location: sampler2d texture: height" + }, + { + name = "SHADER_LOC_MAP_CUBEMAP", + value = 22, + description = "Shader location: samplerCube texture: cubemap" + }, + { + name = "SHADER_LOC_MAP_IRRADIANCE", + value = 23, + description = "Shader location: samplerCube texture: irradiance" + }, + { + name = "SHADER_LOC_MAP_PREFILTER", + value = 24, + description = "Shader location: samplerCube texture: prefilter" + }, + { + name = "SHADER_LOC_MAP_BRDF", + value = 25, + description = "Shader location: sampler2d texture: brdf" + } + } }, { - name = "VIOLET", - type = "COLOR", - value = "CLITERAL(Color){ 135, 60, 190, 255 }", - description = "Violet" + name = "ShaderUniformDataType", + description = "Shader uniform data type", + values = { + { + name = "SHADER_UNIFORM_FLOAT", + value = 0, + description = "Shader uniform type: float" + }, + { + name = "SHADER_UNIFORM_VEC2", + value = 1, + description = "Shader uniform type: vec2 (2 float)" + }, + { + name = "SHADER_UNIFORM_VEC3", + value = 2, + description = "Shader uniform type: vec3 (3 float)" + }, + { + name = "SHADER_UNIFORM_VEC4", + value = 3, + description = "Shader uniform type: vec4 (4 float)" + }, + { + name = "SHADER_UNIFORM_INT", + value = 4, + description = "Shader uniform type: int" + }, + { + name = "SHADER_UNIFORM_IVEC2", + value = 5, + description = "Shader uniform type: ivec2 (2 int)" + }, + { + name = "SHADER_UNIFORM_IVEC3", + value = 6, + description = "Shader uniform type: ivec3 (3 int)" + }, + { + name = "SHADER_UNIFORM_IVEC4", + value = 7, + description = "Shader uniform type: ivec4 (4 int)" + }, + { + name = "SHADER_UNIFORM_SAMPLER2D", + value = 8, + description = "Shader uniform type: sampler2d" + } + } }, { - name = "DARKPURPLE", - type = "COLOR", - value = "CLITERAL(Color){ 112, 31, 126, 255 }", - description = "Dark Purple" + name = "ShaderAttributeDataType", + description = "Shader attribute data types", + values = { + { + name = "SHADER_ATTRIB_FLOAT", + value = 0, + description = "Shader attribute type: float" + }, + { + name = "SHADER_ATTRIB_VEC2", + value = 1, + description = "Shader attribute type: vec2 (2 float)" + }, + { + name = "SHADER_ATTRIB_VEC3", + value = 2, + description = "Shader attribute type: vec3 (3 float)" + }, + { + name = "SHADER_ATTRIB_VEC4", + value = 3, + description = "Shader attribute type: vec4 (4 float)" + } + } }, { - name = "BEIGE", - type = "COLOR", - value = "CLITERAL(Color){ 211, 176, 131, 255 }", - description = "Beige" + name = "PixelFormat", + description = "Pixel formats", + values = { + { + name = "PIXELFORMAT_UNCOMPRESSED_GRAYSCALE", + value = 1, + description = "8 bit per pixel (no alpha)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA", + value = 2, + description = "8*2 bpp (2 channels)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R5G6B5", + value = 3, + description = "16 bpp" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R8G8B8", + value = 4, + description = "24 bpp" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R5G5B5A1", + value = 5, + description = "16 bpp (1 bit alpha)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R4G4B4A4", + value = 6, + description = "16 bpp (4 bit alpha)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R8G8B8A8", + value = 7, + description = "32 bpp" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R32", + value = 8, + description = "32 bpp (1 channel - float)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R32G32B32", + value = 9, + description = "32*3 bpp (3 channels - float)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R32G32B32A32", + value = 10, + description = "32*4 bpp (4 channels - float)" + }, + { + name = "PIXELFORMAT_COMPRESSED_DXT1_RGB", + value = 11, + description = "4 bpp (no alpha)" + }, + { + name = "PIXELFORMAT_COMPRESSED_DXT1_RGBA", + value = 12, + description = "4 bpp (1 bit alpha)" + }, + { + name = "PIXELFORMAT_COMPRESSED_DXT3_RGBA", + value = 13, + description = "8 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_DXT5_RGBA", + value = 14, + description = "8 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_ETC1_RGB", + value = 15, + description = "4 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_ETC2_RGB", + value = 16, + description = "4 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA", + value = 17, + description = "8 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_PVRT_RGB", + value = 18, + description = "4 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_PVRT_RGBA", + value = 19, + description = "4 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA", + value = 20, + description = "8 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA", + value = 21, + description = "2 bpp" + } + } }, { - name = "BROWN", - type = "COLOR", - value = "CLITERAL(Color){ 127, 106, 79, 255 }", - description = "Brown" + name = "TextureFilter", + description = "Texture parameters: filter mode", + values = { + { + name = "TEXTURE_FILTER_POINT", + value = 0, + description = "No filter, just pixel approximation" + }, + { + name = "TEXTURE_FILTER_BILINEAR", + value = 1, + description = "Linear filtering" + }, + { + name = "TEXTURE_FILTER_TRILINEAR", + value = 2, + description = "Trilinear filtering (linear with mipmaps)" + }, + { + name = "TEXTURE_FILTER_ANISOTROPIC_4X", + value = 3, + description = "Anisotropic filtering 4x" + }, + { + name = "TEXTURE_FILTER_ANISOTROPIC_8X", + value = 4, + description = "Anisotropic filtering 8x" + }, + { + name = "TEXTURE_FILTER_ANISOTROPIC_16X", + value = 5, + description = "Anisotropic filtering 16x" + } + } }, { - name = "DARKBROWN", - type = "COLOR", - value = "CLITERAL(Color){ 76, 63, 47, 255 }", - description = "Dark Brown" + name = "TextureWrap", + description = "Texture parameters: wrap mode", + values = { + { + name = "TEXTURE_WRAP_REPEAT", + value = 0, + description = "Repeats texture in tiled mode" + }, + { + name = "TEXTURE_WRAP_CLAMP", + value = 1, + description = "Clamps texture to edge pixel in tiled mode" + }, + { + name = "TEXTURE_WRAP_MIRROR_REPEAT", + value = 2, + description = "Mirrors and repeats the texture in tiled mode" + }, + { + name = "TEXTURE_WRAP_MIRROR_CLAMP", + value = 3, + description = "Mirrors and clamps to border the texture in tiled mode" + } + } }, { - name = "WHITE", - type = "COLOR", - value = "CLITERAL(Color){ 255, 255, 255, 255 }", - description = "White" + name = "CubemapLayout", + description = "Cubemap layouts", + values = { + { + name = "CUBEMAP_LAYOUT_AUTO_DETECT", + value = 0, + description = "Automatically detect layout type" + }, + { + name = "CUBEMAP_LAYOUT_LINE_VERTICAL", + value = 1, + description = "Layout is defined by a vertical line with faces" + }, + { + name = "CUBEMAP_LAYOUT_LINE_HORIZONTAL", + value = 2, + description = "Layout is defined by an horizontal line with faces" + }, + { + name = "CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR", + value = 3, + description = "Layout is defined by a 3x4 cross with cubemap faces" + }, + { + name = "CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE", + value = 4, + description = "Layout is defined by a 4x3 cross with cubemap faces" + }, + { + name = "CUBEMAP_LAYOUT_PANORAMA", + value = 5, + description = "Layout is defined by a panorama image (equirectangular map)" + } + } }, { - name = "BLACK", - type = "COLOR", - value = "CLITERAL(Color){ 0, 0, 0, 255 }", - description = "Black" + name = "FontType", + description = "Font type, defines generation method", + values = { + { + name = "FONT_DEFAULT", + value = 0, + description = "Default font generation, anti-aliased" + }, + { + name = "FONT_BITMAP", + value = 1, + description = "Bitmap font generation, no anti-aliasing" + }, + { + name = "FONT_SDF", + value = 2, + description = "SDF font generation, requires external shader" + } + } }, { - name = "BLANK", - type = "COLOR", - value = "CLITERAL(Color){ 0, 0, 0, 0 }", - description = "Blank (Transparent)" + name = "BlendMode", + description = "Color blending modes (pre-defined)", + values = { + { + name = "BLEND_ALPHA", + value = 0, + description = "Blend textures considering alpha (default)" + }, + { + name = "BLEND_ADDITIVE", + value = 1, + description = "Blend textures adding colors" + }, + { + name = "BLEND_MULTIPLIED", + value = 2, + description = "Blend textures multiplying colors" + }, + { + name = "BLEND_ADD_COLORS", + value = 3, + description = "Blend textures adding colors (alternative)" + }, + { + name = "BLEND_SUBTRACT_COLORS", + value = 4, + description = "Blend textures subtracting colors (alternative)" + }, + { + name = "BLEND_ALPHA_PREMUL", + value = 5, + description = "Blend premultiplied textures considering alpha" + }, + { + name = "BLEND_CUSTOM", + value = 6, + description = "Blend textures using custom src/dst factors (use rlSetBlendMode())" + } + } }, { - name = "MAGENTA", - type = "COLOR", - value = "CLITERAL(Color){ 255, 0, 255, 255 }", - description = "Magenta" + name = "Gesture", + description = "Gesture", + values = { + { + name = "GESTURE_NONE", + value = 0, + description = "No gesture" + }, + { + name = "GESTURE_TAP", + value = 1, + description = "Tap gesture" + }, + { + name = "GESTURE_DOUBLETAP", + value = 2, + description = "Double tap gesture" + }, + { + name = "GESTURE_HOLD", + value = 4, + description = "Hold gesture" + }, + { + name = "GESTURE_DRAG", + value = 8, + description = "Drag gesture" + }, + { + name = "GESTURE_SWIPE_RIGHT", + value = 16, + description = "Swipe right gesture" + }, + { + name = "GESTURE_SWIPE_LEFT", + value = 32, + description = "Swipe left gesture" + }, + { + name = "GESTURE_SWIPE_UP", + value = 64, + description = "Swipe up gesture" + }, + { + name = "GESTURE_SWIPE_DOWN", + value = 128, + description = "Swipe down gesture" + }, + { + name = "GESTURE_PINCH_IN", + value = 256, + description = "Pinch in gesture" + }, + { + name = "GESTURE_PINCH_OUT", + value = 512, + description = "Pinch out gesture" + } + } }, { - name = "RAYWHITE", - type = "COLOR", - value = "CLITERAL(Color){ 245, 245, 245, 255 }", - description = "My own White (raylib logo)" + name = "CameraMode", + description = "Camera system modes", + values = { + { + name = "CAMERA_CUSTOM", + value = 0, + description = "Custom camera" + }, + { + name = "CAMERA_FREE", + value = 1, + description = "Free camera" + }, + { + name = "CAMERA_ORBITAL", + value = 2, + description = "Orbital camera" + }, + { + name = "CAMERA_FIRST_PERSON", + value = 3, + description = "First person camera" + }, + { + name = "CAMERA_THIRD_PERSON", + value = 4, + description = "Third person camera" + } + } }, { - name = "RL_BOOL_TYPE", - type = "GUARD", - value = "", - description = "" + name = "CameraProjection", + description = "Camera projection", + values = { + { + name = "CAMERA_PERSPECTIVE", + value = 0, + description = "Perspective projection" + }, + { + name = "CAMERA_ORTHOGRAPHIC", + value = 1, + description = "Orthographic projection" + } + } }, { - name = "MOUSE_LEFT_BUTTON", - type = "UNKNOWN", - value = "MOUSE_BUTTON_LEFT", - description = "" - }, + name = "NPatchLayout", + description = "N-patch layout", + values = { + { + name = "NPATCH_NINE_PATCH", + value = 0, + description = "Npatch layout: 3x3 tiles" + }, + { + name = "NPATCH_THREE_PATCH_VERTICAL", + value = 1, + description = "Npatch layout: 1x3 tiles" + }, + { + name = "NPATCH_THREE_PATCH_HORIZONTAL", + value = 2, + description = "Npatch layout: 3x1 tiles" + } + } + } + }, + callbacks = { { - name = "MOUSE_RIGHT_BUTTON", - type = "UNKNOWN", - value = "MOUSE_BUTTON_RIGHT", - description = "" + name = "TraceLogCallback", + description = "Logging: Redirect trace log messages", + returnType = "void", + params = { + {type = "int", name = "logLevel"}, + {type = "const char *", name = "text"}, + {type = "va_list", name = "args"} + } }, { - name = "MOUSE_MIDDLE_BUTTON", - type = "UNKNOWN", - value = "MOUSE_BUTTON_MIDDLE", - description = "" + name = "LoadFileDataCallback", + description = "FileIO: Load binary data", + returnType = "unsigned char *", + params = { + {type = "const char *", name = "fileName"}, + {type = "unsigned int *", name = "bytesRead"} + } }, { - name = "MATERIAL_MAP_DIFFUSE", - type = "UNKNOWN", - value = "MATERIAL_MAP_ALBEDO", - description = "" + name = "SaveFileDataCallback", + description = "FileIO: Save binary data", + returnType = "bool", + params = { + {type = "const char *", name = "fileName"}, + {type = "void *", name = "data"}, + {type = "unsigned int", name = "bytesToWrite"} + } }, { - name = "MATERIAL_MAP_SPECULAR", - type = "UNKNOWN", - value = "MATERIAL_MAP_METALNESS", - description = "" + name = "LoadFileTextCallback", + description = "FileIO: Load text data", + returnType = "char *", + params = { + {type = "const char *", name = "fileName"} + } }, { - name = "SHADER_LOC_MAP_DIFFUSE", - type = "UNKNOWN", - value = "SHADER_LOC_MAP_ALBEDO", - description = "" + name = "SaveFileTextCallback", + description = "FileIO: Save text data", + returnType = "bool", + params = { + {type = "const char *", name = "fileName"}, + {type = "char *", name = "text"} + } }, { - name = "SHADER_LOC_MAP_SPECULAR", - type = "UNKNOWN", - value = "SHADER_LOC_MAP_METALNESS", - description = "" + name = "AudioCallback", + description = "", + returnType = "void", + params = { + {type = "void *", name = "bufferData"}, + {type = "unsigned int", name = "frames"} + } } }, functions = { @@ -7322,62 +7379,5 @@ return { {type = "AudioCallback", name = "processor"} } } - }, - callbacks = { - { - name = "TraceLogCallback", - description = "Logging: Redirect trace log messages", - returnType = "void", - params = { - {type = "int", name = "logLevel"}, - {type = "const char *", name = "text"}, - {type = "va_list", name = "args"} - } - }, - { - name = "LoadFileDataCallback", - description = "FileIO: Load binary data", - returnType = "unsigned char *", - params = { - {type = "const char *", name = "fileName"}, - {type = "unsigned int *", name = "bytesRead"} - } - }, - { - name = "SaveFileDataCallback", - description = "FileIO: Save binary data", - returnType = "bool", - params = { - {type = "const char *", name = "fileName"}, - {type = "void *", name = "data"}, - {type = "unsigned int", name = "bytesToWrite"} - } - }, - { - name = "LoadFileTextCallback", - description = "FileIO: Load text data", - returnType = "char *", - params = { - {type = "const char *", name = "fileName"} - } - }, - { - name = "SaveFileTextCallback", - description = "FileIO: Save text data", - returnType = "bool", - params = { - {type = "const char *", name = "fileName"}, - {type = "char *", name = "text"} - } - }, - { - name = "AudioCallback", - description = "", - returnType = "void", - params = { - {type = "void *", name = "bufferData"}, - {type = "unsigned int", name = "frames"} - } - } } } diff --git a/parser/raylib_api.txt b/parser/raylib_api.txt index 972b4d65..10b9727c 100644 --- a/parser/raylib_api.txt +++ b/parser/raylib_api.txt @@ -1,3828 +1,5 @@ -Structures found: 31 - -Struct 01: Vector2 (2 fields) - Name: Vector2 - Description: Vector2, 2 components - Field[1]: float x // Vector x component - Field[2]: float y // Vector y component -Struct 02: Vector3 (3 fields) - Name: Vector3 - Description: Vector3, 3 components - Field[1]: float x // Vector x component - Field[2]: float y // Vector y component - Field[3]: float z // Vector z component -Struct 03: Vector4 (4 fields) - Name: Vector4 - Description: Vector4, 4 components - Field[1]: float x // Vector x component - Field[2]: float y // Vector y component - Field[3]: float z // Vector z component - Field[4]: float w // Vector w component -Struct 04: Matrix (16 fields) - Name: Matrix - Description: Matrix, 4x4 components, column major, OpenGL style, right handed - Field[1]: float m0 // Matrix first row (4 components) - Field[2]: float m4 // Matrix first row (4 components) - Field[3]: float m8 // Matrix first row (4 components) - Field[4]: float m12 // Matrix first row (4 components) - Field[5]: float m1 // Matrix second row (4 components) - Field[6]: float m5 // Matrix second row (4 components) - Field[7]: float m9 // Matrix second row (4 components) - Field[8]: float m13 // Matrix second row (4 components) - Field[9]: float m2 // Matrix third row (4 components) - Field[10]: float m6 // Matrix third row (4 components) - Field[11]: float m10 // Matrix third row (4 components) - Field[12]: float m14 // Matrix third row (4 components) - Field[13]: float m3 // Matrix fourth row (4 components) - Field[14]: float m7 // Matrix fourth row (4 components) - Field[15]: float m11 // Matrix fourth row (4 components) - Field[16]: float m15 // Matrix fourth row (4 components) -Struct 05: Color (4 fields) - Name: Color - Description: Color, 4 components, R8G8B8A8 (32bit) - Field[1]: unsigned char r // Color red value - Field[2]: unsigned char g // Color green value - Field[3]: unsigned char b // Color blue value - Field[4]: unsigned char a // Color alpha value -Struct 06: Rectangle (4 fields) - Name: Rectangle - Description: Rectangle, 4 components - Field[1]: float x // Rectangle top-left corner position x - Field[2]: float y // Rectangle top-left corner position y - Field[3]: float width // Rectangle width - Field[4]: float height // Rectangle height -Struct 07: Image (5 fields) - Name: Image - Description: Image, pixel data stored in CPU memory (RAM) - Field[1]: void * data // Image raw data - Field[2]: int width // Image base width - Field[3]: int height // Image base height - Field[4]: int mipmaps // Mipmap levels, 1 by default - Field[5]: int format // Data format (PixelFormat type) -Struct 08: Texture (5 fields) - Name: Texture - Description: Texture, tex data stored in GPU memory (VRAM) - Field[1]: unsigned int id // OpenGL texture id - Field[2]: int width // Texture base width - Field[3]: int height // Texture base height - Field[4]: int mipmaps // Mipmap levels, 1 by default - Field[5]: int format // Data format (PixelFormat type) -Struct 09: RenderTexture (3 fields) - Name: RenderTexture - Description: RenderTexture, fbo for texture rendering - Field[1]: unsigned int id // OpenGL framebuffer object id - Field[2]: Texture texture // Color buffer attachment texture - Field[3]: Texture depth // Depth buffer attachment texture -Struct 10: NPatchInfo (6 fields) - Name: NPatchInfo - Description: NPatchInfo, n-patch layout info - Field[1]: Rectangle source // Texture source rectangle - Field[2]: int left // Left border offset - Field[3]: int top // Top border offset - Field[4]: int right // Right border offset - Field[5]: int bottom // Bottom border offset - Field[6]: int layout // Layout of the n-patch: 3x3, 1x3 or 3x1 -Struct 11: GlyphInfo (5 fields) - Name: GlyphInfo - Description: GlyphInfo, font characters glyphs info - Field[1]: int value // Character value (Unicode) - Field[2]: int offsetX // Character offset X when drawing - Field[3]: int offsetY // Character offset Y when drawing - Field[4]: int advanceX // Character advance position X - Field[5]: Image image // Character image data -Struct 12: Font (6 fields) - Name: Font - Description: Font, font texture and GlyphInfo array data - Field[1]: int baseSize // Base size (default chars height) - Field[2]: int glyphCount // Number of glyph characters - Field[3]: int glyphPadding // Padding around the glyph characters - Field[4]: Texture2D texture // Texture atlas containing the glyphs - Field[5]: Rectangle * recs // Rectangles in texture for the glyphs - Field[6]: GlyphInfo * glyphs // Glyphs info data -Struct 13: Camera3D (5 fields) - Name: Camera3D - Description: Camera, defines position/orientation in 3d space - Field[1]: Vector3 position // Camera position - Field[2]: Vector3 target // Camera target it looks-at - Field[3]: Vector3 up // Camera up vector (rotation over its axis) - Field[4]: float fovy // Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic - Field[5]: int projection // Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC -Struct 14: Camera2D (4 fields) - Name: Camera2D - Description: Camera2D, defines position/orientation in 2d space - Field[1]: Vector2 offset // Camera offset (displacement from target) - Field[2]: Vector2 target // Camera target (rotation and zoom origin) - Field[3]: float rotation // Camera rotation in degrees - Field[4]: float zoom // Camera zoom (scaling), should be 1.0f by default -Struct 15: Mesh (15 fields) - Name: Mesh - Description: Mesh, vertex data and vao/vbo - Field[1]: int vertexCount // Number of vertices stored in arrays - Field[2]: int triangleCount // Number of triangles stored (indexed or not) - Field[3]: float * vertices // Vertex position (XYZ - 3 components per vertex) (shader-location = 0) - Field[4]: float * texcoords // Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) - Field[5]: float * texcoords2 // Vertex texture second coordinates (UV - 2 components per vertex) (shader-location = 5) - Field[6]: float * normals // Vertex normals (XYZ - 3 components per vertex) (shader-location = 2) - Field[7]: float * tangents // Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4) - Field[8]: unsigned char * colors // Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) - Field[9]: unsigned short * indices // Vertex indices (in case vertex data comes indexed) - Field[10]: float * animVertices // Animated vertex positions (after bones transformations) - Field[11]: float * animNormals // Animated normals (after bones transformations) - Field[12]: unsigned char * boneIds // Vertex bone ids, max 255 bone ids, up to 4 bones influence by vertex (skinning) - Field[13]: float * boneWeights // Vertex bone weight, up to 4 bones influence by vertex (skinning) - Field[14]: unsigned int vaoId // OpenGL Vertex Array Object id - Field[15]: unsigned int * vboId // OpenGL Vertex Buffer Objects id (default vertex data) -Struct 16: Shader (2 fields) - Name: Shader - Description: Shader - Field[1]: unsigned int id // Shader program id - Field[2]: int * locs // Shader locations array (RL_MAX_SHADER_LOCATIONS) -Struct 17: MaterialMap (3 fields) - Name: MaterialMap - Description: MaterialMap - Field[1]: Texture2D texture // Material map texture - Field[2]: Color color // Material map color - Field[3]: float value // Material map value -Struct 18: Material (3 fields) - Name: Material - Description: Material, includes shader and maps - Field[1]: Shader shader // Material shader - Field[2]: MaterialMap * maps // Material maps array (MAX_MATERIAL_MAPS) - Field[3]: float[4] params // Material generic parameters (if required) -Struct 19: Transform (3 fields) - Name: Transform - Description: Transform, vectex transformation data - Field[1]: Vector3 translation // Translation - Field[2]: Quaternion rotation // Rotation - Field[3]: Vector3 scale // Scale -Struct 20: BoneInfo (2 fields) - Name: BoneInfo - Description: Bone, skeletal animation bone - Field[1]: char[32] name // Bone name - Field[2]: int parent // Bone parent -Struct 21: Model (9 fields) - Name: Model - Description: Model, meshes, materials and animation data - Field[1]: Matrix transform // Local transform matrix - Field[2]: int meshCount // Number of meshes - Field[3]: int materialCount // Number of materials - Field[4]: Mesh * meshes // Meshes array - Field[5]: Material * materials // Materials array - Field[6]: int * meshMaterial // Mesh material number - Field[7]: int boneCount // Number of bones - Field[8]: BoneInfo * bones // Bones information (skeleton) - Field[9]: Transform * bindPose // Bones base transformation (pose) -Struct 22: ModelAnimation (4 fields) - Name: ModelAnimation - Description: ModelAnimation - Field[1]: int boneCount // Number of bones - Field[2]: int frameCount // Number of animation frames - Field[3]: BoneInfo * bones // Bones information (skeleton) - Field[4]: Transform ** framePoses // Poses array by frame -Struct 23: Ray (2 fields) - Name: Ray - Description: Ray, ray for raycasting - Field[1]: Vector3 position // Ray position (origin) - Field[2]: Vector3 direction // Ray direction -Struct 24: RayCollision (4 fields) - Name: RayCollision - Description: RayCollision, ray hit information - Field[1]: bool hit // Did the ray hit something? - Field[2]: float distance // Distance to nearest hit - Field[3]: Vector3 point // Point of nearest hit - Field[4]: Vector3 normal // Surface normal of hit -Struct 25: BoundingBox (2 fields) - Name: BoundingBox - Description: BoundingBox - Field[1]: Vector3 min // Minimum vertex box-corner - Field[2]: Vector3 max // Maximum vertex box-corner -Struct 26: Wave (5 fields) - Name: Wave - Description: Wave, audio wave data - Field[1]: unsigned int frameCount // Total number of frames (considering channels) - Field[2]: unsigned int sampleRate // Frequency (samples per second) - Field[3]: unsigned int sampleSize // Bit depth (bits per sample): 8, 16, 32 (24 not supported) - Field[4]: unsigned int channels // Number of channels (1-mono, 2-stereo, ...) - Field[5]: void * data // Buffer data pointer -Struct 27: AudioStream (5 fields) - Name: AudioStream - Description: AudioStream, custom audio stream - Field[1]: rAudioBuffer * buffer // Pointer to internal data used by the audio system - Field[2]: rAudioProcessor * processor // Pointer to internal data processor, useful for audio effects - Field[3]: unsigned int sampleRate // Frequency (samples per second) - Field[4]: unsigned int sampleSize // Bit depth (bits per sample): 8, 16, 32 (24 not supported) - Field[5]: unsigned int channels // Number of channels (1-mono, 2-stereo, ...) -Struct 28: Sound (2 fields) - Name: Sound - Description: Sound - Field[1]: AudioStream stream // Audio stream - Field[2]: unsigned int frameCount // Total number of frames (considering channels) -Struct 29: Music (5 fields) - Name: Music - Description: Music, audio stream, anything longer than ~10 seconds should be streamed - Field[1]: AudioStream stream // Audio stream - Field[2]: unsigned int frameCount // Total number of frames (considering channels) - Field[3]: bool looping // Music looping enable - Field[4]: int ctxType // Type of music context (audio filetype) - Field[5]: void * ctxData // Audio context data, depends on type -Struct 30: VrDeviceInfo (10 fields) - Name: VrDeviceInfo - Description: VrDeviceInfo, Head-Mounted-Display device parameters - Field[1]: int hResolution // Horizontal resolution in pixels - Field[2]: int vResolution // Vertical resolution in pixels - Field[3]: float hScreenSize // Horizontal size in meters - Field[4]: float vScreenSize // Vertical size in meters - Field[5]: float vScreenCenter // Screen center in meters - Field[6]: float eyeToScreenDistance // Distance between eye and display in meters - Field[7]: float lensSeparationDistance // Lens separation distance in meters - Field[8]: float interpupillaryDistance // IPD (distance between pupils) in meters - Field[9]: float[4] lensDistortionValues // Lens distortion constant parameters - Field[10]: float[4] chromaAbCorrection // Chromatic aberration correction parameters -Struct 31: VrStereoConfig (8 fields) - Name: VrStereoConfig - Description: VrStereoConfig, VR stereo rendering configuration for simulator - Field[1]: Matrix[2] projection // VR projection matrices (per eye) - Field[2]: Matrix[2] viewOffset // VR view offset matrices (per eye) - Field[3]: float[2] leftLensCenter // VR left lens center - Field[4]: float[2] rightLensCenter // VR right lens center - Field[5]: float[2] leftScreenCenter // VR left screen center - Field[6]: float[2] rightScreenCenter // VR right screen center - Field[7]: float[2] scale // VR distortion scale - Field[8]: float[2] scaleIn // VR distortion scale in - -Aliases found: 5 - -Alias 001: Quaternion - Type: Vector4 - Name: Quaternion - Description: Quaternion, 4 components (Vector4 alias) -Alias 002: Texture2D - Type: Texture - Name: Texture2D - Description: Texture2D, same as Texture -Alias 003: TextureCubemap - Type: Texture - Name: TextureCubemap - Description: TextureCubemap, same as Texture -Alias 004: RenderTexture2D - Type: RenderTexture - Name: RenderTexture2D - Description: RenderTexture2D, same as RenderTexture -Alias 005: Camera - Type: Camera3D - Name: Camera - Description: Camera type fallback, defaults to Camera3D - -Enums found: 21 - -Enum 01: ConfigFlags (14 values) - Name: ConfigFlags - Description: System/Window config flags - Value[FLAG_VSYNC_HINT]: 64 - Value[FLAG_FULLSCREEN_MODE]: 2 - Value[FLAG_WINDOW_RESIZABLE]: 4 - Value[FLAG_WINDOW_UNDECORATED]: 8 - Value[FLAG_WINDOW_HIDDEN]: 128 - Value[FLAG_WINDOW_MINIMIZED]: 512 - Value[FLAG_WINDOW_MAXIMIZED]: 1024 - Value[FLAG_WINDOW_UNFOCUSED]: 2048 - Value[FLAG_WINDOW_TOPMOST]: 4096 - Value[FLAG_WINDOW_ALWAYS_RUN]: 256 - Value[FLAG_WINDOW_TRANSPARENT]: 16 - Value[FLAG_WINDOW_HIGHDPI]: 8192 - Value[FLAG_MSAA_4X_HINT]: 32 - Value[FLAG_INTERLACED_HINT]: 65536 -Enum 02: TraceLogLevel (8 values) - Name: TraceLogLevel - Description: Trace log level - Value[LOG_ALL]: 0 - Value[LOG_TRACE]: 1 - Value[LOG_DEBUG]: 2 - Value[LOG_INFO]: 3 - Value[LOG_WARNING]: 4 - Value[LOG_ERROR]: 5 - Value[LOG_FATAL]: 6 - Value[LOG_NONE]: 7 -Enum 03: KeyboardKey (110 values) - Name: KeyboardKey - Description: Keyboard keys (US keyboard layout) - Value[KEY_NULL]: 0 - Value[KEY_APOSTROPHE]: 39 - Value[KEY_COMMA]: 44 - Value[KEY_MINUS]: 45 - Value[KEY_PERIOD]: 46 - Value[KEY_SLASH]: 47 - Value[KEY_ZERO]: 48 - Value[KEY_ONE]: 49 - Value[KEY_TWO]: 50 - Value[KEY_THREE]: 51 - Value[KEY_FOUR]: 52 - Value[KEY_FIVE]: 53 - Value[KEY_SIX]: 54 - Value[KEY_SEVEN]: 55 - Value[KEY_EIGHT]: 56 - Value[KEY_NINE]: 57 - Value[KEY_SEMICOLON]: 59 - Value[KEY_EQUAL]: 61 - Value[KEY_A]: 65 - Value[KEY_B]: 66 - Value[KEY_C]: 67 - Value[KEY_D]: 68 - Value[KEY_E]: 69 - Value[KEY_F]: 70 - Value[KEY_G]: 71 - Value[KEY_H]: 72 - Value[KEY_I]: 73 - Value[KEY_J]: 74 - Value[KEY_K]: 75 - Value[KEY_L]: 76 - Value[KEY_M]: 77 - Value[KEY_N]: 78 - Value[KEY_O]: 79 - Value[KEY_P]: 80 - Value[KEY_Q]: 81 - Value[KEY_R]: 82 - Value[KEY_S]: 83 - Value[KEY_T]: 84 - Value[KEY_U]: 85 - Value[KEY_V]: 86 - Value[KEY_W]: 87 - Value[KEY_X]: 88 - Value[KEY_Y]: 89 - Value[KEY_Z]: 90 - Value[KEY_LEFT_BRACKET]: 91 - Value[KEY_BACKSLASH]: 92 - Value[KEY_RIGHT_BRACKET]: 93 - Value[KEY_GRAVE]: 96 - Value[KEY_SPACE]: 32 - Value[KEY_ESCAPE]: 256 - Value[KEY_ENTER]: 257 - Value[KEY_TAB]: 258 - Value[KEY_BACKSPACE]: 259 - Value[KEY_INSERT]: 260 - Value[KEY_DELETE]: 261 - Value[KEY_RIGHT]: 262 - Value[KEY_LEFT]: 263 - Value[KEY_DOWN]: 264 - Value[KEY_UP]: 265 - Value[KEY_PAGE_UP]: 266 - Value[KEY_PAGE_DOWN]: 267 - Value[KEY_HOME]: 268 - Value[KEY_END]: 269 - Value[KEY_CAPS_LOCK]: 280 - Value[KEY_SCROLL_LOCK]: 281 - Value[KEY_NUM_LOCK]: 282 - Value[KEY_PRINT_SCREEN]: 283 - Value[KEY_PAUSE]: 284 - Value[KEY_F1]: 290 - Value[KEY_F2]: 291 - Value[KEY_F3]: 292 - Value[KEY_F4]: 293 - Value[KEY_F5]: 294 - Value[KEY_F6]: 295 - Value[KEY_F7]: 296 - Value[KEY_F8]: 297 - Value[KEY_F9]: 298 - Value[KEY_F10]: 299 - Value[KEY_F11]: 300 - Value[KEY_F12]: 301 - Value[KEY_LEFT_SHIFT]: 340 - Value[KEY_LEFT_CONTROL]: 341 - Value[KEY_LEFT_ALT]: 342 - Value[KEY_LEFT_SUPER]: 343 - Value[KEY_RIGHT_SHIFT]: 344 - Value[KEY_RIGHT_CONTROL]: 345 - Value[KEY_RIGHT_ALT]: 346 - Value[KEY_RIGHT_SUPER]: 347 - Value[KEY_KB_MENU]: 348 - Value[KEY_KP_0]: 320 - Value[KEY_KP_1]: 321 - Value[KEY_KP_2]: 322 - Value[KEY_KP_3]: 323 - Value[KEY_KP_4]: 324 - Value[KEY_KP_5]: 325 - Value[KEY_KP_6]: 326 - Value[KEY_KP_7]: 327 - Value[KEY_KP_8]: 328 - Value[KEY_KP_9]: 329 - Value[KEY_KP_DECIMAL]: 330 - Value[KEY_KP_DIVIDE]: 331 - Value[KEY_KP_MULTIPLY]: 332 - Value[KEY_KP_SUBTRACT]: 333 - Value[KEY_KP_ADD]: 334 - Value[KEY_KP_ENTER]: 335 - Value[KEY_KP_EQUAL]: 336 - Value[KEY_BACK]: 4 - Value[KEY_MENU]: 82 - Value[KEY_VOLUME_UP]: 24 - Value[KEY_VOLUME_DOWN]: 25 -Enum 04: MouseButton (7 values) - Name: MouseButton - Description: Mouse buttons - Value[MOUSE_BUTTON_LEFT]: 0 - Value[MOUSE_BUTTON_RIGHT]: 1 - Value[MOUSE_BUTTON_MIDDLE]: 2 - Value[MOUSE_BUTTON_SIDE]: 3 - Value[MOUSE_BUTTON_EXTRA]: 4 - Value[MOUSE_BUTTON_FORWARD]: 5 - Value[MOUSE_BUTTON_BACK]: 6 -Enum 05: MouseCursor (11 values) - Name: MouseCursor - Description: Mouse cursor - Value[MOUSE_CURSOR_DEFAULT]: 0 - Value[MOUSE_CURSOR_ARROW]: 1 - Value[MOUSE_CURSOR_IBEAM]: 2 - Value[MOUSE_CURSOR_CROSSHAIR]: 3 - Value[MOUSE_CURSOR_POINTING_HAND]: 4 - Value[MOUSE_CURSOR_RESIZE_EW]: 5 - Value[MOUSE_CURSOR_RESIZE_NS]: 6 - Value[MOUSE_CURSOR_RESIZE_NWSE]: 7 - Value[MOUSE_CURSOR_RESIZE_NESW]: 8 - Value[MOUSE_CURSOR_RESIZE_ALL]: 9 - Value[MOUSE_CURSOR_NOT_ALLOWED]: 10 -Enum 06: GamepadButton (18 values) - Name: GamepadButton - Description: Gamepad buttons - Value[GAMEPAD_BUTTON_UNKNOWN]: 0 - Value[GAMEPAD_BUTTON_LEFT_FACE_UP]: 1 - Value[GAMEPAD_BUTTON_LEFT_FACE_RIGHT]: 2 - Value[GAMEPAD_BUTTON_LEFT_FACE_DOWN]: 3 - Value[GAMEPAD_BUTTON_LEFT_FACE_LEFT]: 4 - Value[GAMEPAD_BUTTON_RIGHT_FACE_UP]: 5 - Value[GAMEPAD_BUTTON_RIGHT_FACE_RIGHT]: 6 - Value[GAMEPAD_BUTTON_RIGHT_FACE_DOWN]: 7 - Value[GAMEPAD_BUTTON_RIGHT_FACE_LEFT]: 8 - Value[GAMEPAD_BUTTON_LEFT_TRIGGER_1]: 9 - Value[GAMEPAD_BUTTON_LEFT_TRIGGER_2]: 10 - Value[GAMEPAD_BUTTON_RIGHT_TRIGGER_1]: 11 - Value[GAMEPAD_BUTTON_RIGHT_TRIGGER_2]: 12 - Value[GAMEPAD_BUTTON_MIDDLE_LEFT]: 13 - Value[GAMEPAD_BUTTON_MIDDLE]: 14 - Value[GAMEPAD_BUTTON_MIDDLE_RIGHT]: 15 - Value[GAMEPAD_BUTTON_LEFT_THUMB]: 16 - Value[GAMEPAD_BUTTON_RIGHT_THUMB]: 17 -Enum 07: GamepadAxis (6 values) - Name: GamepadAxis - Description: Gamepad axis - Value[GAMEPAD_AXIS_LEFT_X]: 0 - Value[GAMEPAD_AXIS_LEFT_Y]: 1 - Value[GAMEPAD_AXIS_RIGHT_X]: 2 - Value[GAMEPAD_AXIS_RIGHT_Y]: 3 - Value[GAMEPAD_AXIS_LEFT_TRIGGER]: 4 - Value[GAMEPAD_AXIS_RIGHT_TRIGGER]: 5 -Enum 08: MaterialMapIndex (11 values) - Name: MaterialMapIndex - Description: Material map index - Value[MATERIAL_MAP_ALBEDO]: 0 - Value[MATERIAL_MAP_METALNESS]: 1 - Value[MATERIAL_MAP_NORMAL]: 2 - Value[MATERIAL_MAP_ROUGHNESS]: 3 - Value[MATERIAL_MAP_OCCLUSION]: 4 - Value[MATERIAL_MAP_EMISSION]: 5 - Value[MATERIAL_MAP_HEIGHT]: 6 - Value[MATERIAL_MAP_CUBEMAP]: 7 - Value[MATERIAL_MAP_IRRADIANCE]: 8 - Value[MATERIAL_MAP_PREFILTER]: 9 - Value[MATERIAL_MAP_BRDF]: 10 -Enum 09: ShaderLocationIndex (26 values) - Name: ShaderLocationIndex - Description: Shader location index - Value[SHADER_LOC_VERTEX_POSITION]: 0 - Value[SHADER_LOC_VERTEX_TEXCOORD01]: 1 - Value[SHADER_LOC_VERTEX_TEXCOORD02]: 2 - Value[SHADER_LOC_VERTEX_NORMAL]: 3 - Value[SHADER_LOC_VERTEX_TANGENT]: 4 - Value[SHADER_LOC_VERTEX_COLOR]: 5 - Value[SHADER_LOC_MATRIX_MVP]: 6 - Value[SHADER_LOC_MATRIX_VIEW]: 7 - Value[SHADER_LOC_MATRIX_PROJECTION]: 8 - Value[SHADER_LOC_MATRIX_MODEL]: 9 - Value[SHADER_LOC_MATRIX_NORMAL]: 10 - Value[SHADER_LOC_VECTOR_VIEW]: 11 - Value[SHADER_LOC_COLOR_DIFFUSE]: 12 - Value[SHADER_LOC_COLOR_SPECULAR]: 13 - Value[SHADER_LOC_COLOR_AMBIENT]: 14 - Value[SHADER_LOC_MAP_ALBEDO]: 15 - Value[SHADER_LOC_MAP_METALNESS]: 16 - Value[SHADER_LOC_MAP_NORMAL]: 17 - Value[SHADER_LOC_MAP_ROUGHNESS]: 18 - Value[SHADER_LOC_MAP_OCCLUSION]: 19 - Value[SHADER_LOC_MAP_EMISSION]: 20 - Value[SHADER_LOC_MAP_HEIGHT]: 21 - Value[SHADER_LOC_MAP_CUBEMAP]: 22 - Value[SHADER_LOC_MAP_IRRADIANCE]: 23 - Value[SHADER_LOC_MAP_PREFILTER]: 24 - Value[SHADER_LOC_MAP_BRDF]: 25 -Enum 10: ShaderUniformDataType (9 values) - Name: ShaderUniformDataType - Description: Shader uniform data type - Value[SHADER_UNIFORM_FLOAT]: 0 - Value[SHADER_UNIFORM_VEC2]: 1 - Value[SHADER_UNIFORM_VEC3]: 2 - Value[SHADER_UNIFORM_VEC4]: 3 - Value[SHADER_UNIFORM_INT]: 4 - Value[SHADER_UNIFORM_IVEC2]: 5 - Value[SHADER_UNIFORM_IVEC3]: 6 - Value[SHADER_UNIFORM_IVEC4]: 7 - Value[SHADER_UNIFORM_SAMPLER2D]: 8 -Enum 11: ShaderAttributeDataType (4 values) - Name: ShaderAttributeDataType - Description: Shader attribute data types - Value[SHADER_ATTRIB_FLOAT]: 0 - Value[SHADER_ATTRIB_VEC2]: 1 - Value[SHADER_ATTRIB_VEC3]: 2 - Value[SHADER_ATTRIB_VEC4]: 3 -Enum 12: PixelFormat (21 values) - Name: PixelFormat - Description: Pixel formats - Value[PIXELFORMAT_UNCOMPRESSED_GRAYSCALE]: 1 - Value[PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA]: 2 - Value[PIXELFORMAT_UNCOMPRESSED_R5G6B5]: 3 - Value[PIXELFORMAT_UNCOMPRESSED_R8G8B8]: 4 - Value[PIXELFORMAT_UNCOMPRESSED_R5G5B5A1]: 5 - Value[PIXELFORMAT_UNCOMPRESSED_R4G4B4A4]: 6 - Value[PIXELFORMAT_UNCOMPRESSED_R8G8B8A8]: 7 - Value[PIXELFORMAT_UNCOMPRESSED_R32]: 8 - Value[PIXELFORMAT_UNCOMPRESSED_R32G32B32]: 9 - Value[PIXELFORMAT_UNCOMPRESSED_R32G32B32A32]: 10 - Value[PIXELFORMAT_COMPRESSED_DXT1_RGB]: 11 - Value[PIXELFORMAT_COMPRESSED_DXT1_RGBA]: 12 - Value[PIXELFORMAT_COMPRESSED_DXT3_RGBA]: 13 - Value[PIXELFORMAT_COMPRESSED_DXT5_RGBA]: 14 - Value[PIXELFORMAT_COMPRESSED_ETC1_RGB]: 15 - Value[PIXELFORMAT_COMPRESSED_ETC2_RGB]: 16 - Value[PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA]: 17 - Value[PIXELFORMAT_COMPRESSED_PVRT_RGB]: 18 - Value[PIXELFORMAT_COMPRESSED_PVRT_RGBA]: 19 - Value[PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA]: 20 - Value[PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA]: 21 -Enum 13: TextureFilter (6 values) - Name: TextureFilter - Description: Texture parameters: filter mode - Value[TEXTURE_FILTER_POINT]: 0 - Value[TEXTURE_FILTER_BILINEAR]: 1 - Value[TEXTURE_FILTER_TRILINEAR]: 2 - Value[TEXTURE_FILTER_ANISOTROPIC_4X]: 3 - Value[TEXTURE_FILTER_ANISOTROPIC_8X]: 4 - Value[TEXTURE_FILTER_ANISOTROPIC_16X]: 5 -Enum 14: TextureWrap (4 values) - Name: TextureWrap - Description: Texture parameters: wrap mode - Value[TEXTURE_WRAP_REPEAT]: 0 - Value[TEXTURE_WRAP_CLAMP]: 1 - Value[TEXTURE_WRAP_MIRROR_REPEAT]: 2 - Value[TEXTURE_WRAP_MIRROR_CLAMP]: 3 -Enum 15: CubemapLayout (6 values) - Name: CubemapLayout - Description: Cubemap layouts - Value[CUBEMAP_LAYOUT_AUTO_DETECT]: 0 - Value[CUBEMAP_LAYOUT_LINE_VERTICAL]: 1 - Value[CUBEMAP_LAYOUT_LINE_HORIZONTAL]: 2 - Value[CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR]: 3 - Value[CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE]: 4 - Value[CUBEMAP_LAYOUT_PANORAMA]: 5 -Enum 16: FontType (3 values) - Name: FontType - Description: Font type, defines generation method - Value[FONT_DEFAULT]: 0 - Value[FONT_BITMAP]: 1 - Value[FONT_SDF]: 2 -Enum 17: BlendMode (7 values) - Name: BlendMode - Description: Color blending modes (pre-defined) - Value[BLEND_ALPHA]: 0 - Value[BLEND_ADDITIVE]: 1 - Value[BLEND_MULTIPLIED]: 2 - Value[BLEND_ADD_COLORS]: 3 - Value[BLEND_SUBTRACT_COLORS]: 4 - Value[BLEND_ALPHA_PREMUL]: 5 - Value[BLEND_CUSTOM]: 6 -Enum 18: Gesture (11 values) - Name: Gesture - Description: Gesture - Value[GESTURE_NONE]: 0 - Value[GESTURE_TAP]: 1 - Value[GESTURE_DOUBLETAP]: 2 - Value[GESTURE_HOLD]: 4 - Value[GESTURE_DRAG]: 8 - Value[GESTURE_SWIPE_RIGHT]: 16 - Value[GESTURE_SWIPE_LEFT]: 32 - Value[GESTURE_SWIPE_UP]: 64 - Value[GESTURE_SWIPE_DOWN]: 128 - Value[GESTURE_PINCH_IN]: 256 - Value[GESTURE_PINCH_OUT]: 512 -Enum 19: CameraMode (5 values) - Name: CameraMode - Description: Camera system modes - Value[CAMERA_CUSTOM]: 0 - Value[CAMERA_FREE]: 1 - Value[CAMERA_ORBITAL]: 2 - Value[CAMERA_FIRST_PERSON]: 3 - Value[CAMERA_THIRD_PERSON]: 4 -Enum 20: CameraProjection (2 values) - Name: CameraProjection - Description: Camera projection - Value[CAMERA_PERSPECTIVE]: 0 - Value[CAMERA_ORTHOGRAPHIC]: 1 -Enum 21: NPatchLayout (3 values) - Name: NPatchLayout - Description: N-patch layout - Value[NPATCH_NINE_PATCH]: 0 - Value[NPATCH_THREE_PATCH_VERTICAL]: 1 - Value[NPATCH_THREE_PATCH_HORIZONTAL]: 2 - -Functions found: 499 - -Function 001: InitWindow() (3 input parameters) - Name: InitWindow - Return type: void - Description: Initialize window and OpenGL context - Param[1]: width (type: int) - Param[2]: height (type: int) - Param[3]: title (type: const char *) -Function 002: WindowShouldClose() (0 input parameters) - Name: WindowShouldClose - Return type: bool - Description: Check if KEY_ESCAPE pressed or Close icon pressed - No input parameters -Function 003: CloseWindow() (0 input parameters) - Name: CloseWindow - Return type: void - Description: Close window and unload OpenGL context - No input parameters -Function 004: IsWindowReady() (0 input parameters) - Name: IsWindowReady - Return type: bool - Description: Check if window has been initialized successfully - No input parameters -Function 005: IsWindowFullscreen() (0 input parameters) - Name: IsWindowFullscreen - Return type: bool - Description: Check if window is currently fullscreen - No input parameters -Function 006: IsWindowHidden() (0 input parameters) - Name: IsWindowHidden - Return type: bool - Description: Check if window is currently hidden (only PLATFORM_DESKTOP) - No input parameters -Function 007: IsWindowMinimized() (0 input parameters) - Name: IsWindowMinimized - Return type: bool - Description: Check if window is currently minimized (only PLATFORM_DESKTOP) - No input parameters -Function 008: IsWindowMaximized() (0 input parameters) - Name: IsWindowMaximized - Return type: bool - Description: Check if window is currently maximized (only PLATFORM_DESKTOP) - No input parameters -Function 009: IsWindowFocused() (0 input parameters) - Name: IsWindowFocused - Return type: bool - Description: Check if window is currently focused (only PLATFORM_DESKTOP) - No input parameters -Function 010: IsWindowResized() (0 input parameters) - Name: IsWindowResized - Return type: bool - Description: Check if window has been resized last frame - No input parameters -Function 011: IsWindowState() (1 input parameters) - Name: IsWindowState - Return type: bool - Description: Check if one specific window flag is enabled - Param[1]: flag (type: unsigned int) -Function 012: SetWindowState() (1 input parameters) - Name: SetWindowState - Return type: void - Description: Set window configuration state using flags (only PLATFORM_DESKTOP) - Param[1]: flags (type: unsigned int) -Function 013: ClearWindowState() (1 input parameters) - Name: ClearWindowState - Return type: void - Description: Clear window configuration state flags - Param[1]: flags (type: unsigned int) -Function 014: ToggleFullscreen() (0 input parameters) - Name: ToggleFullscreen - Return type: void - Description: Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP) - No input parameters -Function 015: MaximizeWindow() (0 input parameters) - Name: MaximizeWindow - Return type: void - Description: Set window state: maximized, if resizable (only PLATFORM_DESKTOP) - No input parameters -Function 016: MinimizeWindow() (0 input parameters) - Name: MinimizeWindow - Return type: void - Description: Set window state: minimized, if resizable (only PLATFORM_DESKTOP) - No input parameters -Function 017: RestoreWindow() (0 input parameters) - Name: RestoreWindow - Return type: void - Description: Set window state: not minimized/maximized (only PLATFORM_DESKTOP) - No input parameters -Function 018: SetWindowIcon() (1 input parameters) - Name: SetWindowIcon - Return type: void - Description: Set icon for window (only PLATFORM_DESKTOP) - Param[1]: image (type: Image) -Function 019: SetWindowTitle() (1 input parameters) - Name: SetWindowTitle - Return type: void - Description: Set title for window (only PLATFORM_DESKTOP) - Param[1]: title (type: const char *) -Function 020: SetWindowPosition() (2 input parameters) - Name: SetWindowPosition - Return type: void - Description: Set window position on screen (only PLATFORM_DESKTOP) - Param[1]: x (type: int) - Param[2]: y (type: int) -Function 021: SetWindowMonitor() (1 input parameters) - Name: SetWindowMonitor - Return type: void - Description: Set monitor for the current window (fullscreen mode) - Param[1]: monitor (type: int) -Function 022: SetWindowMinSize() (2 input parameters) - Name: SetWindowMinSize - Return type: void - Description: Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE) - Param[1]: width (type: int) - Param[2]: height (type: int) -Function 023: SetWindowSize() (2 input parameters) - Name: SetWindowSize - Return type: void - Description: Set window dimensions - Param[1]: width (type: int) - Param[2]: height (type: int) -Function 024: SetWindowOpacity() (1 input parameters) - Name: SetWindowOpacity - Return type: void - Description: Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP) - Param[1]: opacity (type: float) -Function 025: GetWindowHandle() (0 input parameters) - Name: GetWindowHandle - Return type: void * - Description: Get native window handle - No input parameters -Function 026: GetScreenWidth() (0 input parameters) - Name: GetScreenWidth - Return type: int - Description: Get current screen width - No input parameters -Function 027: GetScreenHeight() (0 input parameters) - Name: GetScreenHeight - Return type: int - Description: Get current screen height - No input parameters -Function 028: GetRenderWidth() (0 input parameters) - Name: GetRenderWidth - Return type: int - Description: Get current render width (it considers HiDPI) - No input parameters -Function 029: GetRenderHeight() (0 input parameters) - Name: GetRenderHeight - Return type: int - Description: Get current render height (it considers HiDPI) - No input parameters -Function 030: GetMonitorCount() (0 input parameters) - Name: GetMonitorCount - Return type: int - Description: Get number of connected monitors - No input parameters -Function 031: GetCurrentMonitor() (0 input parameters) - Name: GetCurrentMonitor - Return type: int - Description: Get current connected monitor - No input parameters -Function 032: GetMonitorPosition() (1 input parameters) - Name: GetMonitorPosition - Return type: Vector2 - Description: Get specified monitor position - Param[1]: monitor (type: int) -Function 033: GetMonitorWidth() (1 input parameters) - Name: GetMonitorWidth - Return type: int - Description: Get specified monitor width (max available by monitor) - Param[1]: monitor (type: int) -Function 034: GetMonitorHeight() (1 input parameters) - Name: GetMonitorHeight - Return type: int - Description: Get specified monitor height (max available by monitor) - Param[1]: monitor (type: int) -Function 035: GetMonitorPhysicalWidth() (1 input parameters) - Name: GetMonitorPhysicalWidth - Return type: int - Description: Get specified monitor physical width in millimetres - Param[1]: monitor (type: int) -Function 036: GetMonitorPhysicalHeight() (1 input parameters) - Name: GetMonitorPhysicalHeight - Return type: int - Description: Get specified monitor physical height in millimetres - Param[1]: monitor (type: int) -Function 037: GetMonitorRefreshRate() (1 input parameters) - Name: GetMonitorRefreshRate - Return type: int - Description: Get specified monitor refresh rate - Param[1]: monitor (type: int) -Function 038: GetWindowPosition() (0 input parameters) - Name: GetWindowPosition - Return type: Vector2 - Description: Get window position XY on monitor - No input parameters -Function 039: GetWindowScaleDPI() (0 input parameters) - Name: GetWindowScaleDPI - Return type: Vector2 - Description: Get window scale DPI factor - No input parameters -Function 040: GetMonitorName() (1 input parameters) - Name: GetMonitorName - Return type: const char * - Description: Get the human-readable, UTF-8 encoded name of the primary monitor - Param[1]: monitor (type: int) -Function 041: SetClipboardText() (1 input parameters) - Name: SetClipboardText - Return type: void - Description: Set clipboard text content - Param[1]: text (type: const char *) -Function 042: GetClipboardText() (0 input parameters) - Name: GetClipboardText - Return type: const char * - Description: Get clipboard text content - No input parameters -Function 043: SwapScreenBuffer() (0 input parameters) - Name: SwapScreenBuffer - Return type: void - Description: Swap back buffer with front buffer (screen drawing) - No input parameters -Function 044: PollInputEvents() (0 input parameters) - Name: PollInputEvents - Return type: void - Description: Register all input events - No input parameters -Function 045: WaitTime() (1 input parameters) - Name: WaitTime - Return type: void - Description: Wait for some milliseconds (halt program execution) - Param[1]: ms (type: float) -Function 046: ShowCursor() (0 input parameters) - Name: ShowCursor - Return type: void - Description: Shows cursor - No input parameters -Function 047: HideCursor() (0 input parameters) - Name: HideCursor - Return type: void - Description: Hides cursor - No input parameters -Function 048: IsCursorHidden() (0 input parameters) - Name: IsCursorHidden - Return type: bool - Description: Check if cursor is not visible - No input parameters -Function 049: EnableCursor() (0 input parameters) - Name: EnableCursor - Return type: void - Description: Enables cursor (unlock cursor) - No input parameters -Function 050: DisableCursor() (0 input parameters) - Name: DisableCursor - Return type: void - Description: Disables cursor (lock cursor) - No input parameters -Function 051: IsCursorOnScreen() (0 input parameters) - Name: IsCursorOnScreen - Return type: bool - Description: Check if cursor is on the screen - No input parameters -Function 052: ClearBackground() (1 input parameters) - Name: ClearBackground - Return type: void - Description: Set background color (framebuffer clear color) - Param[1]: color (type: Color) -Function 053: BeginDrawing() (0 input parameters) - Name: BeginDrawing - Return type: void - Description: Setup canvas (framebuffer) to start drawing - No input parameters -Function 054: EndDrawing() (0 input parameters) - Name: EndDrawing - Return type: void - Description: End canvas drawing and swap buffers (double buffering) - No input parameters -Function 055: BeginMode2D() (1 input parameters) - Name: BeginMode2D - Return type: void - Description: Begin 2D mode with custom camera (2D) - Param[1]: camera (type: Camera2D) -Function 056: EndMode2D() (0 input parameters) - Name: EndMode2D - Return type: void - Description: Ends 2D mode with custom camera - No input parameters -Function 057: BeginMode3D() (1 input parameters) - Name: BeginMode3D - Return type: void - Description: Begin 3D mode with custom camera (3D) - Param[1]: camera (type: Camera3D) -Function 058: EndMode3D() (0 input parameters) - Name: EndMode3D - Return type: void - Description: Ends 3D mode and returns to default 2D orthographic mode - No input parameters -Function 059: BeginTextureMode() (1 input parameters) - Name: BeginTextureMode - Return type: void - Description: Begin drawing to render texture - Param[1]: target (type: RenderTexture2D) -Function 060: EndTextureMode() (0 input parameters) - Name: EndTextureMode - Return type: void - Description: Ends drawing to render texture - No input parameters -Function 061: BeginShaderMode() (1 input parameters) - Name: BeginShaderMode - Return type: void - Description: Begin custom shader drawing - Param[1]: shader (type: Shader) -Function 062: EndShaderMode() (0 input parameters) - Name: EndShaderMode - Return type: void - Description: End custom shader drawing (use default shader) - No input parameters -Function 063: BeginBlendMode() (1 input parameters) - Name: BeginBlendMode - Return type: void - Description: Begin blending mode (alpha, additive, multiplied, subtract, custom) - Param[1]: mode (type: int) -Function 064: EndBlendMode() (0 input parameters) - Name: EndBlendMode - Return type: void - Description: End blending mode (reset to default: alpha blending) - No input parameters -Function 065: BeginScissorMode() (4 input parameters) - Name: BeginScissorMode - Return type: void - Description: Begin scissor mode (define screen area for following drawing) - Param[1]: x (type: int) - Param[2]: y (type: int) - Param[3]: width (type: int) - Param[4]: height (type: int) -Function 066: EndScissorMode() (0 input parameters) - Name: EndScissorMode - Return type: void - Description: End scissor mode - No input parameters -Function 067: BeginVrStereoMode() (1 input parameters) - Name: BeginVrStereoMode - Return type: void - Description: Begin stereo rendering (requires VR simulator) - Param[1]: config (type: VrStereoConfig) -Function 068: EndVrStereoMode() (0 input parameters) - Name: EndVrStereoMode - Return type: void - Description: End stereo rendering (requires VR simulator) - No input parameters -Function 069: LoadVrStereoConfig() (1 input parameters) - Name: LoadVrStereoConfig - Return type: VrStereoConfig - Description: Load VR stereo config for VR simulator device parameters - Param[1]: device (type: VrDeviceInfo) -Function 070: UnloadVrStereoConfig() (1 input parameters) - Name: UnloadVrStereoConfig - Return type: void - Description: Unload VR stereo config - Param[1]: config (type: VrStereoConfig) -Function 071: LoadShader() (2 input parameters) - Name: LoadShader - Return type: Shader - Description: Load shader from files and bind default locations - Param[1]: vsFileName (type: const char *) - Param[2]: fsFileName (type: const char *) -Function 072: LoadShaderFromMemory() (2 input parameters) - Name: LoadShaderFromMemory - Return type: Shader - Description: Load shader from code strings and bind default locations - Param[1]: vsCode (type: const char *) - Param[2]: fsCode (type: const char *) -Function 073: GetShaderLocation() (2 input parameters) - Name: GetShaderLocation - Return type: int - Description: Get shader uniform location - Param[1]: shader (type: Shader) - Param[2]: uniformName (type: const char *) -Function 074: GetShaderLocationAttrib() (2 input parameters) - Name: GetShaderLocationAttrib - Return type: int - Description: Get shader attribute location - Param[1]: shader (type: Shader) - Param[2]: attribName (type: const char *) -Function 075: SetShaderValue() (4 input parameters) - Name: SetShaderValue - Return type: void - Description: Set shader uniform value - Param[1]: shader (type: Shader) - Param[2]: locIndex (type: int) - Param[3]: value (type: const void *) - Param[4]: uniformType (type: int) -Function 076: SetShaderValueV() (5 input parameters) - Name: SetShaderValueV - Return type: void - Description: Set shader uniform value vector - Param[1]: shader (type: Shader) - Param[2]: locIndex (type: int) - Param[3]: value (type: const void *) - Param[4]: uniformType (type: int) - Param[5]: count (type: int) -Function 077: SetShaderValueMatrix() (3 input parameters) - Name: SetShaderValueMatrix - Return type: void - Description: Set shader uniform value (matrix 4x4) - Param[1]: shader (type: Shader) - Param[2]: locIndex (type: int) - Param[3]: mat (type: Matrix) -Function 078: SetShaderValueTexture() (3 input parameters) - Name: SetShaderValueTexture - Return type: void - Description: Set shader uniform value for texture (sampler2d) - Param[1]: shader (type: Shader) - Param[2]: locIndex (type: int) - Param[3]: texture (type: Texture2D) -Function 079: UnloadShader() (1 input parameters) - Name: UnloadShader - Return type: void - Description: Unload shader from GPU memory (VRAM) - Param[1]: shader (type: Shader) -Function 080: GetMouseRay() (2 input parameters) - Name: GetMouseRay - Return type: Ray - Description: Get a ray trace from mouse position - Param[1]: mousePosition (type: Vector2) - Param[2]: camera (type: Camera) -Function 081: GetCameraMatrix() (1 input parameters) - Name: GetCameraMatrix - Return type: Matrix - Description: Get camera transform matrix (view matrix) - Param[1]: camera (type: Camera) -Function 082: GetCameraMatrix2D() (1 input parameters) - Name: GetCameraMatrix2D - Return type: Matrix - Description: Get camera 2d transform matrix - Param[1]: camera (type: Camera2D) -Function 083: GetWorldToScreen() (2 input parameters) - Name: GetWorldToScreen - Return type: Vector2 - Description: Get the screen space position for a 3d world space position - Param[1]: position (type: Vector3) - Param[2]: camera (type: Camera) -Function 084: GetWorldToScreenEx() (4 input parameters) - Name: GetWorldToScreenEx - Return type: Vector2 - Description: Get size position for a 3d world space position - Param[1]: position (type: Vector3) - Param[2]: camera (type: Camera) - Param[3]: width (type: int) - Param[4]: height (type: int) -Function 085: GetWorldToScreen2D() (2 input parameters) - Name: GetWorldToScreen2D - Return type: Vector2 - Description: Get the screen space position for a 2d camera world space position - Param[1]: position (type: Vector2) - Param[2]: camera (type: Camera2D) -Function 086: GetScreenToWorld2D() (2 input parameters) - Name: GetScreenToWorld2D - Return type: Vector2 - Description: Get the world space position for a 2d camera screen space position - Param[1]: position (type: Vector2) - Param[2]: camera (type: Camera2D) -Function 087: SetTargetFPS() (1 input parameters) - Name: SetTargetFPS - Return type: void - Description: Set target FPS (maximum) - Param[1]: fps (type: int) -Function 088: GetFPS() (0 input parameters) - Name: GetFPS - Return type: int - Description: Get current FPS - No input parameters -Function 089: GetFrameTime() (0 input parameters) - Name: GetFrameTime - Return type: float - Description: Get time in seconds for last frame drawn (delta time) - No input parameters -Function 090: GetTime() (0 input parameters) - Name: GetTime - Return type: double - Description: Get elapsed time in seconds since InitWindow() - No input parameters -Function 091: GetRandomValue() (2 input parameters) - Name: GetRandomValue - Return type: int - Description: Get a random value between min and max (both included) - Param[1]: min (type: int) - Param[2]: max (type: int) -Function 092: SetRandomSeed() (1 input parameters) - Name: SetRandomSeed - Return type: void - Description: Set the seed for the random number generator - Param[1]: seed (type: unsigned int) -Function 093: TakeScreenshot() (1 input parameters) - Name: TakeScreenshot - Return type: void - Description: Takes a screenshot of current screen (filename extension defines format) - Param[1]: fileName (type: const char *) -Function 094: SetConfigFlags() (1 input parameters) - Name: SetConfigFlags - Return type: void - Description: Setup init configuration flags (view FLAGS) - Param[1]: flags (type: unsigned int) -Function 095: TraceLog() (3 input parameters) - Name: TraceLog - Return type: void - Description: Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...) - Param[1]: logLevel (type: int) - Param[2]: text (type: const char *) - Param[3]: args (type: ...) -Function 096: SetTraceLogLevel() (1 input parameters) - Name: SetTraceLogLevel - Return type: void - Description: Set the current threshold (minimum) log level - Param[1]: logLevel (type: int) -Function 097: MemAlloc() (1 input parameters) - Name: MemAlloc - Return type: void * - Description: Internal memory allocator - Param[1]: size (type: int) -Function 098: MemRealloc() (2 input parameters) - Name: MemRealloc - Return type: void * - Description: Internal memory reallocator - Param[1]: ptr (type: void *) - Param[2]: size (type: int) -Function 099: MemFree() (1 input parameters) - Name: MemFree - Return type: void - Description: Internal memory free - Param[1]: ptr (type: void *) -Function 100: SetTraceLogCallback() (1 input parameters) - Name: SetTraceLogCallback - Return type: void - Description: Set custom trace log - Param[1]: callback (type: TraceLogCallback) -Function 101: SetLoadFileDataCallback() (1 input parameters) - Name: SetLoadFileDataCallback - Return type: void - Description: Set custom file binary data loader - Param[1]: callback (type: LoadFileDataCallback) -Function 102: SetSaveFileDataCallback() (1 input parameters) - Name: SetSaveFileDataCallback - Return type: void - Description: Set custom file binary data saver - Param[1]: callback (type: SaveFileDataCallback) -Function 103: SetLoadFileTextCallback() (1 input parameters) - Name: SetLoadFileTextCallback - Return type: void - Description: Set custom file text data loader - Param[1]: callback (type: LoadFileTextCallback) -Function 104: SetSaveFileTextCallback() (1 input parameters) - Name: SetSaveFileTextCallback - Return type: void - Description: Set custom file text data saver - Param[1]: callback (type: SaveFileTextCallback) -Function 105: LoadFileData() (2 input parameters) - Name: LoadFileData - Return type: unsigned char * - Description: Load file data as byte array (read) - Param[1]: fileName (type: const char *) - Param[2]: bytesRead (type: unsigned int *) -Function 106: UnloadFileData() (1 input parameters) - Name: UnloadFileData - Return type: void - Description: Unload file data allocated by LoadFileData() - Param[1]: data (type: unsigned char *) -Function 107: SaveFileData() (3 input parameters) - Name: SaveFileData - Return type: bool - Description: Save data to file from byte array (write), returns true on success - Param[1]: fileName (type: const char *) - Param[2]: data (type: void *) - Param[3]: bytesToWrite (type: unsigned int) -Function 108: LoadFileText() (1 input parameters) - Name: LoadFileText - Return type: char * - Description: Load text data from file (read), returns a '\0' terminated string - Param[1]: fileName (type: const char *) -Function 109: UnloadFileText() (1 input parameters) - Name: UnloadFileText - Return type: void - Description: Unload file text data allocated by LoadFileText() - Param[1]: text (type: char *) -Function 110: SaveFileText() (2 input parameters) - Name: SaveFileText - Return type: bool - Description: Save text data to file (write), string must be '\0' terminated, returns true on success - Param[1]: fileName (type: const char *) - Param[2]: text (type: char *) -Function 111: FileExists() (1 input parameters) - Name: FileExists - Return type: bool - Description: Check if file exists - Param[1]: fileName (type: const char *) -Function 112: DirectoryExists() (1 input parameters) - Name: DirectoryExists - Return type: bool - Description: Check if a directory path exists - Param[1]: dirPath (type: const char *) -Function 113: IsFileExtension() (2 input parameters) - Name: IsFileExtension - Return type: bool - Description: Check file extension (including point: .png, .wav) - Param[1]: fileName (type: const char *) - Param[2]: ext (type: const char *) -Function 114: GetFileLength() (1 input parameters) - Name: GetFileLength - Return type: int - Description: Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h) - Param[1]: fileName (type: const char *) -Function 115: GetFileExtension() (1 input parameters) - Name: GetFileExtension - Return type: const char * - Description: Get pointer to extension for a filename string (includes dot: '.png') - Param[1]: fileName (type: const char *) -Function 116: GetFileName() (1 input parameters) - Name: GetFileName - Return type: const char * - Description: Get pointer to filename for a path string - Param[1]: filePath (type: const char *) -Function 117: GetFileNameWithoutExt() (1 input parameters) - Name: GetFileNameWithoutExt - Return type: const char * - Description: Get filename string without extension (uses static string) - Param[1]: filePath (type: const char *) -Function 118: GetDirectoryPath() (1 input parameters) - Name: GetDirectoryPath - Return type: const char * - Description: Get full path for a given fileName with path (uses static string) - Param[1]: filePath (type: const char *) -Function 119: GetPrevDirectoryPath() (1 input parameters) - Name: GetPrevDirectoryPath - Return type: const char * - Description: Get previous directory path for a given path (uses static string) - Param[1]: dirPath (type: const char *) -Function 120: GetWorkingDirectory() (0 input parameters) - Name: GetWorkingDirectory - Return type: const char * - Description: Get current working directory (uses static string) - No input parameters -Function 121: GetApplicationDirectory() (0 input parameters) - Name: GetApplicationDirectory - Return type: const char * - Description: Get the directory if the running application (uses static string) - No input parameters -Function 122: GetDirectoryFiles() (2 input parameters) - Name: GetDirectoryFiles - Return type: char ** - Description: Get filenames in a directory path (memory must be freed) - Param[1]: dirPath (type: const char *) - Param[2]: count (type: int *) -Function 123: ClearDirectoryFiles() (0 input parameters) - Name: ClearDirectoryFiles - Return type: void - Description: Clear directory files paths buffers (free memory) - No input parameters -Function 124: ChangeDirectory() (1 input parameters) - Name: ChangeDirectory - Return type: bool - Description: Change working directory, return true on success - Param[1]: dir (type: const char *) -Function 125: IsFileDropped() (0 input parameters) - Name: IsFileDropped - Return type: bool - Description: Check if a file has been dropped into window - No input parameters -Function 126: GetDroppedFiles() (1 input parameters) - Name: GetDroppedFiles - Return type: char ** - Description: Get dropped files names (memory must be freed) - Param[1]: count (type: int *) -Function 127: ClearDroppedFiles() (0 input parameters) - Name: ClearDroppedFiles - Return type: void - Description: Clear dropped files paths buffer (free memory) - No input parameters -Function 128: GetFileModTime() (1 input parameters) - Name: GetFileModTime - Return type: long - Description: Get file modification time (last write time) - Param[1]: fileName (type: const char *) -Function 129: CompressData() (3 input parameters) - Name: CompressData - Return type: unsigned char * - Description: Compress data (DEFLATE algorithm), memory must be MemFree() - Param[1]: data (type: const unsigned char *) - Param[2]: dataSize (type: int) - Param[3]: compDataSize (type: int *) -Function 130: DecompressData() (3 input parameters) - Name: DecompressData - Return type: unsigned char * - Description: Decompress data (DEFLATE algorithm), memory must be MemFree() - Param[1]: compData (type: const unsigned char *) - Param[2]: compDataSize (type: int) - Param[3]: dataSize (type: int *) -Function 131: EncodeDataBase64() (3 input parameters) - Name: EncodeDataBase64 - Return type: char * - Description: Encode data to Base64 string, memory must be MemFree() - Param[1]: data (type: const unsigned char *) - Param[2]: dataSize (type: int) - Param[3]: outputSize (type: int *) -Function 132: DecodeDataBase64() (2 input parameters) - Name: DecodeDataBase64 - Return type: unsigned char * - Description: Decode Base64 string data, memory must be MemFree() - Param[1]: data (type: const unsigned char *) - Param[2]: outputSize (type: int *) -Function 133: SaveStorageValue() (2 input parameters) - Name: SaveStorageValue - Return type: bool - Description: Save integer value to storage file (to defined position), returns true on success - Param[1]: position (type: unsigned int) - Param[2]: value (type: int) -Function 134: LoadStorageValue() (1 input parameters) - Name: LoadStorageValue - Return type: int - Description: Load integer value from storage file (from defined position) - Param[1]: position (type: unsigned int) -Function 135: OpenURL() (1 input parameters) - Name: OpenURL - Return type: void - Description: Open URL with default system browser (if available) - Param[1]: url (type: const char *) -Function 136: IsKeyPressed() (1 input parameters) - Name: IsKeyPressed - Return type: bool - Description: Check if a key has been pressed once - Param[1]: key (type: int) -Function 137: IsKeyDown() (1 input parameters) - Name: IsKeyDown - Return type: bool - Description: Check if a key is being pressed - Param[1]: key (type: int) -Function 138: IsKeyReleased() (1 input parameters) - Name: IsKeyReleased - Return type: bool - Description: Check if a key has been released once - Param[1]: key (type: int) -Function 139: IsKeyUp() (1 input parameters) - Name: IsKeyUp - Return type: bool - Description: Check if a key is NOT being pressed - Param[1]: key (type: int) -Function 140: SetExitKey() (1 input parameters) - Name: SetExitKey - Return type: void - Description: Set a custom key to exit program (default is ESC) - Param[1]: key (type: int) -Function 141: GetKeyPressed() (0 input parameters) - Name: GetKeyPressed - Return type: int - Description: Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty - No input parameters -Function 142: GetCharPressed() (0 input parameters) - Name: GetCharPressed - Return type: int - Description: Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty - No input parameters -Function 143: IsGamepadAvailable() (1 input parameters) - Name: IsGamepadAvailable - Return type: bool - Description: Check if a gamepad is available - Param[1]: gamepad (type: int) -Function 144: GetGamepadName() (1 input parameters) - Name: GetGamepadName - Return type: const char * - Description: Get gamepad internal name id - Param[1]: gamepad (type: int) -Function 145: IsGamepadButtonPressed() (2 input parameters) - Name: IsGamepadButtonPressed - Return type: bool - Description: Check if a gamepad button has been pressed once - Param[1]: gamepad (type: int) - Param[2]: button (type: int) -Function 146: IsGamepadButtonDown() (2 input parameters) - Name: IsGamepadButtonDown - Return type: bool - Description: Check if a gamepad button is being pressed - Param[1]: gamepad (type: int) - Param[2]: button (type: int) -Function 147: IsGamepadButtonReleased() (2 input parameters) - Name: IsGamepadButtonReleased - Return type: bool - Description: Check if a gamepad button has been released once - Param[1]: gamepad (type: int) - Param[2]: button (type: int) -Function 148: IsGamepadButtonUp() (2 input parameters) - Name: IsGamepadButtonUp - Return type: bool - Description: Check if a gamepad button is NOT being pressed - Param[1]: gamepad (type: int) - Param[2]: button (type: int) -Function 149: GetGamepadButtonPressed() (0 input parameters) - Name: GetGamepadButtonPressed - Return type: int - Description: Get the last gamepad button pressed - No input parameters -Function 150: GetGamepadAxisCount() (1 input parameters) - Name: GetGamepadAxisCount - Return type: int - Description: Get gamepad axis count for a gamepad - Param[1]: gamepad (type: int) -Function 151: GetGamepadAxisMovement() (2 input parameters) - Name: GetGamepadAxisMovement - Return type: float - Description: Get axis movement value for a gamepad axis - Param[1]: gamepad (type: int) - Param[2]: axis (type: int) -Function 152: SetGamepadMappings() (1 input parameters) - Name: SetGamepadMappings - Return type: int - Description: Set internal gamepad mappings (SDL_GameControllerDB) - Param[1]: mappings (type: const char *) -Function 153: IsMouseButtonPressed() (1 input parameters) - Name: IsMouseButtonPressed - Return type: bool - Description: Check if a mouse button has been pressed once - Param[1]: button (type: int) -Function 154: IsMouseButtonDown() (1 input parameters) - Name: IsMouseButtonDown - Return type: bool - Description: Check if a mouse button is being pressed - Param[1]: button (type: int) -Function 155: IsMouseButtonReleased() (1 input parameters) - Name: IsMouseButtonReleased - Return type: bool - Description: Check if a mouse button has been released once - Param[1]: button (type: int) -Function 156: IsMouseButtonUp() (1 input parameters) - Name: IsMouseButtonUp - Return type: bool - Description: Check if a mouse button is NOT being pressed - Param[1]: button (type: int) -Function 157: GetMouseX() (0 input parameters) - Name: GetMouseX - Return type: int - Description: Get mouse position X - No input parameters -Function 158: GetMouseY() (0 input parameters) - Name: GetMouseY - Return type: int - Description: Get mouse position Y - No input parameters -Function 159: GetMousePosition() (0 input parameters) - Name: GetMousePosition - Return type: Vector2 - Description: Get mouse position XY - No input parameters -Function 160: GetMouseDelta() (0 input parameters) - Name: GetMouseDelta - Return type: Vector2 - Description: Get mouse delta between frames - No input parameters -Function 161: SetMousePosition() (2 input parameters) - Name: SetMousePosition - Return type: void - Description: Set mouse position XY - Param[1]: x (type: int) - Param[2]: y (type: int) -Function 162: SetMouseOffset() (2 input parameters) - Name: SetMouseOffset - Return type: void - Description: Set mouse offset - Param[1]: offsetX (type: int) - Param[2]: offsetY (type: int) -Function 163: SetMouseScale() (2 input parameters) - Name: SetMouseScale - Return type: void - Description: Set mouse scaling - Param[1]: scaleX (type: float) - Param[2]: scaleY (type: float) -Function 164: GetMouseWheelMove() (0 input parameters) - Name: GetMouseWheelMove - Return type: float - Description: Get mouse wheel movement Y - No input parameters -Function 165: SetMouseCursor() (1 input parameters) - Name: SetMouseCursor - Return type: void - Description: Set mouse cursor - Param[1]: cursor (type: int) -Function 166: GetTouchX() (0 input parameters) - Name: GetTouchX - Return type: int - Description: Get touch position X for touch point 0 (relative to screen size) - No input parameters -Function 167: GetTouchY() (0 input parameters) - Name: GetTouchY - Return type: int - Description: Get touch position Y for touch point 0 (relative to screen size) - No input parameters -Function 168: GetTouchPosition() (1 input parameters) - Name: GetTouchPosition - Return type: Vector2 - Description: Get touch position XY for a touch point index (relative to screen size) - Param[1]: index (type: int) -Function 169: GetTouchPointId() (1 input parameters) - Name: GetTouchPointId - Return type: int - Description: Get touch point identifier for given index - Param[1]: index (type: int) -Function 170: GetTouchPointCount() (0 input parameters) - Name: GetTouchPointCount - Return type: int - Description: Get number of touch points - No input parameters -Function 171: SetGesturesEnabled() (1 input parameters) - Name: SetGesturesEnabled - Return type: void - Description: Enable a set of gestures using flags - Param[1]: flags (type: unsigned int) -Function 172: IsGestureDetected() (1 input parameters) - Name: IsGestureDetected - Return type: bool - Description: Check if a gesture have been detected - Param[1]: gesture (type: int) -Function 173: GetGestureDetected() (0 input parameters) - Name: GetGestureDetected - Return type: int - Description: Get latest detected gesture - No input parameters -Function 174: GetGestureHoldDuration() (0 input parameters) - Name: GetGestureHoldDuration - Return type: float - Description: Get gesture hold time in milliseconds - No input parameters -Function 175: GetGestureDragVector() (0 input parameters) - Name: GetGestureDragVector - Return type: Vector2 - Description: Get gesture drag vector - No input parameters -Function 176: GetGestureDragAngle() (0 input parameters) - Name: GetGestureDragAngle - Return type: float - Description: Get gesture drag angle - No input parameters -Function 177: GetGesturePinchVector() (0 input parameters) - Name: GetGesturePinchVector - Return type: Vector2 - Description: Get gesture pinch delta - No input parameters -Function 178: GetGesturePinchAngle() (0 input parameters) - Name: GetGesturePinchAngle - Return type: float - Description: Get gesture pinch angle - No input parameters -Function 179: SetCameraMode() (2 input parameters) - Name: SetCameraMode - Return type: void - Description: Set camera mode (multiple camera modes available) - Param[1]: camera (type: Camera) - Param[2]: mode (type: int) -Function 180: UpdateCamera() (1 input parameters) - Name: UpdateCamera - Return type: void - Description: Update camera position for selected mode - Param[1]: camera (type: Camera *) -Function 181: SetCameraPanControl() (1 input parameters) - Name: SetCameraPanControl - Return type: void - Description: Set camera pan key to combine with mouse movement (free camera) - Param[1]: keyPan (type: int) -Function 182: SetCameraAltControl() (1 input parameters) - Name: SetCameraAltControl - Return type: void - Description: Set camera alt key to combine with mouse movement (free camera) - Param[1]: keyAlt (type: int) -Function 183: SetCameraSmoothZoomControl() (1 input parameters) - Name: SetCameraSmoothZoomControl - Return type: void - Description: Set camera smooth zoom key to combine with mouse (free camera) - Param[1]: keySmoothZoom (type: int) -Function 184: SetCameraMoveControls() (6 input parameters) - Name: SetCameraMoveControls - Return type: void - Description: Set camera move controls (1st person and 3rd person cameras) - Param[1]: keyFront (type: int) - Param[2]: keyBack (type: int) - Param[3]: keyRight (type: int) - Param[4]: keyLeft (type: int) - Param[5]: keyUp (type: int) - Param[6]: keyDown (type: int) -Function 185: SetShapesTexture() (2 input parameters) - Name: SetShapesTexture - Return type: void - Description: Set texture and rectangle to be used on shapes drawing - Param[1]: texture (type: Texture2D) - Param[2]: source (type: Rectangle) -Function 186: DrawPixel() (3 input parameters) - Name: DrawPixel - Return type: void - Description: Draw a pixel - Param[1]: posX (type: int) - Param[2]: posY (type: int) - Param[3]: color (type: Color) -Function 187: DrawPixelV() (2 input parameters) - Name: DrawPixelV - Return type: void - Description: Draw a pixel (Vector version) - Param[1]: position (type: Vector2) - Param[2]: color (type: Color) -Function 188: DrawLine() (5 input parameters) - Name: DrawLine - Return type: void - Description: Draw a line - Param[1]: startPosX (type: int) - Param[2]: startPosY (type: int) - Param[3]: endPosX (type: int) - Param[4]: endPosY (type: int) - Param[5]: color (type: Color) -Function 189: DrawLineV() (3 input parameters) - Name: DrawLineV - Return type: void - Description: Draw a line (Vector version) - Param[1]: startPos (type: Vector2) - Param[2]: endPos (type: Vector2) - Param[3]: color (type: Color) -Function 190: DrawLineEx() (4 input parameters) - Name: DrawLineEx - Return type: void - Description: Draw a line defining thickness - Param[1]: startPos (type: Vector2) - Param[2]: endPos (type: Vector2) - Param[3]: thick (type: float) - Param[4]: color (type: Color) -Function 191: DrawLineBezier() (4 input parameters) - Name: DrawLineBezier - Return type: void - Description: Draw a line using cubic-bezier curves in-out - Param[1]: startPos (type: Vector2) - Param[2]: endPos (type: Vector2) - Param[3]: thick (type: float) - Param[4]: color (type: Color) -Function 192: DrawLineBezierQuad() (5 input parameters) - Name: DrawLineBezierQuad - Return type: void - Description: Draw line using quadratic bezier curves with a control point - Param[1]: startPos (type: Vector2) - Param[2]: endPos (type: Vector2) - Param[3]: controlPos (type: Vector2) - Param[4]: thick (type: float) - Param[5]: color (type: Color) -Function 193: DrawLineBezierCubic() (6 input parameters) - Name: DrawLineBezierCubic - Return type: void - Description: Draw line using cubic bezier curves with 2 control points - Param[1]: startPos (type: Vector2) - Param[2]: endPos (type: Vector2) - Param[3]: startControlPos (type: Vector2) - Param[4]: endControlPos (type: Vector2) - Param[5]: thick (type: float) - Param[6]: color (type: Color) -Function 194: DrawLineStrip() (3 input parameters) - Name: DrawLineStrip - Return type: void - Description: Draw lines sequence - Param[1]: points (type: Vector2 *) - Param[2]: pointCount (type: int) - Param[3]: color (type: Color) -Function 195: DrawCircle() (4 input parameters) - Name: DrawCircle - Return type: void - Description: Draw a color-filled circle - Param[1]: centerX (type: int) - Param[2]: centerY (type: int) - Param[3]: radius (type: float) - Param[4]: color (type: Color) -Function 196: DrawCircleSector() (6 input parameters) - Name: DrawCircleSector - Return type: void - Description: Draw a piece of a circle - Param[1]: center (type: Vector2) - Param[2]: radius (type: float) - Param[3]: startAngle (type: float) - Param[4]: endAngle (type: float) - Param[5]: segments (type: int) - Param[6]: color (type: Color) -Function 197: DrawCircleSectorLines() (6 input parameters) - Name: DrawCircleSectorLines - Return type: void - Description: Draw circle sector outline - Param[1]: center (type: Vector2) - Param[2]: radius (type: float) - Param[3]: startAngle (type: float) - Param[4]: endAngle (type: float) - Param[5]: segments (type: int) - Param[6]: color (type: Color) -Function 198: DrawCircleGradient() (5 input parameters) - Name: DrawCircleGradient - Return type: void - Description: Draw a gradient-filled circle - Param[1]: centerX (type: int) - Param[2]: centerY (type: int) - Param[3]: radius (type: float) - Param[4]: color1 (type: Color) - Param[5]: color2 (type: Color) -Function 199: DrawCircleV() (3 input parameters) - Name: DrawCircleV - Return type: void - Description: Draw a color-filled circle (Vector version) - Param[1]: center (type: Vector2) - Param[2]: radius (type: float) - Param[3]: color (type: Color) -Function 200: DrawCircleLines() (4 input parameters) - Name: DrawCircleLines - Return type: void - Description: Draw circle outline - Param[1]: centerX (type: int) - Param[2]: centerY (type: int) - Param[3]: radius (type: float) - Param[4]: color (type: Color) -Function 201: DrawEllipse() (5 input parameters) - Name: DrawEllipse - Return type: void - Description: Draw ellipse - Param[1]: centerX (type: int) - Param[2]: centerY (type: int) - Param[3]: radiusH (type: float) - Param[4]: radiusV (type: float) - Param[5]: color (type: Color) -Function 202: DrawEllipseLines() (5 input parameters) - Name: DrawEllipseLines - Return type: void - Description: Draw ellipse outline - Param[1]: centerX (type: int) - Param[2]: centerY (type: int) - Param[3]: radiusH (type: float) - Param[4]: radiusV (type: float) - Param[5]: color (type: Color) -Function 203: DrawRing() (7 input parameters) - Name: DrawRing - Return type: void - Description: Draw ring - Param[1]: center (type: Vector2) - Param[2]: innerRadius (type: float) - Param[3]: outerRadius (type: float) - Param[4]: startAngle (type: float) - Param[5]: endAngle (type: float) - Param[6]: segments (type: int) - Param[7]: color (type: Color) -Function 204: DrawRingLines() (7 input parameters) - Name: DrawRingLines - Return type: void - Description: Draw ring outline - Param[1]: center (type: Vector2) - Param[2]: innerRadius (type: float) - Param[3]: outerRadius (type: float) - Param[4]: startAngle (type: float) - Param[5]: endAngle (type: float) - Param[6]: segments (type: int) - Param[7]: color (type: Color) -Function 205: DrawRectangle() (5 input parameters) - Name: DrawRectangle - Return type: void - Description: Draw a color-filled rectangle - Param[1]: posX (type: int) - Param[2]: posY (type: int) - Param[3]: width (type: int) - Param[4]: height (type: int) - Param[5]: color (type: Color) -Function 206: DrawRectangleV() (3 input parameters) - Name: DrawRectangleV - Return type: void - Description: Draw a color-filled rectangle (Vector version) - Param[1]: position (type: Vector2) - Param[2]: size (type: Vector2) - Param[3]: color (type: Color) -Function 207: DrawRectangleRec() (2 input parameters) - Name: DrawRectangleRec - Return type: void - Description: Draw a color-filled rectangle - Param[1]: rec (type: Rectangle) - Param[2]: color (type: Color) -Function 208: DrawRectanglePro() (4 input parameters) - Name: DrawRectanglePro - Return type: void - Description: Draw a color-filled rectangle with pro parameters - Param[1]: rec (type: Rectangle) - Param[2]: origin (type: Vector2) - Param[3]: rotation (type: float) - Param[4]: color (type: Color) -Function 209: DrawRectangleGradientV() (6 input parameters) - Name: DrawRectangleGradientV - Return type: void - Description: Draw a vertical-gradient-filled rectangle - Param[1]: posX (type: int) - Param[2]: posY (type: int) - Param[3]: width (type: int) - Param[4]: height (type: int) - Param[5]: color1 (type: Color) - Param[6]: color2 (type: Color) -Function 210: DrawRectangleGradientH() (6 input parameters) - Name: DrawRectangleGradientH - Return type: void - Description: Draw a horizontal-gradient-filled rectangle - Param[1]: posX (type: int) - Param[2]: posY (type: int) - Param[3]: width (type: int) - Param[4]: height (type: int) - Param[5]: color1 (type: Color) - Param[6]: color2 (type: Color) -Function 211: DrawRectangleGradientEx() (5 input parameters) - Name: DrawRectangleGradientEx - Return type: void - Description: Draw a gradient-filled rectangle with custom vertex colors - Param[1]: rec (type: Rectangle) - Param[2]: col1 (type: Color) - Param[3]: col2 (type: Color) - Param[4]: col3 (type: Color) - Param[5]: col4 (type: Color) -Function 212: DrawRectangleLines() (5 input parameters) - Name: DrawRectangleLines - Return type: void - Description: Draw rectangle outline - Param[1]: posX (type: int) - Param[2]: posY (type: int) - Param[3]: width (type: int) - Param[4]: height (type: int) - Param[5]: color (type: Color) -Function 213: DrawRectangleLinesEx() (3 input parameters) - Name: DrawRectangleLinesEx - Return type: void - Description: Draw rectangle outline with extended parameters - Param[1]: rec (type: Rectangle) - Param[2]: lineThick (type: float) - Param[3]: color (type: Color) -Function 214: DrawRectangleRounded() (4 input parameters) - Name: DrawRectangleRounded - Return type: void - Description: Draw rectangle with rounded edges - Param[1]: rec (type: Rectangle) - Param[2]: roundness (type: float) - Param[3]: segments (type: int) - Param[4]: color (type: Color) -Function 215: DrawRectangleRoundedLines() (5 input parameters) - Name: DrawRectangleRoundedLines - Return type: void - Description: Draw rectangle with rounded edges outline - Param[1]: rec (type: Rectangle) - Param[2]: roundness (type: float) - Param[3]: segments (type: int) - Param[4]: lineThick (type: float) - Param[5]: color (type: Color) -Function 216: DrawTriangle() (4 input parameters) - Name: DrawTriangle - Return type: void - Description: Draw a color-filled triangle (vertex in counter-clockwise order!) - Param[1]: v1 (type: Vector2) - Param[2]: v2 (type: Vector2) - Param[3]: v3 (type: Vector2) - Param[4]: color (type: Color) -Function 217: DrawTriangleLines() (4 input parameters) - Name: DrawTriangleLines - Return type: void - Description: Draw triangle outline (vertex in counter-clockwise order!) - Param[1]: v1 (type: Vector2) - Param[2]: v2 (type: Vector2) - Param[3]: v3 (type: Vector2) - Param[4]: color (type: Color) -Function 218: DrawTriangleFan() (3 input parameters) - Name: DrawTriangleFan - Return type: void - Description: Draw a triangle fan defined by points (first vertex is the center) - Param[1]: points (type: Vector2 *) - Param[2]: pointCount (type: int) - Param[3]: color (type: Color) -Function 219: DrawTriangleStrip() (3 input parameters) - Name: DrawTriangleStrip - Return type: void - Description: Draw a triangle strip defined by points - Param[1]: points (type: Vector2 *) - Param[2]: pointCount (type: int) - Param[3]: color (type: Color) -Function 220: DrawPoly() (5 input parameters) - Name: DrawPoly - Return type: void - Description: Draw a regular polygon (Vector version) - Param[1]: center (type: Vector2) - Param[2]: sides (type: int) - Param[3]: radius (type: float) - Param[4]: rotation (type: float) - Param[5]: color (type: Color) -Function 221: DrawPolyLines() (5 input parameters) - Name: DrawPolyLines - Return type: void - Description: Draw a polygon outline of n sides - Param[1]: center (type: Vector2) - Param[2]: sides (type: int) - Param[3]: radius (type: float) - Param[4]: rotation (type: float) - Param[5]: color (type: Color) -Function 222: DrawPolyLinesEx() (6 input parameters) - Name: DrawPolyLinesEx - Return type: void - Description: Draw a polygon outline of n sides with extended parameters - Param[1]: center (type: Vector2) - Param[2]: sides (type: int) - Param[3]: radius (type: float) - Param[4]: rotation (type: float) - Param[5]: lineThick (type: float) - Param[6]: color (type: Color) -Function 223: CheckCollisionRecs() (2 input parameters) - Name: CheckCollisionRecs - Return type: bool - Description: Check collision between two rectangles - Param[1]: rec1 (type: Rectangle) - Param[2]: rec2 (type: Rectangle) -Function 224: CheckCollisionCircles() (4 input parameters) - Name: CheckCollisionCircles - Return type: bool - Description: Check collision between two circles - Param[1]: center1 (type: Vector2) - Param[2]: radius1 (type: float) - Param[3]: center2 (type: Vector2) - Param[4]: radius2 (type: float) -Function 225: CheckCollisionCircleRec() (3 input parameters) - Name: CheckCollisionCircleRec - Return type: bool - Description: Check collision between circle and rectangle - Param[1]: center (type: Vector2) - Param[2]: radius (type: float) - Param[3]: rec (type: Rectangle) -Function 226: CheckCollisionPointRec() (2 input parameters) - Name: CheckCollisionPointRec - Return type: bool - Description: Check if point is inside rectangle - Param[1]: point (type: Vector2) - Param[2]: rec (type: Rectangle) -Function 227: CheckCollisionPointCircle() (3 input parameters) - Name: CheckCollisionPointCircle - Return type: bool - Description: Check if point is inside circle - Param[1]: point (type: Vector2) - Param[2]: center (type: Vector2) - Param[3]: radius (type: float) -Function 228: CheckCollisionPointTriangle() (4 input parameters) - Name: CheckCollisionPointTriangle - Return type: bool - Description: Check if point is inside a triangle - Param[1]: point (type: Vector2) - Param[2]: p1 (type: Vector2) - Param[3]: p2 (type: Vector2) - Param[4]: p3 (type: Vector2) -Function 229: CheckCollisionLines() (5 input parameters) - Name: CheckCollisionLines - Return type: bool - Description: Check the collision between two lines defined by two points each, returns collision point by reference - Param[1]: startPos1 (type: Vector2) - Param[2]: endPos1 (type: Vector2) - Param[3]: startPos2 (type: Vector2) - Param[4]: endPos2 (type: Vector2) - Param[5]: collisionPoint (type: Vector2 *) -Function 230: CheckCollisionPointLine() (4 input parameters) - Name: CheckCollisionPointLine - Return type: bool - Description: Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold] - Param[1]: point (type: Vector2) - Param[2]: p1 (type: Vector2) - Param[3]: p2 (type: Vector2) - Param[4]: threshold (type: int) -Function 231: GetCollisionRec() (2 input parameters) - Name: GetCollisionRec - Return type: Rectangle - Description: Get collision rectangle for two rectangles collision - Param[1]: rec1 (type: Rectangle) - Param[2]: rec2 (type: Rectangle) -Function 232: LoadImage() (1 input parameters) - Name: LoadImage - Return type: Image - Description: Load image from file into CPU memory (RAM) - Param[1]: fileName (type: const char *) -Function 233: LoadImageRaw() (5 input parameters) - Name: LoadImageRaw - Return type: Image - Description: Load image from RAW file data - Param[1]: fileName (type: const char *) - Param[2]: width (type: int) - Param[3]: height (type: int) - Param[4]: format (type: int) - Param[5]: headerSize (type: int) -Function 234: LoadImageAnim() (2 input parameters) - Name: LoadImageAnim - Return type: Image - Description: Load image sequence from file (frames appended to image.data) - Param[1]: fileName (type: const char *) - Param[2]: frames (type: int *) -Function 235: LoadImageFromMemory() (3 input parameters) - Name: LoadImageFromMemory - Return type: Image - Description: Load image from memory buffer, fileType refers to extension: i.e. '.png' - Param[1]: fileType (type: const char *) - Param[2]: fileData (type: const unsigned char *) - Param[3]: dataSize (type: int) -Function 236: LoadImageFromTexture() (1 input parameters) - Name: LoadImageFromTexture - Return type: Image - Description: Load image from GPU texture data - Param[1]: texture (type: Texture2D) -Function 237: LoadImageFromScreen() (0 input parameters) - Name: LoadImageFromScreen - Return type: Image - Description: Load image from screen buffer and (screenshot) - No input parameters -Function 238: UnloadImage() (1 input parameters) - Name: UnloadImage - Return type: void - Description: Unload image from CPU memory (RAM) - Param[1]: image (type: Image) -Function 239: ExportImage() (2 input parameters) - Name: ExportImage - Return type: bool - Description: Export image data to file, returns true on success - Param[1]: image (type: Image) - Param[2]: fileName (type: const char *) -Function 240: ExportImageAsCode() (2 input parameters) - Name: ExportImageAsCode - Return type: bool - Description: Export image as code file defining an array of bytes, returns true on success - Param[1]: image (type: Image) - Param[2]: fileName (type: const char *) -Function 241: GenImageColor() (3 input parameters) - Name: GenImageColor - Return type: Image - Description: Generate image: plain color - Param[1]: width (type: int) - Param[2]: height (type: int) - Param[3]: color (type: Color) -Function 242: GenImageGradientV() (4 input parameters) - Name: GenImageGradientV - Return type: Image - Description: Generate image: vertical gradient - Param[1]: width (type: int) - Param[2]: height (type: int) - Param[3]: top (type: Color) - Param[4]: bottom (type: Color) -Function 243: GenImageGradientH() (4 input parameters) - Name: GenImageGradientH - Return type: Image - Description: Generate image: horizontal gradient - Param[1]: width (type: int) - Param[2]: height (type: int) - Param[3]: left (type: Color) - Param[4]: right (type: Color) -Function 244: GenImageGradientRadial() (5 input parameters) - Name: GenImageGradientRadial - Return type: Image - Description: Generate image: radial gradient - Param[1]: width (type: int) - Param[2]: height (type: int) - Param[3]: density (type: float) - Param[4]: inner (type: Color) - Param[5]: outer (type: Color) -Function 245: GenImageChecked() (6 input parameters) - Name: GenImageChecked - Return type: Image - Description: Generate image: checked - Param[1]: width (type: int) - Param[2]: height (type: int) - Param[3]: checksX (type: int) - Param[4]: checksY (type: int) - Param[5]: col1 (type: Color) - Param[6]: col2 (type: Color) -Function 246: GenImageWhiteNoise() (3 input parameters) - Name: GenImageWhiteNoise - Return type: Image - Description: Generate image: white noise - Param[1]: width (type: int) - Param[2]: height (type: int) - Param[3]: factor (type: float) -Function 247: GenImageCellular() (3 input parameters) - Name: GenImageCellular - Return type: Image - Description: Generate image: cellular algorithm, bigger tileSize means bigger cells - Param[1]: width (type: int) - Param[2]: height (type: int) - Param[3]: tileSize (type: int) -Function 248: ImageCopy() (1 input parameters) - Name: ImageCopy - Return type: Image - Description: Create an image duplicate (useful for transformations) - Param[1]: image (type: Image) -Function 249: ImageFromImage() (2 input parameters) - Name: ImageFromImage - Return type: Image - Description: Create an image from another image piece - Param[1]: image (type: Image) - Param[2]: rec (type: Rectangle) -Function 250: ImageText() (3 input parameters) - Name: ImageText - Return type: Image - Description: Create an image from text (default font) - Param[1]: text (type: const char *) - Param[2]: fontSize (type: int) - Param[3]: color (type: Color) -Function 251: ImageTextEx() (5 input parameters) - Name: ImageTextEx - Return type: Image - Description: Create an image from text (custom sprite font) - Param[1]: font (type: Font) - Param[2]: text (type: const char *) - Param[3]: fontSize (type: float) - Param[4]: spacing (type: float) - Param[5]: tint (type: Color) -Function 252: ImageFormat() (2 input parameters) - Name: ImageFormat - Return type: void - Description: Convert image data to desired format - Param[1]: image (type: Image *) - Param[2]: newFormat (type: int) -Function 253: ImageToPOT() (2 input parameters) - Name: ImageToPOT - Return type: void - Description: Convert image to POT (power-of-two) - Param[1]: image (type: Image *) - Param[2]: fill (type: Color) -Function 254: ImageCrop() (2 input parameters) - Name: ImageCrop - Return type: void - Description: Crop an image to a defined rectangle - Param[1]: image (type: Image *) - Param[2]: crop (type: Rectangle) -Function 255: ImageAlphaCrop() (2 input parameters) - Name: ImageAlphaCrop - Return type: void - Description: Crop image depending on alpha value - Param[1]: image (type: Image *) - Param[2]: threshold (type: float) -Function 256: ImageAlphaClear() (3 input parameters) - Name: ImageAlphaClear - Return type: void - Description: Clear alpha channel to desired color - Param[1]: image (type: Image *) - Param[2]: color (type: Color) - Param[3]: threshold (type: float) -Function 257: ImageAlphaMask() (2 input parameters) - Name: ImageAlphaMask - Return type: void - Description: Apply alpha mask to image - Param[1]: image (type: Image *) - Param[2]: alphaMask (type: Image) -Function 258: ImageAlphaPremultiply() (1 input parameters) - Name: ImageAlphaPremultiply - Return type: void - Description: Premultiply alpha channel - Param[1]: image (type: Image *) -Function 259: ImageResize() (3 input parameters) - Name: ImageResize - Return type: void - Description: Resize image (Bicubic scaling algorithm) - Param[1]: image (type: Image *) - Param[2]: newWidth (type: int) - Param[3]: newHeight (type: int) -Function 260: ImageResizeNN() (3 input parameters) - Name: ImageResizeNN - Return type: void - Description: Resize image (Nearest-Neighbor scaling algorithm) - Param[1]: image (type: Image *) - Param[2]: newWidth (type: int) - Param[3]: newHeight (type: int) -Function 261: ImageResizeCanvas() (6 input parameters) - Name: ImageResizeCanvas - Return type: void - Description: Resize canvas and fill with color - Param[1]: image (type: Image *) - Param[2]: newWidth (type: int) - Param[3]: newHeight (type: int) - Param[4]: offsetX (type: int) - Param[5]: offsetY (type: int) - Param[6]: fill (type: Color) -Function 262: ImageMipmaps() (1 input parameters) - Name: ImageMipmaps - Return type: void - Description: Compute all mipmap levels for a provided image - Param[1]: image (type: Image *) -Function 263: ImageDither() (5 input parameters) - Name: ImageDither - Return type: void - Description: Dither image data to 16bpp or lower (Floyd-Steinberg dithering) - Param[1]: image (type: Image *) - Param[2]: rBpp (type: int) - Param[3]: gBpp (type: int) - Param[4]: bBpp (type: int) - Param[5]: aBpp (type: int) -Function 264: ImageFlipVertical() (1 input parameters) - Name: ImageFlipVertical - Return type: void - Description: Flip image vertically - Param[1]: image (type: Image *) -Function 265: ImageFlipHorizontal() (1 input parameters) - Name: ImageFlipHorizontal - Return type: void - Description: Flip image horizontally - Param[1]: image (type: Image *) -Function 266: ImageRotateCW() (1 input parameters) - Name: ImageRotateCW - Return type: void - Description: Rotate image clockwise 90deg - Param[1]: image (type: Image *) -Function 267: ImageRotateCCW() (1 input parameters) - Name: ImageRotateCCW - Return type: void - Description: Rotate image counter-clockwise 90deg - Param[1]: image (type: Image *) -Function 268: ImageColorTint() (2 input parameters) - Name: ImageColorTint - Return type: void - Description: Modify image color: tint - Param[1]: image (type: Image *) - Param[2]: color (type: Color) -Function 269: ImageColorInvert() (1 input parameters) - Name: ImageColorInvert - Return type: void - Description: Modify image color: invert - Param[1]: image (type: Image *) -Function 270: ImageColorGrayscale() (1 input parameters) - Name: ImageColorGrayscale - Return type: void - Description: Modify image color: grayscale - Param[1]: image (type: Image *) -Function 271: ImageColorContrast() (2 input parameters) - Name: ImageColorContrast - Return type: void - Description: Modify image color: contrast (-100 to 100) - Param[1]: image (type: Image *) - Param[2]: contrast (type: float) -Function 272: ImageColorBrightness() (2 input parameters) - Name: ImageColorBrightness - Return type: void - Description: Modify image color: brightness (-255 to 255) - Param[1]: image (type: Image *) - Param[2]: brightness (type: int) -Function 273: ImageColorReplace() (3 input parameters) - Name: ImageColorReplace - Return type: void - Description: Modify image color: replace color - Param[1]: image (type: Image *) - Param[2]: color (type: Color) - Param[3]: replace (type: Color) -Function 274: LoadImageColors() (1 input parameters) - Name: LoadImageColors - Return type: Color * - Description: Load color data from image as a Color array (RGBA - 32bit) - Param[1]: image (type: Image) -Function 275: LoadImagePalette() (3 input parameters) - Name: LoadImagePalette - Return type: Color * - Description: Load colors palette from image as a Color array (RGBA - 32bit) - Param[1]: image (type: Image) - Param[2]: maxPaletteSize (type: int) - Param[3]: colorCount (type: int *) -Function 276: UnloadImageColors() (1 input parameters) - Name: UnloadImageColors - Return type: void - Description: Unload color data loaded with LoadImageColors() - Param[1]: colors (type: Color *) -Function 277: UnloadImagePalette() (1 input parameters) - Name: UnloadImagePalette - Return type: void - Description: Unload colors palette loaded with LoadImagePalette() - Param[1]: colors (type: Color *) -Function 278: GetImageAlphaBorder() (2 input parameters) - Name: GetImageAlphaBorder - Return type: Rectangle - Description: Get image alpha border rectangle - Param[1]: image (type: Image) - Param[2]: threshold (type: float) -Function 279: GetImageColor() (3 input parameters) - Name: GetImageColor - Return type: Color - Description: Get image pixel color at (x, y) position - Param[1]: image (type: Image) - Param[2]: x (type: int) - Param[3]: y (type: int) -Function 280: ImageClearBackground() (2 input parameters) - Name: ImageClearBackground - Return type: void - Description: Clear image background with given color - Param[1]: dst (type: Image *) - Param[2]: color (type: Color) -Function 281: ImageDrawPixel() (4 input parameters) - Name: ImageDrawPixel - Return type: void - Description: Draw pixel within an image - Param[1]: dst (type: Image *) - Param[2]: posX (type: int) - Param[3]: posY (type: int) - Param[4]: color (type: Color) -Function 282: ImageDrawPixelV() (3 input parameters) - Name: ImageDrawPixelV - Return type: void - Description: Draw pixel within an image (Vector version) - Param[1]: dst (type: Image *) - Param[2]: position (type: Vector2) - Param[3]: color (type: Color) -Function 283: ImageDrawLine() (6 input parameters) - Name: ImageDrawLine - Return type: void - Description: Draw line within an image - Param[1]: dst (type: Image *) - Param[2]: startPosX (type: int) - Param[3]: startPosY (type: int) - Param[4]: endPosX (type: int) - Param[5]: endPosY (type: int) - Param[6]: color (type: Color) -Function 284: ImageDrawLineV() (4 input parameters) - Name: ImageDrawLineV - Return type: void - Description: Draw line within an image (Vector version) - Param[1]: dst (type: Image *) - Param[2]: start (type: Vector2) - Param[3]: end (type: Vector2) - Param[4]: color (type: Color) -Function 285: ImageDrawCircle() (5 input parameters) - Name: ImageDrawCircle - Return type: void - Description: Draw circle within an image - Param[1]: dst (type: Image *) - Param[2]: centerX (type: int) - Param[3]: centerY (type: int) - Param[4]: radius (type: int) - Param[5]: color (type: Color) -Function 286: ImageDrawCircleV() (4 input parameters) - Name: ImageDrawCircleV - Return type: void - Description: Draw circle within an image (Vector version) - Param[1]: dst (type: Image *) - Param[2]: center (type: Vector2) - Param[3]: radius (type: int) - Param[4]: color (type: Color) -Function 287: ImageDrawRectangle() (6 input parameters) - Name: ImageDrawRectangle - Return type: void - Description: Draw rectangle within an image - Param[1]: dst (type: Image *) - Param[2]: posX (type: int) - Param[3]: posY (type: int) - Param[4]: width (type: int) - Param[5]: height (type: int) - Param[6]: color (type: Color) -Function 288: ImageDrawRectangleV() (4 input parameters) - Name: ImageDrawRectangleV - Return type: void - Description: Draw rectangle within an image (Vector version) - Param[1]: dst (type: Image *) - Param[2]: position (type: Vector2) - Param[3]: size (type: Vector2) - Param[4]: color (type: Color) -Function 289: ImageDrawRectangleRec() (3 input parameters) - Name: ImageDrawRectangleRec - Return type: void - Description: Draw rectangle within an image - Param[1]: dst (type: Image *) - Param[2]: rec (type: Rectangle) - Param[3]: color (type: Color) -Function 290: ImageDrawRectangleLines() (4 input parameters) - Name: ImageDrawRectangleLines - Return type: void - Description: Draw rectangle lines within an image - Param[1]: dst (type: Image *) - Param[2]: rec (type: Rectangle) - Param[3]: thick (type: int) - Param[4]: color (type: Color) -Function 291: ImageDraw() (5 input parameters) - Name: ImageDraw - Return type: void - Description: Draw a source image within a destination image (tint applied to source) - Param[1]: dst (type: Image *) - Param[2]: src (type: Image) - Param[3]: srcRec (type: Rectangle) - Param[4]: dstRec (type: Rectangle) - Param[5]: tint (type: Color) -Function 292: ImageDrawText() (6 input parameters) - Name: ImageDrawText - Return type: void - Description: Draw text (using default font) within an image (destination) - Param[1]: dst (type: Image *) - Param[2]: text (type: const char *) - Param[3]: posX (type: int) - Param[4]: posY (type: int) - Param[5]: fontSize (type: int) - Param[6]: color (type: Color) -Function 293: ImageDrawTextEx() (7 input parameters) - Name: ImageDrawTextEx - Return type: void - Description: Draw text (custom sprite font) within an image (destination) - Param[1]: dst (type: Image *) - Param[2]: font (type: Font) - Param[3]: text (type: const char *) - Param[4]: position (type: Vector2) - Param[5]: fontSize (type: float) - Param[6]: spacing (type: float) - Param[7]: tint (type: Color) -Function 294: LoadTexture() (1 input parameters) - Name: LoadTexture - Return type: Texture2D - Description: Load texture from file into GPU memory (VRAM) - Param[1]: fileName (type: const char *) -Function 295: LoadTextureFromImage() (1 input parameters) - Name: LoadTextureFromImage - Return type: Texture2D - Description: Load texture from image data - Param[1]: image (type: Image) -Function 296: LoadTextureCubemap() (2 input parameters) - Name: LoadTextureCubemap - Return type: TextureCubemap - Description: Load cubemap from image, multiple image cubemap layouts supported - Param[1]: image (type: Image) - Param[2]: layout (type: int) -Function 297: LoadRenderTexture() (2 input parameters) - Name: LoadRenderTexture - Return type: RenderTexture2D - Description: Load texture for rendering (framebuffer) - Param[1]: width (type: int) - Param[2]: height (type: int) -Function 298: UnloadTexture() (1 input parameters) - Name: UnloadTexture - Return type: void - Description: Unload texture from GPU memory (VRAM) - Param[1]: texture (type: Texture2D) -Function 299: UnloadRenderTexture() (1 input parameters) - Name: UnloadRenderTexture - Return type: void - Description: Unload render texture from GPU memory (VRAM) - Param[1]: target (type: RenderTexture2D) -Function 300: UpdateTexture() (2 input parameters) - Name: UpdateTexture - Return type: void - Description: Update GPU texture with new data - Param[1]: texture (type: Texture2D) - Param[2]: pixels (type: const void *) -Function 301: UpdateTextureRec() (3 input parameters) - Name: UpdateTextureRec - Return type: void - Description: Update GPU texture rectangle with new data - Param[1]: texture (type: Texture2D) - Param[2]: rec (type: Rectangle) - Param[3]: pixels (type: const void *) -Function 302: GenTextureMipmaps() (1 input parameters) - Name: GenTextureMipmaps - Return type: void - Description: Generate GPU mipmaps for a texture - Param[1]: texture (type: Texture2D *) -Function 303: SetTextureFilter() (2 input parameters) - Name: SetTextureFilter - Return type: void - Description: Set texture scaling filter mode - Param[1]: texture (type: Texture2D) - Param[2]: filter (type: int) -Function 304: SetTextureWrap() (2 input parameters) - Name: SetTextureWrap - Return type: void - Description: Set texture wrapping mode - Param[1]: texture (type: Texture2D) - Param[2]: wrap (type: int) -Function 305: DrawTexture() (4 input parameters) - Name: DrawTexture - Return type: void - Description: Draw a Texture2D - Param[1]: texture (type: Texture2D) - Param[2]: posX (type: int) - Param[3]: posY (type: int) - Param[4]: tint (type: Color) -Function 306: DrawTextureV() (3 input parameters) - Name: DrawTextureV - Return type: void - Description: Draw a Texture2D with position defined as Vector2 - Param[1]: texture (type: Texture2D) - Param[2]: position (type: Vector2) - Param[3]: tint (type: Color) -Function 307: DrawTextureEx() (5 input parameters) - Name: DrawTextureEx - Return type: void - Description: Draw a Texture2D with extended parameters - Param[1]: texture (type: Texture2D) - Param[2]: position (type: Vector2) - Param[3]: rotation (type: float) - Param[4]: scale (type: float) - Param[5]: tint (type: Color) -Function 308: DrawTextureRec() (4 input parameters) - Name: DrawTextureRec - Return type: void - Description: Draw a part of a texture defined by a rectangle - Param[1]: texture (type: Texture2D) - Param[2]: source (type: Rectangle) - Param[3]: position (type: Vector2) - Param[4]: tint (type: Color) -Function 309: DrawTextureQuad() (5 input parameters) - Name: DrawTextureQuad - Return type: void - Description: Draw texture quad with tiling and offset parameters - Param[1]: texture (type: Texture2D) - Param[2]: tiling (type: Vector2) - Param[3]: offset (type: Vector2) - Param[4]: quad (type: Rectangle) - Param[5]: tint (type: Color) -Function 310: DrawTextureTiled() (7 input parameters) - Name: DrawTextureTiled - Return type: void - Description: Draw part of a texture (defined by a rectangle) with rotation and scale tiled into dest. - Param[1]: texture (type: Texture2D) - Param[2]: source (type: Rectangle) - Param[3]: dest (type: Rectangle) - Param[4]: origin (type: Vector2) - Param[5]: rotation (type: float) - Param[6]: scale (type: float) - Param[7]: tint (type: Color) -Function 311: DrawTexturePro() (6 input parameters) - Name: DrawTexturePro - Return type: void - Description: Draw a part of a texture defined by a rectangle with 'pro' parameters - Param[1]: texture (type: Texture2D) - Param[2]: source (type: Rectangle) - Param[3]: dest (type: Rectangle) - Param[4]: origin (type: Vector2) - Param[5]: rotation (type: float) - Param[6]: tint (type: Color) -Function 312: DrawTextureNPatch() (6 input parameters) - Name: DrawTextureNPatch - Return type: void - Description: Draws a texture (or part of it) that stretches or shrinks nicely - Param[1]: texture (type: Texture2D) - Param[2]: nPatchInfo (type: NPatchInfo) - Param[3]: dest (type: Rectangle) - Param[4]: origin (type: Vector2) - Param[5]: rotation (type: float) - Param[6]: tint (type: Color) -Function 313: DrawTexturePoly() (6 input parameters) - Name: DrawTexturePoly - Return type: void - Description: Draw a textured polygon - Param[1]: texture (type: Texture2D) - Param[2]: center (type: Vector2) - Param[3]: points (type: Vector2 *) - Param[4]: texcoords (type: Vector2 *) - Param[5]: pointCount (type: int) - Param[6]: tint (type: Color) -Function 314: Fade() (2 input parameters) - Name: Fade - Return type: Color - Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f - Param[1]: color (type: Color) - Param[2]: alpha (type: float) -Function 315: ColorToInt() (1 input parameters) - Name: ColorToInt - Return type: int - Description: Get hexadecimal value for a Color - Param[1]: color (type: Color) -Function 316: ColorNormalize() (1 input parameters) - Name: ColorNormalize - Return type: Vector4 - Description: Get Color normalized as float [0..1] - Param[1]: color (type: Color) -Function 317: ColorFromNormalized() (1 input parameters) - Name: ColorFromNormalized - Return type: Color - Description: Get Color from normalized values [0..1] - Param[1]: normalized (type: Vector4) -Function 318: ColorToHSV() (1 input parameters) - Name: ColorToHSV - Return type: Vector3 - Description: Get HSV values for a Color, hue [0..360], saturation/value [0..1] - Param[1]: color (type: Color) -Function 319: ColorFromHSV() (3 input parameters) - Name: ColorFromHSV - Return type: Color - Description: Get a Color from HSV values, hue [0..360], saturation/value [0..1] - Param[1]: hue (type: float) - Param[2]: saturation (type: float) - Param[3]: value (type: float) -Function 320: ColorAlpha() (2 input parameters) - Name: ColorAlpha - Return type: Color - Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f - Param[1]: color (type: Color) - Param[2]: alpha (type: float) -Function 321: ColorAlphaBlend() (3 input parameters) - Name: ColorAlphaBlend - Return type: Color - Description: Get src alpha-blended into dst color with tint - Param[1]: dst (type: Color) - Param[2]: src (type: Color) - Param[3]: tint (type: Color) -Function 322: GetColor() (1 input parameters) - Name: GetColor - Return type: Color - Description: Get Color structure from hexadecimal value - Param[1]: hexValue (type: unsigned int) -Function 323: GetPixelColor() (2 input parameters) - Name: GetPixelColor - Return type: Color - Description: Get Color from a source pixel pointer of certain format - Param[1]: srcPtr (type: void *) - Param[2]: format (type: int) -Function 324: SetPixelColor() (3 input parameters) - Name: SetPixelColor - Return type: void - Description: Set color formatted into destination pixel pointer - Param[1]: dstPtr (type: void *) - Param[2]: color (type: Color) - Param[3]: format (type: int) -Function 325: GetPixelDataSize() (3 input parameters) - Name: GetPixelDataSize - Return type: int - Description: Get pixel data size in bytes for certain format - Param[1]: width (type: int) - Param[2]: height (type: int) - Param[3]: format (type: int) -Function 326: GetFontDefault() (0 input parameters) - Name: GetFontDefault - Return type: Font - Description: Get the default Font - No input parameters -Function 327: LoadFont() (1 input parameters) - Name: LoadFont - Return type: Font - Description: Load font from file into GPU memory (VRAM) - Param[1]: fileName (type: const char *) -Function 328: LoadFontEx() (4 input parameters) - Name: LoadFontEx - Return type: Font - Description: Load font from file with extended parameters, use NULL for fontChars and 0 for glyphCount to load the default character set - Param[1]: fileName (type: const char *) - Param[2]: fontSize (type: int) - Param[3]: fontChars (type: int *) - Param[4]: glyphCount (type: int) -Function 329: LoadFontFromImage() (3 input parameters) - Name: LoadFontFromImage - Return type: Font - Description: Load font from Image (XNA style) - Param[1]: image (type: Image) - Param[2]: key (type: Color) - Param[3]: firstChar (type: int) -Function 330: LoadFontFromMemory() (6 input parameters) - Name: LoadFontFromMemory - Return type: Font - Description: Load font from memory buffer, fileType refers to extension: i.e. '.ttf' - Param[1]: fileType (type: const char *) - Param[2]: fileData (type: const unsigned char *) - Param[3]: dataSize (type: int) - Param[4]: fontSize (type: int) - Param[5]: fontChars (type: int *) - Param[6]: glyphCount (type: int) -Function 331: LoadFontData() (6 input parameters) - Name: LoadFontData - Return type: GlyphInfo * - Description: Load font data for further use - Param[1]: fileData (type: const unsigned char *) - Param[2]: dataSize (type: int) - Param[3]: fontSize (type: int) - Param[4]: fontChars (type: int *) - Param[5]: glyphCount (type: int) - Param[6]: type (type: int) -Function 332: GenImageFontAtlas() (6 input parameters) - Name: GenImageFontAtlas - Return type: Image - Description: Generate image font atlas using chars info - Param[1]: chars (type: const GlyphInfo *) - Param[2]: recs (type: Rectangle **) - Param[3]: glyphCount (type: int) - Param[4]: fontSize (type: int) - Param[5]: padding (type: int) - Param[6]: packMethod (type: int) -Function 333: UnloadFontData() (2 input parameters) - Name: UnloadFontData - Return type: void - Description: Unload font chars info data (RAM) - Param[1]: chars (type: GlyphInfo *) - Param[2]: glyphCount (type: int) -Function 334: UnloadFont() (1 input parameters) - Name: UnloadFont - Return type: void - Description: Unload font from GPU memory (VRAM) - Param[1]: font (type: Font) -Function 335: ExportFontAsCode() (2 input parameters) - Name: ExportFontAsCode - Return type: bool - Description: Export font as code file, returns true on success - Param[1]: font (type: Font) - Param[2]: fileName (type: const char *) -Function 336: DrawFPS() (2 input parameters) - Name: DrawFPS - Return type: void - Description: Draw current FPS - Param[1]: posX (type: int) - Param[2]: posY (type: int) -Function 337: DrawText() (5 input parameters) - Name: DrawText - Return type: void - Description: Draw text (using default font) - Param[1]: text (type: const char *) - Param[2]: posX (type: int) - Param[3]: posY (type: int) - Param[4]: fontSize (type: int) - Param[5]: color (type: Color) -Function 338: DrawTextEx() (6 input parameters) - Name: DrawTextEx - Return type: void - Description: Draw text using font and additional parameters - Param[1]: font (type: Font) - Param[2]: text (type: const char *) - Param[3]: position (type: Vector2) - Param[4]: fontSize (type: float) - Param[5]: spacing (type: float) - Param[6]: tint (type: Color) -Function 339: DrawTextPro() (8 input parameters) - Name: DrawTextPro - Return type: void - Description: Draw text using Font and pro parameters (rotation) - Param[1]: font (type: Font) - Param[2]: text (type: const char *) - Param[3]: position (type: Vector2) - Param[4]: origin (type: Vector2) - Param[5]: rotation (type: float) - Param[6]: fontSize (type: float) - Param[7]: spacing (type: float) - Param[8]: tint (type: Color) -Function 340: DrawTextCodepoint() (5 input parameters) - Name: DrawTextCodepoint - Return type: void - Description: Draw one character (codepoint) - Param[1]: font (type: Font) - Param[2]: codepoint (type: int) - Param[3]: position (type: Vector2) - Param[4]: fontSize (type: float) - Param[5]: tint (type: Color) -Function 341: DrawTextCodepoints() (7 input parameters) - Name: DrawTextCodepoints - Return type: void - Description: Draw multiple character (codepoint) - Param[1]: font (type: Font) - Param[2]: codepoints (type: const int *) - Param[3]: count (type: int) - Param[4]: position (type: Vector2) - Param[5]: fontSize (type: float) - Param[6]: spacing (type: float) - Param[7]: tint (type: Color) -Function 342: MeasureText() (2 input parameters) - Name: MeasureText - Return type: int - Description: Measure string width for default font - Param[1]: text (type: const char *) - Param[2]: fontSize (type: int) -Function 343: MeasureTextEx() (4 input parameters) - Name: MeasureTextEx - Return type: Vector2 - Description: Measure string size for Font - Param[1]: font (type: Font) - Param[2]: text (type: const char *) - Param[3]: fontSize (type: float) - Param[4]: spacing (type: float) -Function 344: GetGlyphIndex() (2 input parameters) - Name: GetGlyphIndex - Return type: int - Description: Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found - Param[1]: font (type: Font) - Param[2]: codepoint (type: int) -Function 345: GetGlyphInfo() (2 input parameters) - Name: GetGlyphInfo - Return type: GlyphInfo - Description: Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found - Param[1]: font (type: Font) - Param[2]: codepoint (type: int) -Function 346: GetGlyphAtlasRec() (2 input parameters) - Name: GetGlyphAtlasRec - Return type: Rectangle - Description: Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found - Param[1]: font (type: Font) - Param[2]: codepoint (type: int) -Function 347: LoadCodepoints() (2 input parameters) - Name: LoadCodepoints - Return type: int * - Description: Load all codepoints from a UTF-8 text string, codepoints count returned by parameter - Param[1]: text (type: const char *) - Param[2]: count (type: int *) -Function 348: UnloadCodepoints() (1 input parameters) - Name: UnloadCodepoints - Return type: void - Description: Unload codepoints data from memory - Param[1]: codepoints (type: int *) -Function 349: GetCodepointCount() (1 input parameters) - Name: GetCodepointCount - Return type: int - Description: Get total number of codepoints in a UTF-8 encoded string - Param[1]: text (type: const char *) -Function 350: GetCodepoint() (2 input parameters) - Name: GetCodepoint - Return type: int - Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure - Param[1]: text (type: const char *) - Param[2]: bytesProcessed (type: int *) -Function 351: CodepointToUTF8() (2 input parameters) - Name: CodepointToUTF8 - Return type: const char * - Description: Encode one codepoint into UTF-8 byte array (array length returned as parameter) - Param[1]: codepoint (type: int) - Param[2]: byteSize (type: int *) -Function 352: TextCodepointsToUTF8() (2 input parameters) - Name: TextCodepointsToUTF8 - Return type: char * - Description: Encode text as codepoints array into UTF-8 text string (WARNING: memory must be freed!) - Param[1]: codepoints (type: const int *) - Param[2]: length (type: int) -Function 353: TextCopy() (2 input parameters) - Name: TextCopy - Return type: int - Description: Copy one string to another, returns bytes copied - Param[1]: dst (type: char *) - Param[2]: src (type: const char *) -Function 354: TextIsEqual() (2 input parameters) - Name: TextIsEqual - Return type: bool - Description: Check if two text string are equal - Param[1]: text1 (type: const char *) - Param[2]: text2 (type: const char *) -Function 355: TextLength() (1 input parameters) - Name: TextLength - Return type: unsigned int - Description: Get text length, checks for '\0' ending - Param[1]: text (type: const char *) -Function 356: TextFormat() (2 input parameters) - Name: TextFormat - Return type: const char * - Description: Text formatting with variables (sprintf() style) - Param[1]: text (type: const char *) - Param[2]: args (type: ...) -Function 357: TextSubtext() (3 input parameters) - Name: TextSubtext - Return type: const char * - Description: Get a piece of a text string - Param[1]: text (type: const char *) - Param[2]: position (type: int) - Param[3]: length (type: int) -Function 358: TextReplace() (3 input parameters) - Name: TextReplace - Return type: char * - Description: Replace text string (WARNING: memory must be freed!) - Param[1]: text (type: char *) - Param[2]: replace (type: const char *) - Param[3]: by (type: const char *) -Function 359: TextInsert() (3 input parameters) - Name: TextInsert - Return type: char * - Description: Insert text in a position (WARNING: memory must be freed!) - Param[1]: text (type: const char *) - Param[2]: insert (type: const char *) - Param[3]: position (type: int) -Function 360: TextJoin() (3 input parameters) - Name: TextJoin - Return type: const char * - Description: Join text strings with delimiter - Param[1]: textList (type: const char **) - Param[2]: count (type: int) - Param[3]: delimiter (type: const char *) -Function 361: TextSplit() (3 input parameters) - Name: TextSplit - Return type: const char ** - Description: Split text into multiple strings - Param[1]: text (type: const char *) - Param[2]: delimiter (type: char) - Param[3]: count (type: int *) -Function 362: TextAppend() (3 input parameters) - Name: TextAppend - Return type: void - Description: Append text at specific position and move cursor! - Param[1]: text (type: char *) - Param[2]: append (type: const char *) - Param[3]: position (type: int *) -Function 363: TextFindIndex() (2 input parameters) - Name: TextFindIndex - Return type: int - Description: Find first text occurrence within a string - Param[1]: text (type: const char *) - Param[2]: find (type: const char *) -Function 364: TextToUpper() (1 input parameters) - Name: TextToUpper - Return type: const char * - Description: Get upper case version of provided string - Param[1]: text (type: const char *) -Function 365: TextToLower() (1 input parameters) - Name: TextToLower - Return type: const char * - Description: Get lower case version of provided string - Param[1]: text (type: const char *) -Function 366: TextToPascal() (1 input parameters) - Name: TextToPascal - Return type: const char * - Description: Get Pascal case notation version of provided string - Param[1]: text (type: const char *) -Function 367: TextToInteger() (1 input parameters) - Name: TextToInteger - Return type: int - Description: Get integer value from text (negative values not supported) - Param[1]: text (type: const char *) -Function 368: DrawLine3D() (3 input parameters) - Name: DrawLine3D - Return type: void - Description: Draw a line in 3D world space - Param[1]: startPos (type: Vector3) - Param[2]: endPos (type: Vector3) - Param[3]: color (type: Color) -Function 369: DrawPoint3D() (2 input parameters) - Name: DrawPoint3D - Return type: void - Description: Draw a point in 3D space, actually a small line - Param[1]: position (type: Vector3) - Param[2]: color (type: Color) -Function 370: DrawCircle3D() (5 input parameters) - Name: DrawCircle3D - Return type: void - Description: Draw a circle in 3D world space - Param[1]: center (type: Vector3) - Param[2]: radius (type: float) - Param[3]: rotationAxis (type: Vector3) - Param[4]: rotationAngle (type: float) - Param[5]: color (type: Color) -Function 371: DrawTriangle3D() (4 input parameters) - Name: DrawTriangle3D - Return type: void - Description: Draw a color-filled triangle (vertex in counter-clockwise order!) - Param[1]: v1 (type: Vector3) - Param[2]: v2 (type: Vector3) - Param[3]: v3 (type: Vector3) - Param[4]: color (type: Color) -Function 372: DrawTriangleStrip3D() (3 input parameters) - Name: DrawTriangleStrip3D - Return type: void - Description: Draw a triangle strip defined by points - Param[1]: points (type: Vector3 *) - Param[2]: pointCount (type: int) - Param[3]: color (type: Color) -Function 373: DrawCube() (5 input parameters) - Name: DrawCube - Return type: void - Description: Draw cube - Param[1]: position (type: Vector3) - Param[2]: width (type: float) - Param[3]: height (type: float) - Param[4]: length (type: float) - Param[5]: color (type: Color) -Function 374: DrawCubeV() (3 input parameters) - Name: DrawCubeV - Return type: void - Description: Draw cube (Vector version) - Param[1]: position (type: Vector3) - Param[2]: size (type: Vector3) - Param[3]: color (type: Color) -Function 375: DrawCubeWires() (5 input parameters) - Name: DrawCubeWires - Return type: void - Description: Draw cube wires - Param[1]: position (type: Vector3) - Param[2]: width (type: float) - Param[3]: height (type: float) - Param[4]: length (type: float) - Param[5]: color (type: Color) -Function 376: DrawCubeWiresV() (3 input parameters) - Name: DrawCubeWiresV - Return type: void - Description: Draw cube wires (Vector version) - Param[1]: position (type: Vector3) - Param[2]: size (type: Vector3) - Param[3]: color (type: Color) -Function 377: DrawCubeTexture() (6 input parameters) - Name: DrawCubeTexture - Return type: void - Description: Draw cube textured - Param[1]: texture (type: Texture2D) - Param[2]: position (type: Vector3) - Param[3]: width (type: float) - Param[4]: height (type: float) - Param[5]: length (type: float) - Param[6]: color (type: Color) -Function 378: DrawCubeTextureRec() (7 input parameters) - Name: DrawCubeTextureRec - Return type: void - Description: Draw cube with a region of a texture - Param[1]: texture (type: Texture2D) - Param[2]: source (type: Rectangle) - Param[3]: position (type: Vector3) - Param[4]: width (type: float) - Param[5]: height (type: float) - Param[6]: length (type: float) - Param[7]: color (type: Color) -Function 379: DrawSphere() (3 input parameters) - Name: DrawSphere - Return type: void - Description: Draw sphere - Param[1]: centerPos (type: Vector3) - Param[2]: radius (type: float) - Param[3]: color (type: Color) -Function 380: DrawSphereEx() (5 input parameters) - Name: DrawSphereEx - Return type: void - Description: Draw sphere with extended parameters - Param[1]: centerPos (type: Vector3) - Param[2]: radius (type: float) - Param[3]: rings (type: int) - Param[4]: slices (type: int) - Param[5]: color (type: Color) -Function 381: DrawSphereWires() (5 input parameters) - Name: DrawSphereWires - Return type: void - Description: Draw sphere wires - Param[1]: centerPos (type: Vector3) - Param[2]: radius (type: float) - Param[3]: rings (type: int) - Param[4]: slices (type: int) - Param[5]: color (type: Color) -Function 382: DrawCylinder() (6 input parameters) - Name: DrawCylinder - Return type: void - Description: Draw a cylinder/cone - Param[1]: position (type: Vector3) - Param[2]: radiusTop (type: float) - Param[3]: radiusBottom (type: float) - Param[4]: height (type: float) - Param[5]: slices (type: int) - Param[6]: color (type: Color) -Function 383: DrawCylinderEx() (6 input parameters) - Name: DrawCylinderEx - Return type: void - Description: Draw a cylinder with base at startPos and top at endPos - Param[1]: startPos (type: Vector3) - Param[2]: endPos (type: Vector3) - Param[3]: startRadius (type: float) - Param[4]: endRadius (type: float) - Param[5]: sides (type: int) - Param[6]: color (type: Color) -Function 384: DrawCylinderWires() (6 input parameters) - Name: DrawCylinderWires - Return type: void - Description: Draw a cylinder/cone wires - Param[1]: position (type: Vector3) - Param[2]: radiusTop (type: float) - Param[3]: radiusBottom (type: float) - Param[4]: height (type: float) - Param[5]: slices (type: int) - Param[6]: color (type: Color) -Function 385: DrawCylinderWiresEx() (6 input parameters) - Name: DrawCylinderWiresEx - Return type: void - Description: Draw a cylinder wires with base at startPos and top at endPos - Param[1]: startPos (type: Vector3) - Param[2]: endPos (type: Vector3) - Param[3]: startRadius (type: float) - Param[4]: endRadius (type: float) - Param[5]: sides (type: int) - Param[6]: color (type: Color) -Function 386: DrawPlane() (3 input parameters) - Name: DrawPlane - Return type: void - Description: Draw a plane XZ - Param[1]: centerPos (type: Vector3) - Param[2]: size (type: Vector2) - Param[3]: color (type: Color) -Function 387: DrawRay() (2 input parameters) - Name: DrawRay - Return type: void - Description: Draw a ray line - Param[1]: ray (type: Ray) - Param[2]: color (type: Color) -Function 388: DrawGrid() (2 input parameters) - Name: DrawGrid - Return type: void - Description: Draw a grid (centered at (0, 0, 0)) - Param[1]: slices (type: int) - Param[2]: spacing (type: float) -Function 389: LoadModel() (1 input parameters) - Name: LoadModel - Return type: Model - Description: Load model from files (meshes and materials) - Param[1]: fileName (type: const char *) -Function 390: LoadModelFromMesh() (1 input parameters) - Name: LoadModelFromMesh - Return type: Model - Description: Load model from generated mesh (default material) - Param[1]: mesh (type: Mesh) -Function 391: UnloadModel() (1 input parameters) - Name: UnloadModel - Return type: void - Description: Unload model (including meshes) from memory (RAM and/or VRAM) - Param[1]: model (type: Model) -Function 392: UnloadModelKeepMeshes() (1 input parameters) - Name: UnloadModelKeepMeshes - Return type: void - Description: Unload model (but not meshes) from memory (RAM and/or VRAM) - Param[1]: model (type: Model) -Function 393: GetModelBoundingBox() (1 input parameters) - Name: GetModelBoundingBox - Return type: BoundingBox - Description: Compute model bounding box limits (considers all meshes) - Param[1]: model (type: Model) -Function 394: DrawModel() (4 input parameters) - Name: DrawModel - Return type: void - Description: Draw a model (with texture if set) - Param[1]: model (type: Model) - Param[2]: position (type: Vector3) - Param[3]: scale (type: float) - Param[4]: tint (type: Color) -Function 395: DrawModelEx() (6 input parameters) - Name: DrawModelEx - Return type: void - Description: Draw a model with extended parameters - Param[1]: model (type: Model) - Param[2]: position (type: Vector3) - Param[3]: rotationAxis (type: Vector3) - Param[4]: rotationAngle (type: float) - Param[5]: scale (type: Vector3) - Param[6]: tint (type: Color) -Function 396: DrawModelWires() (4 input parameters) - Name: DrawModelWires - Return type: void - Description: Draw a model wires (with texture if set) - Param[1]: model (type: Model) - Param[2]: position (type: Vector3) - Param[3]: scale (type: float) - Param[4]: tint (type: Color) -Function 397: DrawModelWiresEx() (6 input parameters) - Name: DrawModelWiresEx - Return type: void - Description: Draw a model wires (with texture if set) with extended parameters - Param[1]: model (type: Model) - Param[2]: position (type: Vector3) - Param[3]: rotationAxis (type: Vector3) - Param[4]: rotationAngle (type: float) - Param[5]: scale (type: Vector3) - Param[6]: tint (type: Color) -Function 398: DrawBoundingBox() (2 input parameters) - Name: DrawBoundingBox - Return type: void - Description: Draw bounding box (wires) - Param[1]: box (type: BoundingBox) - Param[2]: color (type: Color) -Function 399: DrawBillboard() (5 input parameters) - Name: DrawBillboard - Return type: void - Description: Draw a billboard texture - Param[1]: camera (type: Camera) - Param[2]: texture (type: Texture2D) - Param[3]: position (type: Vector3) - Param[4]: size (type: float) - Param[5]: tint (type: Color) -Function 400: DrawBillboardRec() (6 input parameters) - Name: DrawBillboardRec - Return type: void - Description: Draw a billboard texture defined by source - Param[1]: camera (type: Camera) - Param[2]: texture (type: Texture2D) - Param[3]: source (type: Rectangle) - Param[4]: position (type: Vector3) - Param[5]: size (type: Vector2) - Param[6]: tint (type: Color) -Function 401: DrawBillboardPro() (9 input parameters) - Name: DrawBillboardPro - Return type: void - Description: Draw a billboard texture defined by source and rotation - Param[1]: camera (type: Camera) - Param[2]: texture (type: Texture2D) - Param[3]: source (type: Rectangle) - Param[4]: position (type: Vector3) - Param[5]: up (type: Vector3) - Param[6]: size (type: Vector2) - Param[7]: origin (type: Vector2) - Param[8]: rotation (type: float) - Param[9]: tint (type: Color) -Function 402: UploadMesh() (2 input parameters) - Name: UploadMesh - Return type: void - Description: Upload mesh vertex data in GPU and provide VAO/VBO ids - Param[1]: mesh (type: Mesh *) - Param[2]: dynamic (type: bool) -Function 403: UpdateMeshBuffer() (5 input parameters) - Name: UpdateMeshBuffer - Return type: void - Description: Update mesh vertex data in GPU for a specific buffer index - Param[1]: mesh (type: Mesh) - Param[2]: index (type: int) - Param[3]: data (type: const void *) - Param[4]: dataSize (type: int) - Param[5]: offset (type: int) -Function 404: UnloadMesh() (1 input parameters) - Name: UnloadMesh - Return type: void - Description: Unload mesh data from CPU and GPU - Param[1]: mesh (type: Mesh) -Function 405: DrawMesh() (3 input parameters) - Name: DrawMesh - Return type: void - Description: Draw a 3d mesh with material and transform - Param[1]: mesh (type: Mesh) - Param[2]: material (type: Material) - Param[3]: transform (type: Matrix) -Function 406: DrawMeshInstanced() (4 input parameters) - Name: DrawMeshInstanced - Return type: void - Description: Draw multiple mesh instances with material and different transforms - Param[1]: mesh (type: Mesh) - Param[2]: material (type: Material) - Param[3]: transforms (type: const Matrix *) - Param[4]: instances (type: int) -Function 407: ExportMesh() (2 input parameters) - Name: ExportMesh - Return type: bool - Description: Export mesh data to file, returns true on success - Param[1]: mesh (type: Mesh) - Param[2]: fileName (type: const char *) -Function 408: GetMeshBoundingBox() (1 input parameters) - Name: GetMeshBoundingBox - Return type: BoundingBox - Description: Compute mesh bounding box limits - Param[1]: mesh (type: Mesh) -Function 409: GenMeshTangents() (1 input parameters) - Name: GenMeshTangents - Return type: void - Description: Compute mesh tangents - Param[1]: mesh (type: Mesh *) -Function 410: GenMeshBinormals() (1 input parameters) - Name: GenMeshBinormals - Return type: void - Description: Compute mesh binormals - Param[1]: mesh (type: Mesh *) -Function 411: GenMeshPoly() (2 input parameters) - Name: GenMeshPoly - Return type: Mesh - Description: Generate polygonal mesh - Param[1]: sides (type: int) - Param[2]: radius (type: float) -Function 412: GenMeshPlane() (4 input parameters) - Name: GenMeshPlane - Return type: Mesh - Description: Generate plane mesh (with subdivisions) - Param[1]: width (type: float) - Param[2]: length (type: float) - Param[3]: resX (type: int) - Param[4]: resZ (type: int) -Function 413: GenMeshCube() (3 input parameters) - Name: GenMeshCube - Return type: Mesh - Description: Generate cuboid mesh - Param[1]: width (type: float) - Param[2]: height (type: float) - Param[3]: length (type: float) -Function 414: GenMeshSphere() (3 input parameters) - Name: GenMeshSphere - Return type: Mesh - Description: Generate sphere mesh (standard sphere) - Param[1]: radius (type: float) - Param[2]: rings (type: int) - Param[3]: slices (type: int) -Function 415: GenMeshHemiSphere() (3 input parameters) - Name: GenMeshHemiSphere - Return type: Mesh - Description: Generate half-sphere mesh (no bottom cap) - Param[1]: radius (type: float) - Param[2]: rings (type: int) - Param[3]: slices (type: int) -Function 416: GenMeshCylinder() (3 input parameters) - Name: GenMeshCylinder - Return type: Mesh - Description: Generate cylinder mesh - Param[1]: radius (type: float) - Param[2]: height (type: float) - Param[3]: slices (type: int) -Function 417: GenMeshCone() (3 input parameters) - Name: GenMeshCone - Return type: Mesh - Description: Generate cone/pyramid mesh - Param[1]: radius (type: float) - Param[2]: height (type: float) - Param[3]: slices (type: int) -Function 418: GenMeshTorus() (4 input parameters) - Name: GenMeshTorus - Return type: Mesh - Description: Generate torus mesh - Param[1]: radius (type: float) - Param[2]: size (type: float) - Param[3]: radSeg (type: int) - Param[4]: sides (type: int) -Function 419: GenMeshKnot() (4 input parameters) - Name: GenMeshKnot - Return type: Mesh - Description: Generate trefoil knot mesh - Param[1]: radius (type: float) - Param[2]: size (type: float) - Param[3]: radSeg (type: int) - Param[4]: sides (type: int) -Function 420: GenMeshHeightmap() (2 input parameters) - Name: GenMeshHeightmap - Return type: Mesh - Description: Generate heightmap mesh from image data - Param[1]: heightmap (type: Image) - Param[2]: size (type: Vector3) -Function 421: GenMeshCubicmap() (2 input parameters) - Name: GenMeshCubicmap - Return type: Mesh - Description: Generate cubes-based map mesh from image data - Param[1]: cubicmap (type: Image) - Param[2]: cubeSize (type: Vector3) -Function 422: LoadMaterials() (2 input parameters) - Name: LoadMaterials - Return type: Material * - Description: Load materials from model file - Param[1]: fileName (type: const char *) - Param[2]: materialCount (type: int *) -Function 423: LoadMaterialDefault() (0 input parameters) - Name: LoadMaterialDefault - Return type: Material - Description: Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) - No input parameters -Function 424: UnloadMaterial() (1 input parameters) - Name: UnloadMaterial - Return type: void - Description: Unload material from GPU memory (VRAM) - Param[1]: material (type: Material) -Function 425: SetMaterialTexture() (3 input parameters) - Name: SetMaterialTexture - Return type: void - Description: Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) - Param[1]: material (type: Material *) - Param[2]: mapType (type: int) - Param[3]: texture (type: Texture2D) -Function 426: SetModelMeshMaterial() (3 input parameters) - Name: SetModelMeshMaterial - Return type: void - Description: Set material for a mesh - Param[1]: model (type: Model *) - Param[2]: meshId (type: int) - Param[3]: materialId (type: int) -Function 427: LoadModelAnimations() (2 input parameters) - Name: LoadModelAnimations - Return type: ModelAnimation * - Description: Load model animations from file - Param[1]: fileName (type: const char *) - Param[2]: animCount (type: unsigned int *) -Function 428: UpdateModelAnimation() (3 input parameters) - Name: UpdateModelAnimation - Return type: void - Description: Update model animation pose - Param[1]: model (type: Model) - Param[2]: anim (type: ModelAnimation) - Param[3]: frame (type: int) -Function 429: UnloadModelAnimation() (1 input parameters) - Name: UnloadModelAnimation - Return type: void - Description: Unload animation data - Param[1]: anim (type: ModelAnimation) -Function 430: UnloadModelAnimations() (2 input parameters) - Name: UnloadModelAnimations - Return type: void - Description: Unload animation array data - Param[1]: animations (type: ModelAnimation *) - Param[2]: count (type: unsigned int) -Function 431: IsModelAnimationValid() (2 input parameters) - Name: IsModelAnimationValid - Return type: bool - Description: Check model animation skeleton match - Param[1]: model (type: Model) - Param[2]: anim (type: ModelAnimation) -Function 432: CheckCollisionSpheres() (4 input parameters) - Name: CheckCollisionSpheres - Return type: bool - Description: Check collision between two spheres - Param[1]: center1 (type: Vector3) - Param[2]: radius1 (type: float) - Param[3]: center2 (type: Vector3) - Param[4]: radius2 (type: float) -Function 433: CheckCollisionBoxes() (2 input parameters) - Name: CheckCollisionBoxes - Return type: bool - Description: Check collision between two bounding boxes - Param[1]: box1 (type: BoundingBox) - Param[2]: box2 (type: BoundingBox) -Function 434: CheckCollisionBoxSphere() (3 input parameters) - Name: CheckCollisionBoxSphere - Return type: bool - Description: Check collision between box and sphere - Param[1]: box (type: BoundingBox) - Param[2]: center (type: Vector3) - Param[3]: radius (type: float) -Function 435: GetRayCollisionSphere() (3 input parameters) - Name: GetRayCollisionSphere - Return type: RayCollision - Description: Get collision info between ray and sphere - Param[1]: ray (type: Ray) - Param[2]: center (type: Vector3) - Param[3]: radius (type: float) -Function 436: GetRayCollisionBox() (2 input parameters) - Name: GetRayCollisionBox - Return type: RayCollision - Description: Get collision info between ray and box - Param[1]: ray (type: Ray) - Param[2]: box (type: BoundingBox) -Function 437: GetRayCollisionMesh() (3 input parameters) - Name: GetRayCollisionMesh - Return type: RayCollision - Description: Get collision info between ray and mesh - Param[1]: ray (type: Ray) - Param[2]: mesh (type: Mesh) - Param[3]: transform (type: Matrix) -Function 438: GetRayCollisionTriangle() (4 input parameters) - Name: GetRayCollisionTriangle - Return type: RayCollision - Description: Get collision info between ray and triangle - Param[1]: ray (type: Ray) - Param[2]: p1 (type: Vector3) - Param[3]: p2 (type: Vector3) - Param[4]: p3 (type: Vector3) -Function 439: GetRayCollisionQuad() (5 input parameters) - Name: GetRayCollisionQuad - Return type: RayCollision - Description: Get collision info between ray and quad - Param[1]: ray (type: Ray) - Param[2]: p1 (type: Vector3) - Param[3]: p2 (type: Vector3) - Param[4]: p3 (type: Vector3) - Param[5]: p4 (type: Vector3) -Function 440: InitAudioDevice() (0 input parameters) - Name: InitAudioDevice - Return type: void - Description: Initialize audio device and context - No input parameters -Function 441: CloseAudioDevice() (0 input parameters) - Name: CloseAudioDevice - Return type: void - Description: Close the audio device and context - No input parameters -Function 442: IsAudioDeviceReady() (0 input parameters) - Name: IsAudioDeviceReady - Return type: bool - Description: Check if audio device has been initialized successfully - No input parameters -Function 443: SetMasterVolume() (1 input parameters) - Name: SetMasterVolume - Return type: void - Description: Set master volume (listener) - Param[1]: volume (type: float) -Function 444: LoadWave() (1 input parameters) - Name: LoadWave - Return type: Wave - Description: Load wave data from file - Param[1]: fileName (type: const char *) -Function 445: LoadWaveFromMemory() (3 input parameters) - Name: LoadWaveFromMemory - Return type: Wave - Description: Load wave from memory buffer, fileType refers to extension: i.e. '.wav' - Param[1]: fileType (type: const char *) - Param[2]: fileData (type: const unsigned char *) - Param[3]: dataSize (type: int) -Function 446: LoadSound() (1 input parameters) - Name: LoadSound - Return type: Sound - Description: Load sound from file - Param[1]: fileName (type: const char *) -Function 447: LoadSoundFromWave() (1 input parameters) - Name: LoadSoundFromWave - Return type: Sound - Description: Load sound from wave data - Param[1]: wave (type: Wave) -Function 448: UpdateSound() (3 input parameters) - Name: UpdateSound - Return type: void - Description: Update sound buffer with new data - Param[1]: sound (type: Sound) - Param[2]: data (type: const void *) - Param[3]: sampleCount (type: int) -Function 449: UnloadWave() (1 input parameters) - Name: UnloadWave - Return type: void - Description: Unload wave data - Param[1]: wave (type: Wave) -Function 450: UnloadSound() (1 input parameters) - Name: UnloadSound - Return type: void - Description: Unload sound - Param[1]: sound (type: Sound) -Function 451: ExportWave() (2 input parameters) - Name: ExportWave - Return type: bool - Description: Export wave data to file, returns true on success - Param[1]: wave (type: Wave) - Param[2]: fileName (type: const char *) -Function 452: ExportWaveAsCode() (2 input parameters) - Name: ExportWaveAsCode - Return type: bool - Description: Export wave sample data to code (.h), returns true on success - Param[1]: wave (type: Wave) - Param[2]: fileName (type: const char *) -Function 453: PlaySound() (1 input parameters) - Name: PlaySound - Return type: void - Description: Play a sound - Param[1]: sound (type: Sound) -Function 454: StopSound() (1 input parameters) - Name: StopSound - Return type: void - Description: Stop playing a sound - Param[1]: sound (type: Sound) -Function 455: PauseSound() (1 input parameters) - Name: PauseSound - Return type: void - Description: Pause a sound - Param[1]: sound (type: Sound) -Function 456: ResumeSound() (1 input parameters) - Name: ResumeSound - Return type: void - Description: Resume a paused sound - Param[1]: sound (type: Sound) -Function 457: PlaySoundMulti() (1 input parameters) - Name: PlaySoundMulti - Return type: void - Description: Play a sound (using multichannel buffer pool) - Param[1]: sound (type: Sound) -Function 458: StopSoundMulti() (0 input parameters) - Name: StopSoundMulti - Return type: void - Description: Stop any sound playing (using multichannel buffer pool) - No input parameters -Function 459: GetSoundsPlaying() (0 input parameters) - Name: GetSoundsPlaying - Return type: int - Description: Get number of sounds playing in the multichannel - No input parameters -Function 460: IsSoundPlaying() (1 input parameters) - Name: IsSoundPlaying - Return type: bool - Description: Check if a sound is currently playing - Param[1]: sound (type: Sound) -Function 461: SetSoundVolume() (2 input parameters) - Name: SetSoundVolume - Return type: void - Description: Set volume for a sound (1.0 is max level) - Param[1]: sound (type: Sound) - Param[2]: volume (type: float) -Function 462: SetSoundPitch() (2 input parameters) - Name: SetSoundPitch - Return type: void - Description: Set pitch for a sound (1.0 is base level) - Param[1]: sound (type: Sound) - Param[2]: pitch (type: float) -Function 463: SetSoundPan() (2 input parameters) - Name: SetSoundPan - Return type: void - Description: Set pan for a sound (0.5 is center) - Param[1]: sound (type: Sound) - Param[2]: pan (type: float) -Function 464: WaveCopy() (1 input parameters) - Name: WaveCopy - Return type: Wave - Description: Copy a wave to a new wave - Param[1]: wave (type: Wave) -Function 465: WaveCrop() (3 input parameters) - Name: WaveCrop - Return type: void - Description: Crop a wave to defined samples range - Param[1]: wave (type: Wave *) - Param[2]: initSample (type: int) - Param[3]: finalSample (type: int) -Function 466: WaveFormat() (4 input parameters) - Name: WaveFormat - Return type: void - Description: Convert wave data to desired format - Param[1]: wave (type: Wave *) - Param[2]: sampleRate (type: int) - Param[3]: sampleSize (type: int) - Param[4]: channels (type: int) -Function 467: LoadWaveSamples() (1 input parameters) - Name: LoadWaveSamples - Return type: float * - Description: Load samples data from wave as a 32bit float data array - Param[1]: wave (type: Wave) -Function 468: UnloadWaveSamples() (1 input parameters) - Name: UnloadWaveSamples - Return type: void - Description: Unload samples data loaded with LoadWaveSamples() - Param[1]: samples (type: float *) -Function 469: LoadMusicStream() (1 input parameters) - Name: LoadMusicStream - Return type: Music - Description: Load music stream from file - Param[1]: fileName (type: const char *) -Function 470: LoadMusicStreamFromMemory() (3 input parameters) - Name: LoadMusicStreamFromMemory - Return type: Music - Description: Load music stream from data - Param[1]: fileType (type: const char *) - Param[2]: data (type: const unsigned char *) - Param[3]: dataSize (type: int) -Function 471: UnloadMusicStream() (1 input parameters) - Name: UnloadMusicStream - Return type: void - Description: Unload music stream - Param[1]: music (type: Music) -Function 472: PlayMusicStream() (1 input parameters) - Name: PlayMusicStream - Return type: void - Description: Start music playing - Param[1]: music (type: Music) -Function 473: IsMusicStreamPlaying() (1 input parameters) - Name: IsMusicStreamPlaying - Return type: bool - Description: Check if music is playing - Param[1]: music (type: Music) -Function 474: UpdateMusicStream() (1 input parameters) - Name: UpdateMusicStream - Return type: void - Description: Updates buffers for music streaming - Param[1]: music (type: Music) -Function 475: StopMusicStream() (1 input parameters) - Name: StopMusicStream - Return type: void - Description: Stop music playing - Param[1]: music (type: Music) -Function 476: PauseMusicStream() (1 input parameters) - Name: PauseMusicStream - Return type: void - Description: Pause music playing - Param[1]: music (type: Music) -Function 477: ResumeMusicStream() (1 input parameters) - Name: ResumeMusicStream - Return type: void - Description: Resume playing paused music - Param[1]: music (type: Music) -Function 478: SeekMusicStream() (2 input parameters) - Name: SeekMusicStream - Return type: void - Description: Seek music to a position (in seconds) - Param[1]: music (type: Music) - Param[2]: position (type: float) -Function 479: SetMusicVolume() (2 input parameters) - Name: SetMusicVolume - Return type: void - Description: Set volume for music (1.0 is max level) - Param[1]: music (type: Music) - Param[2]: volume (type: float) -Function 480: SetMusicPitch() (2 input parameters) - Name: SetMusicPitch - Return type: void - Description: Set pitch for a music (1.0 is base level) - Param[1]: music (type: Music) - Param[2]: pitch (type: float) -Function 481: SetMusicPan() (2 input parameters) - Name: SetMusicPan - Return type: void - Description: Set pan for a music (0.5 is center) - Param[1]: music (type: Music) - Param[2]: pan (type: float) -Function 482: GetMusicTimeLength() (1 input parameters) - Name: GetMusicTimeLength - Return type: float - Description: Get music time length (in seconds) - Param[1]: music (type: Music) -Function 483: GetMusicTimePlayed() (1 input parameters) - Name: GetMusicTimePlayed - Return type: float - Description: Get current music time played (in seconds) - Param[1]: music (type: Music) -Function 484: LoadAudioStream() (3 input parameters) - Name: LoadAudioStream - Return type: AudioStream - Description: Load audio stream (to stream raw audio pcm data) - Param[1]: sampleRate (type: unsigned int) - Param[2]: sampleSize (type: unsigned int) - Param[3]: channels (type: unsigned int) -Function 485: UnloadAudioStream() (1 input parameters) - Name: UnloadAudioStream - Return type: void - Description: Unload audio stream and free memory - Param[1]: stream (type: AudioStream) -Function 486: UpdateAudioStream() (3 input parameters) - Name: UpdateAudioStream - Return type: void - Description: Update audio stream buffers with data - Param[1]: stream (type: AudioStream) - Param[2]: data (type: const void *) - Param[3]: frameCount (type: int) -Function 487: IsAudioStreamProcessed() (1 input parameters) - Name: IsAudioStreamProcessed - Return type: bool - Description: Check if any audio stream buffers requires refill - Param[1]: stream (type: AudioStream) -Function 488: PlayAudioStream() (1 input parameters) - Name: PlayAudioStream - Return type: void - Description: Play audio stream - Param[1]: stream (type: AudioStream) -Function 489: PauseAudioStream() (1 input parameters) - Name: PauseAudioStream - Return type: void - Description: Pause audio stream - Param[1]: stream (type: AudioStream) -Function 490: ResumeAudioStream() (1 input parameters) - Name: ResumeAudioStream - Return type: void - Description: Resume audio stream - Param[1]: stream (type: AudioStream) -Function 491: IsAudioStreamPlaying() (1 input parameters) - Name: IsAudioStreamPlaying - Return type: bool - Description: Check if audio stream is playing - Param[1]: stream (type: AudioStream) -Function 492: StopAudioStream() (1 input parameters) - Name: StopAudioStream - Return type: void - Description: Stop audio stream - Param[1]: stream (type: AudioStream) -Function 493: SetAudioStreamVolume() (2 input parameters) - Name: SetAudioStreamVolume - Return type: void - Description: Set volume for audio stream (1.0 is max level) - Param[1]: stream (type: AudioStream) - Param[2]: volume (type: float) -Function 494: SetAudioStreamPitch() (2 input parameters) - Name: SetAudioStreamPitch - Return type: void - Description: Set pitch for audio stream (1.0 is base level) - Param[1]: stream (type: AudioStream) - Param[2]: pitch (type: float) -Function 495: SetAudioStreamPan() (2 input parameters) - Name: SetAudioStreamPan - Return type: void - Description: Set pan for audio stream (0.5 is centered) - Param[1]: stream (type: AudioStream) - Param[2]: pan (type: float) -Function 496: SetAudioStreamBufferSizeDefault() (1 input parameters) - Name: SetAudioStreamBufferSizeDefault - Return type: void - Description: Default size for new audio streams - Param[1]: size (type: int) -Function 497: SetAudioStreamCallback() (2 input parameters) - Name: SetAudioStreamCallback - Return type: void - Description: Audio thread callback to request new data - Param[1]: stream (type: AudioStream) - Param[2]: callback (type: AudioCallback) -Function 498: AttachAudioStreamProcessor() (2 input parameters) - Name: AttachAudioStreamProcessor - Return type: void - Description: - Param[1]: stream (type: AudioStream) - Param[2]: processor (type: AudioCallback) -Function 499: DetachAudioStreamProcessor() (2 input parameters) - Name: DetachAudioStreamProcessor - Return type: void - Description: - Param[1]: stream (type: AudioStream) - Param[2]: processor (type: AudioCallback) - -Callbacks found: 6 - -Callback 001: TraceLogCallback() (3 input parameters) - Name: TraceLogCallback - Return type: void - Description: Logging: Redirect trace log messages - Param[1]: logLevel (type: int) - Param[2]: text (type: const char *) - Param[3]: args (type: va_list) -Callback 002: LoadFileDataCallback() (2 input parameters) - Name: LoadFileDataCallback - Return type: unsigned char * - Description: FileIO: Load binary data - Param[1]: fileName (type: const char *) - Param[2]: bytesRead (type: unsigned int *) -Callback 003: SaveFileDataCallback() (3 input parameters) - Name: SaveFileDataCallback - Return type: bool - Description: FileIO: Save binary data - Param[1]: fileName (type: const char *) - Param[2]: data (type: void *) - Param[3]: bytesToWrite (type: unsigned int) -Callback 004: LoadFileTextCallback() (1 input parameters) - Name: LoadFileTextCallback - Return type: char * - Description: FileIO: Load text data - Param[1]: fileName (type: const char *) -Callback 005: SaveFileTextCallback() (2 input parameters) - Name: SaveFileTextCallback - Return type: bool - Description: FileIO: Save text data - Param[1]: fileName (type: const char *) - Param[2]: text (type: char *) -Callback 006: AudioCallback() (2 input parameters) - Name: AudioCallback - Return type: void - Description: - Param[1]: bufferData (type: void *) - Param[2]: frames (type: unsigned int) - -Defines found: 52 +Defines found: 52 Define 001: RAYLIB_H Name: RAYLIB_H @@ -4074,13 +251,3836 @@ Define 050: MATERIAL_MAP_SPECULAR Type: UNKNOWN Value: MATERIAL_MAP_METALNESS Description: -Define 051: SHADER_LOC_MAP_DIFFUSE - Name: SHADER_LOC_MAP_DIFFUSE - Type: UNKNOWN - Value: SHADER_LOC_MAP_ALBEDO +Define 051: SHADER_LOC_MAP_DIFFUSE + Name: SHADER_LOC_MAP_DIFFUSE + Type: UNKNOWN + Value: SHADER_LOC_MAP_ALBEDO + Description: +Define 052: SHADER_LOC_MAP_SPECULAR + Name: SHADER_LOC_MAP_SPECULAR + Type: UNKNOWN + Value: SHADER_LOC_MAP_METALNESS + Description: + +Structures found: 31 + +Struct 01: Vector2 (2 fields) + Name: Vector2 + Description: Vector2, 2 components + Field[1]: float x // Vector x component + Field[2]: float y // Vector y component +Struct 02: Vector3 (3 fields) + Name: Vector3 + Description: Vector3, 3 components + Field[1]: float x // Vector x component + Field[2]: float y // Vector y component + Field[3]: float z // Vector z component +Struct 03: Vector4 (4 fields) + Name: Vector4 + Description: Vector4, 4 components + Field[1]: float x // Vector x component + Field[2]: float y // Vector y component + Field[3]: float z // Vector z component + Field[4]: float w // Vector w component +Struct 04: Matrix (16 fields) + Name: Matrix + Description: Matrix, 4x4 components, column major, OpenGL style, right handed + Field[1]: float m0 // Matrix first row (4 components) + Field[2]: float m4 // Matrix first row (4 components) + Field[3]: float m8 // Matrix first row (4 components) + Field[4]: float m12 // Matrix first row (4 components) + Field[5]: float m1 // Matrix second row (4 components) + Field[6]: float m5 // Matrix second row (4 components) + Field[7]: float m9 // Matrix second row (4 components) + Field[8]: float m13 // Matrix second row (4 components) + Field[9]: float m2 // Matrix third row (4 components) + Field[10]: float m6 // Matrix third row (4 components) + Field[11]: float m10 // Matrix third row (4 components) + Field[12]: float m14 // Matrix third row (4 components) + Field[13]: float m3 // Matrix fourth row (4 components) + Field[14]: float m7 // Matrix fourth row (4 components) + Field[15]: float m11 // Matrix fourth row (4 components) + Field[16]: float m15 // Matrix fourth row (4 components) +Struct 05: Color (4 fields) + Name: Color + Description: Color, 4 components, R8G8B8A8 (32bit) + Field[1]: unsigned char r // Color red value + Field[2]: unsigned char g // Color green value + Field[3]: unsigned char b // Color blue value + Field[4]: unsigned char a // Color alpha value +Struct 06: Rectangle (4 fields) + Name: Rectangle + Description: Rectangle, 4 components + Field[1]: float x // Rectangle top-left corner position x + Field[2]: float y // Rectangle top-left corner position y + Field[3]: float width // Rectangle width + Field[4]: float height // Rectangle height +Struct 07: Image (5 fields) + Name: Image + Description: Image, pixel data stored in CPU memory (RAM) + Field[1]: void * data // Image raw data + Field[2]: int width // Image base width + Field[3]: int height // Image base height + Field[4]: int mipmaps // Mipmap levels, 1 by default + Field[5]: int format // Data format (PixelFormat type) +Struct 08: Texture (5 fields) + Name: Texture + Description: Texture, tex data stored in GPU memory (VRAM) + Field[1]: unsigned int id // OpenGL texture id + Field[2]: int width // Texture base width + Field[3]: int height // Texture base height + Field[4]: int mipmaps // Mipmap levels, 1 by default + Field[5]: int format // Data format (PixelFormat type) +Struct 09: RenderTexture (3 fields) + Name: RenderTexture + Description: RenderTexture, fbo for texture rendering + Field[1]: unsigned int id // OpenGL framebuffer object id + Field[2]: Texture texture // Color buffer attachment texture + Field[3]: Texture depth // Depth buffer attachment texture +Struct 10: NPatchInfo (6 fields) + Name: NPatchInfo + Description: NPatchInfo, n-patch layout info + Field[1]: Rectangle source // Texture source rectangle + Field[2]: int left // Left border offset + Field[3]: int top // Top border offset + Field[4]: int right // Right border offset + Field[5]: int bottom // Bottom border offset + Field[6]: int layout // Layout of the n-patch: 3x3, 1x3 or 3x1 +Struct 11: GlyphInfo (5 fields) + Name: GlyphInfo + Description: GlyphInfo, font characters glyphs info + Field[1]: int value // Character value (Unicode) + Field[2]: int offsetX // Character offset X when drawing + Field[3]: int offsetY // Character offset Y when drawing + Field[4]: int advanceX // Character advance position X + Field[5]: Image image // Character image data +Struct 12: Font (6 fields) + Name: Font + Description: Font, font texture and GlyphInfo array data + Field[1]: int baseSize // Base size (default chars height) + Field[2]: int glyphCount // Number of glyph characters + Field[3]: int glyphPadding // Padding around the glyph characters + Field[4]: Texture2D texture // Texture atlas containing the glyphs + Field[5]: Rectangle * recs // Rectangles in texture for the glyphs + Field[6]: GlyphInfo * glyphs // Glyphs info data +Struct 13: Camera3D (5 fields) + Name: Camera3D + Description: Camera, defines position/orientation in 3d space + Field[1]: Vector3 position // Camera position + Field[2]: Vector3 target // Camera target it looks-at + Field[3]: Vector3 up // Camera up vector (rotation over its axis) + Field[4]: float fovy // Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic + Field[5]: int projection // Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC +Struct 14: Camera2D (4 fields) + Name: Camera2D + Description: Camera2D, defines position/orientation in 2d space + Field[1]: Vector2 offset // Camera offset (displacement from target) + Field[2]: Vector2 target // Camera target (rotation and zoom origin) + Field[3]: float rotation // Camera rotation in degrees + Field[4]: float zoom // Camera zoom (scaling), should be 1.0f by default +Struct 15: Mesh (15 fields) + Name: Mesh + Description: Mesh, vertex data and vao/vbo + Field[1]: int vertexCount // Number of vertices stored in arrays + Field[2]: int triangleCount // Number of triangles stored (indexed or not) + Field[3]: float * vertices // Vertex position (XYZ - 3 components per vertex) (shader-location = 0) + Field[4]: float * texcoords // Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) + Field[5]: float * texcoords2 // Vertex texture second coordinates (UV - 2 components per vertex) (shader-location = 5) + Field[6]: float * normals // Vertex normals (XYZ - 3 components per vertex) (shader-location = 2) + Field[7]: float * tangents // Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4) + Field[8]: unsigned char * colors // Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) + Field[9]: unsigned short * indices // Vertex indices (in case vertex data comes indexed) + Field[10]: float * animVertices // Animated vertex positions (after bones transformations) + Field[11]: float * animNormals // Animated normals (after bones transformations) + Field[12]: unsigned char * boneIds // Vertex bone ids, max 255 bone ids, up to 4 bones influence by vertex (skinning) + Field[13]: float * boneWeights // Vertex bone weight, up to 4 bones influence by vertex (skinning) + Field[14]: unsigned int vaoId // OpenGL Vertex Array Object id + Field[15]: unsigned int * vboId // OpenGL Vertex Buffer Objects id (default vertex data) +Struct 16: Shader (2 fields) + Name: Shader + Description: Shader + Field[1]: unsigned int id // Shader program id + Field[2]: int * locs // Shader locations array (RL_MAX_SHADER_LOCATIONS) +Struct 17: MaterialMap (3 fields) + Name: MaterialMap + Description: MaterialMap + Field[1]: Texture2D texture // Material map texture + Field[2]: Color color // Material map color + Field[3]: float value // Material map value +Struct 18: Material (3 fields) + Name: Material + Description: Material, includes shader and maps + Field[1]: Shader shader // Material shader + Field[2]: MaterialMap * maps // Material maps array (MAX_MATERIAL_MAPS) + Field[3]: float[4] params // Material generic parameters (if required) +Struct 19: Transform (3 fields) + Name: Transform + Description: Transform, vectex transformation data + Field[1]: Vector3 translation // Translation + Field[2]: Quaternion rotation // Rotation + Field[3]: Vector3 scale // Scale +Struct 20: BoneInfo (2 fields) + Name: BoneInfo + Description: Bone, skeletal animation bone + Field[1]: char[32] name // Bone name + Field[2]: int parent // Bone parent +Struct 21: Model (9 fields) + Name: Model + Description: Model, meshes, materials and animation data + Field[1]: Matrix transform // Local transform matrix + Field[2]: int meshCount // Number of meshes + Field[3]: int materialCount // Number of materials + Field[4]: Mesh * meshes // Meshes array + Field[5]: Material * materials // Materials array + Field[6]: int * meshMaterial // Mesh material number + Field[7]: int boneCount // Number of bones + Field[8]: BoneInfo * bones // Bones information (skeleton) + Field[9]: Transform * bindPose // Bones base transformation (pose) +Struct 22: ModelAnimation (4 fields) + Name: ModelAnimation + Description: ModelAnimation + Field[1]: int boneCount // Number of bones + Field[2]: int frameCount // Number of animation frames + Field[3]: BoneInfo * bones // Bones information (skeleton) + Field[4]: Transform ** framePoses // Poses array by frame +Struct 23: Ray (2 fields) + Name: Ray + Description: Ray, ray for raycasting + Field[1]: Vector3 position // Ray position (origin) + Field[2]: Vector3 direction // Ray direction +Struct 24: RayCollision (4 fields) + Name: RayCollision + Description: RayCollision, ray hit information + Field[1]: bool hit // Did the ray hit something? + Field[2]: float distance // Distance to nearest hit + Field[3]: Vector3 point // Point of nearest hit + Field[4]: Vector3 normal // Surface normal of hit +Struct 25: BoundingBox (2 fields) + Name: BoundingBox + Description: BoundingBox + Field[1]: Vector3 min // Minimum vertex box-corner + Field[2]: Vector3 max // Maximum vertex box-corner +Struct 26: Wave (5 fields) + Name: Wave + Description: Wave, audio wave data + Field[1]: unsigned int frameCount // Total number of frames (considering channels) + Field[2]: unsigned int sampleRate // Frequency (samples per second) + Field[3]: unsigned int sampleSize // Bit depth (bits per sample): 8, 16, 32 (24 not supported) + Field[4]: unsigned int channels // Number of channels (1-mono, 2-stereo, ...) + Field[5]: void * data // Buffer data pointer +Struct 27: AudioStream (5 fields) + Name: AudioStream + Description: AudioStream, custom audio stream + Field[1]: rAudioBuffer * buffer // Pointer to internal data used by the audio system + Field[2]: rAudioProcessor * processor // Pointer to internal data processor, useful for audio effects + Field[3]: unsigned int sampleRate // Frequency (samples per second) + Field[4]: unsigned int sampleSize // Bit depth (bits per sample): 8, 16, 32 (24 not supported) + Field[5]: unsigned int channels // Number of channels (1-mono, 2-stereo, ...) +Struct 28: Sound (2 fields) + Name: Sound + Description: Sound + Field[1]: AudioStream stream // Audio stream + Field[2]: unsigned int frameCount // Total number of frames (considering channels) +Struct 29: Music (5 fields) + Name: Music + Description: Music, audio stream, anything longer than ~10 seconds should be streamed + Field[1]: AudioStream stream // Audio stream + Field[2]: unsigned int frameCount // Total number of frames (considering channels) + Field[3]: bool looping // Music looping enable + Field[4]: int ctxType // Type of music context (audio filetype) + Field[5]: void * ctxData // Audio context data, depends on type +Struct 30: VrDeviceInfo (10 fields) + Name: VrDeviceInfo + Description: VrDeviceInfo, Head-Mounted-Display device parameters + Field[1]: int hResolution // Horizontal resolution in pixels + Field[2]: int vResolution // Vertical resolution in pixels + Field[3]: float hScreenSize // Horizontal size in meters + Field[4]: float vScreenSize // Vertical size in meters + Field[5]: float vScreenCenter // Screen center in meters + Field[6]: float eyeToScreenDistance // Distance between eye and display in meters + Field[7]: float lensSeparationDistance // Lens separation distance in meters + Field[8]: float interpupillaryDistance // IPD (distance between pupils) in meters + Field[9]: float[4] lensDistortionValues // Lens distortion constant parameters + Field[10]: float[4] chromaAbCorrection // Chromatic aberration correction parameters +Struct 31: VrStereoConfig (8 fields) + Name: VrStereoConfig + Description: VrStereoConfig, VR stereo rendering configuration for simulator + Field[1]: Matrix[2] projection // VR projection matrices (per eye) + Field[2]: Matrix[2] viewOffset // VR view offset matrices (per eye) + Field[3]: float[2] leftLensCenter // VR left lens center + Field[4]: float[2] rightLensCenter // VR right lens center + Field[5]: float[2] leftScreenCenter // VR left screen center + Field[6]: float[2] rightScreenCenter // VR right screen center + Field[7]: float[2] scale // VR distortion scale + Field[8]: float[2] scaleIn // VR distortion scale in + +Aliases found: 5 + +Alias 001: Quaternion + Type: Vector4 + Name: Quaternion + Description: Quaternion, 4 components (Vector4 alias) +Alias 002: Texture2D + Type: Texture + Name: Texture2D + Description: Texture2D, same as Texture +Alias 003: TextureCubemap + Type: Texture + Name: TextureCubemap + Description: TextureCubemap, same as Texture +Alias 004: RenderTexture2D + Type: RenderTexture + Name: RenderTexture2D + Description: RenderTexture2D, same as RenderTexture +Alias 005: Camera + Type: Camera3D + Name: Camera + Description: Camera type fallback, defaults to Camera3D + +Enums found: 21 + +Enum 01: ConfigFlags (14 values) + Name: ConfigFlags + Description: System/Window config flags + Value[FLAG_VSYNC_HINT]: 64 + Value[FLAG_FULLSCREEN_MODE]: 2 + Value[FLAG_WINDOW_RESIZABLE]: 4 + Value[FLAG_WINDOW_UNDECORATED]: 8 + Value[FLAG_WINDOW_HIDDEN]: 128 + Value[FLAG_WINDOW_MINIMIZED]: 512 + Value[FLAG_WINDOW_MAXIMIZED]: 1024 + Value[FLAG_WINDOW_UNFOCUSED]: 2048 + Value[FLAG_WINDOW_TOPMOST]: 4096 + Value[FLAG_WINDOW_ALWAYS_RUN]: 256 + Value[FLAG_WINDOW_TRANSPARENT]: 16 + Value[FLAG_WINDOW_HIGHDPI]: 8192 + Value[FLAG_MSAA_4X_HINT]: 32 + Value[FLAG_INTERLACED_HINT]: 65536 +Enum 02: TraceLogLevel (8 values) + Name: TraceLogLevel + Description: Trace log level + Value[LOG_ALL]: 0 + Value[LOG_TRACE]: 1 + Value[LOG_DEBUG]: 2 + Value[LOG_INFO]: 3 + Value[LOG_WARNING]: 4 + Value[LOG_ERROR]: 5 + Value[LOG_FATAL]: 6 + Value[LOG_NONE]: 7 +Enum 03: KeyboardKey (110 values) + Name: KeyboardKey + Description: Keyboard keys (US keyboard layout) + Value[KEY_NULL]: 0 + Value[KEY_APOSTROPHE]: 39 + Value[KEY_COMMA]: 44 + Value[KEY_MINUS]: 45 + Value[KEY_PERIOD]: 46 + Value[KEY_SLASH]: 47 + Value[KEY_ZERO]: 48 + Value[KEY_ONE]: 49 + Value[KEY_TWO]: 50 + Value[KEY_THREE]: 51 + Value[KEY_FOUR]: 52 + Value[KEY_FIVE]: 53 + Value[KEY_SIX]: 54 + Value[KEY_SEVEN]: 55 + Value[KEY_EIGHT]: 56 + Value[KEY_NINE]: 57 + Value[KEY_SEMICOLON]: 59 + Value[KEY_EQUAL]: 61 + Value[KEY_A]: 65 + Value[KEY_B]: 66 + Value[KEY_C]: 67 + Value[KEY_D]: 68 + Value[KEY_E]: 69 + Value[KEY_F]: 70 + Value[KEY_G]: 71 + Value[KEY_H]: 72 + Value[KEY_I]: 73 + Value[KEY_J]: 74 + Value[KEY_K]: 75 + Value[KEY_L]: 76 + Value[KEY_M]: 77 + Value[KEY_N]: 78 + Value[KEY_O]: 79 + Value[KEY_P]: 80 + Value[KEY_Q]: 81 + Value[KEY_R]: 82 + Value[KEY_S]: 83 + Value[KEY_T]: 84 + Value[KEY_U]: 85 + Value[KEY_V]: 86 + Value[KEY_W]: 87 + Value[KEY_X]: 88 + Value[KEY_Y]: 89 + Value[KEY_Z]: 90 + Value[KEY_LEFT_BRACKET]: 91 + Value[KEY_BACKSLASH]: 92 + Value[KEY_RIGHT_BRACKET]: 93 + Value[KEY_GRAVE]: 96 + Value[KEY_SPACE]: 32 + Value[KEY_ESCAPE]: 256 + Value[KEY_ENTER]: 257 + Value[KEY_TAB]: 258 + Value[KEY_BACKSPACE]: 259 + Value[KEY_INSERT]: 260 + Value[KEY_DELETE]: 261 + Value[KEY_RIGHT]: 262 + Value[KEY_LEFT]: 263 + Value[KEY_DOWN]: 264 + Value[KEY_UP]: 265 + Value[KEY_PAGE_UP]: 266 + Value[KEY_PAGE_DOWN]: 267 + Value[KEY_HOME]: 268 + Value[KEY_END]: 269 + Value[KEY_CAPS_LOCK]: 280 + Value[KEY_SCROLL_LOCK]: 281 + Value[KEY_NUM_LOCK]: 282 + Value[KEY_PRINT_SCREEN]: 283 + Value[KEY_PAUSE]: 284 + Value[KEY_F1]: 290 + Value[KEY_F2]: 291 + Value[KEY_F3]: 292 + Value[KEY_F4]: 293 + Value[KEY_F5]: 294 + Value[KEY_F6]: 295 + Value[KEY_F7]: 296 + Value[KEY_F8]: 297 + Value[KEY_F9]: 298 + Value[KEY_F10]: 299 + Value[KEY_F11]: 300 + Value[KEY_F12]: 301 + Value[KEY_LEFT_SHIFT]: 340 + Value[KEY_LEFT_CONTROL]: 341 + Value[KEY_LEFT_ALT]: 342 + Value[KEY_LEFT_SUPER]: 343 + Value[KEY_RIGHT_SHIFT]: 344 + Value[KEY_RIGHT_CONTROL]: 345 + Value[KEY_RIGHT_ALT]: 346 + Value[KEY_RIGHT_SUPER]: 347 + Value[KEY_KB_MENU]: 348 + Value[KEY_KP_0]: 320 + Value[KEY_KP_1]: 321 + Value[KEY_KP_2]: 322 + Value[KEY_KP_3]: 323 + Value[KEY_KP_4]: 324 + Value[KEY_KP_5]: 325 + Value[KEY_KP_6]: 326 + Value[KEY_KP_7]: 327 + Value[KEY_KP_8]: 328 + Value[KEY_KP_9]: 329 + Value[KEY_KP_DECIMAL]: 330 + Value[KEY_KP_DIVIDE]: 331 + Value[KEY_KP_MULTIPLY]: 332 + Value[KEY_KP_SUBTRACT]: 333 + Value[KEY_KP_ADD]: 334 + Value[KEY_KP_ENTER]: 335 + Value[KEY_KP_EQUAL]: 336 + Value[KEY_BACK]: 4 + Value[KEY_MENU]: 82 + Value[KEY_VOLUME_UP]: 24 + Value[KEY_VOLUME_DOWN]: 25 +Enum 04: MouseButton (7 values) + Name: MouseButton + Description: Mouse buttons + Value[MOUSE_BUTTON_LEFT]: 0 + Value[MOUSE_BUTTON_RIGHT]: 1 + Value[MOUSE_BUTTON_MIDDLE]: 2 + Value[MOUSE_BUTTON_SIDE]: 3 + Value[MOUSE_BUTTON_EXTRA]: 4 + Value[MOUSE_BUTTON_FORWARD]: 5 + Value[MOUSE_BUTTON_BACK]: 6 +Enum 05: MouseCursor (11 values) + Name: MouseCursor + Description: Mouse cursor + Value[MOUSE_CURSOR_DEFAULT]: 0 + Value[MOUSE_CURSOR_ARROW]: 1 + Value[MOUSE_CURSOR_IBEAM]: 2 + Value[MOUSE_CURSOR_CROSSHAIR]: 3 + Value[MOUSE_CURSOR_POINTING_HAND]: 4 + Value[MOUSE_CURSOR_RESIZE_EW]: 5 + Value[MOUSE_CURSOR_RESIZE_NS]: 6 + Value[MOUSE_CURSOR_RESIZE_NWSE]: 7 + Value[MOUSE_CURSOR_RESIZE_NESW]: 8 + Value[MOUSE_CURSOR_RESIZE_ALL]: 9 + Value[MOUSE_CURSOR_NOT_ALLOWED]: 10 +Enum 06: GamepadButton (18 values) + Name: GamepadButton + Description: Gamepad buttons + Value[GAMEPAD_BUTTON_UNKNOWN]: 0 + Value[GAMEPAD_BUTTON_LEFT_FACE_UP]: 1 + Value[GAMEPAD_BUTTON_LEFT_FACE_RIGHT]: 2 + Value[GAMEPAD_BUTTON_LEFT_FACE_DOWN]: 3 + Value[GAMEPAD_BUTTON_LEFT_FACE_LEFT]: 4 + Value[GAMEPAD_BUTTON_RIGHT_FACE_UP]: 5 + Value[GAMEPAD_BUTTON_RIGHT_FACE_RIGHT]: 6 + Value[GAMEPAD_BUTTON_RIGHT_FACE_DOWN]: 7 + Value[GAMEPAD_BUTTON_RIGHT_FACE_LEFT]: 8 + Value[GAMEPAD_BUTTON_LEFT_TRIGGER_1]: 9 + Value[GAMEPAD_BUTTON_LEFT_TRIGGER_2]: 10 + Value[GAMEPAD_BUTTON_RIGHT_TRIGGER_1]: 11 + Value[GAMEPAD_BUTTON_RIGHT_TRIGGER_2]: 12 + Value[GAMEPAD_BUTTON_MIDDLE_LEFT]: 13 + Value[GAMEPAD_BUTTON_MIDDLE]: 14 + Value[GAMEPAD_BUTTON_MIDDLE_RIGHT]: 15 + Value[GAMEPAD_BUTTON_LEFT_THUMB]: 16 + Value[GAMEPAD_BUTTON_RIGHT_THUMB]: 17 +Enum 07: GamepadAxis (6 values) + Name: GamepadAxis + Description: Gamepad axis + Value[GAMEPAD_AXIS_LEFT_X]: 0 + Value[GAMEPAD_AXIS_LEFT_Y]: 1 + Value[GAMEPAD_AXIS_RIGHT_X]: 2 + Value[GAMEPAD_AXIS_RIGHT_Y]: 3 + Value[GAMEPAD_AXIS_LEFT_TRIGGER]: 4 + Value[GAMEPAD_AXIS_RIGHT_TRIGGER]: 5 +Enum 08: MaterialMapIndex (11 values) + Name: MaterialMapIndex + Description: Material map index + Value[MATERIAL_MAP_ALBEDO]: 0 + Value[MATERIAL_MAP_METALNESS]: 1 + Value[MATERIAL_MAP_NORMAL]: 2 + Value[MATERIAL_MAP_ROUGHNESS]: 3 + Value[MATERIAL_MAP_OCCLUSION]: 4 + Value[MATERIAL_MAP_EMISSION]: 5 + Value[MATERIAL_MAP_HEIGHT]: 6 + Value[MATERIAL_MAP_CUBEMAP]: 7 + Value[MATERIAL_MAP_IRRADIANCE]: 8 + Value[MATERIAL_MAP_PREFILTER]: 9 + Value[MATERIAL_MAP_BRDF]: 10 +Enum 09: ShaderLocationIndex (26 values) + Name: ShaderLocationIndex + Description: Shader location index + Value[SHADER_LOC_VERTEX_POSITION]: 0 + Value[SHADER_LOC_VERTEX_TEXCOORD01]: 1 + Value[SHADER_LOC_VERTEX_TEXCOORD02]: 2 + Value[SHADER_LOC_VERTEX_NORMAL]: 3 + Value[SHADER_LOC_VERTEX_TANGENT]: 4 + Value[SHADER_LOC_VERTEX_COLOR]: 5 + Value[SHADER_LOC_MATRIX_MVP]: 6 + Value[SHADER_LOC_MATRIX_VIEW]: 7 + Value[SHADER_LOC_MATRIX_PROJECTION]: 8 + Value[SHADER_LOC_MATRIX_MODEL]: 9 + Value[SHADER_LOC_MATRIX_NORMAL]: 10 + Value[SHADER_LOC_VECTOR_VIEW]: 11 + Value[SHADER_LOC_COLOR_DIFFUSE]: 12 + Value[SHADER_LOC_COLOR_SPECULAR]: 13 + Value[SHADER_LOC_COLOR_AMBIENT]: 14 + Value[SHADER_LOC_MAP_ALBEDO]: 15 + Value[SHADER_LOC_MAP_METALNESS]: 16 + Value[SHADER_LOC_MAP_NORMAL]: 17 + Value[SHADER_LOC_MAP_ROUGHNESS]: 18 + Value[SHADER_LOC_MAP_OCCLUSION]: 19 + Value[SHADER_LOC_MAP_EMISSION]: 20 + Value[SHADER_LOC_MAP_HEIGHT]: 21 + Value[SHADER_LOC_MAP_CUBEMAP]: 22 + Value[SHADER_LOC_MAP_IRRADIANCE]: 23 + Value[SHADER_LOC_MAP_PREFILTER]: 24 + Value[SHADER_LOC_MAP_BRDF]: 25 +Enum 10: ShaderUniformDataType (9 values) + Name: ShaderUniformDataType + Description: Shader uniform data type + Value[SHADER_UNIFORM_FLOAT]: 0 + Value[SHADER_UNIFORM_VEC2]: 1 + Value[SHADER_UNIFORM_VEC3]: 2 + Value[SHADER_UNIFORM_VEC4]: 3 + Value[SHADER_UNIFORM_INT]: 4 + Value[SHADER_UNIFORM_IVEC2]: 5 + Value[SHADER_UNIFORM_IVEC3]: 6 + Value[SHADER_UNIFORM_IVEC4]: 7 + Value[SHADER_UNIFORM_SAMPLER2D]: 8 +Enum 11: ShaderAttributeDataType (4 values) + Name: ShaderAttributeDataType + Description: Shader attribute data types + Value[SHADER_ATTRIB_FLOAT]: 0 + Value[SHADER_ATTRIB_VEC2]: 1 + Value[SHADER_ATTRIB_VEC3]: 2 + Value[SHADER_ATTRIB_VEC4]: 3 +Enum 12: PixelFormat (21 values) + Name: PixelFormat + Description: Pixel formats + Value[PIXELFORMAT_UNCOMPRESSED_GRAYSCALE]: 1 + Value[PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA]: 2 + Value[PIXELFORMAT_UNCOMPRESSED_R5G6B5]: 3 + Value[PIXELFORMAT_UNCOMPRESSED_R8G8B8]: 4 + Value[PIXELFORMAT_UNCOMPRESSED_R5G5B5A1]: 5 + Value[PIXELFORMAT_UNCOMPRESSED_R4G4B4A4]: 6 + Value[PIXELFORMAT_UNCOMPRESSED_R8G8B8A8]: 7 + Value[PIXELFORMAT_UNCOMPRESSED_R32]: 8 + Value[PIXELFORMAT_UNCOMPRESSED_R32G32B32]: 9 + Value[PIXELFORMAT_UNCOMPRESSED_R32G32B32A32]: 10 + Value[PIXELFORMAT_COMPRESSED_DXT1_RGB]: 11 + Value[PIXELFORMAT_COMPRESSED_DXT1_RGBA]: 12 + Value[PIXELFORMAT_COMPRESSED_DXT3_RGBA]: 13 + Value[PIXELFORMAT_COMPRESSED_DXT5_RGBA]: 14 + Value[PIXELFORMAT_COMPRESSED_ETC1_RGB]: 15 + Value[PIXELFORMAT_COMPRESSED_ETC2_RGB]: 16 + Value[PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA]: 17 + Value[PIXELFORMAT_COMPRESSED_PVRT_RGB]: 18 + Value[PIXELFORMAT_COMPRESSED_PVRT_RGBA]: 19 + Value[PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA]: 20 + Value[PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA]: 21 +Enum 13: TextureFilter (6 values) + Name: TextureFilter + Description: Texture parameters: filter mode + Value[TEXTURE_FILTER_POINT]: 0 + Value[TEXTURE_FILTER_BILINEAR]: 1 + Value[TEXTURE_FILTER_TRILINEAR]: 2 + Value[TEXTURE_FILTER_ANISOTROPIC_4X]: 3 + Value[TEXTURE_FILTER_ANISOTROPIC_8X]: 4 + Value[TEXTURE_FILTER_ANISOTROPIC_16X]: 5 +Enum 14: TextureWrap (4 values) + Name: TextureWrap + Description: Texture parameters: wrap mode + Value[TEXTURE_WRAP_REPEAT]: 0 + Value[TEXTURE_WRAP_CLAMP]: 1 + Value[TEXTURE_WRAP_MIRROR_REPEAT]: 2 + Value[TEXTURE_WRAP_MIRROR_CLAMP]: 3 +Enum 15: CubemapLayout (6 values) + Name: CubemapLayout + Description: Cubemap layouts + Value[CUBEMAP_LAYOUT_AUTO_DETECT]: 0 + Value[CUBEMAP_LAYOUT_LINE_VERTICAL]: 1 + Value[CUBEMAP_LAYOUT_LINE_HORIZONTAL]: 2 + Value[CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR]: 3 + Value[CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE]: 4 + Value[CUBEMAP_LAYOUT_PANORAMA]: 5 +Enum 16: FontType (3 values) + Name: FontType + Description: Font type, defines generation method + Value[FONT_DEFAULT]: 0 + Value[FONT_BITMAP]: 1 + Value[FONT_SDF]: 2 +Enum 17: BlendMode (7 values) + Name: BlendMode + Description: Color blending modes (pre-defined) + Value[BLEND_ALPHA]: 0 + Value[BLEND_ADDITIVE]: 1 + Value[BLEND_MULTIPLIED]: 2 + Value[BLEND_ADD_COLORS]: 3 + Value[BLEND_SUBTRACT_COLORS]: 4 + Value[BLEND_ALPHA_PREMUL]: 5 + Value[BLEND_CUSTOM]: 6 +Enum 18: Gesture (11 values) + Name: Gesture + Description: Gesture + Value[GESTURE_NONE]: 0 + Value[GESTURE_TAP]: 1 + Value[GESTURE_DOUBLETAP]: 2 + Value[GESTURE_HOLD]: 4 + Value[GESTURE_DRAG]: 8 + Value[GESTURE_SWIPE_RIGHT]: 16 + Value[GESTURE_SWIPE_LEFT]: 32 + Value[GESTURE_SWIPE_UP]: 64 + Value[GESTURE_SWIPE_DOWN]: 128 + Value[GESTURE_PINCH_IN]: 256 + Value[GESTURE_PINCH_OUT]: 512 +Enum 19: CameraMode (5 values) + Name: CameraMode + Description: Camera system modes + Value[CAMERA_CUSTOM]: 0 + Value[CAMERA_FREE]: 1 + Value[CAMERA_ORBITAL]: 2 + Value[CAMERA_FIRST_PERSON]: 3 + Value[CAMERA_THIRD_PERSON]: 4 +Enum 20: CameraProjection (2 values) + Name: CameraProjection + Description: Camera projection + Value[CAMERA_PERSPECTIVE]: 0 + Value[CAMERA_ORTHOGRAPHIC]: 1 +Enum 21: NPatchLayout (3 values) + Name: NPatchLayout + Description: N-patch layout + Value[NPATCH_NINE_PATCH]: 0 + Value[NPATCH_THREE_PATCH_VERTICAL]: 1 + Value[NPATCH_THREE_PATCH_HORIZONTAL]: 2 + +Callbacks found: 6 + +Callback 001: TraceLogCallback() (3 input parameters) + Name: TraceLogCallback + Return type: void + Description: Logging: Redirect trace log messages + Param[1]: logLevel (type: int) + Param[2]: text (type: const char *) + Param[3]: args (type: va_list) +Callback 002: LoadFileDataCallback() (2 input parameters) + Name: LoadFileDataCallback + Return type: unsigned char * + Description: FileIO: Load binary data + Param[1]: fileName (type: const char *) + Param[2]: bytesRead (type: unsigned int *) +Callback 003: SaveFileDataCallback() (3 input parameters) + Name: SaveFileDataCallback + Return type: bool + Description: FileIO: Save binary data + Param[1]: fileName (type: const char *) + Param[2]: data (type: void *) + Param[3]: bytesToWrite (type: unsigned int) +Callback 004: LoadFileTextCallback() (1 input parameters) + Name: LoadFileTextCallback + Return type: char * + Description: FileIO: Load text data + Param[1]: fileName (type: const char *) +Callback 005: SaveFileTextCallback() (2 input parameters) + Name: SaveFileTextCallback + Return type: bool + Description: FileIO: Save text data + Param[1]: fileName (type: const char *) + Param[2]: text (type: char *) +Callback 006: AudioCallback() (2 input parameters) + Name: AudioCallback + Return type: void + Description: + Param[1]: bufferData (type: void *) + Param[2]: frames (type: unsigned int) + +Functions found: 499 + +Function 001: InitWindow() (3 input parameters) + Name: InitWindow + Return type: void + Description: Initialize window and OpenGL context + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: title (type: const char *) +Function 002: WindowShouldClose() (0 input parameters) + Name: WindowShouldClose + Return type: bool + Description: Check if KEY_ESCAPE pressed or Close icon pressed + No input parameters +Function 003: CloseWindow() (0 input parameters) + Name: CloseWindow + Return type: void + Description: Close window and unload OpenGL context + No input parameters +Function 004: IsWindowReady() (0 input parameters) + Name: IsWindowReady + Return type: bool + Description: Check if window has been initialized successfully + No input parameters +Function 005: IsWindowFullscreen() (0 input parameters) + Name: IsWindowFullscreen + Return type: bool + Description: Check if window is currently fullscreen + No input parameters +Function 006: IsWindowHidden() (0 input parameters) + Name: IsWindowHidden + Return type: bool + Description: Check if window is currently hidden (only PLATFORM_DESKTOP) + No input parameters +Function 007: IsWindowMinimized() (0 input parameters) + Name: IsWindowMinimized + Return type: bool + Description: Check if window is currently minimized (only PLATFORM_DESKTOP) + No input parameters +Function 008: IsWindowMaximized() (0 input parameters) + Name: IsWindowMaximized + Return type: bool + Description: Check if window is currently maximized (only PLATFORM_DESKTOP) + No input parameters +Function 009: IsWindowFocused() (0 input parameters) + Name: IsWindowFocused + Return type: bool + Description: Check if window is currently focused (only PLATFORM_DESKTOP) + No input parameters +Function 010: IsWindowResized() (0 input parameters) + Name: IsWindowResized + Return type: bool + Description: Check if window has been resized last frame + No input parameters +Function 011: IsWindowState() (1 input parameters) + Name: IsWindowState + Return type: bool + Description: Check if one specific window flag is enabled + Param[1]: flag (type: unsigned int) +Function 012: SetWindowState() (1 input parameters) + Name: SetWindowState + Return type: void + Description: Set window configuration state using flags (only PLATFORM_DESKTOP) + Param[1]: flags (type: unsigned int) +Function 013: ClearWindowState() (1 input parameters) + Name: ClearWindowState + Return type: void + Description: Clear window configuration state flags + Param[1]: flags (type: unsigned int) +Function 014: ToggleFullscreen() (0 input parameters) + Name: ToggleFullscreen + Return type: void + Description: Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP) + No input parameters +Function 015: MaximizeWindow() (0 input parameters) + Name: MaximizeWindow + Return type: void + Description: Set window state: maximized, if resizable (only PLATFORM_DESKTOP) + No input parameters +Function 016: MinimizeWindow() (0 input parameters) + Name: MinimizeWindow + Return type: void + Description: Set window state: minimized, if resizable (only PLATFORM_DESKTOP) + No input parameters +Function 017: RestoreWindow() (0 input parameters) + Name: RestoreWindow + Return type: void + Description: Set window state: not minimized/maximized (only PLATFORM_DESKTOP) + No input parameters +Function 018: SetWindowIcon() (1 input parameters) + Name: SetWindowIcon + Return type: void + Description: Set icon for window (only PLATFORM_DESKTOP) + Param[1]: image (type: Image) +Function 019: SetWindowTitle() (1 input parameters) + Name: SetWindowTitle + Return type: void + Description: Set title for window (only PLATFORM_DESKTOP) + Param[1]: title (type: const char *) +Function 020: SetWindowPosition() (2 input parameters) + Name: SetWindowPosition + Return type: void + Description: Set window position on screen (only PLATFORM_DESKTOP) + Param[1]: x (type: int) + Param[2]: y (type: int) +Function 021: SetWindowMonitor() (1 input parameters) + Name: SetWindowMonitor + Return type: void + Description: Set monitor for the current window (fullscreen mode) + Param[1]: monitor (type: int) +Function 022: SetWindowMinSize() (2 input parameters) + Name: SetWindowMinSize + Return type: void + Description: Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE) + Param[1]: width (type: int) + Param[2]: height (type: int) +Function 023: SetWindowSize() (2 input parameters) + Name: SetWindowSize + Return type: void + Description: Set window dimensions + Param[1]: width (type: int) + Param[2]: height (type: int) +Function 024: SetWindowOpacity() (1 input parameters) + Name: SetWindowOpacity + Return type: void + Description: Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP) + Param[1]: opacity (type: float) +Function 025: GetWindowHandle() (0 input parameters) + Name: GetWindowHandle + Return type: void * + Description: Get native window handle + No input parameters +Function 026: GetScreenWidth() (0 input parameters) + Name: GetScreenWidth + Return type: int + Description: Get current screen width + No input parameters +Function 027: GetScreenHeight() (0 input parameters) + Name: GetScreenHeight + Return type: int + Description: Get current screen height + No input parameters +Function 028: GetRenderWidth() (0 input parameters) + Name: GetRenderWidth + Return type: int + Description: Get current render width (it considers HiDPI) + No input parameters +Function 029: GetRenderHeight() (0 input parameters) + Name: GetRenderHeight + Return type: int + Description: Get current render height (it considers HiDPI) + No input parameters +Function 030: GetMonitorCount() (0 input parameters) + Name: GetMonitorCount + Return type: int + Description: Get number of connected monitors + No input parameters +Function 031: GetCurrentMonitor() (0 input parameters) + Name: GetCurrentMonitor + Return type: int + Description: Get current connected monitor + No input parameters +Function 032: GetMonitorPosition() (1 input parameters) + Name: GetMonitorPosition + Return type: Vector2 + Description: Get specified monitor position + Param[1]: monitor (type: int) +Function 033: GetMonitorWidth() (1 input parameters) + Name: GetMonitorWidth + Return type: int + Description: Get specified monitor width (max available by monitor) + Param[1]: monitor (type: int) +Function 034: GetMonitorHeight() (1 input parameters) + Name: GetMonitorHeight + Return type: int + Description: Get specified monitor height (max available by monitor) + Param[1]: monitor (type: int) +Function 035: GetMonitorPhysicalWidth() (1 input parameters) + Name: GetMonitorPhysicalWidth + Return type: int + Description: Get specified monitor physical width in millimetres + Param[1]: monitor (type: int) +Function 036: GetMonitorPhysicalHeight() (1 input parameters) + Name: GetMonitorPhysicalHeight + Return type: int + Description: Get specified monitor physical height in millimetres + Param[1]: monitor (type: int) +Function 037: GetMonitorRefreshRate() (1 input parameters) + Name: GetMonitorRefreshRate + Return type: int + Description: Get specified monitor refresh rate + Param[1]: monitor (type: int) +Function 038: GetWindowPosition() (0 input parameters) + Name: GetWindowPosition + Return type: Vector2 + Description: Get window position XY on monitor + No input parameters +Function 039: GetWindowScaleDPI() (0 input parameters) + Name: GetWindowScaleDPI + Return type: Vector2 + Description: Get window scale DPI factor + No input parameters +Function 040: GetMonitorName() (1 input parameters) + Name: GetMonitorName + Return type: const char * + Description: Get the human-readable, UTF-8 encoded name of the primary monitor + Param[1]: monitor (type: int) +Function 041: SetClipboardText() (1 input parameters) + Name: SetClipboardText + Return type: void + Description: Set clipboard text content + Param[1]: text (type: const char *) +Function 042: GetClipboardText() (0 input parameters) + Name: GetClipboardText + Return type: const char * + Description: Get clipboard text content + No input parameters +Function 043: SwapScreenBuffer() (0 input parameters) + Name: SwapScreenBuffer + Return type: void + Description: Swap back buffer with front buffer (screen drawing) + No input parameters +Function 044: PollInputEvents() (0 input parameters) + Name: PollInputEvents + Return type: void + Description: Register all input events + No input parameters +Function 045: WaitTime() (1 input parameters) + Name: WaitTime + Return type: void + Description: Wait for some milliseconds (halt program execution) + Param[1]: ms (type: float) +Function 046: ShowCursor() (0 input parameters) + Name: ShowCursor + Return type: void + Description: Shows cursor + No input parameters +Function 047: HideCursor() (0 input parameters) + Name: HideCursor + Return type: void + Description: Hides cursor + No input parameters +Function 048: IsCursorHidden() (0 input parameters) + Name: IsCursorHidden + Return type: bool + Description: Check if cursor is not visible + No input parameters +Function 049: EnableCursor() (0 input parameters) + Name: EnableCursor + Return type: void + Description: Enables cursor (unlock cursor) + No input parameters +Function 050: DisableCursor() (0 input parameters) + Name: DisableCursor + Return type: void + Description: Disables cursor (lock cursor) + No input parameters +Function 051: IsCursorOnScreen() (0 input parameters) + Name: IsCursorOnScreen + Return type: bool + Description: Check if cursor is on the screen + No input parameters +Function 052: ClearBackground() (1 input parameters) + Name: ClearBackground + Return type: void + Description: Set background color (framebuffer clear color) + Param[1]: color (type: Color) +Function 053: BeginDrawing() (0 input parameters) + Name: BeginDrawing + Return type: void + Description: Setup canvas (framebuffer) to start drawing + No input parameters +Function 054: EndDrawing() (0 input parameters) + Name: EndDrawing + Return type: void + Description: End canvas drawing and swap buffers (double buffering) + No input parameters +Function 055: BeginMode2D() (1 input parameters) + Name: BeginMode2D + Return type: void + Description: Begin 2D mode with custom camera (2D) + Param[1]: camera (type: Camera2D) +Function 056: EndMode2D() (0 input parameters) + Name: EndMode2D + Return type: void + Description: Ends 2D mode with custom camera + No input parameters +Function 057: BeginMode3D() (1 input parameters) + Name: BeginMode3D + Return type: void + Description: Begin 3D mode with custom camera (3D) + Param[1]: camera (type: Camera3D) +Function 058: EndMode3D() (0 input parameters) + Name: EndMode3D + Return type: void + Description: Ends 3D mode and returns to default 2D orthographic mode + No input parameters +Function 059: BeginTextureMode() (1 input parameters) + Name: BeginTextureMode + Return type: void + Description: Begin drawing to render texture + Param[1]: target (type: RenderTexture2D) +Function 060: EndTextureMode() (0 input parameters) + Name: EndTextureMode + Return type: void + Description: Ends drawing to render texture + No input parameters +Function 061: BeginShaderMode() (1 input parameters) + Name: BeginShaderMode + Return type: void + Description: Begin custom shader drawing + Param[1]: shader (type: Shader) +Function 062: EndShaderMode() (0 input parameters) + Name: EndShaderMode + Return type: void + Description: End custom shader drawing (use default shader) + No input parameters +Function 063: BeginBlendMode() (1 input parameters) + Name: BeginBlendMode + Return type: void + Description: Begin blending mode (alpha, additive, multiplied, subtract, custom) + Param[1]: mode (type: int) +Function 064: EndBlendMode() (0 input parameters) + Name: EndBlendMode + Return type: void + Description: End blending mode (reset to default: alpha blending) + No input parameters +Function 065: BeginScissorMode() (4 input parameters) + Name: BeginScissorMode + Return type: void + Description: Begin scissor mode (define screen area for following drawing) + Param[1]: x (type: int) + Param[2]: y (type: int) + Param[3]: width (type: int) + Param[4]: height (type: int) +Function 066: EndScissorMode() (0 input parameters) + Name: EndScissorMode + Return type: void + Description: End scissor mode + No input parameters +Function 067: BeginVrStereoMode() (1 input parameters) + Name: BeginVrStereoMode + Return type: void + Description: Begin stereo rendering (requires VR simulator) + Param[1]: config (type: VrStereoConfig) +Function 068: EndVrStereoMode() (0 input parameters) + Name: EndVrStereoMode + Return type: void + Description: End stereo rendering (requires VR simulator) + No input parameters +Function 069: LoadVrStereoConfig() (1 input parameters) + Name: LoadVrStereoConfig + Return type: VrStereoConfig + Description: Load VR stereo config for VR simulator device parameters + Param[1]: device (type: VrDeviceInfo) +Function 070: UnloadVrStereoConfig() (1 input parameters) + Name: UnloadVrStereoConfig + Return type: void + Description: Unload VR stereo config + Param[1]: config (type: VrStereoConfig) +Function 071: LoadShader() (2 input parameters) + Name: LoadShader + Return type: Shader + Description: Load shader from files and bind default locations + Param[1]: vsFileName (type: const char *) + Param[2]: fsFileName (type: const char *) +Function 072: LoadShaderFromMemory() (2 input parameters) + Name: LoadShaderFromMemory + Return type: Shader + Description: Load shader from code strings and bind default locations + Param[1]: vsCode (type: const char *) + Param[2]: fsCode (type: const char *) +Function 073: GetShaderLocation() (2 input parameters) + Name: GetShaderLocation + Return type: int + Description: Get shader uniform location + Param[1]: shader (type: Shader) + Param[2]: uniformName (type: const char *) +Function 074: GetShaderLocationAttrib() (2 input parameters) + Name: GetShaderLocationAttrib + Return type: int + Description: Get shader attribute location + Param[1]: shader (type: Shader) + Param[2]: attribName (type: const char *) +Function 075: SetShaderValue() (4 input parameters) + Name: SetShaderValue + Return type: void + Description: Set shader uniform value + Param[1]: shader (type: Shader) + Param[2]: locIndex (type: int) + Param[3]: value (type: const void *) + Param[4]: uniformType (type: int) +Function 076: SetShaderValueV() (5 input parameters) + Name: SetShaderValueV + Return type: void + Description: Set shader uniform value vector + Param[1]: shader (type: Shader) + Param[2]: locIndex (type: int) + Param[3]: value (type: const void *) + Param[4]: uniformType (type: int) + Param[5]: count (type: int) +Function 077: SetShaderValueMatrix() (3 input parameters) + Name: SetShaderValueMatrix + Return type: void + Description: Set shader uniform value (matrix 4x4) + Param[1]: shader (type: Shader) + Param[2]: locIndex (type: int) + Param[3]: mat (type: Matrix) +Function 078: SetShaderValueTexture() (3 input parameters) + Name: SetShaderValueTexture + Return type: void + Description: Set shader uniform value for texture (sampler2d) + Param[1]: shader (type: Shader) + Param[2]: locIndex (type: int) + Param[3]: texture (type: Texture2D) +Function 079: UnloadShader() (1 input parameters) + Name: UnloadShader + Return type: void + Description: Unload shader from GPU memory (VRAM) + Param[1]: shader (type: Shader) +Function 080: GetMouseRay() (2 input parameters) + Name: GetMouseRay + Return type: Ray + Description: Get a ray trace from mouse position + Param[1]: mousePosition (type: Vector2) + Param[2]: camera (type: Camera) +Function 081: GetCameraMatrix() (1 input parameters) + Name: GetCameraMatrix + Return type: Matrix + Description: Get camera transform matrix (view matrix) + Param[1]: camera (type: Camera) +Function 082: GetCameraMatrix2D() (1 input parameters) + Name: GetCameraMatrix2D + Return type: Matrix + Description: Get camera 2d transform matrix + Param[1]: camera (type: Camera2D) +Function 083: GetWorldToScreen() (2 input parameters) + Name: GetWorldToScreen + Return type: Vector2 + Description: Get the screen space position for a 3d world space position + Param[1]: position (type: Vector3) + Param[2]: camera (type: Camera) +Function 084: GetWorldToScreenEx() (4 input parameters) + Name: GetWorldToScreenEx + Return type: Vector2 + Description: Get size position for a 3d world space position + Param[1]: position (type: Vector3) + Param[2]: camera (type: Camera) + Param[3]: width (type: int) + Param[4]: height (type: int) +Function 085: GetWorldToScreen2D() (2 input parameters) + Name: GetWorldToScreen2D + Return type: Vector2 + Description: Get the screen space position for a 2d camera world space position + Param[1]: position (type: Vector2) + Param[2]: camera (type: Camera2D) +Function 086: GetScreenToWorld2D() (2 input parameters) + Name: GetScreenToWorld2D + Return type: Vector2 + Description: Get the world space position for a 2d camera screen space position + Param[1]: position (type: Vector2) + Param[2]: camera (type: Camera2D) +Function 087: SetTargetFPS() (1 input parameters) + Name: SetTargetFPS + Return type: void + Description: Set target FPS (maximum) + Param[1]: fps (type: int) +Function 088: GetFPS() (0 input parameters) + Name: GetFPS + Return type: int + Description: Get current FPS + No input parameters +Function 089: GetFrameTime() (0 input parameters) + Name: GetFrameTime + Return type: float + Description: Get time in seconds for last frame drawn (delta time) + No input parameters +Function 090: GetTime() (0 input parameters) + Name: GetTime + Return type: double + Description: Get elapsed time in seconds since InitWindow() + No input parameters +Function 091: GetRandomValue() (2 input parameters) + Name: GetRandomValue + Return type: int + Description: Get a random value between min and max (both included) + Param[1]: min (type: int) + Param[2]: max (type: int) +Function 092: SetRandomSeed() (1 input parameters) + Name: SetRandomSeed + Return type: void + Description: Set the seed for the random number generator + Param[1]: seed (type: unsigned int) +Function 093: TakeScreenshot() (1 input parameters) + Name: TakeScreenshot + Return type: void + Description: Takes a screenshot of current screen (filename extension defines format) + Param[1]: fileName (type: const char *) +Function 094: SetConfigFlags() (1 input parameters) + Name: SetConfigFlags + Return type: void + Description: Setup init configuration flags (view FLAGS) + Param[1]: flags (type: unsigned int) +Function 095: TraceLog() (3 input parameters) + Name: TraceLog + Return type: void + Description: Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...) + Param[1]: logLevel (type: int) + Param[2]: text (type: const char *) + Param[3]: args (type: ...) +Function 096: SetTraceLogLevel() (1 input parameters) + Name: SetTraceLogLevel + Return type: void + Description: Set the current threshold (minimum) log level + Param[1]: logLevel (type: int) +Function 097: MemAlloc() (1 input parameters) + Name: MemAlloc + Return type: void * + Description: Internal memory allocator + Param[1]: size (type: int) +Function 098: MemRealloc() (2 input parameters) + Name: MemRealloc + Return type: void * + Description: Internal memory reallocator + Param[1]: ptr (type: void *) + Param[2]: size (type: int) +Function 099: MemFree() (1 input parameters) + Name: MemFree + Return type: void + Description: Internal memory free + Param[1]: ptr (type: void *) +Function 100: SetTraceLogCallback() (1 input parameters) + Name: SetTraceLogCallback + Return type: void + Description: Set custom trace log + Param[1]: callback (type: TraceLogCallback) +Function 101: SetLoadFileDataCallback() (1 input parameters) + Name: SetLoadFileDataCallback + Return type: void + Description: Set custom file binary data loader + Param[1]: callback (type: LoadFileDataCallback) +Function 102: SetSaveFileDataCallback() (1 input parameters) + Name: SetSaveFileDataCallback + Return type: void + Description: Set custom file binary data saver + Param[1]: callback (type: SaveFileDataCallback) +Function 103: SetLoadFileTextCallback() (1 input parameters) + Name: SetLoadFileTextCallback + Return type: void + Description: Set custom file text data loader + Param[1]: callback (type: LoadFileTextCallback) +Function 104: SetSaveFileTextCallback() (1 input parameters) + Name: SetSaveFileTextCallback + Return type: void + Description: Set custom file text data saver + Param[1]: callback (type: SaveFileTextCallback) +Function 105: LoadFileData() (2 input parameters) + Name: LoadFileData + Return type: unsigned char * + Description: Load file data as byte array (read) + Param[1]: fileName (type: const char *) + Param[2]: bytesRead (type: unsigned int *) +Function 106: UnloadFileData() (1 input parameters) + Name: UnloadFileData + Return type: void + Description: Unload file data allocated by LoadFileData() + Param[1]: data (type: unsigned char *) +Function 107: SaveFileData() (3 input parameters) + Name: SaveFileData + Return type: bool + Description: Save data to file from byte array (write), returns true on success + Param[1]: fileName (type: const char *) + Param[2]: data (type: void *) + Param[3]: bytesToWrite (type: unsigned int) +Function 108: LoadFileText() (1 input parameters) + Name: LoadFileText + Return type: char * + Description: Load text data from file (read), returns a '\0' terminated string + Param[1]: fileName (type: const char *) +Function 109: UnloadFileText() (1 input parameters) + Name: UnloadFileText + Return type: void + Description: Unload file text data allocated by LoadFileText() + Param[1]: text (type: char *) +Function 110: SaveFileText() (2 input parameters) + Name: SaveFileText + Return type: bool + Description: Save text data to file (write), string must be '\0' terminated, returns true on success + Param[1]: fileName (type: const char *) + Param[2]: text (type: char *) +Function 111: FileExists() (1 input parameters) + Name: FileExists + Return type: bool + Description: Check if file exists + Param[1]: fileName (type: const char *) +Function 112: DirectoryExists() (1 input parameters) + Name: DirectoryExists + Return type: bool + Description: Check if a directory path exists + Param[1]: dirPath (type: const char *) +Function 113: IsFileExtension() (2 input parameters) + Name: IsFileExtension + Return type: bool + Description: Check file extension (including point: .png, .wav) + Param[1]: fileName (type: const char *) + Param[2]: ext (type: const char *) +Function 114: GetFileLength() (1 input parameters) + Name: GetFileLength + Return type: int + Description: Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h) + Param[1]: fileName (type: const char *) +Function 115: GetFileExtension() (1 input parameters) + Name: GetFileExtension + Return type: const char * + Description: Get pointer to extension for a filename string (includes dot: '.png') + Param[1]: fileName (type: const char *) +Function 116: GetFileName() (1 input parameters) + Name: GetFileName + Return type: const char * + Description: Get pointer to filename for a path string + Param[1]: filePath (type: const char *) +Function 117: GetFileNameWithoutExt() (1 input parameters) + Name: GetFileNameWithoutExt + Return type: const char * + Description: Get filename string without extension (uses static string) + Param[1]: filePath (type: const char *) +Function 118: GetDirectoryPath() (1 input parameters) + Name: GetDirectoryPath + Return type: const char * + Description: Get full path for a given fileName with path (uses static string) + Param[1]: filePath (type: const char *) +Function 119: GetPrevDirectoryPath() (1 input parameters) + Name: GetPrevDirectoryPath + Return type: const char * + Description: Get previous directory path for a given path (uses static string) + Param[1]: dirPath (type: const char *) +Function 120: GetWorkingDirectory() (0 input parameters) + Name: GetWorkingDirectory + Return type: const char * + Description: Get current working directory (uses static string) + No input parameters +Function 121: GetApplicationDirectory() (0 input parameters) + Name: GetApplicationDirectory + Return type: const char * + Description: Get the directory if the running application (uses static string) + No input parameters +Function 122: GetDirectoryFiles() (2 input parameters) + Name: GetDirectoryFiles + Return type: char ** + Description: Get filenames in a directory path (memory must be freed) + Param[1]: dirPath (type: const char *) + Param[2]: count (type: int *) +Function 123: ClearDirectoryFiles() (0 input parameters) + Name: ClearDirectoryFiles + Return type: void + Description: Clear directory files paths buffers (free memory) + No input parameters +Function 124: ChangeDirectory() (1 input parameters) + Name: ChangeDirectory + Return type: bool + Description: Change working directory, return true on success + Param[1]: dir (type: const char *) +Function 125: IsFileDropped() (0 input parameters) + Name: IsFileDropped + Return type: bool + Description: Check if a file has been dropped into window + No input parameters +Function 126: GetDroppedFiles() (1 input parameters) + Name: GetDroppedFiles + Return type: char ** + Description: Get dropped files names (memory must be freed) + Param[1]: count (type: int *) +Function 127: ClearDroppedFiles() (0 input parameters) + Name: ClearDroppedFiles + Return type: void + Description: Clear dropped files paths buffer (free memory) + No input parameters +Function 128: GetFileModTime() (1 input parameters) + Name: GetFileModTime + Return type: long + Description: Get file modification time (last write time) + Param[1]: fileName (type: const char *) +Function 129: CompressData() (3 input parameters) + Name: CompressData + Return type: unsigned char * + Description: Compress data (DEFLATE algorithm), memory must be MemFree() + Param[1]: data (type: const unsigned char *) + Param[2]: dataSize (type: int) + Param[3]: compDataSize (type: int *) +Function 130: DecompressData() (3 input parameters) + Name: DecompressData + Return type: unsigned char * + Description: Decompress data (DEFLATE algorithm), memory must be MemFree() + Param[1]: compData (type: const unsigned char *) + Param[2]: compDataSize (type: int) + Param[3]: dataSize (type: int *) +Function 131: EncodeDataBase64() (3 input parameters) + Name: EncodeDataBase64 + Return type: char * + Description: Encode data to Base64 string, memory must be MemFree() + Param[1]: data (type: const unsigned char *) + Param[2]: dataSize (type: int) + Param[3]: outputSize (type: int *) +Function 132: DecodeDataBase64() (2 input parameters) + Name: DecodeDataBase64 + Return type: unsigned char * + Description: Decode Base64 string data, memory must be MemFree() + Param[1]: data (type: const unsigned char *) + Param[2]: outputSize (type: int *) +Function 133: SaveStorageValue() (2 input parameters) + Name: SaveStorageValue + Return type: bool + Description: Save integer value to storage file (to defined position), returns true on success + Param[1]: position (type: unsigned int) + Param[2]: value (type: int) +Function 134: LoadStorageValue() (1 input parameters) + Name: LoadStorageValue + Return type: int + Description: Load integer value from storage file (from defined position) + Param[1]: position (type: unsigned int) +Function 135: OpenURL() (1 input parameters) + Name: OpenURL + Return type: void + Description: Open URL with default system browser (if available) + Param[1]: url (type: const char *) +Function 136: IsKeyPressed() (1 input parameters) + Name: IsKeyPressed + Return type: bool + Description: Check if a key has been pressed once + Param[1]: key (type: int) +Function 137: IsKeyDown() (1 input parameters) + Name: IsKeyDown + Return type: bool + Description: Check if a key is being pressed + Param[1]: key (type: int) +Function 138: IsKeyReleased() (1 input parameters) + Name: IsKeyReleased + Return type: bool + Description: Check if a key has been released once + Param[1]: key (type: int) +Function 139: IsKeyUp() (1 input parameters) + Name: IsKeyUp + Return type: bool + Description: Check if a key is NOT being pressed + Param[1]: key (type: int) +Function 140: SetExitKey() (1 input parameters) + Name: SetExitKey + Return type: void + Description: Set a custom key to exit program (default is ESC) + Param[1]: key (type: int) +Function 141: GetKeyPressed() (0 input parameters) + Name: GetKeyPressed + Return type: int + Description: Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty + No input parameters +Function 142: GetCharPressed() (0 input parameters) + Name: GetCharPressed + Return type: int + Description: Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty + No input parameters +Function 143: IsGamepadAvailable() (1 input parameters) + Name: IsGamepadAvailable + Return type: bool + Description: Check if a gamepad is available + Param[1]: gamepad (type: int) +Function 144: GetGamepadName() (1 input parameters) + Name: GetGamepadName + Return type: const char * + Description: Get gamepad internal name id + Param[1]: gamepad (type: int) +Function 145: IsGamepadButtonPressed() (2 input parameters) + Name: IsGamepadButtonPressed + Return type: bool + Description: Check if a gamepad button has been pressed once + Param[1]: gamepad (type: int) + Param[2]: button (type: int) +Function 146: IsGamepadButtonDown() (2 input parameters) + Name: IsGamepadButtonDown + Return type: bool + Description: Check if a gamepad button is being pressed + Param[1]: gamepad (type: int) + Param[2]: button (type: int) +Function 147: IsGamepadButtonReleased() (2 input parameters) + Name: IsGamepadButtonReleased + Return type: bool + Description: Check if a gamepad button has been released once + Param[1]: gamepad (type: int) + Param[2]: button (type: int) +Function 148: IsGamepadButtonUp() (2 input parameters) + Name: IsGamepadButtonUp + Return type: bool + Description: Check if a gamepad button is NOT being pressed + Param[1]: gamepad (type: int) + Param[2]: button (type: int) +Function 149: GetGamepadButtonPressed() (0 input parameters) + Name: GetGamepadButtonPressed + Return type: int + Description: Get the last gamepad button pressed + No input parameters +Function 150: GetGamepadAxisCount() (1 input parameters) + Name: GetGamepadAxisCount + Return type: int + Description: Get gamepad axis count for a gamepad + Param[1]: gamepad (type: int) +Function 151: GetGamepadAxisMovement() (2 input parameters) + Name: GetGamepadAxisMovement + Return type: float + Description: Get axis movement value for a gamepad axis + Param[1]: gamepad (type: int) + Param[2]: axis (type: int) +Function 152: SetGamepadMappings() (1 input parameters) + Name: SetGamepadMappings + Return type: int + Description: Set internal gamepad mappings (SDL_GameControllerDB) + Param[1]: mappings (type: const char *) +Function 153: IsMouseButtonPressed() (1 input parameters) + Name: IsMouseButtonPressed + Return type: bool + Description: Check if a mouse button has been pressed once + Param[1]: button (type: int) +Function 154: IsMouseButtonDown() (1 input parameters) + Name: IsMouseButtonDown + Return type: bool + Description: Check if a mouse button is being pressed + Param[1]: button (type: int) +Function 155: IsMouseButtonReleased() (1 input parameters) + Name: IsMouseButtonReleased + Return type: bool + Description: Check if a mouse button has been released once + Param[1]: button (type: int) +Function 156: IsMouseButtonUp() (1 input parameters) + Name: IsMouseButtonUp + Return type: bool + Description: Check if a mouse button is NOT being pressed + Param[1]: button (type: int) +Function 157: GetMouseX() (0 input parameters) + Name: GetMouseX + Return type: int + Description: Get mouse position X + No input parameters +Function 158: GetMouseY() (0 input parameters) + Name: GetMouseY + Return type: int + Description: Get mouse position Y + No input parameters +Function 159: GetMousePosition() (0 input parameters) + Name: GetMousePosition + Return type: Vector2 + Description: Get mouse position XY + No input parameters +Function 160: GetMouseDelta() (0 input parameters) + Name: GetMouseDelta + Return type: Vector2 + Description: Get mouse delta between frames + No input parameters +Function 161: SetMousePosition() (2 input parameters) + Name: SetMousePosition + Return type: void + Description: Set mouse position XY + Param[1]: x (type: int) + Param[2]: y (type: int) +Function 162: SetMouseOffset() (2 input parameters) + Name: SetMouseOffset + Return type: void + Description: Set mouse offset + Param[1]: offsetX (type: int) + Param[2]: offsetY (type: int) +Function 163: SetMouseScale() (2 input parameters) + Name: SetMouseScale + Return type: void + Description: Set mouse scaling + Param[1]: scaleX (type: float) + Param[2]: scaleY (type: float) +Function 164: GetMouseWheelMove() (0 input parameters) + Name: GetMouseWheelMove + Return type: float + Description: Get mouse wheel movement Y + No input parameters +Function 165: SetMouseCursor() (1 input parameters) + Name: SetMouseCursor + Return type: void + Description: Set mouse cursor + Param[1]: cursor (type: int) +Function 166: GetTouchX() (0 input parameters) + Name: GetTouchX + Return type: int + Description: Get touch position X for touch point 0 (relative to screen size) + No input parameters +Function 167: GetTouchY() (0 input parameters) + Name: GetTouchY + Return type: int + Description: Get touch position Y for touch point 0 (relative to screen size) + No input parameters +Function 168: GetTouchPosition() (1 input parameters) + Name: GetTouchPosition + Return type: Vector2 + Description: Get touch position XY for a touch point index (relative to screen size) + Param[1]: index (type: int) +Function 169: GetTouchPointId() (1 input parameters) + Name: GetTouchPointId + Return type: int + Description: Get touch point identifier for given index + Param[1]: index (type: int) +Function 170: GetTouchPointCount() (0 input parameters) + Name: GetTouchPointCount + Return type: int + Description: Get number of touch points + No input parameters +Function 171: SetGesturesEnabled() (1 input parameters) + Name: SetGesturesEnabled + Return type: void + Description: Enable a set of gestures using flags + Param[1]: flags (type: unsigned int) +Function 172: IsGestureDetected() (1 input parameters) + Name: IsGestureDetected + Return type: bool + Description: Check if a gesture have been detected + Param[1]: gesture (type: int) +Function 173: GetGestureDetected() (0 input parameters) + Name: GetGestureDetected + Return type: int + Description: Get latest detected gesture + No input parameters +Function 174: GetGestureHoldDuration() (0 input parameters) + Name: GetGestureHoldDuration + Return type: float + Description: Get gesture hold time in milliseconds + No input parameters +Function 175: GetGestureDragVector() (0 input parameters) + Name: GetGestureDragVector + Return type: Vector2 + Description: Get gesture drag vector + No input parameters +Function 176: GetGestureDragAngle() (0 input parameters) + Name: GetGestureDragAngle + Return type: float + Description: Get gesture drag angle + No input parameters +Function 177: GetGesturePinchVector() (0 input parameters) + Name: GetGesturePinchVector + Return type: Vector2 + Description: Get gesture pinch delta + No input parameters +Function 178: GetGesturePinchAngle() (0 input parameters) + Name: GetGesturePinchAngle + Return type: float + Description: Get gesture pinch angle + No input parameters +Function 179: SetCameraMode() (2 input parameters) + Name: SetCameraMode + Return type: void + Description: Set camera mode (multiple camera modes available) + Param[1]: camera (type: Camera) + Param[2]: mode (type: int) +Function 180: UpdateCamera() (1 input parameters) + Name: UpdateCamera + Return type: void + Description: Update camera position for selected mode + Param[1]: camera (type: Camera *) +Function 181: SetCameraPanControl() (1 input parameters) + Name: SetCameraPanControl + Return type: void + Description: Set camera pan key to combine with mouse movement (free camera) + Param[1]: keyPan (type: int) +Function 182: SetCameraAltControl() (1 input parameters) + Name: SetCameraAltControl + Return type: void + Description: Set camera alt key to combine with mouse movement (free camera) + Param[1]: keyAlt (type: int) +Function 183: SetCameraSmoothZoomControl() (1 input parameters) + Name: SetCameraSmoothZoomControl + Return type: void + Description: Set camera smooth zoom key to combine with mouse (free camera) + Param[1]: keySmoothZoom (type: int) +Function 184: SetCameraMoveControls() (6 input parameters) + Name: SetCameraMoveControls + Return type: void + Description: Set camera move controls (1st person and 3rd person cameras) + Param[1]: keyFront (type: int) + Param[2]: keyBack (type: int) + Param[3]: keyRight (type: int) + Param[4]: keyLeft (type: int) + Param[5]: keyUp (type: int) + Param[6]: keyDown (type: int) +Function 185: SetShapesTexture() (2 input parameters) + Name: SetShapesTexture + Return type: void + Description: Set texture and rectangle to be used on shapes drawing + Param[1]: texture (type: Texture2D) + Param[2]: source (type: Rectangle) +Function 186: DrawPixel() (3 input parameters) + Name: DrawPixel + Return type: void + Description: Draw a pixel + Param[1]: posX (type: int) + Param[2]: posY (type: int) + Param[3]: color (type: Color) +Function 187: DrawPixelV() (2 input parameters) + Name: DrawPixelV + Return type: void + Description: Draw a pixel (Vector version) + Param[1]: position (type: Vector2) + Param[2]: color (type: Color) +Function 188: DrawLine() (5 input parameters) + Name: DrawLine + Return type: void + Description: Draw a line + Param[1]: startPosX (type: int) + Param[2]: startPosY (type: int) + Param[3]: endPosX (type: int) + Param[4]: endPosY (type: int) + Param[5]: color (type: Color) +Function 189: DrawLineV() (3 input parameters) + Name: DrawLineV + Return type: void + Description: Draw a line (Vector version) + Param[1]: startPos (type: Vector2) + Param[2]: endPos (type: Vector2) + Param[3]: color (type: Color) +Function 190: DrawLineEx() (4 input parameters) + Name: DrawLineEx + Return type: void + Description: Draw a line defining thickness + Param[1]: startPos (type: Vector2) + Param[2]: endPos (type: Vector2) + Param[3]: thick (type: float) + Param[4]: color (type: Color) +Function 191: DrawLineBezier() (4 input parameters) + Name: DrawLineBezier + Return type: void + Description: Draw a line using cubic-bezier curves in-out + Param[1]: startPos (type: Vector2) + Param[2]: endPos (type: Vector2) + Param[3]: thick (type: float) + Param[4]: color (type: Color) +Function 192: DrawLineBezierQuad() (5 input parameters) + Name: DrawLineBezierQuad + Return type: void + Description: Draw line using quadratic bezier curves with a control point + Param[1]: startPos (type: Vector2) + Param[2]: endPos (type: Vector2) + Param[3]: controlPos (type: Vector2) + Param[4]: thick (type: float) + Param[5]: color (type: Color) +Function 193: DrawLineBezierCubic() (6 input parameters) + Name: DrawLineBezierCubic + Return type: void + Description: Draw line using cubic bezier curves with 2 control points + Param[1]: startPos (type: Vector2) + Param[2]: endPos (type: Vector2) + Param[3]: startControlPos (type: Vector2) + Param[4]: endControlPos (type: Vector2) + Param[5]: thick (type: float) + Param[6]: color (type: Color) +Function 194: DrawLineStrip() (3 input parameters) + Name: DrawLineStrip + Return type: void + Description: Draw lines sequence + Param[1]: points (type: Vector2 *) + Param[2]: pointCount (type: int) + Param[3]: color (type: Color) +Function 195: DrawCircle() (4 input parameters) + Name: DrawCircle + Return type: void + Description: Draw a color-filled circle + Param[1]: centerX (type: int) + Param[2]: centerY (type: int) + Param[3]: radius (type: float) + Param[4]: color (type: Color) +Function 196: DrawCircleSector() (6 input parameters) + Name: DrawCircleSector + Return type: void + Description: Draw a piece of a circle + Param[1]: center (type: Vector2) + Param[2]: radius (type: float) + Param[3]: startAngle (type: float) + Param[4]: endAngle (type: float) + Param[5]: segments (type: int) + Param[6]: color (type: Color) +Function 197: DrawCircleSectorLines() (6 input parameters) + Name: DrawCircleSectorLines + Return type: void + Description: Draw circle sector outline + Param[1]: center (type: Vector2) + Param[2]: radius (type: float) + Param[3]: startAngle (type: float) + Param[4]: endAngle (type: float) + Param[5]: segments (type: int) + Param[6]: color (type: Color) +Function 198: DrawCircleGradient() (5 input parameters) + Name: DrawCircleGradient + Return type: void + Description: Draw a gradient-filled circle + Param[1]: centerX (type: int) + Param[2]: centerY (type: int) + Param[3]: radius (type: float) + Param[4]: color1 (type: Color) + Param[5]: color2 (type: Color) +Function 199: DrawCircleV() (3 input parameters) + Name: DrawCircleV + Return type: void + Description: Draw a color-filled circle (Vector version) + Param[1]: center (type: Vector2) + Param[2]: radius (type: float) + Param[3]: color (type: Color) +Function 200: DrawCircleLines() (4 input parameters) + Name: DrawCircleLines + Return type: void + Description: Draw circle outline + Param[1]: centerX (type: int) + Param[2]: centerY (type: int) + Param[3]: radius (type: float) + Param[4]: color (type: Color) +Function 201: DrawEllipse() (5 input parameters) + Name: DrawEllipse + Return type: void + Description: Draw ellipse + Param[1]: centerX (type: int) + Param[2]: centerY (type: int) + Param[3]: radiusH (type: float) + Param[4]: radiusV (type: float) + Param[5]: color (type: Color) +Function 202: DrawEllipseLines() (5 input parameters) + Name: DrawEllipseLines + Return type: void + Description: Draw ellipse outline + Param[1]: centerX (type: int) + Param[2]: centerY (type: int) + Param[3]: radiusH (type: float) + Param[4]: radiusV (type: float) + Param[5]: color (type: Color) +Function 203: DrawRing() (7 input parameters) + Name: DrawRing + Return type: void + Description: Draw ring + Param[1]: center (type: Vector2) + Param[2]: innerRadius (type: float) + Param[3]: outerRadius (type: float) + Param[4]: startAngle (type: float) + Param[5]: endAngle (type: float) + Param[6]: segments (type: int) + Param[7]: color (type: Color) +Function 204: DrawRingLines() (7 input parameters) + Name: DrawRingLines + Return type: void + Description: Draw ring outline + Param[1]: center (type: Vector2) + Param[2]: innerRadius (type: float) + Param[3]: outerRadius (type: float) + Param[4]: startAngle (type: float) + Param[5]: endAngle (type: float) + Param[6]: segments (type: int) + Param[7]: color (type: Color) +Function 205: DrawRectangle() (5 input parameters) + Name: DrawRectangle + Return type: void + Description: Draw a color-filled rectangle + Param[1]: posX (type: int) + Param[2]: posY (type: int) + Param[3]: width (type: int) + Param[4]: height (type: int) + Param[5]: color (type: Color) +Function 206: DrawRectangleV() (3 input parameters) + Name: DrawRectangleV + Return type: void + Description: Draw a color-filled rectangle (Vector version) + Param[1]: position (type: Vector2) + Param[2]: size (type: Vector2) + Param[3]: color (type: Color) +Function 207: DrawRectangleRec() (2 input parameters) + Name: DrawRectangleRec + Return type: void + Description: Draw a color-filled rectangle + Param[1]: rec (type: Rectangle) + Param[2]: color (type: Color) +Function 208: DrawRectanglePro() (4 input parameters) + Name: DrawRectanglePro + Return type: void + Description: Draw a color-filled rectangle with pro parameters + Param[1]: rec (type: Rectangle) + Param[2]: origin (type: Vector2) + Param[3]: rotation (type: float) + Param[4]: color (type: Color) +Function 209: DrawRectangleGradientV() (6 input parameters) + Name: DrawRectangleGradientV + Return type: void + Description: Draw a vertical-gradient-filled rectangle + Param[1]: posX (type: int) + Param[2]: posY (type: int) + Param[3]: width (type: int) + Param[4]: height (type: int) + Param[5]: color1 (type: Color) + Param[6]: color2 (type: Color) +Function 210: DrawRectangleGradientH() (6 input parameters) + Name: DrawRectangleGradientH + Return type: void + Description: Draw a horizontal-gradient-filled rectangle + Param[1]: posX (type: int) + Param[2]: posY (type: int) + Param[3]: width (type: int) + Param[4]: height (type: int) + Param[5]: color1 (type: Color) + Param[6]: color2 (type: Color) +Function 211: DrawRectangleGradientEx() (5 input parameters) + Name: DrawRectangleGradientEx + Return type: void + Description: Draw a gradient-filled rectangle with custom vertex colors + Param[1]: rec (type: Rectangle) + Param[2]: col1 (type: Color) + Param[3]: col2 (type: Color) + Param[4]: col3 (type: Color) + Param[5]: col4 (type: Color) +Function 212: DrawRectangleLines() (5 input parameters) + Name: DrawRectangleLines + Return type: void + Description: Draw rectangle outline + Param[1]: posX (type: int) + Param[2]: posY (type: int) + Param[3]: width (type: int) + Param[4]: height (type: int) + Param[5]: color (type: Color) +Function 213: DrawRectangleLinesEx() (3 input parameters) + Name: DrawRectangleLinesEx + Return type: void + Description: Draw rectangle outline with extended parameters + Param[1]: rec (type: Rectangle) + Param[2]: lineThick (type: float) + Param[3]: color (type: Color) +Function 214: DrawRectangleRounded() (4 input parameters) + Name: DrawRectangleRounded + Return type: void + Description: Draw rectangle with rounded edges + Param[1]: rec (type: Rectangle) + Param[2]: roundness (type: float) + Param[3]: segments (type: int) + Param[4]: color (type: Color) +Function 215: DrawRectangleRoundedLines() (5 input parameters) + Name: DrawRectangleRoundedLines + Return type: void + Description: Draw rectangle with rounded edges outline + Param[1]: rec (type: Rectangle) + Param[2]: roundness (type: float) + Param[3]: segments (type: int) + Param[4]: lineThick (type: float) + Param[5]: color (type: Color) +Function 216: DrawTriangle() (4 input parameters) + Name: DrawTriangle + Return type: void + Description: Draw a color-filled triangle (vertex in counter-clockwise order!) + Param[1]: v1 (type: Vector2) + Param[2]: v2 (type: Vector2) + Param[3]: v3 (type: Vector2) + Param[4]: color (type: Color) +Function 217: DrawTriangleLines() (4 input parameters) + Name: DrawTriangleLines + Return type: void + Description: Draw triangle outline (vertex in counter-clockwise order!) + Param[1]: v1 (type: Vector2) + Param[2]: v2 (type: Vector2) + Param[3]: v3 (type: Vector2) + Param[4]: color (type: Color) +Function 218: DrawTriangleFan() (3 input parameters) + Name: DrawTriangleFan + Return type: void + Description: Draw a triangle fan defined by points (first vertex is the center) + Param[1]: points (type: Vector2 *) + Param[2]: pointCount (type: int) + Param[3]: color (type: Color) +Function 219: DrawTriangleStrip() (3 input parameters) + Name: DrawTriangleStrip + Return type: void + Description: Draw a triangle strip defined by points + Param[1]: points (type: Vector2 *) + Param[2]: pointCount (type: int) + Param[3]: color (type: Color) +Function 220: DrawPoly() (5 input parameters) + Name: DrawPoly + Return type: void + Description: Draw a regular polygon (Vector version) + Param[1]: center (type: Vector2) + Param[2]: sides (type: int) + Param[3]: radius (type: float) + Param[4]: rotation (type: float) + Param[5]: color (type: Color) +Function 221: DrawPolyLines() (5 input parameters) + Name: DrawPolyLines + Return type: void + Description: Draw a polygon outline of n sides + Param[1]: center (type: Vector2) + Param[2]: sides (type: int) + Param[3]: radius (type: float) + Param[4]: rotation (type: float) + Param[5]: color (type: Color) +Function 222: DrawPolyLinesEx() (6 input parameters) + Name: DrawPolyLinesEx + Return type: void + Description: Draw a polygon outline of n sides with extended parameters + Param[1]: center (type: Vector2) + Param[2]: sides (type: int) + Param[3]: radius (type: float) + Param[4]: rotation (type: float) + Param[5]: lineThick (type: float) + Param[6]: color (type: Color) +Function 223: CheckCollisionRecs() (2 input parameters) + Name: CheckCollisionRecs + Return type: bool + Description: Check collision between two rectangles + Param[1]: rec1 (type: Rectangle) + Param[2]: rec2 (type: Rectangle) +Function 224: CheckCollisionCircles() (4 input parameters) + Name: CheckCollisionCircles + Return type: bool + Description: Check collision between two circles + Param[1]: center1 (type: Vector2) + Param[2]: radius1 (type: float) + Param[3]: center2 (type: Vector2) + Param[4]: radius2 (type: float) +Function 225: CheckCollisionCircleRec() (3 input parameters) + Name: CheckCollisionCircleRec + Return type: bool + Description: Check collision between circle and rectangle + Param[1]: center (type: Vector2) + Param[2]: radius (type: float) + Param[3]: rec (type: Rectangle) +Function 226: CheckCollisionPointRec() (2 input parameters) + Name: CheckCollisionPointRec + Return type: bool + Description: Check if point is inside rectangle + Param[1]: point (type: Vector2) + Param[2]: rec (type: Rectangle) +Function 227: CheckCollisionPointCircle() (3 input parameters) + Name: CheckCollisionPointCircle + Return type: bool + Description: Check if point is inside circle + Param[1]: point (type: Vector2) + Param[2]: center (type: Vector2) + Param[3]: radius (type: float) +Function 228: CheckCollisionPointTriangle() (4 input parameters) + Name: CheckCollisionPointTriangle + Return type: bool + Description: Check if point is inside a triangle + Param[1]: point (type: Vector2) + Param[2]: p1 (type: Vector2) + Param[3]: p2 (type: Vector2) + Param[4]: p3 (type: Vector2) +Function 229: CheckCollisionLines() (5 input parameters) + Name: CheckCollisionLines + Return type: bool + Description: Check the collision between two lines defined by two points each, returns collision point by reference + Param[1]: startPos1 (type: Vector2) + Param[2]: endPos1 (type: Vector2) + Param[3]: startPos2 (type: Vector2) + Param[4]: endPos2 (type: Vector2) + Param[5]: collisionPoint (type: Vector2 *) +Function 230: CheckCollisionPointLine() (4 input parameters) + Name: CheckCollisionPointLine + Return type: bool + Description: Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold] + Param[1]: point (type: Vector2) + Param[2]: p1 (type: Vector2) + Param[3]: p2 (type: Vector2) + Param[4]: threshold (type: int) +Function 231: GetCollisionRec() (2 input parameters) + Name: GetCollisionRec + Return type: Rectangle + Description: Get collision rectangle for two rectangles collision + Param[1]: rec1 (type: Rectangle) + Param[2]: rec2 (type: Rectangle) +Function 232: LoadImage() (1 input parameters) + Name: LoadImage + Return type: Image + Description: Load image from file into CPU memory (RAM) + Param[1]: fileName (type: const char *) +Function 233: LoadImageRaw() (5 input parameters) + Name: LoadImageRaw + Return type: Image + Description: Load image from RAW file data + Param[1]: fileName (type: const char *) + Param[2]: width (type: int) + Param[3]: height (type: int) + Param[4]: format (type: int) + Param[5]: headerSize (type: int) +Function 234: LoadImageAnim() (2 input parameters) + Name: LoadImageAnim + Return type: Image + Description: Load image sequence from file (frames appended to image.data) + Param[1]: fileName (type: const char *) + Param[2]: frames (type: int *) +Function 235: LoadImageFromMemory() (3 input parameters) + Name: LoadImageFromMemory + Return type: Image + Description: Load image from memory buffer, fileType refers to extension: i.e. '.png' + Param[1]: fileType (type: const char *) + Param[2]: fileData (type: const unsigned char *) + Param[3]: dataSize (type: int) +Function 236: LoadImageFromTexture() (1 input parameters) + Name: LoadImageFromTexture + Return type: Image + Description: Load image from GPU texture data + Param[1]: texture (type: Texture2D) +Function 237: LoadImageFromScreen() (0 input parameters) + Name: LoadImageFromScreen + Return type: Image + Description: Load image from screen buffer and (screenshot) + No input parameters +Function 238: UnloadImage() (1 input parameters) + Name: UnloadImage + Return type: void + Description: Unload image from CPU memory (RAM) + Param[1]: image (type: Image) +Function 239: ExportImage() (2 input parameters) + Name: ExportImage + Return type: bool + Description: Export image data to file, returns true on success + Param[1]: image (type: Image) + Param[2]: fileName (type: const char *) +Function 240: ExportImageAsCode() (2 input parameters) + Name: ExportImageAsCode + Return type: bool + Description: Export image as code file defining an array of bytes, returns true on success + Param[1]: image (type: Image) + Param[2]: fileName (type: const char *) +Function 241: GenImageColor() (3 input parameters) + Name: GenImageColor + Return type: Image + Description: Generate image: plain color + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: color (type: Color) +Function 242: GenImageGradientV() (4 input parameters) + Name: GenImageGradientV + Return type: Image + Description: Generate image: vertical gradient + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: top (type: Color) + Param[4]: bottom (type: Color) +Function 243: GenImageGradientH() (4 input parameters) + Name: GenImageGradientH + Return type: Image + Description: Generate image: horizontal gradient + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: left (type: Color) + Param[4]: right (type: Color) +Function 244: GenImageGradientRadial() (5 input parameters) + Name: GenImageGradientRadial + Return type: Image + Description: Generate image: radial gradient + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: density (type: float) + Param[4]: inner (type: Color) + Param[5]: outer (type: Color) +Function 245: GenImageChecked() (6 input parameters) + Name: GenImageChecked + Return type: Image + Description: Generate image: checked + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: checksX (type: int) + Param[4]: checksY (type: int) + Param[5]: col1 (type: Color) + Param[6]: col2 (type: Color) +Function 246: GenImageWhiteNoise() (3 input parameters) + Name: GenImageWhiteNoise + Return type: Image + Description: Generate image: white noise + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: factor (type: float) +Function 247: GenImageCellular() (3 input parameters) + Name: GenImageCellular + Return type: Image + Description: Generate image: cellular algorithm, bigger tileSize means bigger cells + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: tileSize (type: int) +Function 248: ImageCopy() (1 input parameters) + Name: ImageCopy + Return type: Image + Description: Create an image duplicate (useful for transformations) + Param[1]: image (type: Image) +Function 249: ImageFromImage() (2 input parameters) + Name: ImageFromImage + Return type: Image + Description: Create an image from another image piece + Param[1]: image (type: Image) + Param[2]: rec (type: Rectangle) +Function 250: ImageText() (3 input parameters) + Name: ImageText + Return type: Image + Description: Create an image from text (default font) + Param[1]: text (type: const char *) + Param[2]: fontSize (type: int) + Param[3]: color (type: Color) +Function 251: ImageTextEx() (5 input parameters) + Name: ImageTextEx + Return type: Image + Description: Create an image from text (custom sprite font) + Param[1]: font (type: Font) + Param[2]: text (type: const char *) + Param[3]: fontSize (type: float) + Param[4]: spacing (type: float) + Param[5]: tint (type: Color) +Function 252: ImageFormat() (2 input parameters) + Name: ImageFormat + Return type: void + Description: Convert image data to desired format + Param[1]: image (type: Image *) + Param[2]: newFormat (type: int) +Function 253: ImageToPOT() (2 input parameters) + Name: ImageToPOT + Return type: void + Description: Convert image to POT (power-of-two) + Param[1]: image (type: Image *) + Param[2]: fill (type: Color) +Function 254: ImageCrop() (2 input parameters) + Name: ImageCrop + Return type: void + Description: Crop an image to a defined rectangle + Param[1]: image (type: Image *) + Param[2]: crop (type: Rectangle) +Function 255: ImageAlphaCrop() (2 input parameters) + Name: ImageAlphaCrop + Return type: void + Description: Crop image depending on alpha value + Param[1]: image (type: Image *) + Param[2]: threshold (type: float) +Function 256: ImageAlphaClear() (3 input parameters) + Name: ImageAlphaClear + Return type: void + Description: Clear alpha channel to desired color + Param[1]: image (type: Image *) + Param[2]: color (type: Color) + Param[3]: threshold (type: float) +Function 257: ImageAlphaMask() (2 input parameters) + Name: ImageAlphaMask + Return type: void + Description: Apply alpha mask to image + Param[1]: image (type: Image *) + Param[2]: alphaMask (type: Image) +Function 258: ImageAlphaPremultiply() (1 input parameters) + Name: ImageAlphaPremultiply + Return type: void + Description: Premultiply alpha channel + Param[1]: image (type: Image *) +Function 259: ImageResize() (3 input parameters) + Name: ImageResize + Return type: void + Description: Resize image (Bicubic scaling algorithm) + Param[1]: image (type: Image *) + Param[2]: newWidth (type: int) + Param[3]: newHeight (type: int) +Function 260: ImageResizeNN() (3 input parameters) + Name: ImageResizeNN + Return type: void + Description: Resize image (Nearest-Neighbor scaling algorithm) + Param[1]: image (type: Image *) + Param[2]: newWidth (type: int) + Param[3]: newHeight (type: int) +Function 261: ImageResizeCanvas() (6 input parameters) + Name: ImageResizeCanvas + Return type: void + Description: Resize canvas and fill with color + Param[1]: image (type: Image *) + Param[2]: newWidth (type: int) + Param[3]: newHeight (type: int) + Param[4]: offsetX (type: int) + Param[5]: offsetY (type: int) + Param[6]: fill (type: Color) +Function 262: ImageMipmaps() (1 input parameters) + Name: ImageMipmaps + Return type: void + Description: Compute all mipmap levels for a provided image + Param[1]: image (type: Image *) +Function 263: ImageDither() (5 input parameters) + Name: ImageDither + Return type: void + Description: Dither image data to 16bpp or lower (Floyd-Steinberg dithering) + Param[1]: image (type: Image *) + Param[2]: rBpp (type: int) + Param[3]: gBpp (type: int) + Param[4]: bBpp (type: int) + Param[5]: aBpp (type: int) +Function 264: ImageFlipVertical() (1 input parameters) + Name: ImageFlipVertical + Return type: void + Description: Flip image vertically + Param[1]: image (type: Image *) +Function 265: ImageFlipHorizontal() (1 input parameters) + Name: ImageFlipHorizontal + Return type: void + Description: Flip image horizontally + Param[1]: image (type: Image *) +Function 266: ImageRotateCW() (1 input parameters) + Name: ImageRotateCW + Return type: void + Description: Rotate image clockwise 90deg + Param[1]: image (type: Image *) +Function 267: ImageRotateCCW() (1 input parameters) + Name: ImageRotateCCW + Return type: void + Description: Rotate image counter-clockwise 90deg + Param[1]: image (type: Image *) +Function 268: ImageColorTint() (2 input parameters) + Name: ImageColorTint + Return type: void + Description: Modify image color: tint + Param[1]: image (type: Image *) + Param[2]: color (type: Color) +Function 269: ImageColorInvert() (1 input parameters) + Name: ImageColorInvert + Return type: void + Description: Modify image color: invert + Param[1]: image (type: Image *) +Function 270: ImageColorGrayscale() (1 input parameters) + Name: ImageColorGrayscale + Return type: void + Description: Modify image color: grayscale + Param[1]: image (type: Image *) +Function 271: ImageColorContrast() (2 input parameters) + Name: ImageColorContrast + Return type: void + Description: Modify image color: contrast (-100 to 100) + Param[1]: image (type: Image *) + Param[2]: contrast (type: float) +Function 272: ImageColorBrightness() (2 input parameters) + Name: ImageColorBrightness + Return type: void + Description: Modify image color: brightness (-255 to 255) + Param[1]: image (type: Image *) + Param[2]: brightness (type: int) +Function 273: ImageColorReplace() (3 input parameters) + Name: ImageColorReplace + Return type: void + Description: Modify image color: replace color + Param[1]: image (type: Image *) + Param[2]: color (type: Color) + Param[3]: replace (type: Color) +Function 274: LoadImageColors() (1 input parameters) + Name: LoadImageColors + Return type: Color * + Description: Load color data from image as a Color array (RGBA - 32bit) + Param[1]: image (type: Image) +Function 275: LoadImagePalette() (3 input parameters) + Name: LoadImagePalette + Return type: Color * + Description: Load colors palette from image as a Color array (RGBA - 32bit) + Param[1]: image (type: Image) + Param[2]: maxPaletteSize (type: int) + Param[3]: colorCount (type: int *) +Function 276: UnloadImageColors() (1 input parameters) + Name: UnloadImageColors + Return type: void + Description: Unload color data loaded with LoadImageColors() + Param[1]: colors (type: Color *) +Function 277: UnloadImagePalette() (1 input parameters) + Name: UnloadImagePalette + Return type: void + Description: Unload colors palette loaded with LoadImagePalette() + Param[1]: colors (type: Color *) +Function 278: GetImageAlphaBorder() (2 input parameters) + Name: GetImageAlphaBorder + Return type: Rectangle + Description: Get image alpha border rectangle + Param[1]: image (type: Image) + Param[2]: threshold (type: float) +Function 279: GetImageColor() (3 input parameters) + Name: GetImageColor + Return type: Color + Description: Get image pixel color at (x, y) position + Param[1]: image (type: Image) + Param[2]: x (type: int) + Param[3]: y (type: int) +Function 280: ImageClearBackground() (2 input parameters) + Name: ImageClearBackground + Return type: void + Description: Clear image background with given color + Param[1]: dst (type: Image *) + Param[2]: color (type: Color) +Function 281: ImageDrawPixel() (4 input parameters) + Name: ImageDrawPixel + Return type: void + Description: Draw pixel within an image + Param[1]: dst (type: Image *) + Param[2]: posX (type: int) + Param[3]: posY (type: int) + Param[4]: color (type: Color) +Function 282: ImageDrawPixelV() (3 input parameters) + Name: ImageDrawPixelV + Return type: void + Description: Draw pixel within an image (Vector version) + Param[1]: dst (type: Image *) + Param[2]: position (type: Vector2) + Param[3]: color (type: Color) +Function 283: ImageDrawLine() (6 input parameters) + Name: ImageDrawLine + Return type: void + Description: Draw line within an image + Param[1]: dst (type: Image *) + Param[2]: startPosX (type: int) + Param[3]: startPosY (type: int) + Param[4]: endPosX (type: int) + Param[5]: endPosY (type: int) + Param[6]: color (type: Color) +Function 284: ImageDrawLineV() (4 input parameters) + Name: ImageDrawLineV + Return type: void + Description: Draw line within an image (Vector version) + Param[1]: dst (type: Image *) + Param[2]: start (type: Vector2) + Param[3]: end (type: Vector2) + Param[4]: color (type: Color) +Function 285: ImageDrawCircle() (5 input parameters) + Name: ImageDrawCircle + Return type: void + Description: Draw circle within an image + Param[1]: dst (type: Image *) + Param[2]: centerX (type: int) + Param[3]: centerY (type: int) + Param[4]: radius (type: int) + Param[5]: color (type: Color) +Function 286: ImageDrawCircleV() (4 input parameters) + Name: ImageDrawCircleV + Return type: void + Description: Draw circle within an image (Vector version) + Param[1]: dst (type: Image *) + Param[2]: center (type: Vector2) + Param[3]: radius (type: int) + Param[4]: color (type: Color) +Function 287: ImageDrawRectangle() (6 input parameters) + Name: ImageDrawRectangle + Return type: void + Description: Draw rectangle within an image + Param[1]: dst (type: Image *) + Param[2]: posX (type: int) + Param[3]: posY (type: int) + Param[4]: width (type: int) + Param[5]: height (type: int) + Param[6]: color (type: Color) +Function 288: ImageDrawRectangleV() (4 input parameters) + Name: ImageDrawRectangleV + Return type: void + Description: Draw rectangle within an image (Vector version) + Param[1]: dst (type: Image *) + Param[2]: position (type: Vector2) + Param[3]: size (type: Vector2) + Param[4]: color (type: Color) +Function 289: ImageDrawRectangleRec() (3 input parameters) + Name: ImageDrawRectangleRec + Return type: void + Description: Draw rectangle within an image + Param[1]: dst (type: Image *) + Param[2]: rec (type: Rectangle) + Param[3]: color (type: Color) +Function 290: ImageDrawRectangleLines() (4 input parameters) + Name: ImageDrawRectangleLines + Return type: void + Description: Draw rectangle lines within an image + Param[1]: dst (type: Image *) + Param[2]: rec (type: Rectangle) + Param[3]: thick (type: int) + Param[4]: color (type: Color) +Function 291: ImageDraw() (5 input parameters) + Name: ImageDraw + Return type: void + Description: Draw a source image within a destination image (tint applied to source) + Param[1]: dst (type: Image *) + Param[2]: src (type: Image) + Param[3]: srcRec (type: Rectangle) + Param[4]: dstRec (type: Rectangle) + Param[5]: tint (type: Color) +Function 292: ImageDrawText() (6 input parameters) + Name: ImageDrawText + Return type: void + Description: Draw text (using default font) within an image (destination) + Param[1]: dst (type: Image *) + Param[2]: text (type: const char *) + Param[3]: posX (type: int) + Param[4]: posY (type: int) + Param[5]: fontSize (type: int) + Param[6]: color (type: Color) +Function 293: ImageDrawTextEx() (7 input parameters) + Name: ImageDrawTextEx + Return type: void + Description: Draw text (custom sprite font) within an image (destination) + Param[1]: dst (type: Image *) + Param[2]: font (type: Font) + Param[3]: text (type: const char *) + Param[4]: position (type: Vector2) + Param[5]: fontSize (type: float) + Param[6]: spacing (type: float) + Param[7]: tint (type: Color) +Function 294: LoadTexture() (1 input parameters) + Name: LoadTexture + Return type: Texture2D + Description: Load texture from file into GPU memory (VRAM) + Param[1]: fileName (type: const char *) +Function 295: LoadTextureFromImage() (1 input parameters) + Name: LoadTextureFromImage + Return type: Texture2D + Description: Load texture from image data + Param[1]: image (type: Image) +Function 296: LoadTextureCubemap() (2 input parameters) + Name: LoadTextureCubemap + Return type: TextureCubemap + Description: Load cubemap from image, multiple image cubemap layouts supported + Param[1]: image (type: Image) + Param[2]: layout (type: int) +Function 297: LoadRenderTexture() (2 input parameters) + Name: LoadRenderTexture + Return type: RenderTexture2D + Description: Load texture for rendering (framebuffer) + Param[1]: width (type: int) + Param[2]: height (type: int) +Function 298: UnloadTexture() (1 input parameters) + Name: UnloadTexture + Return type: void + Description: Unload texture from GPU memory (VRAM) + Param[1]: texture (type: Texture2D) +Function 299: UnloadRenderTexture() (1 input parameters) + Name: UnloadRenderTexture + Return type: void + Description: Unload render texture from GPU memory (VRAM) + Param[1]: target (type: RenderTexture2D) +Function 300: UpdateTexture() (2 input parameters) + Name: UpdateTexture + Return type: void + Description: Update GPU texture with new data + Param[1]: texture (type: Texture2D) + Param[2]: pixels (type: const void *) +Function 301: UpdateTextureRec() (3 input parameters) + Name: UpdateTextureRec + Return type: void + Description: Update GPU texture rectangle with new data + Param[1]: texture (type: Texture2D) + Param[2]: rec (type: Rectangle) + Param[3]: pixels (type: const void *) +Function 302: GenTextureMipmaps() (1 input parameters) + Name: GenTextureMipmaps + Return type: void + Description: Generate GPU mipmaps for a texture + Param[1]: texture (type: Texture2D *) +Function 303: SetTextureFilter() (2 input parameters) + Name: SetTextureFilter + Return type: void + Description: Set texture scaling filter mode + Param[1]: texture (type: Texture2D) + Param[2]: filter (type: int) +Function 304: SetTextureWrap() (2 input parameters) + Name: SetTextureWrap + Return type: void + Description: Set texture wrapping mode + Param[1]: texture (type: Texture2D) + Param[2]: wrap (type: int) +Function 305: DrawTexture() (4 input parameters) + Name: DrawTexture + Return type: void + Description: Draw a Texture2D + Param[1]: texture (type: Texture2D) + Param[2]: posX (type: int) + Param[3]: posY (type: int) + Param[4]: tint (type: Color) +Function 306: DrawTextureV() (3 input parameters) + Name: DrawTextureV + Return type: void + Description: Draw a Texture2D with position defined as Vector2 + Param[1]: texture (type: Texture2D) + Param[2]: position (type: Vector2) + Param[3]: tint (type: Color) +Function 307: DrawTextureEx() (5 input parameters) + Name: DrawTextureEx + Return type: void + Description: Draw a Texture2D with extended parameters + Param[1]: texture (type: Texture2D) + Param[2]: position (type: Vector2) + Param[3]: rotation (type: float) + Param[4]: scale (type: float) + Param[5]: tint (type: Color) +Function 308: DrawTextureRec() (4 input parameters) + Name: DrawTextureRec + Return type: void + Description: Draw a part of a texture defined by a rectangle + Param[1]: texture (type: Texture2D) + Param[2]: source (type: Rectangle) + Param[3]: position (type: Vector2) + Param[4]: tint (type: Color) +Function 309: DrawTextureQuad() (5 input parameters) + Name: DrawTextureQuad + Return type: void + Description: Draw texture quad with tiling and offset parameters + Param[1]: texture (type: Texture2D) + Param[2]: tiling (type: Vector2) + Param[3]: offset (type: Vector2) + Param[4]: quad (type: Rectangle) + Param[5]: tint (type: Color) +Function 310: DrawTextureTiled() (7 input parameters) + Name: DrawTextureTiled + Return type: void + Description: Draw part of a texture (defined by a rectangle) with rotation and scale tiled into dest. + Param[1]: texture (type: Texture2D) + Param[2]: source (type: Rectangle) + Param[3]: dest (type: Rectangle) + Param[4]: origin (type: Vector2) + Param[5]: rotation (type: float) + Param[6]: scale (type: float) + Param[7]: tint (type: Color) +Function 311: DrawTexturePro() (6 input parameters) + Name: DrawTexturePro + Return type: void + Description: Draw a part of a texture defined by a rectangle with 'pro' parameters + Param[1]: texture (type: Texture2D) + Param[2]: source (type: Rectangle) + Param[3]: dest (type: Rectangle) + Param[4]: origin (type: Vector2) + Param[5]: rotation (type: float) + Param[6]: tint (type: Color) +Function 312: DrawTextureNPatch() (6 input parameters) + Name: DrawTextureNPatch + Return type: void + Description: Draws a texture (or part of it) that stretches or shrinks nicely + Param[1]: texture (type: Texture2D) + Param[2]: nPatchInfo (type: NPatchInfo) + Param[3]: dest (type: Rectangle) + Param[4]: origin (type: Vector2) + Param[5]: rotation (type: float) + Param[6]: tint (type: Color) +Function 313: DrawTexturePoly() (6 input parameters) + Name: DrawTexturePoly + Return type: void + Description: Draw a textured polygon + Param[1]: texture (type: Texture2D) + Param[2]: center (type: Vector2) + Param[3]: points (type: Vector2 *) + Param[4]: texcoords (type: Vector2 *) + Param[5]: pointCount (type: int) + Param[6]: tint (type: Color) +Function 314: Fade() (2 input parameters) + Name: Fade + Return type: Color + Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f + Param[1]: color (type: Color) + Param[2]: alpha (type: float) +Function 315: ColorToInt() (1 input parameters) + Name: ColorToInt + Return type: int + Description: Get hexadecimal value for a Color + Param[1]: color (type: Color) +Function 316: ColorNormalize() (1 input parameters) + Name: ColorNormalize + Return type: Vector4 + Description: Get Color normalized as float [0..1] + Param[1]: color (type: Color) +Function 317: ColorFromNormalized() (1 input parameters) + Name: ColorFromNormalized + Return type: Color + Description: Get Color from normalized values [0..1] + Param[1]: normalized (type: Vector4) +Function 318: ColorToHSV() (1 input parameters) + Name: ColorToHSV + Return type: Vector3 + Description: Get HSV values for a Color, hue [0..360], saturation/value [0..1] + Param[1]: color (type: Color) +Function 319: ColorFromHSV() (3 input parameters) + Name: ColorFromHSV + Return type: Color + Description: Get a Color from HSV values, hue [0..360], saturation/value [0..1] + Param[1]: hue (type: float) + Param[2]: saturation (type: float) + Param[3]: value (type: float) +Function 320: ColorAlpha() (2 input parameters) + Name: ColorAlpha + Return type: Color + Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f + Param[1]: color (type: Color) + Param[2]: alpha (type: float) +Function 321: ColorAlphaBlend() (3 input parameters) + Name: ColorAlphaBlend + Return type: Color + Description: Get src alpha-blended into dst color with tint + Param[1]: dst (type: Color) + Param[2]: src (type: Color) + Param[3]: tint (type: Color) +Function 322: GetColor() (1 input parameters) + Name: GetColor + Return type: Color + Description: Get Color structure from hexadecimal value + Param[1]: hexValue (type: unsigned int) +Function 323: GetPixelColor() (2 input parameters) + Name: GetPixelColor + Return type: Color + Description: Get Color from a source pixel pointer of certain format + Param[1]: srcPtr (type: void *) + Param[2]: format (type: int) +Function 324: SetPixelColor() (3 input parameters) + Name: SetPixelColor + Return type: void + Description: Set color formatted into destination pixel pointer + Param[1]: dstPtr (type: void *) + Param[2]: color (type: Color) + Param[3]: format (type: int) +Function 325: GetPixelDataSize() (3 input parameters) + Name: GetPixelDataSize + Return type: int + Description: Get pixel data size in bytes for certain format + Param[1]: width (type: int) + Param[2]: height (type: int) + Param[3]: format (type: int) +Function 326: GetFontDefault() (0 input parameters) + Name: GetFontDefault + Return type: Font + Description: Get the default Font + No input parameters +Function 327: LoadFont() (1 input parameters) + Name: LoadFont + Return type: Font + Description: Load font from file into GPU memory (VRAM) + Param[1]: fileName (type: const char *) +Function 328: LoadFontEx() (4 input parameters) + Name: LoadFontEx + Return type: Font + Description: Load font from file with extended parameters, use NULL for fontChars and 0 for glyphCount to load the default character set + Param[1]: fileName (type: const char *) + Param[2]: fontSize (type: int) + Param[3]: fontChars (type: int *) + Param[4]: glyphCount (type: int) +Function 329: LoadFontFromImage() (3 input parameters) + Name: LoadFontFromImage + Return type: Font + Description: Load font from Image (XNA style) + Param[1]: image (type: Image) + Param[2]: key (type: Color) + Param[3]: firstChar (type: int) +Function 330: LoadFontFromMemory() (6 input parameters) + Name: LoadFontFromMemory + Return type: Font + Description: Load font from memory buffer, fileType refers to extension: i.e. '.ttf' + Param[1]: fileType (type: const char *) + Param[2]: fileData (type: const unsigned char *) + Param[3]: dataSize (type: int) + Param[4]: fontSize (type: int) + Param[5]: fontChars (type: int *) + Param[6]: glyphCount (type: int) +Function 331: LoadFontData() (6 input parameters) + Name: LoadFontData + Return type: GlyphInfo * + Description: Load font data for further use + Param[1]: fileData (type: const unsigned char *) + Param[2]: dataSize (type: int) + Param[3]: fontSize (type: int) + Param[4]: fontChars (type: int *) + Param[5]: glyphCount (type: int) + Param[6]: type (type: int) +Function 332: GenImageFontAtlas() (6 input parameters) + Name: GenImageFontAtlas + Return type: Image + Description: Generate image font atlas using chars info + Param[1]: chars (type: const GlyphInfo *) + Param[2]: recs (type: Rectangle **) + Param[3]: glyphCount (type: int) + Param[4]: fontSize (type: int) + Param[5]: padding (type: int) + Param[6]: packMethod (type: int) +Function 333: UnloadFontData() (2 input parameters) + Name: UnloadFontData + Return type: void + Description: Unload font chars info data (RAM) + Param[1]: chars (type: GlyphInfo *) + Param[2]: glyphCount (type: int) +Function 334: UnloadFont() (1 input parameters) + Name: UnloadFont + Return type: void + Description: Unload font from GPU memory (VRAM) + Param[1]: font (type: Font) +Function 335: ExportFontAsCode() (2 input parameters) + Name: ExportFontAsCode + Return type: bool + Description: Export font as code file, returns true on success + Param[1]: font (type: Font) + Param[2]: fileName (type: const char *) +Function 336: DrawFPS() (2 input parameters) + Name: DrawFPS + Return type: void + Description: Draw current FPS + Param[1]: posX (type: int) + Param[2]: posY (type: int) +Function 337: DrawText() (5 input parameters) + Name: DrawText + Return type: void + Description: Draw text (using default font) + Param[1]: text (type: const char *) + Param[2]: posX (type: int) + Param[3]: posY (type: int) + Param[4]: fontSize (type: int) + Param[5]: color (type: Color) +Function 338: DrawTextEx() (6 input parameters) + Name: DrawTextEx + Return type: void + Description: Draw text using font and additional parameters + Param[1]: font (type: Font) + Param[2]: text (type: const char *) + Param[3]: position (type: Vector2) + Param[4]: fontSize (type: float) + Param[5]: spacing (type: float) + Param[6]: tint (type: Color) +Function 339: DrawTextPro() (8 input parameters) + Name: DrawTextPro + Return type: void + Description: Draw text using Font and pro parameters (rotation) + Param[1]: font (type: Font) + Param[2]: text (type: const char *) + Param[3]: position (type: Vector2) + Param[4]: origin (type: Vector2) + Param[5]: rotation (type: float) + Param[6]: fontSize (type: float) + Param[7]: spacing (type: float) + Param[8]: tint (type: Color) +Function 340: DrawTextCodepoint() (5 input parameters) + Name: DrawTextCodepoint + Return type: void + Description: Draw one character (codepoint) + Param[1]: font (type: Font) + Param[2]: codepoint (type: int) + Param[3]: position (type: Vector2) + Param[4]: fontSize (type: float) + Param[5]: tint (type: Color) +Function 341: DrawTextCodepoints() (7 input parameters) + Name: DrawTextCodepoints + Return type: void + Description: Draw multiple character (codepoint) + Param[1]: font (type: Font) + Param[2]: codepoints (type: const int *) + Param[3]: count (type: int) + Param[4]: position (type: Vector2) + Param[5]: fontSize (type: float) + Param[6]: spacing (type: float) + Param[7]: tint (type: Color) +Function 342: MeasureText() (2 input parameters) + Name: MeasureText + Return type: int + Description: Measure string width for default font + Param[1]: text (type: const char *) + Param[2]: fontSize (type: int) +Function 343: MeasureTextEx() (4 input parameters) + Name: MeasureTextEx + Return type: Vector2 + Description: Measure string size for Font + Param[1]: font (type: Font) + Param[2]: text (type: const char *) + Param[3]: fontSize (type: float) + Param[4]: spacing (type: float) +Function 344: GetGlyphIndex() (2 input parameters) + Name: GetGlyphIndex + Return type: int + Description: Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found + Param[1]: font (type: Font) + Param[2]: codepoint (type: int) +Function 345: GetGlyphInfo() (2 input parameters) + Name: GetGlyphInfo + Return type: GlyphInfo + Description: Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found + Param[1]: font (type: Font) + Param[2]: codepoint (type: int) +Function 346: GetGlyphAtlasRec() (2 input parameters) + Name: GetGlyphAtlasRec + Return type: Rectangle + Description: Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found + Param[1]: font (type: Font) + Param[2]: codepoint (type: int) +Function 347: LoadCodepoints() (2 input parameters) + Name: LoadCodepoints + Return type: int * + Description: Load all codepoints from a UTF-8 text string, codepoints count returned by parameter + Param[1]: text (type: const char *) + Param[2]: count (type: int *) +Function 348: UnloadCodepoints() (1 input parameters) + Name: UnloadCodepoints + Return type: void + Description: Unload codepoints data from memory + Param[1]: codepoints (type: int *) +Function 349: GetCodepointCount() (1 input parameters) + Name: GetCodepointCount + Return type: int + Description: Get total number of codepoints in a UTF-8 encoded string + Param[1]: text (type: const char *) +Function 350: GetCodepoint() (2 input parameters) + Name: GetCodepoint + Return type: int + Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure + Param[1]: text (type: const char *) + Param[2]: bytesProcessed (type: int *) +Function 351: CodepointToUTF8() (2 input parameters) + Name: CodepointToUTF8 + Return type: const char * + Description: Encode one codepoint into UTF-8 byte array (array length returned as parameter) + Param[1]: codepoint (type: int) + Param[2]: byteSize (type: int *) +Function 352: TextCodepointsToUTF8() (2 input parameters) + Name: TextCodepointsToUTF8 + Return type: char * + Description: Encode text as codepoints array into UTF-8 text string (WARNING: memory must be freed!) + Param[1]: codepoints (type: const int *) + Param[2]: length (type: int) +Function 353: TextCopy() (2 input parameters) + Name: TextCopy + Return type: int + Description: Copy one string to another, returns bytes copied + Param[1]: dst (type: char *) + Param[2]: src (type: const char *) +Function 354: TextIsEqual() (2 input parameters) + Name: TextIsEqual + Return type: bool + Description: Check if two text string are equal + Param[1]: text1 (type: const char *) + Param[2]: text2 (type: const char *) +Function 355: TextLength() (1 input parameters) + Name: TextLength + Return type: unsigned int + Description: Get text length, checks for '\0' ending + Param[1]: text (type: const char *) +Function 356: TextFormat() (2 input parameters) + Name: TextFormat + Return type: const char * + Description: Text formatting with variables (sprintf() style) + Param[1]: text (type: const char *) + Param[2]: args (type: ...) +Function 357: TextSubtext() (3 input parameters) + Name: TextSubtext + Return type: const char * + Description: Get a piece of a text string + Param[1]: text (type: const char *) + Param[2]: position (type: int) + Param[3]: length (type: int) +Function 358: TextReplace() (3 input parameters) + Name: TextReplace + Return type: char * + Description: Replace text string (WARNING: memory must be freed!) + Param[1]: text (type: char *) + Param[2]: replace (type: const char *) + Param[3]: by (type: const char *) +Function 359: TextInsert() (3 input parameters) + Name: TextInsert + Return type: char * + Description: Insert text in a position (WARNING: memory must be freed!) + Param[1]: text (type: const char *) + Param[2]: insert (type: const char *) + Param[3]: position (type: int) +Function 360: TextJoin() (3 input parameters) + Name: TextJoin + Return type: const char * + Description: Join text strings with delimiter + Param[1]: textList (type: const char **) + Param[2]: count (type: int) + Param[3]: delimiter (type: const char *) +Function 361: TextSplit() (3 input parameters) + Name: TextSplit + Return type: const char ** + Description: Split text into multiple strings + Param[1]: text (type: const char *) + Param[2]: delimiter (type: char) + Param[3]: count (type: int *) +Function 362: TextAppend() (3 input parameters) + Name: TextAppend + Return type: void + Description: Append text at specific position and move cursor! + Param[1]: text (type: char *) + Param[2]: append (type: const char *) + Param[3]: position (type: int *) +Function 363: TextFindIndex() (2 input parameters) + Name: TextFindIndex + Return type: int + Description: Find first text occurrence within a string + Param[1]: text (type: const char *) + Param[2]: find (type: const char *) +Function 364: TextToUpper() (1 input parameters) + Name: TextToUpper + Return type: const char * + Description: Get upper case version of provided string + Param[1]: text (type: const char *) +Function 365: TextToLower() (1 input parameters) + Name: TextToLower + Return type: const char * + Description: Get lower case version of provided string + Param[1]: text (type: const char *) +Function 366: TextToPascal() (1 input parameters) + Name: TextToPascal + Return type: const char * + Description: Get Pascal case notation version of provided string + Param[1]: text (type: const char *) +Function 367: TextToInteger() (1 input parameters) + Name: TextToInteger + Return type: int + Description: Get integer value from text (negative values not supported) + Param[1]: text (type: const char *) +Function 368: DrawLine3D() (3 input parameters) + Name: DrawLine3D + Return type: void + Description: Draw a line in 3D world space + Param[1]: startPos (type: Vector3) + Param[2]: endPos (type: Vector3) + Param[3]: color (type: Color) +Function 369: DrawPoint3D() (2 input parameters) + Name: DrawPoint3D + Return type: void + Description: Draw a point in 3D space, actually a small line + Param[1]: position (type: Vector3) + Param[2]: color (type: Color) +Function 370: DrawCircle3D() (5 input parameters) + Name: DrawCircle3D + Return type: void + Description: Draw a circle in 3D world space + Param[1]: center (type: Vector3) + Param[2]: radius (type: float) + Param[3]: rotationAxis (type: Vector3) + Param[4]: rotationAngle (type: float) + Param[5]: color (type: Color) +Function 371: DrawTriangle3D() (4 input parameters) + Name: DrawTriangle3D + Return type: void + Description: Draw a color-filled triangle (vertex in counter-clockwise order!) + Param[1]: v1 (type: Vector3) + Param[2]: v2 (type: Vector3) + Param[3]: v3 (type: Vector3) + Param[4]: color (type: Color) +Function 372: DrawTriangleStrip3D() (3 input parameters) + Name: DrawTriangleStrip3D + Return type: void + Description: Draw a triangle strip defined by points + Param[1]: points (type: Vector3 *) + Param[2]: pointCount (type: int) + Param[3]: color (type: Color) +Function 373: DrawCube() (5 input parameters) + Name: DrawCube + Return type: void + Description: Draw cube + Param[1]: position (type: Vector3) + Param[2]: width (type: float) + Param[3]: height (type: float) + Param[4]: length (type: float) + Param[5]: color (type: Color) +Function 374: DrawCubeV() (3 input parameters) + Name: DrawCubeV + Return type: void + Description: Draw cube (Vector version) + Param[1]: position (type: Vector3) + Param[2]: size (type: Vector3) + Param[3]: color (type: Color) +Function 375: DrawCubeWires() (5 input parameters) + Name: DrawCubeWires + Return type: void + Description: Draw cube wires + Param[1]: position (type: Vector3) + Param[2]: width (type: float) + Param[3]: height (type: float) + Param[4]: length (type: float) + Param[5]: color (type: Color) +Function 376: DrawCubeWiresV() (3 input parameters) + Name: DrawCubeWiresV + Return type: void + Description: Draw cube wires (Vector version) + Param[1]: position (type: Vector3) + Param[2]: size (type: Vector3) + Param[3]: color (type: Color) +Function 377: DrawCubeTexture() (6 input parameters) + Name: DrawCubeTexture + Return type: void + Description: Draw cube textured + Param[1]: texture (type: Texture2D) + Param[2]: position (type: Vector3) + Param[3]: width (type: float) + Param[4]: height (type: float) + Param[5]: length (type: float) + Param[6]: color (type: Color) +Function 378: DrawCubeTextureRec() (7 input parameters) + Name: DrawCubeTextureRec + Return type: void + Description: Draw cube with a region of a texture + Param[1]: texture (type: Texture2D) + Param[2]: source (type: Rectangle) + Param[3]: position (type: Vector3) + Param[4]: width (type: float) + Param[5]: height (type: float) + Param[6]: length (type: float) + Param[7]: color (type: Color) +Function 379: DrawSphere() (3 input parameters) + Name: DrawSphere + Return type: void + Description: Draw sphere + Param[1]: centerPos (type: Vector3) + Param[2]: radius (type: float) + Param[3]: color (type: Color) +Function 380: DrawSphereEx() (5 input parameters) + Name: DrawSphereEx + Return type: void + Description: Draw sphere with extended parameters + Param[1]: centerPos (type: Vector3) + Param[2]: radius (type: float) + Param[3]: rings (type: int) + Param[4]: slices (type: int) + Param[5]: color (type: Color) +Function 381: DrawSphereWires() (5 input parameters) + Name: DrawSphereWires + Return type: void + Description: Draw sphere wires + Param[1]: centerPos (type: Vector3) + Param[2]: radius (type: float) + Param[3]: rings (type: int) + Param[4]: slices (type: int) + Param[5]: color (type: Color) +Function 382: DrawCylinder() (6 input parameters) + Name: DrawCylinder + Return type: void + Description: Draw a cylinder/cone + Param[1]: position (type: Vector3) + Param[2]: radiusTop (type: float) + Param[3]: radiusBottom (type: float) + Param[4]: height (type: float) + Param[5]: slices (type: int) + Param[6]: color (type: Color) +Function 383: DrawCylinderEx() (6 input parameters) + Name: DrawCylinderEx + Return type: void + Description: Draw a cylinder with base at startPos and top at endPos + Param[1]: startPos (type: Vector3) + Param[2]: endPos (type: Vector3) + Param[3]: startRadius (type: float) + Param[4]: endRadius (type: float) + Param[5]: sides (type: int) + Param[6]: color (type: Color) +Function 384: DrawCylinderWires() (6 input parameters) + Name: DrawCylinderWires + Return type: void + Description: Draw a cylinder/cone wires + Param[1]: position (type: Vector3) + Param[2]: radiusTop (type: float) + Param[3]: radiusBottom (type: float) + Param[4]: height (type: float) + Param[5]: slices (type: int) + Param[6]: color (type: Color) +Function 385: DrawCylinderWiresEx() (6 input parameters) + Name: DrawCylinderWiresEx + Return type: void + Description: Draw a cylinder wires with base at startPos and top at endPos + Param[1]: startPos (type: Vector3) + Param[2]: endPos (type: Vector3) + Param[3]: startRadius (type: float) + Param[4]: endRadius (type: float) + Param[5]: sides (type: int) + Param[6]: color (type: Color) +Function 386: DrawPlane() (3 input parameters) + Name: DrawPlane + Return type: void + Description: Draw a plane XZ + Param[1]: centerPos (type: Vector3) + Param[2]: size (type: Vector2) + Param[3]: color (type: Color) +Function 387: DrawRay() (2 input parameters) + Name: DrawRay + Return type: void + Description: Draw a ray line + Param[1]: ray (type: Ray) + Param[2]: color (type: Color) +Function 388: DrawGrid() (2 input parameters) + Name: DrawGrid + Return type: void + Description: Draw a grid (centered at (0, 0, 0)) + Param[1]: slices (type: int) + Param[2]: spacing (type: float) +Function 389: LoadModel() (1 input parameters) + Name: LoadModel + Return type: Model + Description: Load model from files (meshes and materials) + Param[1]: fileName (type: const char *) +Function 390: LoadModelFromMesh() (1 input parameters) + Name: LoadModelFromMesh + Return type: Model + Description: Load model from generated mesh (default material) + Param[1]: mesh (type: Mesh) +Function 391: UnloadModel() (1 input parameters) + Name: UnloadModel + Return type: void + Description: Unload model (including meshes) from memory (RAM and/or VRAM) + Param[1]: model (type: Model) +Function 392: UnloadModelKeepMeshes() (1 input parameters) + Name: UnloadModelKeepMeshes + Return type: void + Description: Unload model (but not meshes) from memory (RAM and/or VRAM) + Param[1]: model (type: Model) +Function 393: GetModelBoundingBox() (1 input parameters) + Name: GetModelBoundingBox + Return type: BoundingBox + Description: Compute model bounding box limits (considers all meshes) + Param[1]: model (type: Model) +Function 394: DrawModel() (4 input parameters) + Name: DrawModel + Return type: void + Description: Draw a model (with texture if set) + Param[1]: model (type: Model) + Param[2]: position (type: Vector3) + Param[3]: scale (type: float) + Param[4]: tint (type: Color) +Function 395: DrawModelEx() (6 input parameters) + Name: DrawModelEx + Return type: void + Description: Draw a model with extended parameters + Param[1]: model (type: Model) + Param[2]: position (type: Vector3) + Param[3]: rotationAxis (type: Vector3) + Param[4]: rotationAngle (type: float) + Param[5]: scale (type: Vector3) + Param[6]: tint (type: Color) +Function 396: DrawModelWires() (4 input parameters) + Name: DrawModelWires + Return type: void + Description: Draw a model wires (with texture if set) + Param[1]: model (type: Model) + Param[2]: position (type: Vector3) + Param[3]: scale (type: float) + Param[4]: tint (type: Color) +Function 397: DrawModelWiresEx() (6 input parameters) + Name: DrawModelWiresEx + Return type: void + Description: Draw a model wires (with texture if set) with extended parameters + Param[1]: model (type: Model) + Param[2]: position (type: Vector3) + Param[3]: rotationAxis (type: Vector3) + Param[4]: rotationAngle (type: float) + Param[5]: scale (type: Vector3) + Param[6]: tint (type: Color) +Function 398: DrawBoundingBox() (2 input parameters) + Name: DrawBoundingBox + Return type: void + Description: Draw bounding box (wires) + Param[1]: box (type: BoundingBox) + Param[2]: color (type: Color) +Function 399: DrawBillboard() (5 input parameters) + Name: DrawBillboard + Return type: void + Description: Draw a billboard texture + Param[1]: camera (type: Camera) + Param[2]: texture (type: Texture2D) + Param[3]: position (type: Vector3) + Param[4]: size (type: float) + Param[5]: tint (type: Color) +Function 400: DrawBillboardRec() (6 input parameters) + Name: DrawBillboardRec + Return type: void + Description: Draw a billboard texture defined by source + Param[1]: camera (type: Camera) + Param[2]: texture (type: Texture2D) + Param[3]: source (type: Rectangle) + Param[4]: position (type: Vector3) + Param[5]: size (type: Vector2) + Param[6]: tint (type: Color) +Function 401: DrawBillboardPro() (9 input parameters) + Name: DrawBillboardPro + Return type: void + Description: Draw a billboard texture defined by source and rotation + Param[1]: camera (type: Camera) + Param[2]: texture (type: Texture2D) + Param[3]: source (type: Rectangle) + Param[4]: position (type: Vector3) + Param[5]: up (type: Vector3) + Param[6]: size (type: Vector2) + Param[7]: origin (type: Vector2) + Param[8]: rotation (type: float) + Param[9]: tint (type: Color) +Function 402: UploadMesh() (2 input parameters) + Name: UploadMesh + Return type: void + Description: Upload mesh vertex data in GPU and provide VAO/VBO ids + Param[1]: mesh (type: Mesh *) + Param[2]: dynamic (type: bool) +Function 403: UpdateMeshBuffer() (5 input parameters) + Name: UpdateMeshBuffer + Return type: void + Description: Update mesh vertex data in GPU for a specific buffer index + Param[1]: mesh (type: Mesh) + Param[2]: index (type: int) + Param[3]: data (type: const void *) + Param[4]: dataSize (type: int) + Param[5]: offset (type: int) +Function 404: UnloadMesh() (1 input parameters) + Name: UnloadMesh + Return type: void + Description: Unload mesh data from CPU and GPU + Param[1]: mesh (type: Mesh) +Function 405: DrawMesh() (3 input parameters) + Name: DrawMesh + Return type: void + Description: Draw a 3d mesh with material and transform + Param[1]: mesh (type: Mesh) + Param[2]: material (type: Material) + Param[3]: transform (type: Matrix) +Function 406: DrawMeshInstanced() (4 input parameters) + Name: DrawMeshInstanced + Return type: void + Description: Draw multiple mesh instances with material and different transforms + Param[1]: mesh (type: Mesh) + Param[2]: material (type: Material) + Param[3]: transforms (type: const Matrix *) + Param[4]: instances (type: int) +Function 407: ExportMesh() (2 input parameters) + Name: ExportMesh + Return type: bool + Description: Export mesh data to file, returns true on success + Param[1]: mesh (type: Mesh) + Param[2]: fileName (type: const char *) +Function 408: GetMeshBoundingBox() (1 input parameters) + Name: GetMeshBoundingBox + Return type: BoundingBox + Description: Compute mesh bounding box limits + Param[1]: mesh (type: Mesh) +Function 409: GenMeshTangents() (1 input parameters) + Name: GenMeshTangents + Return type: void + Description: Compute mesh tangents + Param[1]: mesh (type: Mesh *) +Function 410: GenMeshBinormals() (1 input parameters) + Name: GenMeshBinormals + Return type: void + Description: Compute mesh binormals + Param[1]: mesh (type: Mesh *) +Function 411: GenMeshPoly() (2 input parameters) + Name: GenMeshPoly + Return type: Mesh + Description: Generate polygonal mesh + Param[1]: sides (type: int) + Param[2]: radius (type: float) +Function 412: GenMeshPlane() (4 input parameters) + Name: GenMeshPlane + Return type: Mesh + Description: Generate plane mesh (with subdivisions) + Param[1]: width (type: float) + Param[2]: length (type: float) + Param[3]: resX (type: int) + Param[4]: resZ (type: int) +Function 413: GenMeshCube() (3 input parameters) + Name: GenMeshCube + Return type: Mesh + Description: Generate cuboid mesh + Param[1]: width (type: float) + Param[2]: height (type: float) + Param[3]: length (type: float) +Function 414: GenMeshSphere() (3 input parameters) + Name: GenMeshSphere + Return type: Mesh + Description: Generate sphere mesh (standard sphere) + Param[1]: radius (type: float) + Param[2]: rings (type: int) + Param[3]: slices (type: int) +Function 415: GenMeshHemiSphere() (3 input parameters) + Name: GenMeshHemiSphere + Return type: Mesh + Description: Generate half-sphere mesh (no bottom cap) + Param[1]: radius (type: float) + Param[2]: rings (type: int) + Param[3]: slices (type: int) +Function 416: GenMeshCylinder() (3 input parameters) + Name: GenMeshCylinder + Return type: Mesh + Description: Generate cylinder mesh + Param[1]: radius (type: float) + Param[2]: height (type: float) + Param[3]: slices (type: int) +Function 417: GenMeshCone() (3 input parameters) + Name: GenMeshCone + Return type: Mesh + Description: Generate cone/pyramid mesh + Param[1]: radius (type: float) + Param[2]: height (type: float) + Param[3]: slices (type: int) +Function 418: GenMeshTorus() (4 input parameters) + Name: GenMeshTorus + Return type: Mesh + Description: Generate torus mesh + Param[1]: radius (type: float) + Param[2]: size (type: float) + Param[3]: radSeg (type: int) + Param[4]: sides (type: int) +Function 419: GenMeshKnot() (4 input parameters) + Name: GenMeshKnot + Return type: Mesh + Description: Generate trefoil knot mesh + Param[1]: radius (type: float) + Param[2]: size (type: float) + Param[3]: radSeg (type: int) + Param[4]: sides (type: int) +Function 420: GenMeshHeightmap() (2 input parameters) + Name: GenMeshHeightmap + Return type: Mesh + Description: Generate heightmap mesh from image data + Param[1]: heightmap (type: Image) + Param[2]: size (type: Vector3) +Function 421: GenMeshCubicmap() (2 input parameters) + Name: GenMeshCubicmap + Return type: Mesh + Description: Generate cubes-based map mesh from image data + Param[1]: cubicmap (type: Image) + Param[2]: cubeSize (type: Vector3) +Function 422: LoadMaterials() (2 input parameters) + Name: LoadMaterials + Return type: Material * + Description: Load materials from model file + Param[1]: fileName (type: const char *) + Param[2]: materialCount (type: int *) +Function 423: LoadMaterialDefault() (0 input parameters) + Name: LoadMaterialDefault + Return type: Material + Description: Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) + No input parameters +Function 424: UnloadMaterial() (1 input parameters) + Name: UnloadMaterial + Return type: void + Description: Unload material from GPU memory (VRAM) + Param[1]: material (type: Material) +Function 425: SetMaterialTexture() (3 input parameters) + Name: SetMaterialTexture + Return type: void + Description: Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) + Param[1]: material (type: Material *) + Param[2]: mapType (type: int) + Param[3]: texture (type: Texture2D) +Function 426: SetModelMeshMaterial() (3 input parameters) + Name: SetModelMeshMaterial + Return type: void + Description: Set material for a mesh + Param[1]: model (type: Model *) + Param[2]: meshId (type: int) + Param[3]: materialId (type: int) +Function 427: LoadModelAnimations() (2 input parameters) + Name: LoadModelAnimations + Return type: ModelAnimation * + Description: Load model animations from file + Param[1]: fileName (type: const char *) + Param[2]: animCount (type: unsigned int *) +Function 428: UpdateModelAnimation() (3 input parameters) + Name: UpdateModelAnimation + Return type: void + Description: Update model animation pose + Param[1]: model (type: Model) + Param[2]: anim (type: ModelAnimation) + Param[3]: frame (type: int) +Function 429: UnloadModelAnimation() (1 input parameters) + Name: UnloadModelAnimation + Return type: void + Description: Unload animation data + Param[1]: anim (type: ModelAnimation) +Function 430: UnloadModelAnimations() (2 input parameters) + Name: UnloadModelAnimations + Return type: void + Description: Unload animation array data + Param[1]: animations (type: ModelAnimation *) + Param[2]: count (type: unsigned int) +Function 431: IsModelAnimationValid() (2 input parameters) + Name: IsModelAnimationValid + Return type: bool + Description: Check model animation skeleton match + Param[1]: model (type: Model) + Param[2]: anim (type: ModelAnimation) +Function 432: CheckCollisionSpheres() (4 input parameters) + Name: CheckCollisionSpheres + Return type: bool + Description: Check collision between two spheres + Param[1]: center1 (type: Vector3) + Param[2]: radius1 (type: float) + Param[3]: center2 (type: Vector3) + Param[4]: radius2 (type: float) +Function 433: CheckCollisionBoxes() (2 input parameters) + Name: CheckCollisionBoxes + Return type: bool + Description: Check collision between two bounding boxes + Param[1]: box1 (type: BoundingBox) + Param[2]: box2 (type: BoundingBox) +Function 434: CheckCollisionBoxSphere() (3 input parameters) + Name: CheckCollisionBoxSphere + Return type: bool + Description: Check collision between box and sphere + Param[1]: box (type: BoundingBox) + Param[2]: center (type: Vector3) + Param[3]: radius (type: float) +Function 435: GetRayCollisionSphere() (3 input parameters) + Name: GetRayCollisionSphere + Return type: RayCollision + Description: Get collision info between ray and sphere + Param[1]: ray (type: Ray) + Param[2]: center (type: Vector3) + Param[3]: radius (type: float) +Function 436: GetRayCollisionBox() (2 input parameters) + Name: GetRayCollisionBox + Return type: RayCollision + Description: Get collision info between ray and box + Param[1]: ray (type: Ray) + Param[2]: box (type: BoundingBox) +Function 437: GetRayCollisionMesh() (3 input parameters) + Name: GetRayCollisionMesh + Return type: RayCollision + Description: Get collision info between ray and mesh + Param[1]: ray (type: Ray) + Param[2]: mesh (type: Mesh) + Param[3]: transform (type: Matrix) +Function 438: GetRayCollisionTriangle() (4 input parameters) + Name: GetRayCollisionTriangle + Return type: RayCollision + Description: Get collision info between ray and triangle + Param[1]: ray (type: Ray) + Param[2]: p1 (type: Vector3) + Param[3]: p2 (type: Vector3) + Param[4]: p3 (type: Vector3) +Function 439: GetRayCollisionQuad() (5 input parameters) + Name: GetRayCollisionQuad + Return type: RayCollision + Description: Get collision info between ray and quad + Param[1]: ray (type: Ray) + Param[2]: p1 (type: Vector3) + Param[3]: p2 (type: Vector3) + Param[4]: p3 (type: Vector3) + Param[5]: p4 (type: Vector3) +Function 440: InitAudioDevice() (0 input parameters) + Name: InitAudioDevice + Return type: void + Description: Initialize audio device and context + No input parameters +Function 441: CloseAudioDevice() (0 input parameters) + Name: CloseAudioDevice + Return type: void + Description: Close the audio device and context + No input parameters +Function 442: IsAudioDeviceReady() (0 input parameters) + Name: IsAudioDeviceReady + Return type: bool + Description: Check if audio device has been initialized successfully + No input parameters +Function 443: SetMasterVolume() (1 input parameters) + Name: SetMasterVolume + Return type: void + Description: Set master volume (listener) + Param[1]: volume (type: float) +Function 444: LoadWave() (1 input parameters) + Name: LoadWave + Return type: Wave + Description: Load wave data from file + Param[1]: fileName (type: const char *) +Function 445: LoadWaveFromMemory() (3 input parameters) + Name: LoadWaveFromMemory + Return type: Wave + Description: Load wave from memory buffer, fileType refers to extension: i.e. '.wav' + Param[1]: fileType (type: const char *) + Param[2]: fileData (type: const unsigned char *) + Param[3]: dataSize (type: int) +Function 446: LoadSound() (1 input parameters) + Name: LoadSound + Return type: Sound + Description: Load sound from file + Param[1]: fileName (type: const char *) +Function 447: LoadSoundFromWave() (1 input parameters) + Name: LoadSoundFromWave + Return type: Sound + Description: Load sound from wave data + Param[1]: wave (type: Wave) +Function 448: UpdateSound() (3 input parameters) + Name: UpdateSound + Return type: void + Description: Update sound buffer with new data + Param[1]: sound (type: Sound) + Param[2]: data (type: const void *) + Param[3]: sampleCount (type: int) +Function 449: UnloadWave() (1 input parameters) + Name: UnloadWave + Return type: void + Description: Unload wave data + Param[1]: wave (type: Wave) +Function 450: UnloadSound() (1 input parameters) + Name: UnloadSound + Return type: void + Description: Unload sound + Param[1]: sound (type: Sound) +Function 451: ExportWave() (2 input parameters) + Name: ExportWave + Return type: bool + Description: Export wave data to file, returns true on success + Param[1]: wave (type: Wave) + Param[2]: fileName (type: const char *) +Function 452: ExportWaveAsCode() (2 input parameters) + Name: ExportWaveAsCode + Return type: bool + Description: Export wave sample data to code (.h), returns true on success + Param[1]: wave (type: Wave) + Param[2]: fileName (type: const char *) +Function 453: PlaySound() (1 input parameters) + Name: PlaySound + Return type: void + Description: Play a sound + Param[1]: sound (type: Sound) +Function 454: StopSound() (1 input parameters) + Name: StopSound + Return type: void + Description: Stop playing a sound + Param[1]: sound (type: Sound) +Function 455: PauseSound() (1 input parameters) + Name: PauseSound + Return type: void + Description: Pause a sound + Param[1]: sound (type: Sound) +Function 456: ResumeSound() (1 input parameters) + Name: ResumeSound + Return type: void + Description: Resume a paused sound + Param[1]: sound (type: Sound) +Function 457: PlaySoundMulti() (1 input parameters) + Name: PlaySoundMulti + Return type: void + Description: Play a sound (using multichannel buffer pool) + Param[1]: sound (type: Sound) +Function 458: StopSoundMulti() (0 input parameters) + Name: StopSoundMulti + Return type: void + Description: Stop any sound playing (using multichannel buffer pool) + No input parameters +Function 459: GetSoundsPlaying() (0 input parameters) + Name: GetSoundsPlaying + Return type: int + Description: Get number of sounds playing in the multichannel + No input parameters +Function 460: IsSoundPlaying() (1 input parameters) + Name: IsSoundPlaying + Return type: bool + Description: Check if a sound is currently playing + Param[1]: sound (type: Sound) +Function 461: SetSoundVolume() (2 input parameters) + Name: SetSoundVolume + Return type: void + Description: Set volume for a sound (1.0 is max level) + Param[1]: sound (type: Sound) + Param[2]: volume (type: float) +Function 462: SetSoundPitch() (2 input parameters) + Name: SetSoundPitch + Return type: void + Description: Set pitch for a sound (1.0 is base level) + Param[1]: sound (type: Sound) + Param[2]: pitch (type: float) +Function 463: SetSoundPan() (2 input parameters) + Name: SetSoundPan + Return type: void + Description: Set pan for a sound (0.5 is center) + Param[1]: sound (type: Sound) + Param[2]: pan (type: float) +Function 464: WaveCopy() (1 input parameters) + Name: WaveCopy + Return type: Wave + Description: Copy a wave to a new wave + Param[1]: wave (type: Wave) +Function 465: WaveCrop() (3 input parameters) + Name: WaveCrop + Return type: void + Description: Crop a wave to defined samples range + Param[1]: wave (type: Wave *) + Param[2]: initSample (type: int) + Param[3]: finalSample (type: int) +Function 466: WaveFormat() (4 input parameters) + Name: WaveFormat + Return type: void + Description: Convert wave data to desired format + Param[1]: wave (type: Wave *) + Param[2]: sampleRate (type: int) + Param[3]: sampleSize (type: int) + Param[4]: channels (type: int) +Function 467: LoadWaveSamples() (1 input parameters) + Name: LoadWaveSamples + Return type: float * + Description: Load samples data from wave as a 32bit float data array + Param[1]: wave (type: Wave) +Function 468: UnloadWaveSamples() (1 input parameters) + Name: UnloadWaveSamples + Return type: void + Description: Unload samples data loaded with LoadWaveSamples() + Param[1]: samples (type: float *) +Function 469: LoadMusicStream() (1 input parameters) + Name: LoadMusicStream + Return type: Music + Description: Load music stream from file + Param[1]: fileName (type: const char *) +Function 470: LoadMusicStreamFromMemory() (3 input parameters) + Name: LoadMusicStreamFromMemory + Return type: Music + Description: Load music stream from data + Param[1]: fileType (type: const char *) + Param[2]: data (type: const unsigned char *) + Param[3]: dataSize (type: int) +Function 471: UnloadMusicStream() (1 input parameters) + Name: UnloadMusicStream + Return type: void + Description: Unload music stream + Param[1]: music (type: Music) +Function 472: PlayMusicStream() (1 input parameters) + Name: PlayMusicStream + Return type: void + Description: Start music playing + Param[1]: music (type: Music) +Function 473: IsMusicStreamPlaying() (1 input parameters) + Name: IsMusicStreamPlaying + Return type: bool + Description: Check if music is playing + Param[1]: music (type: Music) +Function 474: UpdateMusicStream() (1 input parameters) + Name: UpdateMusicStream + Return type: void + Description: Updates buffers for music streaming + Param[1]: music (type: Music) +Function 475: StopMusicStream() (1 input parameters) + Name: StopMusicStream + Return type: void + Description: Stop music playing + Param[1]: music (type: Music) +Function 476: PauseMusicStream() (1 input parameters) + Name: PauseMusicStream + Return type: void + Description: Pause music playing + Param[1]: music (type: Music) +Function 477: ResumeMusicStream() (1 input parameters) + Name: ResumeMusicStream + Return type: void + Description: Resume playing paused music + Param[1]: music (type: Music) +Function 478: SeekMusicStream() (2 input parameters) + Name: SeekMusicStream + Return type: void + Description: Seek music to a position (in seconds) + Param[1]: music (type: Music) + Param[2]: position (type: float) +Function 479: SetMusicVolume() (2 input parameters) + Name: SetMusicVolume + Return type: void + Description: Set volume for music (1.0 is max level) + Param[1]: music (type: Music) + Param[2]: volume (type: float) +Function 480: SetMusicPitch() (2 input parameters) + Name: SetMusicPitch + Return type: void + Description: Set pitch for a music (1.0 is base level) + Param[1]: music (type: Music) + Param[2]: pitch (type: float) +Function 481: SetMusicPan() (2 input parameters) + Name: SetMusicPan + Return type: void + Description: Set pan for a music (0.5 is center) + Param[1]: music (type: Music) + Param[2]: pan (type: float) +Function 482: GetMusicTimeLength() (1 input parameters) + Name: GetMusicTimeLength + Return type: float + Description: Get music time length (in seconds) + Param[1]: music (type: Music) +Function 483: GetMusicTimePlayed() (1 input parameters) + Name: GetMusicTimePlayed + Return type: float + Description: Get current music time played (in seconds) + Param[1]: music (type: Music) +Function 484: LoadAudioStream() (3 input parameters) + Name: LoadAudioStream + Return type: AudioStream + Description: Load audio stream (to stream raw audio pcm data) + Param[1]: sampleRate (type: unsigned int) + Param[2]: sampleSize (type: unsigned int) + Param[3]: channels (type: unsigned int) +Function 485: UnloadAudioStream() (1 input parameters) + Name: UnloadAudioStream + Return type: void + Description: Unload audio stream and free memory + Param[1]: stream (type: AudioStream) +Function 486: UpdateAudioStream() (3 input parameters) + Name: UpdateAudioStream + Return type: void + Description: Update audio stream buffers with data + Param[1]: stream (type: AudioStream) + Param[2]: data (type: const void *) + Param[3]: frameCount (type: int) +Function 487: IsAudioStreamProcessed() (1 input parameters) + Name: IsAudioStreamProcessed + Return type: bool + Description: Check if any audio stream buffers requires refill + Param[1]: stream (type: AudioStream) +Function 488: PlayAudioStream() (1 input parameters) + Name: PlayAudioStream + Return type: void + Description: Play audio stream + Param[1]: stream (type: AudioStream) +Function 489: PauseAudioStream() (1 input parameters) + Name: PauseAudioStream + Return type: void + Description: Pause audio stream + Param[1]: stream (type: AudioStream) +Function 490: ResumeAudioStream() (1 input parameters) + Name: ResumeAudioStream + Return type: void + Description: Resume audio stream + Param[1]: stream (type: AudioStream) +Function 491: IsAudioStreamPlaying() (1 input parameters) + Name: IsAudioStreamPlaying + Return type: bool + Description: Check if audio stream is playing + Param[1]: stream (type: AudioStream) +Function 492: StopAudioStream() (1 input parameters) + Name: StopAudioStream + Return type: void + Description: Stop audio stream + Param[1]: stream (type: AudioStream) +Function 493: SetAudioStreamVolume() (2 input parameters) + Name: SetAudioStreamVolume + Return type: void + Description: Set volume for audio stream (1.0 is max level) + Param[1]: stream (type: AudioStream) + Param[2]: volume (type: float) +Function 494: SetAudioStreamPitch() (2 input parameters) + Name: SetAudioStreamPitch + Return type: void + Description: Set pitch for audio stream (1.0 is base level) + Param[1]: stream (type: AudioStream) + Param[2]: pitch (type: float) +Function 495: SetAudioStreamPan() (2 input parameters) + Name: SetAudioStreamPan + Return type: void + Description: Set pan for audio stream (0.5 is centered) + Param[1]: stream (type: AudioStream) + Param[2]: pan (type: float) +Function 496: SetAudioStreamBufferSizeDefault() (1 input parameters) + Name: SetAudioStreamBufferSizeDefault + Return type: void + Description: Default size for new audio streams + Param[1]: size (type: int) +Function 497: SetAudioStreamCallback() (2 input parameters) + Name: SetAudioStreamCallback + Return type: void + Description: Audio thread callback to request new data + Param[1]: stream (type: AudioStream) + Param[2]: callback (type: AudioCallback) +Function 498: AttachAudioStreamProcessor() (2 input parameters) + Name: AttachAudioStreamProcessor + Return type: void Description: -Define 052: SHADER_LOC_MAP_SPECULAR - Name: SHADER_LOC_MAP_SPECULAR - Type: UNKNOWN - Value: SHADER_LOC_MAP_METALNESS + Param[1]: stream (type: AudioStream) + Param[2]: processor (type: AudioCallback) +Function 499: DetachAudioStreamProcessor() (2 input parameters) + Name: DetachAudioStreamProcessor + Return type: void Description: + Param[1]: stream (type: AudioStream) + Param[2]: processor (type: AudioCallback) diff --git a/parser/raylib_api.xml b/parser/raylib_api.xml index db7761c5..917d26f5 100644 --- a/parser/raylib_api.xml +++ b/parser/raylib_api.xml @@ -1,5 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -563,60 +617,33 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2695,31 +2722,4 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/parser/raylib_parser.c b/parser/raylib_parser.c index d7eee55f..884ff7c6 100644 --- a/parser/raylib_parser.c +++ b/parser/raylib_parser.c @@ -2,14 +2,14 @@ raylib API parser - This parser scans raylib.h to get API information about structs, aliases, enums, functions and defines. + This parser scans raylib.h to get API information about defines, structs, aliases, enums, callbacks and functions. All data is divided into pieces, usually as strings. The following types are used for data: - - struct FunctionInfo + - struct DefineInfo - struct StructInfo - struct AliasInfo - struct EnumInfo - - struct DefInfo + - struct FunctionInfo CONSTRAINTS: @@ -66,33 +66,34 @@ #include // Required for: bool #include // Required for: isdigit() -#define MAX_FUNCS_TO_PARSE 512 // Maximum number of functions to parse -#define MAX_CALLBACKS_TO_PARSE 64 // Maximum number of callbacks to parse +#define MAX_DEFINES_TO_PARSE 2048 // Maximum number of defines to parse #define MAX_STRUCTS_TO_PARSE 64 // Maximum number of structures to parse #define MAX_ALIASES_TO_PARSE 64 // Maximum number of aliases to parse #define MAX_ENUMS_TO_PARSE 64 // Maximum number of enums to parse -#define MAX_DEFINES_TO_PARSE 2048 // Maximum number of defines to parse +#define MAX_CALLBACKS_TO_PARSE 64 // Maximum number of callbacks to parse +#define MAX_FUNCS_TO_PARSE 512 // Maximum number of functions to parse #define MAX_LINE_LENGTH 512 // Maximum length of one line (including comments) -#define MAX_STRUCT_LINE_LENGTH 2048 // Maximum length of one struct (multiple lines) -#define MAX_FUNCTION_PARAMETERS 12 // Maximum number of function parameters #define MAX_STRUCT_FIELDS 64 // Maximum number of struct fields #define MAX_ENUM_VALUES 512 // Maximum number of enum values +#define MAX_FUNCTION_PARAMETERS 12 // Maximum number of function parameters //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- -// Function info data -typedef struct FunctionInfo { - char name[64]; // Function name - char desc[128]; // Function description (comment at the end) - char retType[32]; // Return value type - int paramCount; // Number of function parameters - char paramType[MAX_FUNCTION_PARAMETERS][32]; // Parameters type - char paramName[MAX_FUNCTION_PARAMETERS][32]; // Parameters name - char paramDesc[MAX_FUNCTION_PARAMETERS][128]; // Parameters description -} FunctionInfo; + +// Type of parsed define +typedef enum { UNKNOWN = 0, MACRO, GUARD, INT, LONG, FLOAT, DOUBLE, CHAR, STRING, COLOR } DefineType; + +// Define info data +typedef struct DefineInfo { + char name[64]; // Define name + DefineType type; // Define type + char value[256]; // Define value + char desc[128]; // Define description + bool isHex; // Define is hex number (for types INT, LONG) +} DefineInfo; // Struct info data typedef struct StructInfo { @@ -121,17 +122,16 @@ typedef struct EnumInfo { char valueDesc[MAX_ENUM_VALUES][128]; // Value description } EnumInfo; -// Type of parsed define -typedef enum { UNKNOWN = 0, MACRO, GUARD, INT, LONG, FLOAT, DOUBLE, CHAR, STRING, COLOR } DefineType; - -// Define info data -typedef struct DefineInfo { - char name[64]; // Define name - DefineType type; // Define type - char value[256]; // Define value - char desc[128]; // Define description - bool isHex; // Define is hex number (for types INT, LONG) -} DefineInfo; +// Function info data +typedef struct FunctionInfo { + char name[64]; // Function name + char desc[128]; // Function description (comment at the end) + char retType[32]; // Return value type + int paramCount; // Number of function parameters + char paramType[MAX_FUNCTION_PARAMETERS][32]; // Parameters type + char paramName[MAX_FUNCTION_PARAMETERS][32]; // Parameters name + char paramDesc[MAX_FUNCTION_PARAMETERS][128]; // Parameters description +} FunctionInfo; // Output format for parsed data typedef enum { DEFAULT = 0, JSON, XML, LUA } OutputFormat; @@ -139,21 +139,21 @@ typedef enum { DEFAULT = 0, JSON, XML, LUA } OutputFormat; //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- -static int funcCount = 0; -static int callbackCount = 0; +static int defineCount = 0; static int structCount = 0; static int aliasCount = 0; static int enumCount = 0; -static int defineCount = 0; -static FunctionInfo *funcs = NULL; -static FunctionInfo *callbacks = NULL; +static int callbackCount = 0; +static int funcCount = 0; +static DefineInfo *defines = NULL; static StructInfo *structs = NULL; static AliasInfo *aliases = NULL; static EnumInfo *enums = NULL; -static DefineInfo *defines = NULL; -static char apiDefine[32] = "RLAPI\0"; +static FunctionInfo *callbacks = NULL; +static FunctionInfo *funcs = NULL; // Command line variables +static char apiDefine[32] = { 0 }; // Functions define (i.e. RLAPI for raylib.h, RMDEF for raymath.h, etc.) static char inFileName[512] = { 0 }; // Input file name (required in case of provided through CLI) static char outFileName[512] = { 0 }; // Output file name (required for file save/export) static int outputFormat = DEFAULT; @@ -168,25 +168,25 @@ static char *LoadFileText(const char *fileName, int *length); static char **GetTextLines(const char *buffer, int length, int *linesCount); static void GetDataTypeAndName(const char *typeName, int typeNameLen, char *type, char *name); static void GetDescription(const char *source, char *description); +static void MoveArraySize(char *name, char *type); // Move array size from name to type static unsigned int TextLength(const char *text); // Get text length in bytes, check for \0 character static bool IsTextEqual(const char *text1, const char *text2, unsigned int count); static void MemoryCopy(void *dest, const void *src, unsigned int count); static char *EscapeBackslashes(char *text); // Replace '\' by "\\" when exporting to JSON and XML - -static void ExportParsedData(const char *fileName, int format); // Export parsed data in desired format - static const char *StrDefineType(DefineType type); // Get string of define type -static void MoveArraySize(char *name, char *type); // Move array size from name to type +static void ExportParsedData(const char *fileName, int format); // Export parsed data in desired format -//------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------- // Program main entry point -//------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------- int main(int argc, char* argv[]) { if (argc > 1) ProcessCommandLine(argc, argv); if (inFileName[0] == '\0') MemoryCopy(inFileName, "../src/raylib.h\0", 16); + if (outFileName[0] == '\0') MemoryCopy(outFileName, "raylib_api.txt\0", 15); + if (apiDefine[0] == '\0') MemoryCopy(apiDefine, "RLAPI\0", 6); int length = 0; char *buffer = LoadFileText(inFileName, &length); @@ -196,11 +196,8 @@ int main(int argc, char* argv[]) int linesCount = 0; char **lines = GetTextLines(buffer, length, &linesCount); - // Function line indices - int *funcLines = (int *)malloc(MAX_FUNCS_TO_PARSE*sizeof(int)); - - // Callbacks line indices - int *callbackLines = (int *)malloc(MAX_CALLBACKS_TO_PARSE*sizeof(int)); + // Defines line indices + int *defineLines = (int *)malloc(MAX_DEFINES_TO_PARSE*sizeof(int)); // Structs line indices int *structLines = (int *)malloc(MAX_STRUCTS_TO_PARSE*sizeof(int)); @@ -211,46 +208,27 @@ int main(int argc, char* argv[]) // Enums line indices int *enumLines = (int *)malloc(MAX_ENUMS_TO_PARSE*sizeof(int)); - // Defines line indices - int *defineLines = (int *)malloc(MAX_DEFINES_TO_PARSE*sizeof(int)); + // Callbacks line indices + int *callbackLines = (int *)malloc(MAX_CALLBACKS_TO_PARSE*sizeof(int)); - // Prepare required lines for parsing - //-------------------------------------------------------------------------------------------------- + // Function line indices + int *funcLines = (int *)malloc(MAX_FUNCS_TO_PARSE*sizeof(int)); - // Read function lines - for (int i = 0; i < linesCount; i++) - { - // Read function line (starting with `define`, i.e. for raylib.h "RLAPI") - if (IsTextEqual(lines[i], apiDefine, TextLength(apiDefine))) - { - funcLines[funcCount] = i; - funcCount++; - } - } + // Prepare required lines for parsing + //---------------------------------------------------------------------------------- - // Read callback lines + // Read define lines for (int i = 0; i < linesCount; i++) { - // Find callbacks (lines with "typedef ... (* ... )( ... );") - if (IsTextEqual(lines[i], "typedef", 7)) + int j = 0; + while ((lines[i][j] == ' ') || (lines[i][j] == '\t')) j++; // skip spaces and tabs in the begining + // Read define line + if (IsTextEqual(lines[i]+j, "#define ", 8)) { - bool hasBeginning = false; - bool hasMiddle = false; - bool hasEnd = false; - - for (int c = 0; c < MAX_LINE_LENGTH; c++) - { - if ((lines[i][c] == '(') && (lines[i][c + 1] == '*')) hasBeginning = true; - if ((lines[i][c] == ')') && (lines[i][c + 1] == '(')) hasMiddle = true; - if ((lines[i][c] == ')') && (lines[i][c + 1] == ';')) hasEnd = true; - if (hasEnd) break; - } - - if (hasBeginning && hasMiddle && hasEnd) - { - callbackLines[callbackCount] = i; - callbackCount++; - } + // Keep the line position in the array of lines, + // so, we can scan that position and following lines + defineLines[defineCount] = i; + defineCount++; } } @@ -316,101 +294,234 @@ int main(int argc, char* argv[]) } } - // Read const lines + // Read callback lines for (int i = 0; i < linesCount; i++) { - int j = 0; - while ((lines[i][j] == ' ') || (lines[i][j] == '\t')) j++; // skip spaces and tabs in the begining - // Read define line - if (IsTextEqual(lines[i]+j, "#define ", 8)) + // Find callbacks (lines with "typedef ... (* ... )( ... );") + if (IsTextEqual(lines[i], "typedef", 7)) { - // Keep the line position in the array of lines, - // so, we can scan that position and following lines - defineLines[defineCount] = i; - defineCount++; + bool hasBeginning = false; + bool hasMiddle = false; + bool hasEnd = false; + + for (int c = 0; c < MAX_LINE_LENGTH; c++) + { + if ((lines[i][c] == '(') && (lines[i][c + 1] == '*')) hasBeginning = true; + if ((lines[i][c] == ')') && (lines[i][c + 1] == '(')) hasMiddle = true; + if ((lines[i][c] == ')') && (lines[i][c + 1] == ';')) hasEnd = true; + if (hasEnd) break; + } + + if (hasBeginning && hasMiddle && hasEnd) + { + callbackLines[callbackCount] = i; + callbackCount++; + } + } + } + + // Read function lines + for (int i = 0; i < linesCount; i++) + { + // Read function line (starting with `define`, i.e. for raylib.h "RLAPI") + if (IsTextEqual(lines[i], apiDefine, TextLength(apiDefine))) + { + funcLines[funcCount] = i; + funcCount++; } } - // At this point we have all raylib structs, enums, functions, defines lines data to start parsing + // At this point we have all raylib defines, structs, aliases, enums, callbacks, functions lines data to start parsing free(buffer); // Unload text buffer // Parsing raylib data - //-------------------------------------------------------------------------------------------------- + //---------------------------------------------------------------------------------- - // Structs info data - structs = (StructInfo *)calloc(MAX_STRUCTS_TO_PARSE, sizeof(StructInfo)); + // Define info data + defines = (DefineInfo *)calloc(MAX_DEFINES_TO_PARSE, sizeof(DefineInfo)); + int defineIndex = 0; - for (int i = 0; i < structCount; i++) + for (int i = 0; i < defineCount; i++) { - char **linesPtr = &lines[structLines[i]]; + char *linePtr = lines[defineLines[i]]; + int j = 0; - // Parse struct description - GetDescription(linesPtr[-1], structs[i].desc); + while ((linePtr[j] == ' ') || (linePtr[j] == '\t')) j++; // Skip spaces and tabs in the begining + j += 8; // Skip "#define " + while ((linePtr[j] == ' ') || (linePtr[j] == '\t')) j++; // Skip spaces and tabs after "#define " - // Get struct name: typedef struct name { - const int TDS_LEN = 15; // length of "typedef struct " - for (int c = TDS_LEN; c < 64 + TDS_LEN; c++) + // Extract name + int defineNameStart = j; + int openBraces = 0; + while (linePtr[j] != '\0') { - if ((linesPtr[0][c] == '{') || (linesPtr[0][c] == ' ')) - { - int nameLen = c - TDS_LEN; - while (linesPtr[0][TDS_LEN + nameLen - 1] == ' ') nameLen--; - MemoryCopy(structs[i].name, &linesPtr[0][TDS_LEN], nameLen); - break; - } + if (((linePtr[j] == ' ') || (linePtr[j] == '\t')) && (openBraces == 0)) break; + if (linePtr[j] == '(') openBraces++; + if (linePtr[j] == ')') openBraces--; + j++; } + int defineNameEnd = j-1; - // Get struct fields and count them -> fields finish with ; - int l = 1; - while (linesPtr[l][0] != '}') + // Skip duplicates + int nameLen = defineNameEnd - defineNameStart + 1; + bool isDuplicate = false; + for (int k = 0; k < defineIndex; k++) { - // WARNING: Some structs have empty spaces and comments -> OK, processed - if ((linesPtr[l][0] != ' ') && (linesPtr[l][0] != '\0')) + if ((nameLen == TextLength(defines[k].name)) && IsTextEqual(defines[k].name, &linePtr[defineNameStart], nameLen)) { - // Scan one field line - char *fieldLine = linesPtr[l]; - int fieldEndPos = 0; - while (fieldLine[fieldEndPos] != ';') fieldEndPos++; - - if ((fieldLine[0] != '/') && !IsTextEqual(fieldLine, "struct", 6)) // Field line is not a comment and not a struct declaration - { - //printf("Struct field: %s_\n", fieldLine); // OK! + isDuplicate = true; + break; + } + } + if (isDuplicate) continue; - // Get struct field type and name - GetDataTypeAndName(fieldLine, fieldEndPos, structs[i].fieldType[structs[i].fieldCount], structs[i].fieldName[structs[i].fieldCount]); + MemoryCopy(defines[defineIndex].name, &linePtr[defineNameStart], nameLen); - // Get the field description - GetDescription(&fieldLine[fieldEndPos], structs[i].fieldDesc[structs[i].fieldCount]); + // Determine type + if (linePtr[defineNameEnd] == ')') defines[defineIndex].type = MACRO; - structs[i].fieldCount++; + while ((linePtr[j] == ' ') || (linePtr[j] == '\t')) j++; // Skip spaces and tabs after name - // Split field names containing multiple fields (like Matrix) - int additionalFields = 0; - int originalIndex = structs[i].fieldCount - 1; - for (int c = 0; c < TextLength(structs[i].fieldName[originalIndex]); c++) - { - if (structs[i].fieldName[originalIndex][c] == ',') additionalFields++; - } - if (additionalFields > 0) - { - int originalLength = -1; - int lastStart; - for (int c = 0; c < TextLength(structs[i].fieldName[originalIndex]) + 1; c++) - { - char v = structs[i].fieldName[originalIndex][c]; - bool isEndOfString = (v == '\0'); - if ((v == ',') || isEndOfString) - { - if (originalLength == -1) - { - // Save length of original field name - // Don't truncate yet, still needed for copying - originalLength = c; - } - else - { - // Copy field data from original field + int defineValueStart = j; + if ((linePtr[j] == '\0') || (linePtr == "/")) defines[defineIndex].type = GUARD; + if (linePtr[j] == '"') defines[defineIndex].type = STRING; + else if (linePtr[j] == '\'') defines[defineIndex].type = CHAR; + else if (IsTextEqual(linePtr+j, "CLITERAL(Color)", 15)) defines[defineIndex].type = COLOR; + else if (isdigit(linePtr[j])) // Parsing numbers + { + bool isFloat = false, isNumber = true, isHex = false; + while ((linePtr[j] != ' ') && (linePtr[j] != '\t') && (linePtr[j] != '\0')) + { + char ch = linePtr[j]; + if (ch == '.') isFloat = true; + if (ch == 'x') isHex = true; + if (!(isdigit(ch) || + ((ch >= 'a') && (ch <= 'f')) || + ((ch >= 'A') && (ch <= 'F')) || + (ch == 'x') || + (ch == 'L') || + (ch == '.') || + (ch == '+') || + (ch == '-'))) isNumber = false; + j++; + } + if (isNumber) + { + if (isFloat) + { + defines[defineIndex].type = linePtr[j-1] == 'f' ? FLOAT : DOUBLE; + } + else + { + defines[defineIndex].type = linePtr[j-1] == 'L' ? LONG : INT; + defines[defineIndex].isHex = isHex; + } + } + } + + // Extracting value + while ((linePtr[j] != '\\') && (linePtr[j] != '\0') && !((linePtr[j] == '/') && (linePtr[j+1] == '/'))) j++; + int defineValueEnd = j-1; + while ((linePtr[defineValueEnd] == ' ') || (linePtr[defineValueEnd] == '\t')) defineValueEnd--; // Remove trailing spaces and tabs + if ((defines[defineIndex].type == LONG) || (defines[defineIndex].type == FLOAT)) defineValueEnd--; // Remove number postfix + int valueLen = defineValueEnd - defineValueStart + 1; + if (valueLen > 255) valueLen = 255; + + if (valueLen > 0) MemoryCopy(defines[defineIndex].value, &linePtr[defineValueStart], valueLen); + + // Extracting description + if ((linePtr[j] == '/') && linePtr[j + 1] == '/') + { + j += 2; + while (linePtr[j] == ' ') j++; + int commentStart = j; + while ((linePtr[j] != '\\') && (linePtr[j] != '\0')) j++; + int commentEnd = j-1; + int commentLen = commentEnd - commentStart + 1; + if (commentLen > 127) commentLen = 127; + + MemoryCopy(defines[defineIndex].desc, &linePtr[commentStart], commentLen); + } + + defineIndex++; + } + defineCount = defineIndex; + free(defineLines); + + // Structs info data + structs = (StructInfo *)calloc(MAX_STRUCTS_TO_PARSE, sizeof(StructInfo)); + + for (int i = 0; i < structCount; i++) + { + char **linesPtr = &lines[structLines[i]]; + + // Parse struct description + GetDescription(linesPtr[-1], structs[i].desc); + + // Get struct name: typedef struct name { + const int TDS_LEN = 15; // length of "typedef struct " + for (int c = TDS_LEN; c < 64 + TDS_LEN; c++) + { + if ((linesPtr[0][c] == '{') || (linesPtr[0][c] == ' ')) + { + int nameLen = c - TDS_LEN; + while (linesPtr[0][TDS_LEN + nameLen - 1] == ' ') nameLen--; + MemoryCopy(structs[i].name, &linesPtr[0][TDS_LEN], nameLen); + break; + } + } + + // Get struct fields and count them -> fields finish with ; + int l = 1; + while (linesPtr[l][0] != '}') + { + // WARNING: Some structs have empty spaces and comments -> OK, processed + if ((linesPtr[l][0] != ' ') && (linesPtr[l][0] != '\0')) + { + // Scan one field line + char *fieldLine = linesPtr[l]; + int fieldEndPos = 0; + while (fieldLine[fieldEndPos] != ';') fieldEndPos++; + + if ((fieldLine[0] != '/') && !IsTextEqual(fieldLine, "struct", 6)) // Field line is not a comment and not a struct declaration + { + //printf("Struct field: %s_\n", fieldLine); // OK! + + // Get struct field type and name + GetDataTypeAndName(fieldLine, fieldEndPos, structs[i].fieldType[structs[i].fieldCount], structs[i].fieldName[structs[i].fieldCount]); + + // Get the field description + GetDescription(&fieldLine[fieldEndPos], structs[i].fieldDesc[structs[i].fieldCount]); + + structs[i].fieldCount++; + + // Split field names containing multiple fields (like Matrix) + int additionalFields = 0; + int originalIndex = structs[i].fieldCount - 1; + for (int c = 0; c < TextLength(structs[i].fieldName[originalIndex]); c++) + { + if (structs[i].fieldName[originalIndex][c] == ',') additionalFields++; + } + if (additionalFields > 0) + { + int originalLength = -1; + int lastStart; + for (int c = 0; c < TextLength(structs[i].fieldName[originalIndex]) + 1; c++) + { + char v = structs[i].fieldName[originalIndex][c]; + bool isEndOfString = (v == '\0'); + if ((v == ',') || isEndOfString) + { + if (originalLength == -1) + { + // Save length of original field name + // Don't truncate yet, still needed for copying + originalLength = c; + } + else + { + // Copy field data from original field int nameLength = c - lastStart; MemoryCopy(structs[i].fieldName[structs[i].fieldCount], &structs[i].fieldName[originalIndex][lastStart], nameLength); MemoryCopy(structs[i].fieldType[structs[i].fieldCount], &structs[i].fieldType[originalIndex][0], TextLength(structs[i].fieldType[originalIndex])); @@ -476,7 +587,6 @@ int main(int argc, char* argv[]) { MemoryCopy(structs[i].fieldType[originalIndex + j], &structs[i].fieldType[originalIndex][0], fieldTypeLength); MemoryCopy(structs[i].fieldDesc[originalIndex + j], &structs[i].fieldDesc[originalIndex][0], TextLength(structs[i].fieldDesc[originalIndex])); - } } } @@ -526,62 +636,6 @@ int main(int argc, char* argv[]) } free(aliasLines); - // Callback info data - callbacks = (FunctionInfo *)calloc(MAX_CALLBACKS_TO_PARSE, sizeof(FunctionInfo)); - - for (int i = 0; i < callbackCount; i++) - { - char *linePtr = lines[callbackLines[i]]; - - // Skip "typedef " - int c = 8; - - // Return type - int retTypeStart = c; - while(linePtr[c] != '(') c++; - int retTypeLen = c - retTypeStart; - while(linePtr[retTypeStart + retTypeLen - 1] == ' ') retTypeLen--; - MemoryCopy(callbacks[i].retType, &linePtr[retTypeStart], retTypeLen); - - // Skip "(*" - c += 2; - - // Name - int nameStart = c; - while(linePtr[c] != ')') c++; - int nameLen = c - nameStart; - MemoryCopy(callbacks[i].name, &linePtr[nameStart], nameLen); - - // Skip ")(" - c += 2; - - // Params - int paramStart = c; - for (c; c < MAX_LINE_LENGTH; c++) - { - if ((linePtr[c] == ',') || (linePtr[c] == ')')) - { - // Get parameter type + name, extract info - int paramLen = c - paramStart; - GetDataTypeAndName(&linePtr[paramStart], paramLen, callbacks[i].paramType[callbacks[i].paramCount], callbacks[i].paramName[callbacks[i].paramCount]); - callbacks[i].paramCount++; - paramStart = c + 1; - while(linePtr[paramStart] == ' ') paramStart++; - } - if (linePtr[c] == ')') break; - } - - // Description - GetDescription(&linePtr[c], callbacks[i].desc); - - // Move array sizes from name to type - for (int j = 0; j < callbacks[i].paramCount; j++) - { - MoveArraySize(callbacks[i].paramName[j], callbacks[i].paramType[j]); - } - } - free(callbackLines); - // Enum info data enums = (EnumInfo *)calloc(MAX_ENUMS_TO_PARSE, sizeof(EnumInfo)); @@ -692,116 +746,61 @@ int main(int argc, char* argv[]) } free(enumLines); - // Define info data - defines = (DefineInfo *)calloc(MAX_DEFINES_TO_PARSE, sizeof(DefineInfo)); - int defineIndex = 0; + // Callback info data + callbacks = (FunctionInfo *)calloc(MAX_CALLBACKS_TO_PARSE, sizeof(FunctionInfo)); - for (int i = 0; i < defineCount; i++) + for (int i = 0; i < callbackCount; i++) { - char *linePtr = lines[defineLines[i]]; - int j = 0; - - while ((linePtr[j] == ' ') || (linePtr[j] == '\t')) j++; // Skip spaces and tabs in the begining - j += 8; // Skip "#define " - while ((linePtr[j] == ' ') || (linePtr[j] == '\t')) j++; // Skip spaces and tabs after "#define " + char *linePtr = lines[callbackLines[i]]; - // Extract name - int defineNameStart = j; - int openBraces = 0; - while (linePtr[j] != '\0') - { - if (((linePtr[j] == ' ') || (linePtr[j] == '\t')) && (openBraces == 0)) break; - if (linePtr[j] == '(') openBraces++; - if (linePtr[j] == ')') openBraces--; - j++; - } - int defineNameEnd = j-1; + // Skip "typedef " + int c = 8; - // Skip duplicates - int nameLen = defineNameEnd - defineNameStart + 1; - bool isDuplicate = false; - for (int k = 0; k < defineIndex; k++) - { - if ((nameLen == TextLength(defines[k].name)) && IsTextEqual(defines[k].name, &linePtr[defineNameStart], nameLen)) - { - isDuplicate = true; - break; - } - } - if (isDuplicate) continue; + // Return type + int retTypeStart = c; + while(linePtr[c] != '(') c++; + int retTypeLen = c - retTypeStart; + while(linePtr[retTypeStart + retTypeLen - 1] == ' ') retTypeLen--; + MemoryCopy(callbacks[i].retType, &linePtr[retTypeStart], retTypeLen); - MemoryCopy(defines[defineIndex].name, &linePtr[defineNameStart], nameLen); + // Skip "(*" + c += 2; - // Determine type - if (linePtr[defineNameEnd] == ')') defines[defineIndex].type = MACRO; + // Name + int nameStart = c; + while(linePtr[c] != ')') c++; + int nameLen = c - nameStart; + MemoryCopy(callbacks[i].name, &linePtr[nameStart], nameLen); - while ((linePtr[j] == ' ') || (linePtr[j] == '\t')) j++; // Skip spaces and tabs after name + // Skip ")(" + c += 2; - int defineValueStart = j; - if ((linePtr[j] == '\0') || (linePtr == "/")) defines[defineIndex].type = GUARD; - if (linePtr[j] == '"') defines[defineIndex].type = STRING; - else if (linePtr[j] == '\'') defines[defineIndex].type = CHAR; - else if (IsTextEqual(linePtr+j, "CLITERAL(Color)", 15)) defines[defineIndex].type = COLOR; - else if (isdigit(linePtr[j])) // Parsing numbers + // Params + int paramStart = c; + for (c; c < MAX_LINE_LENGTH; c++) { - bool isFloat = false, isNumber = true, isHex = false; - while ((linePtr[j] != ' ') && (linePtr[j] != '\t') && (linePtr[j] != '\0')) - { - char ch = linePtr[j]; - if (ch == '.') isFloat = true; - if (ch == 'x') isHex = true; - if (!(isdigit(ch) || - ((ch >= 'a') && (ch <= 'f')) || - ((ch >= 'A') && (ch <= 'F')) || - (ch == 'x') || - (ch == 'L') || - (ch == '.') || - (ch == '+') || - (ch == '-'))) isNumber = false; - j++; - } - if (isNumber) + if ((linePtr[c] == ',') || (linePtr[c] == ')')) { - if (isFloat) - { - defines[defineIndex].type = linePtr[j-1] == 'f' ? FLOAT : DOUBLE; - } - else - { - defines[defineIndex].type = linePtr[j-1] == 'L' ? LONG : INT; - defines[defineIndex].isHex = isHex; - } + // Get parameter type + name, extract info + int paramLen = c - paramStart; + GetDataTypeAndName(&linePtr[paramStart], paramLen, callbacks[i].paramType[callbacks[i].paramCount], callbacks[i].paramName[callbacks[i].paramCount]); + callbacks[i].paramCount++; + paramStart = c + 1; + while(linePtr[paramStart] == ' ') paramStart++; } + if (linePtr[c] == ')') break; } - // Extracting value - while ((linePtr[j] != '\\') && (linePtr[j] != '\0') && !((linePtr[j] == '/') && (linePtr[j+1] == '/'))) j++; - int defineValueEnd = j-1; - while ((linePtr[defineValueEnd] == ' ') || (linePtr[defineValueEnd] == '\t')) defineValueEnd--; // Remove trailing spaces and tabs - if ((defines[defineIndex].type == LONG) || (defines[defineIndex].type == FLOAT)) defineValueEnd--; // Remove number postfix - int valueLen = defineValueEnd - defineValueStart + 1; - if (valueLen > 255) valueLen = 255; - - if (valueLen > 0) MemoryCopy(defines[defineIndex].value, &linePtr[defineValueStart], valueLen); + // Description + GetDescription(&linePtr[c], callbacks[i].desc); - // Extracting description - if ((linePtr[j] == '/') && linePtr[j + 1] == '/') + // Move array sizes from name to type + for (int j = 0; j < callbacks[i].paramCount; j++) { - j += 2; - while (linePtr[j] == ' ') j++; - int commentStart = j; - while ((linePtr[j] != '\\') && (linePtr[j] != '\0')) j++; - int commentEnd = j-1; - int commentLen = commentEnd - commentStart + 1; - if (commentLen > 127) commentLen = 127; - - MemoryCopy(defines[defineIndex].desc, &linePtr[commentStart], commentLen); + MoveArraySize(callbacks[i].paramName[j], callbacks[i].paramType[j]); } - - defineIndex++; } - defineCount = defineIndex; - free(defineLines); + free(callbackLines); // Functions info data funcs = (FunctionInfo *)calloc(MAX_FUNCS_TO_PARSE, sizeof(FunctionInfo)); @@ -881,16 +880,13 @@ int main(int argc, char* argv[]) free(lines); // At this point, all raylib data has been parsed! - //----------------------------------------------------------------------------------------- + //---------------------------------------------------------------------------------- + // defines[] -> We have all the defines decomposed into pieces for further analysis // structs[] -> We have all the structs decomposed into pieces for further analysis // aliases[] -> We have all the aliases decomposed into pieces for further analysis // enums[] -> We have all the enums decomposed into pieces for further analysis - // funcs[] -> We have all the functions decomposed into pieces for further analysis // callbacks[] -> We have all the callbacks decomposed into pieces for further analysis - // defines[] -> We have all the defines decomposed into pieces for further analysis - - // Process input file to output - if (outFileName[0] == '\0') MemoryCopy(outFileName, "raylib_api.txt\0", 15); + // funcs[] -> We have all the functions decomposed into pieces for further analysis printf("\nInput file: %s", inFileName); printf("\nOutput file: %s", outFileName); @@ -901,17 +897,18 @@ int main(int argc, char* argv[]) ExportParsedData(outFileName, outputFormat); - free(funcs); - free(callbacks); + free(defines); free(structs); free(aliases); free(enums); - free(defines); + free(callbacks); + free(funcs); } //---------------------------------------------------------------------------------- // Module Functions Definition //---------------------------------------------------------------------------------- + // Show command line usage info static void ShowCommandLineInfo(void) { @@ -937,7 +934,7 @@ static void ShowCommandLineInfo(void) printf(" NOTE: If not specified, defaults to: raylib_api.txt\n\n"); printf(" -f, --format : Define output format for parser data.\n"); printf(" Supported types: DEFAULT, JSON, XML, LUA\n\n"); - printf(" -d, --define : Define functions define (i.e. RLAPI for raylib.h, RMDEF for raymath.h, etc\n"); + printf(" -d, --define : Define functions define (i.e. RLAPI for raylib.h, RMDEF for raymath.h, etc.)\n"); printf(" NOTE: If not specified, defaults to: RLAPI\n\n"); printf("\nEXAMPLES:\n\n"); @@ -958,6 +955,7 @@ static void ProcessCommandLine(int argc, char *argv[]) { // Show info ShowCommandLineInfo(); + exit(0); } else if (IsTextEqual(argv[i], "-i", 2) || IsTextEqual(argv[i], "--input", 7)) { @@ -1131,6 +1129,24 @@ static void GetDescription(const char *line, char *description) if (descStart != -1) MemoryCopy(description, &line[descStart], c - descStart); } +// Move array size from name to type +static void MoveArraySize(char *name, char *type) +{ + int nameLength = TextLength(name); + if (name[nameLength - 1] == ']') + { + for (int k = nameLength; k > 0; k--) + { + if (name[k] == '[') + { + int sizeLength = nameLength - k; + MemoryCopy(&type[TextLength(type)], &name[k], sizeLength); + name[k] = '\0'; + } + } + } +} + // Get text length in bytes, check for \0 character static unsigned int TextLength(const char *text) { @@ -1141,15 +1157,6 @@ static unsigned int TextLength(const char *text) return length; } -// Custom memcpy() to avoid -static void MemoryCopy(void *dest, const void *src, unsigned int count) -{ - char *srcPtr = (char *)src; - char *destPtr = (char *)dest; - - for (unsigned int i = 0; i < count; i++) destPtr[i] = srcPtr[i]; -} - // Compare two text strings, requires number of characters to compare static bool IsTextEqual(const char *text1, const char *text2, unsigned int count) { @@ -1167,6 +1174,15 @@ static bool IsTextEqual(const char *text1, const char *text2, unsigned int count return result; } +// Custom memcpy() to avoid +static void MemoryCopy(void *dest, const void *src, unsigned int count) +{ + char *srcPtr = (char *)src; + char *destPtr = (char *)dest; + + for (unsigned int i = 0; i < count; i++) destPtr[i] = srcPtr[i]; +} + // Escape backslashes in a string, writing the escaped string into a static buffer static char *EscapeBackslashes(char *text) { @@ -1209,24 +1225,6 @@ static const char *StrDefineType(DefineType type) return ""; } -// Move array size from name to type -static void MoveArraySize(char *name, char *type) -{ - int nameLength = TextLength(name); - if (name[nameLength - 1] == ']') - { - for (int k = nameLength; k > 0; k--) - { - if (name[k] == '[') - { - int sizeLength = nameLength - k; - MemoryCopy(&type[TextLength(type)], &name[k], sizeLength); - name[k] = '\0'; - } - } - } -} - /* // Replace text string // REQUIRES: strlen(), strstr(), strncpy(), strcpy() -> TODO: Replace by custom implementations! @@ -1288,6 +1286,17 @@ static void ExportParsedData(const char *fileName, int format) { case DEFAULT: { + // Print defines info + fprintf(outFile, "\nDefines found: %i\n\n", defineCount); + for (int i = 0; i < defineCount; i++) + { + fprintf(outFile, "Define %03i: %s\n", i + 1, defines[i].name); + fprintf(outFile, " Name: %s\n", defines[i].name); + fprintf(outFile, " Type: %s\n", StrDefineType(defines[i].type)); + fprintf(outFile, " Value: %s\n", defines[i].value); + fprintf(outFile, " Description: %s\n", defines[i].desc); + } + // Print structs info fprintf(outFile, "\nStructures found: %i\n\n", structCount); for (int i = 0; i < structCount; i++) @@ -1323,18 +1332,6 @@ static void ExportParsedData(const char *fileName, int format) for (int e = 0; e < enums[i].valueCount; e++) fprintf(outFile, " Value[%s]: %i\n", enums[i].valueName[e], enums[i].valueInteger[e]); } - // Print functions info - fprintf(outFile, "\nFunctions found: %i\n\n", funcCount); - for (int i = 0; i < funcCount; i++) - { - fprintf(outFile, "Function %03i: %s() (%i input parameters)\n", i + 1, funcs[i].name, funcs[i].paramCount); - fprintf(outFile, " Name: %s\n", funcs[i].name); - fprintf(outFile, " Return type: %s\n", funcs[i].retType); - fprintf(outFile, " Description: %s\n", funcs[i].desc); - for (int p = 0; p < funcs[i].paramCount; p++) fprintf(outFile, " Param[%i]: %s (type: %s)\n", p + 1, funcs[i].paramName[p], funcs[i].paramType[p]); - if (funcs[i].paramCount == 0) fprintf(outFile, " No input parameters\n"); - } - // Print callbacks info fprintf(outFile, "\nCallbacks found: %i\n\n", callbackCount); for (int i = 0; i < callbackCount; i++) @@ -1347,268 +1344,147 @@ static void ExportParsedData(const char *fileName, int format) if (callbacks[i].paramCount == 0) fprintf(outFile, " No input parameters\n"); } - // Print defines info - fprintf(outFile, "\nDefines found: %i\n\n", defineCount); - for (int i = 0; i < defineCount; i++) + // Print functions info + fprintf(outFile, "\nFunctions found: %i\n\n", funcCount); + for (int i = 0; i < funcCount; i++) { - fprintf(outFile, "Define %03i: %s\n", i + 1, defines[i].name); - fprintf(outFile, " Name: %s\n", defines[i].name); - fprintf(outFile, " Type: %s\n", StrDefineType(defines[i].type)); - fprintf(outFile, " Value: %s\n", defines[i].value); - fprintf(outFile, " Description: %s\n", defines[i].desc); + fprintf(outFile, "Function %03i: %s() (%i input parameters)\n", i + 1, funcs[i].name, funcs[i].paramCount); + fprintf(outFile, " Name: %s\n", funcs[i].name); + fprintf(outFile, " Return type: %s\n", funcs[i].retType); + fprintf(outFile, " Description: %s\n", funcs[i].desc); + for (int p = 0; p < funcs[i].paramCount; p++) fprintf(outFile, " Param[%i]: %s (type: %s)\n", p + 1, funcs[i].paramName[p], funcs[i].paramType[p]); + if (funcs[i].paramCount == 0) fprintf(outFile, " No input parameters\n"); } } break; - case LUA: + case JSON: { - fprintf(outFile, "return {\n"); + fprintf(outFile, "{\n"); + + // Print defines info + fprintf(outFile, " \"defines\": [\n"); + for (int i = 0; i < defineCount; i++) + { + fprintf(outFile, " {\n"); + fprintf(outFile, " \"name\": \"%s\",\n", defines[i].name); + fprintf(outFile, " \"type\": \"%s\",\n", StrDefineType(defines[i].type)); + if (defines[i].isHex) // INT or LONG + { + fprintf(outFile, " \"value\": %ld,\n", strtol(defines[i].value, NULL, 16)); + } + else if ((defines[i].type == INT) || + (defines[i].type == LONG) || + (defines[i].type == FLOAT) || + (defines[i].type == DOUBLE) || + (defines[i].type == STRING)) + { + fprintf(outFile, " \"value\": %s,\n", defines[i].value); + } + else + { + fprintf(outFile, " \"value\": \"%s\",\n", defines[i].value); + } + fprintf(outFile, " \"description\": \"%s\"\n", defines[i].desc); + fprintf(outFile, " }"); + + if (i < defineCount - 1) fprintf(outFile, ",\n"); + else fprintf(outFile, "\n"); + } + fprintf(outFile, " ],\n"); // Print structs info - fprintf(outFile, " structs = {\n"); + fprintf(outFile, " \"structs\": [\n"); for (int i = 0; i < structCount; i++) { fprintf(outFile, " {\n"); - fprintf(outFile, " name = \"%s\",\n", structs[i].name); - fprintf(outFile, " description = \"%s\",\n", EscapeBackslashes(structs[i].desc)); - fprintf(outFile, " fields = {\n"); + fprintf(outFile, " \"name\": \"%s\",\n", structs[i].name); + fprintf(outFile, " \"description\": \"%s\",\n", EscapeBackslashes(structs[i].desc)); + fprintf(outFile, " \"fields\": [\n"); for (int f = 0; f < structs[i].fieldCount; f++) { fprintf(outFile, " {\n"); - fprintf(outFile, " type = \"%s\",\n", structs[i].fieldType[f]); - fprintf(outFile, " name = \"%s\",\n", structs[i].fieldName[f]); - fprintf(outFile, " description = \"%s\"\n", EscapeBackslashes(structs[i].fieldDesc[f])); + fprintf(outFile, " \"type\": \"%s\",\n", structs[i].fieldType[f]); + fprintf(outFile, " \"name\": \"%s\",\n", structs[i].fieldName[f]); + fprintf(outFile, " \"description\": \"%s\"\n", EscapeBackslashes(structs[i].fieldDesc[f])); fprintf(outFile, " }"); if (f < structs[i].fieldCount - 1) fprintf(outFile, ",\n"); else fprintf(outFile, "\n"); } - fprintf(outFile, " }\n"); + fprintf(outFile, " ]\n"); fprintf(outFile, " }"); if (i < structCount - 1) fprintf(outFile, ",\n"); else fprintf(outFile, "\n"); } - fprintf(outFile, " },\n"); + fprintf(outFile, " ],\n"); // Print aliases info - fprintf(outFile, " aliases = {\n"); + fprintf(outFile, " \"aliases\": [\n"); for (int i = 0; i < aliasCount; i++) { fprintf(outFile, " {\n"); - fprintf(outFile, " type = \"%s\",\n", aliases[i].type); - fprintf(outFile, " name = \"%s\",\n", aliases[i].name); - fprintf(outFile, " description = \"%s\"\n", aliases[i].desc); + fprintf(outFile, " \"type\": \"%s\",\n", aliases[i].type); + fprintf(outFile, " \"name\": \"%s\",\n", aliases[i].name); + fprintf(outFile, " \"description\": \"%s\"\n", aliases[i].desc); fprintf(outFile, " }"); if (i < aliasCount - 1) fprintf(outFile, ",\n"); else fprintf(outFile, "\n"); } - fprintf(outFile, " },\n"); + fprintf(outFile, " ],\n"); // Print enums info - fprintf(outFile, " enums = {\n"); + fprintf(outFile, " \"enums\": [\n"); for (int i = 0; i < enumCount; i++) { fprintf(outFile, " {\n"); - fprintf(outFile, " name = \"%s\",\n", enums[i].name); - fprintf(outFile, " description = \"%s\",\n", EscapeBackslashes(enums[i].desc)); - fprintf(outFile, " values = {\n"); + fprintf(outFile, " \"name\": \"%s\",\n", enums[i].name); + fprintf(outFile, " \"description\": \"%s\",\n", EscapeBackslashes(enums[i].desc)); + fprintf(outFile, " \"values\": [\n"); for (int e = 0; e < enums[i].valueCount; e++) { fprintf(outFile, " {\n"); - fprintf(outFile, " name = \"%s\",\n", enums[i].valueName[e]); - fprintf(outFile, " value = %i,\n", enums[i].valueInteger[e]); - fprintf(outFile, " description = \"%s\"\n", EscapeBackslashes(enums[i].valueDesc[e])); + fprintf(outFile, " \"name\": \"%s\",\n", enums[i].valueName[e]); + fprintf(outFile, " \"value\": %i,\n", enums[i].valueInteger[e]); + fprintf(outFile, " \"description\": \"%s\"\n", EscapeBackslashes(enums[i].valueDesc[e])); fprintf(outFile, " }"); if (e < enums[i].valueCount - 1) fprintf(outFile, ",\n"); else fprintf(outFile, "\n"); } - fprintf(outFile, " }\n"); + fprintf(outFile, " ]\n"); fprintf(outFile, " }"); if (i < enumCount - 1) fprintf(outFile, ",\n"); else fprintf(outFile, "\n"); } - fprintf(outFile, " },\n"); - - // Print defines info - fprintf(outFile, " defines = {\n"); - for (int i = 0; i < defineCount; i++) - { - fprintf(outFile, " {\n"); - fprintf(outFile, " name = \"%s\",\n", defines[i].name); - fprintf(outFile, " type = \"%s\",\n", StrDefineType(defines[i].type)); - if ((defines[i].type == INT) || - (defines[i].type == LONG) || - (defines[i].type == FLOAT) || - (defines[i].type == DOUBLE) || - (defines[i].type == STRING)) - { - fprintf(outFile, " value = %s,\n", defines[i].value); - } - else - { - fprintf(outFile, " value = \"%s\",\n", defines[i].value); - } - fprintf(outFile, " description = \"%s\"\n", defines[i].desc); - fprintf(outFile, " }"); - - if (i < defineCount - 1) fprintf(outFile, ",\n"); - else fprintf(outFile, "\n"); - } - fprintf(outFile, " },\n"); - - // Print functions info - fprintf(outFile, " functions = {\n"); - for (int i = 0; i < funcCount; i++) - { - fprintf(outFile, " {\n"); - fprintf(outFile, " name = \"%s\",\n", funcs[i].name); - fprintf(outFile, " description = \"%s\",\n", EscapeBackslashes(funcs[i].desc)); - fprintf(outFile, " returnType = \"%s\"", funcs[i].retType); - - if (funcs[i].paramCount == 0) fprintf(outFile, "\n"); - else - { - fprintf(outFile, ",\n params = {\n"); - for (int p = 0; p < funcs[i].paramCount; p++) - { - fprintf(outFile, " {type = \"%s\", name = \"%s\"}", funcs[i].paramType[p], funcs[i].paramName[p]); - if (p < funcs[i].paramCount - 1) fprintf(outFile, ",\n"); - else fprintf(outFile, "\n"); - } - fprintf(outFile, " }\n"); - } - fprintf(outFile, " }"); - - if (i < funcCount - 1) fprintf(outFile, ",\n"); - else fprintf(outFile, "\n"); - } - fprintf(outFile, " },\n"); + fprintf(outFile, " ],\n"); // Print callbacks info - fprintf(outFile, " callbacks = {\n"); + fprintf(outFile, " \"callbacks\": [\n"); for (int i = 0; i < callbackCount; i++) { fprintf(outFile, " {\n"); - fprintf(outFile, " name = \"%s\",\n", callbacks[i].name); - fprintf(outFile, " description = \"%s\",\n", EscapeBackslashes(callbacks[i].desc)); - fprintf(outFile, " returnType = \"%s\"", callbacks[i].retType); + fprintf(outFile, " \"name\": \"%s\",\n", callbacks[i].name); + fprintf(outFile, " \"description\": \"%s\",\n", EscapeBackslashes(callbacks[i].desc)); + fprintf(outFile, " \"returnType\": \"%s\"", callbacks[i].retType); if (callbacks[i].paramCount == 0) fprintf(outFile, "\n"); else { - fprintf(outFile, ",\n params = {\n"); + fprintf(outFile, ",\n \"params\": [\n"); for (int p = 0; p < callbacks[i].paramCount; p++) { - fprintf(outFile, " {type = \"%s\", name = \"%s\"}", callbacks[i].paramType[p], callbacks[i].paramName[p]); + fprintf(outFile, " {\n"); + fprintf(outFile, " \"type\": \"%s\",\n", callbacks[i].paramType[p]); + fprintf(outFile, " \"name\": \"%s\"\n", callbacks[i].paramName[p]); + fprintf(outFile, " }"); if (p < callbacks[i].paramCount - 1) fprintf(outFile, ",\n"); else fprintf(outFile, "\n"); } - fprintf(outFile, " }\n"); + fprintf(outFile, " ]\n"); } fprintf(outFile, " }"); if (i < callbackCount - 1) fprintf(outFile, ",\n"); else fprintf(outFile, "\n"); } - fprintf(outFile, " }\n"); - fprintf(outFile, "}\n"); - } break; - case JSON: - { - fprintf(outFile, "{\n"); - - // Print structs info - fprintf(outFile, " \"structs\": [\n"); - for (int i = 0; i < structCount; i++) - { - fprintf(outFile, " {\n"); - fprintf(outFile, " \"name\": \"%s\",\n", structs[i].name); - fprintf(outFile, " \"description\": \"%s\",\n", EscapeBackslashes(structs[i].desc)); - fprintf(outFile, " \"fields\": [\n"); - for (int f = 0; f < structs[i].fieldCount; f++) - { - fprintf(outFile, " {\n"); - fprintf(outFile, " \"type\": \"%s\",\n", structs[i].fieldType[f]); - fprintf(outFile, " \"name\": \"%s\",\n", structs[i].fieldName[f]); - fprintf(outFile, " \"description\": \"%s\"\n", EscapeBackslashes(structs[i].fieldDesc[f])); - fprintf(outFile, " }"); - if (f < structs[i].fieldCount - 1) fprintf(outFile, ",\n"); - else fprintf(outFile, "\n"); - } - fprintf(outFile, " ]\n"); - fprintf(outFile, " }"); - if (i < structCount - 1) fprintf(outFile, ",\n"); - else fprintf(outFile, "\n"); - } - fprintf(outFile, " ],\n"); - - // Print aliases info - fprintf(outFile, " \"aliases\": [\n"); - for (int i = 0; i < aliasCount; i++) - { - fprintf(outFile, " {\n"); - fprintf(outFile, " \"type\": \"%s\",\n", aliases[i].type); - fprintf(outFile, " \"name\": \"%s\",\n", aliases[i].name); - fprintf(outFile, " \"description\": \"%s\"\n", aliases[i].desc); - fprintf(outFile, " }"); - - if (i < aliasCount - 1) fprintf(outFile, ",\n"); - else fprintf(outFile, "\n"); - } - fprintf(outFile, " ],\n"); - - // Print enums info - fprintf(outFile, " \"enums\": [\n"); - for (int i = 0; i < enumCount; i++) - { - fprintf(outFile, " {\n"); - fprintf(outFile, " \"name\": \"%s\",\n", enums[i].name); - fprintf(outFile, " \"description\": \"%s\",\n", EscapeBackslashes(enums[i].desc)); - fprintf(outFile, " \"values\": [\n"); - for (int e = 0; e < enums[i].valueCount; e++) - { - fprintf(outFile, " {\n"); - fprintf(outFile, " \"name\": \"%s\",\n", enums[i].valueName[e]); - fprintf(outFile, " \"value\": %i,\n", enums[i].valueInteger[e]); - fprintf(outFile, " \"description\": \"%s\"\n", EscapeBackslashes(enums[i].valueDesc[e])); - fprintf(outFile, " }"); - if (e < enums[i].valueCount - 1) fprintf(outFile, ",\n"); - else fprintf(outFile, "\n"); - } - fprintf(outFile, " ]\n"); - fprintf(outFile, " }"); - if (i < enumCount - 1) fprintf(outFile, ",\n"); - else fprintf(outFile, "\n"); - } - fprintf(outFile, " ],\n"); - - // Print defines info - fprintf(outFile, " \"defines\": [\n"); - for (int i = 0; i < defineCount; i++) - { - fprintf(outFile, " {\n"); - fprintf(outFile, " \"name\": \"%s\",\n", defines[i].name); - fprintf(outFile, " \"type\": \"%s\",\n", StrDefineType(defines[i].type)); - if (defines[i].isHex) // INT or LONG - { - fprintf(outFile, " \"value\": %ld,\n", strtol(defines[i].value, NULL, 16)); - } - else if ((defines[i].type == INT) || - (defines[i].type == LONG) || - (defines[i].type == FLOAT) || - (defines[i].type == DOUBLE) || - (defines[i].type == STRING)) - { - fprintf(outFile, " \"value\": %s,\n", defines[i].value); - } - else - { - fprintf(outFile, " \"value\": \"%s\",\n", defines[i].value); - } - fprintf(outFile, " \"description\": \"%s\"\n", defines[i].desc); - fprintf(outFile, " }"); - - if (i < defineCount - 1) fprintf(outFile, ",\n"); - else fprintf(outFile, "\n"); - } fprintf(outFile, " ],\n"); // Print functions info @@ -1640,37 +1516,6 @@ static void ExportParsedData(const char *fileName, int format) if (i < funcCount - 1) fprintf(outFile, ",\n"); else fprintf(outFile, "\n"); } - fprintf(outFile, " ],\n"); - - // Print callbacks info - fprintf(outFile, " \"callbacks\": [\n"); - for (int i = 0; i < callbackCount; i++) - { - fprintf(outFile, " {\n"); - fprintf(outFile, " \"name\": \"%s\",\n", callbacks[i].name); - fprintf(outFile, " \"description\": \"%s\",\n", EscapeBackslashes(callbacks[i].desc)); - fprintf(outFile, " \"returnType\": \"%s\"", callbacks[i].retType); - - if (callbacks[i].paramCount == 0) fprintf(outFile, "\n"); - else - { - fprintf(outFile, ",\n \"params\": [\n"); - for (int p = 0; p < callbacks[i].paramCount; p++) - { - fprintf(outFile, " {\n"); - fprintf(outFile, " \"type\": \"%s\",\n", callbacks[i].paramType[p]); - fprintf(outFile, " \"name\": \"%s\"\n", callbacks[i].paramName[p]); - fprintf(outFile, " }"); - if (p < callbacks[i].paramCount - 1) fprintf(outFile, ",\n"); - else fprintf(outFile, "\n"); - } - fprintf(outFile, " ]\n"); - } - fprintf(outFile, " }"); - - if (i < callbackCount - 1) fprintf(outFile, ",\n"); - else fprintf(outFile, "\n"); - } fprintf(outFile, " ]\n"); fprintf(outFile, "}\n"); } break; @@ -1680,6 +1525,9 @@ static void ExportParsedData(const char *fileName, int format) /* + + + @@ -1695,27 +1543,41 @@ static void ExportParsedData(const char *fileName, int format) - - - - - - - - - + + + + + + */ fprintf(outFile, "\n"); fprintf(outFile, "\n"); + // Print defines info + fprintf(outFile, " \n", defineCount); + for (int i = 0; i < defineCount; i++) + { + fprintf(outFile, " \n", defines[i].desc); + } + fprintf(outFile, " \n"); + // Print structs info fprintf(outFile, " \n", structCount); for (int i = 0; i < structCount; i++) @@ -1750,22 +1612,18 @@ static void ExportParsedData(const char *fileName, int format) } fprintf(outFile, " \n"); - // Print defines info - fprintf(outFile, " \n", defineCount); - for (int i = 0; i < defineCount; i++) + // Print callbacks info + fprintf(outFile, " \n", callbackCount); + for (int i = 0; i < callbackCount; i++) { - fprintf(outFile, " \n", callbacks[i].name, callbacks[i].retType, callbacks[i].paramCount, callbacks[i].desc); + for (int p = 0; p < callbacks[i].paramCount; p++) { - fprintf(outFile, "value=\"%s\"", defines[i].value); + fprintf(outFile, " \n", callbacks[i].paramType[p], callbacks[i].paramName[p], callbacks[i].paramDesc[p]); } - fprintf(outFile, " desc=\"%s\" />\n", defines[i].desc); + fprintf(outFile, " \n"); } - fprintf(outFile, " \n"); + fprintf(outFile, " \n"); // Print functions info fprintf(outFile, " \n", funcCount); @@ -1780,21 +1638,161 @@ static void ExportParsedData(const char *fileName, int format) } fprintf(outFile, " \n"); + fprintf(outFile, "\n"); + + } break; + case LUA: + { + fprintf(outFile, "return {\n"); + + // Print defines info + fprintf(outFile, " defines = {\n"); + for (int i = 0; i < defineCount; i++) + { + fprintf(outFile, " {\n"); + fprintf(outFile, " name = \"%s\",\n", defines[i].name); + fprintf(outFile, " type = \"%s\",\n", StrDefineType(defines[i].type)); + if ((defines[i].type == INT) || + (defines[i].type == LONG) || + (defines[i].type == FLOAT) || + (defines[i].type == DOUBLE) || + (defines[i].type == STRING)) + { + fprintf(outFile, " value = %s,\n", defines[i].value); + } + else + { + fprintf(outFile, " value = \"%s\",\n", defines[i].value); + } + fprintf(outFile, " description = \"%s\"\n", defines[i].desc); + fprintf(outFile, " }"); + + if (i < defineCount - 1) fprintf(outFile, ",\n"); + else fprintf(outFile, "\n"); + } + fprintf(outFile, " },\n"); + + // Print structs info + fprintf(outFile, " structs = {\n"); + for (int i = 0; i < structCount; i++) + { + fprintf(outFile, " {\n"); + fprintf(outFile, " name = \"%s\",\n", structs[i].name); + fprintf(outFile, " description = \"%s\",\n", EscapeBackslashes(structs[i].desc)); + fprintf(outFile, " fields = {\n"); + for (int f = 0; f < structs[i].fieldCount; f++) + { + fprintf(outFile, " {\n"); + fprintf(outFile, " type = \"%s\",\n", structs[i].fieldType[f]); + fprintf(outFile, " name = \"%s\",\n", structs[i].fieldName[f]); + fprintf(outFile, " description = \"%s\"\n", EscapeBackslashes(structs[i].fieldDesc[f])); + fprintf(outFile, " }"); + if (f < structs[i].fieldCount - 1) fprintf(outFile, ",\n"); + else fprintf(outFile, "\n"); + } + fprintf(outFile, " }\n"); + fprintf(outFile, " }"); + if (i < structCount - 1) fprintf(outFile, ",\n"); + else fprintf(outFile, "\n"); + } + fprintf(outFile, " },\n"); + + // Print aliases info + fprintf(outFile, " aliases = {\n"); + for (int i = 0; i < aliasCount; i++) + { + fprintf(outFile, " {\n"); + fprintf(outFile, " type = \"%s\",\n", aliases[i].type); + fprintf(outFile, " name = \"%s\",\n", aliases[i].name); + fprintf(outFile, " description = \"%s\"\n", aliases[i].desc); + fprintf(outFile, " }"); + + if (i < aliasCount - 1) fprintf(outFile, ",\n"); + else fprintf(outFile, "\n"); + } + fprintf(outFile, " },\n"); + + // Print enums info + fprintf(outFile, " enums = {\n"); + for (int i = 0; i < enumCount; i++) + { + fprintf(outFile, " {\n"); + fprintf(outFile, " name = \"%s\",\n", enums[i].name); + fprintf(outFile, " description = \"%s\",\n", EscapeBackslashes(enums[i].desc)); + fprintf(outFile, " values = {\n"); + for (int e = 0; e < enums[i].valueCount; e++) + { + fprintf(outFile, " {\n"); + fprintf(outFile, " name = \"%s\",\n", enums[i].valueName[e]); + fprintf(outFile, " value = %i,\n", enums[i].valueInteger[e]); + fprintf(outFile, " description = \"%s\"\n", EscapeBackslashes(enums[i].valueDesc[e])); + fprintf(outFile, " }"); + if (e < enums[i].valueCount - 1) fprintf(outFile, ",\n"); + else fprintf(outFile, "\n"); + } + fprintf(outFile, " }\n"); + fprintf(outFile, " }"); + if (i < enumCount - 1) fprintf(outFile, ",\n"); + else fprintf(outFile, "\n"); + } + fprintf(outFile, " },\n"); + // Print callbacks info - fprintf(outFile, " \n", callbackCount); + fprintf(outFile, " callbacks = {\n"); for (int i = 0; i < callbackCount; i++) { - fprintf(outFile, " \n", callbacks[i].name, callbacks[i].retType, callbacks[i].paramCount, callbacks[i].desc); - for (int p = 0; p < callbacks[i].paramCount; p++) + fprintf(outFile, " {\n"); + fprintf(outFile, " name = \"%s\",\n", callbacks[i].name); + fprintf(outFile, " description = \"%s\",\n", EscapeBackslashes(callbacks[i].desc)); + fprintf(outFile, " returnType = \"%s\"", callbacks[i].retType); + + if (callbacks[i].paramCount == 0) fprintf(outFile, "\n"); + else { - fprintf(outFile, " \n", callbacks[i].paramType[p], callbacks[i].paramName[p], callbacks[i].paramDesc[p]); + fprintf(outFile, ",\n params = {\n"); + for (int p = 0; p < callbacks[i].paramCount; p++) + { + fprintf(outFile, " {type = \"%s\", name = \"%s\"}", callbacks[i].paramType[p], callbacks[i].paramName[p]); + if (p < callbacks[i].paramCount - 1) fprintf(outFile, ",\n"); + else fprintf(outFile, "\n"); + } + fprintf(outFile, " }\n"); } - fprintf(outFile, " \n"); + fprintf(outFile, " }"); + + if (i < callbackCount - 1) fprintf(outFile, ",\n"); + else fprintf(outFile, "\n"); } - fprintf(outFile, " \n"); + fprintf(outFile, " },\n"); - fprintf(outFile, "\n"); + // Print functions info + fprintf(outFile, " functions = {\n"); + for (int i = 0; i < funcCount; i++) + { + fprintf(outFile, " {\n"); + fprintf(outFile, " name = \"%s\",\n", funcs[i].name); + fprintf(outFile, " description = \"%s\",\n", EscapeBackslashes(funcs[i].desc)); + fprintf(outFile, " returnType = \"%s\"", funcs[i].retType); + if (funcs[i].paramCount == 0) fprintf(outFile, "\n"); + else + { + fprintf(outFile, ",\n params = {\n"); + for (int p = 0; p < funcs[i].paramCount; p++) + { + fprintf(outFile, " {type = \"%s\", name = \"%s\"}", funcs[i].paramType[p], funcs[i].paramName[p]); + if (p < funcs[i].paramCount - 1) fprintf(outFile, ",\n"); + else fprintf(outFile, "\n"); + } + fprintf(outFile, " }\n"); + } + fprintf(outFile, " }"); + + if (i < funcCount - 1) fprintf(outFile, ",\n"); + else fprintf(outFile, "\n"); + } + fprintf(outFile, " }\n"); + fprintf(outFile, "}\n"); } break; default: break; }