]> gitweb.factorcode.org Git - factor.git/commitdiff
raylib-docs: document every enum...
authorCapital <CapitalEx@protonmail.com>
Mon, 11 Sep 2023 22:26:56 +0000 (18:26 -0400)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sat, 16 Sep 2023 16:28:46 +0000 (09:28 -0700)
extra/raylib/raylib-docs.factor

index e68df09bd3e42d1be651f1f1b911a9c7722fe6b9..01374b8118379153d273b488fca08c5dd30d8957 100644 (file)
@@ -1,14 +1,13 @@
 ! Copyright (C) 2023 CapitalEx.
 ! See https://factorcode.org/license.txt for BSD license.
-USING: help.markup help.syntax kernel quotations urls ;
+USING: accessors alien.c-types arrays help.markup help.syntax
+kernel make math math.parser quotations sequences strings urls ;
 IN: raylib
 
 <PRIVATE
-: $related-subsections ( element -- )
-    [ related-words ] [ $subsections ] bi ;
-
 : $enum-members ( element -- )
-    "Enum members" $heading $related-subsections ;
+    "Enum members" $heading
+    first lookup-c-type members>> [ first ] map $subsections ;
 
 : $raylib-color ( element -- )
     "Word description" $heading
@@ -19,5347 +18,1859 @@ IN: raylib
     { "https://raw.githubusercontent.com/raysan5/raylib/master/examples/shapes/shapes_colors_palette.png" }
         $url ;
 
+GENERIC: ($raylib-key) ( array -- )
+PREDICATE: triple < array length>> 3 = ;
 
-PRIVATE>
+M: pair ($raylib-key)
+    "Represents the key " print-element
+    first2 [ % " (" % # ")" % ] "" make $snippet
+    "." print-element ;
 
-HELP: &unload-audio-stream
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+M: triple ($raylib-key)
+    unclip-last swap ($raylib-key) " " [ print-element ] bi@ ;
 
-HELP: &unload-file-data
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
 
-HELP: &unload-file-text
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+: $raylib-key ( element -- )
+    "Enum value description" $heading
+    ($raylib-key)
+    { $see-also KeyboardKey } print-element ;
 
-HELP: &unload-font
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+PRIVATE>
 
-HELP: &unload-image
+! Raylib version info
+HELP: RAYLIB_VERSION_MAJOR
 { $values
-    { "alien" object }
+    value: fixnum
 }
-{ $description "" } ;
+{ $description
+    The current major version of raylib.
+} ;
 
-HELP: &unload-image-colors
+HELP: RAYLIB_VERSION_MINOR
 { $values
-    { "alien" object }
+    value: fixnum
 }
-{ $description "" } ;
+{ $description
+    The current minor version of raylib.
+} ;
 
-HELP: &unload-image-palette
+HELP: RAYLIB_VERSION_PATCH
 { $values
-    { "alien" object }
+    value: fixnum
 }
-{ $description "" } ;
+{ $description
+    The current patch version of raylib.
+} ;
 
-HELP: &unload-material
+HELP: RAYLIB_VERSION
 { $values
-    { "alien" object }
+    value: string
 }
-{ $description "" } ;
+{ $description
+    A string representing the current version of raylib.
+} ;
 
-HELP: &unload-mesh
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
 
-HELP: &unload-model
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+! Config flag enum
+HELP: ConfigFlags
+{ $var-description
+    An enum representing the various configuration flags in Raylib.
 
-HELP: &unload-model-animation
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+    { $enum-members ConfigFlags }
+} ;
 
-HELP: &unload-music-stream
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+HELP: FLAG_VSYNC_HINT
+{ $class-description
+    Setting this flag will attempt to enable v-sync on the GPU.
+    { $see-also ConfigFlags }
+} ;
 
-HELP: &unload-render-texture
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+HELP: FLAG_FULLSCREEN_MODE
+{ $class-description
+    Setting this flag will run the program in fullscreen
+    { $see-also ConfigFlags }
+} ;
 
-HELP: &unload-shader
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+HELP: FLAG_WINDOW_RESIZABLE
+{ $class-description
+    Setting this flag allows for resizing the window.
+    { $see-also ConfigFlags }
+} ;
 
-HELP: &unload-sound
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+HELP: FLAG_WINDOW_UNDECORATED
+{ $class-description
+    Setting this flag remove window decorations (frame and buttons).
+    { $see-also ConfigFlags }
+} ;
 
-HELP: &unload-texture
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+HELP: FLAG_WINDOW_HIDDEN
+{ $class-description
+    Setting this flag will hide the window.
+    { $see-also ConfigFlags }
+} ;
 
-HELP: &unload-wave
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+HELP: FLAG_WINDOW_MINIMIZED
+{ $class-description
+    Setting this flag will minize the window.
+    { $see-also ConfigFlags }
+} ;
 
-HELP: <BlendMode>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+HELP: FLAG_WINDOW_MAXIMIZED
+{ $class-description
+    Setting this flag will maximize the window to the monitor size.
+    { $see-also ConfigFlags }
+} ;
 
-HELP: <CameraMode>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+HELP: FLAG_WINDOW_UNFOCUSED
+{ $class-description
+    Setting this flag will set the window to be unfocused.
+    { $see-also ConfigFlags }
+} ;
 
-HELP: <CameraProjection>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+HELP: FLAG_WINDOW_TOPMOST
+{ $class-description
+    Setting this flag sets the window to always be on top.
+    { $see-also ConfigFlags }
+} ;
 
-HELP: <ConfigFlags>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+HELP: FLAG_WINDOW_ALWAYS_RUN
+{ $class-description
+    Setting this flag allows the window to run while minimized.
+    { $see-also ConfigFlags }
+} ;
 
-HELP: <CubemapLayout>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+HELP: FLAG_WINDOW_TRANSPARENT
+{ $class-description
+    Setting this flag allows for transparent framebuffer.
+    { $see-also ConfigFlags }
+} ;
 
-HELP: <FontType>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+HELP: FLAG_WINDOW_HIGHDPI
+{ $class-description
+    Setting this flag will enable HighDPI support.
+    { $see-also ConfigFlags }
+} ;
 
-HELP: <GamepadAxis>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+HELP: FLAG_MSAA_4X_HINT
+{ $class-description
+    Setting this flag will attempt to enable MSAA 4x.
+    { $see-also ConfigFlags }
+} ;
 
-HELP: <GamepadButton>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+HELP: FLAG_INTERLACED_HINT
+{ $class-description
+    Setting this flag will attempt to enable the interlaced video
+    format for V3D.
+    { $see-also ConfigFlags }
+} ;
 
-HELP: <Gestures>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
 
-HELP: <KeyboardKey>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+! Trace log level enum
+HELP: TraceLogLevel
+{ $var-description
+    Represents the various logging levels in Raylib.
+    Logs are displayed using the system's standard output.
 
-HELP: <MaterialMapIndex>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+    { $enum-members TraceLogLevel }
+} ;
 
-HELP: <MouseButton>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+HELP: LOG_ALL
+{ $class-description
+    Displays all logs.
 
-HELP: <MouseCursor>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+    { $see-also TraceLogLevel }
+} ;
 
-HELP: <NPatchLayout>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+HELP: LOG_TRACE
+{ $class-description
+    Deplays trace logging. \ LOG_TRACE meant for internal usage.
 
-HELP: <PixelFormat>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+    { $see-also TraceLogLevel }
+} ;
 
-HELP: <ShaderAttributeDataType>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+HELP: LOG_INFO
+{ $class-description
+    Displays debugging logs. { $snippet LOG_INFO } is used for internal
+    debugging and should be disabled on release builds.
 
-HELP: <ShaderLocationIndex>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+    { $see-also TraceLogLevel }
+} ;
 
-HELP: <ShaderUniformDataType>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+HELP: LOG_WARNING
+{ $class-description
+    Displays warning logs. Warnings are recoverable failures.
 
-HELP: <TextureFilterMode>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+    { $see-also TraceLogLevel }
+} ;
 
-HELP: <TextureWrapMode>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+HELP: LOG_ERROR
+{ $class-description
+    Displays error logs. Errors are unrecoverable failures.
 
-HELP: <TraceLogLevel>
-{ $values
-    { "number" object }
-    { "enum" object }
-}
-{ $description "" } ;
+    { $see-also TraceLogLevel }
+} ;
 
-HELP: <Vector2>
-{ $values
-    { "x" object } { "y" object }
-    { "obj" object }
-}
-{ $description "" } ;
+HELP: LOG_FATAL
+{ $class-description
+    Displays fatal logs. Fatal errors are used while aborting
+    the program.
+    { $see-also TraceLogLevel }
+} ;
 
-HELP: <Vector3>
-{ $values
-    { "x" object } { "y" object } { "z" object }
-    { "obj" object }
-}
-{ $description "" } ;
+HELP: LOG_NONE
+{ $class-description
+    Disables raylib logging.
 
-HELP: <Vector4>
-{ $values
-    { "x" object } { "y" object } { "z" object } { "w" object }
-    { "obj" object }
-}
-{ $description "" } ;
+    { $see-also TraceLogLevel }
+} ;
 
-HELP: <unload-audio-stream-destructor>
-{ $values
-    { "alien" object }
-    { "destructor" object }
-}
-{ $description "" } ;
 
-HELP: <unload-file-data-destructor>
-{ $values
-    { "alien" object }
-    { "destructor" object }
-}
-{ $description "" } ;
+! Keyboard key enum
+HELP: KeyboardKey
+{ $var-description
+    An enum representing the various key codes Raylib can produce.
+    These codes are based on the physical layout of a US QWERTY
+    keyboard layout. Use \ get-key-pressed to allow for defining
+    alternative layouts.
 
-HELP: <unload-file-text-destructor>
-{ $values
-    { "alien" object }
-    { "destructor" object }
-}
-{ $description "" } ;
+    { $enum-members KeyboardKey }
+} ;
 
-HELP: <unload-font-destructor>
-{ $values
-    { "alien" object }
-    { "destructor" object }
-}
-{ $description "" } ;
+HELP: KEY_NULL          { $raylib-key 0    "NULL" " Used for no key pressed." } ;
+HELP: KEY_APOSTROPHE    { $raylib-key 39   "'"                                } ;
+HELP: KEY_COMMA         { $raylib-key 44   ","                                } ;
+HELP: KEY_MINUS         { $raylib-key 45   "-"                                } ;
+HELP: KEY_PERIOD        { $raylib-key 46   "."                                } ;
+HELP: KEY_SLASH         { $raylib-key 47   "/"                                } ;
+HELP: KEY_ZERO          { $raylib-key 48   "0"                                } ;
+HELP: KEY_ONE           { $raylib-key 49   "1"                                } ;
+HELP: KEY_TWO           { $raylib-key 50   "2"                                } ;
+HELP: KEY_THREE         { $raylib-key 51   "3"                                } ;
+HELP: KEY_FOUR          { $raylib-key 52   "4"                                } ;
+HELP: KEY_FIVE          { $raylib-key 53   "5"                                } ;
+HELP: KEY_SIX           { $raylib-key 54   "6"                                } ;
+HELP: KEY_SEVEN         { $raylib-key 55   "7"                                } ;
+HELP: KEY_EIGHT         { $raylib-key 56   "8"                                } ;
+HELP: KEY_NINE          { $raylib-key 57   "9"                                } ;
+HELP: KEY_SEMICOLON     { $raylib-key 59   ";"                                } ;
+HELP: KEY_EQUAL         { $raylib-key 61   "="                                } ;
+HELP: KEY_A             { $raylib-key 65   "lowercase and uppercase A"        } ;
+HELP: KEY_B             { $raylib-key 66   "lowercase and uppercase B"        } ;
+HELP: KEY_C             { $raylib-key 67   "lowercase and uppercase C"        } ;
+HELP: KEY_D             { $raylib-key 68   "lowercase and uppercase D"        } ;
+HELP: KEY_E             { $raylib-key 69   "lowercase and uppercase E"        } ;
+HELP: KEY_F             { $raylib-key 70   "lowercase and uppercase F"        } ;
+HELP: KEY_G             { $raylib-key 71   "lowercase and uppercase G"        } ;
+HELP: KEY_H             { $raylib-key 72   "lowercase and uppercase H"        } ;
+HELP: KEY_I             { $raylib-key 73   "lowercase and uppercase I"        } ;
+HELP: KEY_J             { $raylib-key 74   "lowercase and uppercase J"        } ;
+HELP: KEY_K             { $raylib-key 75   "lowercase and uppercase K"        } ;
+HELP: KEY_L             { $raylib-key 76   "lowercase and uppercase L"        } ;
+HELP: KEY_M             { $raylib-key 77   "lowercase and uppercase M"        } ;
+HELP: KEY_N             { $raylib-key 78   "lowercase and uppercase N"        } ;
+HELP: KEY_O             { $raylib-key 79   "lowercase and uppercase O"        } ;
+HELP: KEY_P             { $raylib-key 80   "lowercase and uppercase P"        } ;
+HELP: KEY_Q             { $raylib-key 81   "lowercase and uppercase Q"        } ;
+HELP: KEY_R             { $raylib-key 82   "lowercase and uppercase R"        } ;
+HELP: KEY_S             { $raylib-key 83   "lowercase and uppercase S"        } ;
+HELP: KEY_T             { $raylib-key 84   "lowercase and uppercase T"        } ;
+HELP: KEY_U             { $raylib-key 85   "lowercase and uppercase U"        } ;
+HELP: KEY_V             { $raylib-key 86   "lowercase and uppercase V"        } ;
+HELP: KEY_W             { $raylib-key 87   "lowercase and uppercase W"        } ;
+HELP: KEY_X             { $raylib-key 88   "lowercase and uppercase X"        } ;
+HELP: KEY_Y             { $raylib-key 89   "lowercase and uppercase Y"        } ;
+HELP: KEY_Z             { $raylib-key 90   "lowercase and uppercase Z"        } ;
+HELP: KEY_LEFT_BRACKET  { $raylib-key 91   "["                                } ;
+HELP: KEY_BACKSLASH     { $raylib-key 92   "\\"                               } ;
+HELP: KEY_RIGHT_BRACKET { $raylib-key 93   "]"                                } ;
+HELP: KEY_GRAVE         { $raylib-key 96   "`"                                } ;
+HELP: KEY_SPACE         { $raylib-key 32   "Space"                            } ;
+HELP: KEY_ESCAPE        { $raylib-key 256  "Esc"                              } ;
+HELP: KEY_ENTER         { $raylib-key 257  "Enter"                            } ;
+HELP: KEY_TAB           { $raylib-key 258  "Tab"                              } ;
+HELP: KEY_BACKSPACE     { $raylib-key 259  "Backspace"                        } ;
+HELP: KEY_INSERT        { $raylib-key 260  "Ins"                              } ;
+HELP: KEY_DELETE        { $raylib-key 261  "Del"                              } ;
+HELP: KEY_RIGHT         { $raylib-key 262  "Cursor right"                     } ;
+HELP: KEY_LEFT          { $raylib-key 263  "Cursor left"                      } ;
+HELP: KEY_DOWN          { $raylib-key 264  "Cursor down"                      } ;
+HELP: KEY_UP            { $raylib-key 265  "Cursor up"                        } ;
+HELP: KEY_PAGE_UP       { $raylib-key 266  "Page up"                          } ;
+HELP: KEY_PAGE_DOWN     { $raylib-key 267  "Page down"                        } ;
+HELP: KEY_HOME          { $raylib-key 268  "Home"                             } ;
+HELP: KEY_END           { $raylib-key 269  "End"                              } ;
+HELP: KEY_CAPS_LOCK     { $raylib-key 280  "Caps lock"                        } ;
+HELP: KEY_SCROLL_LOCK   { $raylib-key 281  "Scroll down"                      } ;
+HELP: KEY_NUM_LOCK      { $raylib-key 282  "Num lock"                         } ;
+HELP: KEY_PRINT_SCREEN  { $raylib-key 283  "Print screen"                     } ;
+HELP: KEY_PAUSE         { $raylib-key 284  "Pause"                            } ;
+HELP: KEY_F1            { $raylib-key 290  "F1"                               } ;
+HELP: KEY_F2            { $raylib-key 291  "F2"                               } ;
+HELP: KEY_F3            { $raylib-key 292  "F3"                               } ;
+HELP: KEY_F4            { $raylib-key 293  "F4"                               } ;
+HELP: KEY_F5            { $raylib-key 294  "F5"                               } ;
+HELP: KEY_F6            { $raylib-key 295  "F6"                               } ;
+HELP: KEY_F7            { $raylib-key 296  "F7"                               } ;
+HELP: KEY_F8            { $raylib-key 297  "F8"                               } ;
+HELP: KEY_F9            { $raylib-key 298  "F9"                               } ;
+HELP: KEY_F10           { $raylib-key 299  "F10"                              } ;
+HELP: KEY_F11           { $raylib-key 300  "F11"                              } ;
+HELP: KEY_F12           { $raylib-key 301  "F12"                              } ;
+HELP: KEY_LEFT_SHIFT    { $raylib-key 340  "Shift left"                       } ;
+HELP: KEY_LEFT_CONTROL  { $raylib-key 341  "Control left"                     } ;
+HELP: KEY_LEFT_ALT      { $raylib-key 342  "Alt left"                         } ;
+HELP: KEY_LEFT_SUPER    { $raylib-key 343  "Super left"                       } ;
+HELP: KEY_RIGHT_SHIFT   { $raylib-key 344  "Shift right"                      } ;
+HELP: KEY_RIGHT_CONTROL { $raylib-key 345  "Control right"                    } ;
+HELP: KEY_RIGHT_ALT     { $raylib-key 346  "Alt right"                        } ;
+HELP: KEY_RIGHT_SUPER   { $raylib-key 347  "Super right"                      } ;
+HELP: KEY_KB_MENU       { $raylib-key 348  "KB menu"                          } ;
+HELP: KEY_KP_0          { $raylib-key 320  "Keypad 0"                         } ;
+HELP: KEY_KP_1          { $raylib-key 321  "Keypad 1"                         } ;
+HELP: KEY_KP_2          { $raylib-key 322  "Keypad 2"                         } ;
+HELP: KEY_KP_3          { $raylib-key 323  "Keypad 3"                         } ;
+HELP: KEY_KP_4          { $raylib-key 324  "Keypad 4"                         } ;
+HELP: KEY_KP_5          { $raylib-key 325  "Keypad 5"                         } ;
+HELP: KEY_KP_6          { $raylib-key 326  "Keypad 6"                         } ;
+HELP: KEY_KP_7          { $raylib-key 327  "Keypad 7"                         } ;
+HELP: KEY_KP_8          { $raylib-key 328  "Keypad 8"                         } ;
+HELP: KEY_KP_9          { $raylib-key 329  "Keypad 9"                         } ;
+HELP: KEY_KP_DECIMAL    { $raylib-key 330  "Keypad ."                         } ;
+HELP: KEY_KP_DIVIDE     { $raylib-key 331  "Keypad /"                         } ;
+HELP: KEY_KP_MULTIPLY   { $raylib-key 332  "Keypad *"                         } ;
+HELP: KEY_KP_SUBTRACT   { $raylib-key 333  "Keypad -"                         } ;
+HELP: KEY_KP_ADD        { $raylib-key 334  "Keypad +"                         } ;
+HELP: KEY_KP_ENTER      { $raylib-key 335  "Keypad Enter"                     } ;
+HELP: KEY_KP_EQUAL      { $raylib-key 336  "Keypad ="                         } ;
+HELP: KEY_BACK          { $raylib-key 4    "Android back button"              } ;
+HELP: KEY_MENU          { $raylib-key 82   "Android menu button"              } ;
+HELP: KEY_VOLUME_UP     { $raylib-key 24   "Android volume up button"         } ;
+HELP: KEY_VOLUME_DOWN   { $raylib-key 25   "Android volume down button"       } ;
+
+
+! Mouse button enum
+HELP: MouseButton
+{ $var-description
+    An enum representing the various key mouse buttons Ralyb has support for.
 
-HELP: <unload-image-colors-destructor>
-{ $values
-    { "alien" object }
-    { "destructor" object }
-}
-{ $description "" } ;
+    { $enum-members MouseButton }
+} ;
 
-HELP: <unload-image-destructor>
-{ $values
-    { "alien" object }
-    { "destructor" object }
-}
-{ $description "" } ;
+HELP: MOUSE_BUTTON_LEFT
+{ $class-description
+    Represents the left mouse button.
 
-HELP: <unload-image-palette-destructor>
-{ $values
-    { "alien" object }
-    { "destructor" object }
-}
-{ $description "" } ;
+    { $see-also MouseButton }
+} ;
 
-HELP: <unload-material-destructor>
-{ $values
-    { "alien" object }
-    { "destructor" object }
-}
-{ $description "" } ;
+HELP: MOUSE_BUTTON_RIGHT
+{ $class-description
+    Represents the right mouse button.
 
-HELP: <unload-mesh-destructor>
-{ $values
-    { "alien" object }
-    { "destructor" object }
-}
-{ $description "" } ;
+    { $see-also MouseButton }
+} ;
 
-HELP: <unload-model-animation-destructor>
-{ $values
-    { "alien" object }
-    { "destructor" object }
-}
-{ $description "" } ;
+HELP: MOUSE_BUTTON_MIDDLE
+{ $class-description
+    Represents the middle mouse button. On most mice, this is clicking
+    the scroll wheel.
 
-HELP: <unload-model-destructor>
-{ $values
-    { "alien" object }
-    { "destructor" object }
-}
-{ $description "" } ;
+    { $see-also MouseButton }
+} ;
 
-HELP: <unload-music-stream-destructor>
-{ $values
-    { "alien" object }
-    { "destructor" object }
-}
-{ $description "" } ;
+HELP: MOUSE_BUTTON_SIDE
+{ $class-description
+    Represents a side button on mice that have additional buttons.
 
-HELP: <unload-render-texture-destructor>
-{ $values
-    { "alien" object }
-    { "destructor" object }
-}
-{ $description "" } ;
+    { $see-also MouseButton }
+} ;
 
-HELP: <unload-shader-destructor>
-{ $values
-    { "alien" object }
-    { "destructor" object }
-}
-{ $description "" } ;
+HELP: MOUSE_BUTTON_EXTRA
+{ $class-description
+    Represents an extra button on mice that have additional buttons.
 
-HELP: <unload-sound-destructor>
-{ $values
-    { "alien" object }
-    { "destructor" object }
-}
-{ $description "" } ;
+    { $see-also MouseButton }
+} ;
 
-HELP: <unload-texture-destructor>
-{ $values
-    { "alien" object }
-    { "destructor" object }
-}
-{ $description "" } ;
+HELP: MOUSE_BUTTON_FORWARD
+{ $class-description
+    Represents the " \"forward\" " button on mice that have additional buttons.
 
-HELP: <unload-wave-destructor>
-{ $values
-    { "alien" object }
-    { "destructor" object }
-}
-{ $description "" } ;
+    { $see-also MouseButton }
+} ;
 
-HELP: AudioCallback
-{ $values
-    { "quot" quotation }
-    { "alien" object }
-}
-{ $description "" } ;
+HELP: MOUSE_BUTTON_BACK
+{ $class-description
+    Represents the " \"back\" " button on mice that have additional buttons.
 
-HELP: AudioStream
-{ $class-description 
-    Represents a stream of audio data in Raylib.
-    { $list
-        { { $snippet buffer }     " a pointer to the internal data used by the audio system." }
-        { { $snippet processor }  " a pointer to the interanl data processor, useful for audio effects." }
-        { { $snippet sampleRate } " the frequence of the samples." }
-        { { $snippet sampleSize } " the bit depth of the samples: spport values are 8, 16, and 32." }
-        { { $snippet channels }   " the number of channels: 1 for mono, 2 for stereo." }
-    }
+    { $see-also MouseButton }
 } ;
 
-HELP: BEIGE
-{ $values
-    { "value" Color }
-}
-{ $description 
-    Represents the RGBA color (211, 176, 131, 255).
+
+! Mouse cursor enum
+HELP: MouseCursor
+{ $var-description
+    An enum representing the various states the cursor can be in.
+    This is used to change the cursor icon " / " shape.
 
 
-    See, the following reference for a visual guide:
-    
-    { $url "https://raw.githubusercontent.com/raysan5/raylib/master/examples/shapes/shapes_colors_palette.png" }
+    { $enum-members MouseCursor }
 } ;
 
-HELP: BLACK
-{ $values
-    { "value" object }
-}
-{ $description
-    Represents the RGBA color (0, 0, 0, 255).
+HELP: MOUSE_CURSOR_DEFAULT
+{ $var-description
+    Default pointer shape.
 
-    
-    See, the following reference for a visual guide:
-    { $url "https://raw.githubusercontent.com/raysan5/raylib/master/examples/shapes/shapes_colors_palette.png" }
+    { $see-also MouseCursor }
 } ;
 
-HELP: BLANK
-{ $values
-    { "value" object }
-}
-{ $description 
-    Represents the RGBA color (0, 0, 0, 0).
+HELP: MOUSE_CURSOR_ARROW
+{ $var-description
+    Arrow shape.
 
-    
-    See, the following reference for a visual guide:
-    { $url "https://raw.githubusercontent.com/raysan5/raylib/master/examples/shapes/shapes_colors_palette.png" }
+    { $see-also MouseCursor }
 } ;
 
-HELP: BLEND_ADDITIVE
-{ $class-description 
-    Blend mode for blending textures while adding colors
-} ;
+HELP: MOUSE_CURSOR_IBEAM
+{ $var-description
+    Text writing cursor shape.
 
-HELP: BLEND_ADD_COLORS
-{ $class-description 
-    Alternative blend mode to \ BLEND_ADDITIVE 
+    { $see-also MouseCursor }
 } ;
 
-HELP: BLEND_ALPHA
-{ $class-description 
-    Blend mode for blending texturing while considering the alpha channel.
-    This is the default mode.
-} ;
+HELP: MOUSE_CURSOR_CROSSHAIR
+{ $var-description
+    Cross shape.
 
-HELP: BLEND_ALPHA_PREMULTIPLY
-{ $class-description 
-    Blend mode for blending premultipled textures while considering the alpha channel
+    { $see-also MouseCursor }
 } ;
 
-HELP: BLEND_CUSTOM
-{ $class-description 
-    Blend mode for using custom src/dst factors. This is intended for use with
-    { $snippet rl-set-blend-factors } from { $vocab-link "rlgl" } .
-} ;
+HELP: MOUSE_CURSOR_POINTING_HAND
+{ $var-description
+    Pointing hand cursor.
 
-HELP: BLEND_CUSTOM_SEPARATE
-{ $class-description 
-    Blend mode for using custom rgb/alpha seperate src/dst 
-    factors. This is intended for use with { $snippet rl-set-blend-factors-seperate } 
-    from { $vocab-link "rlgl" } .
+    { $see-also MouseCursor }
 } ;
 
-HELP: BLEND_MULTIPLIED
-{ $class-description 
-    Blend mode for blending textures while multiplying colors.
+HELP: MOUSE_CURSOR_RESIZE_EW
+{ $var-description
+    Horizontal resize/move arrow shape.
+
+    { $see-also MouseCursor }
 } ;
 
-HELP: BLEND_SUBTRACT_COLORS
-{ $class-description 
-    Blend mode for blending textures while subtracting colors.
+HELP: MOUSE_CURSOR_RESIZE_NS
+{ $var-description
+    Vertical resize/move arrow shape.
+
+    { $see-also MouseCursor }
 } ;
 
-HELP: BLUE
-{ $values
-    { "value" Color }
-}
-{ $description 
-    Represents the RGBA color (0, 121, 241, 255).
+HELP: MOUSE_CURSOR_RESIZE_NWSE
+{ $var-description
+    Top-left to bottom-right diagonal resize/move arrow shape.
 
-    
-    See, the following reference for a visual guide:
-    
-    { $url "https://raw.githubusercontent.com/raysan5/raylib/master/examples/shapes/shapes_colors_palette.png" }
+    { $see-also MouseCursor }
 } ;
 
-HELP: BROWN
-{ $values
-    { "value" Color }
-}
-{ $description 
-    Represents the RGBA color (127, 106, 79, 255).
+HELP: MOUSE_CURSOR_RESIZE_NESW
+{ $var-description
+    The top-right to bottom-left diagonal resize/move arrow shape.
 
-    
-    See, the following reference for a visual guide:
-    
-    { $url "https://raw.githubusercontent.com/raysan5/raylib/master/examples/shapes/shapes_colors_palette.png" }
+    { $see-also MouseCursor }
 } ;
 
-HELP: BlendMode
-{ $var-description 
-    A C-enum holding the OpenGL texture blend modes.
+HELP: MOUSE_CURSOR_RESIZE_ALL
+{ $var-description
+    The omni-directional resize/move cursor shape.
 
-    
-    { $enum-members 
-        BLEND_ALPHA
-        BLEND_ADDITIVE
-        BLEND_MULTIPLIED
-        BLEND_ADD_COLORS
-        BLEND_SUBTRACT_COLORS
-        BLEND_ALPHA_PREMULTIPLY
-        BLEND_CUSTOM
-        BLEND_CUSTOM_SEPARATE }
+    { $see-also MouseCursor }
 } ;
 
-HELP: BoneInfo
-{ $class-description 
-    A skeletal animation bone.
-    { $list
-        { { $snippet name }     " is the name of the bone. Max 32 characters." }
-        { { $snippet processor }  " the parent index." }
-    }
+HELP: MOUSE_CURSOR_NOT_ALLOWED
+{ $var-description
+    The operation-not-allowed shape.
+
+    { $see-also MouseCursor }
 } ;
 
-HELP: BoundingBox
-{ $class-description 
-    Represents a 3D bounding box defined by two points:
-    { $list
-        { { $snippet min }     " The minimum vertex box-corner." }
-        { { $snippet max }  " The maxium vertex box-corner." }
-    } } ;
 
-HELP: CAMERA_CUSTOM
-{ $class-description 
-    A 3D camera with custom behavior.
+! Gamepad button enum
+HELP: GamepadButton
+{ $var-description
+    This enum represents the various buttons a gamepad might have.
 
-    { $see-also CameraMode }
-} ;
+    It's important to keep in mind different controllers may have
+    different button orderings. Each enum member notes the
+    differences in their respective documentation sections.
 
-HELP: CAMERA_FIRST_PERSON
-{ $class-description 
-    A \ Camera3D that cannot roll and looked on the up-axis.
+    { $see-also GamepadAxis }
 
-    { $see-also CameraMode }
+    { $enum-members GamepadButton }
 } ;
 
-HELP: CAMERA_FREE
-{ $class-description 
-    A \ Camera3D with unrestricted movement.
+HELP: GAMEPAD_BUTTON_UNKNOWN
+{ $class-description
+     Unknown button, just for error checking
 
-    { $see-also CameraMode }
+     { $see-also GamepadButton }
 } ;
 
-HELP: CAMERA_ORBITAL
-{ $class-description 
-    A \ Camera3D that will orbit a fixed point in 3D space.
+HELP: GAMEPAD_BUTTON_LEFT_FACE_UP
+{ $class-description
+     Gamepad left DPAD up button
 
-    { $see-also CameraMode }
+     { $see-also GamepadButton }
 } ;
 
-HELP: CAMERA_ORTHOGRAPHIC
-{ $class-description 
-    Sets a \ Camera3D to use an orthographic projection. Parallel lines 
-    will stay parallel in this projection.
+HELP: GAMEPAD_BUTTON_LEFT_FACE_RIGHT
+{ $class-description
+     Gamepad left DPAD right button
 
-    { $see-also CameraProjection }
+     { $see-also GamepadButton }
 } ;
 
-HELP: CAMERA_PERSPECTIVE
-{ $class-description 
-    Sets a \ Camera3D to use a perspective projection.
+HELP: GAMEPAD_BUTTON_LEFT_FACE_DOWN
+{ $class-description
+     Gamepad left DPAD down button
 
-    { $see-also CameraProjection }
+     { $see-also GamepadButton }
 } ;
 
-HELP: CAMERA_THIRD_PERSON
-{ $class-description 
-    Similiar to \ CAMERA_FIRST_PERSON , however the camera is focused
-    to a target point.
+HELP: GAMEPAD_BUTTON_LEFT_FACE_LEFT
+{ $class-description
+     Gamepad left DPAD left button
 
-    { $see-also CameraMode }
+     { $see-also GamepadButton }
 } ;
 
-HELP: CUBEMAP_LAYOUT_AUTO_DETECT
-{ $class-description 
-    Raylib will attempt to automatically detect the cubemap's layout type.
+HELP: GAMEPAD_BUTTON_RIGHT_FACE_UP
+{ $class-description
+     Gamepad right button up (i.e. PS3: Triangle, Xbox: Y)
 
-    { $see-also CubemapLayout }
+     { $see-also GamepadButton }
 } ;
 
-HELP: CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE
-{ $class-description 
-    A cubemap who's layout is defined by a 4x3 cross with cubemap faces.
+HELP: GAMEPAD_BUTTON_RIGHT_FACE_RIGHT
+{ $class-description
+     Gamepad right button right (i.e. PS3: Square, Xbox: X)
 
-    { $see-also CubemapLayout }
+     { $see-also GamepadButton }
 } ;
 
-HELP: CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR
-{ $class-description 
-    A cubemap who's layout is defined by a 3x4 cross with cubemap faces.
+HELP: GAMEPAD_BUTTON_RIGHT_FACE_DOWN
+{ $class-description
+     Gamepad right button down (i.e. PS3: Cross, Xbox: A)
 
-    { $see-also CubemapLayout }
+     { $see-also GamepadButton }
 } ;
 
-HELP: CUBEMAP_LAYOUT_LINE_HORIZONTAL
-{ $class-description 
-    A cubemap who's layout is defined by a vertical line with faces.
+HELP: GAMEPAD_BUTTON_RIGHT_FACE_LEFT
+{ $class-description
+     Gamepad right button left (i.e. PS3: Circle, Xbox: B)
 
-    { $see-also CubemapLayout }
+     { $see-also GamepadButton }
 } ;
 
-HELP: CUBEMAP_LAYOUT_LINE_VERTICAL
-{ $class-description 
-    A cubemap who's layout is defined by a horizontal line with faces.
+HELP: GAMEPAD_BUTTON_LEFT_TRIGGER_1
+{ $class-description
+     Gamepad top/back trigger left (first), it could be a trailing button
 
-    { $see-also CubemapLayout }
+     { $see-also GamepadButton }
 } ;
 
-HELP: CUBEMAP_LAYOUT_PANORAMA
-{ $class-description 
-    A cubemap who's layout is defined by a panoramic image (equirectangular map).
+HELP: GAMEPAD_BUTTON_LEFT_TRIGGER_2
+{ $class-description
+     Gamepad top/back trigger left (second), it could be a trailing button
 
-    { $see-also CubemapLayout }
+     { $see-also GamepadButton }
 } ;
 
-HELP: Camera
-{ $var-description 
-    A c-typedef alias for \ Camera3D .
-} ;
+HELP: GAMEPAD_BUTTON_RIGHT_TRIGGER_1
+{ $class-description
+     Gamepad top/back trigger right (one), it could be a trailing button
 
-HELP: Camera2D
-{ $class-description 
-    Represents a camera in 2D space. The fields are defined
-    as followed:
-    { $list 
-        { { $snippet offset   } " is the camera offset (dispacement from target)" } 
-        { { $snippet target   } " is the camera target (rotation and zoom origin)." }
-        { { $snippet rotation } " is the camera rotation in degrees." }
-        { { $snippet zoom     } " is the camera zoom/scalling, should be 1.0f by default." }
-    }
+     { $see-also GamepadButton }
 } ;
 
-HELP: Camera3D
-{ $class-description 
-    Represents a camera in 3D space. The fields are defined as followed:
-    { $list 
-        { { $snippet position   } " is the camera position in 3D space." }  
-        { { $snippet target     } " is the target the camera is looking at." }
-        { { $snippet up         } " is the direction that faces up relative to the camera." }
-        { { $snippet fovy       } " is the camera's field of view aperature in degrees. Used as the near-plane for orthogrphic projections." }
-        { { $snippet projection } " is the camera's projection:" { $link CAMERA_PERSPECTIVE } " or " { $link CAMERA_ORTHOGRAPHIC } }     
-    } 
+HELP: GAMEPAD_BUTTON_RIGHT_TRIGGER_2
+{ $class-description
+     Gamepad top/back trigger right (second), it could be a trailing button
+
+     { $see-also GamepadButton }
 } ;
 
-HELP: CameraMode
-{ $var-description 
-    The various modes a camera can behave in Raylib.
+HELP: GAMEPAD_BUTTON_MIDDLE_LEFT
+{ $class-description
+     Gamepad center buttons, left one (i.e. PS3: Select)
 
-    { $enum-members
-        CAMERA_CUSTOM
-        CAMERA_FREE
-        CAMERA_ORBITAL
-        CAMERA_FIRST_PERSON
-        CAMERA_THIRD_PERSON }
+     { $see-also GamepadButton }
 } ;
 
-HELP: CameraProjection
-{ $var-description "" } ;
+HELP: GAMEPAD_BUTTON_MIDDLE
+{ $class-description
+     Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX)
 
-HELP: Color
-{ $class-description 
-    Represents a RGBA color with 8-bit unsigned components.
-    Raylibe comes with 25 default colors.
-    
-    { $heading Builtin colors }
-    { $related-subsections 
-        LIGHTGRAY 
-        GRAY 
-        DARKGRAY 
-        YELLOW 
-        GOLD 
-        ORANGE 
-        PINK 
-        RED 
-        MAROON 
-        GREEN 
-        LIME
-        DARKGREEN
-        SKYBLUE
-        BLUE
-        DARKBLUE
-        PURPLE
-        VIOLET
-        DARKPURPLE
-        BEIGE
-        BROWN
-        DARKBROWN
-        WHITE
-        BLACK
-        MAGENTA
-        RAYWHITE }
+     { $see-also GamepadButton }
 } ;
 
-HELP: ConfigFlags
-{ $var-description 
-    An enum representing the configuration flags raylib has
-     
-    { $enum-members
-        FLAG_VSYNC_HINT
-        FLAG_FULLSCREEN_MODE
-        FLAG_WINDOW_RESIZABLE
-        FLAG_WINDOW_UNDECORATED
-        FLAG_WINDOW_HIDDEN
-        FLAG_WINDOW_MINIMIZED
-        FLAG_WINDOW_MAXIMIZED
-        FLAG_WINDOW_UNFOCUSED
-        FLAG_WINDOW_TOPMOST
-        FLAG_WINDOW_ALWAYS_RUN
-        FLAG_WINDOW_TRANSPARENT
-        FLAG_WINDOW_HIDDEN
-        FLAG_MSAA_4X_HINT
-        FLAG_INTERLACED_HINT
-    } 
+HELP: GAMEPAD_BUTTON_MIDDLE_RIGHT
+{ $class-description
+     Gamepad center buttons, right one (i.e. PS3: Start)
+
+     { $see-also GamepadButton }
 } ;
 
-HELP: CubemapLayout
-{ $var-description
-    Represents the layout a cube map is using.
+HELP: GAMEPAD_BUTTON_LEFT_THUMB
+{ $class-description
+     Gamepad joystick pressed button left
 
-    { $enum-members
-        CUBEMAP_LAYOUT_AUTO_DETECT
-        CUBEMAP_LAYOUT_LINE_VERTICAL
-        CUBEMAP_LAYOUT_LINE_HORIZONTAL
-        CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR
-        CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE
-        CUBEMAP_LAYOUT_PANORAMA
-    }    
+     { $see-also GamepadButton }
 } ;
 
-HELP: DARKBLUE   { $raylib-color "0, 82, 172, 255" } ;
-HELP: DARKBROWN  { $raylib-color "76, 63, 47, 255" } ;
-HELP: DARKGRAY   { $raylib-color "80, 80, 80, 255" } ;
-HELP: DARKGREEN  { $raylib-color "0, 117, 44, 255" } ;
-HELP: DARKPURPLE { $raylib-color "112, 31, 126, 255" } ;
+HELP: GAMEPAD_BUTTON_RIGHT_THUMB
+{ $class-description
+     Gamepad joystick pressed button right
 
-HELP: FLAG_FULLSCREEN_MODE
-{ $class-description 
-    Setting this flag will run the program in fullscreen
+     { $see-also GamepadButton }
 } ;
 
-HELP: FLAG_INTERLACED_HINT
-{ $class-description
-    Setting this flag will attempt to enable the interlaced video
-    format for V3D.
+
+! Gamepad axis enum
+HELP: GamepadAxis
+{ $var-description
+    Contains a set of flags for each axis a gamepad may have. Raylib
+    supports controllers with two triggers and two joysticks.
+
+    { $enum-members GamepadAxis }
 } ;
 
-HELP: FLAG_MSAA_4X_HINT
+HELP: GAMEPAD_AXIS_LEFT_X
 { $class-description
-    Setting this flag will attempt to enable MSAA 4x
+    Represents the left gamepad stick and its tilt on the X axis (left/right).
+    { $see-also GamepadAxis }
 } ;
 
-HELP: FLAG_VSYNC_HINT
+HELP: GAMEPAD_AXIS_LEFT_Y
 { $class-description
-    Setting this flag will attempt to enable v-sync on the GPU.
+    Represents the left gamepad stick and its tilt on the Y axis (up/down).
+    { $see-also GamepadAxis }
 } ;
 
-HELP: FLAG_WINDOW_ALWAYS_RUN
+HELP: GAMEPAD_AXIS_RIGHT_X
 { $class-description
-    Setting this flag allows the window to run while minimized.
+    Represents the right gamepad stick and its tilt on the X axis (left/right).
+    { $see-also GamepadAxis }
 } ;
 
-HELP: FLAG_WINDOW_HIDDEN
+HELP: GAMEPAD_AXIS_RIGHT_Y
 { $class-description
-    Setting this flag will hide the window. 
+    Represents the right gamepad stick and its tilt on the Y axis (up/down).
+    { $see-also GamepadAxis }
 } ;
 
-HELP: FLAG_WINDOW_HIGHDPI
+HELP: GAMEPAD_AXIS_LEFT_TRIGGER
 { $class-description
-    Setting this flag will enable HighDPI support.
+    Represents the left gamepad trigger. Trigger has the value
+    range [1..-1].
+    { $see-also GamepadAxis }
 } ;
 
-HELP: FLAG_WINDOW_MAXIMIZED
+HELP: GAMEPAD_AXIS_RIGHT_TRIGGER
 { $class-description
-    Setting this flag will maximize the window to the monitor size.
+    Represents the left gamepad trigger. Trigger has the value
+    range [1..-1].
+    { $see-also GamepadAxis }
 } ;
 
-HELP: FLAG_WINDOW_MINIMIZED
+
+! Material map index enum
+HELP: MaterialMapIndex
+{ $var-description
+    Provides convient names for each index into a texture's various
+    material maps.
+
+    { $enum-members MaterialMapIndex }
+} ;
+HELP: MATERIAL_MAP_ALBEDO
 { $class-description
-    Setting this flag will minize the window.
+    Represents the index for a texture's albedo material (same as: \ MATERIAL_MAP_DIFFUSE ).
+
+    { $see-also MaterialMapIndex }
 } ;
 
-HELP: FLAG_WINDOW_RESIZABLE
+HELP: MATERIAL_MAP_METALNESS
 { $class-description
-    Setting this flag allows for resizing the window.
+    Represents the index for a texture's metalness material (same as: \ MATERIAL_MAP_SPECULAR ).
+
+    { $see-also MaterialMapIndex }
 } ;
 
-HELP: FLAG_WINDOW_TOPMOST
+HELP: MATERIAL_MAP_NORMAL
 { $class-description
-    Setting this flag sets the window to always be on top.
+    Represents the index for a texture's normal material.
+
+    { $see-also MaterialMapIndex }
 } ;
 
-HELP: FLAG_WINDOW_TRANSPARENT
+HELP: MATERIAL_MAP_ROUGHNESS
 { $class-description
-    Setting this flag allows for transparent framebuffer.
+    Represents the index for a texture's roughness material.
+
+    { $see-also MaterialMapIndex }
 } ;
 
-HELP: FLAG_WINDOW_UNDECORATED
+HELP: MATERIAL_MAP_OCCLUSION
 { $class-description
-    Setting this flag remove window decorations (frame and buttons)
+    Represents the index for a texture's ambient occlusion material.
+
+    { $see-also MaterialMapIndex }
 } ;
 
-HELP: FLAG_WINDOW_UNFOCUSED
+HELP: MATERIAL_MAP_EMISSION
 { $class-description
-    Setting this flag will set the window to be unfocused.
-} ;
+    Represents the index for a texture's emission material.
 
-HELP: FONT_BITMAP
-{ $class-description 
-    Bitmap font generation without anti-aliasing.
+    { $see-also MaterialMapIndex }
 } ;
 
-HELP: FONT_DEFAULT
+HELP: MATERIAL_MAP_HEIGHT
 { $class-description
-    Default font generation with anti-aliasing.
-} ;
+    Represents the index for a texture's heightmap material.
 
-HELP: FONT_SDF
-{ $class-description 
-    SDF font generation. Requires an external shader.
+    { $see-also MaterialMapIndex }
 } ;
 
-HELP: FilePathList
+HELP: MATERIAL_MAP_CUBEMAP
 { $class-description
-    A list of file paths returned from \ load-directory-files ,
-    \ load-directory-files-ex . Must be freed with 
-    \ unload-directory-files .
-
-    The fields are defined as followed:
-    { $list 
-        { { $snippet capacity } " the max number of entries." }
-        { { $snippet count } " the number of entries found." }
-        { { $snippet paths } " array of string where each member is a file path." }
-    }
+    Represents the index for a texture's Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP).
 
-    { $see-also 
-        load-directory-files
-        load-directory-files-ex
-        unload-directory-files
-    }
+    { $see-also MaterialMapIndex }
 } ;
 
-HELP: Font
-{ $class-description 
-    Represents a collections of glyphs that can be drawn to the screen. 
-    The fields are defined as followed:
-
-    { $list
-        { { $snippet baseSize     } { " the base size of the characters. This is how tall a glyph is." } }
-        { { $snippet glyphCount   } { " the number of glyph characters." } }
-        { { $snippet glyphPadding } { " the padding around each glyph." } }
-        { { $snippet texture      } { " the texture atlas continaing the glyphs." } }
-        { { $snippet recs         } { " an array of rectangles used to find each glyph in " { $snippet texture } "." } }
-        { { $snippet glyphs       } { " metadata about each glyph." } }
-    }
+HELP: MATERIAL_MAP_IRRADIANCE
+{ $class-description
+    Represents the index for a texture's irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP).
 
+    { $see-also MaterialMapIndex }
 } ;
 
-HELP: FontType
-{ $var-description 
-    A C-enum defining the various font generation methods in Raylib.
+HELP: MATERIAL_MAP_PREFILTER
+{ $class-description
+    Represents the index for a texture's prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP).
 
-    { $enum-members
-        FONT_DEFAULT
-        FONT_BITMAP
-        FONT_SDF
-    }
+    { $see-also MaterialMapIndex }
 } ;
 
-HELP: GAMEPAD_AXIS_LEFT_TRIGGER
-{ $class-description 
-    Represents the left gamepad trigger. Trigger has the value 
-    range [1..-1]. 
-} ;
+HELP: MATERIAL_MAP_BRDF
+{ $class-description
+    Represents the index for a texture's brdf material.
 
-HELP: GAMEPAD_AXIS_LEFT_X
-{ $class-description 
-    Represents the left gamepad stick and its tilt on the X axis (left/right).
+    { $see-also MaterialMapIndex }
 } ;
 
-HELP: GAMEPAD_AXIS_LEFT_Y
-{ $class-description 
-    Represents the left gamepad stick and its tilt on the Y axis (up/down).
-} ;
+! Shader Location Index
+! TODO: make a better description of these. They are kinda bad...
+HELP: ShaderLocationIndex
+{ $var-description
+    Shader location index enum.
 
-HELP: GAMEPAD_AXIS_RIGHT_TRIGGER
-{ $class-description 
-    Represents the left gamepad trigger. Trigger has the value
-    range [1..-1].
+    { $enum-members ShaderLocationIndex }
 } ;
 
-HELP: GAMEPAD_AXIS_RIGHT_X
-{ $class-description 
-    Represents the right gamepad stick and its tilt on the X axis (left/right).
+HELP: SHADER_LOC_VERTEX_POSITION
+{ $class-description
+    Shader location: vertex attribute: position
+
+    { $see-also ShaderLocationIndex }
 } ;
 
-HELP: GAMEPAD_AXIS_RIGHT_Y
+HELP: SHADER_LOC_VERTEX_TEXCOORD01
 { $class-description
-    Represents the right gamepad stick and its tilt on the Y axis (up/down).
+    Shader location: vertex attribute: texcoord01
+
+    { $see-also ShaderLocationIndex }
 } ;
 
-HELP: GAMEPAD_BUTTON_LEFT_FACE_DOWN
-{ $class-description "" } ;
+HELP: SHADER_LOC_VERTEX_TEXCOORD02
+{ $class-description
+    Shader location: vertex attribute: texcoord02
 
-HELP: GAMEPAD_BUTTON_LEFT_FACE_LEFT
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: GAMEPAD_BUTTON_LEFT_FACE_RIGHT
-{ $class-description "" } ;
+HELP: SHADER_LOC_VERTEX_NORMAL
+{ $class-description
+    Shader location: vertex attribute: normal
 
-HELP: GAMEPAD_BUTTON_LEFT_FACE_UP
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: GAMEPAD_BUTTON_LEFT_THUMB
-{ $class-description "" } ;
+HELP: SHADER_LOC_VERTEX_TANGENT
+{ $class-description
+    Shader location: vertex attribute: tangent
 
-HELP: GAMEPAD_BUTTON_LEFT_TRIGGER_1
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: GAMEPAD_BUTTON_LEFT_TRIGGER_2
-{ $class-description "" } ;
+HELP: SHADER_LOC_VERTEX_COLOR
+{ $class-description
+    Shader location: vertex attribute: color
 
-HELP: GAMEPAD_BUTTON_MIDDLE
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: GAMEPAD_BUTTON_MIDDLE_LEFT
-{ $class-description "" } ;
+HELP: SHADER_LOC_MATRIX_MVP
+{ $class-description
+    Shader location: matrix uniform: model-view-projection
 
-HELP: GAMEPAD_BUTTON_MIDDLE_RIGHT
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: GAMEPAD_BUTTON_RIGHT_FACE_DOWN
-{ $class-description "" } ;
+HELP: SHADER_LOC_MATRIX_VIEW
+{ $class-description
+    Shader location: matrix uniform: view (camera transform)
 
-HELP: GAMEPAD_BUTTON_RIGHT_FACE_LEFT
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: GAMEPAD_BUTTON_RIGHT_FACE_RIGHT
-{ $class-description "" } ;
+HELP: SHADER_LOC_MATRIX_PROJECTION
+{ $class-description
+    Shader location: matrix uniform: projection
 
-HELP: GAMEPAD_BUTTON_RIGHT_FACE_UP
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: GAMEPAD_BUTTON_RIGHT_THUMB
-{ $class-description "" } ;
+HELP: SHADER_LOC_MATRIX_MODEL
+{ $class-description
+    Shader location: matrix uniform: model (transform)
 
-HELP: GAMEPAD_BUTTON_RIGHT_TRIGGER_1
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: GAMEPAD_BUTTON_RIGHT_TRIGGER_2
-{ $class-description "" } ;
+HELP: SHADER_LOC_MATRIX_NORMAL
+{ $class-description
+    Shader location: matrix uniform: normal
 
-HELP: GAMEPAD_BUTTON_UNKNOWN
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: GESTURE_DOUBLETAP
-{ $class-description "" } ;
+HELP: SHADER_LOC_VECTOR_VIEW
+{ $class-description
+    Shader location: vector uniform: view
 
-HELP: GESTURE_DRAG
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: GESTURE_HOLD
-{ $class-description "" } ;
+HELP: SHADER_LOC_COLOR_DIFFUSE
+{ $class-description
+    Shader location: vector uniform: diffuse color
 
-HELP: GESTURE_NONE
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: GESTURE_PINCH_IN
-{ $class-description "" } ;
+HELP: SHADER_LOC_COLOR_SPECULAR
+{ $class-description
+    Shader location: vector uniform: specular color
 
-HELP: GESTURE_PINCH_OUT
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: GESTURE_SWIPE_DOWN
-{ $class-description "" } ;
+HELP: SHADER_LOC_COLOR_AMBIENT
+{ $class-description
+    Shader location: vector uniform: ambient color
 
-HELP: GESTURE_SWIPE_LEFT
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: GESTURE_SWIPE_RIGHT
-{ $class-description "" } ;
+HELP: SHADER_LOC_MAP_ALBEDO
+{ $class-description
+    Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE)
 
-HELP: GESTURE_SWIPE_UP
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: GESTURE_TAP
-{ $class-description "" } ;
+HELP: SHADER_LOC_MAP_METALNESS
+{ $class-description
+    Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR)
 
-HELP: GOLD { $raylib-color "255, 203, 0, 255" } ;
-HELP: GRAY { $raylib-color "130, 130, 130, 255" } ;
-HELP: GREEN { $raylib-color "0, 228, 48, 255" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: GamepadAxis
-{ $var-description 
-    Contains a set of flags for each axis a gamepad may have. Raylib 
-    supports controllers with two triggers and two joysticks.
+HELP: SHADER_LOC_MAP_NORMAL
+{ $class-description
+    Shader location: sampler2d texture: normal
 
-    { $enum-members 
-        GAMEPAD_AXIS_LEFT_X              
-        GAMEPAD_AXIS_LEFT_Y                
-        GAMEPAD_AXIS_RIGHT_X               
-        GAMEPAD_AXIS_RIGHT_Y               
-        GAMEPAD_AXIS_LEFT_TRIGGER 
-        GAMEPAD_AXIS_RIGHT_TRIGGER
-    }
+    { $see-also ShaderLocationIndex }
 } ;
 
-HELP: GamepadButton
-{ $var-description "" } ;
-
-HELP: Gestures
-{ $var-description "" } ;
+HELP: SHADER_LOC_MAP_ROUGHNESS
+{ $class-description
+    Shader location: sampler2d texture: roughness
 
-HELP: GlyphInfo
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: Image
-{ $class-description "" } ;
+HELP: SHADER_LOC_MAP_OCCLUSION
+{ $class-description
+    Shader location: sampler2d texture: occlusion
 
-HELP: KEY_A
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: KEY_APOSTROPHE
-{ $class-description "" } ;
+HELP: SHADER_LOC_MAP_EMISSION
+{ $class-description
+    Shader location: sampler2d texture: emission
 
-HELP: KEY_B
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: KEY_BACK
-{ $class-description "" } ;
+HELP: SHADER_LOC_MAP_HEIGHT
+{ $class-description
+    Shader location: sampler2d texture: height
 
-HELP: KEY_BACKSLASH
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: KEY_BACKSPACE
-{ $class-description "" } ;
+HELP: SHADER_LOC_MAP_CUBEMAP
+{ $class-description
+    Shader location: samplerCube texture: cubemap
 
-HELP: KEY_C
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: KEY_CAPS_LOCK
-{ $class-description "" } ;
+HELP: SHADER_LOC_MAP_IRRADIANCE
+{ $class-description
+    Shader location: samplerCube texture: irradiance
 
-HELP: KEY_COMMA
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: KEY_D
-{ $class-description "" } ;
+HELP: SHADER_LOC_MAP_PREFILTER
+{ $class-description
+    Shader location: samplerCube texture: prefilter
 
-HELP: KEY_DELETE
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: KEY_DOWN
-{ $class-description "" } ;
+HELP: SHADER_LOC_MAP_BRDF
+{ $class-description
+    Shader location: sampler2d texture: brdf
 
-HELP: KEY_E
-{ $class-description "" } ;
+    { $see-also ShaderLocationIndex }
+} ;
 
-HELP: KEY_EIGHT
-{ $class-description "" } ;
 
-HELP: KEY_END
-{ $class-description "" } ;
 
-HELP: KEY_ENTER
-{ $class-description "" } ;
+! Shader uniform data type
+! TODO: Better descriptions for these...
+HELP: ShaderUniformDataType
+{ $var-description
+    Represents the various types a uniform shader can be.
 
-HELP: KEY_EQUAL
-{ $class-description "" } ;
+    { $enum-members MaterialMapIndex }
+} ;
 
-HELP: KEY_ESCAPE
-{ $class-description "" } ;
+HELP: SHADER_UNIFORM_FLOAT
+{ $class-description
+    Shader uniform type: float
+    { $see-also ShaderUniformDataType }
+} ;
 
-HELP: KEY_F
-{ $class-description "" } ;
+HELP: SHADER_UNIFORM_VEC2
+{ $class-description
+    Shader uniform type: vec2 (2 float)
+    { $see-also ShaderUniformDataType }
+} ;
 
-HELP: KEY_F1
-{ $class-description "" } ;
+HELP: SHADER_UNIFORM_VEC3
+{ $class-description
+    Shader uniform type: vec3 (3 float)
+    { $see-also ShaderUniformDataType }
+} ;
 
-HELP: KEY_F10
-{ $class-description "" } ;
+HELP: SHADER_UNIFORM_VEC4
+{ $class-description
+    Shader uniform type: vec4 (4 float)
+    { $see-also ShaderUniformDataType }
+} ;
 
-HELP: KEY_F11
-{ $class-description "" } ;
+HELP: SHADER_UNIFORM_INT
+{ $class-description
+    Shader uniform type: int
+    { $see-also ShaderUniformDataType }
+} ;
 
-HELP: KEY_F12
-{ $class-description "" } ;
+HELP: SHADER_UNIFORM_IVEC2
+{ $class-description
+    Shader uniform type: ivec2 (2 int)
+    { $see-also ShaderUniformDataType }
+} ;
 
-HELP: KEY_F2
-{ $class-description "" } ;
+HELP: SHADER_UNIFORM_IVEC3
+{ $class-description
+    Shader uniform type: ivec3 (3 int)
+    { $see-also ShaderUniformDataType }
+} ;
 
-HELP: KEY_F3
-{ $class-description "" } ;
+HELP: SHADER_UNIFORM_IVEC4
+{ $class-description
+    Shader uniform type: ivec4 (4 int)
+    { $see-also ShaderUniformDataType }
+} ;
 
-HELP: KEY_F4
-{ $class-description "" } ;
+HELP: SHADER_UNIFORM_SAMPLER2D
+{ $class-description
+    Shader uniform type: sampler2d
+    { $see-also ShaderUniformDataType }
+} ;
 
-HELP: KEY_F5
-{ $class-description "" } ;
 
-HELP: KEY_F6
-{ $class-description "" } ;
+! Shader attribute data type enum
+HELP: ShaderAttributeDataType
+{ $var-description
+    Shader attribute data types
 
-HELP: KEY_F7
-{ $class-description "" } ;
+    { $enum-members ShaderAttributeDataType }
+} ;
 
-HELP: KEY_F8
-{ $class-description "" } ;
+HELP: SHADER_ATTRIB_FLOAT
+{ $class-description
+    Shader attribute type: float
+    
+    { $see-also ShaderAttributeDataType }
+} ;
 
-HELP: KEY_F9
-{ $class-description "" } ;
+HELP: SHADER_ATTRIB_VEC2
+{ $class-description
+    Shader attribute type: vec2 (2 float)
+    
+    { $see-also ShaderAttributeDataType }
+} ;
 
-HELP: KEY_FIVE
-{ $class-description "" } ;
+HELP: SHADER_ATTRIB_VEC3
+{ $class-description
+    Shader attribute type: vec3 (3 float)
+    
+    { $see-also ShaderAttributeDataType }
+} ;
 
-HELP: KEY_FOUR
-{ $class-description "" } ;
+HELP: SHADER_ATTRIB_VEC4
+{ $class-description
+    Shader attribute type: vec4 (4 float)
+    
+    { $see-also ShaderAttributeDataType }
+} ;
 
-HELP: KEY_G
-{ $class-description "" } ;
 
-HELP: KEY_GRAVE
-{ $class-description "" } ;
+! Pixel format enum.
+HELP: PixelFormat
+{ $var-description
+    The various pixel formats that can be used by Raylib.
+    This enum's values start from { $snippet 1 } .
 
-HELP: KEY_H
-{ $class-description "" } ;
+    { $warning Support depends on OpenGL version and platform. }
+    { $enum-members PixelFormat }
+} ;
 
-HELP: KEY_HOME
-{ $class-description "" } ;
+HELP: PIXELFORMAT_UNCOMPRESSED_GRAYSCALE
+{ $class-description
+    8 bit per pixel (no alpha).
 
-HELP: KEY_I
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_INSERT
-{ $class-description "" } ;
+HELP: PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA
+{ $class-description
+    8*2 bits per pixel (2 channels).
 
-HELP: KEY_J
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_K
-{ $class-description "" } ;
+HELP: PIXELFORMAT_UNCOMPRESSED_R5G6B5
+{ $class-description
+    16 bits per pixel.
 
-HELP: KEY_KB_MENU
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_KP_0
-{ $class-description "" } ;
+HELP: PIXELFORMAT_UNCOMPRESSED_R8G8B8
+{ $class-description
+    24 bits per pixel.
 
-HELP: KEY_KP_1
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_KP_2
-{ $class-description "" } ;
+HELP: PIXELFORMAT_UNCOMPRESSED_R5G5B5A1
+{ $class-description
+    16 bits per pixel (1 bit alpha).
 
-HELP: KEY_KP_3
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_KP_4
-{ $class-description "" } ;
+HELP: PIXELFORMAT_UNCOMPRESSED_R4G4B4A4
+{ $class-description
+    16 bits per pixel (4 bit alpha).
 
-HELP: KEY_KP_5
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_KP_6
-{ $class-description "" } ;
+HELP: PIXELFORMAT_UNCOMPRESSED_R8G8B8A8
+{ $class-description
+    32 bits per pixel.
 
-HELP: KEY_KP_7
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_KP_8
-{ $class-description "" } ;
+HELP: PIXELFORMAT_UNCOMPRESSED_R32
+{ $class-description
+    32 bits per pixel (1 channel - float).
 
-HELP: KEY_KP_9
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_KP_ADD
-{ $class-description "" } ;
+HELP: PIXELFORMAT_UNCOMPRESSED_R32G32B32
+{ $class-description
+    32*3 bits per pixel (3 channels - float).
 
-HELP: KEY_KP_DECIMAL
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_KP_DIVIDE
-{ $class-description "" } ;
+HELP: PIXELFORMAT_UNCOMPRESSED_R32G32B32A32
+{ $class-description
+    32*4 bits per pixel (4 channels - float).
 
-HELP: KEY_KP_ENTER
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_KP_EQUAL
-{ $class-description "" } ;
+HELP: PIXELFORMAT_COMPRESSED_DXT1_RGB
+{ $class-description
+    4 bits per pixel (no alpha).
 
-HELP: KEY_KP_MULTIPLY
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_KP_SUBTRACT
-{ $class-description "" } ;
+HELP: PIXELFORMAT_COMPRESSED_DXT1_RGBA
+{ $class-description
+    4 bits per pixel (1 bit alpha).
 
-HELP: KEY_L
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_LEFT
-{ $class-description "" } ;
+HELP: PIXELFORMAT_COMPRESSED_DXT3_RGBA
+{ $class-description
+    8 bits per pixel.
 
-HELP: KEY_LEFT_ALT
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_LEFT_BRACKET
-{ $class-description "" } ;
+HELP: PIXELFORMAT_COMPRESSED_DXT5_RGBA
+{ $class-description
+    8 bits per pixel.
 
-HELP: KEY_LEFT_CONTROL
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_LEFT_SHIFT
-{ $class-description "" } ;
+HELP: PIXELFORMAT_COMPRESSED_ETC1_RGB
+{ $class-description
+    4 bits per pixel.
 
-HELP: KEY_LEFT_SUPER
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_M
-{ $class-description "" } ;
+HELP: PIXELFORMAT_COMPRESSED_ETC2_RGB
+{ $class-description
+    4 bits per pixel.
 
-HELP: KEY_MENU
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_MINUS
-{ $class-description "" } ;
+HELP: PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA
+{ $class-description
+    8 bits per pixel.
 
-HELP: KEY_N
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_NINE
-{ $class-description "" } ;
+HELP: PIXELFORMAT_COMPRESSED_PVRT_RGB
+{ $class-description
+    4 bits per pixel.
 
-HELP: KEY_NULL
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_NUM_LOCK
-{ $class-description "" } ;
+HELP: PIXELFORMAT_COMPRESSED_PVRT_RGBA
+{ $class-description
+    4 bits per pixel.
 
-HELP: KEY_O
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_ONE
-{ $class-description "" } ;
+HELP: PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA
+{ $class-description
+    8 bits per pixel.
 
-HELP: KEY_P
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_PAGE_DOWN
-{ $class-description "" } ;
+HELP: PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA
+{ $class-description
+    2 bits per pixel.
 
-HELP: KEY_PAGE_UP
-{ $class-description "" } ;
+    { $see-also PixelFormat }
+} ;
 
-HELP: KEY_PAUSE
-{ $class-description "" } ;
 
-HELP: KEY_PERIOD
-{ $class-description "" } ;
+! Texture filter mode enum
+HELP: TextureFilterMode
+{ $var-description
+    Controls the filter mode of the texture. In Raylib, filtering will
+    consider mipmaps if available in the current texture. Additionally,
+    filter is accordingly set for minification and magnification.
 
-HELP: KEY_PRINT_SCREEN
-{ $class-description "" } ;
+    { $enum-members TextureFilterMode }
+} ;
 
-HELP: KEY_Q
-{ $class-description "" } ;
+HELP: TEXTURE_FILTER_POINT
+{ $class-description
+    No filter just pixel aproximation.
 
-HELP: KEY_R
-{ $class-description "" } ;
+    { $see-also TextureFilterMode }
+} ;
 
-HELP: KEY_RIGHT
-{ $class-description "" } ;
+HELP: TEXTURE_FILTER_BILINEAR
+{ $class-description
+    Linear filtering.
 
-HELP: KEY_RIGHT_ALT
-{ $class-description "" } ;
+    { $see-also TextureFilterMode }
+} ;
 
-HELP: KEY_RIGHT_BRACKET
-{ $class-description "" } ;
+HELP: TEXTURE_FILTER_TRILINEAR
+{ $class-description
+    Trilinear filtering (linear with mipmaps).
 
-HELP: KEY_RIGHT_CONTROL
-{ $class-description "" } ;
+    { $see-also TextureFilterMode }
+} ;
 
-HELP: KEY_RIGHT_SHIFT
-{ $class-description "" } ;
+HELP: TEXTURE_FILTER_ANISOTROPIC_4X
+{ $class-description
+    Anisotropic filtering 4x.
 
-HELP: KEY_RIGHT_SUPER
-{ $class-description "" } ;
+    { $see-also TextureFilterMode }
+} ;
 
-HELP: KEY_S
-{ $class-description "" } ;
+HELP: TEXTURE_FILTER_ANISOTROPIC_8X
+{ $class-description
+    Anisotropic filtering 8x.
 
-HELP: KEY_SCROLL_LOCK
-{ $class-description "" } ;
+    { $see-also TextureFilterMode }
+} ;
 
-HELP: KEY_SEMICOLON
-{ $class-description "" } ;
+HELP: TEXTURE_FILTER_ANISOTROPIC_16X
+{ $class-description
+    Anisotropic filtering 16x.
 
-HELP: KEY_SEVEN
-{ $class-description "" } ;
+    { $see-also TextureFilterMode }
+} ;
 
-HELP: KEY_SIX
-{ $class-description "" } ;
 
-HELP: KEY_SLASH
-{ $class-description "" } ;
+! Texture wrap mode enume
+HELP: TextureWrapMode
+{ $var-description
+    Represents the way a texture will repeate when reading
+    past the image bounds.
 
-HELP: KEY_SPACE
-{ $class-description "" } ;
+    { $enum-members TextureWrapMode }
+} ;
 
-HELP: KEY_T
-{ $class-description "" } ;
+HELP: TEXTURE_WRAP_REPEAT
+{ $class-description
+    Using this mode, a texture will repeate infinitely in all directions.
 
-HELP: KEY_TAB
-{ $class-description "" } ;
+    { $see-also TextureWrapMode }
+} ;
 
-HELP: KEY_THREE
-{ $class-description "" } ;
+HELP: TEXTURE_WRAP_CLAMP
+{ $class-description
+    Using this mode, the edge pixels in a texture will
+    be stretched out into infinity.
 
-HELP: KEY_TWO
-{ $class-description "" } ;
+    { $see-also TextureWrapMode }
+} ;
 
-HELP: KEY_U
-{ $class-description "" } ;
+HELP:
+TEXTURE_WRAP_MIRROR_REPEAT
+{ $class-description
+    Using this mode, the texture will repeat infinitely in all directions.
+    However, each tiling will be mirrored compared to the previous tiling.
 
-HELP: KEY_UP
-{ $class-description "" } ;
 
-HELP: KEY_V
-{ $class-description "" } ;
+    { $see-also TextureWrapMode }
+} ;
 
-HELP: KEY_VOLUME_DOWN
-{ $class-description "" } ;
+HELP: TEXTURE_WRAP_MIRROR_CLAMP
+{ $class-description
+    This mode combines mirrored with clamped. The texture will infinitely
+    tile the last pixel from the oppisite side.
 
-HELP: KEY_VOLUME_UP
-{ $class-description "" } ;
+    { $see-also TextureWrapMode }
+} ;
 
-HELP: KEY_W
-{ $class-description "" } ;
 
-HELP: KEY_X
-{ $class-description "" } ;
+! Cubemap layout enum
+HELP: CubemapLayout
+{ $var-description
+    Represents the layout a cube map is using.
 
-HELP: KEY_Y
-{ $class-description "" } ;
+    { $enum-members CubemapLayout }
+} ;
 
-HELP: KEY_Z
-{ $class-description "" } ;
+HELP: CUBEMAP_LAYOUT_AUTO_DETECT
+{ $class-description
+    Raylib will attempt to automatically detect the cubemap's layout type.
 
-HELP: KEY_ZERO
-{ $class-description "" } ;
+    { $see-also CubemapLayout }
+} ;
 
-HELP: KeyboardKey
-{ $var-description "" } ;
+HELP: CUBEMAP_LAYOUT_LINE_VERTICAL
+{ $class-description
+    A cubemap who's layout is defined by a horizontal line with faces.
 
-HELP: LIGHTGRAY
-{ $values
-    { "value" object }
-}
-{ $description "" } ;
+    { $see-also CubemapLayout }
+} ;
 
-HELP: LIME
-{ $values
-    { "value" object }
-}
-{ $description "" } ;
+HELP: CUBEMAP_LAYOUT_LINE_HORIZONTAL
+{ $class-description
+    A cubemap who's layout is defined by a vertical line with faces.
 
-HELP: LOG_ALL
-{ $class-description "" } ;
+    { $see-also CubemapLayout }
+} ;
 
-HELP: LOG_DEBUG
-{ $class-description "" } ;
+HELP: CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR
+{ $class-description
+    A cubemap who's layout is defined by a 3x4 cross with cubemap faces.
 
-HELP: LOG_ERROR
-{ $class-description "" } ;
+    { $see-also CubemapLayout }
+} ;
 
-HELP: LOG_FATAL
-{ $class-description "" } ;
+HELP: CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE
+{ $class-description
+    A cubemap who's layout is defined by a 4x3 cross with cubemap faces.
 
-HELP: LOG_INFO
-{ $class-description "" } ;
+    { $see-also CubemapLayout }
+} ;
 
-HELP: LOG_NONE
-{ $class-description "" } ;
+HELP: CUBEMAP_LAYOUT_PANORAMA
+{ $class-description
+    A cubemap who's layout is defined by a panoramic image (equirectangular map).
 
-HELP: LOG_TRACE
-{ $class-description "" } ;
+    { $see-also CubemapLayout }
+} ;
 
-HELP: LOG_WARNING
-{ $class-description "" } ;
 
-HELP: MAGENTA
-{ $values
-    { "value" object }
-}
-{ $description "" } ;
+! font type enum
+HELP: FontType
+{ $var-description
+    A C-enum defining the various font generation methods in Raylib.
 
-HELP: MAROON
-{ $values
-    { "value" object }
-}
-{ $description "" } ;
+    { $enum-members FontType }
+} ;
 
-HELP: MATERIAL_MAP_ALBEDO
-{ $class-description "" } ;
+HELP: FONT_DEFAULT
+{ $class-description
+    Default font generation with anti-aliasing.
 
-HELP: MATERIAL_MAP_BRDF
-{ $class-description "" } ;
+    { $see-also FontType }
+} ;
 
-HELP: MATERIAL_MAP_CUBEMAP
-{ $class-description "" } ;
+HELP: FONT_BITMAP
+{ $class-description
+    Bitmap font generation without anti-aliasing.
 
-HELP: MATERIAL_MAP_DIFFUSE
-{ $values
-    { "value" object }
-}
-{ $description "" } ;
+    { $see-also FontType }
+} ;
 
-HELP: MATERIAL_MAP_EMISSION
-{ $class-description "" } ;
+HELP: FONT_SDF
+{ $class-description
+    SDF font generation. Requires an external shader.
 
-HELP: MATERIAL_MAP_HEIGHT
-{ $class-description "" } ;
+    { $see-also FontType }
+} ;
 
-HELP: MATERIAL_MAP_IRRADIANCE
-{ $class-description "" } ;
 
-HELP: MATERIAL_MAP_METALNESS
-{ $class-description "" } ;
+! Blend mode enum
+HELP: BlendMode
+{ $var-description
+    A C-enum holding the OpenGL texture blend modes.
 
-HELP: MATERIAL_MAP_NORMAL
-{ $class-description "" } ;
 
-HELP: MATERIAL_MAP_OCCLUSION
-{ $class-description "" } ;
+    { $enum-members BlendMode }
+} ;
 
-HELP: MATERIAL_MAP_PREFILTER
-{ $class-description "" } ;
+HELP: BLEND_ALPHA
+{ $class-description
+    Blend mode for blending texturing while considering the alpha channel.
+    This is the default mode.
+    { $see-also BlendMode }
+} ;
 
-HELP: MATERIAL_MAP_ROUGHNESS
-{ $class-description "" } ;
+HELP: BLEND_ADDITIVE
+{ $class-description
+    Blend mode for blending textures while adding colors
+    { $see-also BlendMode }
+} ;
 
-HELP: MATERIAL_MAP_SPECULAR
-{ $values
-    { "value" object }
-}
-{ $description "" } ;
+HELP: BLEND_MULTIPLIED
+{ $class-description
+    Blend mode for blending textures while multiplying colors.
+    { $see-also BlendMode }
+} ;
 
-HELP: MAX_MATERIAL_MAPS
-{ $values
-    { "value" object }
-}
-{ $description "" } ;
+HELP: BLEND_ADD_COLORS
+{ $class-description
+    Alternative blend mode to \ BLEND_ADDITIVE
+    { $see-also BlendMode }
+} ;
 
-HELP: MOUSE_BUTTON_BACK
-{ $class-description "" } ;
+HELP: BLEND_SUBTRACT_COLORS
+{ $class-description
+    Blend mode for blending textures while subtracting colors.
+    { $see-also BlendMode }
+} ;
 
-HELP: MOUSE_BUTTON_EXTRA
-{ $class-description "" } ;
+HELP: BLEND_ALPHA_PREMULTIPLY
+{ $class-description
+    Blend mode for blending premultipled textures while considering the alpha channel
+    { $see-also BlendMode }
+} ;
 
-HELP: MOUSE_BUTTON_FORWARD
-{ $class-description "" } ;
+HELP: BLEND_CUSTOM
+{ $class-description
+    Blend mode for using custom src/dst factors. This is intended for use with
+    { $snippet rl-set-blend-factors } from { $vocab-link "rlgl" } .
+    { $see-also BlendMode }
+} ;
 
-HELP: MOUSE_BUTTON_LEFT
-{ $class-description "" } ;
+HELP: BLEND_CUSTOM_SEPARATE
+{ $class-description
+    Blend mode for using custom rgb/alpha seperate src/dst
+    factors. This is intended for use with { $snippet rl-set-blend-factors-seperate }
+    from { $vocab-link "rlgl" } .
+    { $see-also BlendMode }
+} ;
 
-HELP: MOUSE_BUTTON_MIDDLE
-{ $class-description "" } ;
 
-HELP: MOUSE_BUTTON_RIGHT
-{ $class-description "" } ;
+! Gestures enum
+HELP: Gestures
+{ $var-description
+    Represents the various touch gestures Raylib supports.
+    This enum is a set of bitflags to enable desired
+    gestures individually.
 
-HELP: MOUSE_BUTTON_SIDE
-{ $class-description "" } ;
+    { $enum-members Gestures }
+} ;
 
-HELP: MOUSE_CURSOR_ARROW
-{ $class-description "" } ;
+HELP: GESTURE_NONE
+{ $class-description
+    Used as the empty set of gestures.
 
-HELP: MOUSE_CURSOR_CROSSHAIR
-{ $class-description "" } ;
+    Has the value: { $snippet 0 }
+    { $see-also Gestures }
+} ;
 
-HELP: MOUSE_CURSOR_DEFAULT
-{ $class-description "" } ;
+HELP: GESTURE_TAP
+{ $class-description
+    Represents a tap gesture.
 
-HELP: MOUSE_CURSOR_IBEAM
-{ $class-description "" } ;
+    Has the value: { $snippet 1 }
+    { $see-also Gestures }
+} ;
 
-HELP: MOUSE_CURSOR_NOT_ALLOWED
-{ $class-description "" } ;
+HELP: GESTURE_DOUBLETAP
+{ $class-description
+    Represents a double tap gesture.
 
-HELP: MOUSE_CURSOR_POINTING_HAND
-{ $class-description "" } ;
+    Has the value: { $snippet 2 }
+    { $see-also Gestures }
+} ;
 
-HELP: MOUSE_CURSOR_RESIZE_ALL
-{ $class-description "" } ;
+HELP: GESTURE_HOLD
+{ $class-description
+    Represents a hold gesture.
 
-HELP: MOUSE_CURSOR_RESIZE_EW
-{ $class-description "" } ;
+    Has the value: { $snippet 4 }
+    { $see-also Gestures }
+} ;
 
-HELP: MOUSE_CURSOR_RESIZE_NESW
-{ $class-description "" } ;
+HELP: GESTURE_DRAG
+{ $class-description
+    Represents a drag gesture.
 
-HELP: MOUSE_CURSOR_RESIZE_NS
-{ $class-description "" } ;
+    Has the value: { $snippet 8 }
+    { $see-also Gestures }
+} ;
+HELP: GESTURE_SWIPE_RIGHT
+{ $class-description
+    Represents a swipe to the right.
 
-HELP: MOUSE_CURSOR_RESIZE_NWSE
-{ $class-description "" } ;
+    Has the value: { $snippet 16 }
+    { $see-also Gestures }
+} ;
 
-HELP: Material
-{ $class-description "" } ;
+HELP: GESTURE_SWIPE_LEFT
+{ $class-description
+    Represents a swipe to the left
 
-HELP: MaterialMap
-{ $class-description "" } ;
+    Has the value: { $snippet 32 }
+    { $see-also Gestures }
+} ;
 
-HELP: MaterialMapIndex
-{ $var-description "" } ;
+HELP: GESTURE_SWIPE_UP
+{ $class-description
+    Represents a swap upwards.
 
-HELP: Matrix
-{ $class-description "" } ;
+    Has the value: { $snippet 64 }
+    { $see-also Gestures }
+} ;
 
-HELP: Mesh
-{ $class-description "" } ;
+HELP: GESTURE_SWIPE_DOWN
+{ $class-description
+    Represents a swap downwards.
 
-HELP: Model
-{ $class-description "" } ;
+    Has the value: { $snippet 128 }
+    { $see-also Gestures }
+} ;
 
-HELP: ModelAnimation
-{ $class-description "" } ;
+HELP: GESTURE_PINCH_IN
+{ $class-description
+    Represents a inwards pinch.
 
-HELP: MouseButton
-{ $var-description "" } ;
+    Has the value: { $snippet 256 }
+    { $see-also Gestures }
+} ;
 
-HELP: MouseCursor
-{ $var-description "" } ;
+HELP: GESTURE_PINCH_OUT
+{ $class-description
+    Represents a outwards pinch.
 
-HELP: Music
-{ $class-description "" } ;
+    Has the value: { $snippet 512 }
+    { $see-also Gestures }
+} ;
 
-HELP: NPATCH_NINE_PATCH
-{ $class-description "" } ;
 
-HELP: NPATCH_THREE_PATCH_HORIZONTAL
-{ $class-description "" } ;
+! Camera mode enum
+HELP: CameraMode
+{ $var-description
+    The various modes a camera can behave in Raylib.
 
-HELP: NPATCH_THREE_PATCH_VERTICAL
-{ $class-description "" } ;
+    { $enum-members CameraMode }
+} ;
 
-HELP: NPatchInfo
-{ $class-description "" } ;
+HELP: CAMERA_CUSTOM
+{ $class-description
+    A 3D camera with custom behavior.
 
-HELP: NPatchLayout
-{ $var-description "" } ;
+    { $see-also CameraMode }
+} ;
 
-HELP: ORANGE
-{ $values
-    { "value" object }
-}
-{ $description "" } ;
+HELP: CAMERA_FREE
+{ $class-description
+    A \ Camera3D with unrestricted movement.
 
-HELP: PINK
-{ $values
-    { "value" object }
-}
-{ $description "" } ;
+    { $see-also CameraMode }
+} ;
 
-HELP: PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA
-{ $class-description "" } ;
+HELP: CAMERA_ORBITAL
+{ $class-description
+    A \ Camera3D that will orbit a fixed point in 3D space.
 
-HELP: PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA
-{ $class-description "" } ;
+    { $see-also CameraMode }
+} ;
 
-HELP: PIXELFORMAT_COMPRESSED_DXT1_RGB
-{ $class-description "" } ;
+HELP: CAMERA_FIRST_PERSON
+{ $class-description
+    A \ Camera3D that cannot roll and looked on the up-axis.
 
-HELP: PIXELFORMAT_COMPRESSED_DXT1_RGBA
-{ $class-description "" } ;
+    { $see-also CameraMode }
+} ;
 
-HELP: PIXELFORMAT_COMPRESSED_DXT3_RGBA
-{ $class-description "" } ;
+HELP: CAMERA_THIRD_PERSON
+{ $class-description
+    Similiar to \ CAMERA_FIRST_PERSON , however the camera is focused
+    to a target point.
 
-HELP: PIXELFORMAT_COMPRESSED_DXT5_RGBA
-{ $class-description "" } ;
+    { $see-also CameraMode }
+} ;
 
-HELP: PIXELFORMAT_COMPRESSED_ETC1_RGB
-{ $class-description "" } ;
 
-HELP: PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA
-{ $class-description "" } ;
+! Camera projection enum
+HELP: CameraProjection
+{ $var-description
+    Represents the projects a camera can use.
 
-HELP: PIXELFORMAT_COMPRESSED_ETC2_RGB
-{ $class-description "" } ;
+    { $enum-members CameraProjection }
+} ;
 
-HELP: PIXELFORMAT_COMPRESSED_PVRT_RGB
-{ $class-description "" } ;
+HELP: CAMERA_PERSPECTIVE
+{ $class-description
+    Sets a \ Camera3D to use a perspective projection.
 
-HELP: PIXELFORMAT_COMPRESSED_PVRT_RGBA
-{ $class-description "" } ;
+    { $see-also CameraProjection }
+} ;
 
-HELP: PIXELFORMAT_UNCOMPRESSED_GRAYSCALE
-{ $class-description "" } ;
+HELP: CAMERA_ORTHOGRAPHIC
+{ $class-description
+    Sets a \ Camera3D to use an orthographic projection. Parallel lines
+    will stay parallel in this projection.
 
-HELP: PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA
-{ $class-description "" } ;
+    { $see-also CameraProjection }
+} ;
 
-HELP: PIXELFORMAT_UNCOMPRESSED_R32
-{ $class-description "" } ;
 
-HELP: PIXELFORMAT_UNCOMPRESSED_R32G32B32
-{ $class-description "" } ;
+! N-patch layout enum
+HELP: NPatchLayout
+{ $var-description
+    Raylib features support for " \"n-patch\" " tiles. N-patches allow
+    for texture to be automatically repeated and stretched. Raylib
+    has support for the follow n-patch styles:
+    { $list
+        { "3x3 (" { $link NPATCH_NINE_PATCH } ")"           }
+        { "1x3 (" { $link NPATCH_THREE_PATCH_VERTICAL } ")" }
+        { "3x1 (" { $link NPATCH_THREE_PATCH_HORIZONTAL } ")" }
+    }
+    $nl
+    See the following page for an example:
+    $nl
+    { $url "https://www.raylib.com/examples/textures/loader.html?name=textures_npatch_drawing" }
+    { $enum-members NPatchLayout }
+} ;
 
-HELP: PIXELFORMAT_UNCOMPRESSED_R32G32B32A32
-{ $class-description "" } ;
+HELP: NPATCH_NINE_PATCH
+{ $class-description
+    Represents a 3x3 n-patch tile. This tile type can expand both horizontally
+    and vertically. It has the following sections:
+    { $list
+        { "4 corners that are neither stretched nor scaled." }
+        { "4 edge tiles (top, bottom, left, right) that will be repeated
+            vertically and horizontally." }
+        { "1 center tile that will be stretched to fill the space between
+            the edge tiles and corner tiles." }
+    }
 
-HELP: PIXELFORMAT_UNCOMPRESSED_R4G4B4A4
-{ $class-description "" } ;
+    { $see-also NPatchLayout }
+} ;
 
-HELP: PIXELFORMAT_UNCOMPRESSED_R5G5B5A1
-{ $class-description "" } ;
+HELP: NPATCH_THREE_PATCH_VERTICAL
+{ $class-description
+    Represents a 1x3 tiling that can be stretched vertically.
 
-HELP: PIXELFORMAT_UNCOMPRESSED_R5G6B5
-{ $class-description "" } ;
+    { $see-also NPatchLayout }
+} ;
 
-HELP: PIXELFORMAT_UNCOMPRESSED_R8G8B8
-{ $class-description "" } ;
+HELP: NPATCH_THREE_PATCH_HORIZONTAL
+{ $class-description
+    Represents a 3x1 tiling that can be streched vertically.
+
+    { $see-also NPatchLayout }
+} ;
 
-HELP: PIXELFORMAT_UNCOMPRESSED_R8G8B8A8
-{ $class-description "" } ;
 
-HELP: PURPLE
+
+HELP: AudioCallback
 { $values
-    { "value" object }
+    { "quot" quotation }
+    { "alien" object }
 }
 { $description "" } ;
 
-HELP: PixelFormat
-{ $var-description "" } ;
+HELP: AudioStream
+{ $class-description
+    Represents a stream of audio data in Raylib.
+    { $list
+        { { $snippet buffer }     " a pointer to the internal data used by the audio system." }
+        { { $snippet processor }  " a pointer to the interanl data processor, useful for audio effects." }
+        { { $snippet sampleRate } " the frequence of the samples." }
+        { { $snippet sampleSize } " the bit depth of the samples: spport values are 8, 16, and 32." }
+        { { $snippet channels }   " the number of channels: 1 for mono, 2 for stereo." }
+    }
+} ;
 
-HELP: Quaternion
-{ $var-description "" } ;
 
-HELP: RAYLIB_VERSION
-{ $values
-    { "value" string }
-}
-{ $description "A string representing the current version of raylib." } ;
+HELP: Color
+{ $class-description
+    Represents a RGBA color with 8-bit unsigned components.
+    Raylibe comes with 25 default colors.
 
-HELP: RAYLIB_VERSION_MAJOR
-{ $values
-    { "value" fixnum }
-}
-{ $description "The current major version of raylib." } ;
+    { $heading Builtin colors }
+    { $subsections
+        LIGHTGRAY
+        GRAY
+        DARKGRAY
+        YELLOW
+        GOLD
+        ORANGE
+        PINK
+        RED
+        MAROON
+        GREEN
+        LIME
+        DARKGREEN
+        SKYBLUE
+        BLUE
+        DARKBLUE
+        PURPLE
+        VIOLET
+        DARKPURPLE
+        BEIGE
+        BROWN
+        DARKBROWN
+        WHITE
+        BLACK
+        MAGENTA
+        RAYWHITE }
+} ;
 
-HELP: RAYLIB_VERSION_MINOR
-{ $values
-    { "value" fixnum }
-}
-{ $description "The current minor version of raylib." } ;
 
-HELP: RAYLIB_VERSION_PATCH
-{ $values
-    { "value" fixnum }
-}
-{ $description "The current patch version of raylib." } ;
 
-HELP: RAYWHITE
-{ $values
-    { "value" object }
-}
-{ $description "" } ;
+HELP: Camera3D
+{ $class-description
+    Represents a camera in 3D space. The fields are defined as followed:
+    { $list
+        { { $snippet position   } " is the camera position in 3D space." }
+        { { $snippet target     } " is the target the camera is looking at." }
+        { { $snippet up         } " is the direction that faces up relative to the camera." }
+        { { $snippet fovy       } " is the camera's field of view aperature in degrees. Used as the near-plane for orthogrphic projections." }
+        { { $snippet projection } " is the camera's projection:" { $link CAMERA_PERSPECTIVE } " or " { $link CAMERA_ORTHOGRAPHIC } }
+    }
+} ;
 
-HELP: RED
-{ $values
-    { "value" object }
-}
-{ $description "" } ;
+HELP: Camera2D
+{ $class-description
+    Represents a camera in 2D space. The fields are defined
+    as followed:
+    { $list
+        { { $snippet offset   } " is the camera offset (dispacement from target)" }
+        { { $snippet target   } " is the camera target (rotation and zoom origin)." }
+        { { $snippet rotation } " is the camera rotation in degrees." }
+        { { $snippet zoom     } " is the camera zoom/scalling, should be 1.0f by default." }
+    }
+} ;
 
-HELP: Ray
-{ $class-description "" } ;
+HELP: Camera
+{ $var-description
+    A c-typedef alias for \ Camera3D .
+} ;
 
-HELP: RayCollision
-{ $class-description "" } ;
 
-HELP: Rectangle
-{ $class-description "" } ;
 
-HELP: RenderTexture
-{ $var-description "" } ;
 
-HELP: RenderTexture2D
-{ $class-description "" } ;
-
-HELP: SHADER_ATTRIB_FLOAT
-{ $class-description "" } ;
-
-HELP: SHADER_ATTRIB_VEC2
-{ $class-description "" } ;
-
-HELP: SHADER_ATTRIB_VEC3
-{ $class-description "" } ;
-
-HELP: SHADER_ATTRIB_VEC4
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_COLOR_AMBIENT
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_COLOR_DIFFUSE
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_COLOR_SPECULAR
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_MAP_ALBEDO
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_MAP_BRDF
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_MAP_CUBEMAP
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_MAP_DIFFUSE
-{ $values
-    { "value" object }
-}
-{ $description "" } ;
-
-HELP: SHADER_LOC_MAP_EMISSION
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_MAP_HEIGHT
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_MAP_IRRADIANCE
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_MAP_METALNESS
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_MAP_NORMAL
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_MAP_OCCLUSION
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_MAP_PREFILTER
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_MAP_ROUGHNESS
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_MAP_SPECULAR
-{ $values
-    { "value" object }
-}
-{ $description "" } ;
-
-HELP: SHADER_LOC_MATRIX_MODEL
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_MATRIX_MVP
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_MATRIX_NORMAL
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_MATRIX_PROJECTION
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_MATRIX_VIEW
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_VECTOR_VIEW
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_VERTEX_COLOR
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_VERTEX_NORMAL
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_VERTEX_POSITION
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_VERTEX_TANGENT
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_VERTEX_TEXCOORD01
-{ $class-description "" } ;
-
-HELP: SHADER_LOC_VERTEX_TEXCOORD02
-{ $class-description "" } ;
-
-HELP: SHADER_UNIFORM_FLOAT
-{ $class-description "" } ;
-
-HELP: SHADER_UNIFORM_INT
-{ $class-description "" } ;
-
-HELP: SHADER_UNIFORM_IVEC2
-{ $class-description "" } ;
-
-HELP: SHADER_UNIFORM_IVEC3
-{ $class-description "" } ;
-
-HELP: SHADER_UNIFORM_IVEC4
-{ $class-description "" } ;
-
-HELP: SHADER_UNIFORM_SAMPLER2D
-{ $class-description "" } ;
-
-HELP: SHADER_UNIFORM_VEC2
-{ $class-description "" } ;
-
-HELP: SHADER_UNIFORM_VEC3
-{ $class-description "" } ;
-
-HELP: SHADER_UNIFORM_VEC4
-{ $class-description "" } ;
-
-HELP: SKYBLUE
-{ $values
-    { "value" object }
-}
-{ $description "" } ;
-
-HELP: Shader
-{ $class-description "" } ;
-
-HELP: ShaderAttributeDataType
-{ $var-description "" } ;
-
-HELP: ShaderLocationIndex
-{ $var-description "" } ;
-
-HELP: ShaderUniformDataType
-{ $var-description "" } ;
-
-HELP: Sound
-{ $class-description "" } ;
-
-HELP: SpriteFont
-{ $var-description "" } ;
-
-HELP: TEXTURE_FILTER_ANISOTROPIC_16X
-{ $class-description "" } ;
-
-HELP: TEXTURE_FILTER_ANISOTROPIC_4X
-{ $class-description "" } ;
-
-HELP: TEXTURE_FILTER_ANISOTROPIC_8X
-{ $class-description "" } ;
-
-HELP: TEXTURE_FILTER_BILINEAR
-{ $class-description "" } ;
-
-HELP: TEXTURE_FILTER_POINT
-{ $class-description "" } ;
-
-HELP: TEXTURE_FILTER_TRILINEAR
-{ $class-description "" } ;
-
-HELP: TEXTURE_WRAP_CLAMP
-{ $class-description "" } ;
-
-HELP: TEXTURE_WRAP_MIRROR_CLAMP
-{ $class-description "" } ;
-
-HELP: TEXTURE_WRAP_MIRROR_REPEAT
-{ $class-description "" } ;
-
-HELP: TEXTURE_WRAP_REPEAT
-{ $class-description "" } ;
-
-HELP: Texture
-{ $var-description "" } ;
-
-HELP: Texture2D
-{ $class-description "" } ;
-
-HELP: TextureCubemap
-{ $var-description "" } ;
-
-HELP: TextureFilterMode
-{ $var-description "" } ;
-
-HELP: TextureWrapMode
-{ $var-description "" } ;
-
-HELP: TraceLogLevel
-{ $var-description "" } ;
-
-HELP: Transform
-{ $class-description "" } ;
-
-HELP: VIOLET
-{ $values
-    { "value" object }
-}
-{ $description "" } ;
-
-HELP: Vector2
-{ $class-description "" } ;
-
-HELP: Vector3
-{ $class-description "" } ;
-
-HELP: Vector4
-{ $class-description "" } ;
-
-HELP: VrDeviceInfo
-{ $class-description "" } ;
-
-HELP: VrStereoConfig
-{ $class-description "" } ;
-
-HELP: WHITE
-{ $values
-    { "value" object }
-}
-{ $description "" } ;
-
-HELP: Wave
-{ $class-description "" } ;
-
-HELP: YELLOW
-{ $values
-    { "value" object }
-}
-{ $description "" } ;
-
-HELP: attach-audio-mixed-processor
-{ $values
-    { "processor" object }
-}
-{ $description "" } ;
-
-HELP: attach-audio-stream-processor
-{ $values
-    { "stream" object } { "processor" object }
-}
-{ $description "" } ;
-
-HELP: begin-blend-mode
-{ $values
-    { "mode" object }
-}
-{ $description "" } ;
-
-HELP: begin-drawing
-{ $description "" } ;
-
-HELP: begin-mode-2d
-{ $values
-    { "camera" object }
-}
-{ $description "" } ;
-
-HELP: begin-mode-3d
-{ $values
-    { "camera" object }
-}
-{ $description "" } ;
-
-HELP: begin-scissor-mode
-{ $values
-    { "x" object } { "y" object } { "width" object } { "height" object }
-}
-{ $description "" } ;
-
-HELP: begin-shader-mode
-{ $values
-    { "shader" object }
-}
-{ $description "" } ;
-
-HELP: begin-texture-mode
-{ $values
-    { "target" object }
-}
-{ $description "" } ;
-
-HELP: begin-vr-stereo-mode
-{ $values
-    { "config" object }
-}
-{ $description "" } ;
-
-HELP: change-directory
-{ $values
-    { "dir" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: check-collision-box-sphere
-{ $values
-    { "box" object } { "center" object } { "radius" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: check-collision-boxes
-{ $values
-    { "box1" object } { "box2" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: check-collision-circle-rec
-{ $values
-    { "center" object } { "radius" object } { "rec" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: check-collision-circles
-{ $values
-    { "center1" object } { "radius1" object } { "center2" object } { "radius2" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: check-collision-lines
-{ $values
-    { "startPos1" object } { "endPos1" object } { "startPos2" object } { "endPos2" object } { "collisionPoint" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: check-collision-point-circle
-{ $values
-    { "point" object } { "center" object } { "radius" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: check-collision-point-line
-{ $values
-    { "point" object } { "p1" object } { "p2" object } { "threshold" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: check-collision-point-poly
-{ $values
-    { "point" object } { "points" object } { "pointCount" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: check-collision-point-rec
-{ $values
-    { "point" object } { "rec" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: check-collision-point-triangle
-{ $values
-    { "point" object } { "p1" object } { "p2" object } { "p3" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: check-collision-recs
-{ $values
-    { "rec1" object } { "rec2" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: check-collision-spheres
-{ $values
-    { "center1" object } { "radius1" object } { "center2" object } { "radius2" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: clear-background
-{ $values
-    { "color" object }
-}
-{ $description "" } ;
-
-HELP: clear-window-state
-{ $values
-    { "flags" object }
-}
-{ $description "" } ;
-
-HELP: close-audio-device
-{ $description "" } ;
-
-HELP: close-window
-{ $description "" } ;
-
-HELP: codepoint-to-utf8
-{ $values
-    { "codepoint" object } { "byteSize" object }
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: color-alpha
-{ $values
-    { "color" object } { "alpha" object }
-    { "Color" object }
-}
-{ $description "" } ;
-
-HELP: color-alpha-blend
-{ $values
-    { "dst" object } { "src" object } { "tint" object }
-    { "Color" object }
-}
-{ $description "" } ;
-
-HELP: color-brightness
-{ $values
-    { "color" object } { "factor" object }
-    { "Color" object }
-}
-{ $description "" } ;
-
-HELP: color-contrast
-{ $values
-    { "color" object } { "contrast" object }
-    { "Color" object }
-}
-{ $description "" } ;
-
-HELP: color-from-hsv
-{ $values
-    { "hue" object } { "saturation" object } { "value" object }
-    { "Color" object }
-}
-{ $description "" } ;
-
-HELP: color-from-normalized
-{ $values
-    { "normalized" object }
-    { "Color" object }
-}
-{ $description "" } ;
-
-HELP: color-normalize
-{ $values
-    { "color" object }
-    { "Vector4" object }
-}
-{ $description "" } ;
-
-HELP: color-tint
-{ $values
-    { "color" object } { "tint" object }
-    { "Color" object }
-}
-{ $description "" } ;
-
-HELP: color-to-hsv
-{ $values
-    { "color" object }
-    { "Vector3" object }
-}
-{ $description "" } ;
-
-HELP: color-to-int
-{ $values
-    { "color" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: compress-data
-{ $values
-    { "data" object } { "dataLength" object } { "compDataLength" object }
-    { "uchar*" object }
-}
-{ $description "" } ;
-
-HELP: decode-data-base64
-{ $values
-    { "data" object } { "outputLength" object }
-    { "uchar*" object }
-}
-{ $description "" } ;
-
-HELP: decompress-data
-{ $values
-    { "compData" object } { "compDataLength" object } { "dataLength" object }
-    { "uchar*" object }
-}
-{ $description "" } ;
-
-HELP: detach-audio-mixed-processor
-{ $values
-    { "processor" object }
-}
-{ $description "" } ;
-
-HELP: detach-audio-stream-processor
-{ $values
-    { "stream" object } { "processor" object }
-}
-{ $description "" } ;
-
-HELP: directory-exists
-{ $values
-    { "dirPath" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: disable-cursor
-{ $description "" } ;
-
-HELP: disable-event-waiting
-{ $description "" } ;
-
-HELP: draw-billboard
-{ $values
-    { "camera" object } { "texture" object } { "position" object } { "size" object } { "tint" object }
-}
-{ $description "" } ;
-
-HELP: draw-billboard-pro
-{ $values
-    { "camera" object } { "texture" object } { "source" object } { "position" object } { "up" object } { "size" object } { "origin" object } { "rotation" object } { "tint" object }
-}
-{ $description "" } ;
-
-HELP: draw-billboard-rec
-{ $values
-    { "camera" object } { "texture" object } { "source" object } { "position" object } { "size" object } { "tint" object }
-}
-{ $description "" } ;
-
-HELP: draw-bounding-box
-{ $values
-    { "box" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-capsule
-{ $values
-    { "startPos" object } { "endPos" object } { "radius" object } { "slices" object } { "rings" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-capsule-wires
-{ $values
-    { "startPos" object } { "endPos" object } { "radius" object } { "slices" object } { "rings" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-circle
-{ $values
-    { "centerX" object } { "centerY" object } { "radius" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-circle-3d
-{ $values
-    { "center" object } { "radius" object } { "rotationAxis" object } { "rotationAngle" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-circle-gradient
-{ $values
-    { "centerX" object } { "centerY" object } { "radius" object } { "color1" object } { "color2" object }
-}
-{ $description "" } ;
-
-HELP: draw-circle-lines
-{ $values
-    { "centerX" object } { "centerY" object } { "radius" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-circle-sector
-{ $values
-    { "center" object } { "radius" object } { "startAngle" object } { "endAngle" object } { "segments" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-circle-sector-lines
-{ $values
-    { "center" object } { "radius" object } { "startAngle" object } { "endAngle" object } { "segments" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-circle-v
-{ $values
-    { "center" object } { "radius" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-cube
-{ $values
-    { "position" object } { "width" object } { "height" object } { "length" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-cube-v
-{ $values
-    { "position" object } { "size" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-cube-wires
-{ $values
-    { "position" object } { "width" object } { "height" object } { "length" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-cube-wires-v
-{ $values
-    { "position" object } { "size" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-cylinder
-{ $values
-    { "position" object } { "radiusTop" object } { "radiusBottom" object } { "height" object } { "slices" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-cylinder-ex
-{ $values
-    { "startPos" object } { "endPos" object } { "startRadius" object } { "endRadius" object } { "sides" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-cylinder-wires
-{ $values
-    { "position" object } { "radiusTop" object } { "radiusBottom" object } { "height" object } { "slices" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-cylinder-wires-ex
-{ $values
-    { "startPos" object } { "endPos" object } { "startRadius" object } { "endRadius" object } { "sides" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-ellipse
-{ $values
-    { "centerX" object } { "centerY" object } { "radiusH" object } { "radiusV" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-ellipse-lines
-{ $values
-    { "centerX" object } { "centerY" object } { "radiusH" object } { "radiusV" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-fps
-{ $values
-    { "posX" object } { "posY" object }
-}
-{ $description "" } ;
-
-HELP: draw-grid
-{ $values
-    { "slices" object } { "spacing" object }
-}
-{ $description "" } ;
-
-HELP: draw-line
-{ $values
-    { "startPosX" object } { "startPosY" object } { "endPosX" object } { "endPosY" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-line-3d
-{ $values
-    { "startPos" object } { "endPos" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-line-bezier
-{ $values
-    { "startPos" object } { "endPos" object } { "thick" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-line-bezier-cubic
-{ $values
-    { "startPos" object } { "endPos" object } { "startControlPos" object } { "endControlPos" object } { "thick" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-line-bezier-quad
-{ $values
-    { "startPos" object } { "endPos" object } { "controlPos" object } { "thick" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-line-ex
-{ $values
-    { "startPos" object } { "endPos" object } { "thick" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-line-strip
-{ $values
-    { "points" object } { "pointCount" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-line-v
-{ $values
-    { "startPos" object } { "endPos" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-mesh
-{ $values
-    { "mesh" object } { "material" object } { "transform" object }
-}
-{ $description "" } ;
-
-HELP: draw-mesh-instanced
-{ $values
-    { "mesh" object } { "material" object } { "transforms" object } { "instances" object }
-}
-{ $description "" } ;
-
-HELP: draw-model
-{ $values
-    { "model" object } { "position" object } { "scale" object } { "tint" object }
-}
-{ $description "" } ;
-
-HELP: draw-model-ex
-{ $values
-    { "model" object } { "position" object } { "rotationAxis" object } { "rotationAngle" object } { "scale" object } { "tint" object }
-}
-{ $description "" } ;
-
-HELP: draw-model-wires
-{ $values
-    { "model" object } { "position" object } { "scale" object } { "tint" object }
-}
-{ $description "" } ;
-
-HELP: draw-model-wires-ex
-{ $values
-    { "model" object } { "position" object } { "rotationAxis" object } { "rotationAngle" object } { "scale" object } { "tint" object }
-}
-{ $description "" } ;
-
-HELP: draw-pixel
-{ $values
-    { "posX" object } { "posY" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-pixel-v
-{ $values
-    { "position" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-plane
-{ $values
-    { "centerPos" object } { "size" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-point-3d
-{ $values
-    { "position" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-poly
-{ $values
-    { "center" object } { "sides" object } { "radius" object } { "rotation" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-poly-lines
-{ $values
-    { "center" object } { "sides" object } { "radius" object } { "rotation" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-poly-lines-ex
-{ $values
-    { "center" object } { "sides" object } { "radius" object } { "rotation" object } { "lineThick" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-ray
-{ $values
-    { "ray" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-rectangle
-{ $values
-    { "posX" object } { "posY" object } { "width" object } { "height" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-rectangle-gradient-ex
-{ $values
-    { "rec" object } { "col1" object } { "col2" object } { "col3" object } { "col4" object }
-}
-{ $description "" } ;
-
-HELP: draw-rectangle-gradient-h
-{ $values
-    { "posX" object } { "posY" object } { "width" object } { "height" object } { "color1" object } { "color2" object }
-}
-{ $description "" } ;
-
-HELP: draw-rectangle-gradient-v
-{ $values
-    { "posX" object } { "posY" object } { "width" object } { "height" object } { "color1" object } { "color2" object }
-}
-{ $description "" } ;
-
-HELP: draw-rectangle-lines
-{ $values
-    { "posX" object } { "posY" object } { "width" object } { "height" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-rectangle-lines-ex
-{ $values
-    { "rec" object } { "lineThick" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-rectangle-pro
-{ $values
-    { "rec" object } { "origin" object } { "rotation" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-rectangle-rec
-{ $values
-    { "rec" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-rectangle-rounded
-{ $values
-    { "rec" object } { "roundness" object } { "segments" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-rectangle-rounded-lines
-{ $values
-    { "rec" object } { "roundness" object } { "segments" object } { "lineThick" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-rectangle-v
-{ $values
-    { "position" object } { "size" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-ring
-{ $values
-    { "center" object } { "innerRadius" object } { "outerRadius" object } { "startAngle" object } { "endAngle" object } { "segments" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-ring-lines
-{ $values
-    { "center" object } { "innerRadius" object } { "outerRadius" object } { "startAngle" object } { "endAngle" object } { "segments" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-sphere
-{ $values
-    { "centerPos" object } { "radius" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-sphere-ex
-{ $values
-    { "centerPos" object } { "radius" object } { "rings" object } { "slices" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-sphere-wires
-{ $values
-    { "centerPos" object } { "radius" object } { "rings" object } { "slices" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-text
-{ $values
-    { "text" object } { "posX" object } { "posY" object } { "fontSize" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-text-codepoint
-{ $values
-    { "font" object } { "codepoint" object } { "position" object } { "fontSize" object } { "tint" object }
-}
-{ $description "" } ;
-
-HELP: draw-text-codepoints
-{ $values
-    { "font" object } { "codepoint" object } { "count" object } { "position" object } { "fontSize" object } { "spacing" object } { "tint" object }
-}
-{ $description "" } ;
-
-HELP: draw-text-ex
-{ $values
-    { "font" object } { "text" object } { "position" object } { "fontSize" object } { "spacing" object } { "tint" object }
-}
-{ $description "" } ;
-
-HELP: draw-text-pro
-{ $values
-    { "font" object } { "text" object } { "position" object } { "origin" object } { "rotation" object } { "fontSize" object } { "spacing" object } { "tint" object }
-}
-{ $description "" } ;
-
-HELP: draw-texture
-{ $values
-    { "texture" object } { "posX" object } { "posY" object } { "tint" object }
-}
-{ $description "" } ;
-
-HELP: draw-texture-ex
-{ $values
-    { "texture" object } { "position" object } { "rotation" object } { "scale" object } { "tint" object }
-}
-{ $description "" } ;
-
-HELP: draw-texture-npatch
-{ $values
-    { "texture" object } { "nPatchInfo" object } { "dest" object } { "origin" object } { "rotation" object } { "tint" object }
-}
-{ $description "" } ;
-
-HELP: draw-texture-pro
-{ $values
-    { "texture" object } { "source" object } { "dest" object } { "origin" object } { "rotation" object } { "tint" object }
-}
-{ $description "" } ;
-
-HELP: draw-texture-rec
-{ $values
-    { "texture" object } { "source" object } { "position" object } { "tint" object }
-}
-{ $description "" } ;
-
-HELP: draw-texture-v
-{ $values
-    { "texture" object } { "position" object } { "tint" object }
-}
-{ $description "" } ;
-
-HELP: draw-triangle
-{ $values
-    { "v1" object } { "v2" object } { "v3" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-triangle-3d
-{ $values
-    { "v1" object } { "v2" object } { "v3" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-triangle-fan
-{ $values
-    { "points" object } { "pointCount" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-triangle-lines
-{ $values
-    { "v1" object } { "v2" object } { "v3" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-triangle-strip
-{ $values
-    { "points" object } { "pointCount" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: draw-triangle-strip-3d
-{ $values
-    { "points" object } { "pointCount" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: enable-cursor
-{ $description "" } ;
-
-HELP: enable-event-waiting
-{ $description "" } ;
-
-HELP: encode-data-base64
-{ $values
-    { "data" object } { "dataLength" object } { "outputLength" object }
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: end-blend-mode
-{ $description "" } ;
-
-HELP: end-drawing
-{ $description "" } ;
-
-HELP: end-mode-2d
-{ $description "" } ;
-
-HELP: end-mode-3d
-{ $description "" } ;
-
-HELP: end-scissor-mode
-{ $description "" } ;
-
-HELP: end-shader-mode
-{ $description "" } ;
-
-HELP: end-texture-mode
-{ $description "" } ;
-
-HELP: end-vr-stereo-mode
-{ $description "" } ;
-
-HELP: export-data-as-code
-{ $values
-    { "data" object } { "size" object } { "fileName" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: export-font-as-code
-{ $values
-    { "font" object } { "fileName" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: export-image
-{ $values
-    { "image" object } { "fileName" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: export-image-as-code
-{ $values
-    { "image" object } { "fileName" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: export-mesh
-{ $values
-    { "mesh" object } { "fileName" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: export-wave
-{ $values
-    { "wave" object } { "fileName" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: export-wave-as-code
-{ $values
-    { "wave" object } { "fileName" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: fade
-{ $values
-    { "color" object } { "alpha" object }
-    { "Color" object }
-}
-{ $description "" } ;
-
-HELP: file-exists
-{ $values
-    { "fileName" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: gen-image-cellular
-{ $values
-    { "width" object } { "height" object } { "tileSize" object }
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: gen-image-checked
-{ $values
-    { "width" object } { "height" object } { "checksX" object } { "checksY" object } { "col1" object } { "col2" object }
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: gen-image-color
-{ $values
-    { "width" object } { "height" object } { "color" object }
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: gen-image-font-atlas
-{ $values
-    { "chars" object } { "recs" object } { "glyphCount" object } { "fontSize" object } { "padding" object } { "packMethod" object }
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: gen-image-gradient-h
-{ $values
-    { "width" object } { "height" object } { "left" object } { "right" object }
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: gen-image-gradient-radial
-{ $values
-    { "width" object } { "height" object } { "density" object } { "inner" object } { "outer" object }
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: gen-image-gradient-v
-{ $values
-    { "width" object } { "height" object } { "top" object } { "bottom" object }
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: gen-image-perlin-noise
-{ $values
-    { "width" object } { "height" object } { "offsetX" object } { "offsetY" object } { "scale" object }
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: gen-image-text
-{ $values
-    { "width" object } { "height" object } { "text" object }
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: gen-image-white-noise
-{ $values
-    { "width" object } { "height" object } { "factor" object }
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: gen-mesh-cone
-{ $values
-    { "radius" object } { "height" object } { "slices" object }
-    { "Mesh" object }
-}
-{ $description "" } ;
-
-HELP: gen-mesh-cube
-{ $values
-    { "width" object } { "height" object } { "length" object }
-    { "Mesh" object }
-}
-{ $description "" } ;
-
-HELP: gen-mesh-cubicmap
-{ $values
-    { "cubicmap" object } { "cubeSize" object }
-    { "Mesh" object }
-}
-{ $description "" } ;
-
-HELP: gen-mesh-cylinder
-{ $values
-    { "radius" object } { "height" object } { "slices" object }
-    { "Mesh" object }
-}
-{ $description "" } ;
-
-HELP: gen-mesh-heightmap
-{ $values
-    { "heightmap" object } { "size" object }
-    { "Mesh" object }
-}
-{ $description "" } ;
-
-HELP: gen-mesh-hemi-sphere
-{ $values
-    { "radius" object } { "rings" object } { "slices" object }
-    { "Mesh" object }
-}
-{ $description "" } ;
-
-HELP: gen-mesh-knot
-{ $values
-    { "radius" object } { "size" object } { "radSeg" object } { "sides" object }
-    { "Mesh" object }
-}
-{ $description "" } ;
-
-HELP: gen-mesh-plane
-{ $values
-    { "width" object } { "length" object } { "resX" object } { "resZ" object }
-    { "Mesh" object }
-}
-{ $description "" } ;
-
-HELP: gen-mesh-poly
-{ $values
-    { "sides" object } { "radius" object }
-    { "Mesh" object }
-}
-{ $description "" } ;
-
-HELP: gen-mesh-sphere
-{ $values
-    { "radius" object } { "rings" object } { "slices" object }
-    { "Mesh" object }
-}
-{ $description "" } ;
-
-HELP: gen-mesh-tangents
-{ $values
-    { "mesh" object }
-}
-{ $description "" } ;
-
-HELP: gen-mesh-torus
-{ $values
-    { "radius" object } { "size" object } { "radSeg" object } { "sides" object }
-    { "Mesh" object }
-}
-{ $description "" } ;
-
-HELP: gen-texture-mipmaps
-{ $values
-    { "texture" object }
-}
-{ $description "" } ;
-
-HELP: get-application-directory
-{ $values
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: get-camera-matrix
-{ $values
-    { "camera" object }
-    { "Matrix" object }
-}
-{ $description "" } ;
-
-HELP: get-camera-matrix-2d
-{ $values
-    { "camera" object }
-    { "Matrix" object }
-}
-{ $description "" } ;
-
-HELP: get-char-pressed
-{ $values
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-clipboard-text
-{ $values
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: get-codepoint
-{ $values
-    { "text" object } { "bytesProcessed" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-codepoint-count
-{ $values
-    { "text" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-codepoint-next
-{ $values
-    { "text" object } { "codepointSize" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-codepoint-previous
-{ $values
-    { "text" object } { "codepointSize" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-collision-rec
-{ $values
-    { "rec1" object } { "rec2" object }
-    { "Rectangle" object }
-}
-{ $description "" } ;
-
-HELP: get-color
-{ $values
-    { "hexValue" object }
-    { "Color" object }
-}
-{ $description "" } ;
-
-HELP: get-current-monitor
-{ $values
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-directory-path
-{ $values
-    { "filePath" object }
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: get-file-extension
-{ $values
-    { "fileName" object }
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: get-file-length
-{ $values
-    { "fileName" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-file-mod-time
-{ $values
-    { "fileName" object }
-    { "long" object }
-}
-{ $description "" } ;
-
-HELP: get-file-name
-{ $values
-    { "filePath" object }
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: get-file-name-without-ext
-{ $values
-    { "filePath" object }
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: get-font-default
-{ $values
-    { "Font" object }
-}
-{ $description "" } ;
-
-HELP: get-fps
-{ $values
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-frame-time
-{ $values
-    { "float" object }
-}
-{ $description "" } ;
-
-HELP: get-gamepad-axis-count
-{ $values
-    { "gamepad" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-gamepad-axis-movement
-{ $values
-    { "gamepad" object } { "axis" object }
-    { "float" object }
-}
-{ $description "" } ;
-
-HELP: get-gamepad-button-pressed
-{ $values
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-gamepad-name
-{ $values
-    { "gamepad" object }
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: get-gesture-detected
-{ $values
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-gesture-drag-angle
-{ $values
-    { "float" object }
-}
-{ $description "" } ;
-
-HELP: get-gesture-drag-vector
-{ $values
-    { "Vector2" object }
-}
-{ $description "" } ;
-
-HELP: get-gesture-hold-duration
-{ $values
-    { "float" object }
-}
-{ $description "" } ;
-
-HELP: get-gesture-pinch-angle
-{ $values
-    { "float" object }
-}
-{ $description "" } ;
-
-HELP: get-gesture-pinch-vector
-{ $values
-    { "Vector2" object }
-}
-{ $description "" } ;
-
-HELP: get-glyph-atlas-rec
-{ $values
-    { "font" object } { "codepoint" object }
-    { "Rectangle" object }
-}
-{ $description "" } ;
-
-HELP: get-glyph-index
-{ $values
-    { "font" object } { "codepoint" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-glyph-info
-{ $values
-    { "font" object } { "codepoint" object }
-    { "GlyphInfo" object }
-}
-{ $description "" } ;
-
-HELP: get-image-alpha-border
-{ $values
-    { "image" object } { "threshold" object }
-    { "Rectangle" object }
-}
-{ $description "" } ;
-
-HELP: get-image-color
-{ $values
-    { "image" object } { "x" object } { "y" object }
-    { "Color" object }
-}
-{ $description "" } ;
-
-HELP: get-key-pressed
-{ $values
-    { "KeyboardKey" object }
-}
-{ $description "" } ;
-
-HELP: get-mesh-bounding-box
-{ $values
-    { "mesh" object }
-    { "BoundingBox" object }
-}
-{ $description "" } ;
-
-HELP: get-model-bounding-box
-{ $values
-    { "model" object }
-    { "BoundingBox" object }
-}
-{ $description "" } ;
-
-HELP: get-monitor-count
-{ $values
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-monitor-height
-{ $values
-    { "monitor" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-monitor-name
-{ $values
-    { "monitor" object }
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: get-monitor-physical-height
-{ $values
-    { "monitor" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-monitor-physical-width
-{ $values
-    { "monitor" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-monitor-position
-{ $values
-    { "monitor" object }
-    { "Vector2" object }
-}
-{ $description "" } ;
-
-HELP: get-monitor-refresh-rate
-{ $values
-    { "monitor" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-monitor-width
-{ $values
-    { "monitor" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-mouse-delta
-{ $values
-    { "Vector2" object }
-}
-{ $description "" } ;
-
-HELP: get-mouse-position
-{ $values
-    { "Vector2" object }
-}
-{ $description "" } ;
-
-HELP: get-mouse-ray
-{ $values
-    { "mousePosition" object } { "camera" object }
-    { "Ray" object }
-}
-{ $description "" } ;
-
-HELP: get-mouse-wheel-move
-{ $values
-    { "float" object }
-}
-{ $description "" } ;
-
-HELP: get-mouse-wheel-move-v
-{ $values
-    { "Vector2" object }
-}
-{ $description "" } ;
-
-HELP: get-mouse-x
-{ $values
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-mouse-y
-{ $values
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-music-time-length
-{ $values
-    { "music" object }
-    { "float" object }
-}
-{ $description "" } ;
-
-HELP: get-music-time-played
-{ $values
-    { "music" object }
-    { "float" object }
-}
-{ $description "" } ;
-
-HELP: get-pixel-color
-{ $values
-    { "srcPtr" object } { "format" object }
-    { "Color" object }
-}
-{ $description "" } ;
-
-HELP: get-pixel-data-size
-{ $values
-    { "width" object } { "height" object } { "format" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-prev-directory-path
-{ $values
-    { "dirPath" object }
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: get-random-value
-{ $values
-    { "min" object } { "max" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-ray-collision-box
-{ $values
-    { "ray" object } { "box" object }
-    { "RayCollision" object }
-}
-{ $description "" } ;
-
-HELP: get-ray-collision-ground
-{ $values
-    { "ray" object } { "ground-height" object }
-    { "ray-collision" object }
-}
-{ $description "" } ;
-
-HELP: get-ray-collision-mesh
-{ $values
-    { "ray" object } { "mesh" object } { "transform" object }
-    { "RayCollision" object }
-}
-{ $description "" } ;
-
-HELP: get-ray-collision-model
-{ $values
-    { "ray" object } { "model" object }
-    { "ray-collision" object }
-}
-{ $description "" } ;
-
-HELP: get-ray-collision-quad
-{ $values
-    { "ray" object } { "p1" object } { "p2" object } { "p3" object } { "p4" object }
-    { "RayCollision" object }
-}
-{ $description "" } ;
-
-HELP: get-ray-collision-sphere
-{ $values
-    { "ray" object } { "center" object } { "radius" object }
-    { "RayCollision" object }
-}
-{ $description "" } ;
-
-HELP: get-ray-collision-triangle
-{ $values
-    { "ray" object } { "p1" object } { "p2" object } { "p3" object }
-    { "RayCollision" object }
-}
-{ $description "" } ;
-
-HELP: get-render-height
-{ $values
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-render-width
-{ $values
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-screen-height
-{ $values
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-screen-to-world-2d
-{ $values
-    { "position" object } { "camera" object }
-    { "Vector2" object }
-}
-{ $description "" } ;
-
-HELP: get-screen-width
-{ $values
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-shader-location
-{ $values
-    { "shader" object } { "uniformName" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-shader-location-attrib
-{ $values
-    { "shader" object } { "attribName" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-time
-{ $values
-    { "double" object }
-}
-{ $description "" } ;
-
-HELP: get-touch-point-count
-{ $values
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-touch-point-id
-{ $values
-    { "index" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-touch-position
-{ $values
-    { "index" object }
-    { "Vector2" object }
-}
-{ $description "" } ;
-
-HELP: get-touch-x
-{ $values
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-touch-y
-{ $values
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: get-window-handle
-{ $values
-    { "void*" object }
-}
-{ $description "" } ;
-
-HELP: get-window-position
-{ $values
-    { "Vector2" object }
-}
-{ $description "" } ;
-
-HELP: get-window-scale-dpi
-{ $values
-    { "Vector2" object }
-}
-{ $description "" } ;
-
-HELP: get-working-directory
-{ $values
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: get-world-to-screen
-{ $values
-    { "position" object } { "camera" object }
-    { "Vector2" object }
-}
-{ $description "" } ;
-
-HELP: get-world-to-screen-2d
-{ $values
-    { "position" object } { "camera" object }
-    { "Vector2" object }
-}
-{ $description "" } ;
-
-HELP: get-world-to-screen-ex
-{ $values
-    { "position" object } { "camera" object } { "width" object } { "height" object }
-    { "Vector2" object }
-}
-{ $description "" } ;
-
-HELP: hide-cursor
-{ $description "" } ;
-
-HELP: image-alpha-clear
-{ $values
-    { "image" object } { "color" object } { "threshold" object }
-}
-{ $description "" } ;
-
-HELP: image-alpha-crop
-{ $values
-    { "image" object } { "threshold" object }
-}
-{ $description "" } ;
-
-HELP: image-alpha-mask
-{ $values
-    { "image" object } { "alphaMask" object }
-}
-{ $description "" } ;
-
-HELP: image-alpha-premultiply
-{ $values
-    { "image" object }
-}
-{ $description "" } ;
-
-HELP: image-blur-gaussian
-{ $values
-    { "image" object } { "blurSize" object }
-}
-{ $description "" } ;
-
-HELP: image-clear-background
-{ $values
-    { "dst" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: image-color-brightness
-{ $values
-    { "image" object } { "brightness" object }
-}
-{ $description "" } ;
-
-HELP: image-color-contrast
-{ $values
-    { "image" object } { "contrast" object }
-}
-{ $description "" } ;
-
-HELP: image-color-grayscale
-{ $values
-    { "image" object }
-}
-{ $description "" } ;
-
-HELP: image-color-invert
-{ $values
-    { "image" object }
-}
-{ $description "" } ;
-
-HELP: image-color-replace
-{ $values
-    { "image" object } { "color" object } { "replace" object }
-}
-{ $description "" } ;
-
-HELP: image-color-tint
-{ $values
-    { "image" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: image-copy
-{ $values
-    { "image" object }
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: image-crop
-{ $values
-    { "image" object } { "crop" object }
-}
-{ $description "" } ;
-
-HELP: image-dither
-{ $values
-    { "image" object } { "rBpp" object } { "gBpp" object } { "bBpp" object } { "aBpp" object }
-}
-{ $description "" } ;
-
-HELP: image-draw
-{ $values
-    { "dst" object } { "src" object } { "srcRec" object } { "dstRec" object } { "tint" object }
-}
-{ $description "" } ;
-
-HELP: image-draw-circle
-{ $values
-    { "dst" object } { "centerX" object } { "centerY" object } { "radius" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: image-draw-circle-lines
-{ $values
-    { "dst" object } { "centerX" object } { "centerY" object } { "radius" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: image-draw-circle-lines-v
-{ $values
-    { "dst" object } { "center" object } { "radius" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: image-draw-circle-v
-{ $values
-    { "dst" object } { "center" object } { "radius" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: image-draw-line
-{ $values
-    { "dst" object } { "startPosX" object } { "startPosY" object } { "endPosX" object } { "endPosY" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: image-draw-line-v
-{ $values
-    { "dst" object } { "start" object } { "end" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: image-draw-pixel
-{ $values
-    { "dst" object } { "posX" object } { "posY" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: image-draw-pixel-v
-{ $values
-    { "dst" object } { "position" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: image-draw-rectangle
-{ $values
-    { "dst" object } { "posX" object } { "posY" object } { "width" object } { "height" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: image-draw-rectangle-lines
-{ $values
-    { "dst" object } { "rec" object } { "thick" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: image-draw-rectangle-rec
-{ $values
-    { "dst" object } { "rec" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: image-draw-rectangle-v
-{ $values
-    { "dst" object } { "position" object } { "size" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: image-draw-text
-{ $values
-    { "dst" object } { "text" object } { "posX" object } { "posY" object } { "fontSize" object } { "color" object }
-}
-{ $description "" } ;
-
-HELP: image-draw-text-ex
-{ $values
-    { "dst" object } { "font" object } { "text" object } { "position" object } { "fontSize" object } { "spacing" object } { "tint" object }
-}
-{ $description "" } ;
-
-HELP: image-flip-horizontal
-{ $values
-    { "image" object }
-}
-{ $description "" } ;
-
-HELP: image-flip-vertical
-{ $values
-    { "image" object }
-}
-{ $description "" } ;
-
-HELP: image-format
-{ $values
-    { "image" object } { "newformat" object }
-}
-{ $description "" } ;
-
-HELP: image-from-image
-{ $values
-    { "image" object } { "rec" object }
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: image-mipmaps
-{ $values
-    { "image" object }
-}
-{ $description "" } ;
-
-HELP: image-resize
-{ $values
-    { "image" object } { "newWidth" object } { "newHeight" object }
-}
-{ $description "" } ;
-
-HELP: image-resize-canvas
-{ $values
-    { "image" object } { "newWidth" object } { "newHeight" object } { "offsetX" object } { "offsetY" object } { "fill" object }
-}
-{ $description "" } ;
-
-HELP: image-resize-nn
-{ $values
-    { "image" object } { "newWidth" object } { "newHeight" object }
-}
-{ $description "" } ;
-
-HELP: image-rotate-ccw
-{ $values
-    { "image" object }
-}
-{ $description "" } ;
-
-HELP: image-rotate-cw
-{ $values
-    { "image" object }
-}
-{ $description "" } ;
-
-HELP: image-text
-{ $values
-    { "text" object } { "fontSize" object } { "color" object }
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: image-text-ex
-{ $values
-    { "font" object } { "text" object } { "fontSize" object } { "spacing" object } { "tint" object }
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: image-to-pot
-{ $values
-    { "image" object } { "fill" object }
-}
-{ $description "" } ;
-
-HELP: init-audio-device
-{ $description "" } ;
-
-HELP: init-window
-{ $values
-    { "width" object } { "height" object } { "title" object }
-}
-{ $description "" } ;
-
-HELP: invalid-vector-length
-{ $values
-    { "obj" object } { "exemplar" object }
-}
-{ $description "Throws an " { $link invalid-vector-length } " error." }
-{ $error-description "" } ;
-
-HELP: is-audio-device-ready
-{ $values
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-audio-stream-playing
-{ $values
-    { "stream" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-audio-stream-processed
-{ $values
-    { "stream" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-audio-stream-ready
-{ $values
-    { "stream" object }
-    { "AudioStream" object }
-}
-{ $description "" } ;
-
-HELP: is-cursor-hidden
-{ $values
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-cursor-on-screen
-{ $values
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-file-dropped
-{ $values
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-file-extension
-{ $values
-    { "fileName" object } { "ext" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-font-ready
-{ $values
-    { "font" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-gamepad-available
-{ $values
-    { "gamepad" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-gamepad-button-down
-{ $values
-    { "gamepad" object } { "button" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-gamepad-button-pressed
-{ $values
-    { "gamepad" object } { "button" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-gamepad-button-released
-{ $values
-    { "gamepad" object } { "button" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-gamepad-button-up
-{ $values
-    { "gamepad" object } { "button" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-gesture-detected
-{ $values
-    { "gesture" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-image-ready
-{ $values
-    { "image" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-key-down
-{ $values
-    { "key" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-key-pressed
-{ $values
-    { "key" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-key-released
-{ $values
-    { "key" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-key-up
-{ $values
-    { "key" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-material-ready
-{ $values
-    { "material" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-model-animation-valid
-{ $values
-    { "model" object } { "anim" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-model-ready
-{ $values
-    { "model" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-mouse-button-down
-{ $values
-    { "button" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-mouse-button-pressed
-{ $values
-    { "button" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-mouse-button-released
-{ $values
-    { "button" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-mouse-button-up
-{ $values
-    { "button" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-music-ready
-{ $values
-    { "music" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-music-stream-playing
-{ $values
-    { "music" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-path-file
-{ $values
-    { "path" "a pathname string" }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-render-texture-ready
-{ $values
-    { "target" object }
-}
-{ $description "" } ;
-
-HELP: is-shader-ready
-{ $values
-    { "shader" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-sound-playing
-{ $values
-    { "sound" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-sound-ready
-{ $values
-    { "sound" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-texture-ready
-{ $values
-    { "texture" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-wave-ready
-{ $values
-    { "wave" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-window-focused
-{ $values
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-window-fullscreen
-{ $values
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-window-hidden
-{ $values
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-window-maximized
-{ $values
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-window-minimized
-{ $values
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-window-ready
-{ $values
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-window-resized
-{ $values
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: is-window-state
-{ $values
-    { "flag" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: load-audio-stream
-{ $values
-    { "sampleRate" object } { "sampleSize" object } { "channels" object }
-    { "AudioStream" object }
-}
-{ $description "" } ;
-
-HELP: load-codepoints
-{ $values
-    { "text" object } { "count" object }
-    { "int*" object }
-}
-{ $description "" } ;
-
-HELP: load-directory-files
-{ $values
-    { "dirPath" object }
-    { "FilePathList" object }
-}
-{ $description "" } ;
-
-HELP: load-directory-files-ex
-{ $values
-    { "dirPath" object } { "filter" object } { "scanSubDirs" object }
-    { "FilePathList" object }
-}
-{ $description "" } ;
-
-HELP: load-dropped-files
-{ $values
-    { "FilePathList" object }
-}
-{ $description "" } ;
-
-HELP: load-file-data
-{ $values
-    { "fileName" object } { "bytesRead" object }
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: load-file-text
-{ $values
-    { "fileName" object }
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: load-font
-{ $values
-    { "fileName" object }
-    { "Font" object }
-}
-{ $description "" } ;
-
-HELP: load-font-data
-{ $values
-    { "fileData" object } { "dataSize" object } { "fontSize" object } { "fontChars" object } { "glyphCount" object } { "type" object }
-    { "GlyphInfo*" object }
-}
-{ $description "" } ;
-
-HELP: load-font-ex
-{ $values
-    { "fileName" object } { "fontSize" object } { "fontChars" object } { "glyphCount" object }
-    { "Font" object }
-}
-{ $description "" } ;
-
-HELP: load-font-from-image
-{ $values
-    { "image" object } { "key" object } { "firstChar" object }
-    { "Font" object }
-}
-{ $description "" } ;
-
-HELP: load-font-from-memory
-{ $values
-    { "fileType" object } { "fileData" object } { "dataSize" object } { "fontSize" object } { "fontChars" object } { "glyphCount" object }
-    { "Font" object }
-}
-{ $description "" } ;
-
-HELP: load-image
-{ $values
-    { "fileName" object }
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: load-image-anim
-{ $values
-    { "fileName" object } { "frames" object }
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: load-image-colors
-{ $values
-    { "image" object }
-    { "Color*" object }
-}
-{ $description "" } ;
-
-HELP: load-image-from-memory
-{ $values
-    { "fileType" object } { "fileData" object } { "dataSize" object }
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: load-image-from-screen
-{ $values
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: load-image-from-texture
-{ $values
-    { "texture" object }
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: load-image-palette
-{ $values
-    { "image" object } { "maxPaletteSize" object } { "colorCount" object }
-    { "Color*" object }
-}
-{ $description "" } ;
-
-HELP: load-image-raw
-{ $values
-    { "fileName" object } { "width" object } { "height" object } { "format" object } { "headerSize" object }
-    { "Image" object }
-}
-{ $description "" } ;
-
-HELP: load-material-default
-{ $values
-    { "Material" object }
-}
-{ $description "" } ;
-
-HELP: load-materials
-{ $values
-    { "fileName" object } { "materialCount" object }
-    { "Material*" object }
-}
-{ $description "" } ;
-
-HELP: load-model
-{ $values
-    { "fileName" object }
-    { "Model" object }
-}
-{ $description "" } ;
-
-HELP: load-model-animations
-{ $values
-    { "fileName" object } { "animCount" object }
-    { "ModelAnimation*" object }
-}
-{ $description "" } ;
-
-HELP: load-model-from-mesh
-{ $values
-    { "mesh" object }
-    { "Model" object }
-}
-{ $description "" } ;
-
-HELP: load-music-stream
-{ $values
-    { "fileName" object }
-    { "Music" object }
-}
-{ $description "" } ;
-
-HELP: load-music-stream-from-memory
-{ $values
-    { "fileType" object } { "data" object } { "dataSize" object }
-    { "Music" object }
-}
-{ $description "" } ;
-
-HELP: load-render-texture
-{ $values
-    { "width" object } { "height" object }
-    { "RenderTexture2D" object }
-}
-{ $description "" } ;
-
-HELP: load-shader
-{ $values
-    { "vsFileName" object } { "fsFileName" object }
-    { "Shader" object }
-}
-{ $description "" } ;
-
-HELP: load-shader-from-memory
-{ $values
-    { "vsCode" object } { "fsCode" object }
-    { "Shader" object }
-}
-{ $description "" } ;
-
-HELP: load-sound
-{ $values
-    { "fileName" object }
-    { "Sound" object }
-}
-{ $description "" } ;
-
-HELP: load-sound-from-wave
-{ $values
-    { "wave" object }
-    { "Sound" object }
-}
-{ $description "" } ;
-
-HELP: load-texture
-{ $values
-    { "fileName" object }
-    { "Texture2D" object }
-}
-{ $description "" } ;
-
-HELP: load-texture-cubemap
-{ $values
-    { "image" object } { "layout" object }
-    { "TextureCubemap" object }
-}
-{ $description "" } ;
-
-HELP: load-texture-from-image
-{ $values
-    { "image" object }
-    { "Texture2D" object }
-}
-{ $description "" } ;
-
-HELP: load-utf8
-{ $values
-    { "codepoints" object } { "length" object }
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: load-vr-stereo-config
-{ $values
-    { "device" object }
-    { "VrStereoConfig" object }
-}
-{ $description "" } ;
-
-HELP: load-wave
-{ $values
-    { "fileName" object }
-    { "Wave" object }
-}
-{ $description "" } ;
-
-HELP: load-wave-from-memory
-{ $values
-    { "fileType" object } { "fileData" object } { "dataSize" object }
-    { "Wave" object }
-}
-{ $description "" } ;
-
-HELP: load-wave-samples
-{ $values
-    { "wave" object }
-    { "float*" object }
-}
-{ $description "" } ;
-
-HELP: maximize-window
-{ $description "" } ;
-
-HELP: measure-text
-{ $values
-    { "text" object } { "fontSize" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: measure-text-ex
-{ $values
-    { "font" object } { "text" object } { "fontSize" object } { "spacing" object }
-    { "Vector2" object }
-}
-{ $description "" } ;
-
-HELP: mem-alloc
-{ $values
-    { "size" object }
-    { "void*" object }
-}
-{ $description "" } ;
-
-HELP: mem-free
-{ $values
-    { "ptr" object }
-}
-{ $description "" } ;
-
-HELP: mem-realloc
-{ $values
-    { "ptr" object } { "size" object }
-    { "void*" object }
-}
-{ $description "" } ;
-
-HELP: minimize-window
-{ $description "" } ;
-
-HELP: open-url
-{ $values
-    { "url" url }
-}
-{ $description "" } ;
-
-HELP: pause-audio-stream
-{ $values
-    { "stream" object }
-}
-{ $description "" } ;
-
-HELP: pause-music-stream
-{ $values
-    { "music" object }
-}
-{ $description "" } ;
-
-HELP: pause-sound
-{ $values
-    { "sound" object }
-}
-{ $description "" } ;
-
-HELP: play-audio-stream
-{ $values
-    { "stream" object }
-}
-{ $description "" } ;
-
-HELP: play-music-stream
-{ $values
-    { "music" object }
-}
-{ $description "" } ;
-
-HELP: play-sound
-{ $values
-    { "sound" object }
-}
-{ $description "" } ;
-
-HELP: poll-input-events
-{ $description "" } ;
-
-HELP: restore-window
-{ $description "" } ;
-
-HELP: resume-audio-stream
-{ $values
-    { "stream" object }
-}
-{ $description "" } ;
-
-HELP: resume-music-stream
-{ $values
-    { "music" object }
-}
-{ $description "" } ;
-
-HELP: resume-sound
-{ $values
-    { "sound" object }
-}
-{ $description "" } ;
-
-HELP: save-file-data
-{ $values
-    { "fileName" object } { "data" object } { "bytesToWrite" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: save-file-text
-{ $values
-    { "fileName" object } { "text" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: seek-music-stream
-{ $values
-    { "music" object } { "position" object }
-}
-{ $description "" } ;
-
-HELP: set-audio-stream-buffer-size-default
-{ $values
-    { "size" object }
-}
-{ $description "" } ;
-
-HELP: set-audio-stream-callback
-{ $values
-    { "stream" object } { "callback" object }
-}
-{ $description "" } ;
-
-HELP: set-audio-stream-pan
-{ $values
-    { "stream" object } { "pan" object }
-}
-{ $description "" } ;
-
-HELP: set-audio-stream-pitch
-{ $values
-    { "stream" object } { "pitch" object }
-}
-{ $description "" } ;
-
-HELP: set-audio-stream-volume
-{ $values
-    { "stream" object } { "volume" object }
-}
-{ $description "" } ;
-
-HELP: set-clipboard-text
-{ $values
-    { "text" object }
-}
-{ $description "" } ;
-
-HELP: set-config-flags
-{ $values
-    { "flags" object }
-}
-{ $description "" } ;
-
-HELP: set-exit-key
-{ $values
-    { "key" object }
-}
-{ $description "" } ;
-
-HELP: set-gamepad-mappings
-{ $values
-    { "mappings" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: set-gestures-enabled
-{ $values
-    { "flags" object }
-}
-{ $description "" } ;
-
-HELP: set-master-volume
-{ $values
-    { "volume" object }
-}
-{ $description "" } ;
-
-HELP: set-material-texture
-{ $values
-    { "material" object } { "mapType" object } { "texture" object }
-}
-{ $description "" } ;
-
-HELP: set-model-mesh-material
-{ $values
-    { "model" object } { "meshId" object } { "materialId" object }
-}
-{ $description "" } ;
-
-HELP: set-mouse-cursor
-{ $values
-    { "cursor" object }
-}
-{ $description "" } ;
-
-HELP: set-mouse-offset
-{ $values
-    { "offsetX" object } { "offsetY" object }
-}
-{ $description "" } ;
-
-HELP: set-mouse-position
-{ $values
-    { "x" object } { "y" object }
-}
-{ $description "" } ;
-
-HELP: set-mouse-scale
-{ $values
-    { "scaleX" object } { "scaleY" object }
-}
-{ $description "" } ;
-
-HELP: set-music-pan
-{ $values
-    { "sound" object } { "pan" object }
-}
-{ $description "" } ;
-
-HELP: set-music-pitch
-{ $values
-    { "music" object } { "pitch" object }
-}
-{ $description "" } ;
-
-HELP: set-music-volume
-{ $values
-    { "music" object } { "volume" object }
-}
-{ $description "" } ;
-
-HELP: set-pixel-color
-{ $values
-    { "dstPtr" object } { "color" object } { "format" object }
-}
-{ $description "" } ;
-
-HELP: set-random-seed
-{ $values
-    { "seed" object }
-}
-{ $description "" } ;
-
-HELP: set-shader-value
-{ $values
-    { "shader" object } { "locIndex" object } { "value" object } { "uniformType" object }
-}
-{ $description "" } ;
-
-HELP: set-shader-value-matrix
-{ $values
-    { "shader" object } { "locIndex" object } { "mat" object }
-}
-{ $description "" } ;
-
-HELP: set-shader-value-texture
-{ $values
-    { "shader" object } { "locIndex" object } { "texture" object }
-}
-{ $description "" } ;
-
-HELP: set-shader-value-v
-{ $values
-    { "shader" object } { "locIndex" object } { "value" object } { "uniformType" object } { "count" object }
-}
-{ $description "" } ;
-
-HELP: set-shapes-texture
-{ $values
-    { "texture" object } { "source" object }
-}
-{ $description "" } ;
-
-HELP: set-sound-pan
-{ $values
-    { "sound" object } { "pan" object }
-}
-{ $description "" } ;
-
-HELP: set-sound-pitch
-{ $values
-    { "sound" object } { "pitch" object }
-}
-{ $description "" } ;
-
-HELP: set-sound-volume
-{ $values
-    { "sound" object } { "volume" object }
-}
-{ $description "" } ;
-
-HELP: set-target-fps
-{ $values
-    { "fps" object }
-}
-{ $description "" } ;
-
-HELP: set-texture-filter
-{ $values
-    { "texture" object } { "filter" object }
-}
-{ $description "" } ;
-
-HELP: set-texture-wrap
-{ $values
-    { "texture" object } { "wrap" object }
-}
-{ $description "" } ;
-
-HELP: set-trace-log-level
-{ $values
-    { "logLevel" object }
-}
-{ $description "" } ;
-
-HELP: set-window-icon
-{ $values
-    { "image" object }
-}
-{ $description "" } ;
-
-HELP: set-window-icons
-{ $values
-    { "images" object } { "count" object }
-}
-{ $description "" } ;
-
-HELP: set-window-min-size
-{ $values
-    { "width" object } { "height" object }
-}
-{ $description "" } ;
-
-HELP: set-window-monitor
-{ $values
-    { "monitor" object }
-}
-{ $description "" } ;
-
-HELP: set-window-opacity
-{ $values
-    { "opacity" object }
-}
-{ $description "" } ;
-
-HELP: set-window-position
-{ $values
-    { "x" object } { "y" object }
-}
-{ $description "" } ;
-
-HELP: set-window-size
-{ $values
-    { "width" object } { "height" object }
-}
-{ $description "" } ;
-
-HELP: set-window-state
-{ $values
-    { "flags" object }
-}
-{ $description "" } ;
-
-HELP: set-window-title
-{ $values
-    { "title" object }
-}
-{ $description "" } ;
-
-HELP: show-cursor
-{ $description "" } ;
-
-HELP: stop-audio-stream
-{ $values
-    { "stream" object }
-}
-{ $description "" } ;
-
-HELP: stop-music-stream
-{ $values
-    { "music" object }
-}
-{ $description "" } ;
-
-HELP: stop-sound
-{ $values
-    { "sound" object }
-}
-{ $description "" } ;
-
-HELP: swap-screen-buffer
-{ $description "" } ;
-
-HELP: take-screenshot
-{ $values
-    { "fileName" object }
-}
-{ $description "" } ;
-
-HELP: text-append
-{ $values
-    { "text" object } { "append" object } { "position" object }
-}
-{ $description "" } ;
-
-HELP: text-copy
-{ $values
-    { "dst" object } { "src" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: text-find-index
-{ $values
-    { "text" object } { "find" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: text-insert
-{ $values
-    { "text" object } { "insert" object } { "position" object }
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: text-is-equal
-{ $values
-    { "text1" object } { "text2" object }
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: text-join
-{ $values
-    { "textList" object } { "count" object } { "delimiter" object }
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: text-length
-{ $values
-    { "text" object }
-    { "uint" object }
-}
-{ $description "" } ;
-
-HELP: text-replace
-{ $values
-    { "text" object } { "replace" object } { "by" object }
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: text-split
-{ $values
-    { "text" object } { "delimiter" object } { "count" object }
-    { "c-string*" object }
-}
-{ $description "" } ;
-
-HELP: text-subtext
-{ $values
-    { "text" object } { "position" object } { "length" object }
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: text-to-integer
-{ $values
-    { "text" object }
-    { "int" object }
-}
-{ $description "" } ;
-
-HELP: text-to-lower
-{ $values
-    { "text" object }
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: text-to-pascal
-{ $values
-    { "text" object }
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: text-to-upper
-{ $values
-    { "text" object }
-    { "c-string" object }
-}
-{ $description "" } ;
-
-HELP: toggle-fullscreen
-{ $description "" } ;
-
-HELP: unload-audio-stream
-{ $values
-    { "stream" object }
-}
-{ $description "" } ;
-
-HELP: unload-audio-stream-destructor
-{ $class-description "" } ;
-
-HELP: unload-codepoints
-{ $values
-    { "codepoints" object }
-}
-{ $description "" } ;
-
-HELP: unload-directory-files
-{ $values
-    { "files" object }
-}
-{ $description "" } ;
-
-HELP: unload-dropped-files
-{ $values
-    { "files" object }
-}
-{ $description "" } ;
-
-HELP: unload-file-data
-{ $values
-    { "data" object }
-}
-{ $description "" } ;
-
-HELP: unload-file-data-destructor
-{ $class-description "" } ;
-
-HELP: unload-file-text
-{ $values
-    { "text" object }
-}
-{ $description "" } ;
-
-HELP: unload-file-text-destructor
-{ $class-description "" } ;
-
-HELP: unload-font
-{ $values
-    { "font" object }
-}
-{ $description "" } ;
-
-HELP: unload-font-data
-{ $values
-    { "chars" object } { "glyphCount" object }
-}
-{ $description "" } ;
-
-HELP: unload-font-destructor
-{ $class-description "" } ;
-
-HELP: unload-image
-{ $values
-    { "image" object }
-}
-{ $description "" } ;
-
-HELP: unload-image-colors
-{ $values
-    { "colors" object }
-}
-{ $description "" } ;
-
-HELP: unload-image-colors-destructor
-{ $class-description "" } ;
-
-HELP: unload-image-destructor
-{ $class-description "" } ;
-
-HELP: unload-image-palette
-{ $values
-    { "colors" object }
-}
-{ $description "" } ;
-
-HELP: unload-image-palette-destructor
-{ $class-description "" } ;
-
-HELP: unload-material
-{ $values
-    { "material" object }
-}
-{ $description "" } ;
-
-HELP: unload-material-destructor
-{ $class-description "" } ;
-
-HELP: unload-mesh
-{ $values
-    { "mesh" object }
-}
-{ $description "" } ;
-
-HELP: unload-mesh-destructor
-{ $class-description "" } ;
-
-HELP: unload-model
-{ $values
-    { "model" object }
-}
-{ $description "" } ;
-
-HELP: unload-model-animation
-{ $values
-    { "anim" object }
-}
-{ $description "" } ;
-
-HELP: unload-model-animation-destructor
-{ $class-description "" } ;
-
-HELP: unload-model-animations
-{ $values
-    { "animations" object } { "count" object }
-}
-{ $description "" } ;
-
-HELP: unload-model-destructor
-{ $class-description "" } ;
-
-HELP: unload-music-stream
-{ $values
-    { "music" object }
-}
-{ $description "" } ;
-
-HELP: unload-music-stream-destructor
-{ $class-description "" } ;
-
-HELP: unload-render-texture
-{ $values
-    { "target" object }
-}
-{ $description "" } ;
-
-HELP: unload-render-texture-destructor
-{ $class-description "" } ;
-
-HELP: unload-shader
-{ $values
-    { "shader" object }
-}
-{ $description "" } ;
-
-HELP: unload-shader-destructor
-{ $class-description "" } ;
-
-HELP: unload-sound
-{ $values
-    { "sound" object }
-}
-{ $description "" } ;
-
-HELP: unload-sound-destructor
-{ $class-description "" } ;
-
-HELP: unload-texture
-{ $values
-    { "texture" object }
-}
-{ $description "" } ;
-
-HELP: unload-texture-destructor
-{ $class-description "" } ;
-
-HELP: unload-utf8
-{ $values
-    { "text" object }
-}
-{ $description "" } ;
-
-HELP: unload-vr-stereo-config
-{ $values
-    { "config" object }
-}
-{ $description "" } ;
-
-HELP: unload-wave
-{ $values
-    { "wave" object }
-}
-{ $description "" } ;
-
-HELP: unload-wave-destructor
-{ $class-description "" } ;
-
-HELP: unload-wave-samples
-{ $values
-    { "samples" object }
-}
-{ $description "" } ;
-
-HELP: update-audio-stream
-{ $values
-    { "stream" object } { "data" object } { "frameCount" object }
-}
-{ $description "" } ;
-
-HELP: update-camera
-{ $values
-    { "camera" object } { "mode" object }
-}
-{ $description "" } ;
-
-HELP: update-camera-pro
-{ $values
-    { "camera" object } { "movement" object } { "rotation" object } { "zoom" object }
-}
-{ $description "" } ;
-
-HELP: update-mesh-buffer
-{ $values
-    { "mesh" object } { "index" object } { "data" object } { "dataSize" object } { "offset" object }
-}
-{ $description "" } ;
-
-HELP: update-model-animation
-{ $values
-    { "model" object } { "anim" object } { "frame" object }
-}
-{ $description "" } ;
-
-HELP: update-music-stream
-{ $values
-    { "music" object }
-}
-{ $description "" } ;
-
-HELP: update-sound
-{ $values
-    { "sound" object } { "data" object } { "sampleCount" object }
-}
-{ $description "" } ;
-
-HELP: update-texture
-{ $values
-    { "texture" object } { "pixels" object }
-}
-{ $description "" } ;
-
-HELP: update-texture-rec
-{ $values
-    { "texture" object } { "rec" object } { "pixels" object }
-}
-{ $description "" } ;
-
-HELP: upload-mesh
-{ $values
-    { "mesh" object } { "dynamic" object }
-}
-{ $description "" } ;
-
-HELP: wait-time
-{ $values
-    { "seconds" object }
-}
-{ $description "" } ;
-
-HELP: wave-copy
-{ $values
-    { "wave" object }
-    { "Wave" object }
-}
-{ $description "" } ;
-
-HELP: wave-crop
-{ $values
-    { "wave" object } { "initSample" object } { "finalSample" object }
-}
-{ $description "" } ;
-
-HELP: wave-format
-{ $values
-    { "wave" object } { "sampleRate" object } { "sampleSize" object } { "channels" object }
-}
-{ $description "" } ;
-
-HELP: window-should-close
-{ $values
-    { "bool" object }
-}
-{ $description "" } ;
-
-HELP: |unload-audio-stream
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+HELP: BoneInfo
+{ $class-description
+    A skeletal animation bone.
+    { $list
+        { { $snippet name }     " is the name of the bone. Max 32 characters." }
+        { { $snippet processor }  " the parent index." }
+    }
+} ;
 
-HELP: |unload-file-data
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+HELP: BoundingBox
+{ $class-description
+    Represents a 3D bounding box defined by two points:
+    { $list
+        { { $snippet min }     " The minimum vertex box-corner." }
+        { { $snippet max }  " The maxium vertex box-corner." }
+    } } ;
 
-HELP: |unload-file-text
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
 
-HELP: |unload-font
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
 
-HELP: |unload-image
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
 
-HELP: |unload-image-colors
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
 
-HELP: |unload-image-palette
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+HELP: FilePathList
+{ $class-description
+    A list of file paths returned from \ load-directory-files ,
+    \ load-directory-files-ex . Must be freed with
+    \ unload-directory-files .
 
-HELP: |unload-material
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+    The fields are defined as followed:
+    { $list
+        { { $snippet capacity } " the max number of entries." }
+        { { $snippet count } " the number of entries found." }
+        { { $snippet paths } " array of string where each member is a file path." }
+    }
 
-HELP: |unload-mesh
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+    { $see-also
+        load-directory-files
+        load-directory-files-ex
+        unload-directory-files
+    }
+} ;
 
-HELP: |unload-model
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+HELP: Font
+{ $class-description
+    Represents a collections of glyphs that can be drawn to the screen.
+    The fields are defined as followed:
 
-HELP: |unload-model-animation
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+    { $list
+        { { $snippet baseSize     } { " the base size of the characters. This is how tall a glyph is." } }
+        { { $snippet glyphCount   } { " the number of glyph characters." } }
+        { { $snippet glyphPadding } { " the padding around each glyph." } }
+        { { $snippet texture      } { " the texture atlas continaing the glyphs." } }
+        { { $snippet recs         } { " an array of rectangles used to find each glyph in " { $snippet texture } "." } }
+        { { $snippet glyphs       } { " metadata about each glyph." } }
+    }
 
-HELP: |unload-music-stream
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+} ;
 
-HELP: |unload-render-texture
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
 
-HELP: |unload-shader
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
 
-HELP: |unload-sound
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
 
-HELP: |unload-texture
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+HELP: LIGHTGRAY  { $raylib-color "200, 200, 200, 255" } ;
+HELP: GRAY       { $raylib-color "130, 130, 130, 255" } ;
+HELP: DARKGRAY   { $raylib-color "80, 80, 80, 255" } ;
+HELP: YELLOW     { $raylib-color "253, 249, 0, 255" } ;
+HELP: GOLD       { $raylib-color "255, 203, 0, 255" } ;
+HELP: ORANGE     { $raylib-color "255, 161, 0, 255" } ;
+HELP: PINK       { $raylib-color "255, 109, 194, 255" } ;
+HELP: RED        { $raylib-color "230, 41, 55, 255" } ;
+HELP: MAROON     { $raylib-color "190, 33, 55, 255" } ;
+HELP: GREEN      { $raylib-color "0, 228, 48, 255" } ;
+HELP: LIME       { $raylib-color "0, 158, 47, 255" } ;
+HELP: DARKGREEN  { $raylib-color "0, 117, 44, 255" } ;
+HELP: SKYBLUE    { $raylib-color "102,  191, 255, 255" } ;
+HELP: BLUE       { $raylib-color "0, 121, 241, 255" } ;
+HELP: DARKBLUE   { $raylib-color "0, 82, 172, 255" } ;
+HELP: PURPLE     { $raylib-color "200, 122, 255, 255" } ;
+HELP: VIOLET     { $raylib-color "135, 60, 190, 255 " } ;
+HELP: DARKPURPLE { $raylib-color "112, 31, 126, 255 " } ;
+HELP: BEIGE      { $raylib-color "211, 176, 131, 255" } ;
+HELP: BROWN      { $raylib-color "127, 106, 79, 255 " } ;
+HELP: DARKBROWN  { $raylib-color "76, 63, 47, 255" } ;
 
-HELP: |unload-wave
-{ $values
-    { "alien" object }
-}
-{ $description "" } ;
+HELP: WHITE      { $raylib-color "255, 255, 255, 255" } ;
+HELP: BLACK      { $raylib-color "0, 0, 0, 255" } ;
+HELP: BLANK      { $raylib-color "0, 0, 0, 0" } ;
+HELP: MAGENTA    { $raylib-color "255, 0, 255, 255" } ;
+HELP: RAYWHITE   { $raylib-color "245, 245, 245, 255" } ;
 
 ARTICLE: "raylib" "Raylib"
     { $heading About Raylib  }
-        Raylib attempts to be a simple and easy-to-use library for writing 
+        Raylib attempts to be a simple and easy-to-use library for writing
         graphical applications.
 
     { $subheading Main Website }
         { $url "https://www.raylib.com/index.html" }
-    
+
     { $subheading Raylib Cheat Sheet }
         { $url "https://www.raylib.com/cheatsheet/cheatsheet.html" }
 
     { $heading About These Bindings }
-        The { $vocab-link "raylib" } vocabulary provides bindings to 
+        The { $vocab-link "raylib" } vocabulary provides bindings to
         Raylib 4.5. The vocab is fully documented using Factor's help
-        system. So, you can reliably use the browser to find information about 
+        system. So, you can reliably use the browser to find information about
         the various functions in raylib.
-    
-    { $warning 
-        Use caution when attempting to leverage concurrency features. 
+
+    { $warning
+        Use caution when attempting to leverage concurrency features.
         Raylib and the UI tools can interact in nasty ways: { $link "raylib-and-threads" } .
     }
 ;
@@ -5367,7 +1878,7 @@ ARTICLE: "raylib" "Raylib"
 ARTICLE: "raylib-and-threads" "Raylib and Threads"
     Factor features a powerful UI tool kit. However, Raylibe is designed
     under a single threaded model. Running a Raylib program will lock up
-    the UI until the program finishes. However, attempting to use 
+    the UI until the program finishes. However, attempting to use
     concurrency and threading features can corrupt the UI if done wrong.
 ;