diff --git a/parser/raylib_api.json b/parser/raylib_api.json
index e37e32a4f..6fd680cc6 100644
--- a/parser/raylib_api.json
+++ b/parser/raylib_api.json
@@ -2485,214 +2485,318 @@
]
}
],
- "defs": [
+ "defines": [
{
"name": "RAYLIB_H",
- "type": "GUARD"
+ "type": "GUARD",
+ "value": "",
+ "description": ""
},
{
"name": "RAYLIB_VERSION",
- "type": "STRING"
+ "type": "STRING",
+ "value": "4.1-dev",
+ "description": ""
},
{
"name": "RLAPI",
- "type": "UNKNOWN"
+ "type": "UNKNOWN",
+ "value": "__declspec(dllexport)",
+ "description": "We are building the library as a Win32 shared library (.dll)"
},
{
"name": "PI",
- "type": "FLOAT"
+ "type": "FLOAT",
+ "value": 3.14159265358979323846,
+ "description": ""
},
{
"name": "DEG2RAD",
- "type": "UNKNOWN"
+ "type": "UNKNOWN",
+ "value": "(PI/180.0f)",
+ "description": ""
},
{
"name": "RAD2DEG",
- "type": "UNKNOWN"
+ "type": "UNKNOWN",
+ "value": "(180.0f/PI)",
+ "description": ""
},
{
"name": "RL_MALLOC(sz)",
- "type": "MACRO"
+ "type": "MACRO",
+ "value": "malloc(sz)",
+ "description": ""
},
{
"name": "RL_CALLOC(n,sz)",
- "type": "MACRO"
+ "type": "MACRO",
+ "value": "calloc(n,sz)",
+ "description": ""
},
{
"name": "RL_REALLOC(ptr,sz)",
- "type": "MACRO"
+ "type": "MACRO",
+ "value": "realloc(ptr,sz)",
+ "description": ""
},
{
"name": "RL_FREE(ptr)",
- "type": "MACRO"
+ "type": "MACRO",
+ "value": "free(ptr)",
+ "description": ""
},
{
"name": "CLITERAL(type)",
- "type": "MACRO"
+ "type": "MACRO",
+ "value": "type",
+ "description": ""
},
{
"name": "RL_COLOR_TYPE",
- "type": "GUARD"
+ "type": "GUARD",
+ "value": "",
+ "description": ""
},
{
"name": "RL_RECTANGLE_TYPE",
- "type": "GUARD"
+ "type": "GUARD",
+ "value": "",
+ "description": ""
},
{
"name": "RL_VECTOR2_TYPE",
- "type": "GUARD"
+ "type": "GUARD",
+ "value": "",
+ "description": ""
},
{
"name": "RL_VECTOR3_TYPE",
- "type": "GUARD"
+ "type": "GUARD",
+ "value": "",
+ "description": ""
},
{
"name": "RL_VECTOR4_TYPE",
- "type": "GUARD"
+ "type": "GUARD",
+ "value": "",
+ "description": ""
},
{
"name": "RL_QUATERNION_TYPE",
- "type": "GUARD"
+ "type": "GUARD",
+ "value": "",
+ "description": ""
},
{
"name": "RL_MATRIX_TYPE",
- "type": "GUARD"
+ "type": "GUARD",
+ "value": "",
+ "description": ""
},
{
"name": "LIGHTGRAY",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 200, 200, 200, 255 }",
+ "description": "Light Gray"
},
{
"name": "GRAY",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 130, 130, 130, 255 }",
+ "description": "Gray"
},
{
"name": "DARKGRAY",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 80, 80, 80, 255 }",
+ "description": "Dark Gray"
},
{
"name": "YELLOW",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 253, 249, 0, 255 }",
+ "description": "Yellow"
},
{
"name": "GOLD",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 255, 203, 0, 255 }",
+ "description": "Gold"
},
{
"name": "ORANGE",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 255, 161, 0, 255 }",
+ "description": "Orange"
},
{
"name": "PINK",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 255, 109, 194, 255 }",
+ "description": "Pink"
},
{
"name": "RED",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 230, 41, 55, 255 }",
+ "description": "Red"
},
{
"name": "MAROON",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 190, 33, 55, 255 }",
+ "description": "Maroon"
},
{
"name": "GREEN",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 0, 228, 48, 255 }",
+ "description": "Green"
},
{
"name": "LIME",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 0, 158, 47, 255 }",
+ "description": "Lime"
},
{
"name": "DARKGREEN",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 0, 117, 44, 255 }",
+ "description": "Dark Green"
},
{
"name": "SKYBLUE",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 102, 191, 255, 255 }",
+ "description": "Sky Blue"
},
{
"name": "BLUE",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 0, 121, 241, 255 }",
+ "description": "Blue"
},
{
"name": "DARKBLUE",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 0, 82, 172, 255 }",
+ "description": "Dark Blue"
},
{
"name": "PURPLE",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 200, 122, 255, 255 }",
+ "description": "Purple"
},
{
"name": "VIOLET",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 135, 60, 190, 255 }",
+ "description": "Violet"
},
{
"name": "DARKPURPLE",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 112, 31, 126, 255 }",
+ "description": "Dark Purple"
},
{
"name": "BEIGE",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 211, 176, 131, 255 }",
+ "description": "Beige"
},
{
"name": "BROWN",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 127, 106, 79, 255 }",
+ "description": "Brown"
},
{
"name": "DARKBROWN",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 76, 63, 47, 255 }",
+ "description": "Dark Brown"
},
{
"name": "WHITE",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 255, 255, 255, 255 }",
+ "description": "White"
},
{
"name": "BLACK",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 0, 0, 0, 255 }",
+ "description": "Black"
},
{
"name": "BLANK",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 0, 0, 0, 0 }",
+ "description": "Blank (Transparent)"
},
{
"name": "MAGENTA",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 255, 0, 255, 255 }",
+ "description": "Magenta"
},
{
"name": "RAYWHITE",
- "type": "COLOR"
+ "type": "COLOR",
+ "value": "CLITERAL(Color){ 245, 245, 245, 255 }",
+ "description": "My own White (raylib logo)"
},
{
"name": "RL_BOOL_TYPE",
- "type": "GUARD"
+ "type": "GUARD",
+ "value": "",
+ "description": ""
},
{
"name": "MOUSE_LEFT_BUTTON",
- "type": "UNKNOWN"
+ "type": "UNKNOWN",
+ "value": "MOUSE_BUTTON_LEFT",
+ "description": ""
},
{
"name": "MOUSE_RIGHT_BUTTON",
- "type": "UNKNOWN"
+ "type": "UNKNOWN",
+ "value": "MOUSE_BUTTON_RIGHT",
+ "description": ""
},
{
"name": "MOUSE_MIDDLE_BUTTON",
- "type": "UNKNOWN"
+ "type": "UNKNOWN",
+ "value": "MOUSE_BUTTON_MIDDLE",
+ "description": ""
},
{
"name": "MATERIAL_MAP_DIFFUSE",
- "type": "UNKNOWN"
+ "type": "UNKNOWN",
+ "value": "MATERIAL_MAP_ALBEDO",
+ "description": ""
},
{
"name": "MATERIAL_MAP_SPECULAR",
- "type": "UNKNOWN"
+ "type": "UNKNOWN",
+ "value": "MATERIAL_MAP_METALNESS",
+ "description": ""
},
{
"name": "SHADER_LOC_MAP_DIFFUSE",
- "type": "UNKNOWN"
+ "type": "UNKNOWN",
+ "value": "SHADER_LOC_MAP_ALBEDO",
+ "description": ""
},
{
"name": "SHADER_LOC_MAP_SPECULAR",
- "type": "UNKNOWN"
+ "type": "UNKNOWN",
+ "value": "SHADER_LOC_MAP_METALNESS",
+ "description": ""
}
],
"functions": [
diff --git a/parser/raylib_api.lua b/parser/raylib_api.lua
index 96f218784..cd6da46ad 100644
--- a/parser/raylib_api.lua
+++ b/parser/raylib_api.lua
@@ -2485,214 +2485,318 @@ return {
}
}
},
- defs = {
+ defines = {
{
name = "RAYLIB_H",
- type = "GUARD"
+ type = "GUARD",
+ value = "",
+ description = ""
},
{
name = "RAYLIB_VERSION",
- type = "STRING"
+ type = "STRING",
+ value = "4.1-dev",
+ description = ""
},
{
name = "RLAPI",
- type = "UNKNOWN"
+ type = "UNKNOWN",
+ value = "__declspec(dllexport)",
+ description = "We are building the library as a Win32 shared library (.dll)"
},
{
name = "PI",
- type = "FLOAT"
+ type = "FLOAT",
+ value = 3.14159265358979323846,
+ description = ""
},
{
name = "DEG2RAD",
- type = "UNKNOWN"
+ type = "UNKNOWN",
+ value = "(PI/180.0f)",
+ description = ""
},
{
name = "RAD2DEG",
- type = "UNKNOWN"
+ type = "UNKNOWN",
+ value = "(180.0f/PI)",
+ description = ""
},
{
name = "RL_MALLOC(sz)",
- type = "MACRO"
+ type = "MACRO",
+ value = "malloc(sz)",
+ description = ""
},
{
name = "RL_CALLOC(n,sz)",
- type = "MACRO"
+ type = "MACRO",
+ value = "calloc(n,sz)",
+ description = ""
},
{
name = "RL_REALLOC(ptr,sz)",
- type = "MACRO"
+ type = "MACRO",
+ value = "realloc(ptr,sz)",
+ description = ""
},
{
name = "RL_FREE(ptr)",
- type = "MACRO"
+ type = "MACRO",
+ value = "free(ptr)",
+ description = ""
},
{
name = "CLITERAL(type)",
- type = "MACRO"
+ type = "MACRO",
+ value = "type",
+ description = ""
},
{
name = "RL_COLOR_TYPE",
- type = "GUARD"
+ type = "GUARD",
+ value = "",
+ description = ""
},
{
name = "RL_RECTANGLE_TYPE",
- type = "GUARD"
+ type = "GUARD",
+ value = "",
+ description = ""
},
{
name = "RL_VECTOR2_TYPE",
- type = "GUARD"
+ type = "GUARD",
+ value = "",
+ description = ""
},
{
name = "RL_VECTOR3_TYPE",
- type = "GUARD"
+ type = "GUARD",
+ value = "",
+ description = ""
},
{
name = "RL_VECTOR4_TYPE",
- type = "GUARD"
+ type = "GUARD",
+ value = "",
+ description = ""
},
{
name = "RL_QUATERNION_TYPE",
- type = "GUARD"
+ type = "GUARD",
+ value = "",
+ description = ""
},
{
name = "RL_MATRIX_TYPE",
- type = "GUARD"
+ type = "GUARD",
+ value = "",
+ description = ""
},
{
name = "LIGHTGRAY",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 200, 200, 200, 255 }",
+ description = "Light Gray"
},
{
name = "GRAY",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 130, 130, 130, 255 }",
+ description = "Gray"
},
{
name = "DARKGRAY",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 80, 80, 80, 255 }",
+ description = "Dark Gray"
},
{
name = "YELLOW",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 253, 249, 0, 255 }",
+ description = "Yellow"
},
{
name = "GOLD",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 255, 203, 0, 255 }",
+ description = "Gold"
},
{
name = "ORANGE",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 255, 161, 0, 255 }",
+ description = "Orange"
},
{
name = "PINK",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 255, 109, 194, 255 }",
+ description = "Pink"
},
{
name = "RED",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 230, 41, 55, 255 }",
+ description = "Red"
},
{
name = "MAROON",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 190, 33, 55, 255 }",
+ description = "Maroon"
},
{
name = "GREEN",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 0, 228, 48, 255 }",
+ description = "Green"
},
{
name = "LIME",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 0, 158, 47, 255 }",
+ description = "Lime"
},
{
name = "DARKGREEN",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 0, 117, 44, 255 }",
+ description = "Dark Green"
},
{
name = "SKYBLUE",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 102, 191, 255, 255 }",
+ description = "Sky Blue"
},
{
name = "BLUE",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 0, 121, 241, 255 }",
+ description = "Blue"
},
{
name = "DARKBLUE",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 0, 82, 172, 255 }",
+ description = "Dark Blue"
},
{
name = "PURPLE",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 200, 122, 255, 255 }",
+ description = "Purple"
},
{
name = "VIOLET",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 135, 60, 190, 255 }",
+ description = "Violet"
},
{
name = "DARKPURPLE",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 112, 31, 126, 255 }",
+ description = "Dark Purple"
},
{
name = "BEIGE",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 211, 176, 131, 255 }",
+ description = "Beige"
},
{
name = "BROWN",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 127, 106, 79, 255 }",
+ description = "Brown"
},
{
name = "DARKBROWN",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 76, 63, 47, 255 }",
+ description = "Dark Brown"
},
{
name = "WHITE",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 255, 255, 255, 255 }",
+ description = "White"
},
{
name = "BLACK",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 0, 0, 0, 255 }",
+ description = "Black"
},
{
name = "BLANK",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 0, 0, 0, 0 }",
+ description = "Blank (Transparent)"
},
{
name = "MAGENTA",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 255, 0, 255, 255 }",
+ description = "Magenta"
},
{
name = "RAYWHITE",
- type = "COLOR"
+ type = "COLOR",
+ value = "CLITERAL(Color){ 245, 245, 245, 255 }",
+ description = "My own White (raylib logo)"
},
{
name = "RL_BOOL_TYPE",
- type = "GUARD"
+ type = "GUARD",
+ value = "",
+ description = ""
},
{
name = "MOUSE_LEFT_BUTTON",
- type = "UNKNOWN"
+ type = "UNKNOWN",
+ value = "MOUSE_BUTTON_LEFT",
+ description = ""
},
{
name = "MOUSE_RIGHT_BUTTON",
- type = "UNKNOWN"
+ type = "UNKNOWN",
+ value = "MOUSE_BUTTON_RIGHT",
+ description = ""
},
{
name = "MOUSE_MIDDLE_BUTTON",
- type = "UNKNOWN"
+ type = "UNKNOWN",
+ value = "MOUSE_BUTTON_MIDDLE",
+ description = ""
},
{
name = "MATERIAL_MAP_DIFFUSE",
- type = "UNKNOWN"
+ type = "UNKNOWN",
+ value = "MATERIAL_MAP_ALBEDO",
+ description = ""
},
{
name = "MATERIAL_MAP_SPECULAR",
- type = "UNKNOWN"
+ type = "UNKNOWN",
+ value = "MATERIAL_MAP_METALNESS",
+ description = ""
},
{
name = "SHADER_LOC_MAP_DIFFUSE",
- type = "UNKNOWN"
+ type = "UNKNOWN",
+ value = "SHADER_LOC_MAP_ALBEDO",
+ description = ""
},
{
name = "SHADER_LOC_MAP_SPECULAR",
- type = "UNKNOWN"
+ type = "UNKNOWN",
+ value = "SHADER_LOC_MAP_METALNESS",
+ description = ""
},
},
functions = {
diff --git a/parser/raylib_api.txt b/parser/raylib_api.txt
index f4e431eb3..fb18745c7 100644
--- a/parser/raylib_api.txt
+++ b/parser/raylib_api.txt
@@ -242,7 +242,7 @@ Enums found: 21
Enum 01: ConfigFlags (14 values)
Name: ConfigFlags
- Description: System/Window config flags
+ Description: System/Window config flags
Value[FLAG_VSYNC_HINT]: 64
Value[FLAG_FULLSCREEN_MODE]: 2
Value[FLAG_WINDOW_RESIZABLE]: 4
@@ -259,7 +259,7 @@ Enum 01: ConfigFlags (14 values)
Value[FLAG_INTERLACED_HINT]: 65536
Enum 02: TraceLogLevel (8 values)
Name: TraceLogLevel
- Description: Trace log level
+ Description: Trace log level
Value[LOG_ALL]: 0
Value[LOG_TRACE]: 1
Value[LOG_DEBUG]: 2
@@ -270,7 +270,7 @@ Enum 02: TraceLogLevel (8 values)
Value[LOG_NONE]: 7
Enum 03: KeyboardKey (110 values)
Name: KeyboardKey
- Description: Keyboard keys (US keyboard layout)
+ Description: Keyboard keys (US keyboard layout)
Value[KEY_NULL]: 0
Value[KEY_APOSTROPHE]: 39
Value[KEY_COMMA]: 44
@@ -383,7 +383,7 @@ Enum 03: KeyboardKey (110 values)
Value[KEY_VOLUME_DOWN]: 25
Enum 04: MouseButton (7 values)
Name: MouseButton
- Description: Mouse buttons
+ Description: Mouse buttons
Value[MOUSE_BUTTON_LEFT]: 0
Value[MOUSE_BUTTON_RIGHT]: 1
Value[MOUSE_BUTTON_MIDDLE]: 2
@@ -393,7 +393,7 @@ Enum 04: MouseButton (7 values)
Value[MOUSE_BUTTON_BACK]: 6
Enum 05: MouseCursor (11 values)
Name: MouseCursor
- Description: Mouse cursor
+ Description: Mouse cursor
Value[MOUSE_CURSOR_DEFAULT]: 0
Value[MOUSE_CURSOR_ARROW]: 1
Value[MOUSE_CURSOR_IBEAM]: 2
@@ -407,7 +407,7 @@ Enum 05: MouseCursor (11 values)
Value[MOUSE_CURSOR_NOT_ALLOWED]: 10
Enum 06: GamepadButton (18 values)
Name: GamepadButton
- Description: Gamepad buttons
+ Description: Gamepad buttons
Value[GAMEPAD_BUTTON_UNKNOWN]: 0
Value[GAMEPAD_BUTTON_LEFT_FACE_UP]: 1
Value[GAMEPAD_BUTTON_LEFT_FACE_RIGHT]: 2
@@ -428,7 +428,7 @@ Enum 06: GamepadButton (18 values)
Value[GAMEPAD_BUTTON_RIGHT_THUMB]: 17
Enum 07: GamepadAxis (6 values)
Name: GamepadAxis
- Description: Gamepad axis
+ Description: Gamepad axis
Value[GAMEPAD_AXIS_LEFT_X]: 0
Value[GAMEPAD_AXIS_LEFT_Y]: 1
Value[GAMEPAD_AXIS_RIGHT_X]: 2
@@ -437,7 +437,7 @@ Enum 07: GamepadAxis (6 values)
Value[GAMEPAD_AXIS_RIGHT_TRIGGER]: 5
Enum 08: MaterialMapIndex (11 values)
Name: MaterialMapIndex
- Description: Material map index
+ Description: Material map index
Value[MATERIAL_MAP_ALBEDO]: 0
Value[MATERIAL_MAP_METALNESS]: 1
Value[MATERIAL_MAP_NORMAL]: 2
@@ -451,7 +451,7 @@ Enum 08: MaterialMapIndex (11 values)
Value[MATERIAL_MAP_BRDF]: 10
Enum 09: ShaderLocationIndex (26 values)
Name: ShaderLocationIndex
- Description: Shader location index
+ Description: Shader location index
Value[SHADER_LOC_VERTEX_POSITION]: 0
Value[SHADER_LOC_VERTEX_TEXCOORD01]: 1
Value[SHADER_LOC_VERTEX_TEXCOORD02]: 2
@@ -480,7 +480,7 @@ Enum 09: ShaderLocationIndex (26 values)
Value[SHADER_LOC_MAP_BRDF]: 25
Enum 10: ShaderUniformDataType (9 values)
Name: ShaderUniformDataType
- Description: Shader uniform data type
+ Description: Shader uniform data type
Value[SHADER_UNIFORM_FLOAT]: 0
Value[SHADER_UNIFORM_VEC2]: 1
Value[SHADER_UNIFORM_VEC3]: 2
@@ -492,14 +492,14 @@ Enum 10: ShaderUniformDataType (9 values)
Value[SHADER_UNIFORM_SAMPLER2D]: 8
Enum 11: ShaderAttributeDataType (4 values)
Name: ShaderAttributeDataType
- Description: Shader attribute data types
+ 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
+ Description: Pixel formats
Value[PIXELFORMAT_UNCOMPRESSED_GRAYSCALE]: 1
Value[PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA]: 2
Value[PIXELFORMAT_UNCOMPRESSED_R5G6B5]: 3
@@ -523,7 +523,7 @@ Enum 12: PixelFormat (21 values)
Value[PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA]: 21
Enum 13: TextureFilter (6 values)
Name: TextureFilter
- Description: Texture parameters: filter mode
+ Description: Texture parameters: filter mode
Value[TEXTURE_FILTER_POINT]: 0
Value[TEXTURE_FILTER_BILINEAR]: 1
Value[TEXTURE_FILTER_TRILINEAR]: 2
@@ -532,14 +532,14 @@ Enum 13: TextureFilter (6 values)
Value[TEXTURE_FILTER_ANISOTROPIC_16X]: 5
Enum 14: TextureWrap (4 values)
Name: TextureWrap
- Description: Texture parameters: wrap mode
+ 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
+ Description: Cubemap layouts
Value[CUBEMAP_LAYOUT_AUTO_DETECT]: 0
Value[CUBEMAP_LAYOUT_LINE_VERTICAL]: 1
Value[CUBEMAP_LAYOUT_LINE_HORIZONTAL]: 2
@@ -548,13 +548,13 @@ Enum 15: CubemapLayout (6 values)
Value[CUBEMAP_LAYOUT_PANORAMA]: 5
Enum 16: FontType (3 values)
Name: FontType
- Description: Font type, defines generation method
+ Description: Font type, defines generation method
Value[FONT_DEFAULT]: 0
Value[FONT_BITMAP]: 1
Value[FONT_SDF]: 2
Enum 17: BlendMode (6 values)
Name: BlendMode
- Description: Color blending modes (pre-defined)
+ Description: Color blending modes (pre-defined)
Value[BLEND_ALPHA]: 0
Value[BLEND_ADDITIVE]: 1
Value[BLEND_MULTIPLIED]: 2
@@ -563,7 +563,7 @@ Enum 17: BlendMode (6 values)
Value[BLEND_CUSTOM]: 5
Enum 18: Gesture (11 values)
Name: Gesture
- Description: Gesture
+ Description: Gesture
Value[GESTURE_NONE]: 0
Value[GESTURE_TAP]: 1
Value[GESTURE_DOUBLETAP]: 2
@@ -577,7 +577,7 @@ Enum 18: Gesture (11 values)
Value[GESTURE_PINCH_OUT]: 512
Enum 19: CameraMode (5 values)
Name: CameraMode
- Description: Camera system modes
+ Description: Camera system modes
Value[CAMERA_CUSTOM]: 0
Value[CAMERA_FREE]: 1
Value[CAMERA_ORBITAL]: 2
@@ -585,12 +585,12 @@ Enum 19: CameraMode (5 values)
Value[CAMERA_THIRD_PERSON]: 4
Enum 20: CameraProjection (2 values)
Name: CameraProjection
- Description: Camera projection
+ Description: Camera projection
Value[CAMERA_PERSPECTIVE]: 0
Value[CAMERA_ORTHOGRAPHIC]: 1
Enum 21: NPatchLayout (3 values)
Name: NPatchLayout
- Description: N-patch layout
+ Description: N-patch layout
Value[NPATCH_NINE_PATCH]: 0
Value[NPATCH_THREE_PATCH_VERTICAL]: 1
Value[NPATCH_THREE_PATCH_HORIZONTAL]: 2
@@ -3699,156 +3699,260 @@ Defines found: 52
Define 001: RAYLIB_H
Name: RAYLIB_H
Type: GUARD
+ Value:
+ Description:
Define 002: RAYLIB_VERSION
Name: RAYLIB_VERSION
Type: STRING
+ Value: "4.1-dev"
+ Description:
Define 003: RLAPI
Name: RLAPI
Type: UNKNOWN
+ Value: __declspec(dllexport)
+ Description: We are building the library as a Win32 shared library (.dll)
Define 004: PI
Name: PI
Type: FLOAT
+ Value: 3.14159265358979323846f
+ Description:
Define 005: DEG2RAD
Name: DEG2RAD
Type: UNKNOWN
+ Value: (PI/180.0f)
+ Description:
Define 006: RAD2DEG
Name: RAD2DEG
Type: UNKNOWN
+ Value: (180.0f/PI)
+ Description:
Define 007: RL_MALLOC(sz)
Name: RL_MALLOC(sz)
Type: MACRO
+ Value: malloc(sz)
+ Description:
Define 008: RL_CALLOC(n,sz)
Name: RL_CALLOC(n,sz)
Type: MACRO
+ Value: calloc(n,sz)
+ Description:
Define 009: RL_REALLOC(ptr,sz)
Name: RL_REALLOC(ptr,sz)
Type: MACRO
+ Value: realloc(ptr,sz)
+ Description:
Define 010: RL_FREE(ptr)
Name: RL_FREE(ptr)
Type: MACRO
+ Value: free(ptr)
+ Description:
Define 011: CLITERAL(type)
Name: CLITERAL(type)
Type: MACRO
+ Value: type
+ Description:
Define 012: RL_COLOR_TYPE
Name: RL_COLOR_TYPE
Type: GUARD
+ Value:
+ Description:
Define 013: RL_RECTANGLE_TYPE
Name: RL_RECTANGLE_TYPE
Type: GUARD
+ Value:
+ Description:
Define 014: RL_VECTOR2_TYPE
Name: RL_VECTOR2_TYPE
Type: GUARD
+ Value:
+ Description:
Define 015: RL_VECTOR3_TYPE
Name: RL_VECTOR3_TYPE
Type: GUARD
+ Value:
+ Description:
Define 016: RL_VECTOR4_TYPE
Name: RL_VECTOR4_TYPE
Type: GUARD
+ Value:
+ Description:
Define 017: RL_QUATERNION_TYPE
Name: RL_QUATERNION_TYPE
Type: GUARD
+ Value:
+ Description:
Define 018: RL_MATRIX_TYPE
Name: RL_MATRIX_TYPE
Type: GUARD
+ Value:
+ Description:
Define 019: LIGHTGRAY
Name: LIGHTGRAY
Type: COLOR
+ Value: CLITERAL(Color){ 200, 200, 200, 255 }
+ Description: Light Gray
Define 020: GRAY
Name: GRAY
Type: COLOR
+ Value: CLITERAL(Color){ 130, 130, 130, 255 }
+ Description: Gray
Define 021: DARKGRAY
Name: DARKGRAY
Type: COLOR
+ Value: CLITERAL(Color){ 80, 80, 80, 255 }
+ Description: Dark Gray
Define 022: YELLOW
Name: YELLOW
Type: COLOR
+ Value: CLITERAL(Color){ 253, 249, 0, 255 }
+ Description: Yellow
Define 023: GOLD
Name: GOLD
Type: COLOR
+ Value: CLITERAL(Color){ 255, 203, 0, 255 }
+ Description: Gold
Define 024: ORANGE
Name: ORANGE
Type: COLOR
+ Value: CLITERAL(Color){ 255, 161, 0, 255 }
+ Description: Orange
Define 025: PINK
Name: PINK
Type: COLOR
+ Value: CLITERAL(Color){ 255, 109, 194, 255 }
+ Description: Pink
Define 026: RED
Name: RED
Type: COLOR
+ Value: CLITERAL(Color){ 230, 41, 55, 255 }
+ Description: Red
Define 027: MAROON
Name: MAROON
Type: COLOR
+ Value: CLITERAL(Color){ 190, 33, 55, 255 }
+ Description: Maroon
Define 028: GREEN
Name: GREEN
Type: COLOR
+ Value: CLITERAL(Color){ 0, 228, 48, 255 }
+ Description: Green
Define 029: LIME
Name: LIME
Type: COLOR
+ Value: CLITERAL(Color){ 0, 158, 47, 255 }
+ Description: Lime
Define 030: DARKGREEN
Name: DARKGREEN
Type: COLOR
+ Value: CLITERAL(Color){ 0, 117, 44, 255 }
+ Description: Dark Green
Define 031: SKYBLUE
Name: SKYBLUE
Type: COLOR
+ Value: CLITERAL(Color){ 102, 191, 255, 255 }
+ Description: Sky Blue
Define 032: BLUE
Name: BLUE
Type: COLOR
+ Value: CLITERAL(Color){ 0, 121, 241, 255 }
+ Description: Blue
Define 033: DARKBLUE
Name: DARKBLUE
Type: COLOR
+ Value: CLITERAL(Color){ 0, 82, 172, 255 }
+ Description: Dark Blue
Define 034: PURPLE
Name: PURPLE
Type: COLOR
+ Value: CLITERAL(Color){ 200, 122, 255, 255 }
+ Description: Purple
Define 035: VIOLET
Name: VIOLET
Type: COLOR
+ Value: CLITERAL(Color){ 135, 60, 190, 255 }
+ Description: Violet
Define 036: DARKPURPLE
Name: DARKPURPLE
Type: COLOR
+ Value: CLITERAL(Color){ 112, 31, 126, 255 }
+ Description: Dark Purple
Define 037: BEIGE
Name: BEIGE
Type: COLOR
+ Value: CLITERAL(Color){ 211, 176, 131, 255 }
+ Description: Beige
Define 038: BROWN
Name: BROWN
Type: COLOR
+ Value: CLITERAL(Color){ 127, 106, 79, 255 }
+ Description: Brown
Define 039: DARKBROWN
Name: DARKBROWN
Type: COLOR
+ Value: CLITERAL(Color){ 76, 63, 47, 255 }
+ Description: Dark Brown
Define 040: WHITE
Name: WHITE
Type: COLOR
+ Value: CLITERAL(Color){ 255, 255, 255, 255 }
+ Description: White
Define 041: BLACK
Name: BLACK
Type: COLOR
+ Value: CLITERAL(Color){ 0, 0, 0, 255 }
+ Description: Black
Define 042: BLANK
Name: BLANK
Type: COLOR
+ Value: CLITERAL(Color){ 0, 0, 0, 0 }
+ Description: Blank (Transparent)
Define 043: MAGENTA
Name: MAGENTA
Type: COLOR
+ Value: CLITERAL(Color){ 255, 0, 255, 255 }
+ Description: Magenta
Define 044: RAYWHITE
Name: RAYWHITE
Type: COLOR
+ Value: CLITERAL(Color){ 245, 245, 245, 255 }
+ Description: My own White (raylib logo)
Define 045: RL_BOOL_TYPE
Name: RL_BOOL_TYPE
Type: GUARD
+ Value:
+ Description:
Define 046: MOUSE_LEFT_BUTTON
Name: MOUSE_LEFT_BUTTON
Type: UNKNOWN
+ Value: MOUSE_BUTTON_LEFT
+ Description:
Define 047: MOUSE_RIGHT_BUTTON
Name: MOUSE_RIGHT_BUTTON
Type: UNKNOWN
+ Value: MOUSE_BUTTON_RIGHT
+ Description:
Define 048: MOUSE_MIDDLE_BUTTON
Name: MOUSE_MIDDLE_BUTTON
Type: UNKNOWN
+ Value: MOUSE_BUTTON_MIDDLE
+ Description:
Define 049: MATERIAL_MAP_DIFFUSE
Name: MATERIAL_MAP_DIFFUSE
Type: UNKNOWN
+ Value: MATERIAL_MAP_ALBEDO
+ Description:
Define 050: MATERIAL_MAP_SPECULAR
Name: 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
+ Description:
Define 052: SHADER_LOC_MAP_SPECULAR
Name: SHADER_LOC_MAP_SPECULAR
Type: UNKNOWN
+ Value: SHADER_LOC_MAP_METALNESS
+ Description:
diff --git a/parser/raylib_api.xml b/parser/raylib_api.xml
index 3faa24ba7..3a180b9d3 100644
--- a/parser/raylib_api.xml
+++ b/parser/raylib_api.xml
@@ -543,58 +543,58 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/parser/raylib_parser.c b/parser/raylib_parser.c
index 290bb121b..45d08e30b 100644
--- a/parser/raylib_parser.c
+++ b/parser/raylib_parser.c
@@ -68,7 +68,7 @@
#define MAX_FUNCS_TO_PARSE 512 // Maximum number of functions to parse
#define MAX_STRUCTS_TO_PARSE 64 // Maximum number of structures to parse
#define MAX_ENUMS_TO_PARSE 64 // Maximum number of enums to parse
-#define MAX_DEFINES_TO_PARSE 512
+#define MAX_DEFINES_TO_PARSE 2048 // Maximum number of defines 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)
@@ -111,12 +111,15 @@ typedef struct EnumInfo {
char valueDesc[MAX_ENUM_VALUES][128]; // Value description
} EnumInfo;
-typedef enum { UNKNOWN, MACRO, GUARD, INT, FLOAT, DOUBLE, CHAR, STRING, COLOR } DefineType;
+// Type of parsed define
+typedef enum { UNKNOWN = 0, MACRO, GUARD, INT, FLOAT, DOUBLE, CHAR, STRING, COLOR } DefineType;
// Define info data
typedef struct DefineInfo {
- char name[64];
- DefineType type;
+ char name[64]; // Define name
+ DefineType type; // Define type
+ char value[256]; // Define value
+ char desc[128]; // Define description
} DefineInfo;
// Output format for parsed data
@@ -128,11 +131,11 @@ typedef enum { DEFAULT = 0, JSON, XML, LUA } OutputFormat;
static int funcCount = 0;
static int structCount = 0;
static int enumCount = 0;
-static int defCount = 0;
+static int defineCount = 0;
static FunctionInfo *funcs = NULL;
static StructInfo *structs = NULL;
static EnumInfo *enums = NULL;
-static DefineInfo *defs = NULL;
+static DefineInfo *defines = NULL;
static char apiDefine[32] = "RLAPI\0";
// Command line variables
@@ -153,10 +156,11 @@ static unsigned int TextLength(const char *text); // Get text length i
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 const char *StrDefineType(DefineType type); // Get string of define type
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
+
//------------------------------------------------------------------------------------
// Program main entry point
//------------------------------------------------------------------------------------
@@ -184,7 +188,7 @@ int main(int argc, char* argv[])
int *enumLines = (int *)malloc(MAX_ENUMS_TO_PARSE*sizeof(int));
// Defines lines pointers, selected from buffer "lines"
- int *defLines = (int *)malloc(MAX_DEFINES_TO_PARSE*sizeof(int));
+ int *defineLines = (int *)malloc(MAX_DEFINES_TO_PARSE*sizeof(int));
// Prepare required lines for parsing
//--------------------------------------------------------------------------------------------------
@@ -255,12 +259,12 @@ int main(int argc, char* argv[])
{
// Keep the line position in the array of lines,
// so, we can scan that position and following lines
- defLines[defCount] = i;
- defCount++;
+ defineLines[defineCount] = i;
+ defineCount++;
}
}
- // At this point we have all raylib structs, enums, functions, defs lines data to start parsing
+ // At this point we have all raylib structs, enums, functions, defines lines data to start parsing
free(buffer); // Unload text buffer
@@ -437,68 +441,83 @@ int main(int argc, char* argv[])
free(enumLines);
// Define info data
- defs = (DefineInfo *)calloc(MAX_DEFINES_TO_PARSE, sizeof(DefineInfo));
+ defines = (DefineInfo *)calloc(MAX_DEFINES_TO_PARSE, sizeof(DefineInfo));
int defineIndex = 0;
- for (int i = 0; i < defCount; i++)
+ for (int i = 0; i < defineCount; i++)
{
- char *linePtr = lines[defLines[i]];
+ char *linePtr = lines[defineLines[i]];
int j = 0;
- int constNameStart, constNameEnd;
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 "
- constNameStart = j;
- while (linePtr[j] != ' ' && linePtr[j] != '\t' && linePtr[j] != '\0') j++; // Extract name
- constNameEnd = j-1;
-
- // Functional macros
- if (linePtr[constNameEnd] == ')') {
- defs[defineIndex].type = MACRO;
- }
-
- while (linePtr[j] == ' ' || linePtr[j] == '\t') j++; // Skip spaces and tabs after name
-
- // Empty
- if (linePtr[j] == '\0' || linePtr == "/") {
- defs[defineIndex].type = GUARD;
- }
-
- if (linePtr[j] == '"') defs[defineIndex].type = STRING;
- else if (linePtr[j] == '\'') defs[defineIndex].type = CHAR;
- else if (IsTextEqual(linePtr+j, "CLITERAL(Color)", 15)) defs[defineIndex].type = COLOR;
- // Parsing numbers
- else if (isdigit(linePtr[j])) {
- bool isFloat = false;
- while (linePtr[j] != ' ' && linePtr[j] != '\t' && linePtr[j] != '\n' && linePtr[j] != '\r') {
- j++;
- if (linePtr[j] == '.') isFloat = true;
- }
- if (isFloat) {
- defs[defineIndex].type = linePtr[j-1] == 'f' ? FLOAT : DOUBLE;
- } else {
- defs[defineIndex].type = INT;
- }
- }
+ // Extract name
+ int defineNameStart = j;
+ while (linePtr[j] != ' ' && linePtr[j] != '\t' && linePtr[j] != '\0') j++;
+ int defineNameEnd = j-1;
// Skip duplicates
- int len = constNameEnd - constNameStart + 1;
+ int nameLen = defineNameEnd - defineNameStart + 1;
bool isDuplicate = false;
for (int k = 0; k < defineIndex; k++) {
- if (len == TextLength(defs[k].name) && IsTextEqual(defs[k].name, linePtr + constNameStart, len)) {
+ if (nameLen == TextLength(defines[k].name) && IsTextEqual(defines[k].name, linePtr + defineNameStart, nameLen)) {
isDuplicate = true;
break;
}
}
if (isDuplicate) continue;
- MemoryCopy(defs[defineIndex].name, linePtr + constNameStart, len);
+ MemoryCopy(defines[defineIndex].name, linePtr + defineNameStart, nameLen);
+
+ // Determine type
+ if (linePtr[defineNameEnd] == ')') defines[defineIndex].type = MACRO;
+
+ while (linePtr[j] == ' ' || linePtr[j] == '\t') j++; // Skip spaces and tabs after name
+
+ 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;
+ while (linePtr[j] != ' ' && linePtr[j] != '\t' && linePtr[j] != '\n' && linePtr[j] != '\r') {
+ j++;
+ if (linePtr[j] == '.') isFloat = true;
+ }
+ if (isFloat) {
+ defines[defineIndex].type = linePtr[j-1] == 'f' ? FLOAT : DOUBLE;
+ } else {
+ defines[defineIndex].type = INT;
+ }
+ }
+
+ // 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
+ 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] == '/') {
+ 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++;
}
- defCount = defineIndex;
- free(defLines);
+ defineCount = defineIndex;
+ free(defineLines);
// Functions info data
funcs = (FunctionInfo *)calloc(MAX_FUNCS_TO_PARSE, sizeof(FunctionInfo));
@@ -581,7 +600,7 @@ int main(int argc, char* argv[])
// structs[] -> We have all the structs 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
- // defs[] -> We have all the defines 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);
@@ -855,19 +874,20 @@ static char *EscapeBackslashes(char *text)
return buffer;
}
+// Get string of define type
static const char *StrDefineType(DefineType type)
{
switch (type)
{
case UNKNOWN: return "UNKNOWN";
- case GUARD: return "GUARD";
- case MACRO: return "MACRO";
- case INT: return "INT";
- case FLOAT: return "FLOAT";
- case DOUBLE: return "DOUBLE";
- case CHAR: return "CHAR";
- case STRING: return "STRING";
- case COLOR: return "COLOR";
+ case GUARD: return "GUARD";
+ case MACRO: return "MACRO";
+ case INT: return "INT";
+ case FLOAT: return "FLOAT";
+ case DOUBLE: return "DOUBLE";
+ case CHAR: return "CHAR";
+ case STRING: return "STRING";
+ case COLOR: return "COLOR";
}
return "";
}
@@ -949,7 +969,7 @@ static void ExportParsedData(const char *fileName, int format)
{
fprintf(outFile, "Enum %02i: %s (%i values)\n", i + 1, enums[i].name, enums[i].valueCount);
fprintf(outFile, " Name: %s\n", enums[i].name);
- fprintf(outFile, " Description: %s\n", enums[i].desc + 3);
+ fprintf(outFile, " Description: %s\n", enums[i].desc + 3);
for (int e = 0; e < enums[i].valueCount; e++) fprintf(outFile, " Value[%s]: %i\n", enums[i].valueName[e], enums[i].valueInteger[e]);
}
@@ -965,12 +985,14 @@ static void ExportParsedData(const char *fileName, int format)
if (funcs[i].paramCount == 0) fprintf(outFile, " No input parameters\n");
}
- fprintf(outFile, "\nDefines found: %i\n\n", defCount);
- for (int i = 0; i < defCount; i++)
+ fprintf(outFile, "\nDefines found: %i\n\n", defineCount);
+ for (int i = 0; i < defineCount; i++)
{
- fprintf(outFile, "Define %03i: %s\n", i + 1, defs[i].name);
- fprintf(outFile, " Name: %s\n", defs[i].name);
- fprintf(outFile, " Type: %s\n", StrDefineType(defs[i].type));
+ 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 + 3);
}
} break;
case LUA:
@@ -1027,13 +1049,24 @@ static void ExportParsedData(const char *fileName, int format)
}
fprintf(outFile, " },\n");
- // Print defs info
- fprintf(outFile, " defs = {\n");
- for (int i = 0; i < defCount; i++)
+ // Print defines info
+ fprintf(outFile, " defines = {\n");
+ for (int i = 0; i < defineCount; i++)
{
fprintf(outFile, " {\n");
- fprintf(outFile, " name = \"%s\",\n", defs[i].name);
- fprintf(outFile, " type = \"%s\"\n", StrDefineType(defs[i].type));
+ 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 == DOUBLE || defines[i].type == STRING) {
+ fprintf(outFile, " value = %s,\n", defines[i].value);
+ } else if (defines[i].type == FLOAT) {
+ int n = TextLength(defines[i].value);
+ defines[i].value[n-1] = '\0';
+ fprintf(outFile, " value = %s,\n", defines[i].value);
+ defines[i].value[n-1] = 'f';
+ } else {
+ fprintf(outFile, " value = \"%s\",\n", defines[i].value);
+ }
+ fprintf(outFile, " description = \"%s\"\n", defines[i].desc + 3);
fprintf(outFile, " }");
if (i < funcCount - 1) fprintf(outFile, ",\n");
@@ -1124,16 +1157,27 @@ static void ExportParsedData(const char *fileName, int format)
}
fprintf(outFile, " ],\n");
- // Print defs info
- fprintf(outFile, " \"defs\": [\n");
- for (int i = 0; i < defCount; i++)
+ // Print defines info
+ fprintf(outFile, " \"defines\": [\n");
+ for (int i = 0; i < defineCount; i++)
{
fprintf(outFile, " {\n");
- fprintf(outFile, " \"name\": \"%s\",\n", defs[i].name);
- fprintf(outFile, " \"type\": \"%s\"\n", StrDefineType(defs[i].type));
+ 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 == DOUBLE || defines[i].type == STRING) {
+ fprintf(outFile, " \"value\": %s,\n", defines[i].value);
+ } else if (defines[i].type == FLOAT) {
+ int n = TextLength(defines[i].value);
+ defines[i].value[n-1] = '\0';
+ fprintf(outFile, " \"value\": %s,\n", defines[i].value);
+ defines[i].value[n-1] = 'f';
+ } else {
+ fprintf(outFile, " \"value\": \"%s\",\n", defines[i].value);
+ }
+ fprintf(outFile, " \"description\": \"%s\"\n", defines[i].desc + 3);
fprintf(outFile, " }");
- if (i < defCount - 1) fprintf(outFile, ",\n");
+ if (i < defineCount - 1) fprintf(outFile, ",\n");
else fprintf(outFile, "\n");
}
fprintf(outFile, " ],\n");
@@ -1226,11 +1270,11 @@ static void ExportParsedData(const char *fileName, int format)
}
fprintf(outFile, " \n");
- // Print defs info
- fprintf(outFile, " \n", defCount);
- for (int i = 0; i < defCount; i++)
+ // Print defines info
+ fprintf(outFile, " \n", defineCount);
+ for (int i = 0; i < defineCount; i++)
{
- fprintf(outFile, " \n", defs[i].name, StrDefineType(defs[i].type));
+ fprintf(outFile, " \n", defines[i].name, StrDefineType(defines[i].type), defines[i].value, defines[i].desc);
}
fprintf(outFile, " \n");