Parse enum descriptions and value descriptions (#2208)

* Parse enum descriptions and value descriptions

* Put braces on newline

* Properly escape strings

* Realise that XML doesn't actually need backslash escapes

* Replace FPrintfEscapes with EscapeBackslashes

* Remove #include <stdarg.h>

* Update EscapeBackslashes description
This commit is contained in:
Benedek Szilvasy 2021-12-16 13:49:17 +00:00 committed by GitHub
parent 48918ca5c6
commit fffd78e7c8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 1518 additions and 1457 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -208,341 +208,341 @@
</Struct>
</Structs>
<Enums count="21">
<Enum name="ConfigFlags" valueCount="14" desc="">
<Value name="FLAG_VSYNC_HINT" integer="64" desc="" />
<Value name="FLAG_FULLSCREEN_MODE" integer="2" desc="" />
<Value name="FLAG_WINDOW_RESIZABLE" integer="4" desc="" />
<Value name="FLAG_WINDOW_UNDECORATED" integer="8" desc="" />
<Value name="FLAG_WINDOW_HIDDEN" integer="128" desc="" />
<Value name="FLAG_WINDOW_MINIMIZED" integer="512" desc="" />
<Value name="FLAG_WINDOW_MAXIMIZED" integer="1024" desc="" />
<Value name="FLAG_WINDOW_UNFOCUSED" integer="2048" desc="" />
<Value name="FLAG_WINDOW_TOPMOST" integer="4096" desc="" />
<Value name="FLAG_WINDOW_ALWAYS_RUN" integer="256" desc="" />
<Value name="FLAG_WINDOW_TRANSPARENT" integer="16" desc="" />
<Value name="FLAG_WINDOW_HIGHDPI" integer="8192" desc="" />
<Value name="FLAG_MSAA_4X_HINT" integer="32" desc="" />
<Value name="FLAG_INTERLACED_HINT" integer="65536" desc="" />
<Enum name="ConfigFlags" valueCount="14" desc="System/Window config flags">
<Value name="FLAG_VSYNC_HINT" integer="64" desc="Set to try enabling V-Sync on GPU" />
<Value name="FLAG_FULLSCREEN_MODE" integer="2" desc="Set to run program in fullscreen" />
<Value name="FLAG_WINDOW_RESIZABLE" integer="4" desc="Set to allow resizable window" />
<Value name="FLAG_WINDOW_UNDECORATED" integer="8" desc="Set to disable window decoration (frame and buttons)" />
<Value name="FLAG_WINDOW_HIDDEN" integer="128" desc="Set to hide window" />
<Value name="FLAG_WINDOW_MINIMIZED" integer="512" desc="Set to minimize window (iconify)" />
<Value name="FLAG_WINDOW_MAXIMIZED" integer="1024" desc="Set to maximize window (expanded to monitor)" />
<Value name="FLAG_WINDOW_UNFOCUSED" integer="2048" desc="Set to window non focused" />
<Value name="FLAG_WINDOW_TOPMOST" integer="4096" desc="Set to window always on top" />
<Value name="FLAG_WINDOW_ALWAYS_RUN" integer="256" desc="Set to allow windows running while minimized" />
<Value name="FLAG_WINDOW_TRANSPARENT" integer="16" desc="Set to allow transparent framebuffer" />
<Value name="FLAG_WINDOW_HIGHDPI" integer="8192" desc="Set to support HighDPI" />
<Value name="FLAG_MSAA_4X_HINT" integer="32" desc="Set to try enabling MSAA 4X" />
<Value name="FLAG_INTERLACED_HINT" integer="65536" desc="Set to try enabling interlaced video format (for V3D)" />
</Enum>
<Enum name="TraceLogLevel" valueCount="8" desc="">
<Value name="LOG_ALL" integer="0" desc="" />
<Value name="LOG_TRACE" integer="1" desc="" />
<Value name="LOG_DEBUG" integer="2" desc="" />
<Value name="LOG_INFO" integer="3" desc="" />
<Value name="LOG_WARNING" integer="4" desc="" />
<Value name="LOG_ERROR" integer="5" desc="" />
<Value name="LOG_FATAL" integer="6" desc="" />
<Value name="LOG_NONE" integer="7" desc="" />
<Enum name="TraceLogLevel" valueCount="8" desc="Trace log level">
<Value name="LOG_ALL" integer="0" desc="Display all logs" />
<Value name="LOG_TRACE" integer="1" desc="Trace logging, intended for internal use only" />
<Value name="LOG_DEBUG" integer="2" desc="Debug logging, used for internal debugging, it should be disabled on release builds" />
<Value name="LOG_INFO" integer="3" desc="Info logging, used for program execution info" />
<Value name="LOG_WARNING" integer="4" desc="Warning logging, used on recoverable failures" />
<Value name="LOG_ERROR" integer="5" desc="Error logging, used on unrecoverable failures" />
<Value name="LOG_FATAL" integer="6" desc="Fatal logging, used to abort program: exit(EXIT_FAILURE)" />
<Value name="LOG_NONE" integer="7" desc="Disable logging" />
</Enum>
<Enum name="KeyboardKey" valueCount="110" desc="">
<Value name="KEY_NULL" integer="0" desc="" />
<Value name="KEY_APOSTROPHE" integer="39" desc="" />
<Value name="KEY_COMMA" integer="44" desc="" />
<Value name="KEY_MINUS" integer="45" desc="" />
<Value name="KEY_PERIOD" integer="46" desc="" />
<Value name="KEY_SLASH" integer="47" desc="" />
<Value name="KEY_ZERO" integer="48" desc="" />
<Value name="KEY_ONE" integer="49" desc="" />
<Value name="KEY_TWO" integer="50" desc="" />
<Value name="KEY_THREE" integer="51" desc="" />
<Value name="KEY_FOUR" integer="52" desc="" />
<Value name="KEY_FIVE" integer="53" desc="" />
<Value name="KEY_SIX" integer="54" desc="" />
<Value name="KEY_SEVEN" integer="55" desc="" />
<Value name="KEY_EIGHT" integer="56" desc="" />
<Value name="KEY_NINE" integer="57" desc="" />
<Value name="KEY_SEMICOLON" integer="59" desc="" />
<Value name="KEY_EQUAL" integer="61" desc="" />
<Value name="KEY_A" integer="65" desc="" />
<Value name="KEY_B" integer="66" desc="" />
<Value name="KEY_C" integer="67" desc="" />
<Value name="KEY_D" integer="68" desc="" />
<Value name="KEY_E" integer="69" desc="" />
<Value name="KEY_F" integer="70" desc="" />
<Value name="KEY_G" integer="71" desc="" />
<Value name="KEY_H" integer="72" desc="" />
<Value name="KEY_I" integer="73" desc="" />
<Value name="KEY_J" integer="74" desc="" />
<Value name="KEY_K" integer="75" desc="" />
<Value name="KEY_L" integer="76" desc="" />
<Value name="KEY_M" integer="77" desc="" />
<Value name="KEY_N" integer="78" desc="" />
<Value name="KEY_O" integer="79" desc="" />
<Value name="KEY_P" integer="80" desc="" />
<Value name="KEY_Q" integer="81" desc="" />
<Value name="KEY_R" integer="82" desc="" />
<Value name="KEY_S" integer="83" desc="" />
<Value name="KEY_T" integer="84" desc="" />
<Value name="KEY_U" integer="85" desc="" />
<Value name="KEY_V" integer="86" desc="" />
<Value name="KEY_W" integer="87" desc="" />
<Value name="KEY_X" integer="88" desc="" />
<Value name="KEY_Y" integer="89" desc="" />
<Value name="KEY_Z" integer="90" desc="" />
<Value name="KEY_LEFT_BRACKET" integer="91" desc="" />
<Value name="KEY_BACKSLASH" integer="92" desc="" />
<Value name="KEY_RIGHT_BRACKET" integer="93" desc="" />
<Value name="KEY_GRAVE" integer="96" desc="" />
<Value name="KEY_SPACE" integer="32" desc="" />
<Value name="KEY_ESCAPE" integer="256" desc="" />
<Value name="KEY_ENTER" integer="257" desc="" />
<Value name="KEY_TAB" integer="258" desc="" />
<Value name="KEY_BACKSPACE" integer="259" desc="" />
<Value name="KEY_INSERT" integer="260" desc="" />
<Value name="KEY_DELETE" integer="261" desc="" />
<Value name="KEY_RIGHT" integer="262" desc="" />
<Value name="KEY_LEFT" integer="263" desc="" />
<Value name="KEY_DOWN" integer="264" desc="" />
<Value name="KEY_UP" integer="265" desc="" />
<Value name="KEY_PAGE_UP" integer="266" desc="" />
<Value name="KEY_PAGE_DOWN" integer="267" desc="" />
<Value name="KEY_HOME" integer="268" desc="" />
<Value name="KEY_END" integer="269" desc="" />
<Value name="KEY_CAPS_LOCK" integer="280" desc="" />
<Value name="KEY_SCROLL_LOCK" integer="281" desc="" />
<Value name="KEY_NUM_LOCK" integer="282" desc="" />
<Value name="KEY_PRINT_SCREEN" integer="283" desc="" />
<Value name="KEY_PAUSE" integer="284" desc="" />
<Value name="KEY_F1" integer="290" desc="" />
<Value name="KEY_F2" integer="291" desc="" />
<Value name="KEY_F3" integer="292" desc="" />
<Value name="KEY_F4" integer="293" desc="" />
<Value name="KEY_F5" integer="294" desc="" />
<Value name="KEY_F6" integer="295" desc="" />
<Value name="KEY_F7" integer="296" desc="" />
<Value name="KEY_F8" integer="297" desc="" />
<Value name="KEY_F9" integer="298" desc="" />
<Value name="KEY_F10" integer="299" desc="" />
<Value name="KEY_F11" integer="300" desc="" />
<Value name="KEY_F12" integer="301" desc="" />
<Value name="KEY_LEFT_SHIFT" integer="340" desc="" />
<Value name="KEY_LEFT_CONTROL" integer="341" desc="" />
<Value name="KEY_LEFT_ALT" integer="342" desc="" />
<Value name="KEY_LEFT_SUPER" integer="343" desc="" />
<Value name="KEY_RIGHT_SHIFT" integer="344" desc="" />
<Value name="KEY_RIGHT_CONTROL" integer="345" desc="" />
<Value name="KEY_RIGHT_ALT" integer="346" desc="" />
<Value name="KEY_RIGHT_SUPER" integer="347" desc="" />
<Value name="KEY_KB_MENU" integer="348" desc="" />
<Value name="KEY_KP_0" integer="320" desc="" />
<Value name="KEY_KP_1" integer="321" desc="" />
<Value name="KEY_KP_2" integer="322" desc="" />
<Value name="KEY_KP_3" integer="323" desc="" />
<Value name="KEY_KP_4" integer="324" desc="" />
<Value name="KEY_KP_5" integer="325" desc="" />
<Value name="KEY_KP_6" integer="326" desc="" />
<Value name="KEY_KP_7" integer="327" desc="" />
<Value name="KEY_KP_8" integer="328" desc="" />
<Value name="KEY_KP_9" integer="329" desc="" />
<Value name="KEY_KP_DECIMAL" integer="330" desc="" />
<Value name="KEY_KP_DIVIDE" integer="331" desc="" />
<Value name="KEY_KP_MULTIPLY" integer="332" desc="" />
<Value name="KEY_KP_SUBTRACT" integer="333" desc="" />
<Value name="KEY_KP_ADD" integer="334" desc="" />
<Value name="KEY_KP_ENTER" integer="335" desc="" />
<Value name="KEY_KP_EQUAL" integer="336" desc="" />
<Value name="KEY_BACK" integer="4" desc="" />
<Value name="KEY_MENU" integer="82" desc="" />
<Value name="KEY_VOLUME_UP" integer="24" desc="" />
<Value name="KEY_VOLUME_DOWN" integer="25" desc="" />
<Enum name="KeyboardKey" valueCount="110" desc="Keyboard keys (US keyboard layout)">
<Value name="KEY_NULL" integer="0" desc="Key: NULL, used for no key pressed" />
<Value name="KEY_APOSTROPHE" integer="39" desc="Key: '" />
<Value name="KEY_COMMA" integer="44" desc="Key: ," />
<Value name="KEY_MINUS" integer="45" desc="Key: -" />
<Value name="KEY_PERIOD" integer="46" desc="Key: ." />
<Value name="KEY_SLASH" integer="47" desc="Key: /" />
<Value name="KEY_ZERO" integer="48" desc="Key: 0" />
<Value name="KEY_ONE" integer="49" desc="Key: 1" />
<Value name="KEY_TWO" integer="50" desc="Key: 2" />
<Value name="KEY_THREE" integer="51" desc="Key: 3" />
<Value name="KEY_FOUR" integer="52" desc="Key: 4" />
<Value name="KEY_FIVE" integer="53" desc="Key: 5" />
<Value name="KEY_SIX" integer="54" desc="Key: 6" />
<Value name="KEY_SEVEN" integer="55" desc="Key: 7" />
<Value name="KEY_EIGHT" integer="56" desc="Key: 8" />
<Value name="KEY_NINE" integer="57" desc="Key: 9" />
<Value name="KEY_SEMICOLON" integer="59" desc="Key: ;" />
<Value name="KEY_EQUAL" integer="61" desc="Key: =" />
<Value name="KEY_A" integer="65" desc="Key: A | a" />
<Value name="KEY_B" integer="66" desc="Key: B | b" />
<Value name="KEY_C" integer="67" desc="Key: C | c" />
<Value name="KEY_D" integer="68" desc="Key: D | d" />
<Value name="KEY_E" integer="69" desc="Key: E | e" />
<Value name="KEY_F" integer="70" desc="Key: F | f" />
<Value name="KEY_G" integer="71" desc="Key: G | g" />
<Value name="KEY_H" integer="72" desc="Key: H | h" />
<Value name="KEY_I" integer="73" desc="Key: I | i" />
<Value name="KEY_J" integer="74" desc="Key: J | j" />
<Value name="KEY_K" integer="75" desc="Key: K | k" />
<Value name="KEY_L" integer="76" desc="Key: L | l" />
<Value name="KEY_M" integer="77" desc="Key: M | m" />
<Value name="KEY_N" integer="78" desc="Key: N | n" />
<Value name="KEY_O" integer="79" desc="Key: O | o" />
<Value name="KEY_P" integer="80" desc="Key: P | p" />
<Value name="KEY_Q" integer="81" desc="Key: Q | q" />
<Value name="KEY_R" integer="82" desc="Key: R | r" />
<Value name="KEY_S" integer="83" desc="Key: S | s" />
<Value name="KEY_T" integer="84" desc="Key: T | t" />
<Value name="KEY_U" integer="85" desc="Key: U | u" />
<Value name="KEY_V" integer="86" desc="Key: V | v" />
<Value name="KEY_W" integer="87" desc="Key: W | w" />
<Value name="KEY_X" integer="88" desc="Key: X | x" />
<Value name="KEY_Y" integer="89" desc="Key: Y | y" />
<Value name="KEY_Z" integer="90" desc="Key: Z | z" />
<Value name="KEY_LEFT_BRACKET" integer="91" desc="Key: [" />
<Value name="KEY_BACKSLASH" integer="92" desc="Key: '\'" />
<Value name="KEY_RIGHT_BRACKET" integer="93" desc="Key: ]" />
<Value name="KEY_GRAVE" integer="96" desc="Key: `" />
<Value name="KEY_SPACE" integer="32" desc="Key: Space" />
<Value name="KEY_ESCAPE" integer="256" desc="Key: Esc" />
<Value name="KEY_ENTER" integer="257" desc="Key: Enter" />
<Value name="KEY_TAB" integer="258" desc="Key: Tab" />
<Value name="KEY_BACKSPACE" integer="259" desc="Key: Backspace" />
<Value name="KEY_INSERT" integer="260" desc="Key: Ins" />
<Value name="KEY_DELETE" integer="261" desc="Key: Del" />
<Value name="KEY_RIGHT" integer="262" desc="Key: Cursor right" />
<Value name="KEY_LEFT" integer="263" desc="Key: Cursor left" />
<Value name="KEY_DOWN" integer="264" desc="Key: Cursor down" />
<Value name="KEY_UP" integer="265" desc="Key: Cursor up" />
<Value name="KEY_PAGE_UP" integer="266" desc="Key: Page up" />
<Value name="KEY_PAGE_DOWN" integer="267" desc="Key: Page down" />
<Value name="KEY_HOME" integer="268" desc="Key: Home" />
<Value name="KEY_END" integer="269" desc="Key: End" />
<Value name="KEY_CAPS_LOCK" integer="280" desc="Key: Caps lock" />
<Value name="KEY_SCROLL_LOCK" integer="281" desc="Key: Scroll down" />
<Value name="KEY_NUM_LOCK" integer="282" desc="Key: Num lock" />
<Value name="KEY_PRINT_SCREEN" integer="283" desc="Key: Print screen" />
<Value name="KEY_PAUSE" integer="284" desc="Key: Pause" />
<Value name="KEY_F1" integer="290" desc="Key: F1" />
<Value name="KEY_F2" integer="291" desc="Key: F2" />
<Value name="KEY_F3" integer="292" desc="Key: F3" />
<Value name="KEY_F4" integer="293" desc="Key: F4" />
<Value name="KEY_F5" integer="294" desc="Key: F5" />
<Value name="KEY_F6" integer="295" desc="Key: F6" />
<Value name="KEY_F7" integer="296" desc="Key: F7" />
<Value name="KEY_F8" integer="297" desc="Key: F8" />
<Value name="KEY_F9" integer="298" desc="Key: F9" />
<Value name="KEY_F10" integer="299" desc="Key: F10" />
<Value name="KEY_F11" integer="300" desc="Key: F11" />
<Value name="KEY_F12" integer="301" desc="Key: F12" />
<Value name="KEY_LEFT_SHIFT" integer="340" desc="Key: Shift left" />
<Value name="KEY_LEFT_CONTROL" integer="341" desc="Key: Control left" />
<Value name="KEY_LEFT_ALT" integer="342" desc="Key: Alt left" />
<Value name="KEY_LEFT_SUPER" integer="343" desc="Key: Super left" />
<Value name="KEY_RIGHT_SHIFT" integer="344" desc="Key: Shift right" />
<Value name="KEY_RIGHT_CONTROL" integer="345" desc="Key: Control right" />
<Value name="KEY_RIGHT_ALT" integer="346" desc="Key: Alt right" />
<Value name="KEY_RIGHT_SUPER" integer="347" desc="Key: Super right" />
<Value name="KEY_KB_MENU" integer="348" desc="Key: KB menu" />
<Value name="KEY_KP_0" integer="320" desc="Key: Keypad 0" />
<Value name="KEY_KP_1" integer="321" desc="Key: Keypad 1" />
<Value name="KEY_KP_2" integer="322" desc="Key: Keypad 2" />
<Value name="KEY_KP_3" integer="323" desc="Key: Keypad 3" />
<Value name="KEY_KP_4" integer="324" desc="Key: Keypad 4" />
<Value name="KEY_KP_5" integer="325" desc="Key: Keypad 5" />
<Value name="KEY_KP_6" integer="326" desc="Key: Keypad 6" />
<Value name="KEY_KP_7" integer="327" desc="Key: Keypad 7" />
<Value name="KEY_KP_8" integer="328" desc="Key: Keypad 8" />
<Value name="KEY_KP_9" integer="329" desc="Key: Keypad 9" />
<Value name="KEY_KP_DECIMAL" integer="330" desc="Key: Keypad ." />
<Value name="KEY_KP_DIVIDE" integer="331" desc="Key: Keypad /" />
<Value name="KEY_KP_MULTIPLY" integer="332" desc="Key: Keypad *" />
<Value name="KEY_KP_SUBTRACT" integer="333" desc="Key: Keypad -" />
<Value name="KEY_KP_ADD" integer="334" desc="Key: Keypad +" />
<Value name="KEY_KP_ENTER" integer="335" desc="Key: Keypad Enter" />
<Value name="KEY_KP_EQUAL" integer="336" desc="Key: Keypad =" />
<Value name="KEY_BACK" integer="4" desc="Key: Android back button" />
<Value name="KEY_MENU" integer="82" desc="Key: Android menu button" />
<Value name="KEY_VOLUME_UP" integer="24" desc="Key: Android volume up button" />
<Value name="KEY_VOLUME_DOWN" integer="25" desc="Key: Android volume down button" />
</Enum>
<Enum name="MouseButton" valueCount="7" desc="">
<Value name="MOUSE_BUTTON_LEFT" integer="0" desc="" />
<Value name="MOUSE_BUTTON_RIGHT" integer="1" desc="" />
<Value name="MOUSE_BUTTON_MIDDLE" integer="2" desc="" />
<Value name="MOUSE_BUTTON_SIDE" integer="3" desc="" />
<Value name="MOUSE_BUTTON_EXTRA" integer="4" desc="" />
<Value name="MOUSE_BUTTON_FORWARD" integer="5" desc="" />
<Value name="MOUSE_BUTTON_BACK" integer="6" desc="" />
<Enum name="MouseButton" valueCount="7" desc="Mouse buttons">
<Value name="MOUSE_BUTTON_LEFT" integer="0" desc="Mouse button left" />
<Value name="MOUSE_BUTTON_RIGHT" integer="1" desc="Mouse button right" />
<Value name="MOUSE_BUTTON_MIDDLE" integer="2" desc="Mouse button middle (pressed wheel)" />
<Value name="MOUSE_BUTTON_SIDE" integer="3" desc="Mouse button side (advanced mouse device)" />
<Value name="MOUSE_BUTTON_EXTRA" integer="4" desc="Mouse button extra (advanced mouse device)" />
<Value name="MOUSE_BUTTON_FORWARD" integer="5" desc="Mouse button fordward (advanced mouse device)" />
<Value name="MOUSE_BUTTON_BACK" integer="6" desc="Mouse button back (advanced mouse device)" />
</Enum>
<Enum name="MouseCursor" valueCount="11" desc="">
<Value name="MOUSE_CURSOR_DEFAULT" integer="0" desc="" />
<Value name="MOUSE_CURSOR_ARROW" integer="1" desc="" />
<Value name="MOUSE_CURSOR_IBEAM" integer="2" desc="" />
<Value name="MOUSE_CURSOR_CROSSHAIR" integer="3" desc="" />
<Value name="MOUSE_CURSOR_POINTING_HAND" integer="4" desc="" />
<Value name="MOUSE_CURSOR_RESIZE_EW" integer="5" desc="" />
<Value name="MOUSE_CURSOR_RESIZE_NS" integer="6" desc="" />
<Value name="MOUSE_CURSOR_RESIZE_NWSE" integer="7" desc="" />
<Value name="MOUSE_CURSOR_RESIZE_NESW" integer="8" desc="" />
<Value name="MOUSE_CURSOR_RESIZE_ALL" integer="9" desc="" />
<Value name="MOUSE_CURSOR_NOT_ALLOWED" integer="10" desc="" />
<Enum name="MouseCursor" valueCount="11" desc="Mouse cursor">
<Value name="MOUSE_CURSOR_DEFAULT" integer="0" desc="Default pointer shape" />
<Value name="MOUSE_CURSOR_ARROW" integer="1" desc="Arrow shape" />
<Value name="MOUSE_CURSOR_IBEAM" integer="2" desc="Text writing cursor shape" />
<Value name="MOUSE_CURSOR_CROSSHAIR" integer="3" desc="Cross shape" />
<Value name="MOUSE_CURSOR_POINTING_HAND" integer="4" desc="Pointing hand cursor" />
<Value name="MOUSE_CURSOR_RESIZE_EW" integer="5" desc="Horizontal resize/move arrow shape" />
<Value name="MOUSE_CURSOR_RESIZE_NS" integer="6" desc="Vertical resize/move arrow shape" />
<Value name="MOUSE_CURSOR_RESIZE_NWSE" integer="7" desc="Top-left to bottom-right diagonal resize/move arrow shape" />
<Value name="MOUSE_CURSOR_RESIZE_NESW" integer="8" desc="The top-right to bottom-left diagonal resize/move arrow shape" />
<Value name="MOUSE_CURSOR_RESIZE_ALL" integer="9" desc="The omni-directional resize/move cursor shape" />
<Value name="MOUSE_CURSOR_NOT_ALLOWED" integer="10" desc="The operation-not-allowed shape" />
</Enum>
<Enum name="GamepadButton" valueCount="18" desc="">
<Value name="GAMEPAD_BUTTON_UNKNOWN" integer="0" desc="" />
<Value name="GAMEPAD_BUTTON_LEFT_FACE_UP" integer="1" desc="" />
<Value name="GAMEPAD_BUTTON_LEFT_FACE_RIGHT" integer="2" desc="" />
<Value name="GAMEPAD_BUTTON_LEFT_FACE_DOWN" integer="3" desc="" />
<Value name="GAMEPAD_BUTTON_LEFT_FACE_LEFT" integer="4" desc="" />
<Value name="GAMEPAD_BUTTON_RIGHT_FACE_UP" integer="5" desc="" />
<Value name="GAMEPAD_BUTTON_RIGHT_FACE_RIGHT" integer="6" desc="" />
<Value name="GAMEPAD_BUTTON_RIGHT_FACE_DOWN" integer="7" desc="" />
<Value name="GAMEPAD_BUTTON_RIGHT_FACE_LEFT" integer="8" desc="" />
<Value name="GAMEPAD_BUTTON_LEFT_TRIGGER_1" integer="9" desc="" />
<Value name="GAMEPAD_BUTTON_LEFT_TRIGGER_2" integer="10" desc="" />
<Value name="GAMEPAD_BUTTON_RIGHT_TRIGGER_1" integer="11" desc="" />
<Value name="GAMEPAD_BUTTON_RIGHT_TRIGGER_2" integer="12" desc="" />
<Value name="GAMEPAD_BUTTON_MIDDLE_LEFT" integer="13" desc="" />
<Value name="GAMEPAD_BUTTON_MIDDLE" integer="14" desc="" />
<Value name="GAMEPAD_BUTTON_MIDDLE_RIGHT" integer="15" desc="" />
<Value name="GAMEPAD_BUTTON_LEFT_THUMB" integer="16" desc="" />
<Value name="GAMEPAD_BUTTON_RIGHT_THUMB" integer="17" desc="" />
<Enum name="GamepadButton" valueCount="18" desc="Gamepad buttons">
<Value name="GAMEPAD_BUTTON_UNKNOWN" integer="0" desc="Unknown button, just for error checking" />
<Value name="GAMEPAD_BUTTON_LEFT_FACE_UP" integer="1" desc="Gamepad left DPAD up button" />
<Value name="GAMEPAD_BUTTON_LEFT_FACE_RIGHT" integer="2" desc="Gamepad left DPAD right button" />
<Value name="GAMEPAD_BUTTON_LEFT_FACE_DOWN" integer="3" desc="Gamepad left DPAD down button" />
<Value name="GAMEPAD_BUTTON_LEFT_FACE_LEFT" integer="4" desc="Gamepad left DPAD left button" />
<Value name="GAMEPAD_BUTTON_RIGHT_FACE_UP" integer="5" desc="Gamepad right button up (i.e. PS3: Triangle, Xbox: Y)" />
<Value name="GAMEPAD_BUTTON_RIGHT_FACE_RIGHT" integer="6" desc="Gamepad right button right (i.e. PS3: Square, Xbox: X)" />
<Value name="GAMEPAD_BUTTON_RIGHT_FACE_DOWN" integer="7" desc="Gamepad right button down (i.e. PS3: Cross, Xbox: A)" />
<Value name="GAMEPAD_BUTTON_RIGHT_FACE_LEFT" integer="8" desc="Gamepad right button left (i.e. PS3: Circle, Xbox: B)" />
<Value name="GAMEPAD_BUTTON_LEFT_TRIGGER_1" integer="9" desc="Gamepad top/back trigger left (first), it could be a trailing button" />
<Value name="GAMEPAD_BUTTON_LEFT_TRIGGER_2" integer="10" desc="Gamepad top/back trigger left (second), it could be a trailing button" />
<Value name="GAMEPAD_BUTTON_RIGHT_TRIGGER_1" integer="11" desc="Gamepad top/back trigger right (one), it could be a trailing button" />
<Value name="GAMEPAD_BUTTON_RIGHT_TRIGGER_2" integer="12" desc="Gamepad top/back trigger right (second), it could be a trailing button" />
<Value name="GAMEPAD_BUTTON_MIDDLE_LEFT" integer="13" desc="Gamepad center buttons, left one (i.e. PS3: Select)" />
<Value name="GAMEPAD_BUTTON_MIDDLE" integer="14" desc="Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX)" />
<Value name="GAMEPAD_BUTTON_MIDDLE_RIGHT" integer="15" desc="Gamepad center buttons, right one (i.e. PS3: Start)" />
<Value name="GAMEPAD_BUTTON_LEFT_THUMB" integer="16" desc="Gamepad joystick pressed button left" />
<Value name="GAMEPAD_BUTTON_RIGHT_THUMB" integer="17" desc="Gamepad joystick pressed button right" />
</Enum>
<Enum name="GamepadAxis" valueCount="6" desc="">
<Value name="GAMEPAD_AXIS_LEFT_X" integer="0" desc="" />
<Value name="GAMEPAD_AXIS_LEFT_Y" integer="1" desc="" />
<Value name="GAMEPAD_AXIS_RIGHT_X" integer="2" desc="" />
<Value name="GAMEPAD_AXIS_RIGHT_Y" integer="3" desc="" />
<Value name="GAMEPAD_AXIS_LEFT_TRIGGER" integer="4" desc="" />
<Value name="GAMEPAD_AXIS_RIGHT_TRIGGER" integer="5" desc="" />
<Enum name="GamepadAxis" valueCount="6" desc="Gamepad axis">
<Value name="GAMEPAD_AXIS_LEFT_X" integer="0" desc="Gamepad left stick X axis" />
<Value name="GAMEPAD_AXIS_LEFT_Y" integer="1" desc="Gamepad left stick Y axis" />
<Value name="GAMEPAD_AXIS_RIGHT_X" integer="2" desc="Gamepad right stick X axis" />
<Value name="GAMEPAD_AXIS_RIGHT_Y" integer="3" desc="Gamepad right stick Y axis" />
<Value name="GAMEPAD_AXIS_LEFT_TRIGGER" integer="4" desc="Gamepad back trigger left, pressure level: [1..-1]" />
<Value name="GAMEPAD_AXIS_RIGHT_TRIGGER" integer="5" desc="Gamepad back trigger right, pressure level: [1..-1]" />
</Enum>
<Enum name="MaterialMapIndex" valueCount="11" desc="">
<Value name="MATERIAL_MAP_ALBEDO" integer="0" desc="" />
<Value name="MATERIAL_MAP_METALNESS" integer="1" desc="" />
<Value name="MATERIAL_MAP_NORMAL" integer="2" desc="" />
<Value name="MATERIAL_MAP_ROUGHNESS" integer="3" desc="" />
<Value name="MATERIAL_MAP_OCCLUSION" integer="4" desc="" />
<Value name="MATERIAL_MAP_EMISSION" integer="5" desc="" />
<Value name="MATERIAL_MAP_HEIGHT" integer="6" desc="" />
<Value name="MATERIAL_MAP_CUBEMAP" integer="7" desc="" />
<Value name="MATERIAL_MAP_IRRADIANCE" integer="8" desc="" />
<Value name="MATERIAL_MAP_PREFILTER" integer="9" desc="" />
<Value name="MATERIAL_MAP_BRDF" integer="10" desc="" />
<Enum name="MaterialMapIndex" valueCount="11" desc="Material map index">
<Value name="MATERIAL_MAP_ALBEDO" integer="0" desc="Albedo material (same as: MATERIAL_MAP_DIFFUSE)" />
<Value name="MATERIAL_MAP_METALNESS" integer="1" desc="Metalness material (same as: MATERIAL_MAP_SPECULAR)" />
<Value name="MATERIAL_MAP_NORMAL" integer="2" desc="Normal material" />
<Value name="MATERIAL_MAP_ROUGHNESS" integer="3" desc="Roughness material" />
<Value name="MATERIAL_MAP_OCCLUSION" integer="4" desc="Ambient occlusion material" />
<Value name="MATERIAL_MAP_EMISSION" integer="5" desc="Emission material" />
<Value name="MATERIAL_MAP_HEIGHT" integer="6" desc="Heightmap material" />
<Value name="MATERIAL_MAP_CUBEMAP" integer="7" desc="Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" />
<Value name="MATERIAL_MAP_IRRADIANCE" integer="8" desc="Irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" />
<Value name="MATERIAL_MAP_PREFILTER" integer="9" desc="Prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" />
<Value name="MATERIAL_MAP_BRDF" integer="10" desc="Brdf material" />
</Enum>
<Enum name="ShaderLocationIndex" valueCount="26" desc="">
<Value name="SHADER_LOC_VERTEX_POSITION" integer="0" desc="" />
<Value name="SHADER_LOC_VERTEX_TEXCOORD01" integer="1" desc="" />
<Value name="SHADER_LOC_VERTEX_TEXCOORD02" integer="2" desc="" />
<Value name="SHADER_LOC_VERTEX_NORMAL" integer="3" desc="" />
<Value name="SHADER_LOC_VERTEX_TANGENT" integer="4" desc="" />
<Value name="SHADER_LOC_VERTEX_COLOR" integer="5" desc="" />
<Value name="SHADER_LOC_MATRIX_MVP" integer="6" desc="" />
<Value name="SHADER_LOC_MATRIX_VIEW" integer="7" desc="" />
<Value name="SHADER_LOC_MATRIX_PROJECTION" integer="8" desc="" />
<Value name="SHADER_LOC_MATRIX_MODEL" integer="9" desc="" />
<Value name="SHADER_LOC_MATRIX_NORMAL" integer="10" desc="" />
<Value name="SHADER_LOC_VECTOR_VIEW" integer="11" desc="" />
<Value name="SHADER_LOC_COLOR_DIFFUSE" integer="12" desc="" />
<Value name="SHADER_LOC_COLOR_SPECULAR" integer="13" desc="" />
<Value name="SHADER_LOC_COLOR_AMBIENT" integer="14" desc="" />
<Value name="SHADER_LOC_MAP_ALBEDO" integer="15" desc="" />
<Value name="SHADER_LOC_MAP_METALNESS" integer="16" desc="" />
<Value name="SHADER_LOC_MAP_NORMAL" integer="17" desc="" />
<Value name="SHADER_LOC_MAP_ROUGHNESS" integer="18" desc="" />
<Value name="SHADER_LOC_MAP_OCCLUSION" integer="19" desc="" />
<Value name="SHADER_LOC_MAP_EMISSION" integer="20" desc="" />
<Value name="SHADER_LOC_MAP_HEIGHT" integer="21" desc="" />
<Value name="SHADER_LOC_MAP_CUBEMAP" integer="22" desc="" />
<Value name="SHADER_LOC_MAP_IRRADIANCE" integer="23" desc="" />
<Value name="SHADER_LOC_MAP_PREFILTER" integer="24" desc="" />
<Value name="SHADER_LOC_MAP_BRDF" integer="25" desc="" />
<Enum name="ShaderLocationIndex" valueCount="26" desc="Shader location index">
<Value name="SHADER_LOC_VERTEX_POSITION" integer="0" desc="Shader location: vertex attribute: position" />
<Value name="SHADER_LOC_VERTEX_TEXCOORD01" integer="1" desc="Shader location: vertex attribute: texcoord01" />
<Value name="SHADER_LOC_VERTEX_TEXCOORD02" integer="2" desc="Shader location: vertex attribute: texcoord02" />
<Value name="SHADER_LOC_VERTEX_NORMAL" integer="3" desc="Shader location: vertex attribute: normal" />
<Value name="SHADER_LOC_VERTEX_TANGENT" integer="4" desc="Shader location: vertex attribute: tangent" />
<Value name="SHADER_LOC_VERTEX_COLOR" integer="5" desc="Shader location: vertex attribute: color" />
<Value name="SHADER_LOC_MATRIX_MVP" integer="6" desc="Shader location: matrix uniform: model-view-projection" />
<Value name="SHADER_LOC_MATRIX_VIEW" integer="7" desc="Shader location: matrix uniform: view (camera transform)" />
<Value name="SHADER_LOC_MATRIX_PROJECTION" integer="8" desc="Shader location: matrix uniform: projection" />
<Value name="SHADER_LOC_MATRIX_MODEL" integer="9" desc="Shader location: matrix uniform: model (transform)" />
<Value name="SHADER_LOC_MATRIX_NORMAL" integer="10" desc="Shader location: matrix uniform: normal" />
<Value name="SHADER_LOC_VECTOR_VIEW" integer="11" desc="Shader location: vector uniform: view" />
<Value name="SHADER_LOC_COLOR_DIFFUSE" integer="12" desc="Shader location: vector uniform: diffuse color" />
<Value name="SHADER_LOC_COLOR_SPECULAR" integer="13" desc="Shader location: vector uniform: specular color" />
<Value name="SHADER_LOC_COLOR_AMBIENT" integer="14" desc="Shader location: vector uniform: ambient color" />
<Value name="SHADER_LOC_MAP_ALBEDO" integer="15" desc="Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE)" />
<Value name="SHADER_LOC_MAP_METALNESS" integer="16" desc="Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR)" />
<Value name="SHADER_LOC_MAP_NORMAL" integer="17" desc="Shader location: sampler2d texture: normal" />
<Value name="SHADER_LOC_MAP_ROUGHNESS" integer="18" desc="Shader location: sampler2d texture: roughness" />
<Value name="SHADER_LOC_MAP_OCCLUSION" integer="19" desc="Shader location: sampler2d texture: occlusion" />
<Value name="SHADER_LOC_MAP_EMISSION" integer="20" desc="Shader location: sampler2d texture: emission" />
<Value name="SHADER_LOC_MAP_HEIGHT" integer="21" desc="Shader location: sampler2d texture: height" />
<Value name="SHADER_LOC_MAP_CUBEMAP" integer="22" desc="Shader location: samplerCube texture: cubemap" />
<Value name="SHADER_LOC_MAP_IRRADIANCE" integer="23" desc="Shader location: samplerCube texture: irradiance" />
<Value name="SHADER_LOC_MAP_PREFILTER" integer="24" desc="Shader location: samplerCube texture: prefilter" />
<Value name="SHADER_LOC_MAP_BRDF" integer="25" desc="Shader location: sampler2d texture: brdf" />
</Enum>
<Enum name="ShaderUniformDataType" valueCount="9" desc="">
<Value name="SHADER_UNIFORM_FLOAT" integer="0" desc="" />
<Value name="SHADER_UNIFORM_VEC2" integer="1" desc="" />
<Value name="SHADER_UNIFORM_VEC3" integer="2" desc="" />
<Value name="SHADER_UNIFORM_VEC4" integer="3" desc="" />
<Value name="SHADER_UNIFORM_INT" integer="4" desc="" />
<Value name="SHADER_UNIFORM_IVEC2" integer="5" desc="" />
<Value name="SHADER_UNIFORM_IVEC3" integer="6" desc="" />
<Value name="SHADER_UNIFORM_IVEC4" integer="7" desc="" />
<Value name="SHADER_UNIFORM_SAMPLER2D" integer="8" desc="" />
<Enum name="ShaderUniformDataType" valueCount="9" desc="Shader uniform data type">
<Value name="SHADER_UNIFORM_FLOAT" integer="0" desc="Shader uniform type: float" />
<Value name="SHADER_UNIFORM_VEC2" integer="1" desc="Shader uniform type: vec2 (2 float)" />
<Value name="SHADER_UNIFORM_VEC3" integer="2" desc="Shader uniform type: vec3 (3 float)" />
<Value name="SHADER_UNIFORM_VEC4" integer="3" desc="Shader uniform type: vec4 (4 float)" />
<Value name="SHADER_UNIFORM_INT" integer="4" desc="Shader uniform type: int" />
<Value name="SHADER_UNIFORM_IVEC2" integer="5" desc="Shader uniform type: ivec2 (2 int)" />
<Value name="SHADER_UNIFORM_IVEC3" integer="6" desc="Shader uniform type: ivec3 (3 int)" />
<Value name="SHADER_UNIFORM_IVEC4" integer="7" desc="Shader uniform type: ivec4 (4 int)" />
<Value name="SHADER_UNIFORM_SAMPLER2D" integer="8" desc="Shader uniform type: sampler2d" />
</Enum>
<Enum name="ShaderAttributeDataType" valueCount="4" desc="">
<Value name="SHADER_ATTRIB_FLOAT" integer="0" desc="" />
<Value name="SHADER_ATTRIB_VEC2" integer="1" desc="" />
<Value name="SHADER_ATTRIB_VEC3" integer="2" desc="" />
<Value name="SHADER_ATTRIB_VEC4" integer="3" desc="" />
<Enum name="ShaderAttributeDataType" valueCount="4" desc="Shader attribute data types">
<Value name="SHADER_ATTRIB_FLOAT" integer="0" desc="Shader attribute type: float" />
<Value name="SHADER_ATTRIB_VEC2" integer="1" desc="Shader attribute type: vec2 (2 float)" />
<Value name="SHADER_ATTRIB_VEC3" integer="2" desc="Shader attribute type: vec3 (3 float)" />
<Value name="SHADER_ATTRIB_VEC4" integer="3" desc="Shader attribute type: vec4 (4 float)" />
</Enum>
<Enum name="PixelFormat" valueCount="21" desc="">
<Value name="PIXELFORMAT_UNCOMPRESSED_GRAYSCALE" integer="1" desc="" />
<Value name="PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA" integer="2" desc="" />
<Value name="PIXELFORMAT_UNCOMPRESSED_R5G6B5" integer="3" desc="" />
<Value name="PIXELFORMAT_UNCOMPRESSED_R8G8B8" integer="4" desc="" />
<Value name="PIXELFORMAT_UNCOMPRESSED_R5G5B5A1" integer="5" desc="" />
<Value name="PIXELFORMAT_UNCOMPRESSED_R4G4B4A4" integer="6" desc="" />
<Value name="PIXELFORMAT_UNCOMPRESSED_R8G8B8A8" integer="7" desc="" />
<Value name="PIXELFORMAT_UNCOMPRESSED_R32" integer="8" desc="" />
<Value name="PIXELFORMAT_UNCOMPRESSED_R32G32B32" integer="9" desc="" />
<Value name="PIXELFORMAT_UNCOMPRESSED_R32G32B32A32" integer="10" desc="" />
<Value name="PIXELFORMAT_COMPRESSED_DXT1_RGB" integer="11" desc="" />
<Value name="PIXELFORMAT_COMPRESSED_DXT1_RGBA" integer="12" desc="" />
<Value name="PIXELFORMAT_COMPRESSED_DXT3_RGBA" integer="13" desc="" />
<Value name="PIXELFORMAT_COMPRESSED_DXT5_RGBA" integer="14" desc="" />
<Value name="PIXELFORMAT_COMPRESSED_ETC1_RGB" integer="15" desc="" />
<Value name="PIXELFORMAT_COMPRESSED_ETC2_RGB" integer="16" desc="" />
<Value name="PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA" integer="17" desc="" />
<Value name="PIXELFORMAT_COMPRESSED_PVRT_RGB" integer="18" desc="" />
<Value name="PIXELFORMAT_COMPRESSED_PVRT_RGBA" integer="19" desc="" />
<Value name="PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA" integer="20" desc="" />
<Value name="PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA" integer="21" desc="" />
<Enum name="PixelFormat" valueCount="21" desc="Pixel formats">
<Value name="PIXELFORMAT_UNCOMPRESSED_GRAYSCALE" integer="1" desc="8 bit per pixel (no alpha)" />
<Value name="PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA" integer="2" desc="8*2 bpp (2 channels)" />
<Value name="PIXELFORMAT_UNCOMPRESSED_R5G6B5" integer="3" desc="16 bpp" />
<Value name="PIXELFORMAT_UNCOMPRESSED_R8G8B8" integer="4" desc="24 bpp" />
<Value name="PIXELFORMAT_UNCOMPRESSED_R5G5B5A1" integer="5" desc="16 bpp (1 bit alpha)" />
<Value name="PIXELFORMAT_UNCOMPRESSED_R4G4B4A4" integer="6" desc="16 bpp (4 bit alpha)" />
<Value name="PIXELFORMAT_UNCOMPRESSED_R8G8B8A8" integer="7" desc="32 bpp" />
<Value name="PIXELFORMAT_UNCOMPRESSED_R32" integer="8" desc="32 bpp (1 channel - float)" />
<Value name="PIXELFORMAT_UNCOMPRESSED_R32G32B32" integer="9" desc="32*3 bpp (3 channels - float)" />
<Value name="PIXELFORMAT_UNCOMPRESSED_R32G32B32A32" integer="10" desc="32*4 bpp (4 channels - float)" />
<Value name="PIXELFORMAT_COMPRESSED_DXT1_RGB" integer="11" desc="4 bpp (no alpha)" />
<Value name="PIXELFORMAT_COMPRESSED_DXT1_RGBA" integer="12" desc="4 bpp (1 bit alpha)" />
<Value name="PIXELFORMAT_COMPRESSED_DXT3_RGBA" integer="13" desc="8 bpp" />
<Value name="PIXELFORMAT_COMPRESSED_DXT5_RGBA" integer="14" desc="8 bpp" />
<Value name="PIXELFORMAT_COMPRESSED_ETC1_RGB" integer="15" desc="4 bpp" />
<Value name="PIXELFORMAT_COMPRESSED_ETC2_RGB" integer="16" desc="4 bpp" />
<Value name="PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA" integer="17" desc="8 bpp" />
<Value name="PIXELFORMAT_COMPRESSED_PVRT_RGB" integer="18" desc="4 bpp" />
<Value name="PIXELFORMAT_COMPRESSED_PVRT_RGBA" integer="19" desc="4 bpp" />
<Value name="PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA" integer="20" desc="8 bpp" />
<Value name="PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA" integer="21" desc="2 bpp" />
</Enum>
<Enum name="TextureFilter" valueCount="6" desc="">
<Value name="TEXTURE_FILTER_POINT" integer="0" desc="" />
<Value name="TEXTURE_FILTER_BILINEAR" integer="1" desc="" />
<Value name="TEXTURE_FILTER_TRILINEAR" integer="2" desc="" />
<Value name="TEXTURE_FILTER_ANISOTROPIC_4X" integer="3" desc="" />
<Value name="TEXTURE_FILTER_ANISOTROPIC_8X" integer="4" desc="" />
<Value name="TEXTURE_FILTER_ANISOTROPIC_16X" integer="5" desc="" />
<Enum name="TextureFilter" valueCount="6" desc="Texture parameters: filter mode">
<Value name="TEXTURE_FILTER_POINT" integer="0" desc="No filter, just pixel approximation" />
<Value name="TEXTURE_FILTER_BILINEAR" integer="1" desc="Linear filtering" />
<Value name="TEXTURE_FILTER_TRILINEAR" integer="2" desc="Trilinear filtering (linear with mipmaps)" />
<Value name="TEXTURE_FILTER_ANISOTROPIC_4X" integer="3" desc="Anisotropic filtering 4x" />
<Value name="TEXTURE_FILTER_ANISOTROPIC_8X" integer="4" desc="Anisotropic filtering 8x" />
<Value name="TEXTURE_FILTER_ANISOTROPIC_16X" integer="5" desc="Anisotropic filtering 16x" />
</Enum>
<Enum name="TextureWrap" valueCount="4" desc="">
<Value name="TEXTURE_WRAP_REPEAT" integer="0" desc="" />
<Value name="TEXTURE_WRAP_CLAMP" integer="1" desc="" />
<Value name="TEXTURE_WRAP_MIRROR_REPEAT" integer="2" desc="" />
<Value name="TEXTURE_WRAP_MIRROR_CLAMP" integer="3" desc="" />
<Enum name="TextureWrap" valueCount="4" desc="Texture parameters: wrap mode">
<Value name="TEXTURE_WRAP_REPEAT" integer="0" desc="Repeats texture in tiled mode" />
<Value name="TEXTURE_WRAP_CLAMP" integer="1" desc="Clamps texture to edge pixel in tiled mode" />
<Value name="TEXTURE_WRAP_MIRROR_REPEAT" integer="2" desc="Mirrors and repeats the texture in tiled mode" />
<Value name="TEXTURE_WRAP_MIRROR_CLAMP" integer="3" desc="Mirrors and clamps to border the texture in tiled mode" />
</Enum>
<Enum name="CubemapLayout" valueCount="6" desc="">
<Value name="CUBEMAP_LAYOUT_AUTO_DETECT" integer="0" desc="" />
<Value name="CUBEMAP_LAYOUT_LINE_VERTICAL" integer="1" desc="" />
<Value name="CUBEMAP_LAYOUT_LINE_HORIZONTAL" integer="2" desc="" />
<Value name="CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR" integer="3" desc="" />
<Value name="CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE" integer="4" desc="" />
<Value name="CUBEMAP_LAYOUT_PANORAMA" integer="5" desc="" />
<Enum name="CubemapLayout" valueCount="6" desc="Cubemap layouts">
<Value name="CUBEMAP_LAYOUT_AUTO_DETECT" integer="0" desc="Automatically detect layout type" />
<Value name="CUBEMAP_LAYOUT_LINE_VERTICAL" integer="1" desc="Layout is defined by a vertical line with faces" />
<Value name="CUBEMAP_LAYOUT_LINE_HORIZONTAL" integer="2" desc="Layout is defined by an horizontal line with faces" />
<Value name="CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR" integer="3" desc="Layout is defined by a 3x4 cross with cubemap faces" />
<Value name="CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE" integer="4" desc="Layout is defined by a 4x3 cross with cubemap faces" />
<Value name="CUBEMAP_LAYOUT_PANORAMA" integer="5" desc="Layout is defined by a panorama image (equirectangular map)" />
</Enum>
<Enum name="FontType" valueCount="3" desc="">
<Value name="FONT_DEFAULT" integer="0" desc="" />
<Value name="FONT_BITMAP" integer="1" desc="" />
<Value name="FONT_SDF" integer="2" desc="" />
<Enum name="FontType" valueCount="3" desc="Font type, defines generation method">
<Value name="FONT_DEFAULT" integer="0" desc="Default font generation, anti-aliased" />
<Value name="FONT_BITMAP" integer="1" desc="Bitmap font generation, no anti-aliasing" />
<Value name="FONT_SDF" integer="2" desc="SDF font generation, requires external shader" />
</Enum>
<Enum name="BlendMode" valueCount="6" desc="">
<Value name="BLEND_ALPHA" integer="0" desc="" />
<Value name="BLEND_ADDITIVE" integer="1" desc="" />
<Value name="BLEND_MULTIPLIED" integer="2" desc="" />
<Value name="BLEND_ADD_COLORS" integer="3" desc="" />
<Value name="BLEND_SUBTRACT_COLORS" integer="4" desc="" />
<Value name="BLEND_CUSTOM" integer="5" desc="" />
<Enum name="BlendMode" valueCount="6" desc="Color blending modes (pre-defined)">
<Value name="BLEND_ALPHA" integer="0" desc="Blend textures considering alpha (default)" />
<Value name="BLEND_ADDITIVE" integer="1" desc="Blend textures adding colors" />
<Value name="BLEND_MULTIPLIED" integer="2" desc="Blend textures multiplying colors" />
<Value name="BLEND_ADD_COLORS" integer="3" desc="Blend textures adding colors (alternative)" />
<Value name="BLEND_SUBTRACT_COLORS" integer="4" desc="Blend textures subtracting colors (alternative)" />
<Value name="BLEND_CUSTOM" integer="5" desc="Belnd textures using custom src/dst factors (use rlSetBlendMode())" />
</Enum>
<Enum name="Gesture" valueCount="11" desc="">
<Value name="GESTURE_NONE" integer="0" desc="" />
<Value name="GESTURE_TAP" integer="1" desc="" />
<Value name="GESTURE_DOUBLETAP" integer="2" desc="" />
<Value name="GESTURE_HOLD" integer="4" desc="" />
<Value name="GESTURE_DRAG" integer="8" desc="" />
<Value name="GESTURE_SWIPE_RIGHT" integer="16" desc="" />
<Value name="GESTURE_SWIPE_LEFT" integer="32" desc="" />
<Value name="GESTURE_SWIPE_UP" integer="64" desc="" />
<Value name="GESTURE_SWIPE_DOWN" integer="128" desc="" />
<Value name="GESTURE_PINCH_IN" integer="256" desc="" />
<Value name="GESTURE_PINCH_OUT" integer="512" desc="" />
<Enum name="Gesture" valueCount="11" desc="Gesture">
<Value name="GESTURE_NONE" integer="0" desc="No gesture" />
<Value name="GESTURE_TAP" integer="1" desc="Tap gesture" />
<Value name="GESTURE_DOUBLETAP" integer="2" desc="Double tap gesture" />
<Value name="GESTURE_HOLD" integer="4" desc="Hold gesture" />
<Value name="GESTURE_DRAG" integer="8" desc="Drag gesture" />
<Value name="GESTURE_SWIPE_RIGHT" integer="16" desc="Swipe right gesture" />
<Value name="GESTURE_SWIPE_LEFT" integer="32" desc="Swipe left gesture" />
<Value name="GESTURE_SWIPE_UP" integer="64" desc="Swipe up gesture" />
<Value name="GESTURE_SWIPE_DOWN" integer="128" desc="Swipe down gesture" />
<Value name="GESTURE_PINCH_IN" integer="256" desc="Pinch in gesture" />
<Value name="GESTURE_PINCH_OUT" integer="512" desc="Pinch out gesture" />
</Enum>
<Enum name="CameraMode" valueCount="5" desc="">
<Value name="CAMERA_CUSTOM" integer="0" desc="" />
<Value name="CAMERA_FREE" integer="1" desc="" />
<Value name="CAMERA_ORBITAL" integer="2" desc="" />
<Value name="CAMERA_FIRST_PERSON" integer="3" desc="" />
<Value name="CAMERA_THIRD_PERSON" integer="4" desc="" />
<Enum name="CameraMode" valueCount="5" desc="Camera system modes">
<Value name="CAMERA_CUSTOM" integer="0" desc="Custom camera" />
<Value name="CAMERA_FREE" integer="1" desc="Free camera" />
<Value name="CAMERA_ORBITAL" integer="2" desc="Orbital camera" />
<Value name="CAMERA_FIRST_PERSON" integer="3" desc="First person camera" />
<Value name="CAMERA_THIRD_PERSON" integer="4" desc="Third person camera" />
</Enum>
<Enum name="CameraProjection" valueCount="2" desc="">
<Value name="CAMERA_PERSPECTIVE" integer="0" desc="" />
<Value name="CAMERA_ORTHOGRAPHIC" integer="1" desc="" />
<Enum name="CameraProjection" valueCount="2" desc="Camera projection">
<Value name="CAMERA_PERSPECTIVE" integer="0" desc="Perspective projection" />
<Value name="CAMERA_ORTHOGRAPHIC" integer="1" desc="Orthographic projection" />
</Enum>
<Enum name="NPatchLayout" valueCount="3" desc="">
<Value name="NPATCH_NINE_PATCH" integer="0" desc="" />
<Value name="NPATCH_THREE_PATCH_VERTICAL" integer="1" desc="" />
<Value name="NPATCH_THREE_PATCH_HORIZONTAL" integer="2" desc="" />
<Enum name="NPatchLayout" valueCount="3" desc="N-patch layout">
<Value name="NPATCH_NINE_PATCH" integer="0" desc="Npatch layout: 3x3 tiles" />
<Value name="NPATCH_THREE_PATCH_VERTICAL" integer="1" desc="Npatch layout: 1x3 tiles" />
<Value name="NPATCH_THREE_PATCH_HORIZONTAL" integer="2" desc="Npatch layout: 3x1 tiles" />
</Enum>
</Enums>
<Functions count="487">
<Functions count="489">
<Function name="InitWindow" retType="void" paramCount="3" desc="Initialize window and OpenGL context">
<Param type="int" name="width" desc="" />
<Param type="int" name="height" desc="" />
@ -610,6 +610,10 @@
</Function>
<Function name="GetScreenHeight" retType="int" paramCount="0" desc="Get current screen height">
</Function>
<Function name="GetRenderWidth" retType="int" paramCount="0" desc="Get current render width (it considers HiDPI)">
</Function>
<Function name="GetRenderHeight" retType="int" paramCount="0" desc="Get current render height (it considers HiDPI)">
</Function>
<Function name="GetMonitorCount" retType="int" paramCount="0" desc="Get number of connected monitors">
</Function>
<Function name="GetCurrentMonitor" retType="int" paramCount="0" desc="Get current connected monitor">

View File

@ -105,7 +105,7 @@ typedef struct EnumInfo {
int valueCount; // Number of values in enumerator
char valueName[MAX_ENUM_VALUES][64]; // Value name definition
int valueInteger[MAX_ENUM_VALUES]; // Value integer
char valueDesc[MAX_ENUM_VALUES][64]; // Value description
char valueDesc[MAX_ENUM_VALUES][128]; // Value description
} EnumInfo;
// Output format for parsed data
@ -139,7 +139,7 @@ static void GetDataTypeAndName(const char *typeName, int typeNameLen, char *type
static unsigned int TextLength(const char *text); // Get text length in bytes, check for \0 character
static bool IsTextEqual(const char *text1, const char *text2, unsigned int count);
static void MemoryCopy(void *dest, const void *src, unsigned int count);
static char* CharReplace(char* text, char search, char replace);
static char* EscapeBackslashes(char *text);
static void ExportParsedData(const char *fileName, int format); // Export parsed data in desired format
@ -186,7 +186,7 @@ int main(int argc, char* argv[])
}
// Read structs data (multiple lines, read directly from buffer)
// TODO: Parse structs data from "lines" instead of "buffer" -> Easier to get struct definition
// TODO: Parse structs data from "lines" instead of "buffer" -> Easier to get struct definition and description
for (int i = 0; i < length; i++)
{
// Read struct data (starting with "typedef struct", ending with '} ... ;')
@ -261,6 +261,8 @@ int main(int argc, char* argv[])
{
int structLineOffset = 0;
// TODO: Get struct description
// Get struct name: typedef struct name {
for (int c = 15; c < 64 + 15; c++)
{
@ -332,7 +334,20 @@ int main(int argc, char* argv[])
for (int i = 0; i < enumCount; i++)
{
// TODO: Get enum description from lines[enumLines[i] - 1]
// Parse enum description
// NOTE: This is not necessarily from the line immediately before,
// some of the enums have extra lines between the "description"
// and the typedef enum
for (int j = enumLines[i] - 1; j > 0; j--)
{
char *linePtr = lines[j];
if ((linePtr[0] != '/') || (linePtr[2] != ' '))
{
MemoryCopy(enums[i].desc, &lines[j + 1][0], sizeof(enums[i].desc) - 1);
break;
}
}
for (int j = 1; j < MAX_ENUM_VALUES*2; j++) // Maximum number of lines following enum first line
{
@ -367,7 +382,7 @@ int main(int argc, char* argv[])
// '=' -> value is provided
// ' ' -> value is equal to previous + 1, there could be a description if not '\0'
bool foundValue = false;
while (linePtr[c] != '\0')
while ((linePtr[c] != '\0') && (linePtr[c] != '/'))
{
if (linePtr[c] == '=') { foundValue = true; break; }
c++;
@ -392,11 +407,17 @@ int main(int argc, char* argv[])
else enums[i].valueInteger[enums[i].valueCount] = atoi(integer);
}
else enums[i].valueInteger[enums[i].valueCount] = (enums[i].valueInteger[enums[i].valueCount - 1] + 1);
// TODO: Parse value description if any
}
else enums[i].valueInteger[enums[i].valueCount] = (enums[i].valueInteger[enums[i].valueCount - 1] + 1);
// Look for description or end of line
while ((linePtr[c] != '/') && (linePtr[c] != '\0')) { c++; }
if (linePtr[c] == '/')
{
// Parse value description
MemoryCopy(enums[i].valueDesc[enums[i].valueCount], &linePtr[c], sizeof(enums[0].valueDesc[0]) - c - 1);
}
enums[i].valueCount++;
}
else if (linePtr[0] == '}')
@ -743,13 +764,19 @@ static bool IsTextEqual(const char *text1, const char *text2, unsigned int count
return result;
}
// Search and replace a character within a string.
static char* CharReplace(char* text, char search, char replace)
// Escape backslashes in a string, writing the escaped string into a static buffer
static char* EscapeBackslashes(char *text)
{
for (int i = 0; text[i] != '\0'; i++)
if (text[i] == search)
text[i] = replace;
return text;
static char buf[256];
char *a = text;
char *b = buf;
do
{
if (*a == '\\') *b++ = '\\';
*b++ = *a;
}
while (*a++);
return buf;
}
/*
@ -855,14 +882,14 @@ static void ExportParsedData(const char *fileName, int format)
{
fprintf(outFile, " {\n");
fprintf(outFile, " name = \"%s\",\n", structs[i].name);
fprintf(outFile, " description = \"%s\",\n", structs[i].desc);
fprintf(outFile, " description = \"%s\",\n", EscapeBackslashes(structs[i].desc + 3));
fprintf(outFile, " fields = {\n");
for (int f = 0; f < structs[i].fieldCount; f++)
{
fprintf(outFile, " {\n");
fprintf(outFile, " name = \"%s\",\n", structs[i].fieldName[f]),
fprintf(outFile, " type = \"%s\",\n", structs[i].fieldType[f]),
fprintf(outFile, " description = \"%s\"\n", structs[i].fieldDesc[f] + 3),
fprintf(outFile, " name = \"%s\",\n", structs[i].fieldName[f]);
fprintf(outFile, " type = \"%s\",\n", structs[i].fieldType[f]);
fprintf(outFile, " description = \"%s\"\n", EscapeBackslashes(structs[i].fieldDesc[f] + 3));
fprintf(outFile, " }");
if (f < structs[i].fieldCount - 1) fprintf(outFile, ",\n");
else fprintf(outFile, "\n");
@ -880,14 +907,14 @@ static void ExportParsedData(const char *fileName, int format)
{
fprintf(outFile, " {\n");
fprintf(outFile, " name = \"%s\",\n", enums[i].name);
fprintf(outFile, " description = \"%s\",\n", enums[i].desc + 3);
fprintf(outFile, " description = \"%s\",\n", EscapeBackslashes(enums[i].desc + 3));
fprintf(outFile, " values = {\n");
for (int e = 0; e < enums[i].valueCount; e++)
{
fprintf(outFile, " {\n");
fprintf(outFile, " name = \"%s\",\n", enums[i].valueName[e]),
fprintf(outFile, " value = %i,\n", enums[i].valueInteger[e]),
fprintf(outFile, " description = \"%s\"\n", enums[i].valueDesc[e] + 3),
fprintf(outFile, " name = \"%s\",\n", enums[i].valueName[e]);
fprintf(outFile, " value = %i,\n", enums[i].valueInteger[e]);
fprintf(outFile, " description = \"%s\"\n", EscapeBackslashes(enums[i].valueDesc[e] + 3));
fprintf(outFile, " }");
if (e < enums[i].valueCount - 1) fprintf(outFile, ",\n");
else fprintf(outFile, "\n");
@ -905,7 +932,7 @@ static void ExportParsedData(const char *fileName, int format)
{
fprintf(outFile, " {\n");
fprintf(outFile, " name = \"%s\",\n", funcs[i].name);
fprintf(outFile, " description = \"%s\",\n", CharReplace(funcs[i].desc, '\\', ' ') + 3);
fprintf(outFile, " description = \"%s\",\n", EscapeBackslashes(funcs[i].desc + 3));
fprintf(outFile, " returnType = \"%s\"", funcs[i].retType);
if (funcs[i].paramCount == 0) fprintf(outFile, "\n");
@ -938,14 +965,14 @@ static void ExportParsedData(const char *fileName, int format)
{
fprintf(outFile, " {\n");
fprintf(outFile, " \"name\": \"%s\",\n", structs[i].name);
fprintf(outFile, " \"description\": \"%s\",\n", structs[i].desc);
fprintf(outFile, " \"description\": \"%s\",\n", EscapeBackslashes(structs[i].desc + 3));
fprintf(outFile, " \"fields\": [\n");
for (int f = 0; f < structs[i].fieldCount; f++)
{
fprintf(outFile, " {\n");
fprintf(outFile, " \"name\": \"%s\",\n", structs[i].fieldName[f]),
fprintf(outFile, " \"type\": \"%s\",\n", structs[i].fieldType[f]),
fprintf(outFile, " \"description\": \"%s\"\n", structs[i].fieldDesc[f] + 3),
fprintf(outFile, " \"name\": \"%s\",\n", structs[i].fieldName[f]);
fprintf(outFile, " \"type\": \"%s\",\n", structs[i].fieldType[f]);
fprintf(outFile, " \"description\": \"%s\"\n", EscapeBackslashes(structs[i].fieldDesc[f] + 3));
fprintf(outFile, " }");
if (f < structs[i].fieldCount - 1) fprintf(outFile, ",\n");
else fprintf(outFile, "\n");
@ -963,14 +990,14 @@ static void ExportParsedData(const char *fileName, int format)
{
fprintf(outFile, " {\n");
fprintf(outFile, " \"name\": \"%s\",\n", enums[i].name);
fprintf(outFile, " \"description\": \"%s\",\n", enums[i].desc + 3);
fprintf(outFile, " \"description\": \"%s\",\n", EscapeBackslashes(enums[i].desc + 3));
fprintf(outFile, " \"values\": [\n");
for (int e = 0; e < enums[i].valueCount; e++)
{
fprintf(outFile, " {\n");
fprintf(outFile, " \"name\": \"%s\",\n", enums[i].valueName[e]),
fprintf(outFile, " \"value\": %i,\n", enums[i].valueInteger[e]),
fprintf(outFile, " \"description\": \"%s\"\n", enums[i].valueDesc[e] + 3),
fprintf(outFile, " \"name\": \"%s\",\n", enums[i].valueName[e]);
fprintf(outFile, " \"value\": %i,\n", enums[i].valueInteger[e]);
fprintf(outFile, " \"description\": \"%s\"\n", EscapeBackslashes(enums[i].valueDesc[e] + 3));
fprintf(outFile, " }");
if (e < enums[i].valueCount - 1) fprintf(outFile, ",\n");
else fprintf(outFile, "\n");
@ -988,7 +1015,7 @@ static void ExportParsedData(const char *fileName, int format)
{
fprintf(outFile, " {\n");
fprintf(outFile, " \"name\": \"%s\",\n", funcs[i].name);
fprintf(outFile, " \"description\": \"%s\",\n", CharReplace(funcs[i].desc, '\\', ' ') + 3);
fprintf(outFile, " \"description\": \"%s\",\n", EscapeBackslashes(funcs[i].desc + 3));
fprintf(outFile, " \"returnType\": \"%s\"", funcs[i].retType);
if (funcs[i].paramCount == 0) fprintf(outFile, "\n");