From 98f170c1d23bd754ff080cafe9d91921925c0a5a Mon Sep 17 00:00:00 2001 From: Jeffery Myers Date: Fri, 11 Sep 2026 09:25:59 -0700 Subject: [PATCH] [Bindings] Add recomendations for binding authors (#6141) * rlparser: update raylib_api.* by CI * Add some guidelines for binding authors * Delete tools/rlparser/output/raylib_api.json * Create raylib_api.json --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Ray --- BINDINGS.md | 16 + tools/rlparser/output/raylib_api.json | 1045 ------------------------ tools/rlparser/output/raylib_api.lua | 1045 ------------------------ tools/rlparser/output/raylib_api.sexpr | 641 +-------------- tools/rlparser/output/raylib_api.txt | 274 +------ tools/rlparser/output/raylib_api.xml | 239 +----- 6 files changed, 19 insertions(+), 3241 deletions(-) diff --git a/BINDINGS.md b/BINDINGS.md index 782cc474f..6bbaccf10 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -2,6 +2,22 @@ Some people ported raylib to other languages in the form of bindings or wrappers to the library. Here is a list with all the ports available. Feel free to send a PR if you know of any binding/wrapper not in this list or if it had been updated/archived. +# Recommendations for binding authors. +This is a set of recomendations and guidelines for binding authors, meant to help your binding be as useful as possible to your users. + +* Binding should be reasonably up to date with the last release, out of date bindings may be removed from bindings.md +* Binding should expose all of raylib's API. This is to ensure compatibility with all raylib features, and allow your users to do everything in the target language they can do in C raylib. + * raylib.h + * raymath.h + * rcamera.h + * rlgl.h + * rgestures.h +* Bindings should expose the base API in order to match the C examples when possible. +* Bindings that expose additional 'high level' functions to make the binding more native to the host language, should also include the base C style API in addition to those other functions. This is requested in order to make it easier for people to understand the raylib API independent of the language being used. +* Bindings should have clear usage and setup instructions. Examples in the host language are highly recommended. You want your users to be able to get started right away. +* If a binding exists for a language, before making a new one, binding authors should try to work together on maintaining a single binding for a language, this is requested in order to prevent fragmentation and confusion for users. +* Instructions on how to build for web are highly recomeneed if the langauge supports it. This allows your bindings to be used for game jams :) + ### Language Bindings | Name | raylib Version | Language | License | diff --git a/tools/rlparser/output/raylib_api.json b/tools/rlparser/output/raylib_api.json index f6c6d7a84..cbf0c4e1a 100644 --- a/tools/rlparser/output/raylib_api.json +++ b/tools/rlparser/output/raylib_api.json @@ -338,1051 +338,6 @@ } ], "structs": [ - { - "name": "Vector2", - "description": "Vector2, 2 components", - "fields": [ - { - "type": "float", - "name": "x", - "description": "Vector x component" - }, - { - "type": "float", - "name": "y", - "description": "Vector y component" - } - ] - }, - { - "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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 aperture in Y (degrees) in perspective, used as near plane height in world units in orthographic" - }, - { - "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 (screen space offset from window origin)" - }, - { - "type": "Vector2", - "name": "target", - "description": "Camera target (world space target point that is mapped to screen space offset)" - }, - { - "type": "float", - "name": "rotation", - "description": "Camera rotation in degrees (pivots around target)" - }, - { - "type": "float", - "name": "zoom", - "description": "Camera zoom (scaling around target), must not be set to 0, set to 1.0f for no scale" - } - ] - }, - { - "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": "int", - "name": "boneCount", - "description": "Number of bones (MAX: 256 bones)" - }, - { - "type": "unsigned char *", - "name": "boneIndices", - "description": "Vertex bone indices, up to 4 bones influence by vertex (skinning) (shader-location = 6)" - }, - { - "type": "float *", - "name": "boneWeights", - "description": "Vertex bone weight, up to 4 bones influence by vertex (skinning) (shader-location = 7)" - }, - { - "type": "float *", - "name": "animVertices", - "description": "Animated vertex positions (after bones transformations)" - }, - { - "type": "float *", - "name": "animNormals", - "description": "Animated normals (after bones transformations)" - }, - { - "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": "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": "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": "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": "Transform", - "description": "Transform, vertex transformation data", - "fields": [ - { - "type": "Vector3", - "name": "translation", - "description": "Translation" - }, - { - "type": "Quaternion", - "name": "rotation", - "description": "Rotation" - }, - { - "type": "Vector3", - "name": "scale", - "description": "Scale" - } - ] - }, - { - "name": "BoneInfo", - "description": "Bone, skeletal animation bone", - "fields": [ - { - "type": "char[32]", - "name": "name", - "description": "Bone name" - }, - { - "type": "int", - "name": "parent", - "description": "Bone parent" - } - ] - }, - { - "name": "ModelSkeleton", - "description": "Skeleton, animation bones hierarchy", - "fields": [ - { - "type": "unsigned int", - "name": "boneCount", - "description": "Number of bones" - }, - { - "type": "BoneInfo *", - "name": "bones", - "description": "Bones information (skeleton)" - }, - { - "type": "ModelAnimPose", - "name": "bindPose", - "description": "Bones base transformation (Transform[])" - } - ] - }, - { - "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": "ModelSkeleton", - "name": "skeleton", - "description": "Skeleton for animation" - }, - { - "type": "ModelAnimPose", - "name": "currentPose", - "description": "Current animation pose (Transform[])" - }, - { - "type": "Matrix *", - "name": "boneMatrices", - "description": "Bones animated transformation matrices" - } - ] - }, - { - "name": "ModelAnimation", - "description": "ModelAnimation, contains a full animation sequence", - "fields": [ - { - "type": "char[32]", - "name": "name", - "description": "Animation name" - }, - { - "type": "unsigned int", - "name": "boneCount", - "description": "Number of bones (per pose)" - }, - { - "type": "int", - "name": "keyframeCount", - "description": "Number of animation key frames" - }, - { - "type": "ModelAnimPose *", - "name": "keyframePoses", - "description": "Animation sequence keyframe poses [keyframe][pose]" - } - ] - }, - { - "name": "Ray", - "description": "Ray, ray for raycasting", - "fields": [ - { - "type": "Vector3", - "name": "position", - "description": "Ray position (origin)" - }, - { - "type": "Vector3", - "name": "direction", - "description": "Ray direction (normalized)" - } - ] - }, - { - "name": "RayCollision", - "description": "RayCollision, ray hit information", - "fields": [ - { - "type": "bool", - "name": "hit", - "description": "Did the ray hit something?" - }, - { - "type": "float", - "name": "distance", - "description": "Distance to the nearest hit" - }, - { - "type": "Vector3", - "name": "point", - "description": "Point of the nearest hit" - }, - { - "type": "Vector3", - "name": "normal", - "description": "Surface normal of hit" - } - ] - }, - { - "name": "BoundingBox", - "description": "BoundingBox", - "fields": [ - { - "type": "Vector3", - "name": "min", - "description": "Minimum vertex box-corner" - }, - { - "type": "Vector3", - "name": "max", - "description": "Maximum vertex box-corner" - } - ] - }, - { - "name": "Wave", - "description": "Wave, audio wave data", - "fields": [ - { - "type": "unsigned int", - "name": "frameCount", - "description": "Total number of frames (considering channels)" - }, - { - "type": "unsigned int", - "name": "sampleRate", - "description": "Frequency (samples per second)" - }, - { - "type": "unsigned int", - "name": "sampleSize", - "description": "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" - }, - { - "type": "unsigned int", - "name": "channels", - "description": "Number of channels (1-mono, 2-stereo, ...)" - }, - { - "type": "void *", - "name": "data", - "description": "Buffer data pointer" - } - ] - }, - { - "name": "AudioStream", - "description": "AudioStream, custom audio stream", - "fields": [ - { - "type": "rAudioBuffer *", - "name": "buffer", - "description": "Pointer to internal data used by the audio system" - }, - { - "type": "rAudioProcessor *", - "name": "processor", - "description": "Pointer to internal data processor, useful for audio effects" - }, - { - "type": "unsigned int", - "name": "sampleRate", - "description": "Frequency (samples per second)" - }, - { - "type": "unsigned int", - "name": "sampleSize", - "description": "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" - }, - { - "type": "unsigned int", - "name": "channels", - "description": "Number of channels (1-mono, 2-stereo, ...)" - } - ] - }, - { - "name": "Sound", - "description": "Sound", - "fields": [ - { - "type": "AudioStream", - "name": "stream", - "description": "Audio stream" - }, - { - "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": "AudioStream", - "name": "stream", - "description": "Audio stream" - }, - { - "type": "unsigned int", - "name": "frameCount", - "description": "Total number of frames (considering channels)" - }, - { - "type": "bool", - "name": "looping", - "description": "Music looping enable" - }, - { - "type": "int", - "name": "ctxType", - "description": "Type of music context (audio filetype)" - }, - { - "type": "void *", - "name": "ctxData", - "description": "Audio context data, depends on type" - } - ] - }, - { - "name": "VrDeviceInfo", - "description": "VrDeviceInfo, Head-Mounted-Display device parameters", - "fields": [ - { - "type": "int", - "name": "hResolution", - "description": "Horizontal resolution in pixels" - }, - { - "type": "int", - "name": "vResolution", - "description": "Vertical resolution in pixels" - }, - { - "type": "float", - "name": "hScreenSize", - "description": "Horizontal size in meters" - }, - { - "type": "float", - "name": "vScreenSize", - "description": "Vertical size in meters" - }, - { - "type": "float", - "name": "eyeToScreenDistance", - "description": "Distance between eye and display in meters" - }, - { - "type": "float", - "name": "lensSeparationDistance", - "description": "Lens separation distance in meters" - }, - { - "type": "float", - "name": "interpupillaryDistance", - "description": "IPD (distance between pupils) in meters" - }, - { - "type": "float[4]", - "name": "lensDistortionValues", - "description": "Lens distortion constant parameters" - }, - { - "type": "float[4]", - "name": "chromaAbCorrection", - "description": "Chromatic aberration correction parameters" - } - ] - }, - { - "name": "VrStereoConfig", - "description": "VrStereoConfig, VR stereo rendering configuration for simulator", - "fields": [ - { - "type": "Matrix[2]", - "name": "projection", - "description": "VR projection matrices (per eye)" - }, - { - "type": "Matrix[2]", - "name": "viewOffset", - "description": "VR view offset matrices (per eye)" - }, - { - "type": "float[2]", - "name": "leftLensCenter", - "description": "VR left lens center" - }, - { - "type": "float[2]", - "name": "rightLensCenter", - "description": "VR right lens center" - }, - { - "type": "float[2]", - "name": "leftScreenCenter", - "description": "VR left screen center" - }, - { - "type": "float[2]", - "name": "rightScreenCenter", - "description": "VR right screen center" - }, - { - "type": "float[2]", - "name": "scale", - "description": "VR distortion scale" - }, - { - "type": "float[2]", - "name": "scaleIn", - "description": "VR distortion scale in" - } - ] - }, - { - "name": "FilePathList", - "description": "File path list", - "fields": [ - { - "type": "unsigned int", - "name": "count", - "description": "Filepaths entries count" - }, - { - "type": "char **", - "name": "paths", - "description": "Filepaths entries" - } - ] - }, - { - "name": "AutomationEvent", - "description": "Automation event", - "fields": [ - { - "type": "unsigned int", - "name": "frame", - "description": "Event frame" - }, - { - "type": "unsigned int", - "name": "type", - "description": "Event type (AutomationEventType)" - }, - { - "type": "int[4]", - "name": "params", - "description": "Event parameters (if required)" - } - ] - }, - { - "name": "AutomationEventList", - "description": "Automation event list", - "fields": [ - { - "type": "unsigned int", - "name": "capacity", - "description": "Events max entries (MAX_AUTOMATION_EVENTS)" - }, - { - "type": "unsigned int", - "name": "count", - "description": "Events entries count" - }, - { - "type": "AutomationEvent *", - "name": "events", - "description": "Events entries" - } - ] - } ], "aliases": [ { diff --git a/tools/rlparser/output/raylib_api.lua b/tools/rlparser/output/raylib_api.lua index ec659f828..0b8aaba41 100644 --- a/tools/rlparser/output/raylib_api.lua +++ b/tools/rlparser/output/raylib_api.lua @@ -338,1051 +338,6 @@ return { } }, structs = { - { - name = "Vector2", - description = "Vector2, 2 components", - fields = { - { - type = "float", - name = "x", - description = "Vector x component" - }, - { - type = "float", - name = "y", - description = "Vector y component" - } - } - }, - { - 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 = "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 = "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 = "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 = "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 = "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 = "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 = "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 = "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 = "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 = "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 = "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 aperture in Y (degrees) in perspective, used as near plane height in world units in orthographic" - }, - { - 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 (screen space offset from window origin)" - }, - { - type = "Vector2", - name = "target", - description = "Camera target (world space target point that is mapped to screen space offset)" - }, - { - type = "float", - name = "rotation", - description = "Camera rotation in degrees (pivots around target)" - }, - { - type = "float", - name = "zoom", - description = "Camera zoom (scaling around target), must not be set to 0, set to 1.0f for no scale" - } - } - }, - { - 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 = "int", - name = "boneCount", - description = "Number of bones (MAX: 256 bones)" - }, - { - type = "unsigned char *", - name = "boneIndices", - description = "Vertex bone indices, up to 4 bones influence by vertex (skinning) (shader-location = 6)" - }, - { - type = "float *", - name = "boneWeights", - description = "Vertex bone weight, up to 4 bones influence by vertex (skinning) (shader-location = 7)" - }, - { - type = "float *", - name = "animVertices", - description = "Animated vertex positions (after bones transformations)" - }, - { - type = "float *", - name = "animNormals", - description = "Animated normals (after bones transformations)" - }, - { - 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 = "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 = "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 = "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 = "Transform", - description = "Transform, vertex transformation data", - fields = { - { - type = "Vector3", - name = "translation", - description = "Translation" - }, - { - type = "Quaternion", - name = "rotation", - description = "Rotation" - }, - { - type = "Vector3", - name = "scale", - description = "Scale" - } - } - }, - { - name = "BoneInfo", - description = "Bone, skeletal animation bone", - fields = { - { - type = "char[32]", - name = "name", - description = "Bone name" - }, - { - type = "int", - name = "parent", - description = "Bone parent" - } - } - }, - { - name = "ModelSkeleton", - description = "Skeleton, animation bones hierarchy", - fields = { - { - type = "unsigned int", - name = "boneCount", - description = "Number of bones" - }, - { - type = "BoneInfo *", - name = "bones", - description = "Bones information (skeleton)" - }, - { - type = "ModelAnimPose", - name = "bindPose", - description = "Bones base transformation (Transform[])" - } - } - }, - { - 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 = "ModelSkeleton", - name = "skeleton", - description = "Skeleton for animation" - }, - { - type = "ModelAnimPose", - name = "currentPose", - description = "Current animation pose (Transform[])" - }, - { - type = "Matrix *", - name = "boneMatrices", - description = "Bones animated transformation matrices" - } - } - }, - { - name = "ModelAnimation", - description = "ModelAnimation, contains a full animation sequence", - fields = { - { - type = "char[32]", - name = "name", - description = "Animation name" - }, - { - type = "unsigned int", - name = "boneCount", - description = "Number of bones (per pose)" - }, - { - type = "int", - name = "keyframeCount", - description = "Number of animation key frames" - }, - { - type = "ModelAnimPose *", - name = "keyframePoses", - description = "Animation sequence keyframe poses [keyframe][pose]" - } - } - }, - { - name = "Ray", - description = "Ray, ray for raycasting", - fields = { - { - type = "Vector3", - name = "position", - description = "Ray position (origin)" - }, - { - type = "Vector3", - name = "direction", - description = "Ray direction (normalized)" - } - } - }, - { - name = "RayCollision", - description = "RayCollision, ray hit information", - fields = { - { - type = "bool", - name = "hit", - description = "Did the ray hit something?" - }, - { - type = "float", - name = "distance", - description = "Distance to the nearest hit" - }, - { - type = "Vector3", - name = "point", - description = "Point of the nearest hit" - }, - { - type = "Vector3", - name = "normal", - description = "Surface normal of hit" - } - } - }, - { - name = "BoundingBox", - description = "BoundingBox", - fields = { - { - type = "Vector3", - name = "min", - description = "Minimum vertex box-corner" - }, - { - type = "Vector3", - name = "max", - description = "Maximum vertex box-corner" - } - } - }, - { - name = "Wave", - description = "Wave, audio wave data", - fields = { - { - type = "unsigned int", - name = "frameCount", - description = "Total number of frames (considering channels)" - }, - { - type = "unsigned int", - name = "sampleRate", - description = "Frequency (samples per second)" - }, - { - type = "unsigned int", - name = "sampleSize", - description = "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" - }, - { - type = "unsigned int", - name = "channels", - description = "Number of channels (1-mono, 2-stereo, ...)" - }, - { - type = "void *", - name = "data", - description = "Buffer data pointer" - } - } - }, - { - name = "AudioStream", - description = "AudioStream, custom audio stream", - fields = { - { - type = "rAudioBuffer *", - name = "buffer", - description = "Pointer to internal data used by the audio system" - }, - { - type = "rAudioProcessor *", - name = "processor", - description = "Pointer to internal data processor, useful for audio effects" - }, - { - type = "unsigned int", - name = "sampleRate", - description = "Frequency (samples per second)" - }, - { - type = "unsigned int", - name = "sampleSize", - description = "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" - }, - { - type = "unsigned int", - name = "channels", - description = "Number of channels (1-mono, 2-stereo, ...)" - } - } - }, - { - name = "Sound", - description = "Sound", - fields = { - { - type = "AudioStream", - name = "stream", - description = "Audio stream" - }, - { - 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 = "AudioStream", - name = "stream", - description = "Audio stream" - }, - { - type = "unsigned int", - name = "frameCount", - description = "Total number of frames (considering channels)" - }, - { - type = "bool", - name = "looping", - description = "Music looping enable" - }, - { - type = "int", - name = "ctxType", - description = "Type of music context (audio filetype)" - }, - { - type = "void *", - name = "ctxData", - description = "Audio context data, depends on type" - } - } - }, - { - name = "VrDeviceInfo", - description = "VrDeviceInfo, Head-Mounted-Display device parameters", - fields = { - { - type = "int", - name = "hResolution", - description = "Horizontal resolution in pixels" - }, - { - type = "int", - name = "vResolution", - description = "Vertical resolution in pixels" - }, - { - type = "float", - name = "hScreenSize", - description = "Horizontal size in meters" - }, - { - type = "float", - name = "vScreenSize", - description = "Vertical size in meters" - }, - { - type = "float", - name = "eyeToScreenDistance", - description = "Distance between eye and display in meters" - }, - { - type = "float", - name = "lensSeparationDistance", - description = "Lens separation distance in meters" - }, - { - type = "float", - name = "interpupillaryDistance", - description = "IPD (distance between pupils) in meters" - }, - { - type = "float[4]", - name = "lensDistortionValues", - description = "Lens distortion constant parameters" - }, - { - type = "float[4]", - name = "chromaAbCorrection", - description = "Chromatic aberration correction parameters" - } - } - }, - { - name = "VrStereoConfig", - description = "VrStereoConfig, VR stereo rendering configuration for simulator", - fields = { - { - type = "Matrix[2]", - name = "projection", - description = "VR projection matrices (per eye)" - }, - { - type = "Matrix[2]", - name = "viewOffset", - description = "VR view offset matrices (per eye)" - }, - { - type = "float[2]", - name = "leftLensCenter", - description = "VR left lens center" - }, - { - type = "float[2]", - name = "rightLensCenter", - description = "VR right lens center" - }, - { - type = "float[2]", - name = "leftScreenCenter", - description = "VR left screen center" - }, - { - type = "float[2]", - name = "rightScreenCenter", - description = "VR right screen center" - }, - { - type = "float[2]", - name = "scale", - description = "VR distortion scale" - }, - { - type = "float[2]", - name = "scaleIn", - description = "VR distortion scale in" - } - } - }, - { - name = "FilePathList", - description = "File path list", - fields = { - { - type = "unsigned int", - name = "count", - description = "Filepaths entries count" - }, - { - type = "char **", - name = "paths", - description = "Filepaths entries" - } - } - }, - { - name = "AutomationEvent", - description = "Automation event", - fields = { - { - type = "unsigned int", - name = "frame", - description = "Event frame" - }, - { - type = "unsigned int", - name = "type", - description = "Event type (AutomationEventType)" - }, - { - type = "int[4]", - name = "params", - description = "Event parameters (if required)" - } - } - }, - { - name = "AutomationEventList", - description = "Automation event list", - fields = { - { - type = "unsigned int", - name = "capacity", - description = "Events max entries (MAX_AUTOMATION_EVENTS)" - }, - { - type = "unsigned int", - name = "count", - description = "Events entries count" - }, - { - type = "AutomationEvent *", - name = "events", - description = "Events entries" - } - } - } }, aliases = { { diff --git a/tools/rlparser/output/raylib_api.sexpr b/tools/rlparser/output/raylib_api.sexpr index 29e7dfb61..c077f477f 100644 --- a/tools/rlparser/output/raylib_api.sexpr +++ b/tools/rlparser/output/raylib_api.sexpr @@ -225,646 +225,7 @@ (description ""))) (structs - ((name "Vector2") - (description "Vector2, 2 components") - (fields - ((type "float") - (name "x") - (description "Vector x component")) - ((type "float") - (name "y") - (description "Vector y component")))) - - ((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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 aperture in Y (degrees) in perspective, used as near plane height in world units in orthographic")) - ((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 (screen space offset from window origin)")) - ((type "Vector2") - (name "target") - (description "Camera target (world space target point that is mapped to screen space offset)")) - ((type "float") - (name "rotation") - (description "Camera rotation in degrees (pivots around target)")) - ((type "float") - (name "zoom") - (description "Camera zoom (scaling around target), must not be set to 0, set to 1.0f for no scale")))) - - ((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 "int") - (name "boneCount") - (description "Number of bones (MAX: 256 bones)")) - ((type "unsigned char *") - (name "boneIndices") - (description "Vertex bone indices, up to 4 bones influence by vertex (skinning) (shader-location = 6)")) - ((type "float *") - (name "boneWeights") - (description "Vertex bone weight, up to 4 bones influence by vertex (skinning) (shader-location = 7)")) - ((type "float *") - (name "animVertices") - (description "Animated vertex positions (after bones transformations)")) - ((type "float *") - (name "animNormals") - (description "Animated normals (after bones transformations)")) - ((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 "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 "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 "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 "Transform") - (description "Transform, vertex transformation data") - (fields - ((type "Vector3") - (name "translation") - (description "Translation")) - ((type "Quaternion") - (name "rotation") - (description "Rotation")) - ((type "Vector3") - (name "scale") - (description "Scale")))) - - ((name "BoneInfo") - (description "Bone, skeletal animation bone") - (fields - ((type "char[32]") - (name "name") - (description "Bone name")) - ((type "int") - (name "parent") - (description "Bone parent")))) - - ((name "ModelSkeleton") - (description "Skeleton, animation bones hierarchy") - (fields - ((type "unsigned int") - (name "boneCount") - (description "Number of bones")) - ((type "BoneInfo *") - (name "bones") - (description "Bones information (skeleton)")) - ((type "ModelAnimPose") - (name "bindPose") - (description "Bones base transformation (Transform[])")))) - - ((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 "ModelSkeleton") - (name "skeleton") - (description "Skeleton for animation")) - ((type "ModelAnimPose") - (name "currentPose") - (description "Current animation pose (Transform[])")) - ((type "Matrix *") - (name "boneMatrices") - (description "Bones animated transformation matrices")))) - - ((name "ModelAnimation") - (description "ModelAnimation, contains a full animation sequence") - (fields - ((type "char[32]") - (name "name") - (description "Animation name")) - ((type "unsigned int") - (name "boneCount") - (description "Number of bones (per pose)")) - ((type "int") - (name "keyframeCount") - (description "Number of animation key frames")) - ((type "ModelAnimPose *") - (name "keyframePoses") - (description "Animation sequence keyframe poses [keyframe][pose]")))) - - ((name "Ray") - (description "Ray, ray for raycasting") - (fields - ((type "Vector3") - (name "position") - (description "Ray position (origin)")) - ((type "Vector3") - (name "direction") - (description "Ray direction (normalized)")))) - - ((name "RayCollision") - (description "RayCollision, ray hit information") - (fields - ((type "bool") - (name "hit") - (description "Did the ray hit something?")) - ((type "float") - (name "distance") - (description "Distance to the nearest hit")) - ((type "Vector3") - (name "point") - (description "Point of the nearest hit")) - ((type "Vector3") - (name "normal") - (description "Surface normal of hit")))) - - ((name "BoundingBox") - (description "BoundingBox") - (fields - ((type "Vector3") - (name "min") - (description "Minimum vertex box-corner")) - ((type "Vector3") - (name "max") - (description "Maximum vertex box-corner")))) - - ((name "Wave") - (description "Wave, audio wave data") - (fields - ((type "unsigned int") - (name "frameCount") - (description "Total number of frames (considering channels)")) - ((type "unsigned int") - (name "sampleRate") - (description "Frequency (samples per second)")) - ((type "unsigned int") - (name "sampleSize") - (description "Bit depth (bits per sample): 8, 16, 32 (24 not supported)")) - ((type "unsigned int") - (name "channels") - (description "Number of channels (1-mono, 2-stereo, ...)")) - ((type "void *") - (name "data") - (description "Buffer data pointer")))) - - ((name "AudioStream") - (description "AudioStream, custom audio stream") - (fields - ((type "rAudioBuffer *") - (name "buffer") - (description "Pointer to internal data used by the audio system")) - ((type "rAudioProcessor *") - (name "processor") - (description "Pointer to internal data processor, useful for audio effects")) - ((type "unsigned int") - (name "sampleRate") - (description "Frequency (samples per second)")) - ((type "unsigned int") - (name "sampleSize") - (description "Bit depth (bits per sample): 8, 16, 32 (24 not supported)")) - ((type "unsigned int") - (name "channels") - (description "Number of channels (1-mono, 2-stereo, ...)")))) - - ((name "Sound") - (description "Sound") - (fields - ((type "AudioStream") - (name "stream") - (description "Audio stream")) - ((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 "AudioStream") - (name "stream") - (description "Audio stream")) - ((type "unsigned int") - (name "frameCount") - (description "Total number of frames (considering channels)")) - ((type "bool") - (name "looping") - (description "Music looping enable")) - ((type "int") - (name "ctxType") - (description "Type of music context (audio filetype)")) - ((type "void *") - (name "ctxData") - (description "Audio context data, depends on type")))) - - ((name "VrDeviceInfo") - (description "VrDeviceInfo, Head-Mounted-Display device parameters") - (fields - ((type "int") - (name "hResolution") - (description "Horizontal resolution in pixels")) - ((type "int") - (name "vResolution") - (description "Vertical resolution in pixels")) - ((type "float") - (name "hScreenSize") - (description "Horizontal size in meters")) - ((type "float") - (name "vScreenSize") - (description "Vertical size in meters")) - ((type "float") - (name "eyeToScreenDistance") - (description "Distance between eye and display in meters")) - ((type "float") - (name "lensSeparationDistance") - (description "Lens separation distance in meters")) - ((type "float") - (name "interpupillaryDistance") - (description "IPD (distance between pupils) in meters")) - ((type "float[4]") - (name "lensDistortionValues") - (description "Lens distortion constant parameters")) - ((type "float[4]") - (name "chromaAbCorrection") - (description "Chromatic aberration correction parameters")))) - - ((name "VrStereoConfig") - (description "VrStereoConfig, VR stereo rendering configuration for simulator") - (fields - ((type "Matrix[2]") - (name "projection") - (description "VR projection matrices (per eye)")) - ((type "Matrix[2]") - (name "viewOffset") - (description "VR view offset matrices (per eye)")) - ((type "float[2]") - (name "leftLensCenter") - (description "VR left lens center")) - ((type "float[2]") - (name "rightLensCenter") - (description "VR right lens center")) - ((type "float[2]") - (name "leftScreenCenter") - (description "VR left screen center")) - ((type "float[2]") - (name "rightScreenCenter") - (description "VR right screen center")) - ((type "float[2]") - (name "scale") - (description "VR distortion scale")) - ((type "float[2]") - (name "scaleIn") - (description "VR distortion scale in")))) - - ((name "FilePathList") - (description "File path list") - (fields - ((type "unsigned int") - (name "count") - (description "Filepaths entries count")) - ((type "char **") - (name "paths") - (description "Filepaths entries")))) - - ((name "AutomationEvent") - (description "Automation event") - (fields - ((type "unsigned int") - (name "frame") - (description "Event frame")) - ((type "unsigned int") - (name "type") - (description "Event type (AutomationEventType)")) - ((type "int[4]") - (name "params") - (description "Event parameters (if required)")))) - - ((name "AutomationEventList") - (description "Automation event list") - (fields - ((type "unsigned int") - (name "capacity") - (description "Events max entries (MAX_AUTOMATION_EVENTS)")) - ((type "unsigned int") - (name "count") - (description "Events entries count")) - ((type "AutomationEvent *") - (name "events") - (description "Events entries"))))) +) (aliases ((type "Vector4") diff --git a/tools/rlparser/output/raylib_api.txt b/tools/rlparser/output/raylib_api.txt index 0890ce753..432298c71 100644 --- a/tools/rlparser/output/raylib_api.txt +++ b/tools/rlparser/output/raylib_api.txt @@ -282,280 +282,8 @@ Define 056: SHADER_LOC_MAP_SPECULAR Value: SHADER_LOC_MAP_METALNESS Description: -Structures found: 35 +Structures found: 0 -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 aperture in Y (degrees) in perspective, used as near plane height in world units 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 (screen space offset from window origin) - Field[2]: Vector2 target // Camera target (world space target point that is mapped to screen space offset) - Field[3]: float rotation // Camera rotation in degrees (pivots around target) - Field[4]: float zoom // Camera zoom (scaling around target), must not be set to 0, set to 1.0f for no scale -Struct 15: Mesh (16 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]: int boneCount // Number of bones (MAX: 256 bones) - Field[11]: unsigned char * boneIndices // Vertex bone indices, up to 4 bones influence by vertex (skinning) (shader-location = 6) - Field[12]: float * boneWeights // Vertex bone weight, up to 4 bones influence by vertex (skinning) (shader-location = 7) - Field[13]: float * animVertices // Animated vertex positions (after bones transformations) - Field[14]: float * animNormals // Animated normals (after bones transformations) - Field[15]: unsigned int vaoId // OpenGL Vertex Array Object id - Field[16]: 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, vertex 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: ModelSkeleton (3 fields) - Name: ModelSkeleton - Description: Skeleton, animation bones hierarchy - Field[1]: unsigned int boneCount // Number of bones - Field[2]: BoneInfo * bones // Bones information (skeleton) - Field[3]: ModelAnimPose bindPose // Bones base transformation (Transform[]) -Struct 22: 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]: ModelSkeleton skeleton // Skeleton for animation - Field[8]: ModelAnimPose currentPose // Current animation pose (Transform[]) - Field[9]: Matrix * boneMatrices // Bones animated transformation matrices -Struct 23: ModelAnimation (4 fields) - Name: ModelAnimation - Description: ModelAnimation, contains a full animation sequence - Field[1]: char[32] name // Animation name - Field[2]: unsigned int boneCount // Number of bones (per pose) - Field[3]: int keyframeCount // Number of animation key frames - Field[4]: ModelAnimPose * keyframePoses // Animation sequence keyframe poses [keyframe][pose] -Struct 24: Ray (2 fields) - Name: Ray - Description: Ray, ray for raycasting - Field[1]: Vector3 position // Ray position (origin) - Field[2]: Vector3 direction // Ray direction (normalized) -Struct 25: 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 the nearest hit - Field[3]: Vector3 point // Point of the nearest hit - Field[4]: Vector3 normal // Surface normal of hit -Struct 26: BoundingBox (2 fields) - Name: BoundingBox - Description: BoundingBox - Field[1]: Vector3 min // Minimum vertex box-corner - Field[2]: Vector3 max // Maximum vertex box-corner -Struct 27: 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 28: 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 29: 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 30: 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 31: VrDeviceInfo (9 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 eyeToScreenDistance // Distance between eye and display in meters - Field[6]: float lensSeparationDistance // Lens separation distance in meters - Field[7]: float interpupillaryDistance // IPD (distance between pupils) in meters - Field[8]: float[4] lensDistortionValues // Lens distortion constant parameters - Field[9]: float[4] chromaAbCorrection // Chromatic aberration correction parameters -Struct 32: 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 -Struct 33: FilePathList (2 fields) - Name: FilePathList - Description: File path list - Field[1]: unsigned int count // Filepaths entries count - Field[2]: char ** paths // Filepaths entries -Struct 34: AutomationEvent (3 fields) - Name: AutomationEvent - Description: Automation event - Field[1]: unsigned int frame // Event frame - Field[2]: unsigned int type // Event type (AutomationEventType) - Field[3]: int[4] params // Event parameters (if required) -Struct 35: AutomationEventList (3 fields) - Name: AutomationEventList - Description: Automation event list - Field[1]: unsigned int capacity // Events max entries (MAX_AUTOMATION_EVENTS) - Field[2]: unsigned int count // Events entries count - Field[3]: AutomationEvent * events // Events entries Aliases found: 6 diff --git a/tools/rlparser/output/raylib_api.xml b/tools/rlparser/output/raylib_api.xml index 453383747..bedfd5d49 100644 --- a/tools/rlparser/output/raylib_api.xml +++ b/tools/rlparser/output/raylib_api.xml @@ -58,244 +58,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +