diff --git a/.gitignore b/.gitignore index 44ac3c4..7d37718 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ build package-lock.json node_modules +.vscode diff --git a/CMakeLists.txt b/CMakeLists.txt index bc08ff8..4e43326 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.11) project(raylib-umka DESCRIPTION "raylib-umka: Umka bindings for raylib." HOMEPAGE_URL "https://github.com/robloach/raylib-umka" - VERSION 0.0.3 + VERSION 0.0.4 LANGUAGES C ) @@ -21,9 +21,11 @@ else() set(RAYLIB_UMKA_IS_MAIN FALSE) endif() option(RAYLIB_UMKA_BUILD_BIN "Binary" ${RAYLIB_UMKA_IS_MAIN}) +option(RAYLIB_UMKA_BUILD_UMI "UMI" ${RAYLIB_UMKA_IS_MAIN}) # raylib-umka if (RAYLIB_UMKA_BUILD_BIN) + set(CMAKE_POSITION_INDEPENDENT_CODE ON) add_subdirectory(bin) # Testing @@ -43,3 +45,9 @@ if (RAYLIB_UMKA_BUILD_BIN) ) endif() endif() + +# raylib.umi +if (RAYLIB_UMKA_BUILD_UMI) + set(CMAKE_POSITION_INDEPENDENT_CODE ON) + add_subdirectory(umi) +endif() diff --git a/bin/raylib-umka.c b/bin/raylib-umka.c index 3831eec..83770e6 100644 --- a/bin/raylib-umka.c +++ b/bin/raylib-umka.c @@ -27,8 +27,7 @@ void *umka; * Emscripten update callback. */ void umkaUpdate(void* userData) { - int* updateCall = (int*)userData; - umkaCall(umka, *updateCall, 0, NULL, NULL); + umkaCall(umka, (UmkaFuncContext*)userData); } /** @@ -44,9 +43,9 @@ EMSCRIPTEN_KEEPALIVE bool runCode(const char* fileName, const char* sourceString #endif // Call the close function if needed. - int closeCall = umkaGetFunc(umka, NULL, "close"); - if (closeCall != -1) { - umkaCall(umka, closeCall, 0, NULL, NULL); + UmkaFuncContext closeCall; + if (umkaGetFunc(umka, NULL, "close", &closeCall)) { + umkaCall(umka, &closeCall); } // Close the window if the application didn't do it. @@ -86,20 +85,20 @@ EMSCRIPTEN_KEEPALIVE bool runCode(const char* fileName, const char* sourceString if (result) { // main() - int mainCall = umkaGetFunc(umka, NULL, "main"); - if (mainCall != -1) { - result = umkaCall(umka, mainCall, 0, NULL, NULL); + UmkaFuncContext mainCall; + if (umkaGetFunc(umka, NULL, "main", &mainCall)) { + umkaCall(umka, &mainCall); } // init() - int initCall = umkaGetFunc(umka, NULL, "init"); - if (initCall != -1) { - umkaCall(umka, initCall, 0, NULL, NULL); + UmkaFuncContext initCall; + if (umkaGetFunc(umka, NULL, "init", &initCall)) { + umkaCall(umka, &initCall); } // update() - int updateCall = umkaGetFunc(umka, NULL, "update"); - if (updateCall != -1) { + UmkaFuncContext updateCall; + if (umkaGetFunc(umka, NULL, "update", &updateCall)) { // Start the Game Loop #if defined(PLATFORM_WEB) // TODO: Figure out desired FPS? @@ -108,22 +107,22 @@ EMSCRIPTEN_KEEPALIVE bool runCode(const char* fileName, const char* sourceString #else // Stop running if the Window or App have been told to close. while (!WindowShouldClose()) { - umkaCall(umka, updateCall, 0, NULL, NULL); + //umkaCall(umka, updateCall); + umkaCall(umka, &updateCall); } #endif } // close() - int closeCall = umkaGetFunc(umka, NULL, "close"); - if (closeCall != -1) { - umkaCall(umka, closeCall, 0, NULL, NULL); + UmkaFuncContext closeCall; + if (umkaGetFunc(umka, NULL, "close", &closeCall)) { + umkaCall(umka, &closeCall); } } if (!result) { - UmkaError error; - umkaGetError(umka, &error); - TraceLog(LOG_ERROR, "UMKA: %s (%d, %d): %s\n", error.fileName, error.line, error.pos, error.msg); + UmkaError* error = umkaGetError(umka); + TraceLog(LOG_ERROR, "UMKA: %s (%d, %d): %s\n", error->fileName, error->line, error->pos, error->msg); } umkaFree(umka); diff --git a/cmake/Findraylib.cmake b/cmake/Findraylib.cmake index f60ad07..0a50e95 100644 --- a/cmake/Findraylib.cmake +++ b/cmake/Findraylib.cmake @@ -1,14 +1,15 @@ # RAYLIB_VERSION # todo: Switch to FindPackageHandleStandardArgs if (NOT RAYLIB_VERSION) - set(RAYLIB_VERSION "4.2.0") + set(RAYLIB_VERSION "5.5") endif() include(FetchContent) FetchContent_Declare( raylib GIT_REPOSITORY https://github.com/raysan5/raylib.git - GIT_TAG ${RAYLIB_VERSION} + #GIT_TAG ${RAYLIB_VERSION} + GIT_TAG 7b1096dc537b926f8509a5e84fb248bd55ee1b06 ) FetchContent_GetProperties(raylib) if (NOT raylib_POPULATED) @@ -17,4 +18,4 @@ if (NOT raylib_POPULATED) set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) set(BUILD_GAMES OFF CACHE BOOL "" FORCE) add_subdirectory(${raylib_SOURCE_DIR} ${raylib_BINARY_DIR}) -endif() \ No newline at end of file +endif() diff --git a/cmake/Findumka.cmake b/cmake/Findumka.cmake index 2ac9013..5350c2e 100644 --- a/cmake/Findumka.cmake +++ b/cmake/Findumka.cmake @@ -1,7 +1,7 @@ # UMKA_VERSION # todo: Switch to FindPackageHandleStandardArgs if (NOT UMKA_VERSION) - set(UMKA_VERSION "f8db6843ef7e2211c120751af7b40ed97e24cb23") + set(UMKA_VERSION "v1.5.5") endif() # Options diff --git a/generator/index.js b/generator/index.js index 967cb7c..a7f72f2 100644 --- a/generator/index.js +++ b/generator/index.js @@ -3,9 +3,6 @@ const { fstat } = require('fs') const path = require('path') const fs = require('fs') -// Where to write the file to. -const outputFile = path.join(__dirname, '..', 'include', 'raylib-umka.h') - /** * Translates raylib parameters into umka values. */ @@ -52,6 +49,8 @@ function getIsRaylibStruct(type) { 'Rectangle', 'Texture2D', 'TextureCubemap', + 'AutomationEventList', + 'AutomationEvent', 'Image', 'Texture', 'RenderTexture', @@ -165,6 +164,7 @@ function getFunctionImplementations(functions) { * * @see ${func.name}() */ +RAYLIB_UMKA_FUNCTION(${func.name}) void umka${func.name}(UmkaStackSlot *params, UmkaStackSlot *result) {\n` let params = [] let paramsInFunction = [] @@ -246,6 +246,8 @@ function raylibTypeToUmka(type) { return '^void' case 'const Vector3': return 'Vector3' + case 'const Vector2 *': + return 'const ^Vector2' // Need to remove the const? case 'const Matrix *': return '^Matrix' case 'const GlyphInfo *': @@ -262,11 +264,15 @@ function raylibTypeToUmka(type) { return 'str' case 'float *': return '^real32' + case 'const float *': + return 'const ^real32'; case 'Camera': return 'Camera3D' case 'Texture2D': case 'TextureCubemap': return 'Texture' + case 'ModelAnimPose': + return '^Transform' case 'RenderTexture2D': return 'RenderTexture' case 'rAudioBuffer *': @@ -280,6 +286,8 @@ function raylibTypeToUmka(type) { return '[4]real32' case 'float[16]': return '[16]real32' + case 'int[4]': + return '[4]int32' case 'unsigned char': return 'uint8' case 'Transform **': @@ -370,12 +378,23 @@ const callbacksBlacklist = [ // 'SaveFileTextCallback', // 'AudioCallback' ] + function getCallbacks(callbacks) { - let output = ` /* ${outputLineNumber()} */ "type (\\n"\n` + let code = getCallbacksCode(callbacks) + + let output = code.split('\n').map(line => { + return ` /* ${outputLineNumber()} */ "${line}\\n"` + }).join('\n') + + return output +} + +function getCallbacksCode(callbacks) { + let output = [`type (`] for (let callback of callbacks) { if (callbacksBlacklist.includes(callback.name)) { - output += ` // Skipped ${callback.name}\n` + output.push(`// Skipped ${callback.name}`) continue } let params = [] @@ -392,11 +411,11 @@ function getCallbacks(callbacks) { returnType = ': ' + returnType } } - output += ` /* ${outputLineNumber()} */ " ${callback.name} = fn(${params.join(', ')})${returnType}\\n"\n` + output.push(` ${callback.name} = fn(${params.join(', ')})${returnType}`) } - output += ` /* ${outputLineNumber()} */ ")\\n"` - return output; + output.push(`)`) + return output.join('\n') } @@ -436,11 +455,24 @@ function getModuleFunctionDeclarationsCleanParamName(name) { * Builds the module declarations for the module. */ function getModuleFunctionDeclarations(functions) { - output = '' + let code = getModuleFunctionDeclarationsCode(functions) + + let output = code.split('\n').map(line => { + return ` /* ${outputLineNumber()} */ "${line}\\n"` + }).join('\n') + + return output +} + +function getModuleFunctionDeclarationsCode(functions) { + let output = [ + // Custom TraceLog Implementation + 'fn TraceLog*(errorType: int, message: str)' + ] for (let func of functions) { // Blacklist if (functionBlackList.includes(func.name)) { - output += ` // Skipping ${func.name}\n` + output.push(`// Skipping ${func.name}`) continue } @@ -457,10 +489,11 @@ function getModuleFunctionDeclarations(functions) { returnType = `: ${raylibTypeToUmka(func.returnType)}` } - output += ` /* ${outputLineNumber()} */ "fn ${func.name}*(${paramList.join(', ')})${returnType}\\n"\n` + output.push(`fn ${func.name}*(${paramList.join(', ')})${returnType}`) } - return output + return output.join('\n') } + const moduleFunctionDeclarations = getModuleFunctionDeclarations(getAllFunctions()) /** @@ -474,22 +507,32 @@ function outputLineNumber() { * Translates all structs into a valid Umka code. */ function getStructures(structs) { - output = ` /* ${outputLineNumber()} */ "type (\\n"\n` + let code = getStructuresCode(structs) + + let output = code.split('\n').map(line => { + return ` /* ${outputLineNumber()} */ "${line}\\n"` + }).join('\n') + + return output +} + +function getStructuresCode(structs) { + let output = [`type (`] for (let struct of structs) { if (structureBlackList.includes(struct.name)) { continue } - output += ` /* ${outputLineNumber()} */ " ${struct.name}* = struct {\\n"\n` + output.push(` ${struct.name}* = struct {`) for (let field of struct.fields) { - output += ` /* ${outputLineNumber()} */ " ${field.name}: ${raylibTypeToUmka(field.type)}\\n"\n` + output.push(` ${field.name}: ${raylibTypeToUmka(field.type)}`) } - output += ` /* ${outputLineNumber()} */ " }\\n"\n` + output.push(` }`) } + output.push(')') - output += ` /* ${outputLineNumber()} */ ")\\n"` - return output + return output.join('\n') } function getAllEnums() { @@ -516,22 +559,39 @@ function getAllEnums() { * Creates Umka code for all the given enums. */ function getEnums(enums) { + let output = getEnumsCode(enums) + let out = output.split('\n').map(line => { + return ` /* ${outputLineNumber()} */ "${line}\\n"` + }).join('\n') + return out +} + +function getEnumsCode(enums) { output = [] for (let define of enums) { for (let val of define.values) { - output.push(` /* ${outputLineNumber()} */ "const ${val.name}* = ${val.value}\\n"`) + output.push(`const ${val.name}* = ${val.value}`) } } return output.join('\n') } + const enums = getEnums(getAllEnums()) // Blacklist of defines const definesBlackList = [] function getDefines(defines) { - let output = '' + let output = getDefinesCode(defines) + let out = output.split('\n').map(line => { + return ` /* ${outputLineNumber()} */ "${line.replaceAll('"', '\\"')}\\n"` + }).join('\n') + return out +} + +function getDefinesCode(defines) { + let output = [] for (let define of defines) { // Blacklist if (definesBlackList.includes(define)) { @@ -545,23 +605,23 @@ function getDefines(defines) { // Manually handle the colors. if (define.type == 'COLOR') { - output += ` /* ${outputLineNumber()} */ "const ${define.name}* = ${define.value.replace('CLITERAL(Color)', 'Color')}\\n"\n` + output.push(`const ${define.name}* = ${define.value.replace('CLITERAL(Color)', 'Color')}`) continue } if (define.type == 'STRING') { - output += ` /* ${outputLineNumber()} */ "const ${define.name}* = \\"${define.value}\\"\\n"\n` + output.push(`const ${define.name}* = "${define.value}"`) continue } if (define.type == 'FLOAT') { - output += ` /* ${outputLineNumber()} */ "const ${define.name}* = ${define.value}\\n"\n` + output.push(`const ${define.name}* = ${define.value}`) continue } - output += ` // Skipped define: ${define.name}\n` + output.push(`// Skipped define: ${define.name}`) } - return output + return output.join('\n') } /** @@ -599,7 +659,7 @@ let code = * ${pkg.homepage} * * DEPENDENCIES: -* - raylib 4.2 https://www.raylib.com/ +* - raylib 6.x https://www.raylib.com/ * - Umka https://github.com/vtereshkov/umka-lang * * NOTE: Do not edit this file, as it is automatically generated. @@ -609,7 +669,7 @@ let code = * ${pkg.name} is licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software: * -* Copyright (c) 2022 ${pkg.author} +* Copyright (c) 2026 ${pkg.author} * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. @@ -635,6 +695,11 @@ let code = extern "C" { #endif +/** + * RAYLIB_UMKA_NO_ADD_MODULE allows enabling or disabling the umkaAddRaylib() method. + */ +#ifndef RAYLIB_UMKA_NO_ADD_MODULE + /** * Adds the raylib module to an Umka instance. * @@ -644,6 +709,8 @@ extern "C" { */ bool umkaAddRaylib(void *umka); +#endif // RAYLIB_UMKA_NO_ADD_MODULE + #if defined(__cplusplus) } #endif @@ -684,6 +751,10 @@ bool umkaAddRaylib(void *umka); #define RAYLIB_UMKA_MEMCPY memcpy #endif +#ifndef RAYLIB_UMKA_FUNCTION +#define RAYLIB_UMKA_FUNCTION(functionName) +#endif + #if defined(__cplusplus) extern "C" { #endif @@ -700,6 +771,7 @@ void umkaTraceLog(UmkaStackSlot *params, UmkaStackSlot *result) { TraceLog(logType, "%s", message); } +#ifndef RAYLIB_UMKA_NO_ADD_MODULE /** * Adds the raylib module to the given Umka instance. * @@ -731,8 +803,6 @@ ${enums} // Defines ${defines} - // Custom functions - "fn TraceLog*(errorType: int , message: str)\\n" // End of the module. " "; @@ -740,6 +810,8 @@ ${defines} return umkaAddModule(umka, "raylib", moduleCode); } +#endif // RAYLIB_UMKA_NO_ADD_MODULE + #if defined(__cplusplus) } #endif @@ -748,4 +820,35 @@ ${defines} #endif // RAYLIB_UMKA_IMPLEMENTATION ` +// Where to write the file to. +const outputFile = path.join(__dirname, '..', 'include', 'raylib-umka.h') fs.writeFileSync(outputFile, code) + +// raylib.um +const raylibModule = `/** + * ${pkg.name} v${pkg.version} - ${pkg.description} + * + * ${pkg.homepage} + * + * NOTE: Do not edit this file, as it is automatically generated. + * + * LICENSE: ${pkg.license} + */ + +// Structures +${getStructuresCode(getAllStructs())} + +// Callbacks +${getCallbacksCode(getAllCallbacks())} + +// Functions +${getModuleFunctionDeclarationsCode(getAllFunctions())} + +// Enums +${getEnumsCode(getAllEnums())} + +// Defines +${getDefinesCode(getAllDefines())} +` +const moduleFile = path.join(__dirname, '..', 'umi', 'raylib.um') +fs.writeFileSync(moduleFile, raylibModule) diff --git a/include/raylib-umka.h b/include/raylib-umka.h index cf38373..d9c7cb1 100644 --- a/include/raylib-umka.h +++ b/include/raylib-umka.h @@ -1,11 +1,11 @@ /********************************************************************************************** * -* raylib-umka v0.0.3 - Umka bindings for raylib. +* raylib-umka v0.0.6 - Umka bindings for raylib. * * https://github.com/RobLoach/raylib-umka * * DEPENDENCIES: -* - raylib 4.2 https://www.raylib.com/ +* - raylib 6.x https://www.raylib.com/ * - Umka https://github.com/vtereshkov/umka-lang * * NOTE: Do not edit this file, as it is automatically generated. @@ -15,7 +15,7 @@ * raylib-umka is licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software: * -* Copyright (c) 2022 Rob Loach (https://robloach.net) +* Copyright (c) 2026 Rob Loach (https://robloach.net) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. @@ -41,6 +41,11 @@ extern "C" { #endif +/** + * RAYLIB_UMKA_NO_ADD_MODULE allows enabling or disabling the umkaAddRaylib() method. + */ +#ifndef RAYLIB_UMKA_NO_ADD_MODULE + /** * Adds the raylib module to an Umka instance. * @@ -50,6 +55,8 @@ extern "C" { */ bool umkaAddRaylib(void *umka); +#endif // RAYLIB_UMKA_NO_ADD_MODULE + #if defined(__cplusplus) } #endif @@ -90,6 +97,10 @@ bool umkaAddRaylib(void *umka); #define RAYLIB_UMKA_MEMCPY memcpy #endif +#ifndef RAYLIB_UMKA_FUNCTION +#define RAYLIB_UMKA_FUNCTION(functionName) +#endif + #if defined(__cplusplus) extern "C" { #endif @@ -99,6 +110,7 @@ extern "C" { * * @see InitWindow() */ +RAYLIB_UMKA_FUNCTION(InitWindow) void umkaInitWindow(UmkaStackSlot *params, UmkaStackSlot *result) { int width = params[2].intVal; int height = params[1].intVal; @@ -107,21 +119,23 @@ void umkaInitWindow(UmkaStackSlot *params, UmkaStackSlot *result) { } /** - * Umka bindings for WindowShouldClose(). + * Umka bindings for CloseWindow(). * - * @see WindowShouldClose() + * @see CloseWindow() */ -void umkaWindowShouldClose(UmkaStackSlot *params, UmkaStackSlot *result) { - result->intVal = (int)WindowShouldClose(); +RAYLIB_UMKA_FUNCTION(CloseWindow) +void umkaCloseWindow(UmkaStackSlot *params, UmkaStackSlot *result) { + CloseWindow(); } /** - * Umka bindings for CloseWindow(). + * Umka bindings for WindowShouldClose(). * - * @see CloseWindow() + * @see WindowShouldClose() */ -void umkaCloseWindow(UmkaStackSlot *params, UmkaStackSlot *result) { - CloseWindow(); +RAYLIB_UMKA_FUNCTION(WindowShouldClose) +void umkaWindowShouldClose(UmkaStackSlot *params, UmkaStackSlot *result) { + result->intVal = (int)WindowShouldClose(); } /** @@ -129,6 +143,7 @@ void umkaCloseWindow(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsWindowReady() */ +RAYLIB_UMKA_FUNCTION(IsWindowReady) void umkaIsWindowReady(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = (int)IsWindowReady(); } @@ -138,6 +153,7 @@ void umkaIsWindowReady(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsWindowFullscreen() */ +RAYLIB_UMKA_FUNCTION(IsWindowFullscreen) void umkaIsWindowFullscreen(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = (int)IsWindowFullscreen(); } @@ -147,6 +163,7 @@ void umkaIsWindowFullscreen(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsWindowHidden() */ +RAYLIB_UMKA_FUNCTION(IsWindowHidden) void umkaIsWindowHidden(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = (int)IsWindowHidden(); } @@ -156,6 +173,7 @@ void umkaIsWindowHidden(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsWindowMinimized() */ +RAYLIB_UMKA_FUNCTION(IsWindowMinimized) void umkaIsWindowMinimized(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = (int)IsWindowMinimized(); } @@ -165,6 +183,7 @@ void umkaIsWindowMinimized(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsWindowMaximized() */ +RAYLIB_UMKA_FUNCTION(IsWindowMaximized) void umkaIsWindowMaximized(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = (int)IsWindowMaximized(); } @@ -174,6 +193,7 @@ void umkaIsWindowMaximized(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsWindowFocused() */ +RAYLIB_UMKA_FUNCTION(IsWindowFocused) void umkaIsWindowFocused(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = (int)IsWindowFocused(); } @@ -183,6 +203,7 @@ void umkaIsWindowFocused(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsWindowResized() */ +RAYLIB_UMKA_FUNCTION(IsWindowResized) void umkaIsWindowResized(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = (int)IsWindowResized(); } @@ -192,6 +213,7 @@ void umkaIsWindowResized(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsWindowState() */ +RAYLIB_UMKA_FUNCTION(IsWindowState) void umkaIsWindowState(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int flag = params[0].uintVal; result->intVal = (int)IsWindowState(flag); @@ -202,6 +224,7 @@ void umkaIsWindowState(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetWindowState() */ +RAYLIB_UMKA_FUNCTION(SetWindowState) void umkaSetWindowState(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int flags = params[0].uintVal; SetWindowState(flags); @@ -212,6 +235,7 @@ void umkaSetWindowState(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ClearWindowState() */ +RAYLIB_UMKA_FUNCTION(ClearWindowState) void umkaClearWindowState(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int flags = params[0].uintVal; ClearWindowState(flags); @@ -222,15 +246,27 @@ void umkaClearWindowState(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ToggleFullscreen() */ +RAYLIB_UMKA_FUNCTION(ToggleFullscreen) void umkaToggleFullscreen(UmkaStackSlot *params, UmkaStackSlot *result) { ToggleFullscreen(); } +/** + * Umka bindings for ToggleBorderlessWindowed(). + * + * @see ToggleBorderlessWindowed() + */ +RAYLIB_UMKA_FUNCTION(ToggleBorderlessWindowed) +void umkaToggleBorderlessWindowed(UmkaStackSlot *params, UmkaStackSlot *result) { + ToggleBorderlessWindowed(); +} + /** * Umka bindings for MaximizeWindow(). * * @see MaximizeWindow() */ +RAYLIB_UMKA_FUNCTION(MaximizeWindow) void umkaMaximizeWindow(UmkaStackSlot *params, UmkaStackSlot *result) { MaximizeWindow(); } @@ -240,6 +276,7 @@ void umkaMaximizeWindow(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MinimizeWindow() */ +RAYLIB_UMKA_FUNCTION(MinimizeWindow) void umkaMinimizeWindow(UmkaStackSlot *params, UmkaStackSlot *result) { MinimizeWindow(); } @@ -249,6 +286,7 @@ void umkaMinimizeWindow(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see RestoreWindow() */ +RAYLIB_UMKA_FUNCTION(RestoreWindow) void umkaRestoreWindow(UmkaStackSlot *params, UmkaStackSlot *result) { RestoreWindow(); } @@ -258,16 +296,30 @@ void umkaRestoreWindow(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetWindowIcon() */ +RAYLIB_UMKA_FUNCTION(SetWindowIcon) void umkaSetWindowIcon(UmkaStackSlot *params, UmkaStackSlot *result) { Image* image = (Image*)¶ms[0]; SetWindowIcon(*image); } +/** + * Umka bindings for SetWindowIcons(). + * + * @see SetWindowIcons() + */ +RAYLIB_UMKA_FUNCTION(SetWindowIcons) +void umkaSetWindowIcons(UmkaStackSlot *params, UmkaStackSlot *result) { + Image * images = (Image *)params[1].ptrVal; + int count = params[0].intVal; + SetWindowIcons(images, count); +} + /** * Umka bindings for SetWindowTitle(). * * @see SetWindowTitle() */ +RAYLIB_UMKA_FUNCTION(SetWindowTitle) void umkaSetWindowTitle(UmkaStackSlot *params, UmkaStackSlot *result) { const char * title = (const char *)params[0].ptrVal; SetWindowTitle(title); @@ -278,6 +330,7 @@ void umkaSetWindowTitle(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetWindowPosition() */ +RAYLIB_UMKA_FUNCTION(SetWindowPosition) void umkaSetWindowPosition(UmkaStackSlot *params, UmkaStackSlot *result) { int x = params[1].intVal; int y = params[0].intVal; @@ -289,6 +342,7 @@ void umkaSetWindowPosition(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetWindowMonitor() */ +RAYLIB_UMKA_FUNCTION(SetWindowMonitor) void umkaSetWindowMonitor(UmkaStackSlot *params, UmkaStackSlot *result) { int monitor = params[0].intVal; SetWindowMonitor(monitor); @@ -299,17 +353,31 @@ void umkaSetWindowMonitor(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetWindowMinSize() */ +RAYLIB_UMKA_FUNCTION(SetWindowMinSize) void umkaSetWindowMinSize(UmkaStackSlot *params, UmkaStackSlot *result) { int width = params[1].intVal; int height = params[0].intVal; SetWindowMinSize(width, height); } +/** + * Umka bindings for SetWindowMaxSize(). + * + * @see SetWindowMaxSize() + */ +RAYLIB_UMKA_FUNCTION(SetWindowMaxSize) +void umkaSetWindowMaxSize(UmkaStackSlot *params, UmkaStackSlot *result) { + int width = params[1].intVal; + int height = params[0].intVal; + SetWindowMaxSize(width, height); +} + /** * Umka bindings for SetWindowSize(). * * @see SetWindowSize() */ +RAYLIB_UMKA_FUNCTION(SetWindowSize) void umkaSetWindowSize(UmkaStackSlot *params, UmkaStackSlot *result) { int width = params[1].intVal; int height = params[0].intVal; @@ -321,16 +389,28 @@ void umkaSetWindowSize(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetWindowOpacity() */ +RAYLIB_UMKA_FUNCTION(SetWindowOpacity) void umkaSetWindowOpacity(UmkaStackSlot *params, UmkaStackSlot *result) { float opacity = params[0].real32Val; SetWindowOpacity(opacity); } +/** + * Umka bindings for SetWindowFocused(). + * + * @see SetWindowFocused() + */ +RAYLIB_UMKA_FUNCTION(SetWindowFocused) +void umkaSetWindowFocused(UmkaStackSlot *params, UmkaStackSlot *result) { + SetWindowFocused(); +} + /** * Umka bindings for GetWindowHandle(). * * @see GetWindowHandle() */ +RAYLIB_UMKA_FUNCTION(GetWindowHandle) void umkaGetWindowHandle(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = (void*)GetWindowHandle(); } @@ -340,6 +420,7 @@ void umkaGetWindowHandle(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetScreenWidth() */ +RAYLIB_UMKA_FUNCTION(GetScreenWidth) void umkaGetScreenWidth(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = GetScreenWidth(); } @@ -349,6 +430,7 @@ void umkaGetScreenWidth(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetScreenHeight() */ +RAYLIB_UMKA_FUNCTION(GetScreenHeight) void umkaGetScreenHeight(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = GetScreenHeight(); } @@ -358,6 +440,7 @@ void umkaGetScreenHeight(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetRenderWidth() */ +RAYLIB_UMKA_FUNCTION(GetRenderWidth) void umkaGetRenderWidth(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = GetRenderWidth(); } @@ -367,6 +450,7 @@ void umkaGetRenderWidth(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetRenderHeight() */ +RAYLIB_UMKA_FUNCTION(GetRenderHeight) void umkaGetRenderHeight(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = GetRenderHeight(); } @@ -376,6 +460,7 @@ void umkaGetRenderHeight(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetMonitorCount() */ +RAYLIB_UMKA_FUNCTION(GetMonitorCount) void umkaGetMonitorCount(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = GetMonitorCount(); } @@ -385,6 +470,7 @@ void umkaGetMonitorCount(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetCurrentMonitor() */ +RAYLIB_UMKA_FUNCTION(GetCurrentMonitor) void umkaGetCurrentMonitor(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = GetCurrentMonitor(); } @@ -394,6 +480,7 @@ void umkaGetCurrentMonitor(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetMonitorPosition() */ +RAYLIB_UMKA_FUNCTION(GetMonitorPosition) void umkaGetMonitorPosition(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename int monitor = params[1].intVal; @@ -407,6 +494,7 @@ void umkaGetMonitorPosition(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetMonitorWidth() */ +RAYLIB_UMKA_FUNCTION(GetMonitorWidth) void umkaGetMonitorWidth(UmkaStackSlot *params, UmkaStackSlot *result) { int monitor = params[0].intVal; result->intVal = GetMonitorWidth(monitor); @@ -417,6 +505,7 @@ void umkaGetMonitorWidth(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetMonitorHeight() */ +RAYLIB_UMKA_FUNCTION(GetMonitorHeight) void umkaGetMonitorHeight(UmkaStackSlot *params, UmkaStackSlot *result) { int monitor = params[0].intVal; result->intVal = GetMonitorHeight(monitor); @@ -427,6 +516,7 @@ void umkaGetMonitorHeight(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetMonitorPhysicalWidth() */ +RAYLIB_UMKA_FUNCTION(GetMonitorPhysicalWidth) void umkaGetMonitorPhysicalWidth(UmkaStackSlot *params, UmkaStackSlot *result) { int monitor = params[0].intVal; result->intVal = GetMonitorPhysicalWidth(monitor); @@ -437,6 +527,7 @@ void umkaGetMonitorPhysicalWidth(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetMonitorPhysicalHeight() */ +RAYLIB_UMKA_FUNCTION(GetMonitorPhysicalHeight) void umkaGetMonitorPhysicalHeight(UmkaStackSlot *params, UmkaStackSlot *result) { int monitor = params[0].intVal; result->intVal = GetMonitorPhysicalHeight(monitor); @@ -447,6 +538,7 @@ void umkaGetMonitorPhysicalHeight(UmkaStackSlot *params, UmkaStackSlot *result) * * @see GetMonitorRefreshRate() */ +RAYLIB_UMKA_FUNCTION(GetMonitorRefreshRate) void umkaGetMonitorRefreshRate(UmkaStackSlot *params, UmkaStackSlot *result) { int monitor = params[0].intVal; result->intVal = GetMonitorRefreshRate(monitor); @@ -457,6 +549,7 @@ void umkaGetMonitorRefreshRate(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetWindowPosition() */ +RAYLIB_UMKA_FUNCTION(GetWindowPosition) void umkaGetWindowPosition(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); Vector2 out = GetWindowPosition(); @@ -468,6 +561,7 @@ void umkaGetWindowPosition(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetWindowScaleDPI() */ +RAYLIB_UMKA_FUNCTION(GetWindowScaleDPI) void umkaGetWindowScaleDPI(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); Vector2 out = GetWindowScaleDPI(); @@ -479,6 +573,7 @@ void umkaGetWindowScaleDPI(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetMonitorName() */ +RAYLIB_UMKA_FUNCTION(GetMonitorName) void umkaGetMonitorName(UmkaStackSlot *params, UmkaStackSlot *result) { int monitor = params[0].intVal; result->ptrVal = (void*)GetMonitorName(monitor); @@ -489,6 +584,7 @@ void umkaGetMonitorName(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetClipboardText() */ +RAYLIB_UMKA_FUNCTION(SetClipboardText) void umkaSetClipboardText(UmkaStackSlot *params, UmkaStackSlot *result) { const char * text = (const char *)params[0].ptrVal; SetClipboardText(text); @@ -499,15 +595,29 @@ void umkaSetClipboardText(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetClipboardText() */ +RAYLIB_UMKA_FUNCTION(GetClipboardText) void umkaGetClipboardText(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = (void*)GetClipboardText(); } +/** + * Umka bindings for GetClipboardImage(). + * + * @see GetClipboardImage() + */ +RAYLIB_UMKA_FUNCTION(GetClipboardImage) +void umkaGetClipboardImage(UmkaStackSlot *params, UmkaStackSlot *result) { + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Image), NULL); + Image out = GetClipboardImage(); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Image)); +} + /** * Umka bindings for EnableEventWaiting(). * * @see EnableEventWaiting() */ +RAYLIB_UMKA_FUNCTION(EnableEventWaiting) void umkaEnableEventWaiting(UmkaStackSlot *params, UmkaStackSlot *result) { EnableEventWaiting(); } @@ -517,43 +627,17 @@ void umkaEnableEventWaiting(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DisableEventWaiting() */ +RAYLIB_UMKA_FUNCTION(DisableEventWaiting) void umkaDisableEventWaiting(UmkaStackSlot *params, UmkaStackSlot *result) { DisableEventWaiting(); } -/** - * Umka bindings for SwapScreenBuffer(). - * - * @see SwapScreenBuffer() - */ -void umkaSwapScreenBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { - SwapScreenBuffer(); -} - -/** - * Umka bindings for PollInputEvents(). - * - * @see PollInputEvents() - */ -void umkaPollInputEvents(UmkaStackSlot *params, UmkaStackSlot *result) { - PollInputEvents(); -} - -/** - * Umka bindings for WaitTime(). - * - * @see WaitTime() - */ -void umkaWaitTime(UmkaStackSlot *params, UmkaStackSlot *result) { - double seconds = params[0].realVal; - WaitTime(seconds); -} - /** * Umka bindings for ShowCursor(). * * @see ShowCursor() */ +RAYLIB_UMKA_FUNCTION(ShowCursor) void umkaShowCursor(UmkaStackSlot *params, UmkaStackSlot *result) { ShowCursor(); } @@ -563,6 +647,7 @@ void umkaShowCursor(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see HideCursor() */ +RAYLIB_UMKA_FUNCTION(HideCursor) void umkaHideCursor(UmkaStackSlot *params, UmkaStackSlot *result) { HideCursor(); } @@ -572,6 +657,7 @@ void umkaHideCursor(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsCursorHidden() */ +RAYLIB_UMKA_FUNCTION(IsCursorHidden) void umkaIsCursorHidden(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = (int)IsCursorHidden(); } @@ -581,6 +667,7 @@ void umkaIsCursorHidden(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see EnableCursor() */ +RAYLIB_UMKA_FUNCTION(EnableCursor) void umkaEnableCursor(UmkaStackSlot *params, UmkaStackSlot *result) { EnableCursor(); } @@ -590,6 +677,7 @@ void umkaEnableCursor(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DisableCursor() */ +RAYLIB_UMKA_FUNCTION(DisableCursor) void umkaDisableCursor(UmkaStackSlot *params, UmkaStackSlot *result) { DisableCursor(); } @@ -599,6 +687,7 @@ void umkaDisableCursor(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsCursorOnScreen() */ +RAYLIB_UMKA_FUNCTION(IsCursorOnScreen) void umkaIsCursorOnScreen(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = (int)IsCursorOnScreen(); } @@ -608,6 +697,7 @@ void umkaIsCursorOnScreen(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ClearBackground() */ +RAYLIB_UMKA_FUNCTION(ClearBackground) void umkaClearBackground(UmkaStackSlot *params, UmkaStackSlot *result) { Color* color = (Color*)¶ms[0]; ClearBackground(*color); @@ -618,6 +708,7 @@ void umkaClearBackground(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see BeginDrawing() */ +RAYLIB_UMKA_FUNCTION(BeginDrawing) void umkaBeginDrawing(UmkaStackSlot *params, UmkaStackSlot *result) { BeginDrawing(); } @@ -627,6 +718,7 @@ void umkaBeginDrawing(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see EndDrawing() */ +RAYLIB_UMKA_FUNCTION(EndDrawing) void umkaEndDrawing(UmkaStackSlot *params, UmkaStackSlot *result) { EndDrawing(); } @@ -636,6 +728,7 @@ void umkaEndDrawing(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see BeginMode2D() */ +RAYLIB_UMKA_FUNCTION(BeginMode2D) void umkaBeginMode2D(UmkaStackSlot *params, UmkaStackSlot *result) { Camera2D* camera = (Camera2D*)¶ms[0]; BeginMode2D(*camera); @@ -646,6 +739,7 @@ void umkaBeginMode2D(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see EndMode2D() */ +RAYLIB_UMKA_FUNCTION(EndMode2D) void umkaEndMode2D(UmkaStackSlot *params, UmkaStackSlot *result) { EndMode2D(); } @@ -655,6 +749,7 @@ void umkaEndMode2D(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see BeginMode3D() */ +RAYLIB_UMKA_FUNCTION(BeginMode3D) void umkaBeginMode3D(UmkaStackSlot *params, UmkaStackSlot *result) { Camera3D* camera = (Camera3D*)¶ms[0]; BeginMode3D(*camera); @@ -665,6 +760,7 @@ void umkaBeginMode3D(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see EndMode3D() */ +RAYLIB_UMKA_FUNCTION(EndMode3D) void umkaEndMode3D(UmkaStackSlot *params, UmkaStackSlot *result) { EndMode3D(); } @@ -674,6 +770,7 @@ void umkaEndMode3D(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see BeginTextureMode() */ +RAYLIB_UMKA_FUNCTION(BeginTextureMode) void umkaBeginTextureMode(UmkaStackSlot *params, UmkaStackSlot *result) { RenderTexture2D* target = (RenderTexture2D*)¶ms[0]; BeginTextureMode(*target); @@ -684,6 +781,7 @@ void umkaBeginTextureMode(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see EndTextureMode() */ +RAYLIB_UMKA_FUNCTION(EndTextureMode) void umkaEndTextureMode(UmkaStackSlot *params, UmkaStackSlot *result) { EndTextureMode(); } @@ -693,6 +791,7 @@ void umkaEndTextureMode(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see BeginShaderMode() */ +RAYLIB_UMKA_FUNCTION(BeginShaderMode) void umkaBeginShaderMode(UmkaStackSlot *params, UmkaStackSlot *result) { Shader* shader = (Shader*)¶ms[0]; BeginShaderMode(*shader); @@ -703,6 +802,7 @@ void umkaBeginShaderMode(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see EndShaderMode() */ +RAYLIB_UMKA_FUNCTION(EndShaderMode) void umkaEndShaderMode(UmkaStackSlot *params, UmkaStackSlot *result) { EndShaderMode(); } @@ -712,6 +812,7 @@ void umkaEndShaderMode(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see BeginBlendMode() */ +RAYLIB_UMKA_FUNCTION(BeginBlendMode) void umkaBeginBlendMode(UmkaStackSlot *params, UmkaStackSlot *result) { int mode = params[0].intVal; BeginBlendMode(mode); @@ -722,6 +823,7 @@ void umkaBeginBlendMode(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see EndBlendMode() */ +RAYLIB_UMKA_FUNCTION(EndBlendMode) void umkaEndBlendMode(UmkaStackSlot *params, UmkaStackSlot *result) { EndBlendMode(); } @@ -731,6 +833,7 @@ void umkaEndBlendMode(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see BeginScissorMode() */ +RAYLIB_UMKA_FUNCTION(BeginScissorMode) void umkaBeginScissorMode(UmkaStackSlot *params, UmkaStackSlot *result) { int x = params[3].intVal; int y = params[2].intVal; @@ -744,6 +847,7 @@ void umkaBeginScissorMode(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see EndScissorMode() */ +RAYLIB_UMKA_FUNCTION(EndScissorMode) void umkaEndScissorMode(UmkaStackSlot *params, UmkaStackSlot *result) { EndScissorMode(); } @@ -753,6 +857,7 @@ void umkaEndScissorMode(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see BeginVrStereoMode() */ +RAYLIB_UMKA_FUNCTION(BeginVrStereoMode) void umkaBeginVrStereoMode(UmkaStackSlot *params, UmkaStackSlot *result) { VrStereoConfig* config = (VrStereoConfig*)¶ms[0]; BeginVrStereoMode(*config); @@ -763,6 +868,7 @@ void umkaBeginVrStereoMode(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see EndVrStereoMode() */ +RAYLIB_UMKA_FUNCTION(EndVrStereoMode) void umkaEndVrStereoMode(UmkaStackSlot *params, UmkaStackSlot *result) { EndVrStereoMode(); } @@ -772,6 +878,7 @@ void umkaEndVrStereoMode(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadVrStereoConfig() */ +RAYLIB_UMKA_FUNCTION(LoadVrStereoConfig) void umkaLoadVrStereoConfig(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename VrDeviceInfo* device = (VrDeviceInfo*)¶ms[1]; @@ -785,6 +892,7 @@ void umkaLoadVrStereoConfig(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UnloadVrStereoConfig() */ +RAYLIB_UMKA_FUNCTION(UnloadVrStereoConfig) void umkaUnloadVrStereoConfig(UmkaStackSlot *params, UmkaStackSlot *result) { VrStereoConfig* config = (VrStereoConfig*)¶ms[0]; UnloadVrStereoConfig(*config); @@ -795,6 +903,7 @@ void umkaUnloadVrStereoConfig(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadShader() */ +RAYLIB_UMKA_FUNCTION(LoadShader) void umkaLoadShader(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename const char * vsFileName = (const char *)params[2].ptrVal; @@ -809,6 +918,7 @@ void umkaLoadShader(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadShaderFromMemory() */ +RAYLIB_UMKA_FUNCTION(LoadShaderFromMemory) void umkaLoadShaderFromMemory(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename const char * vsCode = (const char *)params[2].ptrVal; @@ -818,11 +928,23 @@ void umkaLoadShaderFromMemory(UmkaStackSlot *params, UmkaStackSlot *result) { RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Shader)); } +/** + * Umka bindings for IsShaderValid(). + * + * @see IsShaderValid() + */ +RAYLIB_UMKA_FUNCTION(IsShaderValid) +void umkaIsShaderValid(UmkaStackSlot *params, UmkaStackSlot *result) { + Shader* shader = (Shader*)¶ms[0]; + result->intVal = (int)IsShaderValid(*shader); +} + /** * Umka bindings for GetShaderLocation(). * * @see GetShaderLocation() */ +RAYLIB_UMKA_FUNCTION(GetShaderLocation) void umkaGetShaderLocation(UmkaStackSlot *params, UmkaStackSlot *result) { Shader* shader = (Shader*)¶ms[1]; const char * uniformName = (const char *)params[0].ptrVal; @@ -834,6 +956,7 @@ void umkaGetShaderLocation(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetShaderLocationAttrib() */ +RAYLIB_UMKA_FUNCTION(GetShaderLocationAttrib) void umkaGetShaderLocationAttrib(UmkaStackSlot *params, UmkaStackSlot *result) { Shader* shader = (Shader*)¶ms[1]; const char * attribName = (const char *)params[0].ptrVal; @@ -845,6 +968,7 @@ void umkaGetShaderLocationAttrib(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetShaderValue() */ +RAYLIB_UMKA_FUNCTION(SetShaderValue) void umkaSetShaderValue(UmkaStackSlot *params, UmkaStackSlot *result) { Shader* shader = (Shader*)¶ms[3]; int locIndex = params[2].intVal; @@ -858,6 +982,7 @@ void umkaSetShaderValue(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetShaderValueV() */ +RAYLIB_UMKA_FUNCTION(SetShaderValueV) void umkaSetShaderValueV(UmkaStackSlot *params, UmkaStackSlot *result) { Shader* shader = (Shader*)¶ms[4]; int locIndex = params[3].intVal; @@ -872,6 +997,7 @@ void umkaSetShaderValueV(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetShaderValueMatrix() */ +RAYLIB_UMKA_FUNCTION(SetShaderValueMatrix) void umkaSetShaderValueMatrix(UmkaStackSlot *params, UmkaStackSlot *result) { Shader* shader = (Shader*)¶ms[2]; int locIndex = params[1].intVal; @@ -884,6 +1010,7 @@ void umkaSetShaderValueMatrix(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetShaderValueTexture() */ +RAYLIB_UMKA_FUNCTION(SetShaderValueTexture) void umkaSetShaderValueTexture(UmkaStackSlot *params, UmkaStackSlot *result) { Shader* shader = (Shader*)¶ms[2]; int locIndex = params[1].intVal; @@ -896,49 +1023,42 @@ void umkaSetShaderValueTexture(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UnloadShader() */ +RAYLIB_UMKA_FUNCTION(UnloadShader) void umkaUnloadShader(UmkaStackSlot *params, UmkaStackSlot *result) { Shader* shader = (Shader*)¶ms[0]; UnloadShader(*shader); } /** - * Umka bindings for GetMouseRay(). + * Umka bindings for GetScreenToWorldRay(). * - * @see GetMouseRay() + * @see GetScreenToWorldRay() */ -void umkaGetMouseRay(UmkaStackSlot *params, UmkaStackSlot *result) { +RAYLIB_UMKA_FUNCTION(GetScreenToWorldRay) +void umkaGetScreenToWorldRay(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename - Vector2* mousePosition = (Vector2*)¶ms[2]; + Vector2* position = (Vector2*)¶ms[2]; Camera* camera = (Camera*)¶ms[1]; result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Ray), NULL); - Ray out = GetMouseRay(*mousePosition, *camera); + Ray out = GetScreenToWorldRay(*position, *camera); RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Ray)); } /** - * Umka bindings for GetCameraMatrix(). - * - * @see GetCameraMatrix() - */ -void umkaGetCameraMatrix(UmkaStackSlot *params, UmkaStackSlot *result) { - // Skipping params[0], as it's a reference to Umka's internal filename - Camera* camera = (Camera*)¶ms[1]; - result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Matrix), NULL); - Matrix out = GetCameraMatrix(*camera); - RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Matrix)); -} - -/** - * Umka bindings for GetCameraMatrix2D(). + * Umka bindings for GetScreenToWorldRayEx(). * - * @see GetCameraMatrix2D() + * @see GetScreenToWorldRayEx() */ -void umkaGetCameraMatrix2D(UmkaStackSlot *params, UmkaStackSlot *result) { +RAYLIB_UMKA_FUNCTION(GetScreenToWorldRayEx) +void umkaGetScreenToWorldRayEx(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename - Camera2D* camera = (Camera2D*)¶ms[1]; - result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Matrix), NULL); - Matrix out = GetCameraMatrix2D(*camera); - RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Matrix)); + Vector2* position = (Vector2*)¶ms[4]; + Camera* camera = (Camera*)¶ms[3]; + int width = params[2].intVal; + int height = params[1].intVal; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Ray), NULL); + Ray out = GetScreenToWorldRayEx(*position, *camera, width, height); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Ray)); } /** @@ -946,6 +1066,7 @@ void umkaGetCameraMatrix2D(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetWorldToScreen() */ +RAYLIB_UMKA_FUNCTION(GetWorldToScreen) void umkaGetWorldToScreen(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* position = (Vector3*)¶ms[2]; @@ -955,25 +1076,12 @@ void umkaGetWorldToScreen(UmkaStackSlot *params, UmkaStackSlot *result) { RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector2)); } -/** - * Umka bindings for GetScreenToWorld2D(). - * - * @see GetScreenToWorld2D() - */ -void umkaGetScreenToWorld2D(UmkaStackSlot *params, UmkaStackSlot *result) { - // Skipping params[0], as it's a reference to Umka's internal filename - Vector2* position = (Vector2*)¶ms[2]; - Camera2D* camera = (Camera2D*)¶ms[1]; - result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); - Vector2 out = GetScreenToWorld2D(*position, *camera); - RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector2)); -} - /** * Umka bindings for GetWorldToScreenEx(). * * @see GetWorldToScreenEx() */ +RAYLIB_UMKA_FUNCTION(GetWorldToScreenEx) void umkaGetWorldToScreenEx(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* position = (Vector3*)¶ms[4]; @@ -990,6 +1098,7 @@ void umkaGetWorldToScreenEx(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetWorldToScreen2D() */ +RAYLIB_UMKA_FUNCTION(GetWorldToScreen2D) void umkaGetWorldToScreen2D(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector2* position = (Vector2*)¶ms[2]; @@ -999,41 +1108,130 @@ void umkaGetWorldToScreen2D(UmkaStackSlot *params, UmkaStackSlot *result) { RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector2)); } +/** + * Umka bindings for GetScreenToWorld2D(). + * + * @see GetScreenToWorld2D() + */ +RAYLIB_UMKA_FUNCTION(GetScreenToWorld2D) +void umkaGetScreenToWorld2D(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector2* position = (Vector2*)¶ms[2]; + Camera2D* camera = (Camera2D*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); + Vector2 out = GetScreenToWorld2D(*position, *camera); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector2)); +} + +/** + * Umka bindings for GetCameraMatrix(). + * + * @see GetCameraMatrix() + */ +RAYLIB_UMKA_FUNCTION(GetCameraMatrix) +void umkaGetCameraMatrix(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Camera* camera = (Camera*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Matrix), NULL); + Matrix out = GetCameraMatrix(*camera); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Matrix)); +} + +/** + * Umka bindings for GetCameraMatrix2D(). + * + * @see GetCameraMatrix2D() + */ +RAYLIB_UMKA_FUNCTION(GetCameraMatrix2D) +void umkaGetCameraMatrix2D(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Camera2D* camera = (Camera2D*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Matrix), NULL); + Matrix out = GetCameraMatrix2D(*camera); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Matrix)); +} + /** * Umka bindings for SetTargetFPS(). * * @see SetTargetFPS() */ +RAYLIB_UMKA_FUNCTION(SetTargetFPS) void umkaSetTargetFPS(UmkaStackSlot *params, UmkaStackSlot *result) { int fps = params[0].intVal; SetTargetFPS(fps); } +/** + * Umka bindings for GetFrameTime(). + * + * @see GetFrameTime() + */ +RAYLIB_UMKA_FUNCTION(GetFrameTime) +void umkaGetFrameTime(UmkaStackSlot *params, UmkaStackSlot *result) { + result->realVal = GetFrameTime(); +} + +/** + * Umka bindings for GetTime(). + * + * @see GetTime() + */ +RAYLIB_UMKA_FUNCTION(GetTime) +void umkaGetTime(UmkaStackSlot *params, UmkaStackSlot *result) { + result->realVal = GetTime(); +} + /** * Umka bindings for GetFPS(). * * @see GetFPS() */ +RAYLIB_UMKA_FUNCTION(GetFPS) void umkaGetFPS(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = GetFPS(); } /** - * Umka bindings for GetFrameTime(). + * Umka bindings for SwapScreenBuffer(). * - * @see GetFrameTime() + * @see SwapScreenBuffer() */ -void umkaGetFrameTime(UmkaStackSlot *params, UmkaStackSlot *result) { - result->realVal = GetFrameTime(); +RAYLIB_UMKA_FUNCTION(SwapScreenBuffer) +void umkaSwapScreenBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { + SwapScreenBuffer(); } /** - * Umka bindings for GetTime(). + * Umka bindings for PollInputEvents(). * - * @see GetTime() + * @see PollInputEvents() */ -void umkaGetTime(UmkaStackSlot *params, UmkaStackSlot *result) { - result->realVal = GetTime(); +RAYLIB_UMKA_FUNCTION(PollInputEvents) +void umkaPollInputEvents(UmkaStackSlot *params, UmkaStackSlot *result) { + PollInputEvents(); +} + +/** + * Umka bindings for WaitTime(). + * + * @see WaitTime() + */ +RAYLIB_UMKA_FUNCTION(WaitTime) +void umkaWaitTime(UmkaStackSlot *params, UmkaStackSlot *result) { + double seconds = params[0].realVal; + WaitTime(seconds); +} + +/** + * Umka bindings for SetRandomSeed(). + * + * @see SetRandomSeed() + */ +RAYLIB_UMKA_FUNCTION(SetRandomSeed) +void umkaSetRandomSeed(UmkaStackSlot *params, UmkaStackSlot *result) { + unsigned int seed = params[0].uintVal; + SetRandomSeed(seed); } /** @@ -1041,6 +1239,7 @@ void umkaGetTime(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetRandomValue() */ +RAYLIB_UMKA_FUNCTION(GetRandomValue) void umkaGetRandomValue(UmkaStackSlot *params, UmkaStackSlot *result) { int min = params[1].intVal; int max = params[0].intVal; @@ -1048,13 +1247,27 @@ void umkaGetRandomValue(UmkaStackSlot *params, UmkaStackSlot *result) { } /** - * Umka bindings for SetRandomSeed(). + * Umka bindings for LoadRandomSequence(). * - * @see SetRandomSeed() + * @see LoadRandomSequence() */ -void umkaSetRandomSeed(UmkaStackSlot *params, UmkaStackSlot *result) { - unsigned int seed = params[0].uintVal; - SetRandomSeed(seed); +RAYLIB_UMKA_FUNCTION(LoadRandomSequence) +void umkaLoadRandomSequence(UmkaStackSlot *params, UmkaStackSlot *result) { + unsigned int count = params[2].uintVal; + int min = params[1].intVal; + int max = params[0].intVal; + result->ptrVal = (void*)LoadRandomSequence(count, min, max); +} + +/** + * Umka bindings for UnloadRandomSequence(). + * + * @see UnloadRandomSequence() + */ +RAYLIB_UMKA_FUNCTION(UnloadRandomSequence) +void umkaUnloadRandomSequence(UmkaStackSlot *params, UmkaStackSlot *result) { + int * sequence = (int *)params[0].ptrVal; + UnloadRandomSequence(sequence); } /** @@ -1062,6 +1275,7 @@ void umkaSetRandomSeed(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see TakeScreenshot() */ +RAYLIB_UMKA_FUNCTION(TakeScreenshot) void umkaTakeScreenshot(UmkaStackSlot *params, UmkaStackSlot *result) { const char * fileName = (const char *)params[0].ptrVal; TakeScreenshot(fileName); @@ -1072,30 +1286,46 @@ void umkaTakeScreenshot(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetConfigFlags() */ +RAYLIB_UMKA_FUNCTION(SetConfigFlags) void umkaSetConfigFlags(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int flags = params[0].uintVal; SetConfigFlags(flags); } -// Function TraceLog() skipped +/** + * Umka bindings for OpenURL(). + * + * @see OpenURL() + */ +RAYLIB_UMKA_FUNCTION(OpenURL) +void umkaOpenURL(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * url = (const char *)params[0].ptrVal; + OpenURL(url); +} /** * Umka bindings for SetTraceLogLevel(). * * @see SetTraceLogLevel() */ +RAYLIB_UMKA_FUNCTION(SetTraceLogLevel) void umkaSetTraceLogLevel(UmkaStackSlot *params, UmkaStackSlot *result) { int logLevel = params[0].intVal; SetTraceLogLevel(logLevel); } +// Function TraceLog() skipped + +// Function SetTraceLogCallback() skipped + /** * Umka bindings for MemAlloc(). * * @see MemAlloc() */ +RAYLIB_UMKA_FUNCTION(MemAlloc) void umkaMemAlloc(UmkaStackSlot *params, UmkaStackSlot *result) { - int size = params[0].intVal; + unsigned int size = params[0].uintVal; result->ptrVal = (void*)MemAlloc(size); } @@ -1104,9 +1334,10 @@ void umkaMemAlloc(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MemRealloc() */ +RAYLIB_UMKA_FUNCTION(MemRealloc) void umkaMemRealloc(UmkaStackSlot *params, UmkaStackSlot *result) { void * ptr = (void *)params[1].ptrVal; - int size = params[0].intVal; + unsigned int size = params[0].uintVal; result->ptrVal = (void*)MemRealloc(ptr, size); } @@ -1115,40 +1346,22 @@ void umkaMemRealloc(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MemFree() */ +RAYLIB_UMKA_FUNCTION(MemFree) void umkaMemFree(UmkaStackSlot *params, UmkaStackSlot *result) { void * ptr = (void *)params[0].ptrVal; MemFree(ptr); } /** - * Umka bindings for OpenURL(). + * Umka bindings for LoadFileData(). * - * @see OpenURL() - */ -void umkaOpenURL(UmkaStackSlot *params, UmkaStackSlot *result) { - const char * url = (const char *)params[0].ptrVal; - OpenURL(url); -} - -// Function SetTraceLogCallback() skipped - -// Function SetLoadFileDataCallback() skipped - -// Function SetSaveFileDataCallback() skipped - -// Function SetLoadFileTextCallback() skipped - -// Function SetSaveFileTextCallback() skipped - -/** - * Umka bindings for LoadFileData(). - * - * @see LoadFileData() + * @see LoadFileData() */ +RAYLIB_UMKA_FUNCTION(LoadFileData) void umkaLoadFileData(UmkaStackSlot *params, UmkaStackSlot *result) { const char * fileName = (const char *)params[1].ptrVal; - unsigned int * bytesRead = (unsigned int *)params[0].ptrVal; - result->ptrVal = (void*)LoadFileData(fileName, bytesRead); + int * dataSize = (int *)params[0].ptrVal; + result->ptrVal = (void*)LoadFileData(fileName, dataSize); } /** @@ -1156,6 +1369,7 @@ void umkaLoadFileData(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UnloadFileData() */ +RAYLIB_UMKA_FUNCTION(UnloadFileData) void umkaUnloadFileData(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned char * data = (unsigned char *)params[0].ptrVal; UnloadFileData(data); @@ -1166,11 +1380,12 @@ void umkaUnloadFileData(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SaveFileData() */ +RAYLIB_UMKA_FUNCTION(SaveFileData) void umkaSaveFileData(UmkaStackSlot *params, UmkaStackSlot *result) { const char * fileName = (const char *)params[2].ptrVal; void * data = (void *)params[1].ptrVal; - unsigned int bytesToWrite = params[0].uintVal; - result->intVal = (int)SaveFileData(fileName, data, bytesToWrite); + int dataSize = params[0].intVal; + result->intVal = (int)SaveFileData(fileName, data, dataSize); } /** @@ -1178,11 +1393,12 @@ void umkaSaveFileData(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ExportDataAsCode() */ +RAYLIB_UMKA_FUNCTION(ExportDataAsCode) void umkaExportDataAsCode(UmkaStackSlot *params, UmkaStackSlot *result) { - const char * data = (const char *)params[2].ptrVal; - unsigned int size = params[1].uintVal; + const unsigned char * data = (const unsigned char *)params[2].ptrVal; + int dataSize = params[1].intVal; const char * fileName = (const char *)params[0].ptrVal; - result->intVal = (int)ExportDataAsCode(data, size, fileName); + result->intVal = (int)ExportDataAsCode(data, dataSize, fileName); } /** @@ -1190,6 +1406,7 @@ void umkaExportDataAsCode(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadFileText() */ +RAYLIB_UMKA_FUNCTION(LoadFileText) void umkaLoadFileText(UmkaStackSlot *params, UmkaStackSlot *result) { const char * fileName = (const char *)params[0].ptrVal; result->ptrVal = (void*)LoadFileText(fileName); @@ -1200,6 +1417,7 @@ void umkaLoadFileText(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UnloadFileText() */ +RAYLIB_UMKA_FUNCTION(UnloadFileText) void umkaUnloadFileText(UmkaStackSlot *params, UmkaStackSlot *result) { char * text = (char *)params[0].ptrVal; UnloadFileText(text); @@ -1210,17 +1428,99 @@ void umkaUnloadFileText(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SaveFileText() */ +RAYLIB_UMKA_FUNCTION(SaveFileText) void umkaSaveFileText(UmkaStackSlot *params, UmkaStackSlot *result) { const char * fileName = (const char *)params[1].ptrVal; - char * text = (char *)params[0].ptrVal; + const char * text = (const char *)params[0].ptrVal; result->intVal = (int)SaveFileText(fileName, text); } +// Function SetLoadFileDataCallback() skipped + +// Function SetSaveFileDataCallback() skipped + +// Function SetLoadFileTextCallback() skipped + +// Function SetSaveFileTextCallback() skipped + +/** + * Umka bindings for FileRename(). + * + * @see FileRename() + */ +RAYLIB_UMKA_FUNCTION(FileRename) +void umkaFileRename(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * fileName = (const char *)params[1].ptrVal; + const char * fileRename = (const char *)params[0].ptrVal; + result->intVal = FileRename(fileName, fileRename); +} + +/** + * Umka bindings for FileRemove(). + * + * @see FileRemove() + */ +RAYLIB_UMKA_FUNCTION(FileRemove) +void umkaFileRemove(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * fileName = (const char *)params[0].ptrVal; + result->intVal = FileRemove(fileName); +} + +/** + * Umka bindings for FileCopy(). + * + * @see FileCopy() + */ +RAYLIB_UMKA_FUNCTION(FileCopy) +void umkaFileCopy(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * srcPath = (const char *)params[1].ptrVal; + const char * dstPath = (const char *)params[0].ptrVal; + result->intVal = FileCopy(srcPath, dstPath); +} + +/** + * Umka bindings for FileMove(). + * + * @see FileMove() + */ +RAYLIB_UMKA_FUNCTION(FileMove) +void umkaFileMove(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * srcPath = (const char *)params[1].ptrVal; + const char * dstPath = (const char *)params[0].ptrVal; + result->intVal = FileMove(srcPath, dstPath); +} + +/** + * Umka bindings for FileTextReplace(). + * + * @see FileTextReplace() + */ +RAYLIB_UMKA_FUNCTION(FileTextReplace) +void umkaFileTextReplace(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * fileName = (const char *)params[2].ptrVal; + const char * search = (const char *)params[1].ptrVal; + const char * replacement = (const char *)params[0].ptrVal; + result->intVal = FileTextReplace(fileName, search, replacement); +} + +/** + * Umka bindings for FileTextFindIndex(). + * + * @see FileTextFindIndex() + */ +RAYLIB_UMKA_FUNCTION(FileTextFindIndex) +void umkaFileTextFindIndex(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * fileName = (const char *)params[1].ptrVal; + const char * search = (const char *)params[0].ptrVal; + result->intVal = FileTextFindIndex(fileName, search); +} + /** * Umka bindings for FileExists(). * * @see FileExists() */ +RAYLIB_UMKA_FUNCTION(FileExists) void umkaFileExists(UmkaStackSlot *params, UmkaStackSlot *result) { const char * fileName = (const char *)params[0].ptrVal; result->intVal = (int)FileExists(fileName); @@ -1231,6 +1531,7 @@ void umkaFileExists(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DirectoryExists() */ +RAYLIB_UMKA_FUNCTION(DirectoryExists) void umkaDirectoryExists(UmkaStackSlot *params, UmkaStackSlot *result) { const char * dirPath = (const char *)params[0].ptrVal; result->intVal = (int)DirectoryExists(dirPath); @@ -1241,6 +1542,7 @@ void umkaDirectoryExists(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsFileExtension() */ +RAYLIB_UMKA_FUNCTION(IsFileExtension) void umkaIsFileExtension(UmkaStackSlot *params, UmkaStackSlot *result) { const char * fileName = (const char *)params[1].ptrVal; const char * ext = (const char *)params[0].ptrVal; @@ -1252,16 +1554,29 @@ void umkaIsFileExtension(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetFileLength() */ +RAYLIB_UMKA_FUNCTION(GetFileLength) void umkaGetFileLength(UmkaStackSlot *params, UmkaStackSlot *result) { const char * fileName = (const char *)params[0].ptrVal; result->intVal = GetFileLength(fileName); } +/** + * Umka bindings for GetFileModTime(). + * + * @see GetFileModTime() + */ +RAYLIB_UMKA_FUNCTION(GetFileModTime) +void umkaGetFileModTime(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * fileName = (const char *)params[0].ptrVal; + result->intVal = GetFileModTime(fileName); +} + /** * Umka bindings for GetFileExtension(). * * @see GetFileExtension() */ +RAYLIB_UMKA_FUNCTION(GetFileExtension) void umkaGetFileExtension(UmkaStackSlot *params, UmkaStackSlot *result) { const char * fileName = (const char *)params[0].ptrVal; result->ptrVal = (void*)GetFileExtension(fileName); @@ -1272,6 +1587,7 @@ void umkaGetFileExtension(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetFileName() */ +RAYLIB_UMKA_FUNCTION(GetFileName) void umkaGetFileName(UmkaStackSlot *params, UmkaStackSlot *result) { const char * filePath = (const char *)params[0].ptrVal; result->ptrVal = (void*)GetFileName(filePath); @@ -1282,6 +1598,7 @@ void umkaGetFileName(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetFileNameWithoutExt() */ +RAYLIB_UMKA_FUNCTION(GetFileNameWithoutExt) void umkaGetFileNameWithoutExt(UmkaStackSlot *params, UmkaStackSlot *result) { const char * filePath = (const char *)params[0].ptrVal; result->ptrVal = (void*)GetFileNameWithoutExt(filePath); @@ -1292,6 +1609,7 @@ void umkaGetFileNameWithoutExt(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetDirectoryPath() */ +RAYLIB_UMKA_FUNCTION(GetDirectoryPath) void umkaGetDirectoryPath(UmkaStackSlot *params, UmkaStackSlot *result) { const char * filePath = (const char *)params[0].ptrVal; result->ptrVal = (void*)GetDirectoryPath(filePath); @@ -1302,6 +1620,7 @@ void umkaGetDirectoryPath(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetPrevDirectoryPath() */ +RAYLIB_UMKA_FUNCTION(GetPrevDirectoryPath) void umkaGetPrevDirectoryPath(UmkaStackSlot *params, UmkaStackSlot *result) { const char * dirPath = (const char *)params[0].ptrVal; result->ptrVal = (void*)GetPrevDirectoryPath(dirPath); @@ -1312,6 +1631,7 @@ void umkaGetPrevDirectoryPath(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetWorkingDirectory() */ +RAYLIB_UMKA_FUNCTION(GetWorkingDirectory) void umkaGetWorkingDirectory(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = (void*)GetWorkingDirectory(); } @@ -1321,18 +1641,31 @@ void umkaGetWorkingDirectory(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetApplicationDirectory() */ +RAYLIB_UMKA_FUNCTION(GetApplicationDirectory) void umkaGetApplicationDirectory(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = (void*)GetApplicationDirectory(); } +/** + * Umka bindings for MakeDirectory(). + * + * @see MakeDirectory() + */ +RAYLIB_UMKA_FUNCTION(MakeDirectory) +void umkaMakeDirectory(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * dirPath = (const char *)params[0].ptrVal; + result->intVal = MakeDirectory(dirPath); +} + /** * Umka bindings for ChangeDirectory(). * * @see ChangeDirectory() */ +RAYLIB_UMKA_FUNCTION(ChangeDirectory) void umkaChangeDirectory(UmkaStackSlot *params, UmkaStackSlot *result) { - const char * dir = (const char *)params[0].ptrVal; - result->intVal = (int)ChangeDirectory(dir); + const char * dirPath = (const char *)params[0].ptrVal; + result->intVal = (int)ChangeDirectory(dirPath); } /** @@ -1340,16 +1673,29 @@ void umkaChangeDirectory(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsPathFile() */ +RAYLIB_UMKA_FUNCTION(IsPathFile) void umkaIsPathFile(UmkaStackSlot *params, UmkaStackSlot *result) { const char * path = (const char *)params[0].ptrVal; result->intVal = (int)IsPathFile(path); } +/** + * Umka bindings for IsFileNameValid(). + * + * @see IsFileNameValid() + */ +RAYLIB_UMKA_FUNCTION(IsFileNameValid) +void umkaIsFileNameValid(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * fileName = (const char *)params[0].ptrVal; + result->intVal = (int)IsFileNameValid(fileName); +} + /** * Umka bindings for LoadDirectoryFiles(). * * @see LoadDirectoryFiles() */ +RAYLIB_UMKA_FUNCTION(LoadDirectoryFiles) void umkaLoadDirectoryFiles(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename const char * dirPath = (const char *)params[1].ptrVal; @@ -1363,6 +1709,7 @@ void umkaLoadDirectoryFiles(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadDirectoryFilesEx() */ +RAYLIB_UMKA_FUNCTION(LoadDirectoryFilesEx) void umkaLoadDirectoryFilesEx(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename const char * basePath = (const char *)params[3].ptrVal; @@ -1378,6 +1725,7 @@ void umkaLoadDirectoryFilesEx(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UnloadDirectoryFiles() */ +RAYLIB_UMKA_FUNCTION(UnloadDirectoryFiles) void umkaUnloadDirectoryFiles(UmkaStackSlot *params, UmkaStackSlot *result) { FilePathList* files = (FilePathList*)¶ms[0]; UnloadDirectoryFiles(*files); @@ -1388,6 +1736,7 @@ void umkaUnloadDirectoryFiles(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsFileDropped() */ +RAYLIB_UMKA_FUNCTION(IsFileDropped) void umkaIsFileDropped(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = (int)IsFileDropped(); } @@ -1397,6 +1746,7 @@ void umkaIsFileDropped(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadDroppedFiles() */ +RAYLIB_UMKA_FUNCTION(LoadDroppedFiles) void umkaLoadDroppedFiles(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(FilePathList), NULL); FilePathList out = LoadDroppedFiles(); @@ -1408,19 +1758,34 @@ void umkaLoadDroppedFiles(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UnloadDroppedFiles() */ +RAYLIB_UMKA_FUNCTION(UnloadDroppedFiles) void umkaUnloadDroppedFiles(UmkaStackSlot *params, UmkaStackSlot *result) { FilePathList* files = (FilePathList*)¶ms[0]; UnloadDroppedFiles(*files); } /** - * Umka bindings for GetFileModTime(). + * Umka bindings for GetDirectoryFileCount(). * - * @see GetFileModTime() + * @see GetDirectoryFileCount() */ -void umkaGetFileModTime(UmkaStackSlot *params, UmkaStackSlot *result) { - const char * fileName = (const char *)params[0].ptrVal; - result->intVal = GetFileModTime(fileName); +RAYLIB_UMKA_FUNCTION(GetDirectoryFileCount) +void umkaGetDirectoryFileCount(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * dirPath = (const char *)params[0].ptrVal; + result->uintVal = GetDirectoryFileCount(dirPath); +} + +/** + * Umka bindings for GetDirectoryFileCountEx(). + * + * @see GetDirectoryFileCountEx() + */ +RAYLIB_UMKA_FUNCTION(GetDirectoryFileCountEx) +void umkaGetDirectoryFileCountEx(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * basePath = (const char *)params[2].ptrVal; + const char * filter = (const char *)params[1].ptrVal; + bool scanSubdirs = (bool)params[0].intVal; + result->uintVal = GetDirectoryFileCountEx(basePath, filter, scanSubdirs); } /** @@ -1428,6 +1793,7 @@ void umkaGetFileModTime(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see CompressData() */ +RAYLIB_UMKA_FUNCTION(CompressData) void umkaCompressData(UmkaStackSlot *params, UmkaStackSlot *result) { const unsigned char * data = (const unsigned char *)params[2].ptrVal; int dataSize = params[1].intVal; @@ -1440,6 +1806,7 @@ void umkaCompressData(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DecompressData() */ +RAYLIB_UMKA_FUNCTION(DecompressData) void umkaDecompressData(UmkaStackSlot *params, UmkaStackSlot *result) { const unsigned char * compData = (const unsigned char *)params[2].ptrVal; int compDataSize = params[1].intVal; @@ -1452,6 +1819,7 @@ void umkaDecompressData(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see EncodeDataBase64() */ +RAYLIB_UMKA_FUNCTION(EncodeDataBase64) void umkaEncodeDataBase64(UmkaStackSlot *params, UmkaStackSlot *result) { const unsigned char * data = (const unsigned char *)params[2].ptrVal; int dataSize = params[1].intVal; @@ -1464,10 +1832,149 @@ void umkaEncodeDataBase64(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DecodeDataBase64() */ +RAYLIB_UMKA_FUNCTION(DecodeDataBase64) void umkaDecodeDataBase64(UmkaStackSlot *params, UmkaStackSlot *result) { - const unsigned char * data = (const unsigned char *)params[1].ptrVal; + const char * text = (const char *)params[1].ptrVal; int * outputSize = (int *)params[0].ptrVal; - result->ptrVal = (void*)DecodeDataBase64(data, outputSize); + result->ptrVal = (void*)DecodeDataBase64(text, outputSize); +} + +/** + * Umka bindings for ComputeCRC32(). + * + * @see ComputeCRC32() + */ +RAYLIB_UMKA_FUNCTION(ComputeCRC32) +void umkaComputeCRC32(UmkaStackSlot *params, UmkaStackSlot *result) { + unsigned char * data = (unsigned char *)params[1].ptrVal; + int dataSize = params[0].intVal; + result->uintVal = ComputeCRC32(data, dataSize); +} + +/** + * Umka bindings for ComputeMD5(). + * + * @see ComputeMD5() + */ +RAYLIB_UMKA_FUNCTION(ComputeMD5) +void umkaComputeMD5(UmkaStackSlot *params, UmkaStackSlot *result) { + unsigned char * data = (unsigned char *)params[1].ptrVal; + int dataSize = params[0].intVal; + result->ptrVal = (void*)ComputeMD5(data, dataSize); +} + +/** + * Umka bindings for ComputeSHA1(). + * + * @see ComputeSHA1() + */ +RAYLIB_UMKA_FUNCTION(ComputeSHA1) +void umkaComputeSHA1(UmkaStackSlot *params, UmkaStackSlot *result) { + unsigned char * data = (unsigned char *)params[1].ptrVal; + int dataSize = params[0].intVal; + result->ptrVal = (void*)ComputeSHA1(data, dataSize); +} + +/** + * Umka bindings for ComputeSHA256(). + * + * @see ComputeSHA256() + */ +RAYLIB_UMKA_FUNCTION(ComputeSHA256) +void umkaComputeSHA256(UmkaStackSlot *params, UmkaStackSlot *result) { + unsigned char * data = (unsigned char *)params[1].ptrVal; + int dataSize = params[0].intVal; + result->ptrVal = (void*)ComputeSHA256(data, dataSize); +} + +/** + * Umka bindings for LoadAutomationEventList(). + * + * @see LoadAutomationEventList() + */ +RAYLIB_UMKA_FUNCTION(LoadAutomationEventList) +void umkaLoadAutomationEventList(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + const char * fileName = (const char *)params[1].ptrVal; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(AutomationEventList), NULL); + AutomationEventList out = LoadAutomationEventList(fileName); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(AutomationEventList)); +} + +/** + * Umka bindings for UnloadAutomationEventList(). + * + * @see UnloadAutomationEventList() + */ +RAYLIB_UMKA_FUNCTION(UnloadAutomationEventList) +void umkaUnloadAutomationEventList(UmkaStackSlot *params, UmkaStackSlot *result) { + AutomationEventList* list = (AutomationEventList*)¶ms[0]; + UnloadAutomationEventList(*list); +} + +/** + * Umka bindings for ExportAutomationEventList(). + * + * @see ExportAutomationEventList() + */ +RAYLIB_UMKA_FUNCTION(ExportAutomationEventList) +void umkaExportAutomationEventList(UmkaStackSlot *params, UmkaStackSlot *result) { + AutomationEventList* list = (AutomationEventList*)¶ms[1]; + const char * fileName = (const char *)params[0].ptrVal; + result->intVal = (int)ExportAutomationEventList(*list, fileName); +} + +/** + * Umka bindings for SetAutomationEventList(). + * + * @see SetAutomationEventList() + */ +RAYLIB_UMKA_FUNCTION(SetAutomationEventList) +void umkaSetAutomationEventList(UmkaStackSlot *params, UmkaStackSlot *result) { + AutomationEventList * list = (AutomationEventList *)params[0].ptrVal; + SetAutomationEventList(list); +} + +/** + * Umka bindings for SetAutomationEventBaseFrame(). + * + * @see SetAutomationEventBaseFrame() + */ +RAYLIB_UMKA_FUNCTION(SetAutomationEventBaseFrame) +void umkaSetAutomationEventBaseFrame(UmkaStackSlot *params, UmkaStackSlot *result) { + int frame = params[0].intVal; + SetAutomationEventBaseFrame(frame); +} + +/** + * Umka bindings for StartAutomationEventRecording(). + * + * @see StartAutomationEventRecording() + */ +RAYLIB_UMKA_FUNCTION(StartAutomationEventRecording) +void umkaStartAutomationEventRecording(UmkaStackSlot *params, UmkaStackSlot *result) { + StartAutomationEventRecording(); +} + +/** + * Umka bindings for StopAutomationEventRecording(). + * + * @see StopAutomationEventRecording() + */ +RAYLIB_UMKA_FUNCTION(StopAutomationEventRecording) +void umkaStopAutomationEventRecording(UmkaStackSlot *params, UmkaStackSlot *result) { + StopAutomationEventRecording(); +} + +/** + * Umka bindings for PlayAutomationEvent(). + * + * @see PlayAutomationEvent() + */ +RAYLIB_UMKA_FUNCTION(PlayAutomationEvent) +void umkaPlayAutomationEvent(UmkaStackSlot *params, UmkaStackSlot *result) { + AutomationEvent* event = (AutomationEvent*)¶ms[0]; + PlayAutomationEvent(*event); } /** @@ -1475,16 +1982,29 @@ void umkaDecodeDataBase64(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsKeyPressed() */ +RAYLIB_UMKA_FUNCTION(IsKeyPressed) void umkaIsKeyPressed(UmkaStackSlot *params, UmkaStackSlot *result) { int key = params[0].intVal; result->intVal = (int)IsKeyPressed(key); } +/** + * Umka bindings for IsKeyPressedRepeat(). + * + * @see IsKeyPressedRepeat() + */ +RAYLIB_UMKA_FUNCTION(IsKeyPressedRepeat) +void umkaIsKeyPressedRepeat(UmkaStackSlot *params, UmkaStackSlot *result) { + int key = params[0].intVal; + result->intVal = (int)IsKeyPressedRepeat(key); +} + /** * Umka bindings for IsKeyDown(). * * @see IsKeyDown() */ +RAYLIB_UMKA_FUNCTION(IsKeyDown) void umkaIsKeyDown(UmkaStackSlot *params, UmkaStackSlot *result) { int key = params[0].intVal; result->intVal = (int)IsKeyDown(key); @@ -1495,6 +2015,7 @@ void umkaIsKeyDown(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsKeyReleased() */ +RAYLIB_UMKA_FUNCTION(IsKeyReleased) void umkaIsKeyReleased(UmkaStackSlot *params, UmkaStackSlot *result) { int key = params[0].intVal; result->intVal = (int)IsKeyReleased(key); @@ -1505,26 +2026,18 @@ void umkaIsKeyReleased(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsKeyUp() */ +RAYLIB_UMKA_FUNCTION(IsKeyUp) void umkaIsKeyUp(UmkaStackSlot *params, UmkaStackSlot *result) { int key = params[0].intVal; result->intVal = (int)IsKeyUp(key); } -/** - * Umka bindings for SetExitKey(). - * - * @see SetExitKey() - */ -void umkaSetExitKey(UmkaStackSlot *params, UmkaStackSlot *result) { - int key = params[0].intVal; - SetExitKey(key); -} - /** * Umka bindings for GetKeyPressed(). * * @see GetKeyPressed() */ +RAYLIB_UMKA_FUNCTION(GetKeyPressed) void umkaGetKeyPressed(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = GetKeyPressed(); } @@ -1534,15 +2047,39 @@ void umkaGetKeyPressed(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetCharPressed() */ +RAYLIB_UMKA_FUNCTION(GetCharPressed) void umkaGetCharPressed(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = GetCharPressed(); } +/** + * Umka bindings for GetKeyName(). + * + * @see GetKeyName() + */ +RAYLIB_UMKA_FUNCTION(GetKeyName) +void umkaGetKeyName(UmkaStackSlot *params, UmkaStackSlot *result) { + int key = params[0].intVal; + result->ptrVal = (void*)GetKeyName(key); +} + +/** + * Umka bindings for SetExitKey(). + * + * @see SetExitKey() + */ +RAYLIB_UMKA_FUNCTION(SetExitKey) +void umkaSetExitKey(UmkaStackSlot *params, UmkaStackSlot *result) { + int key = params[0].intVal; + SetExitKey(key); +} + /** * Umka bindings for IsGamepadAvailable(). * * @see IsGamepadAvailable() */ +RAYLIB_UMKA_FUNCTION(IsGamepadAvailable) void umkaIsGamepadAvailable(UmkaStackSlot *params, UmkaStackSlot *result) { int gamepad = params[0].intVal; result->intVal = (int)IsGamepadAvailable(gamepad); @@ -1553,6 +2090,7 @@ void umkaIsGamepadAvailable(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetGamepadName() */ +RAYLIB_UMKA_FUNCTION(GetGamepadName) void umkaGetGamepadName(UmkaStackSlot *params, UmkaStackSlot *result) { int gamepad = params[0].intVal; result->ptrVal = (void*)GetGamepadName(gamepad); @@ -1563,6 +2101,7 @@ void umkaGetGamepadName(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsGamepadButtonPressed() */ +RAYLIB_UMKA_FUNCTION(IsGamepadButtonPressed) void umkaIsGamepadButtonPressed(UmkaStackSlot *params, UmkaStackSlot *result) { int gamepad = params[1].intVal; int button = params[0].intVal; @@ -1574,6 +2113,7 @@ void umkaIsGamepadButtonPressed(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsGamepadButtonDown() */ +RAYLIB_UMKA_FUNCTION(IsGamepadButtonDown) void umkaIsGamepadButtonDown(UmkaStackSlot *params, UmkaStackSlot *result) { int gamepad = params[1].intVal; int button = params[0].intVal; @@ -1585,6 +2125,7 @@ void umkaIsGamepadButtonDown(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsGamepadButtonReleased() */ +RAYLIB_UMKA_FUNCTION(IsGamepadButtonReleased) void umkaIsGamepadButtonReleased(UmkaStackSlot *params, UmkaStackSlot *result) { int gamepad = params[1].intVal; int button = params[0].intVal; @@ -1596,6 +2137,7 @@ void umkaIsGamepadButtonReleased(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsGamepadButtonUp() */ +RAYLIB_UMKA_FUNCTION(IsGamepadButtonUp) void umkaIsGamepadButtonUp(UmkaStackSlot *params, UmkaStackSlot *result) { int gamepad = params[1].intVal; int button = params[0].intVal; @@ -1607,6 +2149,7 @@ void umkaIsGamepadButtonUp(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetGamepadButtonPressed() */ +RAYLIB_UMKA_FUNCTION(GetGamepadButtonPressed) void umkaGetGamepadButtonPressed(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = GetGamepadButtonPressed(); } @@ -1616,6 +2159,7 @@ void umkaGetGamepadButtonPressed(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetGamepadAxisCount() */ +RAYLIB_UMKA_FUNCTION(GetGamepadAxisCount) void umkaGetGamepadAxisCount(UmkaStackSlot *params, UmkaStackSlot *result) { int gamepad = params[0].intVal; result->intVal = GetGamepadAxisCount(gamepad); @@ -1626,6 +2170,7 @@ void umkaGetGamepadAxisCount(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetGamepadAxisMovement() */ +RAYLIB_UMKA_FUNCTION(GetGamepadAxisMovement) void umkaGetGamepadAxisMovement(UmkaStackSlot *params, UmkaStackSlot *result) { int gamepad = params[1].intVal; int axis = params[0].intVal; @@ -1637,16 +2182,32 @@ void umkaGetGamepadAxisMovement(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetGamepadMappings() */ +RAYLIB_UMKA_FUNCTION(SetGamepadMappings) void umkaSetGamepadMappings(UmkaStackSlot *params, UmkaStackSlot *result) { const char * mappings = (const char *)params[0].ptrVal; result->intVal = SetGamepadMappings(mappings); } +/** + * Umka bindings for SetGamepadVibration(). + * + * @see SetGamepadVibration() + */ +RAYLIB_UMKA_FUNCTION(SetGamepadVibration) +void umkaSetGamepadVibration(UmkaStackSlot *params, UmkaStackSlot *result) { + int gamepad = params[3].intVal; + float leftMotor = params[2].real32Val; + float rightMotor = params[1].real32Val; + float duration = params[0].real32Val; + SetGamepadVibration(gamepad, leftMotor, rightMotor, duration); +} + /** * Umka bindings for IsMouseButtonPressed(). * * @see IsMouseButtonPressed() */ +RAYLIB_UMKA_FUNCTION(IsMouseButtonPressed) void umkaIsMouseButtonPressed(UmkaStackSlot *params, UmkaStackSlot *result) { int button = params[0].intVal; result->intVal = (int)IsMouseButtonPressed(button); @@ -1657,6 +2218,7 @@ void umkaIsMouseButtonPressed(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsMouseButtonDown() */ +RAYLIB_UMKA_FUNCTION(IsMouseButtonDown) void umkaIsMouseButtonDown(UmkaStackSlot *params, UmkaStackSlot *result) { int button = params[0].intVal; result->intVal = (int)IsMouseButtonDown(button); @@ -1667,6 +2229,7 @@ void umkaIsMouseButtonDown(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsMouseButtonReleased() */ +RAYLIB_UMKA_FUNCTION(IsMouseButtonReleased) void umkaIsMouseButtonReleased(UmkaStackSlot *params, UmkaStackSlot *result) { int button = params[0].intVal; result->intVal = (int)IsMouseButtonReleased(button); @@ -1677,6 +2240,7 @@ void umkaIsMouseButtonReleased(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsMouseButtonUp() */ +RAYLIB_UMKA_FUNCTION(IsMouseButtonUp) void umkaIsMouseButtonUp(UmkaStackSlot *params, UmkaStackSlot *result) { int button = params[0].intVal; result->intVal = (int)IsMouseButtonUp(button); @@ -1687,6 +2251,7 @@ void umkaIsMouseButtonUp(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetMouseX() */ +RAYLIB_UMKA_FUNCTION(GetMouseX) void umkaGetMouseX(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = GetMouseX(); } @@ -1696,6 +2261,7 @@ void umkaGetMouseX(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetMouseY() */ +RAYLIB_UMKA_FUNCTION(GetMouseY) void umkaGetMouseY(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = GetMouseY(); } @@ -1705,6 +2271,7 @@ void umkaGetMouseY(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetMousePosition() */ +RAYLIB_UMKA_FUNCTION(GetMousePosition) void umkaGetMousePosition(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); Vector2 out = GetMousePosition(); @@ -1716,6 +2283,7 @@ void umkaGetMousePosition(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetMouseDelta() */ +RAYLIB_UMKA_FUNCTION(GetMouseDelta) void umkaGetMouseDelta(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); Vector2 out = GetMouseDelta(); @@ -1727,6 +2295,7 @@ void umkaGetMouseDelta(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetMousePosition() */ +RAYLIB_UMKA_FUNCTION(SetMousePosition) void umkaSetMousePosition(UmkaStackSlot *params, UmkaStackSlot *result) { int x = params[1].intVal; int y = params[0].intVal; @@ -1738,6 +2307,7 @@ void umkaSetMousePosition(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetMouseOffset() */ +RAYLIB_UMKA_FUNCTION(SetMouseOffset) void umkaSetMouseOffset(UmkaStackSlot *params, UmkaStackSlot *result) { int offsetX = params[1].intVal; int offsetY = params[0].intVal; @@ -1749,6 +2319,7 @@ void umkaSetMouseOffset(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetMouseScale() */ +RAYLIB_UMKA_FUNCTION(SetMouseScale) void umkaSetMouseScale(UmkaStackSlot *params, UmkaStackSlot *result) { float scaleX = params[1].real32Val; float scaleY = params[0].real32Val; @@ -1760,6 +2331,7 @@ void umkaSetMouseScale(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetMouseWheelMove() */ +RAYLIB_UMKA_FUNCTION(GetMouseWheelMove) void umkaGetMouseWheelMove(UmkaStackSlot *params, UmkaStackSlot *result) { result->realVal = GetMouseWheelMove(); } @@ -1769,6 +2341,7 @@ void umkaGetMouseWheelMove(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetMouseWheelMoveV() */ +RAYLIB_UMKA_FUNCTION(GetMouseWheelMoveV) void umkaGetMouseWheelMoveV(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); Vector2 out = GetMouseWheelMoveV(); @@ -1780,6 +2353,7 @@ void umkaGetMouseWheelMoveV(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetMouseCursor() */ +RAYLIB_UMKA_FUNCTION(SetMouseCursor) void umkaSetMouseCursor(UmkaStackSlot *params, UmkaStackSlot *result) { int cursor = params[0].intVal; SetMouseCursor(cursor); @@ -1790,6 +2364,7 @@ void umkaSetMouseCursor(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetTouchX() */ +RAYLIB_UMKA_FUNCTION(GetTouchX) void umkaGetTouchX(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = GetTouchX(); } @@ -1799,6 +2374,7 @@ void umkaGetTouchX(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetTouchY() */ +RAYLIB_UMKA_FUNCTION(GetTouchY) void umkaGetTouchY(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = GetTouchY(); } @@ -1808,6 +2384,7 @@ void umkaGetTouchY(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetTouchPosition() */ +RAYLIB_UMKA_FUNCTION(GetTouchPosition) void umkaGetTouchPosition(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename int index = params[1].intVal; @@ -1821,6 +2398,7 @@ void umkaGetTouchPosition(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetTouchPointId() */ +RAYLIB_UMKA_FUNCTION(GetTouchPointId) void umkaGetTouchPointId(UmkaStackSlot *params, UmkaStackSlot *result) { int index = params[0].intVal; result->intVal = GetTouchPointId(index); @@ -1831,6 +2409,7 @@ void umkaGetTouchPointId(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetTouchPointCount() */ +RAYLIB_UMKA_FUNCTION(GetTouchPointCount) void umkaGetTouchPointCount(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = GetTouchPointCount(); } @@ -1840,6 +2419,7 @@ void umkaGetTouchPointCount(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetGesturesEnabled() */ +RAYLIB_UMKA_FUNCTION(SetGesturesEnabled) void umkaSetGesturesEnabled(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int flags = params[0].uintVal; SetGesturesEnabled(flags); @@ -1850,8 +2430,9 @@ void umkaSetGesturesEnabled(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsGestureDetected() */ +RAYLIB_UMKA_FUNCTION(IsGestureDetected) void umkaIsGestureDetected(UmkaStackSlot *params, UmkaStackSlot *result) { - int gesture = params[0].intVal; + unsigned int gesture = params[0].uintVal; result->intVal = (int)IsGestureDetected(gesture); } @@ -1860,6 +2441,7 @@ void umkaIsGestureDetected(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetGestureDetected() */ +RAYLIB_UMKA_FUNCTION(GetGestureDetected) void umkaGetGestureDetected(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = GetGestureDetected(); } @@ -1869,6 +2451,7 @@ void umkaGetGestureDetected(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetGestureHoldDuration() */ +RAYLIB_UMKA_FUNCTION(GetGestureHoldDuration) void umkaGetGestureHoldDuration(UmkaStackSlot *params, UmkaStackSlot *result) { result->realVal = GetGestureHoldDuration(); } @@ -1878,6 +2461,7 @@ void umkaGetGestureHoldDuration(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetGestureDragVector() */ +RAYLIB_UMKA_FUNCTION(GetGestureDragVector) void umkaGetGestureDragVector(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); Vector2 out = GetGestureDragVector(); @@ -1889,6 +2473,7 @@ void umkaGetGestureDragVector(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetGestureDragAngle() */ +RAYLIB_UMKA_FUNCTION(GetGestureDragAngle) void umkaGetGestureDragAngle(UmkaStackSlot *params, UmkaStackSlot *result) { result->realVal = GetGestureDragAngle(); } @@ -1898,6 +2483,7 @@ void umkaGetGestureDragAngle(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetGesturePinchVector() */ +RAYLIB_UMKA_FUNCTION(GetGesturePinchVector) void umkaGetGesturePinchVector(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); Vector2 out = GetGesturePinchVector(); @@ -1909,85 +2495,71 @@ void umkaGetGesturePinchVector(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetGesturePinchAngle() */ +RAYLIB_UMKA_FUNCTION(GetGesturePinchAngle) void umkaGetGesturePinchAngle(UmkaStackSlot *params, UmkaStackSlot *result) { result->realVal = GetGesturePinchAngle(); } -/** - * Umka bindings for SetCameraMode(). - * - * @see SetCameraMode() - */ -void umkaSetCameraMode(UmkaStackSlot *params, UmkaStackSlot *result) { - Camera* camera = (Camera*)¶ms[1]; - int mode = params[0].intVal; - SetCameraMode(*camera, mode); -} - /** * Umka bindings for UpdateCamera(). * * @see UpdateCamera() */ +RAYLIB_UMKA_FUNCTION(UpdateCamera) void umkaUpdateCamera(UmkaStackSlot *params, UmkaStackSlot *result) { - Camera * camera = (Camera *)params[0].ptrVal; - UpdateCamera(camera); -} - -/** - * Umka bindings for SetCameraPanControl(). - * - * @see SetCameraPanControl() - */ -void umkaSetCameraPanControl(UmkaStackSlot *params, UmkaStackSlot *result) { - int keyPan = params[0].intVal; - SetCameraPanControl(keyPan); + Camera * camera = (Camera *)params[1].ptrVal; + int mode = params[0].intVal; + UpdateCamera(camera, mode); } /** - * Umka bindings for SetCameraAltControl(). + * Umka bindings for UpdateCameraPro(). * - * @see SetCameraAltControl() + * @see UpdateCameraPro() */ -void umkaSetCameraAltControl(UmkaStackSlot *params, UmkaStackSlot *result) { - int keyAlt = params[0].intVal; - SetCameraAltControl(keyAlt); +RAYLIB_UMKA_FUNCTION(UpdateCameraPro) +void umkaUpdateCameraPro(UmkaStackSlot *params, UmkaStackSlot *result) { + Camera * camera = (Camera *)params[3].ptrVal; + Vector3* movement = (Vector3*)¶ms[2]; + Vector3* rotation = (Vector3*)¶ms[1]; + float zoom = params[0].real32Val; + UpdateCameraPro(camera, *movement, *rotation, zoom); } /** - * Umka bindings for SetCameraSmoothZoomControl(). + * Umka bindings for SetShapesTexture(). * - * @see SetCameraSmoothZoomControl() + * @see SetShapesTexture() */ -void umkaSetCameraSmoothZoomControl(UmkaStackSlot *params, UmkaStackSlot *result) { - int keySmoothZoom = params[0].intVal; - SetCameraSmoothZoomControl(keySmoothZoom); +RAYLIB_UMKA_FUNCTION(SetShapesTexture) +void umkaSetShapesTexture(UmkaStackSlot *params, UmkaStackSlot *result) { + Texture2D* texture = (Texture2D*)¶ms[1]; + Rectangle* source = (Rectangle*)¶ms[0]; + SetShapesTexture(*texture, *source); } /** - * Umka bindings for SetCameraMoveControls(). + * Umka bindings for GetShapesTexture(). * - * @see SetCameraMoveControls() + * @see GetShapesTexture() */ -void umkaSetCameraMoveControls(UmkaStackSlot *params, UmkaStackSlot *result) { - int keyFront = params[5].intVal; - int keyBack = params[4].intVal; - int keyRight = params[3].intVal; - int keyLeft = params[2].intVal; - int keyUp = params[1].intVal; - int keyDown = params[0].intVal; - SetCameraMoveControls(keyFront, keyBack, keyRight, keyLeft, keyUp, keyDown); +RAYLIB_UMKA_FUNCTION(GetShapesTexture) +void umkaGetShapesTexture(UmkaStackSlot *params, UmkaStackSlot *result) { + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Texture2D), NULL); + Texture2D out = GetShapesTexture(); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Texture2D)); } /** - * Umka bindings for SetShapesTexture(). + * Umka bindings for GetShapesTextureRectangle(). * - * @see SetShapesTexture() + * @see GetShapesTextureRectangle() */ -void umkaSetShapesTexture(UmkaStackSlot *params, UmkaStackSlot *result) { - Texture2D* texture = (Texture2D*)¶ms[1]; - Rectangle* source = (Rectangle*)¶ms[0]; - SetShapesTexture(*texture, *source); +RAYLIB_UMKA_FUNCTION(GetShapesTextureRectangle) +void umkaGetShapesTextureRectangle(UmkaStackSlot *params, UmkaStackSlot *result) { + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Rectangle), NULL); + Rectangle out = GetShapesTextureRectangle(); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Rectangle)); } /** @@ -1995,6 +2567,7 @@ void umkaSetShapesTexture(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawPixel() */ +RAYLIB_UMKA_FUNCTION(DrawPixel) void umkaDrawPixel(UmkaStackSlot *params, UmkaStackSlot *result) { int posX = params[2].intVal; int posY = params[1].intVal; @@ -2007,6 +2580,7 @@ void umkaDrawPixel(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawPixelV() */ +RAYLIB_UMKA_FUNCTION(DrawPixelV) void umkaDrawPixelV(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* position = (Vector2*)¶ms[1]; Color* color = (Color*)¶ms[0]; @@ -2018,6 +2592,7 @@ void umkaDrawPixelV(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawLine() */ +RAYLIB_UMKA_FUNCTION(DrawLine) void umkaDrawLine(UmkaStackSlot *params, UmkaStackSlot *result) { int startPosX = params[4].intVal; int startPosY = params[3].intVal; @@ -2032,6 +2607,7 @@ void umkaDrawLine(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawLineV() */ +RAYLIB_UMKA_FUNCTION(DrawLineV) void umkaDrawLineV(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* startPos = (Vector2*)¶ms[2]; Vector2* endPos = (Vector2*)¶ms[1]; @@ -2044,6 +2620,7 @@ void umkaDrawLineV(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawLineEx() */ +RAYLIB_UMKA_FUNCTION(DrawLineEx) void umkaDrawLineEx(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* startPos = (Vector2*)¶ms[3]; Vector2* endPos = (Vector2*)¶ms[2]; @@ -2052,11 +2629,25 @@ void umkaDrawLineEx(UmkaStackSlot *params, UmkaStackSlot *result) { DrawLineEx(*startPos, *endPos, thick, *color); } +/** + * Umka bindings for DrawLineStrip(). + * + * @see DrawLineStrip() + */ +RAYLIB_UMKA_FUNCTION(DrawLineStrip) +void umkaDrawLineStrip(UmkaStackSlot *params, UmkaStackSlot *result) { + const Vector2 * points = (const Vector2 *)params[2].ptrVal; + int pointCount = params[1].intVal; + Color* color = (Color*)¶ms[0]; + DrawLineStrip(points, pointCount, *color); +} + /** * Umka bindings for DrawLineBezier(). * * @see DrawLineBezier() */ +RAYLIB_UMKA_FUNCTION(DrawLineBezier) void umkaDrawLineBezier(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* startPos = (Vector2*)¶ms[3]; Vector2* endPos = (Vector2*)¶ms[2]; @@ -2066,64 +2657,40 @@ void umkaDrawLineBezier(UmkaStackSlot *params, UmkaStackSlot *result) { } /** - * Umka bindings for DrawLineBezierQuad(). + * Umka bindings for DrawLineDashed(). * - * @see DrawLineBezierQuad() + * @see DrawLineDashed() */ -void umkaDrawLineBezierQuad(UmkaStackSlot *params, UmkaStackSlot *result) { +RAYLIB_UMKA_FUNCTION(DrawLineDashed) +void umkaDrawLineDashed(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* startPos = (Vector2*)¶ms[4]; Vector2* endPos = (Vector2*)¶ms[3]; - Vector2* controlPos = (Vector2*)¶ms[2]; - float thick = params[1].real32Val; + int dashSize = params[2].intVal; + int spaceSize = params[1].intVal; Color* color = (Color*)¶ms[0]; - DrawLineBezierQuad(*startPos, *endPos, *controlPos, thick, *color); + DrawLineDashed(*startPos, *endPos, dashSize, spaceSize, *color); } /** - * Umka bindings for DrawLineBezierCubic(). + * Umka bindings for DrawCircle(). * - * @see DrawLineBezierCubic() + * @see DrawCircle() */ -void umkaDrawLineBezierCubic(UmkaStackSlot *params, UmkaStackSlot *result) { - Vector2* startPos = (Vector2*)¶ms[5]; - Vector2* endPos = (Vector2*)¶ms[4]; - Vector2* startControlPos = (Vector2*)¶ms[3]; - Vector2* endControlPos = (Vector2*)¶ms[2]; - float thick = params[1].real32Val; +RAYLIB_UMKA_FUNCTION(DrawCircle) +void umkaDrawCircle(UmkaStackSlot *params, UmkaStackSlot *result) { + int centerX = params[3].intVal; + int centerY = params[2].intVal; + float radius = params[1].real32Val; Color* color = (Color*)¶ms[0]; - DrawLineBezierCubic(*startPos, *endPos, *startControlPos, *endControlPos, thick, *color); + DrawCircle(centerX, centerY, radius, *color); } /** - * Umka bindings for DrawLineStrip(). + * Umka bindings for DrawCircleSector(). * - * @see DrawLineStrip() - */ -void umkaDrawLineStrip(UmkaStackSlot *params, UmkaStackSlot *result) { - Vector2 * points = (Vector2 *)params[2].ptrVal; - int pointCount = params[1].intVal; - Color* color = (Color*)¶ms[0]; - DrawLineStrip(points, pointCount, *color); -} - -/** - * Umka bindings for DrawCircle(). - * - * @see DrawCircle() - */ -void umkaDrawCircle(UmkaStackSlot *params, UmkaStackSlot *result) { - int centerX = params[3].intVal; - int centerY = params[2].intVal; - float radius = params[1].real32Val; - Color* color = (Color*)¶ms[0]; - DrawCircle(centerX, centerY, radius, *color); -} - -/** - * Umka bindings for DrawCircleSector(). - * - * @see DrawCircleSector() + * @see DrawCircleSector() */ +RAYLIB_UMKA_FUNCTION(DrawCircleSector) void umkaDrawCircleSector(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* center = (Vector2*)¶ms[5]; float radius = params[4].real32Val; @@ -2139,6 +2706,7 @@ void umkaDrawCircleSector(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawCircleSectorLines() */ +RAYLIB_UMKA_FUNCTION(DrawCircleSectorLines) void umkaDrawCircleSectorLines(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* center = (Vector2*)¶ms[5]; float radius = params[4].real32Val; @@ -2154,13 +2722,14 @@ void umkaDrawCircleSectorLines(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawCircleGradient() */ +RAYLIB_UMKA_FUNCTION(DrawCircleGradient) void umkaDrawCircleGradient(UmkaStackSlot *params, UmkaStackSlot *result) { int centerX = params[4].intVal; int centerY = params[3].intVal; float radius = params[2].real32Val; - Color* color1 = (Color*)¶ms[1]; - Color* color2 = (Color*)¶ms[0]; - DrawCircleGradient(centerX, centerY, radius, *color1, *color2); + Color* inner = (Color*)¶ms[1]; + Color* outer = (Color*)¶ms[0]; + DrawCircleGradient(centerX, centerY, radius, *inner, *outer); } /** @@ -2168,6 +2737,7 @@ void umkaDrawCircleGradient(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawCircleV() */ +RAYLIB_UMKA_FUNCTION(DrawCircleV) void umkaDrawCircleV(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* center = (Vector2*)¶ms[2]; float radius = params[1].real32Val; @@ -2180,6 +2750,7 @@ void umkaDrawCircleV(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawCircleLines() */ +RAYLIB_UMKA_FUNCTION(DrawCircleLines) void umkaDrawCircleLines(UmkaStackSlot *params, UmkaStackSlot *result) { int centerX = params[3].intVal; int centerY = params[2].intVal; @@ -2188,11 +2759,25 @@ void umkaDrawCircleLines(UmkaStackSlot *params, UmkaStackSlot *result) { DrawCircleLines(centerX, centerY, radius, *color); } +/** + * Umka bindings for DrawCircleLinesV(). + * + * @see DrawCircleLinesV() + */ +RAYLIB_UMKA_FUNCTION(DrawCircleLinesV) +void umkaDrawCircleLinesV(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector2* center = (Vector2*)¶ms[2]; + float radius = params[1].real32Val; + Color* color = (Color*)¶ms[0]; + DrawCircleLinesV(*center, radius, *color); +} + /** * Umka bindings for DrawEllipse(). * * @see DrawEllipse() */ +RAYLIB_UMKA_FUNCTION(DrawEllipse) void umkaDrawEllipse(UmkaStackSlot *params, UmkaStackSlot *result) { int centerX = params[4].intVal; int centerY = params[3].intVal; @@ -2202,11 +2787,26 @@ void umkaDrawEllipse(UmkaStackSlot *params, UmkaStackSlot *result) { DrawEllipse(centerX, centerY, radiusH, radiusV, *color); } +/** + * Umka bindings for DrawEllipseV(). + * + * @see DrawEllipseV() + */ +RAYLIB_UMKA_FUNCTION(DrawEllipseV) +void umkaDrawEllipseV(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector2* center = (Vector2*)¶ms[3]; + float radiusH = params[2].real32Val; + float radiusV = params[1].real32Val; + Color* color = (Color*)¶ms[0]; + DrawEllipseV(*center, radiusH, radiusV, *color); +} + /** * Umka bindings for DrawEllipseLines(). * * @see DrawEllipseLines() */ +RAYLIB_UMKA_FUNCTION(DrawEllipseLines) void umkaDrawEllipseLines(UmkaStackSlot *params, UmkaStackSlot *result) { int centerX = params[4].intVal; int centerY = params[3].intVal; @@ -2216,11 +2816,26 @@ void umkaDrawEllipseLines(UmkaStackSlot *params, UmkaStackSlot *result) { DrawEllipseLines(centerX, centerY, radiusH, radiusV, *color); } +/** + * Umka bindings for DrawEllipseLinesV(). + * + * @see DrawEllipseLinesV() + */ +RAYLIB_UMKA_FUNCTION(DrawEllipseLinesV) +void umkaDrawEllipseLinesV(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector2* center = (Vector2*)¶ms[3]; + float radiusH = params[2].real32Val; + float radiusV = params[1].real32Val; + Color* color = (Color*)¶ms[0]; + DrawEllipseLinesV(*center, radiusH, radiusV, *color); +} + /** * Umka bindings for DrawRing(). * * @see DrawRing() */ +RAYLIB_UMKA_FUNCTION(DrawRing) void umkaDrawRing(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* center = (Vector2*)¶ms[6]; float innerRadius = params[5].real32Val; @@ -2237,6 +2852,7 @@ void umkaDrawRing(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawRingLines() */ +RAYLIB_UMKA_FUNCTION(DrawRingLines) void umkaDrawRingLines(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* center = (Vector2*)¶ms[6]; float innerRadius = params[5].real32Val; @@ -2253,6 +2869,7 @@ void umkaDrawRingLines(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawRectangle() */ +RAYLIB_UMKA_FUNCTION(DrawRectangle) void umkaDrawRectangle(UmkaStackSlot *params, UmkaStackSlot *result) { int posX = params[4].intVal; int posY = params[3].intVal; @@ -2267,6 +2884,7 @@ void umkaDrawRectangle(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawRectangleV() */ +RAYLIB_UMKA_FUNCTION(DrawRectangleV) void umkaDrawRectangleV(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* position = (Vector2*)¶ms[2]; Vector2* size = (Vector2*)¶ms[1]; @@ -2279,6 +2897,7 @@ void umkaDrawRectangleV(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawRectangleRec() */ +RAYLIB_UMKA_FUNCTION(DrawRectangleRec) void umkaDrawRectangleRec(UmkaStackSlot *params, UmkaStackSlot *result) { Rectangle* rec = (Rectangle*)¶ms[1]; Color* color = (Color*)¶ms[0]; @@ -2290,6 +2909,7 @@ void umkaDrawRectangleRec(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawRectanglePro() */ +RAYLIB_UMKA_FUNCTION(DrawRectanglePro) void umkaDrawRectanglePro(UmkaStackSlot *params, UmkaStackSlot *result) { Rectangle* rec = (Rectangle*)¶ms[3]; Vector2* origin = (Vector2*)¶ms[2]; @@ -2303,14 +2923,15 @@ void umkaDrawRectanglePro(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawRectangleGradientV() */ +RAYLIB_UMKA_FUNCTION(DrawRectangleGradientV) void umkaDrawRectangleGradientV(UmkaStackSlot *params, UmkaStackSlot *result) { int posX = params[5].intVal; int posY = params[4].intVal; int width = params[3].intVal; int height = params[2].intVal; - Color* color1 = (Color*)¶ms[1]; - Color* color2 = (Color*)¶ms[0]; - DrawRectangleGradientV(posX, posY, width, height, *color1, *color2); + Color* top = (Color*)¶ms[1]; + Color* bottom = (Color*)¶ms[0]; + DrawRectangleGradientV(posX, posY, width, height, *top, *bottom); } /** @@ -2318,14 +2939,15 @@ void umkaDrawRectangleGradientV(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawRectangleGradientH() */ +RAYLIB_UMKA_FUNCTION(DrawRectangleGradientH) void umkaDrawRectangleGradientH(UmkaStackSlot *params, UmkaStackSlot *result) { int posX = params[5].intVal; int posY = params[4].intVal; int width = params[3].intVal; int height = params[2].intVal; - Color* color1 = (Color*)¶ms[1]; - Color* color2 = (Color*)¶ms[0]; - DrawRectangleGradientH(posX, posY, width, height, *color1, *color2); + Color* left = (Color*)¶ms[1]; + Color* right = (Color*)¶ms[0]; + DrawRectangleGradientH(posX, posY, width, height, *left, *right); } /** @@ -2333,13 +2955,14 @@ void umkaDrawRectangleGradientH(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawRectangleGradientEx() */ +RAYLIB_UMKA_FUNCTION(DrawRectangleGradientEx) void umkaDrawRectangleGradientEx(UmkaStackSlot *params, UmkaStackSlot *result) { Rectangle* rec = (Rectangle*)¶ms[4]; - Color* col1 = (Color*)¶ms[3]; - Color* col2 = (Color*)¶ms[2]; - Color* col3 = (Color*)¶ms[1]; - Color* col4 = (Color*)¶ms[0]; - DrawRectangleGradientEx(*rec, *col1, *col2, *col3, *col4); + Color* topLeft = (Color*)¶ms[3]; + Color* bottomLeft = (Color*)¶ms[2]; + Color* bottomRight = (Color*)¶ms[1]; + Color* topRight = (Color*)¶ms[0]; + DrawRectangleGradientEx(*rec, *topLeft, *bottomLeft, *bottomRight, *topRight); } /** @@ -2347,6 +2970,7 @@ void umkaDrawRectangleGradientEx(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawRectangleLines() */ +RAYLIB_UMKA_FUNCTION(DrawRectangleLines) void umkaDrawRectangleLines(UmkaStackSlot *params, UmkaStackSlot *result) { int posX = params[4].intVal; int posY = params[3].intVal; @@ -2361,6 +2985,7 @@ void umkaDrawRectangleLines(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawRectangleLinesEx() */ +RAYLIB_UMKA_FUNCTION(DrawRectangleLinesEx) void umkaDrawRectangleLinesEx(UmkaStackSlot *params, UmkaStackSlot *result) { Rectangle* rec = (Rectangle*)¶ms[2]; float lineThick = params[1].real32Val; @@ -2373,6 +2998,7 @@ void umkaDrawRectangleLinesEx(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawRectangleRounded() */ +RAYLIB_UMKA_FUNCTION(DrawRectangleRounded) void umkaDrawRectangleRounded(UmkaStackSlot *params, UmkaStackSlot *result) { Rectangle* rec = (Rectangle*)¶ms[3]; float roundness = params[2].real32Val; @@ -2386,13 +3012,28 @@ void umkaDrawRectangleRounded(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawRectangleRoundedLines() */ +RAYLIB_UMKA_FUNCTION(DrawRectangleRoundedLines) void umkaDrawRectangleRoundedLines(UmkaStackSlot *params, UmkaStackSlot *result) { + Rectangle* rec = (Rectangle*)¶ms[3]; + float roundness = params[2].real32Val; + int segments = params[1].intVal; + Color* color = (Color*)¶ms[0]; + DrawRectangleRoundedLines(*rec, roundness, segments, *color); +} + +/** + * Umka bindings for DrawRectangleRoundedLinesEx(). + * + * @see DrawRectangleRoundedLinesEx() + */ +RAYLIB_UMKA_FUNCTION(DrawRectangleRoundedLinesEx) +void umkaDrawRectangleRoundedLinesEx(UmkaStackSlot *params, UmkaStackSlot *result) { Rectangle* rec = (Rectangle*)¶ms[4]; float roundness = params[3].real32Val; int segments = params[2].intVal; float lineThick = params[1].real32Val; Color* color = (Color*)¶ms[0]; - DrawRectangleRoundedLines(*rec, roundness, segments, lineThick, *color); + DrawRectangleRoundedLinesEx(*rec, roundness, segments, lineThick, *color); } /** @@ -2400,6 +3041,7 @@ void umkaDrawRectangleRoundedLines(UmkaStackSlot *params, UmkaStackSlot *result) * * @see DrawTriangle() */ +RAYLIB_UMKA_FUNCTION(DrawTriangle) void umkaDrawTriangle(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* v1 = (Vector2*)¶ms[3]; Vector2* v2 = (Vector2*)¶ms[2]; @@ -2413,6 +3055,7 @@ void umkaDrawTriangle(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawTriangleLines() */ +RAYLIB_UMKA_FUNCTION(DrawTriangleLines) void umkaDrawTriangleLines(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* v1 = (Vector2*)¶ms[3]; Vector2* v2 = (Vector2*)¶ms[2]; @@ -2426,8 +3069,9 @@ void umkaDrawTriangleLines(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawTriangleFan() */ +RAYLIB_UMKA_FUNCTION(DrawTriangleFan) void umkaDrawTriangleFan(UmkaStackSlot *params, UmkaStackSlot *result) { - Vector2 * points = (Vector2 *)params[2].ptrVal; + const Vector2 * points = (const Vector2 *)params[2].ptrVal; int pointCount = params[1].intVal; Color* color = (Color*)¶ms[0]; DrawTriangleFan(points, pointCount, *color); @@ -2438,8 +3082,9 @@ void umkaDrawTriangleFan(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawTriangleStrip() */ +RAYLIB_UMKA_FUNCTION(DrawTriangleStrip) void umkaDrawTriangleStrip(UmkaStackSlot *params, UmkaStackSlot *result) { - Vector2 * points = (Vector2 *)params[2].ptrVal; + const Vector2 * points = (const Vector2 *)params[2].ptrVal; int pointCount = params[1].intVal; Color* color = (Color*)¶ms[0]; DrawTriangleStrip(points, pointCount, *color); @@ -2450,6 +3095,7 @@ void umkaDrawTriangleStrip(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawPoly() */ +RAYLIB_UMKA_FUNCTION(DrawPoly) void umkaDrawPoly(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* center = (Vector2*)¶ms[4]; int sides = params[3].intVal; @@ -2464,6 +3110,7 @@ void umkaDrawPoly(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawPolyLines() */ +RAYLIB_UMKA_FUNCTION(DrawPolyLines) void umkaDrawPolyLines(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* center = (Vector2*)¶ms[4]; int sides = params[3].intVal; @@ -2478,6 +3125,7 @@ void umkaDrawPolyLines(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawPolyLinesEx() */ +RAYLIB_UMKA_FUNCTION(DrawPolyLinesEx) void umkaDrawPolyLinesEx(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* center = (Vector2*)¶ms[5]; int sides = params[4].intVal; @@ -2488,11 +3136,246 @@ void umkaDrawPolyLinesEx(UmkaStackSlot *params, UmkaStackSlot *result) { DrawPolyLinesEx(*center, sides, radius, rotation, lineThick, *color); } +/** + * Umka bindings for DrawSplineLinear(). + * + * @see DrawSplineLinear() + */ +RAYLIB_UMKA_FUNCTION(DrawSplineLinear) +void umkaDrawSplineLinear(UmkaStackSlot *params, UmkaStackSlot *result) { + const Vector2 * points = (const Vector2 *)params[3].ptrVal; + int pointCount = params[2].intVal; + float thick = params[1].real32Val; + Color* color = (Color*)¶ms[0]; + DrawSplineLinear(points, pointCount, thick, *color); +} + +/** + * Umka bindings for DrawSplineBasis(). + * + * @see DrawSplineBasis() + */ +RAYLIB_UMKA_FUNCTION(DrawSplineBasis) +void umkaDrawSplineBasis(UmkaStackSlot *params, UmkaStackSlot *result) { + const Vector2 * points = (const Vector2 *)params[3].ptrVal; + int pointCount = params[2].intVal; + float thick = params[1].real32Val; + Color* color = (Color*)¶ms[0]; + DrawSplineBasis(points, pointCount, thick, *color); +} + +/** + * Umka bindings for DrawSplineCatmullRom(). + * + * @see DrawSplineCatmullRom() + */ +RAYLIB_UMKA_FUNCTION(DrawSplineCatmullRom) +void umkaDrawSplineCatmullRom(UmkaStackSlot *params, UmkaStackSlot *result) { + const Vector2 * points = (const Vector2 *)params[3].ptrVal; + int pointCount = params[2].intVal; + float thick = params[1].real32Val; + Color* color = (Color*)¶ms[0]; + DrawSplineCatmullRom(points, pointCount, thick, *color); +} + +/** + * Umka bindings for DrawSplineBezierQuadratic(). + * + * @see DrawSplineBezierQuadratic() + */ +RAYLIB_UMKA_FUNCTION(DrawSplineBezierQuadratic) +void umkaDrawSplineBezierQuadratic(UmkaStackSlot *params, UmkaStackSlot *result) { + const Vector2 * points = (const Vector2 *)params[3].ptrVal; + int pointCount = params[2].intVal; + float thick = params[1].real32Val; + Color* color = (Color*)¶ms[0]; + DrawSplineBezierQuadratic(points, pointCount, thick, *color); +} + +/** + * Umka bindings for DrawSplineBezierCubic(). + * + * @see DrawSplineBezierCubic() + */ +RAYLIB_UMKA_FUNCTION(DrawSplineBezierCubic) +void umkaDrawSplineBezierCubic(UmkaStackSlot *params, UmkaStackSlot *result) { + const Vector2 * points = (const Vector2 *)params[3].ptrVal; + int pointCount = params[2].intVal; + float thick = params[1].real32Val; + Color* color = (Color*)¶ms[0]; + DrawSplineBezierCubic(points, pointCount, thick, *color); +} + +/** + * Umka bindings for DrawSplineSegmentLinear(). + * + * @see DrawSplineSegmentLinear() + */ +RAYLIB_UMKA_FUNCTION(DrawSplineSegmentLinear) +void umkaDrawSplineSegmentLinear(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector2* p1 = (Vector2*)¶ms[3]; + Vector2* p2 = (Vector2*)¶ms[2]; + float thick = params[1].real32Val; + Color* color = (Color*)¶ms[0]; + DrawSplineSegmentLinear(*p1, *p2, thick, *color); +} + +/** + * Umka bindings for DrawSplineSegmentBasis(). + * + * @see DrawSplineSegmentBasis() + */ +RAYLIB_UMKA_FUNCTION(DrawSplineSegmentBasis) +void umkaDrawSplineSegmentBasis(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector2* p1 = (Vector2*)¶ms[5]; + Vector2* p2 = (Vector2*)¶ms[4]; + Vector2* p3 = (Vector2*)¶ms[3]; + Vector2* p4 = (Vector2*)¶ms[2]; + float thick = params[1].real32Val; + Color* color = (Color*)¶ms[0]; + DrawSplineSegmentBasis(*p1, *p2, *p3, *p4, thick, *color); +} + +/** + * Umka bindings for DrawSplineSegmentCatmullRom(). + * + * @see DrawSplineSegmentCatmullRom() + */ +RAYLIB_UMKA_FUNCTION(DrawSplineSegmentCatmullRom) +void umkaDrawSplineSegmentCatmullRom(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector2* p1 = (Vector2*)¶ms[5]; + Vector2* p2 = (Vector2*)¶ms[4]; + Vector2* p3 = (Vector2*)¶ms[3]; + Vector2* p4 = (Vector2*)¶ms[2]; + float thick = params[1].real32Val; + Color* color = (Color*)¶ms[0]; + DrawSplineSegmentCatmullRom(*p1, *p2, *p3, *p4, thick, *color); +} + +/** + * Umka bindings for DrawSplineSegmentBezierQuadratic(). + * + * @see DrawSplineSegmentBezierQuadratic() + */ +RAYLIB_UMKA_FUNCTION(DrawSplineSegmentBezierQuadratic) +void umkaDrawSplineSegmentBezierQuadratic(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector2* p1 = (Vector2*)¶ms[4]; + Vector2* c2 = (Vector2*)¶ms[3]; + Vector2* p3 = (Vector2*)¶ms[2]; + float thick = params[1].real32Val; + Color* color = (Color*)¶ms[0]; + DrawSplineSegmentBezierQuadratic(*p1, *c2, *p3, thick, *color); +} + +/** + * Umka bindings for DrawSplineSegmentBezierCubic(). + * + * @see DrawSplineSegmentBezierCubic() + */ +RAYLIB_UMKA_FUNCTION(DrawSplineSegmentBezierCubic) +void umkaDrawSplineSegmentBezierCubic(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector2* p1 = (Vector2*)¶ms[5]; + Vector2* c2 = (Vector2*)¶ms[4]; + Vector2* c3 = (Vector2*)¶ms[3]; + Vector2* p4 = (Vector2*)¶ms[2]; + float thick = params[1].real32Val; + Color* color = (Color*)¶ms[0]; + DrawSplineSegmentBezierCubic(*p1, *c2, *c3, *p4, thick, *color); +} + +/** + * Umka bindings for GetSplinePointLinear(). + * + * @see GetSplinePointLinear() + */ +RAYLIB_UMKA_FUNCTION(GetSplinePointLinear) +void umkaGetSplinePointLinear(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector2* startPos = (Vector2*)¶ms[3]; + Vector2* endPos = (Vector2*)¶ms[2]; + float t = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); + Vector2 out = GetSplinePointLinear(*startPos, *endPos, t); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector2)); +} + +/** + * Umka bindings for GetSplinePointBasis(). + * + * @see GetSplinePointBasis() + */ +RAYLIB_UMKA_FUNCTION(GetSplinePointBasis) +void umkaGetSplinePointBasis(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector2* p1 = (Vector2*)¶ms[5]; + Vector2* p2 = (Vector2*)¶ms[4]; + Vector2* p3 = (Vector2*)¶ms[3]; + Vector2* p4 = (Vector2*)¶ms[2]; + float t = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); + Vector2 out = GetSplinePointBasis(*p1, *p2, *p3, *p4, t); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector2)); +} + +/** + * Umka bindings for GetSplinePointCatmullRom(). + * + * @see GetSplinePointCatmullRom() + */ +RAYLIB_UMKA_FUNCTION(GetSplinePointCatmullRom) +void umkaGetSplinePointCatmullRom(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector2* p1 = (Vector2*)¶ms[5]; + Vector2* p2 = (Vector2*)¶ms[4]; + Vector2* p3 = (Vector2*)¶ms[3]; + Vector2* p4 = (Vector2*)¶ms[2]; + float t = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); + Vector2 out = GetSplinePointCatmullRom(*p1, *p2, *p3, *p4, t); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector2)); +} + +/** + * Umka bindings for GetSplinePointBezierQuad(). + * + * @see GetSplinePointBezierQuad() + */ +RAYLIB_UMKA_FUNCTION(GetSplinePointBezierQuad) +void umkaGetSplinePointBezierQuad(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector2* p1 = (Vector2*)¶ms[4]; + Vector2* c2 = (Vector2*)¶ms[3]; + Vector2* p3 = (Vector2*)¶ms[2]; + float t = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); + Vector2 out = GetSplinePointBezierQuad(*p1, *c2, *p3, t); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector2)); +} + +/** + * Umka bindings for GetSplinePointBezierCubic(). + * + * @see GetSplinePointBezierCubic() + */ +RAYLIB_UMKA_FUNCTION(GetSplinePointBezierCubic) +void umkaGetSplinePointBezierCubic(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector2* p1 = (Vector2*)¶ms[5]; + Vector2* c2 = (Vector2*)¶ms[4]; + Vector2* c3 = (Vector2*)¶ms[3]; + Vector2* p4 = (Vector2*)¶ms[2]; + float t = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); + Vector2 out = GetSplinePointBezierCubic(*p1, *c2, *c3, *p4, t); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector2)); +} + /** * Umka bindings for CheckCollisionRecs(). * * @see CheckCollisionRecs() */ +RAYLIB_UMKA_FUNCTION(CheckCollisionRecs) void umkaCheckCollisionRecs(UmkaStackSlot *params, UmkaStackSlot *result) { Rectangle* rec1 = (Rectangle*)¶ms[1]; Rectangle* rec2 = (Rectangle*)¶ms[0]; @@ -2504,6 +3387,7 @@ void umkaCheckCollisionRecs(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see CheckCollisionCircles() */ +RAYLIB_UMKA_FUNCTION(CheckCollisionCircles) void umkaCheckCollisionCircles(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* center1 = (Vector2*)¶ms[3]; float radius1 = params[2].real32Val; @@ -2517,6 +3401,7 @@ void umkaCheckCollisionCircles(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see CheckCollisionCircleRec() */ +RAYLIB_UMKA_FUNCTION(CheckCollisionCircleRec) void umkaCheckCollisionCircleRec(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* center = (Vector2*)¶ms[2]; float radius = params[1].real32Val; @@ -2524,11 +3409,26 @@ void umkaCheckCollisionCircleRec(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = (int)CheckCollisionCircleRec(*center, radius, *rec); } +/** + * Umka bindings for CheckCollisionCircleLine(). + * + * @see CheckCollisionCircleLine() + */ +RAYLIB_UMKA_FUNCTION(CheckCollisionCircleLine) +void umkaCheckCollisionCircleLine(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector2* center = (Vector2*)¶ms[3]; + float radius = params[2].real32Val; + Vector2* p1 = (Vector2*)¶ms[1]; + Vector2* p2 = (Vector2*)¶ms[0]; + result->intVal = (int)CheckCollisionCircleLine(*center, radius, *p1, *p2); +} + /** * Umka bindings for CheckCollisionPointRec(). * * @see CheckCollisionPointRec() */ +RAYLIB_UMKA_FUNCTION(CheckCollisionPointRec) void umkaCheckCollisionPointRec(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* point = (Vector2*)¶ms[1]; Rectangle* rec = (Rectangle*)¶ms[0]; @@ -2540,6 +3440,7 @@ void umkaCheckCollisionPointRec(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see CheckCollisionPointCircle() */ +RAYLIB_UMKA_FUNCTION(CheckCollisionPointCircle) void umkaCheckCollisionPointCircle(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* point = (Vector2*)¶ms[2]; Vector2* center = (Vector2*)¶ms[1]; @@ -2552,6 +3453,7 @@ void umkaCheckCollisionPointCircle(UmkaStackSlot *params, UmkaStackSlot *result) * * @see CheckCollisionPointTriangle() */ +RAYLIB_UMKA_FUNCTION(CheckCollisionPointTriangle) void umkaCheckCollisionPointTriangle(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* point = (Vector2*)¶ms[3]; Vector2* p1 = (Vector2*)¶ms[2]; @@ -2560,11 +3462,39 @@ void umkaCheckCollisionPointTriangle(UmkaStackSlot *params, UmkaStackSlot *resul result->intVal = (int)CheckCollisionPointTriangle(*point, *p1, *p2, *p3); } +/** + * Umka bindings for CheckCollisionPointLine(). + * + * @see CheckCollisionPointLine() + */ +RAYLIB_UMKA_FUNCTION(CheckCollisionPointLine) +void umkaCheckCollisionPointLine(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector2* point = (Vector2*)¶ms[3]; + Vector2* p1 = (Vector2*)¶ms[2]; + Vector2* p2 = (Vector2*)¶ms[1]; + int threshold = params[0].intVal; + result->intVal = (int)CheckCollisionPointLine(*point, *p1, *p2, threshold); +} + +/** + * Umka bindings for CheckCollisionPointPoly(). + * + * @see CheckCollisionPointPoly() + */ +RAYLIB_UMKA_FUNCTION(CheckCollisionPointPoly) +void umkaCheckCollisionPointPoly(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector2* point = (Vector2*)¶ms[2]; + const Vector2 * points = (const Vector2 *)params[1].ptrVal; + int pointCount = params[0].intVal; + result->intVal = (int)CheckCollisionPointPoly(*point, points, pointCount); +} + /** * Umka bindings for CheckCollisionLines(). * * @see CheckCollisionLines() */ +RAYLIB_UMKA_FUNCTION(CheckCollisionLines) void umkaCheckCollisionLines(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* startPos1 = (Vector2*)¶ms[4]; Vector2* endPos1 = (Vector2*)¶ms[3]; @@ -2574,24 +3504,12 @@ void umkaCheckCollisionLines(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = (int)CheckCollisionLines(*startPos1, *endPos1, *startPos2, *endPos2, collisionPoint); } -/** - * Umka bindings for CheckCollisionPointLine(). - * - * @see CheckCollisionPointLine() - */ -void umkaCheckCollisionPointLine(UmkaStackSlot *params, UmkaStackSlot *result) { - Vector2* point = (Vector2*)¶ms[3]; - Vector2* p1 = (Vector2*)¶ms[2]; - Vector2* p2 = (Vector2*)¶ms[1]; - int threshold = params[0].intVal; - result->intVal = (int)CheckCollisionPointLine(*point, *p1, *p2, threshold); -} - /** * Umka bindings for GetCollisionRec(). * * @see GetCollisionRec() */ +RAYLIB_UMKA_FUNCTION(GetCollisionRec) void umkaGetCollisionRec(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Rectangle* rec1 = (Rectangle*)¶ms[2]; @@ -2606,6 +3524,7 @@ void umkaGetCollisionRec(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadImage() */ +RAYLIB_UMKA_FUNCTION(LoadImage) void umkaLoadImage(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename const char * fileName = (const char *)params[1].ptrVal; @@ -2619,6 +3538,7 @@ void umkaLoadImage(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadImageRaw() */ +RAYLIB_UMKA_FUNCTION(LoadImageRaw) void umkaLoadImageRaw(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename const char * fileName = (const char *)params[5].ptrVal; @@ -2636,6 +3556,7 @@ void umkaLoadImageRaw(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadImageAnim() */ +RAYLIB_UMKA_FUNCTION(LoadImageAnim) void umkaLoadImageAnim(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename const char * fileName = (const char *)params[2].ptrVal; @@ -2645,11 +3566,29 @@ void umkaLoadImageAnim(UmkaStackSlot *params, UmkaStackSlot *result) { RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Image)); } +/** + * Umka bindings for LoadImageAnimFromMemory(). + * + * @see LoadImageAnimFromMemory() + */ +RAYLIB_UMKA_FUNCTION(LoadImageAnimFromMemory) +void umkaLoadImageAnimFromMemory(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + const char * fileType = (const char *)params[4].ptrVal; + const unsigned char * fileData = (const unsigned char *)params[3].ptrVal; + int dataSize = params[2].intVal; + int * frames = (int *)params[1].ptrVal; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Image), NULL); + Image out = LoadImageAnimFromMemory(fileType, fileData, dataSize, frames); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Image)); +} + /** * Umka bindings for LoadImageFromMemory(). * * @see LoadImageFromMemory() */ +RAYLIB_UMKA_FUNCTION(LoadImageFromMemory) void umkaLoadImageFromMemory(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename const char * fileType = (const char *)params[3].ptrVal; @@ -2665,6 +3604,7 @@ void umkaLoadImageFromMemory(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadImageFromTexture() */ +RAYLIB_UMKA_FUNCTION(LoadImageFromTexture) void umkaLoadImageFromTexture(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Texture2D* texture = (Texture2D*)¶ms[1]; @@ -2678,17 +3618,30 @@ void umkaLoadImageFromTexture(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadImageFromScreen() */ +RAYLIB_UMKA_FUNCTION(LoadImageFromScreen) void umkaLoadImageFromScreen(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Image), NULL); Image out = LoadImageFromScreen(); RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Image)); } +/** + * Umka bindings for IsImageValid(). + * + * @see IsImageValid() + */ +RAYLIB_UMKA_FUNCTION(IsImageValid) +void umkaIsImageValid(UmkaStackSlot *params, UmkaStackSlot *result) { + Image* image = (Image*)¶ms[0]; + result->intVal = (int)IsImageValid(*image); +} + /** * Umka bindings for UnloadImage(). * * @see UnloadImage() */ +RAYLIB_UMKA_FUNCTION(UnloadImage) void umkaUnloadImage(UmkaStackSlot *params, UmkaStackSlot *result) { Image* image = (Image*)¶ms[0]; UnloadImage(*image); @@ -2699,17 +3652,32 @@ void umkaUnloadImage(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ExportImage() */ +RAYLIB_UMKA_FUNCTION(ExportImage) void umkaExportImage(UmkaStackSlot *params, UmkaStackSlot *result) { Image* image = (Image*)¶ms[1]; const char * fileName = (const char *)params[0].ptrVal; result->intVal = (int)ExportImage(*image, fileName); } +/** + * Umka bindings for ExportImageToMemory(). + * + * @see ExportImageToMemory() + */ +RAYLIB_UMKA_FUNCTION(ExportImageToMemory) +void umkaExportImageToMemory(UmkaStackSlot *params, UmkaStackSlot *result) { + Image* image = (Image*)¶ms[2]; + const char * fileType = (const char *)params[1].ptrVal; + int * fileSize = (int *)params[0].ptrVal; + result->ptrVal = (void*)ExportImageToMemory(*image, fileType, fileSize); +} + /** * Umka bindings for ExportImageAsCode(). * * @see ExportImageAsCode() */ +RAYLIB_UMKA_FUNCTION(ExportImageAsCode) void umkaExportImageAsCode(UmkaStackSlot *params, UmkaStackSlot *result) { Image* image = (Image*)¶ms[1]; const char * fileName = (const char *)params[0].ptrVal; @@ -2721,6 +3689,7 @@ void umkaExportImageAsCode(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GenImageColor() */ +RAYLIB_UMKA_FUNCTION(GenImageColor) void umkaGenImageColor(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename int width = params[3].intVal; @@ -2732,43 +3701,48 @@ void umkaGenImageColor(UmkaStackSlot *params, UmkaStackSlot *result) { } /** - * Umka bindings for GenImageGradientV(). + * Umka bindings for GenImageGradientLinear(). * - * @see GenImageGradientV() + * @see GenImageGradientLinear() */ -void umkaGenImageGradientV(UmkaStackSlot *params, UmkaStackSlot *result) { +RAYLIB_UMKA_FUNCTION(GenImageGradientLinear) +void umkaGenImageGradientLinear(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename - int width = params[4].intVal; - int height = params[3].intVal; - Color* top = (Color*)¶ms[2]; - Color* bottom = (Color*)¶ms[1]; + int width = params[5].intVal; + int height = params[4].intVal; + int direction = params[3].intVal; + Color* start = (Color*)¶ms[2]; + Color* end = (Color*)¶ms[1]; result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Image), NULL); - Image out = GenImageGradientV(width, height, *top, *bottom); + Image out = GenImageGradientLinear(width, height, direction, *start, *end); RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Image)); } /** - * Umka bindings for GenImageGradientH(). + * Umka bindings for GenImageGradientRadial(). * - * @see GenImageGradientH() + * @see GenImageGradientRadial() */ -void umkaGenImageGradientH(UmkaStackSlot *params, UmkaStackSlot *result) { +RAYLIB_UMKA_FUNCTION(GenImageGradientRadial) +void umkaGenImageGradientRadial(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename - int width = params[4].intVal; - int height = params[3].intVal; - Color* left = (Color*)¶ms[2]; - Color* right = (Color*)¶ms[1]; + int width = params[5].intVal; + int height = params[4].intVal; + float density = params[3].real32Val; + Color* inner = (Color*)¶ms[2]; + Color* outer = (Color*)¶ms[1]; result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Image), NULL); - Image out = GenImageGradientH(width, height, *left, *right); + Image out = GenImageGradientRadial(width, height, density, *inner, *outer); RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Image)); } /** - * Umka bindings for GenImageGradientRadial(). + * Umka bindings for GenImageGradientSquare(). * - * @see GenImageGradientRadial() + * @see GenImageGradientSquare() */ -void umkaGenImageGradientRadial(UmkaStackSlot *params, UmkaStackSlot *result) { +RAYLIB_UMKA_FUNCTION(GenImageGradientSquare) +void umkaGenImageGradientSquare(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename int width = params[5].intVal; int height = params[4].intVal; @@ -2776,7 +3750,7 @@ void umkaGenImageGradientRadial(UmkaStackSlot *params, UmkaStackSlot *result) { Color* inner = (Color*)¶ms[2]; Color* outer = (Color*)¶ms[1]; result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Image), NULL); - Image out = GenImageGradientRadial(width, height, density, *inner, *outer); + Image out = GenImageGradientSquare(width, height, density, *inner, *outer); RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Image)); } @@ -2785,6 +3759,7 @@ void umkaGenImageGradientRadial(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GenImageChecked() */ +RAYLIB_UMKA_FUNCTION(GenImageChecked) void umkaGenImageChecked(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename int width = params[6].intVal; @@ -2803,6 +3778,7 @@ void umkaGenImageChecked(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GenImageWhiteNoise() */ +RAYLIB_UMKA_FUNCTION(GenImageWhiteNoise) void umkaGenImageWhiteNoise(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename int width = params[3].intVal; @@ -2813,11 +3789,30 @@ void umkaGenImageWhiteNoise(UmkaStackSlot *params, UmkaStackSlot *result) { RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Image)); } +/** + * Umka bindings for GenImagePerlinNoise(). + * + * @see GenImagePerlinNoise() + */ +RAYLIB_UMKA_FUNCTION(GenImagePerlinNoise) +void umkaGenImagePerlinNoise(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + int width = params[5].intVal; + int height = params[4].intVal; + int offsetX = params[3].intVal; + int offsetY = params[2].intVal; + float scale = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Image), NULL); + Image out = GenImagePerlinNoise(width, height, offsetX, offsetY, scale); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Image)); +} + /** * Umka bindings for GenImageCellular(). * * @see GenImageCellular() */ +RAYLIB_UMKA_FUNCTION(GenImageCellular) void umkaGenImageCellular(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename int width = params[3].intVal; @@ -2829,10 +3824,27 @@ void umkaGenImageCellular(UmkaStackSlot *params, UmkaStackSlot *result) { } /** - * Umka bindings for ImageCopy(). + * Umka bindings for GenImageText(). * - * @see ImageCopy() + * @see GenImageText() */ +RAYLIB_UMKA_FUNCTION(GenImageText) +void umkaGenImageText(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + int width = params[3].intVal; + int height = params[2].intVal; + const char * text = (const char *)params[1].ptrVal; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Image), NULL); + Image out = GenImageText(width, height, text); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Image)); +} + +/** + * Umka bindings for ImageCopy(). + * + * @see ImageCopy() + */ +RAYLIB_UMKA_FUNCTION(ImageCopy) void umkaImageCopy(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Image* image = (Image*)¶ms[1]; @@ -2846,6 +3858,7 @@ void umkaImageCopy(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageFromImage() */ +RAYLIB_UMKA_FUNCTION(ImageFromImage) void umkaImageFromImage(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Image* image = (Image*)¶ms[2]; @@ -2855,11 +3868,27 @@ void umkaImageFromImage(UmkaStackSlot *params, UmkaStackSlot *result) { RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Image)); } +/** + * Umka bindings for ImageFromChannel(). + * + * @see ImageFromChannel() + */ +RAYLIB_UMKA_FUNCTION(ImageFromChannel) +void umkaImageFromChannel(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Image* image = (Image*)¶ms[2]; + int selectedChannel = params[1].intVal; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Image), NULL); + Image out = ImageFromChannel(*image, selectedChannel); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Image)); +} + /** * Umka bindings for ImageText(). * * @see ImageText() */ +RAYLIB_UMKA_FUNCTION(ImageText) void umkaImageText(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename const char * text = (const char *)params[3].ptrVal; @@ -2875,6 +3904,7 @@ void umkaImageText(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageTextEx() */ +RAYLIB_UMKA_FUNCTION(ImageTextEx) void umkaImageTextEx(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Font* font = (Font*)¶ms[5]; @@ -2892,6 +3922,7 @@ void umkaImageTextEx(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageFormat() */ +RAYLIB_UMKA_FUNCTION(ImageFormat) void umkaImageFormat(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[1].ptrVal; int newFormat = params[0].intVal; @@ -2903,6 +3934,7 @@ void umkaImageFormat(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageToPOT() */ +RAYLIB_UMKA_FUNCTION(ImageToPOT) void umkaImageToPOT(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[1].ptrVal; Color* fill = (Color*)¶ms[0]; @@ -2914,6 +3946,7 @@ void umkaImageToPOT(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageCrop() */ +RAYLIB_UMKA_FUNCTION(ImageCrop) void umkaImageCrop(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[1].ptrVal; Rectangle* crop = (Rectangle*)¶ms[0]; @@ -2925,6 +3958,7 @@ void umkaImageCrop(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageAlphaCrop() */ +RAYLIB_UMKA_FUNCTION(ImageAlphaCrop) void umkaImageAlphaCrop(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[1].ptrVal; float threshold = params[0].real32Val; @@ -2936,6 +3970,7 @@ void umkaImageAlphaCrop(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageAlphaClear() */ +RAYLIB_UMKA_FUNCTION(ImageAlphaClear) void umkaImageAlphaClear(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[2].ptrVal; Color* color = (Color*)¶ms[1]; @@ -2948,6 +3983,7 @@ void umkaImageAlphaClear(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageAlphaMask() */ +RAYLIB_UMKA_FUNCTION(ImageAlphaMask) void umkaImageAlphaMask(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[1].ptrVal; Image* alphaMask = (Image*)¶ms[0]; @@ -2959,16 +3995,43 @@ void umkaImageAlphaMask(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageAlphaPremultiply() */ +RAYLIB_UMKA_FUNCTION(ImageAlphaPremultiply) void umkaImageAlphaPremultiply(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[0].ptrVal; ImageAlphaPremultiply(image); } +/** + * Umka bindings for ImageBlurGaussian(). + * + * @see ImageBlurGaussian() + */ +RAYLIB_UMKA_FUNCTION(ImageBlurGaussian) +void umkaImageBlurGaussian(UmkaStackSlot *params, UmkaStackSlot *result) { + Image * image = (Image *)params[1].ptrVal; + int blurSize = params[0].intVal; + ImageBlurGaussian(image, blurSize); +} + +/** + * Umka bindings for ImageKernelConvolution(). + * + * @see ImageKernelConvolution() + */ +RAYLIB_UMKA_FUNCTION(ImageKernelConvolution) +void umkaImageKernelConvolution(UmkaStackSlot *params, UmkaStackSlot *result) { + Image * image = (Image *)params[2].ptrVal; + const float * kernel = (const float *)params[1].ptrVal; + int kernelSize = params[0].intVal; + ImageKernelConvolution(image, kernel, kernelSize); +} + /** * Umka bindings for ImageResize(). * * @see ImageResize() */ +RAYLIB_UMKA_FUNCTION(ImageResize) void umkaImageResize(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[2].ptrVal; int newWidth = params[1].intVal; @@ -2981,6 +4044,7 @@ void umkaImageResize(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageResizeNN() */ +RAYLIB_UMKA_FUNCTION(ImageResizeNN) void umkaImageResizeNN(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[2].ptrVal; int newWidth = params[1].intVal; @@ -2993,6 +4057,7 @@ void umkaImageResizeNN(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageResizeCanvas() */ +RAYLIB_UMKA_FUNCTION(ImageResizeCanvas) void umkaImageResizeCanvas(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[5].ptrVal; int newWidth = params[4].intVal; @@ -3008,6 +4073,7 @@ void umkaImageResizeCanvas(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageMipmaps() */ +RAYLIB_UMKA_FUNCTION(ImageMipmaps) void umkaImageMipmaps(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[0].ptrVal; ImageMipmaps(image); @@ -3018,6 +4084,7 @@ void umkaImageMipmaps(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageDither() */ +RAYLIB_UMKA_FUNCTION(ImageDither) void umkaImageDither(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[4].ptrVal; int rBpp = params[3].intVal; @@ -3032,6 +4099,7 @@ void umkaImageDither(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageFlipVertical() */ +RAYLIB_UMKA_FUNCTION(ImageFlipVertical) void umkaImageFlipVertical(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[0].ptrVal; ImageFlipVertical(image); @@ -3042,16 +4110,30 @@ void umkaImageFlipVertical(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageFlipHorizontal() */ +RAYLIB_UMKA_FUNCTION(ImageFlipHorizontal) void umkaImageFlipHorizontal(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[0].ptrVal; ImageFlipHorizontal(image); } +/** + * Umka bindings for ImageRotate(). + * + * @see ImageRotate() + */ +RAYLIB_UMKA_FUNCTION(ImageRotate) +void umkaImageRotate(UmkaStackSlot *params, UmkaStackSlot *result) { + Image * image = (Image *)params[1].ptrVal; + int degrees = params[0].intVal; + ImageRotate(image, degrees); +} + /** * Umka bindings for ImageRotateCW(). * * @see ImageRotateCW() */ +RAYLIB_UMKA_FUNCTION(ImageRotateCW) void umkaImageRotateCW(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[0].ptrVal; ImageRotateCW(image); @@ -3062,6 +4144,7 @@ void umkaImageRotateCW(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageRotateCCW() */ +RAYLIB_UMKA_FUNCTION(ImageRotateCCW) void umkaImageRotateCCW(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[0].ptrVal; ImageRotateCCW(image); @@ -3072,6 +4155,7 @@ void umkaImageRotateCCW(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageColorTint() */ +RAYLIB_UMKA_FUNCTION(ImageColorTint) void umkaImageColorTint(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[1].ptrVal; Color* color = (Color*)¶ms[0]; @@ -3083,6 +4167,7 @@ void umkaImageColorTint(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageColorInvert() */ +RAYLIB_UMKA_FUNCTION(ImageColorInvert) void umkaImageColorInvert(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[0].ptrVal; ImageColorInvert(image); @@ -3093,6 +4178,7 @@ void umkaImageColorInvert(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageColorGrayscale() */ +RAYLIB_UMKA_FUNCTION(ImageColorGrayscale) void umkaImageColorGrayscale(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[0].ptrVal; ImageColorGrayscale(image); @@ -3103,6 +4189,7 @@ void umkaImageColorGrayscale(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageColorContrast() */ +RAYLIB_UMKA_FUNCTION(ImageColorContrast) void umkaImageColorContrast(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[1].ptrVal; float contrast = params[0].real32Val; @@ -3114,6 +4201,7 @@ void umkaImageColorContrast(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageColorBrightness() */ +RAYLIB_UMKA_FUNCTION(ImageColorBrightness) void umkaImageColorBrightness(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[1].ptrVal; int brightness = params[0].intVal; @@ -3125,6 +4213,7 @@ void umkaImageColorBrightness(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageColorReplace() */ +RAYLIB_UMKA_FUNCTION(ImageColorReplace) void umkaImageColorReplace(UmkaStackSlot *params, UmkaStackSlot *result) { Image * image = (Image *)params[2].ptrVal; Color* color = (Color*)¶ms[1]; @@ -3137,6 +4226,7 @@ void umkaImageColorReplace(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadImageColors() */ +RAYLIB_UMKA_FUNCTION(LoadImageColors) void umkaLoadImageColors(UmkaStackSlot *params, UmkaStackSlot *result) { Image* image = (Image*)¶ms[0]; result->ptrVal = (void*)LoadImageColors(*image); @@ -3147,6 +4237,7 @@ void umkaLoadImageColors(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadImagePalette() */ +RAYLIB_UMKA_FUNCTION(LoadImagePalette) void umkaLoadImagePalette(UmkaStackSlot *params, UmkaStackSlot *result) { Image* image = (Image*)¶ms[2]; int maxPaletteSize = params[1].intVal; @@ -3159,6 +4250,7 @@ void umkaLoadImagePalette(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UnloadImageColors() */ +RAYLIB_UMKA_FUNCTION(UnloadImageColors) void umkaUnloadImageColors(UmkaStackSlot *params, UmkaStackSlot *result) { Color * colors = (Color *)params[0].ptrVal; UnloadImageColors(colors); @@ -3169,6 +4261,7 @@ void umkaUnloadImageColors(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UnloadImagePalette() */ +RAYLIB_UMKA_FUNCTION(UnloadImagePalette) void umkaUnloadImagePalette(UmkaStackSlot *params, UmkaStackSlot *result) { Color * colors = (Color *)params[0].ptrVal; UnloadImagePalette(colors); @@ -3179,6 +4272,7 @@ void umkaUnloadImagePalette(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetImageAlphaBorder() */ +RAYLIB_UMKA_FUNCTION(GetImageAlphaBorder) void umkaGetImageAlphaBorder(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Image* image = (Image*)¶ms[2]; @@ -3193,6 +4287,7 @@ void umkaGetImageAlphaBorder(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetImageColor() */ +RAYLIB_UMKA_FUNCTION(GetImageColor) void umkaGetImageColor(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Image* image = (Image*)¶ms[3]; @@ -3208,6 +4303,7 @@ void umkaGetImageColor(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageClearBackground() */ +RAYLIB_UMKA_FUNCTION(ImageClearBackground) void umkaImageClearBackground(UmkaStackSlot *params, UmkaStackSlot *result) { Image * dst = (Image *)params[1].ptrVal; Color* color = (Color*)¶ms[0]; @@ -3219,6 +4315,7 @@ void umkaImageClearBackground(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageDrawPixel() */ +RAYLIB_UMKA_FUNCTION(ImageDrawPixel) void umkaImageDrawPixel(UmkaStackSlot *params, UmkaStackSlot *result) { Image * dst = (Image *)params[3].ptrVal; int posX = params[2].intVal; @@ -3232,6 +4329,7 @@ void umkaImageDrawPixel(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageDrawPixelV() */ +RAYLIB_UMKA_FUNCTION(ImageDrawPixelV) void umkaImageDrawPixelV(UmkaStackSlot *params, UmkaStackSlot *result) { Image * dst = (Image *)params[2].ptrVal; Vector2* position = (Vector2*)¶ms[1]; @@ -3244,6 +4342,7 @@ void umkaImageDrawPixelV(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageDrawLine() */ +RAYLIB_UMKA_FUNCTION(ImageDrawLine) void umkaImageDrawLine(UmkaStackSlot *params, UmkaStackSlot *result) { Image * dst = (Image *)params[5].ptrVal; int startPosX = params[4].intVal; @@ -3259,6 +4358,7 @@ void umkaImageDrawLine(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageDrawLineV() */ +RAYLIB_UMKA_FUNCTION(ImageDrawLineV) void umkaImageDrawLineV(UmkaStackSlot *params, UmkaStackSlot *result) { Image * dst = (Image *)params[3].ptrVal; Vector2* start = (Vector2*)¶ms[2]; @@ -3267,11 +4367,27 @@ void umkaImageDrawLineV(UmkaStackSlot *params, UmkaStackSlot *result) { ImageDrawLineV(dst, *start, *end, *color); } +/** + * Umka bindings for ImageDrawLineEx(). + * + * @see ImageDrawLineEx() + */ +RAYLIB_UMKA_FUNCTION(ImageDrawLineEx) +void umkaImageDrawLineEx(UmkaStackSlot *params, UmkaStackSlot *result) { + Image * dst = (Image *)params[4].ptrVal; + Vector2* start = (Vector2*)¶ms[3]; + Vector2* end = (Vector2*)¶ms[2]; + int thick = params[1].intVal; + Color* color = (Color*)¶ms[0]; + ImageDrawLineEx(dst, *start, *end, thick, *color); +} + /** * Umka bindings for ImageDrawCircle(). * * @see ImageDrawCircle() */ +RAYLIB_UMKA_FUNCTION(ImageDrawCircle) void umkaImageDrawCircle(UmkaStackSlot *params, UmkaStackSlot *result) { Image * dst = (Image *)params[4].ptrVal; int centerX = params[3].intVal; @@ -3286,6 +4402,7 @@ void umkaImageDrawCircle(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageDrawCircleV() */ +RAYLIB_UMKA_FUNCTION(ImageDrawCircleV) void umkaImageDrawCircleV(UmkaStackSlot *params, UmkaStackSlot *result) { Image * dst = (Image *)params[3].ptrVal; Vector2* center = (Vector2*)¶ms[2]; @@ -3294,11 +4411,41 @@ void umkaImageDrawCircleV(UmkaStackSlot *params, UmkaStackSlot *result) { ImageDrawCircleV(dst, *center, radius, *color); } +/** + * Umka bindings for ImageDrawCircleLines(). + * + * @see ImageDrawCircleLines() + */ +RAYLIB_UMKA_FUNCTION(ImageDrawCircleLines) +void umkaImageDrawCircleLines(UmkaStackSlot *params, UmkaStackSlot *result) { + Image * dst = (Image *)params[4].ptrVal; + int centerX = params[3].intVal; + int centerY = params[2].intVal; + int radius = params[1].intVal; + Color* color = (Color*)¶ms[0]; + ImageDrawCircleLines(dst, centerX, centerY, radius, *color); +} + +/** + * Umka bindings for ImageDrawCircleLinesV(). + * + * @see ImageDrawCircleLinesV() + */ +RAYLIB_UMKA_FUNCTION(ImageDrawCircleLinesV) +void umkaImageDrawCircleLinesV(UmkaStackSlot *params, UmkaStackSlot *result) { + Image * dst = (Image *)params[3].ptrVal; + Vector2* center = (Vector2*)¶ms[2]; + int radius = params[1].intVal; + Color* color = (Color*)¶ms[0]; + ImageDrawCircleLinesV(dst, *center, radius, *color); +} + /** * Umka bindings for ImageDrawRectangle(). * * @see ImageDrawRectangle() */ +RAYLIB_UMKA_FUNCTION(ImageDrawRectangle) void umkaImageDrawRectangle(UmkaStackSlot *params, UmkaStackSlot *result) { Image * dst = (Image *)params[5].ptrVal; int posX = params[4].intVal; @@ -3314,6 +4461,7 @@ void umkaImageDrawRectangle(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageDrawRectangleV() */ +RAYLIB_UMKA_FUNCTION(ImageDrawRectangleV) void umkaImageDrawRectangleV(UmkaStackSlot *params, UmkaStackSlot *result) { Image * dst = (Image *)params[3].ptrVal; Vector2* position = (Vector2*)¶ms[2]; @@ -3327,6 +4475,7 @@ void umkaImageDrawRectangleV(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageDrawRectangleRec() */ +RAYLIB_UMKA_FUNCTION(ImageDrawRectangleRec) void umkaImageDrawRectangleRec(UmkaStackSlot *params, UmkaStackSlot *result) { Image * dst = (Image *)params[2].ptrVal; Rectangle* rec = (Rectangle*)¶ms[1]; @@ -3339,6 +4488,7 @@ void umkaImageDrawRectangleRec(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageDrawRectangleLines() */ +RAYLIB_UMKA_FUNCTION(ImageDrawRectangleLines) void umkaImageDrawRectangleLines(UmkaStackSlot *params, UmkaStackSlot *result) { Image * dst = (Image *)params[3].ptrVal; Rectangle* rec = (Rectangle*)¶ms[2]; @@ -3347,11 +4497,87 @@ void umkaImageDrawRectangleLines(UmkaStackSlot *params, UmkaStackSlot *result) { ImageDrawRectangleLines(dst, *rec, thick, *color); } +/** + * Umka bindings for ImageDrawTriangle(). + * + * @see ImageDrawTriangle() + */ +RAYLIB_UMKA_FUNCTION(ImageDrawTriangle) +void umkaImageDrawTriangle(UmkaStackSlot *params, UmkaStackSlot *result) { + Image * dst = (Image *)params[4].ptrVal; + Vector2* v1 = (Vector2*)¶ms[3]; + Vector2* v2 = (Vector2*)¶ms[2]; + Vector2* v3 = (Vector2*)¶ms[1]; + Color* color = (Color*)¶ms[0]; + ImageDrawTriangle(dst, *v1, *v2, *v3, *color); +} + +/** + * Umka bindings for ImageDrawTriangleEx(). + * + * @see ImageDrawTriangleEx() + */ +RAYLIB_UMKA_FUNCTION(ImageDrawTriangleEx) +void umkaImageDrawTriangleEx(UmkaStackSlot *params, UmkaStackSlot *result) { + Image * dst = (Image *)params[6].ptrVal; + Vector2* v1 = (Vector2*)¶ms[5]; + Vector2* v2 = (Vector2*)¶ms[4]; + Vector2* v3 = (Vector2*)¶ms[3]; + Color* c1 = (Color*)¶ms[2]; + Color* c2 = (Color*)¶ms[1]; + Color* c3 = (Color*)¶ms[0]; + ImageDrawTriangleEx(dst, *v1, *v2, *v3, *c1, *c2, *c3); +} + +/** + * Umka bindings for ImageDrawTriangleLines(). + * + * @see ImageDrawTriangleLines() + */ +RAYLIB_UMKA_FUNCTION(ImageDrawTriangleLines) +void umkaImageDrawTriangleLines(UmkaStackSlot *params, UmkaStackSlot *result) { + Image * dst = (Image *)params[4].ptrVal; + Vector2* v1 = (Vector2*)¶ms[3]; + Vector2* v2 = (Vector2*)¶ms[2]; + Vector2* v3 = (Vector2*)¶ms[1]; + Color* color = (Color*)¶ms[0]; + ImageDrawTriangleLines(dst, *v1, *v2, *v3, *color); +} + +/** + * Umka bindings for ImageDrawTriangleFan(). + * + * @see ImageDrawTriangleFan() + */ +RAYLIB_UMKA_FUNCTION(ImageDrawTriangleFan) +void umkaImageDrawTriangleFan(UmkaStackSlot *params, UmkaStackSlot *result) { + Image * dst = (Image *)params[3].ptrVal; + const Vector2 * points = (const Vector2 *)params[2].ptrVal; + int pointCount = params[1].intVal; + Color* color = (Color*)¶ms[0]; + ImageDrawTriangleFan(dst, points, pointCount, *color); +} + +/** + * Umka bindings for ImageDrawTriangleStrip(). + * + * @see ImageDrawTriangleStrip() + */ +RAYLIB_UMKA_FUNCTION(ImageDrawTriangleStrip) +void umkaImageDrawTriangleStrip(UmkaStackSlot *params, UmkaStackSlot *result) { + Image * dst = (Image *)params[3].ptrVal; + const Vector2 * points = (const Vector2 *)params[2].ptrVal; + int pointCount = params[1].intVal; + Color* color = (Color*)¶ms[0]; + ImageDrawTriangleStrip(dst, points, pointCount, *color); +} + /** * Umka bindings for ImageDraw(). * * @see ImageDraw() */ +RAYLIB_UMKA_FUNCTION(ImageDraw) void umkaImageDraw(UmkaStackSlot *params, UmkaStackSlot *result) { Image * dst = (Image *)params[4].ptrVal; Image* src = (Image*)¶ms[3]; @@ -3366,6 +4592,7 @@ void umkaImageDraw(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageDrawText() */ +RAYLIB_UMKA_FUNCTION(ImageDrawText) void umkaImageDrawText(UmkaStackSlot *params, UmkaStackSlot *result) { Image * dst = (Image *)params[5].ptrVal; const char * text = (const char *)params[4].ptrVal; @@ -3381,6 +4608,7 @@ void umkaImageDrawText(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ImageDrawTextEx() */ +RAYLIB_UMKA_FUNCTION(ImageDrawTextEx) void umkaImageDrawTextEx(UmkaStackSlot *params, UmkaStackSlot *result) { Image * dst = (Image *)params[6].ptrVal; Font* font = (Font*)¶ms[5]; @@ -3397,6 +4625,7 @@ void umkaImageDrawTextEx(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadTexture() */ +RAYLIB_UMKA_FUNCTION(LoadTexture) void umkaLoadTexture(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename const char * fileName = (const char *)params[1].ptrVal; @@ -3410,6 +4639,7 @@ void umkaLoadTexture(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadTextureFromImage() */ +RAYLIB_UMKA_FUNCTION(LoadTextureFromImage) void umkaLoadTextureFromImage(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Image* image = (Image*)¶ms[1]; @@ -3423,6 +4653,7 @@ void umkaLoadTextureFromImage(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadTextureCubemap() */ +RAYLIB_UMKA_FUNCTION(LoadTextureCubemap) void umkaLoadTextureCubemap(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Image* image = (Image*)¶ms[2]; @@ -3437,6 +4668,7 @@ void umkaLoadTextureCubemap(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadRenderTexture() */ +RAYLIB_UMKA_FUNCTION(LoadRenderTexture) void umkaLoadRenderTexture(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename int width = params[2].intVal; @@ -3446,21 +4678,45 @@ void umkaLoadRenderTexture(UmkaStackSlot *params, UmkaStackSlot *result) { RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(RenderTexture2D)); } +/** + * Umka bindings for IsTextureValid(). + * + * @see IsTextureValid() + */ +RAYLIB_UMKA_FUNCTION(IsTextureValid) +void umkaIsTextureValid(UmkaStackSlot *params, UmkaStackSlot *result) { + Texture2D* texture = (Texture2D*)¶ms[0]; + result->intVal = (int)IsTextureValid(*texture); +} + /** * Umka bindings for UnloadTexture(). * * @see UnloadTexture() */ +RAYLIB_UMKA_FUNCTION(UnloadTexture) void umkaUnloadTexture(UmkaStackSlot *params, UmkaStackSlot *result) { Texture2D* texture = (Texture2D*)¶ms[0]; UnloadTexture(*texture); } +/** + * Umka bindings for IsRenderTextureValid(). + * + * @see IsRenderTextureValid() + */ +RAYLIB_UMKA_FUNCTION(IsRenderTextureValid) +void umkaIsRenderTextureValid(UmkaStackSlot *params, UmkaStackSlot *result) { + RenderTexture2D* target = (RenderTexture2D*)¶ms[0]; + result->intVal = (int)IsRenderTextureValid(*target); +} + /** * Umka bindings for UnloadRenderTexture(). * * @see UnloadRenderTexture() */ +RAYLIB_UMKA_FUNCTION(UnloadRenderTexture) void umkaUnloadRenderTexture(UmkaStackSlot *params, UmkaStackSlot *result) { RenderTexture2D* target = (RenderTexture2D*)¶ms[0]; UnloadRenderTexture(*target); @@ -3471,6 +4727,7 @@ void umkaUnloadRenderTexture(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UpdateTexture() */ +RAYLIB_UMKA_FUNCTION(UpdateTexture) void umkaUpdateTexture(UmkaStackSlot *params, UmkaStackSlot *result) { Texture2D* texture = (Texture2D*)¶ms[1]; const void * pixels = (const void *)params[0].ptrVal; @@ -3482,6 +4739,7 @@ void umkaUpdateTexture(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UpdateTextureRec() */ +RAYLIB_UMKA_FUNCTION(UpdateTextureRec) void umkaUpdateTextureRec(UmkaStackSlot *params, UmkaStackSlot *result) { Texture2D* texture = (Texture2D*)¶ms[2]; Rectangle* rec = (Rectangle*)¶ms[1]; @@ -3494,6 +4752,7 @@ void umkaUpdateTextureRec(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GenTextureMipmaps() */ +RAYLIB_UMKA_FUNCTION(GenTextureMipmaps) void umkaGenTextureMipmaps(UmkaStackSlot *params, UmkaStackSlot *result) { Texture2D * texture = (Texture2D *)params[0].ptrVal; GenTextureMipmaps(texture); @@ -3504,6 +4763,7 @@ void umkaGenTextureMipmaps(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetTextureFilter() */ +RAYLIB_UMKA_FUNCTION(SetTextureFilter) void umkaSetTextureFilter(UmkaStackSlot *params, UmkaStackSlot *result) { Texture2D* texture = (Texture2D*)¶ms[1]; int filter = params[0].intVal; @@ -3515,6 +4775,7 @@ void umkaSetTextureFilter(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetTextureWrap() */ +RAYLIB_UMKA_FUNCTION(SetTextureWrap) void umkaSetTextureWrap(UmkaStackSlot *params, UmkaStackSlot *result) { Texture2D* texture = (Texture2D*)¶ms[1]; int wrap = params[0].intVal; @@ -3526,6 +4787,7 @@ void umkaSetTextureWrap(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawTexture() */ +RAYLIB_UMKA_FUNCTION(DrawTexture) void umkaDrawTexture(UmkaStackSlot *params, UmkaStackSlot *result) { Texture2D* texture = (Texture2D*)¶ms[3]; int posX = params[2].intVal; @@ -3539,6 +4801,7 @@ void umkaDrawTexture(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawTextureV() */ +RAYLIB_UMKA_FUNCTION(DrawTextureV) void umkaDrawTextureV(UmkaStackSlot *params, UmkaStackSlot *result) { Texture2D* texture = (Texture2D*)¶ms[2]; Vector2* position = (Vector2*)¶ms[1]; @@ -3551,6 +4814,7 @@ void umkaDrawTextureV(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawTextureEx() */ +RAYLIB_UMKA_FUNCTION(DrawTextureEx) void umkaDrawTextureEx(UmkaStackSlot *params, UmkaStackSlot *result) { Texture2D* texture = (Texture2D*)¶ms[4]; Vector2* position = (Vector2*)¶ms[3]; @@ -3565,6 +4829,7 @@ void umkaDrawTextureEx(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawTextureRec() */ +RAYLIB_UMKA_FUNCTION(DrawTextureRec) void umkaDrawTextureRec(UmkaStackSlot *params, UmkaStackSlot *result) { Texture2D* texture = (Texture2D*)¶ms[3]; Rectangle* source = (Rectangle*)¶ms[2]; @@ -3573,41 +4838,12 @@ void umkaDrawTextureRec(UmkaStackSlot *params, UmkaStackSlot *result) { DrawTextureRec(*texture, *source, *position, *tint); } -/** - * Umka bindings for DrawTextureQuad(). - * - * @see DrawTextureQuad() - */ -void umkaDrawTextureQuad(UmkaStackSlot *params, UmkaStackSlot *result) { - Texture2D* texture = (Texture2D*)¶ms[4]; - Vector2* tiling = (Vector2*)¶ms[3]; - Vector2* offset = (Vector2*)¶ms[2]; - Rectangle* quad = (Rectangle*)¶ms[1]; - Color* tint = (Color*)¶ms[0]; - DrawTextureQuad(*texture, *tiling, *offset, *quad, *tint); -} - -/** - * Umka bindings for DrawTextureTiled(). - * - * @see DrawTextureTiled() - */ -void umkaDrawTextureTiled(UmkaStackSlot *params, UmkaStackSlot *result) { - Texture2D* texture = (Texture2D*)¶ms[6]; - Rectangle* source = (Rectangle*)¶ms[5]; - Rectangle* dest = (Rectangle*)¶ms[4]; - Vector2* origin = (Vector2*)¶ms[3]; - float rotation = params[2].real32Val; - float scale = params[1].real32Val; - Color* tint = (Color*)¶ms[0]; - DrawTextureTiled(*texture, *source, *dest, *origin, rotation, scale, *tint); -} - /** * Umka bindings for DrawTexturePro(). * * @see DrawTexturePro() */ +RAYLIB_UMKA_FUNCTION(DrawTexturePro) void umkaDrawTexturePro(UmkaStackSlot *params, UmkaStackSlot *result) { Texture2D* texture = (Texture2D*)¶ms[5]; Rectangle* source = (Rectangle*)¶ms[4]; @@ -3623,6 +4859,7 @@ void umkaDrawTexturePro(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawTextureNPatch() */ +RAYLIB_UMKA_FUNCTION(DrawTextureNPatch) void umkaDrawTextureNPatch(UmkaStackSlot *params, UmkaStackSlot *result) { Texture2D* texture = (Texture2D*)¶ms[5]; NPatchInfo* nPatchInfo = (NPatchInfo*)¶ms[4]; @@ -3634,18 +4871,15 @@ void umkaDrawTextureNPatch(UmkaStackSlot *params, UmkaStackSlot *result) { } /** - * Umka bindings for DrawTexturePoly(). + * Umka bindings for ColorIsEqual(). * - * @see DrawTexturePoly() + * @see ColorIsEqual() */ -void umkaDrawTexturePoly(UmkaStackSlot *params, UmkaStackSlot *result) { - Texture2D* texture = (Texture2D*)¶ms[5]; - Vector2* center = (Vector2*)¶ms[4]; - Vector2 * points = (Vector2 *)params[3].ptrVal; - Vector2 * texcoords = (Vector2 *)params[2].ptrVal; - int pointCount = params[1].intVal; - Color* tint = (Color*)¶ms[0]; - DrawTexturePoly(*texture, *center, points, texcoords, pointCount, *tint); +RAYLIB_UMKA_FUNCTION(ColorIsEqual) +void umkaColorIsEqual(UmkaStackSlot *params, UmkaStackSlot *result) { + Color* col1 = (Color*)¶ms[1]; + Color* col2 = (Color*)¶ms[0]; + result->intVal = (int)ColorIsEqual(*col1, *col2); } /** @@ -3653,6 +4887,7 @@ void umkaDrawTexturePoly(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Fade() */ +RAYLIB_UMKA_FUNCTION(Fade) void umkaFade(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Color* color = (Color*)¶ms[2]; @@ -3667,6 +4902,7 @@ void umkaFade(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ColorToInt() */ +RAYLIB_UMKA_FUNCTION(ColorToInt) void umkaColorToInt(UmkaStackSlot *params, UmkaStackSlot *result) { Color* color = (Color*)¶ms[0]; result->intVal = ColorToInt(*color); @@ -3677,6 +4913,7 @@ void umkaColorToInt(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ColorNormalize() */ +RAYLIB_UMKA_FUNCTION(ColorNormalize) void umkaColorNormalize(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Color* color = (Color*)¶ms[1]; @@ -3690,6 +4927,7 @@ void umkaColorNormalize(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ColorFromNormalized() */ +RAYLIB_UMKA_FUNCTION(ColorFromNormalized) void umkaColorFromNormalized(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector4* normalized = (Vector4*)¶ms[1]; @@ -3703,6 +4941,7 @@ void umkaColorFromNormalized(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ColorToHSV() */ +RAYLIB_UMKA_FUNCTION(ColorToHSV) void umkaColorToHSV(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Color* color = (Color*)¶ms[1]; @@ -3716,6 +4955,7 @@ void umkaColorToHSV(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ColorFromHSV() */ +RAYLIB_UMKA_FUNCTION(ColorFromHSV) void umkaColorFromHSV(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename float hue = params[3].real32Val; @@ -3726,11 +4966,57 @@ void umkaColorFromHSV(UmkaStackSlot *params, UmkaStackSlot *result) { RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Color)); } +/** + * Umka bindings for ColorTint(). + * + * @see ColorTint() + */ +RAYLIB_UMKA_FUNCTION(ColorTint) +void umkaColorTint(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Color* color = (Color*)¶ms[2]; + Color* tint = (Color*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Color), NULL); + Color out = ColorTint(*color, *tint); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Color)); +} + +/** + * Umka bindings for ColorBrightness(). + * + * @see ColorBrightness() + */ +RAYLIB_UMKA_FUNCTION(ColorBrightness) +void umkaColorBrightness(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Color* color = (Color*)¶ms[2]; + float factor = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Color), NULL); + Color out = ColorBrightness(*color, factor); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Color)); +} + +/** + * Umka bindings for ColorContrast(). + * + * @see ColorContrast() + */ +RAYLIB_UMKA_FUNCTION(ColorContrast) +void umkaColorContrast(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Color* color = (Color*)¶ms[2]; + float contrast = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Color), NULL); + Color out = ColorContrast(*color, contrast); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Color)); +} + /** * Umka bindings for ColorAlpha(). * * @see ColorAlpha() */ +RAYLIB_UMKA_FUNCTION(ColorAlpha) void umkaColorAlpha(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Color* color = (Color*)¶ms[2]; @@ -3745,6 +5031,7 @@ void umkaColorAlpha(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ColorAlphaBlend() */ +RAYLIB_UMKA_FUNCTION(ColorAlphaBlend) void umkaColorAlphaBlend(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Color* dst = (Color*)¶ms[3]; @@ -3755,11 +5042,28 @@ void umkaColorAlphaBlend(UmkaStackSlot *params, UmkaStackSlot *result) { RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Color)); } +/** + * Umka bindings for ColorLerp(). + * + * @see ColorLerp() + */ +RAYLIB_UMKA_FUNCTION(ColorLerp) +void umkaColorLerp(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Color* color1 = (Color*)¶ms[3]; + Color* color2 = (Color*)¶ms[2]; + float factor = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Color), NULL); + Color out = ColorLerp(*color1, *color2, factor); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Color)); +} + /** * Umka bindings for GetColor(). * * @see GetColor() */ +RAYLIB_UMKA_FUNCTION(GetColor) void umkaGetColor(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename unsigned int hexValue = params[1].uintVal; @@ -3773,6 +5077,7 @@ void umkaGetColor(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetPixelColor() */ +RAYLIB_UMKA_FUNCTION(GetPixelColor) void umkaGetPixelColor(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename void * srcPtr = (void *)params[2].ptrVal; @@ -3787,6 +5092,7 @@ void umkaGetPixelColor(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetPixelColor() */ +RAYLIB_UMKA_FUNCTION(SetPixelColor) void umkaSetPixelColor(UmkaStackSlot *params, UmkaStackSlot *result) { void * dstPtr = (void *)params[2].ptrVal; Color* color = (Color*)¶ms[1]; @@ -3799,6 +5105,7 @@ void umkaSetPixelColor(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetPixelDataSize() */ +RAYLIB_UMKA_FUNCTION(GetPixelDataSize) void umkaGetPixelDataSize(UmkaStackSlot *params, UmkaStackSlot *result) { int width = params[2].intVal; int height = params[1].intVal; @@ -3811,6 +5118,7 @@ void umkaGetPixelDataSize(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetFontDefault() */ +RAYLIB_UMKA_FUNCTION(GetFontDefault) void umkaGetFontDefault(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Font), NULL); Font out = GetFontDefault(); @@ -3822,6 +5130,7 @@ void umkaGetFontDefault(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadFont() */ +RAYLIB_UMKA_FUNCTION(LoadFont) void umkaLoadFont(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename const char * fileName = (const char *)params[1].ptrVal; @@ -3835,14 +5144,15 @@ void umkaLoadFont(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadFontEx() */ +RAYLIB_UMKA_FUNCTION(LoadFontEx) void umkaLoadFontEx(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename const char * fileName = (const char *)params[4].ptrVal; int fontSize = params[3].intVal; - int * fontChars = (int *)params[2].ptrVal; - int glyphCount = params[1].intVal; + const int * codepoints = (const int *)params[2].ptrVal; + int codepointCount = params[1].intVal; result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Font), NULL); - Font out = LoadFontEx(fileName, fontSize, fontChars, glyphCount); + Font out = LoadFontEx(fileName, fontSize, codepoints, codepointCount); RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Font)); } @@ -3851,6 +5161,7 @@ void umkaLoadFontEx(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadFontFromImage() */ +RAYLIB_UMKA_FUNCTION(LoadFontFromImage) void umkaLoadFontFromImage(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Image* image = (Image*)¶ms[3]; @@ -3866,19 +5177,31 @@ void umkaLoadFontFromImage(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadFontFromMemory() */ +RAYLIB_UMKA_FUNCTION(LoadFontFromMemory) void umkaLoadFontFromMemory(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename const char * fileType = (const char *)params[6].ptrVal; const unsigned char * fileData = (const unsigned char *)params[5].ptrVal; int dataSize = params[4].intVal; int fontSize = params[3].intVal; - int * fontChars = (int *)params[2].ptrVal; - int glyphCount = params[1].intVal; + const int * codepoints = (const int *)params[2].ptrVal; + int codepointCount = params[1].intVal; result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Font), NULL); - Font out = LoadFontFromMemory(fileType, fileData, dataSize, fontSize, fontChars, glyphCount); + Font out = LoadFontFromMemory(fileType, fileData, dataSize, fontSize, codepoints, codepointCount); RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Font)); } +/** + * Umka bindings for IsFontValid(). + * + * @see IsFontValid() + */ +RAYLIB_UMKA_FUNCTION(IsFontValid) +void umkaIsFontValid(UmkaStackSlot *params, UmkaStackSlot *result) { + Font* font = (Font*)¶ms[0]; + result->intVal = (int)IsFontValid(*font); +} + // Function LoadFontData() skipped /** @@ -3886,16 +5209,17 @@ void umkaLoadFontFromMemory(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GenImageFontAtlas() */ +RAYLIB_UMKA_FUNCTION(GenImageFontAtlas) void umkaGenImageFontAtlas(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename - const GlyphInfo * chars = (const GlyphInfo *)params[6].ptrVal; - Rectangle ** recs = (Rectangle **)params[5].ptrVal; + const GlyphInfo * glyphs = (const GlyphInfo *)params[6].ptrVal; + Rectangle ** glyphRecs = (Rectangle **)params[5].ptrVal; int glyphCount = params[4].intVal; int fontSize = params[3].intVal; int padding = params[2].intVal; int packMethod = params[1].intVal; result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Image), NULL); - Image out = GenImageFontAtlas(chars, recs, glyphCount, fontSize, padding, packMethod); + Image out = GenImageFontAtlas(glyphs, glyphRecs, glyphCount, fontSize, padding, packMethod); RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Image)); } @@ -3904,10 +5228,11 @@ void umkaGenImageFontAtlas(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UnloadFontData() */ +RAYLIB_UMKA_FUNCTION(UnloadFontData) void umkaUnloadFontData(UmkaStackSlot *params, UmkaStackSlot *result) { - GlyphInfo * chars = (GlyphInfo *)params[1].ptrVal; + GlyphInfo * glyphs = (GlyphInfo *)params[1].ptrVal; int glyphCount = params[0].intVal; - UnloadFontData(chars, glyphCount); + UnloadFontData(glyphs, glyphCount); } /** @@ -3915,6 +5240,7 @@ void umkaUnloadFontData(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UnloadFont() */ +RAYLIB_UMKA_FUNCTION(UnloadFont) void umkaUnloadFont(UmkaStackSlot *params, UmkaStackSlot *result) { Font* font = (Font*)¶ms[0]; UnloadFont(*font); @@ -3925,6 +5251,7 @@ void umkaUnloadFont(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ExportFontAsCode() */ +RAYLIB_UMKA_FUNCTION(ExportFontAsCode) void umkaExportFontAsCode(UmkaStackSlot *params, UmkaStackSlot *result) { Font* font = (Font*)¶ms[1]; const char * fileName = (const char *)params[0].ptrVal; @@ -3936,6 +5263,7 @@ void umkaExportFontAsCode(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawFPS() */ +RAYLIB_UMKA_FUNCTION(DrawFPS) void umkaDrawFPS(UmkaStackSlot *params, UmkaStackSlot *result) { int posX = params[1].intVal; int posY = params[0].intVal; @@ -3947,6 +5275,7 @@ void umkaDrawFPS(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawText() */ +RAYLIB_UMKA_FUNCTION(DrawText) void umkaDrawText(UmkaStackSlot *params, UmkaStackSlot *result) { const char * text = (const char *)params[4].ptrVal; int posX = params[3].intVal; @@ -3961,6 +5290,7 @@ void umkaDrawText(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawTextEx() */ +RAYLIB_UMKA_FUNCTION(DrawTextEx) void umkaDrawTextEx(UmkaStackSlot *params, UmkaStackSlot *result) { Font* font = (Font*)¶ms[5]; const char * text = (const char *)params[4].ptrVal; @@ -3976,6 +5306,7 @@ void umkaDrawTextEx(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawTextPro() */ +RAYLIB_UMKA_FUNCTION(DrawTextPro) void umkaDrawTextPro(UmkaStackSlot *params, UmkaStackSlot *result) { Font* font = (Font*)¶ms[7]; const char * text = (const char *)params[6].ptrVal; @@ -3993,6 +5324,7 @@ void umkaDrawTextPro(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawTextCodepoint() */ +RAYLIB_UMKA_FUNCTION(DrawTextCodepoint) void umkaDrawTextCodepoint(UmkaStackSlot *params, UmkaStackSlot *result) { Font* font = (Font*)¶ms[4]; int codepoint = params[3].intVal; @@ -4007,15 +5339,27 @@ void umkaDrawTextCodepoint(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawTextCodepoints() */ +RAYLIB_UMKA_FUNCTION(DrawTextCodepoints) void umkaDrawTextCodepoints(UmkaStackSlot *params, UmkaStackSlot *result) { Font* font = (Font*)¶ms[6]; const int * codepoints = (const int *)params[5].ptrVal; - int count = params[4].intVal; + int codepointCount = params[4].intVal; Vector2* position = (Vector2*)¶ms[3]; float fontSize = params[2].real32Val; float spacing = params[1].real32Val; Color* tint = (Color*)¶ms[0]; - DrawTextCodepoints(*font, codepoints, count, *position, fontSize, spacing, *tint); + DrawTextCodepoints(*font, codepoints, codepointCount, *position, fontSize, spacing, *tint); +} + +/** + * Umka bindings for SetTextLineSpacing(). + * + * @see SetTextLineSpacing() + */ +RAYLIB_UMKA_FUNCTION(SetTextLineSpacing) +void umkaSetTextLineSpacing(UmkaStackSlot *params, UmkaStackSlot *result) { + int spacing = params[0].intVal; + SetTextLineSpacing(spacing); } /** @@ -4023,6 +5367,7 @@ void umkaDrawTextCodepoints(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MeasureText() */ +RAYLIB_UMKA_FUNCTION(MeasureText) void umkaMeasureText(UmkaStackSlot *params, UmkaStackSlot *result) { const char * text = (const char *)params[1].ptrVal; int fontSize = params[0].intVal; @@ -4034,6 +5379,7 @@ void umkaMeasureText(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MeasureTextEx() */ +RAYLIB_UMKA_FUNCTION(MeasureTextEx) void umkaMeasureTextEx(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Font* font = (Font*)¶ms[4]; @@ -4045,11 +5391,30 @@ void umkaMeasureTextEx(UmkaStackSlot *params, UmkaStackSlot *result) { RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector2)); } +/** + * Umka bindings for MeasureTextCodepoints(). + * + * @see MeasureTextCodepoints() + */ +RAYLIB_UMKA_FUNCTION(MeasureTextCodepoints) +void umkaMeasureTextCodepoints(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Font* font = (Font*)¶ms[5]; + const int * codepoints = (const int *)params[4].ptrVal; + int length = params[3].intVal; + float fontSize = params[2].real32Val; + float spacing = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); + Vector2 out = MeasureTextCodepoints(*font, codepoints, length, fontSize, spacing); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector2)); +} + /** * Umka bindings for GetGlyphIndex(). * * @see GetGlyphIndex() */ +RAYLIB_UMKA_FUNCTION(GetGlyphIndex) void umkaGetGlyphIndex(UmkaStackSlot *params, UmkaStackSlot *result) { Font* font = (Font*)¶ms[1]; int codepoint = params[0].intVal; @@ -4061,6 +5426,7 @@ void umkaGetGlyphIndex(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetGlyphInfo() */ +RAYLIB_UMKA_FUNCTION(GetGlyphInfo) void umkaGetGlyphInfo(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Font* font = (Font*)¶ms[2]; @@ -4075,6 +5441,7 @@ void umkaGetGlyphInfo(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetGlyphAtlasRec() */ +RAYLIB_UMKA_FUNCTION(GetGlyphAtlasRec) void umkaGetGlyphAtlasRec(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Font* font = (Font*)¶ms[2]; @@ -4084,11 +5451,35 @@ void umkaGetGlyphAtlasRec(UmkaStackSlot *params, UmkaStackSlot *result) { RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Rectangle)); } +/** + * Umka bindings for LoadUTF8(). + * + * @see LoadUTF8() + */ +RAYLIB_UMKA_FUNCTION(LoadUTF8) +void umkaLoadUTF8(UmkaStackSlot *params, UmkaStackSlot *result) { + const int * codepoints = (const int *)params[1].ptrVal; + int length = params[0].intVal; + result->ptrVal = (void*)LoadUTF8(codepoints, length); +} + +/** + * Umka bindings for UnloadUTF8(). + * + * @see UnloadUTF8() + */ +RAYLIB_UMKA_FUNCTION(UnloadUTF8) +void umkaUnloadUTF8(UmkaStackSlot *params, UmkaStackSlot *result) { + char * text = (char *)params[0].ptrVal; + UnloadUTF8(text); +} + /** * Umka bindings for LoadCodepoints(). * * @see LoadCodepoints() */ +RAYLIB_UMKA_FUNCTION(LoadCodepoints) void umkaLoadCodepoints(UmkaStackSlot *params, UmkaStackSlot *result) { const char * text = (const char *)params[1].ptrVal; int * count = (int *)params[0].ptrVal; @@ -4100,6 +5491,7 @@ void umkaLoadCodepoints(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UnloadCodepoints() */ +RAYLIB_UMKA_FUNCTION(UnloadCodepoints) void umkaUnloadCodepoints(UmkaStackSlot *params, UmkaStackSlot *result) { int * codepoints = (int *)params[0].ptrVal; UnloadCodepoints(codepoints); @@ -4110,6 +5502,7 @@ void umkaUnloadCodepoints(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetCodepointCount() */ +RAYLIB_UMKA_FUNCTION(GetCodepointCount) void umkaGetCodepointCount(UmkaStackSlot *params, UmkaStackSlot *result) { const char * text = (const char *)params[0].ptrVal; result->intVal = GetCodepointCount(text); @@ -4120,10 +5513,35 @@ void umkaGetCodepointCount(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetCodepoint() */ +RAYLIB_UMKA_FUNCTION(GetCodepoint) void umkaGetCodepoint(UmkaStackSlot *params, UmkaStackSlot *result) { const char * text = (const char *)params[1].ptrVal; - int * bytesProcessed = (int *)params[0].ptrVal; - result->intVal = GetCodepoint(text, bytesProcessed); + int * codepointSize = (int *)params[0].ptrVal; + result->intVal = GetCodepoint(text, codepointSize); +} + +/** + * Umka bindings for GetCodepointNext(). + * + * @see GetCodepointNext() + */ +RAYLIB_UMKA_FUNCTION(GetCodepointNext) +void umkaGetCodepointNext(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * text = (const char *)params[1].ptrVal; + int * codepointSize = (int *)params[0].ptrVal; + result->intVal = GetCodepointNext(text, codepointSize); +} + +/** + * Umka bindings for GetCodepointPrevious(). + * + * @see GetCodepointPrevious() + */ +RAYLIB_UMKA_FUNCTION(GetCodepointPrevious) +void umkaGetCodepointPrevious(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * text = (const char *)params[1].ptrVal; + int * codepointSize = (int *)params[0].ptrVal; + result->intVal = GetCodepointPrevious(text, codepointSize); } /** @@ -4131,21 +5549,35 @@ void umkaGetCodepoint(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see CodepointToUTF8() */ +RAYLIB_UMKA_FUNCTION(CodepointToUTF8) void umkaCodepointToUTF8(UmkaStackSlot *params, UmkaStackSlot *result) { int codepoint = params[1].intVal; - int * byteSize = (int *)params[0].ptrVal; - result->ptrVal = (void*)CodepointToUTF8(codepoint, byteSize); + int * utf8Size = (int *)params[0].ptrVal; + result->ptrVal = (void*)CodepointToUTF8(codepoint, utf8Size); } /** - * Umka bindings for TextCodepointsToUTF8(). + * Umka bindings for LoadTextLines(). * - * @see TextCodepointsToUTF8() + * @see LoadTextLines() */ -void umkaTextCodepointsToUTF8(UmkaStackSlot *params, UmkaStackSlot *result) { - const int * codepoints = (const int *)params[1].ptrVal; - int length = params[0].intVal; - result->ptrVal = (void*)TextCodepointsToUTF8(codepoints, length); +RAYLIB_UMKA_FUNCTION(LoadTextLines) +void umkaLoadTextLines(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * text = (const char *)params[1].ptrVal; + int * count = (int *)params[0].ptrVal; + result->ptrVal = (void*)LoadTextLines(text, count); +} + +/** + * Umka bindings for UnloadTextLines(). + * + * @see UnloadTextLines() + */ +RAYLIB_UMKA_FUNCTION(UnloadTextLines) +void umkaUnloadTextLines(UmkaStackSlot *params, UmkaStackSlot *result) { + char ** text = (char **)params[1].ptrVal; + int lineCount = params[0].intVal; + UnloadTextLines(text, lineCount); } /** @@ -4153,6 +5585,7 @@ void umkaTextCodepointsToUTF8(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see TextCopy() */ +RAYLIB_UMKA_FUNCTION(TextCopy) void umkaTextCopy(UmkaStackSlot *params, UmkaStackSlot *result) { char * dst = (char *)params[1].ptrVal; const char * src = (const char *)params[0].ptrVal; @@ -4164,6 +5597,7 @@ void umkaTextCopy(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see TextIsEqual() */ +RAYLIB_UMKA_FUNCTION(TextIsEqual) void umkaTextIsEqual(UmkaStackSlot *params, UmkaStackSlot *result) { const char * text1 = (const char *)params[1].ptrVal; const char * text2 = (const char *)params[0].ptrVal; @@ -4175,6 +5609,7 @@ void umkaTextIsEqual(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see TextLength() */ +RAYLIB_UMKA_FUNCTION(TextLength) void umkaTextLength(UmkaStackSlot *params, UmkaStackSlot *result) { const char * text = (const char *)params[0].ptrVal; result->uintVal = TextLength(text); @@ -4187,6 +5622,7 @@ void umkaTextLength(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see TextSubtext() */ +RAYLIB_UMKA_FUNCTION(TextSubtext) void umkaTextSubtext(UmkaStackSlot *params, UmkaStackSlot *result) { const char * text = (const char *)params[2].ptrVal; int position = params[1].intVal; @@ -4194,16 +5630,55 @@ void umkaTextSubtext(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = (void*)TextSubtext(text, position, length); } +/** + * Umka bindings for TextRemoveSpaces(). + * + * @see TextRemoveSpaces() + */ +RAYLIB_UMKA_FUNCTION(TextRemoveSpaces) +void umkaTextRemoveSpaces(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * text = (const char *)params[0].ptrVal; + result->ptrVal = (void*)TextRemoveSpaces(text); +} + +/** + * Umka bindings for GetTextBetween(). + * + * @see GetTextBetween() + */ +RAYLIB_UMKA_FUNCTION(GetTextBetween) +void umkaGetTextBetween(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * text = (const char *)params[2].ptrVal; + const char * begin = (const char *)params[1].ptrVal; + const char * end = (const char *)params[0].ptrVal; + result->ptrVal = (void*)GetTextBetween(text, begin, end); +} + /** * Umka bindings for TextReplace(). * * @see TextReplace() */ +RAYLIB_UMKA_FUNCTION(TextReplace) void umkaTextReplace(UmkaStackSlot *params, UmkaStackSlot *result) { - char * text = (char *)params[2].ptrVal; - const char * replace = (const char *)params[1].ptrVal; - const char * by = (const char *)params[0].ptrVal; - result->ptrVal = (void*)TextReplace(text, replace, by); + const char * text = (const char *)params[2].ptrVal; + const char * search = (const char *)params[1].ptrVal; + const char * replacement = (const char *)params[0].ptrVal; + result->ptrVal = (void*)TextReplace(text, search, replacement); +} + +/** + * Umka bindings for TextReplaceBetween(). + * + * @see TextReplaceBetween() + */ +RAYLIB_UMKA_FUNCTION(TextReplaceBetween) +void umkaTextReplaceBetween(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * text = (const char *)params[3].ptrVal; + const char * begin = (const char *)params[2].ptrVal; + const char * end = (const char *)params[1].ptrVal; + const char * replacement = (const char *)params[0].ptrVal; + result->ptrVal = (void*)TextReplaceBetween(text, begin, end, replacement); } /** @@ -4211,6 +5686,7 @@ void umkaTextReplace(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see TextInsert() */ +RAYLIB_UMKA_FUNCTION(TextInsert) void umkaTextInsert(UmkaStackSlot *params, UmkaStackSlot *result) { const char * text = (const char *)params[2].ptrVal; const char * insert = (const char *)params[1].ptrVal; @@ -4223,8 +5699,9 @@ void umkaTextInsert(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see TextJoin() */ +RAYLIB_UMKA_FUNCTION(TextJoin) void umkaTextJoin(UmkaStackSlot *params, UmkaStackSlot *result) { - const char ** textList = (const char **)params[2].ptrVal; + char ** textList = (char **)params[2].ptrVal; int count = params[1].intVal; const char * delimiter = (const char *)params[0].ptrVal; result->ptrVal = (void*)TextJoin(textList, count, delimiter); @@ -4235,6 +5712,7 @@ void umkaTextJoin(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see TextSplit() */ +RAYLIB_UMKA_FUNCTION(TextSplit) void umkaTextSplit(UmkaStackSlot *params, UmkaStackSlot *result) { const char * text = (const char *)params[2].ptrVal; char delimiter = params[1].uintVal; @@ -4247,6 +5725,7 @@ void umkaTextSplit(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see TextAppend() */ +RAYLIB_UMKA_FUNCTION(TextAppend) void umkaTextAppend(UmkaStackSlot *params, UmkaStackSlot *result) { char * text = (char *)params[2].ptrVal; const char * append = (const char *)params[1].ptrVal; @@ -4259,10 +5738,11 @@ void umkaTextAppend(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see TextFindIndex() */ +RAYLIB_UMKA_FUNCTION(TextFindIndex) void umkaTextFindIndex(UmkaStackSlot *params, UmkaStackSlot *result) { const char * text = (const char *)params[1].ptrVal; - const char * find = (const char *)params[0].ptrVal; - result->intVal = TextFindIndex(text, find); + const char * search = (const char *)params[0].ptrVal; + result->intVal = TextFindIndex(text, search); } /** @@ -4270,6 +5750,7 @@ void umkaTextFindIndex(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see TextToUpper() */ +RAYLIB_UMKA_FUNCTION(TextToUpper) void umkaTextToUpper(UmkaStackSlot *params, UmkaStackSlot *result) { const char * text = (const char *)params[0].ptrVal; result->ptrVal = (void*)TextToUpper(text); @@ -4280,6 +5761,7 @@ void umkaTextToUpper(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see TextToLower() */ +RAYLIB_UMKA_FUNCTION(TextToLower) void umkaTextToLower(UmkaStackSlot *params, UmkaStackSlot *result) { const char * text = (const char *)params[0].ptrVal; result->ptrVal = (void*)TextToLower(text); @@ -4290,26 +5772,62 @@ void umkaTextToLower(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see TextToPascal() */ +RAYLIB_UMKA_FUNCTION(TextToPascal) void umkaTextToPascal(UmkaStackSlot *params, UmkaStackSlot *result) { const char * text = (const char *)params[0].ptrVal; result->ptrVal = (void*)TextToPascal(text); } /** - * Umka bindings for TextToInteger(). + * Umka bindings for TextToSnake(). * - * @see TextToInteger() + * @see TextToSnake() */ +RAYLIB_UMKA_FUNCTION(TextToSnake) +void umkaTextToSnake(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * text = (const char *)params[0].ptrVal; + result->ptrVal = (void*)TextToSnake(text); +} + +/** + * Umka bindings for TextToCamel(). + * + * @see TextToCamel() + */ +RAYLIB_UMKA_FUNCTION(TextToCamel) +void umkaTextToCamel(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * text = (const char *)params[0].ptrVal; + result->ptrVal = (void*)TextToCamel(text); +} + +/** + * Umka bindings for TextToInteger(). + * + * @see TextToInteger() + */ +RAYLIB_UMKA_FUNCTION(TextToInteger) void umkaTextToInteger(UmkaStackSlot *params, UmkaStackSlot *result) { const char * text = (const char *)params[0].ptrVal; result->intVal = TextToInteger(text); } +/** + * Umka bindings for TextToFloat(). + * + * @see TextToFloat() + */ +RAYLIB_UMKA_FUNCTION(TextToFloat) +void umkaTextToFloat(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * text = (const char *)params[0].ptrVal; + result->realVal = TextToFloat(text); +} + /** * Umka bindings for DrawLine3D(). * * @see DrawLine3D() */ +RAYLIB_UMKA_FUNCTION(DrawLine3D) void umkaDrawLine3D(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* startPos = (Vector3*)¶ms[2]; Vector3* endPos = (Vector3*)¶ms[1]; @@ -4322,6 +5840,7 @@ void umkaDrawLine3D(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawPoint3D() */ +RAYLIB_UMKA_FUNCTION(DrawPoint3D) void umkaDrawPoint3D(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* position = (Vector3*)¶ms[1]; Color* color = (Color*)¶ms[0]; @@ -4333,6 +5852,7 @@ void umkaDrawPoint3D(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawCircle3D() */ +RAYLIB_UMKA_FUNCTION(DrawCircle3D) void umkaDrawCircle3D(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* center = (Vector3*)¶ms[4]; float radius = params[3].real32Val; @@ -4347,6 +5867,7 @@ void umkaDrawCircle3D(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawTriangle3D() */ +RAYLIB_UMKA_FUNCTION(DrawTriangle3D) void umkaDrawTriangle3D(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* v1 = (Vector3*)¶ms[3]; Vector3* v2 = (Vector3*)¶ms[2]; @@ -4360,8 +5881,9 @@ void umkaDrawTriangle3D(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawTriangleStrip3D() */ +RAYLIB_UMKA_FUNCTION(DrawTriangleStrip3D) void umkaDrawTriangleStrip3D(UmkaStackSlot *params, UmkaStackSlot *result) { - Vector3 * points = (Vector3 *)params[2].ptrVal; + const Vector3 * points = (const Vector3 *)params[2].ptrVal; int pointCount = params[1].intVal; Color* color = (Color*)¶ms[0]; DrawTriangleStrip3D(points, pointCount, *color); @@ -4372,6 +5894,7 @@ void umkaDrawTriangleStrip3D(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawCube() */ +RAYLIB_UMKA_FUNCTION(DrawCube) void umkaDrawCube(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* position = (Vector3*)¶ms[4]; float width = params[3].real32Val; @@ -4386,6 +5909,7 @@ void umkaDrawCube(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawCubeV() */ +RAYLIB_UMKA_FUNCTION(DrawCubeV) void umkaDrawCubeV(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* position = (Vector3*)¶ms[2]; Vector3* size = (Vector3*)¶ms[1]; @@ -4398,6 +5922,7 @@ void umkaDrawCubeV(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawCubeWires() */ +RAYLIB_UMKA_FUNCTION(DrawCubeWires) void umkaDrawCubeWires(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* position = (Vector3*)¶ms[4]; float width = params[3].real32Val; @@ -4412,6 +5937,7 @@ void umkaDrawCubeWires(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawCubeWiresV() */ +RAYLIB_UMKA_FUNCTION(DrawCubeWiresV) void umkaDrawCubeWiresV(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* position = (Vector3*)¶ms[2]; Vector3* size = (Vector3*)¶ms[1]; @@ -4419,42 +5945,12 @@ void umkaDrawCubeWiresV(UmkaStackSlot *params, UmkaStackSlot *result) { DrawCubeWiresV(*position, *size, *color); } -/** - * Umka bindings for DrawCubeTexture(). - * - * @see DrawCubeTexture() - */ -void umkaDrawCubeTexture(UmkaStackSlot *params, UmkaStackSlot *result) { - Texture2D* texture = (Texture2D*)¶ms[5]; - Vector3* position = (Vector3*)¶ms[4]; - float width = params[3].real32Val; - float height = params[2].real32Val; - float length = params[1].real32Val; - Color* color = (Color*)¶ms[0]; - DrawCubeTexture(*texture, *position, width, height, length, *color); -} - -/** - * Umka bindings for DrawCubeTextureRec(). - * - * @see DrawCubeTextureRec() - */ -void umkaDrawCubeTextureRec(UmkaStackSlot *params, UmkaStackSlot *result) { - Texture2D* texture = (Texture2D*)¶ms[6]; - Rectangle* source = (Rectangle*)¶ms[5]; - Vector3* position = (Vector3*)¶ms[4]; - float width = params[3].real32Val; - float height = params[2].real32Val; - float length = params[1].real32Val; - Color* color = (Color*)¶ms[0]; - DrawCubeTextureRec(*texture, *source, *position, width, height, length, *color); -} - /** * Umka bindings for DrawSphere(). * * @see DrawSphere() */ +RAYLIB_UMKA_FUNCTION(DrawSphere) void umkaDrawSphere(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* centerPos = (Vector3*)¶ms[2]; float radius = params[1].real32Val; @@ -4467,6 +5963,7 @@ void umkaDrawSphere(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawSphereEx() */ +RAYLIB_UMKA_FUNCTION(DrawSphereEx) void umkaDrawSphereEx(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* centerPos = (Vector3*)¶ms[4]; float radius = params[3].real32Val; @@ -4481,6 +5978,7 @@ void umkaDrawSphereEx(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawSphereWires() */ +RAYLIB_UMKA_FUNCTION(DrawSphereWires) void umkaDrawSphereWires(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* centerPos = (Vector3*)¶ms[4]; float radius = params[3].real32Val; @@ -4495,6 +5993,7 @@ void umkaDrawSphereWires(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawCylinder() */ +RAYLIB_UMKA_FUNCTION(DrawCylinder) void umkaDrawCylinder(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* position = (Vector3*)¶ms[5]; float radiusTop = params[4].real32Val; @@ -4510,6 +6009,7 @@ void umkaDrawCylinder(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawCylinderEx() */ +RAYLIB_UMKA_FUNCTION(DrawCylinderEx) void umkaDrawCylinderEx(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* startPos = (Vector3*)¶ms[5]; Vector3* endPos = (Vector3*)¶ms[4]; @@ -4525,6 +6025,7 @@ void umkaDrawCylinderEx(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawCylinderWires() */ +RAYLIB_UMKA_FUNCTION(DrawCylinderWires) void umkaDrawCylinderWires(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* position = (Vector3*)¶ms[5]; float radiusTop = params[4].real32Val; @@ -4540,6 +6041,7 @@ void umkaDrawCylinderWires(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawCylinderWiresEx() */ +RAYLIB_UMKA_FUNCTION(DrawCylinderWiresEx) void umkaDrawCylinderWiresEx(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* startPos = (Vector3*)¶ms[5]; Vector3* endPos = (Vector3*)¶ms[4]; @@ -4550,11 +6052,44 @@ void umkaDrawCylinderWiresEx(UmkaStackSlot *params, UmkaStackSlot *result) { DrawCylinderWiresEx(*startPos, *endPos, startRadius, endRadius, sides, *color); } +/** + * Umka bindings for DrawCapsule(). + * + * @see DrawCapsule() + */ +RAYLIB_UMKA_FUNCTION(DrawCapsule) +void umkaDrawCapsule(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector3* startPos = (Vector3*)¶ms[5]; + Vector3* endPos = (Vector3*)¶ms[4]; + float radius = params[3].real32Val; + int slices = params[2].intVal; + int rings = params[1].intVal; + Color* color = (Color*)¶ms[0]; + DrawCapsule(*startPos, *endPos, radius, slices, rings, *color); +} + +/** + * Umka bindings for DrawCapsuleWires(). + * + * @see DrawCapsuleWires() + */ +RAYLIB_UMKA_FUNCTION(DrawCapsuleWires) +void umkaDrawCapsuleWires(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector3* startPos = (Vector3*)¶ms[5]; + Vector3* endPos = (Vector3*)¶ms[4]; + float radius = params[3].real32Val; + int slices = params[2].intVal; + int rings = params[1].intVal; + Color* color = (Color*)¶ms[0]; + DrawCapsuleWires(*startPos, *endPos, radius, slices, rings, *color); +} + /** * Umka bindings for DrawPlane(). * * @see DrawPlane() */ +RAYLIB_UMKA_FUNCTION(DrawPlane) void umkaDrawPlane(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* centerPos = (Vector3*)¶ms[2]; Vector2* size = (Vector2*)¶ms[1]; @@ -4567,6 +6102,7 @@ void umkaDrawPlane(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawRay() */ +RAYLIB_UMKA_FUNCTION(DrawRay) void umkaDrawRay(UmkaStackSlot *params, UmkaStackSlot *result) { Ray* ray = (Ray*)¶ms[1]; Color* color = (Color*)¶ms[0]; @@ -4578,6 +6114,7 @@ void umkaDrawRay(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawGrid() */ +RAYLIB_UMKA_FUNCTION(DrawGrid) void umkaDrawGrid(UmkaStackSlot *params, UmkaStackSlot *result) { int slices = params[1].intVal; float spacing = params[0].real32Val; @@ -4589,6 +6126,7 @@ void umkaDrawGrid(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadModel() */ +RAYLIB_UMKA_FUNCTION(LoadModel) void umkaLoadModel(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename const char * fileName = (const char *)params[1].ptrVal; @@ -4602,6 +6140,7 @@ void umkaLoadModel(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadModelFromMesh() */ +RAYLIB_UMKA_FUNCTION(LoadModelFromMesh) void umkaLoadModelFromMesh(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Mesh* mesh = (Mesh*)¶ms[1]; @@ -4611,23 +6150,25 @@ void umkaLoadModelFromMesh(UmkaStackSlot *params, UmkaStackSlot *result) { } /** - * Umka bindings for UnloadModel(). + * Umka bindings for IsModelValid(). * - * @see UnloadModel() + * @see IsModelValid() */ -void umkaUnloadModel(UmkaStackSlot *params, UmkaStackSlot *result) { +RAYLIB_UMKA_FUNCTION(IsModelValid) +void umkaIsModelValid(UmkaStackSlot *params, UmkaStackSlot *result) { Model* model = (Model*)¶ms[0]; - UnloadModel(*model); + result->intVal = (int)IsModelValid(*model); } /** - * Umka bindings for UnloadModelKeepMeshes(). + * Umka bindings for UnloadModel(). * - * @see UnloadModelKeepMeshes() + * @see UnloadModel() */ -void umkaUnloadModelKeepMeshes(UmkaStackSlot *params, UmkaStackSlot *result) { +RAYLIB_UMKA_FUNCTION(UnloadModel) +void umkaUnloadModel(UmkaStackSlot *params, UmkaStackSlot *result) { Model* model = (Model*)¶ms[0]; - UnloadModelKeepMeshes(*model); + UnloadModel(*model); } /** @@ -4635,6 +6176,7 @@ void umkaUnloadModelKeepMeshes(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetModelBoundingBox() */ +RAYLIB_UMKA_FUNCTION(GetModelBoundingBox) void umkaGetModelBoundingBox(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Model* model = (Model*)¶ms[1]; @@ -4648,6 +6190,7 @@ void umkaGetModelBoundingBox(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawModel() */ +RAYLIB_UMKA_FUNCTION(DrawModel) void umkaDrawModel(UmkaStackSlot *params, UmkaStackSlot *result) { Model* model = (Model*)¶ms[3]; Vector3* position = (Vector3*)¶ms[2]; @@ -4661,6 +6204,7 @@ void umkaDrawModel(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawModelEx() */ +RAYLIB_UMKA_FUNCTION(DrawModelEx) void umkaDrawModelEx(UmkaStackSlot *params, UmkaStackSlot *result) { Model* model = (Model*)¶ms[5]; Vector3* position = (Vector3*)¶ms[4]; @@ -4676,6 +6220,7 @@ void umkaDrawModelEx(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawModelWires() */ +RAYLIB_UMKA_FUNCTION(DrawModelWires) void umkaDrawModelWires(UmkaStackSlot *params, UmkaStackSlot *result) { Model* model = (Model*)¶ms[3]; Vector3* position = (Vector3*)¶ms[2]; @@ -4689,6 +6234,7 @@ void umkaDrawModelWires(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawModelWiresEx() */ +RAYLIB_UMKA_FUNCTION(DrawModelWiresEx) void umkaDrawModelWiresEx(UmkaStackSlot *params, UmkaStackSlot *result) { Model* model = (Model*)¶ms[5]; Vector3* position = (Vector3*)¶ms[4]; @@ -4699,11 +6245,42 @@ void umkaDrawModelWiresEx(UmkaStackSlot *params, UmkaStackSlot *result) { DrawModelWiresEx(*model, *position, *rotationAxis, rotationAngle, *scale, *tint); } +/** + * Umka bindings for DrawModelPoints(). + * + * @see DrawModelPoints() + */ +RAYLIB_UMKA_FUNCTION(DrawModelPoints) +void umkaDrawModelPoints(UmkaStackSlot *params, UmkaStackSlot *result) { + Model* model = (Model*)¶ms[3]; + Vector3* position = (Vector3*)¶ms[2]; + float scale = params[1].real32Val; + Color* tint = (Color*)¶ms[0]; + DrawModelPoints(*model, *position, scale, *tint); +} + +/** + * Umka bindings for DrawModelPointsEx(). + * + * @see DrawModelPointsEx() + */ +RAYLIB_UMKA_FUNCTION(DrawModelPointsEx) +void umkaDrawModelPointsEx(UmkaStackSlot *params, UmkaStackSlot *result) { + Model* model = (Model*)¶ms[5]; + Vector3* position = (Vector3*)¶ms[4]; + Vector3* rotationAxis = (Vector3*)¶ms[3]; + float rotationAngle = params[2].real32Val; + Vector3* scale = (Vector3*)¶ms[1]; + Color* tint = (Color*)¶ms[0]; + DrawModelPointsEx(*model, *position, *rotationAxis, rotationAngle, *scale, *tint); +} + /** * Umka bindings for DrawBoundingBox(). * * @see DrawBoundingBox() */ +RAYLIB_UMKA_FUNCTION(DrawBoundingBox) void umkaDrawBoundingBox(UmkaStackSlot *params, UmkaStackSlot *result) { BoundingBox* box = (BoundingBox*)¶ms[1]; Color* color = (Color*)¶ms[0]; @@ -4715,13 +6292,14 @@ void umkaDrawBoundingBox(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawBillboard() */ +RAYLIB_UMKA_FUNCTION(DrawBillboard) void umkaDrawBillboard(UmkaStackSlot *params, UmkaStackSlot *result) { Camera* camera = (Camera*)¶ms[4]; Texture2D* texture = (Texture2D*)¶ms[3]; Vector3* position = (Vector3*)¶ms[2]; - float size = params[1].real32Val; + float scale = params[1].real32Val; Color* tint = (Color*)¶ms[0]; - DrawBillboard(*camera, *texture, *position, size, *tint); + DrawBillboard(*camera, *texture, *position, scale, *tint); } /** @@ -4729,6 +6307,7 @@ void umkaDrawBillboard(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawBillboardRec() */ +RAYLIB_UMKA_FUNCTION(DrawBillboardRec) void umkaDrawBillboardRec(UmkaStackSlot *params, UmkaStackSlot *result) { Camera* camera = (Camera*)¶ms[5]; Texture2D* texture = (Texture2D*)¶ms[4]; @@ -4744,6 +6323,7 @@ void umkaDrawBillboardRec(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawBillboardPro() */ +RAYLIB_UMKA_FUNCTION(DrawBillboardPro) void umkaDrawBillboardPro(UmkaStackSlot *params, UmkaStackSlot *result) { Camera* camera = (Camera*)¶ms[8]; Texture2D* texture = (Texture2D*)¶ms[7]; @@ -4762,6 +6342,7 @@ void umkaDrawBillboardPro(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UploadMesh() */ +RAYLIB_UMKA_FUNCTION(UploadMesh) void umkaUploadMesh(UmkaStackSlot *params, UmkaStackSlot *result) { Mesh * mesh = (Mesh *)params[1].ptrVal; bool dynamic = (bool)params[0].intVal; @@ -4773,6 +6354,7 @@ void umkaUploadMesh(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UpdateMeshBuffer() */ +RAYLIB_UMKA_FUNCTION(UpdateMeshBuffer) void umkaUpdateMeshBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { Mesh* mesh = (Mesh*)¶ms[4]; int index = params[3].intVal; @@ -4787,6 +6369,7 @@ void umkaUpdateMeshBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UnloadMesh() */ +RAYLIB_UMKA_FUNCTION(UnloadMesh) void umkaUnloadMesh(UmkaStackSlot *params, UmkaStackSlot *result) { Mesh* mesh = (Mesh*)¶ms[0]; UnloadMesh(*mesh); @@ -4797,6 +6380,7 @@ void umkaUnloadMesh(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawMesh() */ +RAYLIB_UMKA_FUNCTION(DrawMesh) void umkaDrawMesh(UmkaStackSlot *params, UmkaStackSlot *result) { Mesh* mesh = (Mesh*)¶ms[2]; Material* material = (Material*)¶ms[1]; @@ -4809,6 +6393,7 @@ void umkaDrawMesh(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see DrawMeshInstanced() */ +RAYLIB_UMKA_FUNCTION(DrawMeshInstanced) void umkaDrawMeshInstanced(UmkaStackSlot *params, UmkaStackSlot *result) { Mesh* mesh = (Mesh*)¶ms[3]; Material* material = (Material*)¶ms[2]; @@ -4817,22 +6402,12 @@ void umkaDrawMeshInstanced(UmkaStackSlot *params, UmkaStackSlot *result) { DrawMeshInstanced(*mesh, *material, transforms, instances); } -/** - * Umka bindings for ExportMesh(). - * - * @see ExportMesh() - */ -void umkaExportMesh(UmkaStackSlot *params, UmkaStackSlot *result) { - Mesh* mesh = (Mesh*)¶ms[1]; - const char * fileName = (const char *)params[0].ptrVal; - result->intVal = (int)ExportMesh(*mesh, fileName); -} - /** * Umka bindings for GetMeshBoundingBox(). * * @see GetMeshBoundingBox() */ +RAYLIB_UMKA_FUNCTION(GetMeshBoundingBox) void umkaGetMeshBoundingBox(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Mesh* mesh = (Mesh*)¶ms[1]; @@ -4846,16 +6421,42 @@ void umkaGetMeshBoundingBox(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GenMeshTangents() */ +RAYLIB_UMKA_FUNCTION(GenMeshTangents) void umkaGenMeshTangents(UmkaStackSlot *params, UmkaStackSlot *result) { Mesh * mesh = (Mesh *)params[0].ptrVal; GenMeshTangents(mesh); } +/** + * Umka bindings for ExportMesh(). + * + * @see ExportMesh() + */ +RAYLIB_UMKA_FUNCTION(ExportMesh) +void umkaExportMesh(UmkaStackSlot *params, UmkaStackSlot *result) { + Mesh* mesh = (Mesh*)¶ms[1]; + const char * fileName = (const char *)params[0].ptrVal; + result->intVal = (int)ExportMesh(*mesh, fileName); +} + +/** + * Umka bindings for ExportMeshAsCode(). + * + * @see ExportMeshAsCode() + */ +RAYLIB_UMKA_FUNCTION(ExportMeshAsCode) +void umkaExportMeshAsCode(UmkaStackSlot *params, UmkaStackSlot *result) { + Mesh* mesh = (Mesh*)¶ms[1]; + const char * fileName = (const char *)params[0].ptrVal; + result->intVal = (int)ExportMeshAsCode(*mesh, fileName); +} + /** * Umka bindings for GenMeshPoly(). * * @see GenMeshPoly() */ +RAYLIB_UMKA_FUNCTION(GenMeshPoly) void umkaGenMeshPoly(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename int sides = params[2].intVal; @@ -4870,6 +6471,7 @@ void umkaGenMeshPoly(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GenMeshPlane() */ +RAYLIB_UMKA_FUNCTION(GenMeshPlane) void umkaGenMeshPlane(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename float width = params[4].real32Val; @@ -4886,6 +6488,7 @@ void umkaGenMeshPlane(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GenMeshCube() */ +RAYLIB_UMKA_FUNCTION(GenMeshCube) void umkaGenMeshCube(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename float width = params[3].real32Val; @@ -4901,6 +6504,7 @@ void umkaGenMeshCube(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GenMeshSphere() */ +RAYLIB_UMKA_FUNCTION(GenMeshSphere) void umkaGenMeshSphere(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename float radius = params[3].real32Val; @@ -4916,6 +6520,7 @@ void umkaGenMeshSphere(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GenMeshHemiSphere() */ +RAYLIB_UMKA_FUNCTION(GenMeshHemiSphere) void umkaGenMeshHemiSphere(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename float radius = params[3].real32Val; @@ -4931,6 +6536,7 @@ void umkaGenMeshHemiSphere(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GenMeshCylinder() */ +RAYLIB_UMKA_FUNCTION(GenMeshCylinder) void umkaGenMeshCylinder(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename float radius = params[3].real32Val; @@ -4946,6 +6552,7 @@ void umkaGenMeshCylinder(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GenMeshCone() */ +RAYLIB_UMKA_FUNCTION(GenMeshCone) void umkaGenMeshCone(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename float radius = params[3].real32Val; @@ -4961,6 +6568,7 @@ void umkaGenMeshCone(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GenMeshTorus() */ +RAYLIB_UMKA_FUNCTION(GenMeshTorus) void umkaGenMeshTorus(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename float radius = params[4].real32Val; @@ -4977,6 +6585,7 @@ void umkaGenMeshTorus(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GenMeshKnot() */ +RAYLIB_UMKA_FUNCTION(GenMeshKnot) void umkaGenMeshKnot(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename float radius = params[4].real32Val; @@ -4993,6 +6602,7 @@ void umkaGenMeshKnot(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GenMeshHeightmap() */ +RAYLIB_UMKA_FUNCTION(GenMeshHeightmap) void umkaGenMeshHeightmap(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Image* heightmap = (Image*)¶ms[2]; @@ -5007,6 +6617,7 @@ void umkaGenMeshHeightmap(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GenMeshCubicmap() */ +RAYLIB_UMKA_FUNCTION(GenMeshCubicmap) void umkaGenMeshCubicmap(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Image* cubicmap = (Image*)¶ms[2]; @@ -5021,6 +6632,7 @@ void umkaGenMeshCubicmap(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadMaterials() */ +RAYLIB_UMKA_FUNCTION(LoadMaterials) void umkaLoadMaterials(UmkaStackSlot *params, UmkaStackSlot *result) { const char * fileName = (const char *)params[1].ptrVal; int * materialCount = (int *)params[0].ptrVal; @@ -5032,17 +6644,30 @@ void umkaLoadMaterials(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadMaterialDefault() */ +RAYLIB_UMKA_FUNCTION(LoadMaterialDefault) void umkaLoadMaterialDefault(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Material), NULL); Material out = LoadMaterialDefault(); RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Material)); } +/** + * Umka bindings for IsMaterialValid(). + * + * @see IsMaterialValid() + */ +RAYLIB_UMKA_FUNCTION(IsMaterialValid) +void umkaIsMaterialValid(UmkaStackSlot *params, UmkaStackSlot *result) { + Material* material = (Material*)¶ms[0]; + result->intVal = (int)IsMaterialValid(*material); +} + /** * Umka bindings for UnloadMaterial(). * * @see UnloadMaterial() */ +RAYLIB_UMKA_FUNCTION(UnloadMaterial) void umkaUnloadMaterial(UmkaStackSlot *params, UmkaStackSlot *result) { Material* material = (Material*)¶ms[0]; UnloadMaterial(*material); @@ -5053,6 +6678,7 @@ void umkaUnloadMaterial(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetMaterialTexture() */ +RAYLIB_UMKA_FUNCTION(SetMaterialTexture) void umkaSetMaterialTexture(UmkaStackSlot *params, UmkaStackSlot *result) { Material * material = (Material *)params[2].ptrVal; int mapType = params[1].intVal; @@ -5065,6 +6691,7 @@ void umkaSetMaterialTexture(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetModelMeshMaterial() */ +RAYLIB_UMKA_FUNCTION(SetModelMeshMaterial) void umkaSetModelMeshMaterial(UmkaStackSlot *params, UmkaStackSlot *result) { Model * model = (Model *)params[2].ptrVal; int meshId = params[1].intVal; @@ -5077,9 +6704,10 @@ void umkaSetModelMeshMaterial(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadModelAnimations() */ +RAYLIB_UMKA_FUNCTION(LoadModelAnimations) void umkaLoadModelAnimations(UmkaStackSlot *params, UmkaStackSlot *result) { const char * fileName = (const char *)params[1].ptrVal; - unsigned int * animCount = (unsigned int *)params[0].ptrVal; + int * animCount = (int *)params[0].ptrVal; result->ptrVal = (void*)LoadModelAnimations(fileName, animCount); } @@ -5088,21 +6716,28 @@ void umkaLoadModelAnimations(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UpdateModelAnimation() */ +RAYLIB_UMKA_FUNCTION(UpdateModelAnimation) void umkaUpdateModelAnimation(UmkaStackSlot *params, UmkaStackSlot *result) { Model* model = (Model*)¶ms[2]; ModelAnimation* anim = (ModelAnimation*)¶ms[1]; - int frame = params[0].intVal; + float frame = params[0].real32Val; UpdateModelAnimation(*model, *anim, frame); } /** - * Umka bindings for UnloadModelAnimation(). + * Umka bindings for UpdateModelAnimationEx(). * - * @see UnloadModelAnimation() + * @see UpdateModelAnimationEx() */ -void umkaUnloadModelAnimation(UmkaStackSlot *params, UmkaStackSlot *result) { - ModelAnimation* anim = (ModelAnimation*)¶ms[0]; - UnloadModelAnimation(*anim); +RAYLIB_UMKA_FUNCTION(UpdateModelAnimationEx) +void umkaUpdateModelAnimationEx(UmkaStackSlot *params, UmkaStackSlot *result) { + Model* model = (Model*)¶ms[5]; + ModelAnimation* animA = (ModelAnimation*)¶ms[4]; + float frameA = params[3].real32Val; + ModelAnimation* animB = (ModelAnimation*)¶ms[2]; + float frameB = params[1].real32Val; + float blend = params[0].real32Val; + UpdateModelAnimationEx(*model, *animA, frameA, *animB, frameB, blend); } /** @@ -5110,10 +6745,11 @@ void umkaUnloadModelAnimation(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UnloadModelAnimations() */ +RAYLIB_UMKA_FUNCTION(UnloadModelAnimations) void umkaUnloadModelAnimations(UmkaStackSlot *params, UmkaStackSlot *result) { ModelAnimation * animations = (ModelAnimation *)params[1].ptrVal; - unsigned int count = params[0].uintVal; - UnloadModelAnimations(animations, count); + int animCount = params[0].intVal; + UnloadModelAnimations(animations, animCount); } /** @@ -5121,6 +6757,7 @@ void umkaUnloadModelAnimations(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsModelAnimationValid() */ +RAYLIB_UMKA_FUNCTION(IsModelAnimationValid) void umkaIsModelAnimationValid(UmkaStackSlot *params, UmkaStackSlot *result) { Model* model = (Model*)¶ms[1]; ModelAnimation* anim = (ModelAnimation*)¶ms[0]; @@ -5132,6 +6769,7 @@ void umkaIsModelAnimationValid(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see CheckCollisionSpheres() */ +RAYLIB_UMKA_FUNCTION(CheckCollisionSpheres) void umkaCheckCollisionSpheres(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* center1 = (Vector3*)¶ms[3]; float radius1 = params[2].real32Val; @@ -5145,6 +6783,7 @@ void umkaCheckCollisionSpheres(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see CheckCollisionBoxes() */ +RAYLIB_UMKA_FUNCTION(CheckCollisionBoxes) void umkaCheckCollisionBoxes(UmkaStackSlot *params, UmkaStackSlot *result) { BoundingBox* box1 = (BoundingBox*)¶ms[1]; BoundingBox* box2 = (BoundingBox*)¶ms[0]; @@ -5156,6 +6795,7 @@ void umkaCheckCollisionBoxes(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see CheckCollisionBoxSphere() */ +RAYLIB_UMKA_FUNCTION(CheckCollisionBoxSphere) void umkaCheckCollisionBoxSphere(UmkaStackSlot *params, UmkaStackSlot *result) { BoundingBox* box = (BoundingBox*)¶ms[2]; Vector3* center = (Vector3*)¶ms[1]; @@ -5168,6 +6808,7 @@ void umkaCheckCollisionBoxSphere(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetRayCollisionSphere() */ +RAYLIB_UMKA_FUNCTION(GetRayCollisionSphere) void umkaGetRayCollisionSphere(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Ray* ray = (Ray*)¶ms[3]; @@ -5183,6 +6824,7 @@ void umkaGetRayCollisionSphere(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetRayCollisionBox() */ +RAYLIB_UMKA_FUNCTION(GetRayCollisionBox) void umkaGetRayCollisionBox(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Ray* ray = (Ray*)¶ms[2]; @@ -5197,6 +6839,7 @@ void umkaGetRayCollisionBox(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetRayCollisionMesh() */ +RAYLIB_UMKA_FUNCTION(GetRayCollisionMesh) void umkaGetRayCollisionMesh(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Ray* ray = (Ray*)¶ms[3]; @@ -5212,6 +6855,7 @@ void umkaGetRayCollisionMesh(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetRayCollisionTriangle() */ +RAYLIB_UMKA_FUNCTION(GetRayCollisionTriangle) void umkaGetRayCollisionTriangle(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Ray* ray = (Ray*)¶ms[4]; @@ -5228,6 +6872,7 @@ void umkaGetRayCollisionTriangle(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetRayCollisionQuad() */ +RAYLIB_UMKA_FUNCTION(GetRayCollisionQuad) void umkaGetRayCollisionQuad(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Ray* ray = (Ray*)¶ms[5]; @@ -5245,6 +6890,7 @@ void umkaGetRayCollisionQuad(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see InitAudioDevice() */ +RAYLIB_UMKA_FUNCTION(InitAudioDevice) void umkaInitAudioDevice(UmkaStackSlot *params, UmkaStackSlot *result) { InitAudioDevice(); } @@ -5254,6 +6900,7 @@ void umkaInitAudioDevice(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see CloseAudioDevice() */ +RAYLIB_UMKA_FUNCTION(CloseAudioDevice) void umkaCloseAudioDevice(UmkaStackSlot *params, UmkaStackSlot *result) { CloseAudioDevice(); } @@ -5263,6 +6910,7 @@ void umkaCloseAudioDevice(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsAudioDeviceReady() */ +RAYLIB_UMKA_FUNCTION(IsAudioDeviceReady) void umkaIsAudioDeviceReady(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = (int)IsAudioDeviceReady(); } @@ -5272,16 +6920,28 @@ void umkaIsAudioDeviceReady(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetMasterVolume() */ +RAYLIB_UMKA_FUNCTION(SetMasterVolume) void umkaSetMasterVolume(UmkaStackSlot *params, UmkaStackSlot *result) { float volume = params[0].real32Val; SetMasterVolume(volume); } +/** + * Umka bindings for GetMasterVolume(). + * + * @see GetMasterVolume() + */ +RAYLIB_UMKA_FUNCTION(GetMasterVolume) +void umkaGetMasterVolume(UmkaStackSlot *params, UmkaStackSlot *result) { + result->realVal = GetMasterVolume(); +} + /** * Umka bindings for LoadWave(). * * @see LoadWave() */ +RAYLIB_UMKA_FUNCTION(LoadWave) void umkaLoadWave(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename const char * fileName = (const char *)params[1].ptrVal; @@ -5295,6 +6955,7 @@ void umkaLoadWave(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadWaveFromMemory() */ +RAYLIB_UMKA_FUNCTION(LoadWaveFromMemory) void umkaLoadWaveFromMemory(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename const char * fileType = (const char *)params[3].ptrVal; @@ -5305,11 +6966,23 @@ void umkaLoadWaveFromMemory(UmkaStackSlot *params, UmkaStackSlot *result) { RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Wave)); } +/** + * Umka bindings for IsWaveValid(). + * + * @see IsWaveValid() + */ +RAYLIB_UMKA_FUNCTION(IsWaveValid) +void umkaIsWaveValid(UmkaStackSlot *params, UmkaStackSlot *result) { + Wave* wave = (Wave*)¶ms[0]; + result->intVal = (int)IsWaveValid(*wave); +} + /** * Umka bindings for LoadSound(). * * @see LoadSound() */ +RAYLIB_UMKA_FUNCTION(LoadSound) void umkaLoadSound(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename const char * fileName = (const char *)params[1].ptrVal; @@ -5323,6 +6996,7 @@ void umkaLoadSound(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadSoundFromWave() */ +RAYLIB_UMKA_FUNCTION(LoadSoundFromWave) void umkaLoadSoundFromWave(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Wave* wave = (Wave*)¶ms[1]; @@ -5331,11 +7005,37 @@ void umkaLoadSoundFromWave(UmkaStackSlot *params, UmkaStackSlot *result) { RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Sound)); } +/** + * Umka bindings for LoadSoundAlias(). + * + * @see LoadSoundAlias() + */ +RAYLIB_UMKA_FUNCTION(LoadSoundAlias) +void umkaLoadSoundAlias(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Sound* source = (Sound*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Sound), NULL); + Sound out = LoadSoundAlias(*source); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Sound)); +} + +/** + * Umka bindings for IsSoundValid(). + * + * @see IsSoundValid() + */ +RAYLIB_UMKA_FUNCTION(IsSoundValid) +void umkaIsSoundValid(UmkaStackSlot *params, UmkaStackSlot *result) { + Sound* sound = (Sound*)¶ms[0]; + result->intVal = (int)IsSoundValid(*sound); +} + /** * Umka bindings for UpdateSound(). * * @see UpdateSound() */ +RAYLIB_UMKA_FUNCTION(UpdateSound) void umkaUpdateSound(UmkaStackSlot *params, UmkaStackSlot *result) { Sound* sound = (Sound*)¶ms[2]; const void * data = (const void *)params[1].ptrVal; @@ -5348,6 +7048,7 @@ void umkaUpdateSound(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UnloadWave() */ +RAYLIB_UMKA_FUNCTION(UnloadWave) void umkaUnloadWave(UmkaStackSlot *params, UmkaStackSlot *result) { Wave* wave = (Wave*)¶ms[0]; UnloadWave(*wave); @@ -5358,16 +7059,29 @@ void umkaUnloadWave(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UnloadSound() */ +RAYLIB_UMKA_FUNCTION(UnloadSound) void umkaUnloadSound(UmkaStackSlot *params, UmkaStackSlot *result) { Sound* sound = (Sound*)¶ms[0]; UnloadSound(*sound); } +/** + * Umka bindings for UnloadSoundAlias(). + * + * @see UnloadSoundAlias() + */ +RAYLIB_UMKA_FUNCTION(UnloadSoundAlias) +void umkaUnloadSoundAlias(UmkaStackSlot *params, UmkaStackSlot *result) { + Sound* alias = (Sound*)¶ms[0]; + UnloadSoundAlias(*alias); +} + /** * Umka bindings for ExportWave(). * * @see ExportWave() */ +RAYLIB_UMKA_FUNCTION(ExportWave) void umkaExportWave(UmkaStackSlot *params, UmkaStackSlot *result) { Wave* wave = (Wave*)¶ms[1]; const char * fileName = (const char *)params[0].ptrVal; @@ -5379,6 +7093,7 @@ void umkaExportWave(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ExportWaveAsCode() */ +RAYLIB_UMKA_FUNCTION(ExportWaveAsCode) void umkaExportWaveAsCode(UmkaStackSlot *params, UmkaStackSlot *result) { Wave* wave = (Wave*)¶ms[1]; const char * fileName = (const char *)params[0].ptrVal; @@ -5390,6 +7105,7 @@ void umkaExportWaveAsCode(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see PlaySound() */ +RAYLIB_UMKA_FUNCTION(PlaySound) void umkaPlaySound(UmkaStackSlot *params, UmkaStackSlot *result) { Sound* sound = (Sound*)¶ms[0]; PlaySound(*sound); @@ -5400,6 +7116,7 @@ void umkaPlaySound(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see StopSound() */ +RAYLIB_UMKA_FUNCTION(StopSound) void umkaStopSound(UmkaStackSlot *params, UmkaStackSlot *result) { Sound* sound = (Sound*)¶ms[0]; StopSound(*sound); @@ -5410,6 +7127,7 @@ void umkaStopSound(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see PauseSound() */ +RAYLIB_UMKA_FUNCTION(PauseSound) void umkaPauseSound(UmkaStackSlot *params, UmkaStackSlot *result) { Sound* sound = (Sound*)¶ms[0]; PauseSound(*sound); @@ -5420,44 +7138,18 @@ void umkaPauseSound(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ResumeSound() */ +RAYLIB_UMKA_FUNCTION(ResumeSound) void umkaResumeSound(UmkaStackSlot *params, UmkaStackSlot *result) { Sound* sound = (Sound*)¶ms[0]; ResumeSound(*sound); } -/** - * Umka bindings for PlaySoundMulti(). - * - * @see PlaySoundMulti() - */ -void umkaPlaySoundMulti(UmkaStackSlot *params, UmkaStackSlot *result) { - Sound* sound = (Sound*)¶ms[0]; - PlaySoundMulti(*sound); -} - -/** - * Umka bindings for StopSoundMulti(). - * - * @see StopSoundMulti() - */ -void umkaStopSoundMulti(UmkaStackSlot *params, UmkaStackSlot *result) { - StopSoundMulti(); -} - -/** - * Umka bindings for GetSoundsPlaying(). - * - * @see GetSoundsPlaying() - */ -void umkaGetSoundsPlaying(UmkaStackSlot *params, UmkaStackSlot *result) { - result->intVal = GetSoundsPlaying(); -} - /** * Umka bindings for IsSoundPlaying(). * * @see IsSoundPlaying() */ +RAYLIB_UMKA_FUNCTION(IsSoundPlaying) void umkaIsSoundPlaying(UmkaStackSlot *params, UmkaStackSlot *result) { Sound* sound = (Sound*)¶ms[0]; result->intVal = (int)IsSoundPlaying(*sound); @@ -5468,6 +7160,7 @@ void umkaIsSoundPlaying(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetSoundVolume() */ +RAYLIB_UMKA_FUNCTION(SetSoundVolume) void umkaSetSoundVolume(UmkaStackSlot *params, UmkaStackSlot *result) { Sound* sound = (Sound*)¶ms[1]; float volume = params[0].real32Val; @@ -5479,6 +7172,7 @@ void umkaSetSoundVolume(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetSoundPitch() */ +RAYLIB_UMKA_FUNCTION(SetSoundPitch) void umkaSetSoundPitch(UmkaStackSlot *params, UmkaStackSlot *result) { Sound* sound = (Sound*)¶ms[1]; float pitch = params[0].real32Val; @@ -5490,6 +7184,7 @@ void umkaSetSoundPitch(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetSoundPan() */ +RAYLIB_UMKA_FUNCTION(SetSoundPan) void umkaSetSoundPan(UmkaStackSlot *params, UmkaStackSlot *result) { Sound* sound = (Sound*)¶ms[1]; float pan = params[0].real32Val; @@ -5501,6 +7196,7 @@ void umkaSetSoundPan(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see WaveCopy() */ +RAYLIB_UMKA_FUNCTION(WaveCopy) void umkaWaveCopy(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Wave* wave = (Wave*)¶ms[1]; @@ -5514,11 +7210,12 @@ void umkaWaveCopy(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see WaveCrop() */ +RAYLIB_UMKA_FUNCTION(WaveCrop) void umkaWaveCrop(UmkaStackSlot *params, UmkaStackSlot *result) { Wave * wave = (Wave *)params[2].ptrVal; - int initSample = params[1].intVal; - int finalSample = params[0].intVal; - WaveCrop(wave, initSample, finalSample); + int initFrame = params[1].intVal; + int finalFrame = params[0].intVal; + WaveCrop(wave, initFrame, finalFrame); } /** @@ -5526,6 +7223,7 @@ void umkaWaveCrop(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see WaveFormat() */ +RAYLIB_UMKA_FUNCTION(WaveFormat) void umkaWaveFormat(UmkaStackSlot *params, UmkaStackSlot *result) { Wave * wave = (Wave *)params[3].ptrVal; int sampleRate = params[2].intVal; @@ -5539,6 +7237,7 @@ void umkaWaveFormat(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadWaveSamples() */ +RAYLIB_UMKA_FUNCTION(LoadWaveSamples) void umkaLoadWaveSamples(UmkaStackSlot *params, UmkaStackSlot *result) { Wave* wave = (Wave*)¶ms[0]; result->ptrVal = (void*)LoadWaveSamples(*wave); @@ -5549,6 +7248,7 @@ void umkaLoadWaveSamples(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UnloadWaveSamples() */ +RAYLIB_UMKA_FUNCTION(UnloadWaveSamples) void umkaUnloadWaveSamples(UmkaStackSlot *params, UmkaStackSlot *result) { float * samples = (float *)params[0].ptrVal; UnloadWaveSamples(samples); @@ -5559,6 +7259,7 @@ void umkaUnloadWaveSamples(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadMusicStream() */ +RAYLIB_UMKA_FUNCTION(LoadMusicStream) void umkaLoadMusicStream(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename const char * fileName = (const char *)params[1].ptrVal; @@ -5572,6 +7273,7 @@ void umkaLoadMusicStream(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadMusicStreamFromMemory() */ +RAYLIB_UMKA_FUNCTION(LoadMusicStreamFromMemory) void umkaLoadMusicStreamFromMemory(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename const char * fileType = (const char *)params[3].ptrVal; @@ -5582,11 +7284,23 @@ void umkaLoadMusicStreamFromMemory(UmkaStackSlot *params, UmkaStackSlot *result) RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Music)); } +/** + * Umka bindings for IsMusicValid(). + * + * @see IsMusicValid() + */ +RAYLIB_UMKA_FUNCTION(IsMusicValid) +void umkaIsMusicValid(UmkaStackSlot *params, UmkaStackSlot *result) { + Music* music = (Music*)¶ms[0]; + result->intVal = (int)IsMusicValid(*music); +} + /** * Umka bindings for UnloadMusicStream(). * * @see UnloadMusicStream() */ +RAYLIB_UMKA_FUNCTION(UnloadMusicStream) void umkaUnloadMusicStream(UmkaStackSlot *params, UmkaStackSlot *result) { Music* music = (Music*)¶ms[0]; UnloadMusicStream(*music); @@ -5597,6 +7311,7 @@ void umkaUnloadMusicStream(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see PlayMusicStream() */ +RAYLIB_UMKA_FUNCTION(PlayMusicStream) void umkaPlayMusicStream(UmkaStackSlot *params, UmkaStackSlot *result) { Music* music = (Music*)¶ms[0]; PlayMusicStream(*music); @@ -5607,6 +7322,7 @@ void umkaPlayMusicStream(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsMusicStreamPlaying() */ +RAYLIB_UMKA_FUNCTION(IsMusicStreamPlaying) void umkaIsMusicStreamPlaying(UmkaStackSlot *params, UmkaStackSlot *result) { Music* music = (Music*)¶ms[0]; result->intVal = (int)IsMusicStreamPlaying(*music); @@ -5617,6 +7333,7 @@ void umkaIsMusicStreamPlaying(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UpdateMusicStream() */ +RAYLIB_UMKA_FUNCTION(UpdateMusicStream) void umkaUpdateMusicStream(UmkaStackSlot *params, UmkaStackSlot *result) { Music* music = (Music*)¶ms[0]; UpdateMusicStream(*music); @@ -5627,6 +7344,7 @@ void umkaUpdateMusicStream(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see StopMusicStream() */ +RAYLIB_UMKA_FUNCTION(StopMusicStream) void umkaStopMusicStream(UmkaStackSlot *params, UmkaStackSlot *result) { Music* music = (Music*)¶ms[0]; StopMusicStream(*music); @@ -5637,6 +7355,7 @@ void umkaStopMusicStream(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see PauseMusicStream() */ +RAYLIB_UMKA_FUNCTION(PauseMusicStream) void umkaPauseMusicStream(UmkaStackSlot *params, UmkaStackSlot *result) { Music* music = (Music*)¶ms[0]; PauseMusicStream(*music); @@ -5647,6 +7366,7 @@ void umkaPauseMusicStream(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ResumeMusicStream() */ +RAYLIB_UMKA_FUNCTION(ResumeMusicStream) void umkaResumeMusicStream(UmkaStackSlot *params, UmkaStackSlot *result) { Music* music = (Music*)¶ms[0]; ResumeMusicStream(*music); @@ -5657,6 +7377,7 @@ void umkaResumeMusicStream(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SeekMusicStream() */ +RAYLIB_UMKA_FUNCTION(SeekMusicStream) void umkaSeekMusicStream(UmkaStackSlot *params, UmkaStackSlot *result) { Music* music = (Music*)¶ms[1]; float position = params[0].real32Val; @@ -5668,6 +7389,7 @@ void umkaSeekMusicStream(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetMusicVolume() */ +RAYLIB_UMKA_FUNCTION(SetMusicVolume) void umkaSetMusicVolume(UmkaStackSlot *params, UmkaStackSlot *result) { Music* music = (Music*)¶ms[1]; float volume = params[0].real32Val; @@ -5679,6 +7401,7 @@ void umkaSetMusicVolume(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetMusicPitch() */ +RAYLIB_UMKA_FUNCTION(SetMusicPitch) void umkaSetMusicPitch(UmkaStackSlot *params, UmkaStackSlot *result) { Music* music = (Music*)¶ms[1]; float pitch = params[0].real32Val; @@ -5690,6 +7413,7 @@ void umkaSetMusicPitch(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetMusicPan() */ +RAYLIB_UMKA_FUNCTION(SetMusicPan) void umkaSetMusicPan(UmkaStackSlot *params, UmkaStackSlot *result) { Music* music = (Music*)¶ms[1]; float pan = params[0].real32Val; @@ -5701,6 +7425,7 @@ void umkaSetMusicPan(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetMusicTimeLength() */ +RAYLIB_UMKA_FUNCTION(GetMusicTimeLength) void umkaGetMusicTimeLength(UmkaStackSlot *params, UmkaStackSlot *result) { Music* music = (Music*)¶ms[0]; result->realVal = GetMusicTimeLength(*music); @@ -5711,6 +7436,7 @@ void umkaGetMusicTimeLength(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see GetMusicTimePlayed() */ +RAYLIB_UMKA_FUNCTION(GetMusicTimePlayed) void umkaGetMusicTimePlayed(UmkaStackSlot *params, UmkaStackSlot *result) { Music* music = (Music*)¶ms[0]; result->realVal = GetMusicTimePlayed(*music); @@ -5721,6 +7447,7 @@ void umkaGetMusicTimePlayed(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see LoadAudioStream() */ +RAYLIB_UMKA_FUNCTION(LoadAudioStream) void umkaLoadAudioStream(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename unsigned int sampleRate = params[3].uintVal; @@ -5731,11 +7458,23 @@ void umkaLoadAudioStream(UmkaStackSlot *params, UmkaStackSlot *result) { RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(AudioStream)); } +/** + * Umka bindings for IsAudioStreamValid(). + * + * @see IsAudioStreamValid() + */ +RAYLIB_UMKA_FUNCTION(IsAudioStreamValid) +void umkaIsAudioStreamValid(UmkaStackSlot *params, UmkaStackSlot *result) { + AudioStream* stream = (AudioStream*)¶ms[0]; + result->intVal = (int)IsAudioStreamValid(*stream); +} + /** * Umka bindings for UnloadAudioStream(). * * @see UnloadAudioStream() */ +RAYLIB_UMKA_FUNCTION(UnloadAudioStream) void umkaUnloadAudioStream(UmkaStackSlot *params, UmkaStackSlot *result) { AudioStream* stream = (AudioStream*)¶ms[0]; UnloadAudioStream(*stream); @@ -5746,6 +7485,7 @@ void umkaUnloadAudioStream(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see UpdateAudioStream() */ +RAYLIB_UMKA_FUNCTION(UpdateAudioStream) void umkaUpdateAudioStream(UmkaStackSlot *params, UmkaStackSlot *result) { AudioStream* stream = (AudioStream*)¶ms[2]; const void * data = (const void *)params[1].ptrVal; @@ -5758,6 +7498,7 @@ void umkaUpdateAudioStream(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsAudioStreamProcessed() */ +RAYLIB_UMKA_FUNCTION(IsAudioStreamProcessed) void umkaIsAudioStreamProcessed(UmkaStackSlot *params, UmkaStackSlot *result) { AudioStream* stream = (AudioStream*)¶ms[0]; result->intVal = (int)IsAudioStreamProcessed(*stream); @@ -5768,6 +7509,7 @@ void umkaIsAudioStreamProcessed(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see PlayAudioStream() */ +RAYLIB_UMKA_FUNCTION(PlayAudioStream) void umkaPlayAudioStream(UmkaStackSlot *params, UmkaStackSlot *result) { AudioStream* stream = (AudioStream*)¶ms[0]; PlayAudioStream(*stream); @@ -5778,6 +7520,7 @@ void umkaPlayAudioStream(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see PauseAudioStream() */ +RAYLIB_UMKA_FUNCTION(PauseAudioStream) void umkaPauseAudioStream(UmkaStackSlot *params, UmkaStackSlot *result) { AudioStream* stream = (AudioStream*)¶ms[0]; PauseAudioStream(*stream); @@ -5788,6 +7531,7 @@ void umkaPauseAudioStream(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see ResumeAudioStream() */ +RAYLIB_UMKA_FUNCTION(ResumeAudioStream) void umkaResumeAudioStream(UmkaStackSlot *params, UmkaStackSlot *result) { AudioStream* stream = (AudioStream*)¶ms[0]; ResumeAudioStream(*stream); @@ -5798,6 +7542,7 @@ void umkaResumeAudioStream(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see IsAudioStreamPlaying() */ +RAYLIB_UMKA_FUNCTION(IsAudioStreamPlaying) void umkaIsAudioStreamPlaying(UmkaStackSlot *params, UmkaStackSlot *result) { AudioStream* stream = (AudioStream*)¶ms[0]; result->intVal = (int)IsAudioStreamPlaying(*stream); @@ -5808,6 +7553,7 @@ void umkaIsAudioStreamPlaying(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see StopAudioStream() */ +RAYLIB_UMKA_FUNCTION(StopAudioStream) void umkaStopAudioStream(UmkaStackSlot *params, UmkaStackSlot *result) { AudioStream* stream = (AudioStream*)¶ms[0]; StopAudioStream(*stream); @@ -5818,6 +7564,7 @@ void umkaStopAudioStream(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetAudioStreamVolume() */ +RAYLIB_UMKA_FUNCTION(SetAudioStreamVolume) void umkaSetAudioStreamVolume(UmkaStackSlot *params, UmkaStackSlot *result) { AudioStream* stream = (AudioStream*)¶ms[1]; float volume = params[0].real32Val; @@ -5829,6 +7576,7 @@ void umkaSetAudioStreamVolume(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetAudioStreamPitch() */ +RAYLIB_UMKA_FUNCTION(SetAudioStreamPitch) void umkaSetAudioStreamPitch(UmkaStackSlot *params, UmkaStackSlot *result) { AudioStream* stream = (AudioStream*)¶ms[1]; float pitch = params[0].real32Val; @@ -5840,6 +7588,7 @@ void umkaSetAudioStreamPitch(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetAudioStreamPan() */ +RAYLIB_UMKA_FUNCTION(SetAudioStreamPan) void umkaSetAudioStreamPan(UmkaStackSlot *params, UmkaStackSlot *result) { AudioStream* stream = (AudioStream*)¶ms[1]; float pan = params[0].real32Val; @@ -5851,6 +7600,7 @@ void umkaSetAudioStreamPan(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see SetAudioStreamBufferSizeDefault() */ +RAYLIB_UMKA_FUNCTION(SetAudioStreamBufferSizeDefault) void umkaSetAudioStreamBufferSizeDefault(UmkaStackSlot *params, UmkaStackSlot *result) { int size = params[0].intVal; SetAudioStreamBufferSizeDefault(size); @@ -5862,11 +7612,34 @@ void umkaSetAudioStreamBufferSizeDefault(UmkaStackSlot *params, UmkaStackSlot *r // Function DetachAudioStreamProcessor() skipped +/** + * Umka bindings for AttachAudioMixedProcessor(). + * + * @see AttachAudioMixedProcessor() + */ +RAYLIB_UMKA_FUNCTION(AttachAudioMixedProcessor) +void umkaAttachAudioMixedProcessor(UmkaStackSlot *params, UmkaStackSlot *result) { + AudioCallback processor = (AudioCallback)params[0].ptrVal; + AttachAudioMixedProcessor(processor); +} + +/** + * Umka bindings for DetachAudioMixedProcessor(). + * + * @see DetachAudioMixedProcessor() + */ +RAYLIB_UMKA_FUNCTION(DetachAudioMixedProcessor) +void umkaDetachAudioMixedProcessor(UmkaStackSlot *params, UmkaStackSlot *result) { + AudioCallback processor = (AudioCallback)params[0].ptrVal; + DetachAudioMixedProcessor(processor); +} + /** * Umka bindings for Clamp(). * * @see Clamp() */ +RAYLIB_UMKA_FUNCTION(Clamp) void umkaClamp(UmkaStackSlot *params, UmkaStackSlot *result) { float value = params[2].real32Val; float min = params[1].real32Val; @@ -5879,6 +7652,7 @@ void umkaClamp(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Lerp() */ +RAYLIB_UMKA_FUNCTION(Lerp) void umkaLerp(UmkaStackSlot *params, UmkaStackSlot *result) { float start = params[2].real32Val; float end = params[1].real32Val; @@ -5891,6 +7665,7 @@ void umkaLerp(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Normalize() */ +RAYLIB_UMKA_FUNCTION(Normalize) void umkaNormalize(UmkaStackSlot *params, UmkaStackSlot *result) { float value = params[2].real32Val; float start = params[1].real32Val; @@ -5903,6 +7678,7 @@ void umkaNormalize(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Remap() */ +RAYLIB_UMKA_FUNCTION(Remap) void umkaRemap(UmkaStackSlot *params, UmkaStackSlot *result) { float value = params[4].real32Val; float inputStart = params[3].real32Val; @@ -5917,6 +7693,7 @@ void umkaRemap(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Wrap() */ +RAYLIB_UMKA_FUNCTION(Wrap) void umkaWrap(UmkaStackSlot *params, UmkaStackSlot *result) { float value = params[2].real32Val; float min = params[1].real32Val; @@ -5929,6 +7706,7 @@ void umkaWrap(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see FloatEquals() */ +RAYLIB_UMKA_FUNCTION(FloatEquals) void umkaFloatEquals(UmkaStackSlot *params, UmkaStackSlot *result) { float x = params[1].real32Val; float y = params[0].real32Val; @@ -5940,6 +7718,7 @@ void umkaFloatEquals(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2Zero() */ +RAYLIB_UMKA_FUNCTION(Vector2Zero) void umkaVector2Zero(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); Vector2 out = Vector2Zero(); @@ -5951,6 +7730,7 @@ void umkaVector2Zero(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2One() */ +RAYLIB_UMKA_FUNCTION(Vector2One) void umkaVector2One(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); Vector2 out = Vector2One(); @@ -5962,6 +7742,7 @@ void umkaVector2One(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2Add() */ +RAYLIB_UMKA_FUNCTION(Vector2Add) void umkaVector2Add(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector2* v1 = (Vector2*)¶ms[2]; @@ -5976,6 +7757,7 @@ void umkaVector2Add(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2AddValue() */ +RAYLIB_UMKA_FUNCTION(Vector2AddValue) void umkaVector2AddValue(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector2* v = (Vector2*)¶ms[2]; @@ -5990,6 +7772,7 @@ void umkaVector2AddValue(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2Subtract() */ +RAYLIB_UMKA_FUNCTION(Vector2Subtract) void umkaVector2Subtract(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector2* v1 = (Vector2*)¶ms[2]; @@ -6004,6 +7787,7 @@ void umkaVector2Subtract(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2SubtractValue() */ +RAYLIB_UMKA_FUNCTION(Vector2SubtractValue) void umkaVector2SubtractValue(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector2* v = (Vector2*)¶ms[2]; @@ -6018,6 +7802,7 @@ void umkaVector2SubtractValue(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2Length() */ +RAYLIB_UMKA_FUNCTION(Vector2Length) void umkaVector2Length(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* v = (Vector2*)¶ms[0]; result->realVal = Vector2Length(*v); @@ -6028,6 +7813,7 @@ void umkaVector2Length(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2LengthSqr() */ +RAYLIB_UMKA_FUNCTION(Vector2LengthSqr) void umkaVector2LengthSqr(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* v = (Vector2*)¶ms[0]; result->realVal = Vector2LengthSqr(*v); @@ -6038,17 +7824,31 @@ void umkaVector2LengthSqr(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2DotProduct() */ +RAYLIB_UMKA_FUNCTION(Vector2DotProduct) void umkaVector2DotProduct(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* v1 = (Vector2*)¶ms[1]; Vector2* v2 = (Vector2*)¶ms[0]; result->realVal = Vector2DotProduct(*v1, *v2); } +/** + * Umka bindings for Vector2CrossProduct(). + * + * @see Vector2CrossProduct() + */ +RAYLIB_UMKA_FUNCTION(Vector2CrossProduct) +void umkaVector2CrossProduct(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector2* v1 = (Vector2*)¶ms[1]; + Vector2* v2 = (Vector2*)¶ms[0]; + result->realVal = Vector2CrossProduct(*v1, *v2); +} + /** * Umka bindings for Vector2Distance(). * * @see Vector2Distance() */ +RAYLIB_UMKA_FUNCTION(Vector2Distance) void umkaVector2Distance(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* v1 = (Vector2*)¶ms[1]; Vector2* v2 = (Vector2*)¶ms[0]; @@ -6060,6 +7860,7 @@ void umkaVector2Distance(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2DistanceSqr() */ +RAYLIB_UMKA_FUNCTION(Vector2DistanceSqr) void umkaVector2DistanceSqr(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* v1 = (Vector2*)¶ms[1]; Vector2* v2 = (Vector2*)¶ms[0]; @@ -6071,17 +7872,31 @@ void umkaVector2DistanceSqr(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2Angle() */ +RAYLIB_UMKA_FUNCTION(Vector2Angle) void umkaVector2Angle(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* v1 = (Vector2*)¶ms[1]; Vector2* v2 = (Vector2*)¶ms[0]; result->realVal = Vector2Angle(*v1, *v2); } +/** + * Umka bindings for Vector2LineAngle(). + * + * @see Vector2LineAngle() + */ +RAYLIB_UMKA_FUNCTION(Vector2LineAngle) +void umkaVector2LineAngle(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector2* start = (Vector2*)¶ms[1]; + Vector2* end = (Vector2*)¶ms[0]; + result->realVal = Vector2LineAngle(*start, *end); +} + /** * Umka bindings for Vector2Scale(). * * @see Vector2Scale() */ +RAYLIB_UMKA_FUNCTION(Vector2Scale) void umkaVector2Scale(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector2* v = (Vector2*)¶ms[2]; @@ -6096,6 +7911,7 @@ void umkaVector2Scale(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2Multiply() */ +RAYLIB_UMKA_FUNCTION(Vector2Multiply) void umkaVector2Multiply(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector2* v1 = (Vector2*)¶ms[2]; @@ -6110,6 +7926,7 @@ void umkaVector2Multiply(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2Negate() */ +RAYLIB_UMKA_FUNCTION(Vector2Negate) void umkaVector2Negate(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector2* v = (Vector2*)¶ms[1]; @@ -6123,6 +7940,7 @@ void umkaVector2Negate(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2Divide() */ +RAYLIB_UMKA_FUNCTION(Vector2Divide) void umkaVector2Divide(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector2* v1 = (Vector2*)¶ms[2]; @@ -6137,6 +7955,7 @@ void umkaVector2Divide(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2Normalize() */ +RAYLIB_UMKA_FUNCTION(Vector2Normalize) void umkaVector2Normalize(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector2* v = (Vector2*)¶ms[1]; @@ -6150,6 +7969,7 @@ void umkaVector2Normalize(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2Transform() */ +RAYLIB_UMKA_FUNCTION(Vector2Transform) void umkaVector2Transform(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector2* v = (Vector2*)¶ms[2]; @@ -6164,6 +7984,7 @@ void umkaVector2Transform(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2Lerp() */ +RAYLIB_UMKA_FUNCTION(Vector2Lerp) void umkaVector2Lerp(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector2* v1 = (Vector2*)¶ms[3]; @@ -6179,6 +8000,7 @@ void umkaVector2Lerp(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2Reflect() */ +RAYLIB_UMKA_FUNCTION(Vector2Reflect) void umkaVector2Reflect(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector2* v = (Vector2*)¶ms[2]; @@ -6188,11 +8010,42 @@ void umkaVector2Reflect(UmkaStackSlot *params, UmkaStackSlot *result) { RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector2)); } +/** + * Umka bindings for Vector2Min(). + * + * @see Vector2Min() + */ +RAYLIB_UMKA_FUNCTION(Vector2Min) +void umkaVector2Min(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector2* v1 = (Vector2*)¶ms[2]; + Vector2* v2 = (Vector2*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); + Vector2 out = Vector2Min(*v1, *v2); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector2)); +} + +/** + * Umka bindings for Vector2Max(). + * + * @see Vector2Max() + */ +RAYLIB_UMKA_FUNCTION(Vector2Max) +void umkaVector2Max(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector2* v1 = (Vector2*)¶ms[2]; + Vector2* v2 = (Vector2*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); + Vector2 out = Vector2Max(*v1, *v2); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector2)); +} + /** * Umka bindings for Vector2Rotate(). * * @see Vector2Rotate() */ +RAYLIB_UMKA_FUNCTION(Vector2Rotate) void umkaVector2Rotate(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector2* v = (Vector2*)¶ms[2]; @@ -6207,6 +8060,7 @@ void umkaVector2Rotate(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2MoveTowards() */ +RAYLIB_UMKA_FUNCTION(Vector2MoveTowards) void umkaVector2MoveTowards(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector2* v = (Vector2*)¶ms[3]; @@ -6222,6 +8076,7 @@ void umkaVector2MoveTowards(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2Invert() */ +RAYLIB_UMKA_FUNCTION(Vector2Invert) void umkaVector2Invert(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector2* v = (Vector2*)¶ms[1]; @@ -6235,6 +8090,7 @@ void umkaVector2Invert(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2Clamp() */ +RAYLIB_UMKA_FUNCTION(Vector2Clamp) void umkaVector2Clamp(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector2* v = (Vector2*)¶ms[3]; @@ -6250,6 +8106,7 @@ void umkaVector2Clamp(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2ClampValue() */ +RAYLIB_UMKA_FUNCTION(Vector2ClampValue) void umkaVector2ClampValue(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector2* v = (Vector2*)¶ms[3]; @@ -6265,17 +8122,35 @@ void umkaVector2ClampValue(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector2Equals() */ +RAYLIB_UMKA_FUNCTION(Vector2Equals) void umkaVector2Equals(UmkaStackSlot *params, UmkaStackSlot *result) { Vector2* p = (Vector2*)¶ms[1]; Vector2* q = (Vector2*)¶ms[0]; result->intVal = Vector2Equals(*p, *q); } +/** + * Umka bindings for Vector2Refract(). + * + * @see Vector2Refract() + */ +RAYLIB_UMKA_FUNCTION(Vector2Refract) +void umkaVector2Refract(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector2* v = (Vector2*)¶ms[3]; + Vector2* n = (Vector2*)¶ms[2]; + float r = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector2), NULL); + Vector2 out = Vector2Refract(*v, *n, r); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector2)); +} + /** * Umka bindings for Vector3Zero(). * * @see Vector3Zero() */ +RAYLIB_UMKA_FUNCTION(Vector3Zero) void umkaVector3Zero(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector3), NULL); Vector3 out = Vector3Zero(); @@ -6287,6 +8162,7 @@ void umkaVector3Zero(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3One() */ +RAYLIB_UMKA_FUNCTION(Vector3One) void umkaVector3One(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector3), NULL); Vector3 out = Vector3One(); @@ -6298,6 +8174,7 @@ void umkaVector3One(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3Add() */ +RAYLIB_UMKA_FUNCTION(Vector3Add) void umkaVector3Add(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* v1 = (Vector3*)¶ms[2]; @@ -6312,6 +8189,7 @@ void umkaVector3Add(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3AddValue() */ +RAYLIB_UMKA_FUNCTION(Vector3AddValue) void umkaVector3AddValue(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* v = (Vector3*)¶ms[2]; @@ -6326,6 +8204,7 @@ void umkaVector3AddValue(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3Subtract() */ +RAYLIB_UMKA_FUNCTION(Vector3Subtract) void umkaVector3Subtract(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* v1 = (Vector3*)¶ms[2]; @@ -6340,6 +8219,7 @@ void umkaVector3Subtract(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3SubtractValue() */ +RAYLIB_UMKA_FUNCTION(Vector3SubtractValue) void umkaVector3SubtractValue(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* v = (Vector3*)¶ms[2]; @@ -6354,6 +8234,7 @@ void umkaVector3SubtractValue(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3Scale() */ +RAYLIB_UMKA_FUNCTION(Vector3Scale) void umkaVector3Scale(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* v = (Vector3*)¶ms[2]; @@ -6368,6 +8249,7 @@ void umkaVector3Scale(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3Multiply() */ +RAYLIB_UMKA_FUNCTION(Vector3Multiply) void umkaVector3Multiply(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* v1 = (Vector3*)¶ms[2]; @@ -6382,6 +8264,7 @@ void umkaVector3Multiply(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3CrossProduct() */ +RAYLIB_UMKA_FUNCTION(Vector3CrossProduct) void umkaVector3CrossProduct(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* v1 = (Vector3*)¶ms[2]; @@ -6396,6 +8279,7 @@ void umkaVector3CrossProduct(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3Perpendicular() */ +RAYLIB_UMKA_FUNCTION(Vector3Perpendicular) void umkaVector3Perpendicular(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* v = (Vector3*)¶ms[1]; @@ -6409,6 +8293,7 @@ void umkaVector3Perpendicular(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3Length() */ +RAYLIB_UMKA_FUNCTION(Vector3Length) void umkaVector3Length(UmkaStackSlot *params, UmkaStackSlot *result) { const Vector3* v = (const Vector3*)¶ms[0]; result->realVal = Vector3Length(*v); @@ -6419,6 +8304,7 @@ void umkaVector3Length(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3LengthSqr() */ +RAYLIB_UMKA_FUNCTION(Vector3LengthSqr) void umkaVector3LengthSqr(UmkaStackSlot *params, UmkaStackSlot *result) { const Vector3* v = (const Vector3*)¶ms[0]; result->realVal = Vector3LengthSqr(*v); @@ -6429,6 +8315,7 @@ void umkaVector3LengthSqr(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3DotProduct() */ +RAYLIB_UMKA_FUNCTION(Vector3DotProduct) void umkaVector3DotProduct(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* v1 = (Vector3*)¶ms[1]; Vector3* v2 = (Vector3*)¶ms[0]; @@ -6440,6 +8327,7 @@ void umkaVector3DotProduct(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3Distance() */ +RAYLIB_UMKA_FUNCTION(Vector3Distance) void umkaVector3Distance(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* v1 = (Vector3*)¶ms[1]; Vector3* v2 = (Vector3*)¶ms[0]; @@ -6451,6 +8339,7 @@ void umkaVector3Distance(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3DistanceSqr() */ +RAYLIB_UMKA_FUNCTION(Vector3DistanceSqr) void umkaVector3DistanceSqr(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* v1 = (Vector3*)¶ms[1]; Vector3* v2 = (Vector3*)¶ms[0]; @@ -6462,6 +8351,7 @@ void umkaVector3DistanceSqr(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3Angle() */ +RAYLIB_UMKA_FUNCTION(Vector3Angle) void umkaVector3Angle(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3* v1 = (Vector3*)¶ms[1]; Vector3* v2 = (Vector3*)¶ms[0]; @@ -6473,6 +8363,7 @@ void umkaVector3Angle(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3Negate() */ +RAYLIB_UMKA_FUNCTION(Vector3Negate) void umkaVector3Negate(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* v = (Vector3*)¶ms[1]; @@ -6486,6 +8377,7 @@ void umkaVector3Negate(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3Divide() */ +RAYLIB_UMKA_FUNCTION(Vector3Divide) void umkaVector3Divide(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* v1 = (Vector3*)¶ms[2]; @@ -6500,6 +8392,7 @@ void umkaVector3Divide(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3Normalize() */ +RAYLIB_UMKA_FUNCTION(Vector3Normalize) void umkaVector3Normalize(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* v = (Vector3*)¶ms[1]; @@ -6508,11 +8401,42 @@ void umkaVector3Normalize(UmkaStackSlot *params, UmkaStackSlot *result) { RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector3)); } +/** + * Umka bindings for Vector3Project(). + * + * @see Vector3Project() + */ +RAYLIB_UMKA_FUNCTION(Vector3Project) +void umkaVector3Project(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector3* v1 = (Vector3*)¶ms[2]; + Vector3* v2 = (Vector3*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector3), NULL); + Vector3 out = Vector3Project(*v1, *v2); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector3)); +} + +/** + * Umka bindings for Vector3Reject(). + * + * @see Vector3Reject() + */ +RAYLIB_UMKA_FUNCTION(Vector3Reject) +void umkaVector3Reject(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector3* v1 = (Vector3*)¶ms[2]; + Vector3* v2 = (Vector3*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector3), NULL); + Vector3 out = Vector3Reject(*v1, *v2); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector3)); +} + /** * Umka bindings for Vector3OrthoNormalize(). * * @see Vector3OrthoNormalize() */ +RAYLIB_UMKA_FUNCTION(Vector3OrthoNormalize) void umkaVector3OrthoNormalize(UmkaStackSlot *params, UmkaStackSlot *result) { Vector3 * v1 = (Vector3 *)params[1].ptrVal; Vector3 * v2 = (Vector3 *)params[0].ptrVal; @@ -6524,6 +8448,7 @@ void umkaVector3OrthoNormalize(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3Transform() */ +RAYLIB_UMKA_FUNCTION(Vector3Transform) void umkaVector3Transform(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* v = (Vector3*)¶ms[2]; @@ -6538,6 +8463,7 @@ void umkaVector3Transform(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3RotateByQuaternion() */ +RAYLIB_UMKA_FUNCTION(Vector3RotateByQuaternion) void umkaVector3RotateByQuaternion(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* v = (Vector3*)¶ms[2]; @@ -6552,6 +8478,7 @@ void umkaVector3RotateByQuaternion(UmkaStackSlot *params, UmkaStackSlot *result) * * @see Vector3RotateByAxisAngle() */ +RAYLIB_UMKA_FUNCTION(Vector3RotateByAxisAngle) void umkaVector3RotateByAxisAngle(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* v = (Vector3*)¶ms[3]; @@ -6562,11 +8489,28 @@ void umkaVector3RotateByAxisAngle(UmkaStackSlot *params, UmkaStackSlot *result) RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector3)); } +/** + * Umka bindings for Vector3MoveTowards(). + * + * @see Vector3MoveTowards() + */ +RAYLIB_UMKA_FUNCTION(Vector3MoveTowards) +void umkaVector3MoveTowards(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector3* v = (Vector3*)¶ms[3]; + Vector3* target = (Vector3*)¶ms[2]; + float maxDistance = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector3), NULL); + Vector3 out = Vector3MoveTowards(*v, *target, maxDistance); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector3)); +} + /** * Umka bindings for Vector3Lerp(). * * @see Vector3Lerp() */ +RAYLIB_UMKA_FUNCTION(Vector3Lerp) void umkaVector3Lerp(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* v1 = (Vector3*)¶ms[3]; @@ -6577,11 +8521,30 @@ void umkaVector3Lerp(UmkaStackSlot *params, UmkaStackSlot *result) { RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector3)); } +/** + * Umka bindings for Vector3CubicHermite(). + * + * @see Vector3CubicHermite() + */ +RAYLIB_UMKA_FUNCTION(Vector3CubicHermite) +void umkaVector3CubicHermite(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector3* v1 = (Vector3*)¶ms[5]; + Vector3* tangent1 = (Vector3*)¶ms[4]; + Vector3* v2 = (Vector3*)¶ms[3]; + Vector3* tangent2 = (Vector3*)¶ms[2]; + float amount = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector3), NULL); + Vector3 out = Vector3CubicHermite(*v1, *tangent1, *v2, *tangent2, amount); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector3)); +} + /** * Umka bindings for Vector3Reflect(). * * @see Vector3Reflect() */ +RAYLIB_UMKA_FUNCTION(Vector3Reflect) void umkaVector3Reflect(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* v = (Vector3*)¶ms[2]; @@ -6596,6 +8559,7 @@ void umkaVector3Reflect(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3Min() */ +RAYLIB_UMKA_FUNCTION(Vector3Min) void umkaVector3Min(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* v1 = (Vector3*)¶ms[2]; @@ -6610,6 +8574,7 @@ void umkaVector3Min(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3Max() */ +RAYLIB_UMKA_FUNCTION(Vector3Max) void umkaVector3Max(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* v1 = (Vector3*)¶ms[2]; @@ -6624,6 +8589,7 @@ void umkaVector3Max(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3Barycenter() */ +RAYLIB_UMKA_FUNCTION(Vector3Barycenter) void umkaVector3Barycenter(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* p = (Vector3*)¶ms[4]; @@ -6640,6 +8606,7 @@ void umkaVector3Barycenter(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3Unproject() */ +RAYLIB_UMKA_FUNCTION(Vector3Unproject) void umkaVector3Unproject(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* source = (Vector3*)¶ms[3]; @@ -6655,6 +8622,7 @@ void umkaVector3Unproject(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see Vector3ToFloatV() */ +RAYLIB_UMKA_FUNCTION(Vector3ToFloatV) void umkaVector3ToFloatV(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* v = (Vector3*)¶ms[1]; @@ -6664,72 +8632,380 @@ void umkaVector3ToFloatV(UmkaStackSlot *params, UmkaStackSlot *result) { } /** - * Umka bindings for Vector3Invert(). + * Umka bindings for Vector3Invert(). + * + * @see Vector3Invert() + */ +RAYLIB_UMKA_FUNCTION(Vector3Invert) +void umkaVector3Invert(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector3* v = (Vector3*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector3), NULL); + Vector3 out = Vector3Invert(*v); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector3)); +} + +/** + * Umka bindings for Vector3Clamp(). + * + * @see Vector3Clamp() + */ +RAYLIB_UMKA_FUNCTION(Vector3Clamp) +void umkaVector3Clamp(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector3* v = (Vector3*)¶ms[3]; + Vector3* min = (Vector3*)¶ms[2]; + Vector3* max = (Vector3*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector3), NULL); + Vector3 out = Vector3Clamp(*v, *min, *max); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector3)); +} + +/** + * Umka bindings for Vector3ClampValue(). + * + * @see Vector3ClampValue() + */ +RAYLIB_UMKA_FUNCTION(Vector3ClampValue) +void umkaVector3ClampValue(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector3* v = (Vector3*)¶ms[3]; + float min = params[2].real32Val; + float max = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector3), NULL); + Vector3 out = Vector3ClampValue(*v, min, max); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector3)); +} + +/** + * Umka bindings for Vector3Equals(). + * + * @see Vector3Equals() + */ +RAYLIB_UMKA_FUNCTION(Vector3Equals) +void umkaVector3Equals(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector3* p = (Vector3*)¶ms[1]; + Vector3* q = (Vector3*)¶ms[0]; + result->intVal = Vector3Equals(*p, *q); +} + +/** + * Umka bindings for Vector3Refract(). + * + * @see Vector3Refract() + */ +RAYLIB_UMKA_FUNCTION(Vector3Refract) +void umkaVector3Refract(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector3* v = (Vector3*)¶ms[3]; + Vector3* n = (Vector3*)¶ms[2]; + float r = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector3), NULL); + Vector3 out = Vector3Refract(*v, *n, r); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector3)); +} + +/** + * Umka bindings for Vector4Zero(). + * + * @see Vector4Zero() + */ +RAYLIB_UMKA_FUNCTION(Vector4Zero) +void umkaVector4Zero(UmkaStackSlot *params, UmkaStackSlot *result) { + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector4), NULL); + Vector4 out = Vector4Zero(); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector4)); +} + +/** + * Umka bindings for Vector4One(). + * + * @see Vector4One() + */ +RAYLIB_UMKA_FUNCTION(Vector4One) +void umkaVector4One(UmkaStackSlot *params, UmkaStackSlot *result) { + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector4), NULL); + Vector4 out = Vector4One(); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector4)); +} + +/** + * Umka bindings for Vector4Add(). + * + * @see Vector4Add() + */ +RAYLIB_UMKA_FUNCTION(Vector4Add) +void umkaVector4Add(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector4* v1 = (Vector4*)¶ms[2]; + Vector4* v2 = (Vector4*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector4), NULL); + Vector4 out = Vector4Add(*v1, *v2); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector4)); +} + +/** + * Umka bindings for Vector4AddValue(). + * + * @see Vector4AddValue() + */ +RAYLIB_UMKA_FUNCTION(Vector4AddValue) +void umkaVector4AddValue(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector4* v = (Vector4*)¶ms[2]; + float add = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector4), NULL); + Vector4 out = Vector4AddValue(*v, add); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector4)); +} + +/** + * Umka bindings for Vector4Subtract(). + * + * @see Vector4Subtract() + */ +RAYLIB_UMKA_FUNCTION(Vector4Subtract) +void umkaVector4Subtract(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector4* v1 = (Vector4*)¶ms[2]; + Vector4* v2 = (Vector4*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector4), NULL); + Vector4 out = Vector4Subtract(*v1, *v2); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector4)); +} + +/** + * Umka bindings for Vector4SubtractValue(). + * + * @see Vector4SubtractValue() + */ +RAYLIB_UMKA_FUNCTION(Vector4SubtractValue) +void umkaVector4SubtractValue(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector4* v = (Vector4*)¶ms[2]; + float add = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector4), NULL); + Vector4 out = Vector4SubtractValue(*v, add); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector4)); +} + +/** + * Umka bindings for Vector4Length(). + * + * @see Vector4Length() + */ +RAYLIB_UMKA_FUNCTION(Vector4Length) +void umkaVector4Length(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector4* v = (Vector4*)¶ms[0]; + result->realVal = Vector4Length(*v); +} + +/** + * Umka bindings for Vector4LengthSqr(). + * + * @see Vector4LengthSqr() + */ +RAYLIB_UMKA_FUNCTION(Vector4LengthSqr) +void umkaVector4LengthSqr(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector4* v = (Vector4*)¶ms[0]; + result->realVal = Vector4LengthSqr(*v); +} + +/** + * Umka bindings for Vector4DotProduct(). + * + * @see Vector4DotProduct() + */ +RAYLIB_UMKA_FUNCTION(Vector4DotProduct) +void umkaVector4DotProduct(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector4* v1 = (Vector4*)¶ms[1]; + Vector4* v2 = (Vector4*)¶ms[0]; + result->realVal = Vector4DotProduct(*v1, *v2); +} + +/** + * Umka bindings for Vector4Distance(). + * + * @see Vector4Distance() + */ +RAYLIB_UMKA_FUNCTION(Vector4Distance) +void umkaVector4Distance(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector4* v1 = (Vector4*)¶ms[1]; + Vector4* v2 = (Vector4*)¶ms[0]; + result->realVal = Vector4Distance(*v1, *v2); +} + +/** + * Umka bindings for Vector4DistanceSqr(). + * + * @see Vector4DistanceSqr() + */ +RAYLIB_UMKA_FUNCTION(Vector4DistanceSqr) +void umkaVector4DistanceSqr(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector4* v1 = (Vector4*)¶ms[1]; + Vector4* v2 = (Vector4*)¶ms[0]; + result->realVal = Vector4DistanceSqr(*v1, *v2); +} + +/** + * Umka bindings for Vector4Scale(). + * + * @see Vector4Scale() + */ +RAYLIB_UMKA_FUNCTION(Vector4Scale) +void umkaVector4Scale(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector4* v = (Vector4*)¶ms[2]; + float scale = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector4), NULL); + Vector4 out = Vector4Scale(*v, scale); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector4)); +} + +/** + * Umka bindings for Vector4Multiply(). + * + * @see Vector4Multiply() + */ +RAYLIB_UMKA_FUNCTION(Vector4Multiply) +void umkaVector4Multiply(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector4* v1 = (Vector4*)¶ms[2]; + Vector4* v2 = (Vector4*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector4), NULL); + Vector4 out = Vector4Multiply(*v1, *v2); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector4)); +} + +/** + * Umka bindings for Vector4Negate(). + * + * @see Vector4Negate() + */ +RAYLIB_UMKA_FUNCTION(Vector4Negate) +void umkaVector4Negate(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector4* v = (Vector4*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector4), NULL); + Vector4 out = Vector4Negate(*v); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector4)); +} + +/** + * Umka bindings for Vector4Divide(). + * + * @see Vector4Divide() + */ +RAYLIB_UMKA_FUNCTION(Vector4Divide) +void umkaVector4Divide(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector4* v1 = (Vector4*)¶ms[2]; + Vector4* v2 = (Vector4*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector4), NULL); + Vector4 out = Vector4Divide(*v1, *v2); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector4)); +} + +/** + * Umka bindings for Vector4Normalize(). + * + * @see Vector4Normalize() + */ +RAYLIB_UMKA_FUNCTION(Vector4Normalize) +void umkaVector4Normalize(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector4* v = (Vector4*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector4), NULL); + Vector4 out = Vector4Normalize(*v); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector4)); +} + +/** + * Umka bindings for Vector4Min(). + * + * @see Vector4Min() + */ +RAYLIB_UMKA_FUNCTION(Vector4Min) +void umkaVector4Min(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector4* v1 = (Vector4*)¶ms[2]; + Vector4* v2 = (Vector4*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector4), NULL); + Vector4 out = Vector4Min(*v1, *v2); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector4)); +} + +/** + * Umka bindings for Vector4Max(). * - * @see Vector3Invert() + * @see Vector4Max() */ -void umkaVector3Invert(UmkaStackSlot *params, UmkaStackSlot *result) { +RAYLIB_UMKA_FUNCTION(Vector4Max) +void umkaVector4Max(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename - Vector3* v = (Vector3*)¶ms[1]; - result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector3), NULL); - Vector3 out = Vector3Invert(*v); - RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector3)); + Vector4* v1 = (Vector4*)¶ms[2]; + Vector4* v2 = (Vector4*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector4), NULL); + Vector4 out = Vector4Max(*v1, *v2); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector4)); } /** - * Umka bindings for Vector3Clamp(). + * Umka bindings for Vector4Lerp(). * - * @see Vector3Clamp() + * @see Vector4Lerp() */ -void umkaVector3Clamp(UmkaStackSlot *params, UmkaStackSlot *result) { +RAYLIB_UMKA_FUNCTION(Vector4Lerp) +void umkaVector4Lerp(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename - Vector3* v = (Vector3*)¶ms[3]; - Vector3* min = (Vector3*)¶ms[2]; - Vector3* max = (Vector3*)¶ms[1]; - result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector3), NULL); - Vector3 out = Vector3Clamp(*v, *min, *max); - RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector3)); + Vector4* v1 = (Vector4*)¶ms[3]; + Vector4* v2 = (Vector4*)¶ms[2]; + float amount = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector4), NULL); + Vector4 out = Vector4Lerp(*v1, *v2, amount); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector4)); } /** - * Umka bindings for Vector3ClampValue(). + * Umka bindings for Vector4MoveTowards(). * - * @see Vector3ClampValue() + * @see Vector4MoveTowards() */ -void umkaVector3ClampValue(UmkaStackSlot *params, UmkaStackSlot *result) { +RAYLIB_UMKA_FUNCTION(Vector4MoveTowards) +void umkaVector4MoveTowards(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename - Vector3* v = (Vector3*)¶ms[3]; - float min = params[2].real32Val; - float max = params[1].real32Val; - result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector3), NULL); - Vector3 out = Vector3ClampValue(*v, min, max); - RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector3)); + Vector4* v = (Vector4*)¶ms[3]; + Vector4* target = (Vector4*)¶ms[2]; + float maxDistance = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector4), NULL); + Vector4 out = Vector4MoveTowards(*v, *target, maxDistance); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector4)); } /** - * Umka bindings for Vector3Equals(). + * Umka bindings for Vector4Invert(). * - * @see Vector3Equals() + * @see Vector4Invert() */ -void umkaVector3Equals(UmkaStackSlot *params, UmkaStackSlot *result) { - Vector3* p = (Vector3*)¶ms[1]; - Vector3* q = (Vector3*)¶ms[0]; - result->intVal = Vector3Equals(*p, *q); +RAYLIB_UMKA_FUNCTION(Vector4Invert) +void umkaVector4Invert(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector4* v = (Vector4*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector4), NULL); + Vector4 out = Vector4Invert(*v); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector4)); } /** - * Umka bindings for Vector3Refract(). + * Umka bindings for Vector4Equals(). * - * @see Vector3Refract() + * @see Vector4Equals() */ -void umkaVector3Refract(UmkaStackSlot *params, UmkaStackSlot *result) { - // Skipping params[0], as it's a reference to Umka's internal filename - Vector3* v = (Vector3*)¶ms[3]; - Vector3* n = (Vector3*)¶ms[2]; - float r = params[1].real32Val; - result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Vector3), NULL); - Vector3 out = Vector3Refract(*v, *n, r); - RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Vector3)); +RAYLIB_UMKA_FUNCTION(Vector4Equals) +void umkaVector4Equals(UmkaStackSlot *params, UmkaStackSlot *result) { + Vector4* p = (Vector4*)¶ms[1]; + Vector4* q = (Vector4*)¶ms[0]; + result->intVal = Vector4Equals(*p, *q); } /** @@ -6737,6 +9013,7 @@ void umkaVector3Refract(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixDeterminant() */ +RAYLIB_UMKA_FUNCTION(MatrixDeterminant) void umkaMatrixDeterminant(UmkaStackSlot *params, UmkaStackSlot *result) { Matrix* mat = (Matrix*)¶ms[0]; result->realVal = MatrixDeterminant(*mat); @@ -6747,6 +9024,7 @@ void umkaMatrixDeterminant(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixTrace() */ +RAYLIB_UMKA_FUNCTION(MatrixTrace) void umkaMatrixTrace(UmkaStackSlot *params, UmkaStackSlot *result) { Matrix* mat = (Matrix*)¶ms[0]; result->realVal = MatrixTrace(*mat); @@ -6757,6 +9035,7 @@ void umkaMatrixTrace(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixTranspose() */ +RAYLIB_UMKA_FUNCTION(MatrixTranspose) void umkaMatrixTranspose(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Matrix* mat = (Matrix*)¶ms[1]; @@ -6770,6 +9049,7 @@ void umkaMatrixTranspose(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixInvert() */ +RAYLIB_UMKA_FUNCTION(MatrixInvert) void umkaMatrixInvert(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Matrix* mat = (Matrix*)¶ms[1]; @@ -6783,6 +9063,7 @@ void umkaMatrixInvert(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixIdentity() */ +RAYLIB_UMKA_FUNCTION(MatrixIdentity) void umkaMatrixIdentity(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Matrix), NULL); Matrix out = MatrixIdentity(); @@ -6794,6 +9075,7 @@ void umkaMatrixIdentity(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixAdd() */ +RAYLIB_UMKA_FUNCTION(MatrixAdd) void umkaMatrixAdd(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Matrix* left = (Matrix*)¶ms[2]; @@ -6808,6 +9090,7 @@ void umkaMatrixAdd(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixSubtract() */ +RAYLIB_UMKA_FUNCTION(MatrixSubtract) void umkaMatrixSubtract(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Matrix* left = (Matrix*)¶ms[2]; @@ -6822,6 +9105,7 @@ void umkaMatrixSubtract(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixMultiply() */ +RAYLIB_UMKA_FUNCTION(MatrixMultiply) void umkaMatrixMultiply(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Matrix* left = (Matrix*)¶ms[2]; @@ -6831,11 +9115,27 @@ void umkaMatrixMultiply(UmkaStackSlot *params, UmkaStackSlot *result) { RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Matrix)); } +/** + * Umka bindings for MatrixMultiplyValue(). + * + * @see MatrixMultiplyValue() + */ +RAYLIB_UMKA_FUNCTION(MatrixMultiplyValue) +void umkaMatrixMultiplyValue(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Matrix* left = (Matrix*)¶ms[2]; + float value = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Matrix), NULL); + Matrix out = MatrixMultiplyValue(*left, value); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Matrix)); +} + /** * Umka bindings for MatrixTranslate(). * * @see MatrixTranslate() */ +RAYLIB_UMKA_FUNCTION(MatrixTranslate) void umkaMatrixTranslate(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename float x = params[3].real32Val; @@ -6851,6 +9151,7 @@ void umkaMatrixTranslate(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixRotate() */ +RAYLIB_UMKA_FUNCTION(MatrixRotate) void umkaMatrixRotate(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* axis = (Vector3*)¶ms[2]; @@ -6865,6 +9166,7 @@ void umkaMatrixRotate(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixRotateX() */ +RAYLIB_UMKA_FUNCTION(MatrixRotateX) void umkaMatrixRotateX(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename float angle = params[1].real32Val; @@ -6878,6 +9180,7 @@ void umkaMatrixRotateX(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixRotateY() */ +RAYLIB_UMKA_FUNCTION(MatrixRotateY) void umkaMatrixRotateY(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename float angle = params[1].real32Val; @@ -6891,6 +9194,7 @@ void umkaMatrixRotateY(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixRotateZ() */ +RAYLIB_UMKA_FUNCTION(MatrixRotateZ) void umkaMatrixRotateZ(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename float angle = params[1].real32Val; @@ -6904,6 +9208,7 @@ void umkaMatrixRotateZ(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixRotateXYZ() */ +RAYLIB_UMKA_FUNCTION(MatrixRotateXYZ) void umkaMatrixRotateXYZ(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* angle = (Vector3*)¶ms[1]; @@ -6917,6 +9222,7 @@ void umkaMatrixRotateXYZ(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixRotateZYX() */ +RAYLIB_UMKA_FUNCTION(MatrixRotateZYX) void umkaMatrixRotateZYX(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* angle = (Vector3*)¶ms[1]; @@ -6930,6 +9236,7 @@ void umkaMatrixRotateZYX(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixScale() */ +RAYLIB_UMKA_FUNCTION(MatrixScale) void umkaMatrixScale(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename float x = params[3].real32Val; @@ -6945,16 +9252,17 @@ void umkaMatrixScale(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixFrustum() */ +RAYLIB_UMKA_FUNCTION(MatrixFrustum) void umkaMatrixFrustum(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename double left = params[6].realVal; double right = params[5].realVal; double bottom = params[4].realVal; double top = params[3].realVal; - double near = params[2].realVal; - double far = params[1].realVal; + double nearPlane = params[2].realVal; + double farPlane = params[1].realVal; result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Matrix), NULL); - Matrix out = MatrixFrustum(left, right, bottom, top, near, far); + Matrix out = MatrixFrustum(left, right, bottom, top, nearPlane, farPlane); RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Matrix)); } @@ -6963,14 +9271,15 @@ void umkaMatrixFrustum(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixPerspective() */ +RAYLIB_UMKA_FUNCTION(MatrixPerspective) void umkaMatrixPerspective(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename - double fovy = params[4].realVal; + double fovY = params[4].realVal; double aspect = params[3].realVal; - double near = params[2].realVal; - double far = params[1].realVal; + double nearPlane = params[2].realVal; + double farPlane = params[1].realVal; result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Matrix), NULL); - Matrix out = MatrixPerspective(fovy, aspect, near, far); + Matrix out = MatrixPerspective(fovY, aspect, nearPlane, farPlane); RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Matrix)); } @@ -6979,16 +9288,17 @@ void umkaMatrixPerspective(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixOrtho() */ +RAYLIB_UMKA_FUNCTION(MatrixOrtho) void umkaMatrixOrtho(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename double left = params[6].realVal; double right = params[5].realVal; double bottom = params[4].realVal; double top = params[3].realVal; - double near = params[2].realVal; - double far = params[1].realVal; + double nearPlane = params[2].realVal; + double farPlane = params[1].realVal; result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Matrix), NULL); - Matrix out = MatrixOrtho(left, right, bottom, top, near, far); + Matrix out = MatrixOrtho(left, right, bottom, top, nearPlane, farPlane); RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Matrix)); } @@ -6997,6 +9307,7 @@ void umkaMatrixOrtho(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixLookAt() */ +RAYLIB_UMKA_FUNCTION(MatrixLookAt) void umkaMatrixLookAt(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* eye = (Vector3*)¶ms[3]; @@ -7012,6 +9323,7 @@ void umkaMatrixLookAt(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see MatrixToFloatV() */ +RAYLIB_UMKA_FUNCTION(MatrixToFloatV) void umkaMatrixToFloatV(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Matrix* mat = (Matrix*)¶ms[1]; @@ -7025,6 +9337,7 @@ void umkaMatrixToFloatV(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionAdd() */ +RAYLIB_UMKA_FUNCTION(QuaternionAdd) void umkaQuaternionAdd(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Quaternion* q1 = (Quaternion*)¶ms[2]; @@ -7039,6 +9352,7 @@ void umkaQuaternionAdd(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionAddValue() */ +RAYLIB_UMKA_FUNCTION(QuaternionAddValue) void umkaQuaternionAddValue(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Quaternion* q = (Quaternion*)¶ms[2]; @@ -7053,6 +9367,7 @@ void umkaQuaternionAddValue(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionSubtract() */ +RAYLIB_UMKA_FUNCTION(QuaternionSubtract) void umkaQuaternionSubtract(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Quaternion* q1 = (Quaternion*)¶ms[2]; @@ -7067,6 +9382,7 @@ void umkaQuaternionSubtract(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionSubtractValue() */ +RAYLIB_UMKA_FUNCTION(QuaternionSubtractValue) void umkaQuaternionSubtractValue(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Quaternion* q = (Quaternion*)¶ms[2]; @@ -7081,6 +9397,7 @@ void umkaQuaternionSubtractValue(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionIdentity() */ +RAYLIB_UMKA_FUNCTION(QuaternionIdentity) void umkaQuaternionIdentity(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Quaternion), NULL); Quaternion out = QuaternionIdentity(); @@ -7092,6 +9409,7 @@ void umkaQuaternionIdentity(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionLength() */ +RAYLIB_UMKA_FUNCTION(QuaternionLength) void umkaQuaternionLength(UmkaStackSlot *params, UmkaStackSlot *result) { Quaternion* q = (Quaternion*)¶ms[0]; result->realVal = QuaternionLength(*q); @@ -7102,6 +9420,7 @@ void umkaQuaternionLength(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionNormalize() */ +RAYLIB_UMKA_FUNCTION(QuaternionNormalize) void umkaQuaternionNormalize(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Quaternion* q = (Quaternion*)¶ms[1]; @@ -7115,6 +9434,7 @@ void umkaQuaternionNormalize(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionInvert() */ +RAYLIB_UMKA_FUNCTION(QuaternionInvert) void umkaQuaternionInvert(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Quaternion* q = (Quaternion*)¶ms[1]; @@ -7128,6 +9448,7 @@ void umkaQuaternionInvert(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionMultiply() */ +RAYLIB_UMKA_FUNCTION(QuaternionMultiply) void umkaQuaternionMultiply(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Quaternion* q1 = (Quaternion*)¶ms[2]; @@ -7142,6 +9463,7 @@ void umkaQuaternionMultiply(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionScale() */ +RAYLIB_UMKA_FUNCTION(QuaternionScale) void umkaQuaternionScale(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Quaternion* q = (Quaternion*)¶ms[2]; @@ -7156,6 +9478,7 @@ void umkaQuaternionScale(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionDivide() */ +RAYLIB_UMKA_FUNCTION(QuaternionDivide) void umkaQuaternionDivide(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Quaternion* q1 = (Quaternion*)¶ms[2]; @@ -7170,6 +9493,7 @@ void umkaQuaternionDivide(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionLerp() */ +RAYLIB_UMKA_FUNCTION(QuaternionLerp) void umkaQuaternionLerp(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Quaternion* q1 = (Quaternion*)¶ms[3]; @@ -7185,6 +9509,7 @@ void umkaQuaternionLerp(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionNlerp() */ +RAYLIB_UMKA_FUNCTION(QuaternionNlerp) void umkaQuaternionNlerp(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Quaternion* q1 = (Quaternion*)¶ms[3]; @@ -7200,6 +9525,7 @@ void umkaQuaternionNlerp(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionSlerp() */ +RAYLIB_UMKA_FUNCTION(QuaternionSlerp) void umkaQuaternionSlerp(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Quaternion* q1 = (Quaternion*)¶ms[3]; @@ -7210,11 +9536,30 @@ void umkaQuaternionSlerp(UmkaStackSlot *params, UmkaStackSlot *result) { RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Quaternion)); } +/** + * Umka bindings for QuaternionCubicHermiteSpline(). + * + * @see QuaternionCubicHermiteSpline() + */ +RAYLIB_UMKA_FUNCTION(QuaternionCubicHermiteSpline) +void umkaQuaternionCubicHermiteSpline(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Quaternion* q1 = (Quaternion*)¶ms[5]; + Quaternion* outTangent1 = (Quaternion*)¶ms[4]; + Quaternion* q2 = (Quaternion*)¶ms[3]; + Quaternion* inTangent2 = (Quaternion*)¶ms[2]; + float t = params[1].real32Val; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Quaternion), NULL); + Quaternion out = QuaternionCubicHermiteSpline(*q1, *outTangent1, *q2, *inTangent2, t); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Quaternion)); +} + /** * Umka bindings for QuaternionFromVector3ToVector3(). * * @see QuaternionFromVector3ToVector3() */ +RAYLIB_UMKA_FUNCTION(QuaternionFromVector3ToVector3) void umkaQuaternionFromVector3ToVector3(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* from = (Vector3*)¶ms[2]; @@ -7229,6 +9574,7 @@ void umkaQuaternionFromVector3ToVector3(UmkaStackSlot *params, UmkaStackSlot *re * * @see QuaternionFromMatrix() */ +RAYLIB_UMKA_FUNCTION(QuaternionFromMatrix) void umkaQuaternionFromMatrix(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Matrix* mat = (Matrix*)¶ms[1]; @@ -7242,6 +9588,7 @@ void umkaQuaternionFromMatrix(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionToMatrix() */ +RAYLIB_UMKA_FUNCTION(QuaternionToMatrix) void umkaQuaternionToMatrix(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Quaternion* q = (Quaternion*)¶ms[1]; @@ -7255,6 +9602,7 @@ void umkaQuaternionToMatrix(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionFromAxisAngle() */ +RAYLIB_UMKA_FUNCTION(QuaternionFromAxisAngle) void umkaQuaternionFromAxisAngle(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Vector3* axis = (Vector3*)¶ms[2]; @@ -7269,6 +9617,7 @@ void umkaQuaternionFromAxisAngle(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionToAxisAngle() */ +RAYLIB_UMKA_FUNCTION(QuaternionToAxisAngle) void umkaQuaternionToAxisAngle(UmkaStackSlot *params, UmkaStackSlot *result) { Quaternion* q = (Quaternion*)¶ms[2]; Vector3 * outAxis = (Vector3 *)params[1].ptrVal; @@ -7281,6 +9630,7 @@ void umkaQuaternionToAxisAngle(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionFromEuler() */ +RAYLIB_UMKA_FUNCTION(QuaternionFromEuler) void umkaQuaternionFromEuler(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename float pitch = params[3].real32Val; @@ -7296,6 +9646,7 @@ void umkaQuaternionFromEuler(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionToEuler() */ +RAYLIB_UMKA_FUNCTION(QuaternionToEuler) void umkaQuaternionToEuler(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Quaternion* q = (Quaternion*)¶ms[1]; @@ -7309,6 +9660,7 @@ void umkaQuaternionToEuler(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionTransform() */ +RAYLIB_UMKA_FUNCTION(QuaternionTransform) void umkaQuaternionTransform(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename Quaternion* q = (Quaternion*)¶ms[2]; @@ -7323,17 +9675,49 @@ void umkaQuaternionTransform(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see QuaternionEquals() */ +RAYLIB_UMKA_FUNCTION(QuaternionEquals) void umkaQuaternionEquals(UmkaStackSlot *params, UmkaStackSlot *result) { Quaternion* p = (Quaternion*)¶ms[1]; Quaternion* q = (Quaternion*)¶ms[0]; result->intVal = QuaternionEquals(*p, *q); } +/** + * Umka bindings for MatrixCompose(). + * + * @see MatrixCompose() + */ +RAYLIB_UMKA_FUNCTION(MatrixCompose) +void umkaMatrixCompose(UmkaStackSlot *params, UmkaStackSlot *result) { + // Skipping params[0], as it's a reference to Umka's internal filename + Vector3* translation = (Vector3*)¶ms[3]; + Quaternion* rotation = (Quaternion*)¶ms[2]; + Vector3* scale = (Vector3*)¶ms[1]; + result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Matrix), NULL); + Matrix out = MatrixCompose(*translation, *rotation, *scale); + RAYLIB_UMKA_MEMCPY(result->ptrVal, &out, sizeof(Matrix)); +} + +/** + * Umka bindings for MatrixDecompose(). + * + * @see MatrixDecompose() + */ +RAYLIB_UMKA_FUNCTION(MatrixDecompose) +void umkaMatrixDecompose(UmkaStackSlot *params, UmkaStackSlot *result) { + Matrix* mat = (Matrix*)¶ms[3]; + Vector3 * translation = (Vector3 *)params[2].ptrVal; + Quaternion * rotation = (Quaternion *)params[1].ptrVal; + Vector3 * scale = (Vector3 *)params[0].ptrVal; + MatrixDecompose(*mat, translation, rotation, scale); +} + /** * Umka bindings for rlMatrixMode(). * * @see rlMatrixMode() */ +RAYLIB_UMKA_FUNCTION(rlMatrixMode) void umkarlMatrixMode(UmkaStackSlot *params, UmkaStackSlot *result) { int mode = params[0].intVal; rlMatrixMode(mode); @@ -7344,6 +9728,7 @@ void umkarlMatrixMode(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlPushMatrix() */ +RAYLIB_UMKA_FUNCTION(rlPushMatrix) void umkarlPushMatrix(UmkaStackSlot *params, UmkaStackSlot *result) { rlPushMatrix(); } @@ -7353,6 +9738,7 @@ void umkarlPushMatrix(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlPopMatrix() */ +RAYLIB_UMKA_FUNCTION(rlPopMatrix) void umkarlPopMatrix(UmkaStackSlot *params, UmkaStackSlot *result) { rlPopMatrix(); } @@ -7362,6 +9748,7 @@ void umkarlPopMatrix(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlLoadIdentity() */ +RAYLIB_UMKA_FUNCTION(rlLoadIdentity) void umkarlLoadIdentity(UmkaStackSlot *params, UmkaStackSlot *result) { rlLoadIdentity(); } @@ -7371,6 +9758,7 @@ void umkarlLoadIdentity(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlTranslatef() */ +RAYLIB_UMKA_FUNCTION(rlTranslatef) void umkarlTranslatef(UmkaStackSlot *params, UmkaStackSlot *result) { float x = params[2].real32Val; float y = params[1].real32Val; @@ -7383,6 +9771,7 @@ void umkarlTranslatef(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlRotatef() */ +RAYLIB_UMKA_FUNCTION(rlRotatef) void umkarlRotatef(UmkaStackSlot *params, UmkaStackSlot *result) { float angle = params[3].real32Val; float x = params[2].real32Val; @@ -7396,6 +9785,7 @@ void umkarlRotatef(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlScalef() */ +RAYLIB_UMKA_FUNCTION(rlScalef) void umkarlScalef(UmkaStackSlot *params, UmkaStackSlot *result) { float x = params[2].real32Val; float y = params[1].real32Val; @@ -7408,8 +9798,9 @@ void umkarlScalef(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlMultMatrixf() */ +RAYLIB_UMKA_FUNCTION(rlMultMatrixf) void umkarlMultMatrixf(UmkaStackSlot *params, UmkaStackSlot *result) { - float * matf = (float *)params[0].ptrVal; + const float * matf = (const float *)params[0].ptrVal; rlMultMatrixf(matf); } @@ -7418,6 +9809,7 @@ void umkarlMultMatrixf(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlFrustum() */ +RAYLIB_UMKA_FUNCTION(rlFrustum) void umkarlFrustum(UmkaStackSlot *params, UmkaStackSlot *result) { double left = params[5].realVal; double right = params[4].realVal; @@ -7433,6 +9825,7 @@ void umkarlFrustum(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlOrtho() */ +RAYLIB_UMKA_FUNCTION(rlOrtho) void umkarlOrtho(UmkaStackSlot *params, UmkaStackSlot *result) { double left = params[5].realVal; double right = params[4].realVal; @@ -7448,6 +9841,7 @@ void umkarlOrtho(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlViewport() */ +RAYLIB_UMKA_FUNCTION(rlViewport) void umkarlViewport(UmkaStackSlot *params, UmkaStackSlot *result) { int x = params[3].intVal; int y = params[2].intVal; @@ -7456,11 +9850,44 @@ void umkarlViewport(UmkaStackSlot *params, UmkaStackSlot *result) { rlViewport(x, y, width, height); } +/** + * Umka bindings for rlSetClipPlanes(). + * + * @see rlSetClipPlanes() + */ +RAYLIB_UMKA_FUNCTION(rlSetClipPlanes) +void umkarlSetClipPlanes(UmkaStackSlot *params, UmkaStackSlot *result) { + double nearPlane = params[1].realVal; + double farPlane = params[0].realVal; + rlSetClipPlanes(nearPlane, farPlane); +} + +/** + * Umka bindings for rlGetCullDistanceNear(). + * + * @see rlGetCullDistanceNear() + */ +RAYLIB_UMKA_FUNCTION(rlGetCullDistanceNear) +void umkarlGetCullDistanceNear(UmkaStackSlot *params, UmkaStackSlot *result) { + result->realVal = rlGetCullDistanceNear(); +} + +/** + * Umka bindings for rlGetCullDistanceFar(). + * + * @see rlGetCullDistanceFar() + */ +RAYLIB_UMKA_FUNCTION(rlGetCullDistanceFar) +void umkarlGetCullDistanceFar(UmkaStackSlot *params, UmkaStackSlot *result) { + result->realVal = rlGetCullDistanceFar(); +} + /** * Umka bindings for rlBegin(). * * @see rlBegin() */ +RAYLIB_UMKA_FUNCTION(rlBegin) void umkarlBegin(UmkaStackSlot *params, UmkaStackSlot *result) { int mode = params[0].intVal; rlBegin(mode); @@ -7471,6 +9898,7 @@ void umkarlBegin(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlEnd() */ +RAYLIB_UMKA_FUNCTION(rlEnd) void umkarlEnd(UmkaStackSlot *params, UmkaStackSlot *result) { rlEnd(); } @@ -7480,6 +9908,7 @@ void umkarlEnd(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlVertex2i() */ +RAYLIB_UMKA_FUNCTION(rlVertex2i) void umkarlVertex2i(UmkaStackSlot *params, UmkaStackSlot *result) { int x = params[1].intVal; int y = params[0].intVal; @@ -7491,6 +9920,7 @@ void umkarlVertex2i(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlVertex2f() */ +RAYLIB_UMKA_FUNCTION(rlVertex2f) void umkarlVertex2f(UmkaStackSlot *params, UmkaStackSlot *result) { float x = params[1].real32Val; float y = params[0].real32Val; @@ -7502,6 +9932,7 @@ void umkarlVertex2f(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlVertex3f() */ +RAYLIB_UMKA_FUNCTION(rlVertex3f) void umkarlVertex3f(UmkaStackSlot *params, UmkaStackSlot *result) { float x = params[2].real32Val; float y = params[1].real32Val; @@ -7514,6 +9945,7 @@ void umkarlVertex3f(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlTexCoord2f() */ +RAYLIB_UMKA_FUNCTION(rlTexCoord2f) void umkarlTexCoord2f(UmkaStackSlot *params, UmkaStackSlot *result) { float x = params[1].real32Val; float y = params[0].real32Val; @@ -7525,6 +9957,7 @@ void umkarlTexCoord2f(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlNormal3f() */ +RAYLIB_UMKA_FUNCTION(rlNormal3f) void umkarlNormal3f(UmkaStackSlot *params, UmkaStackSlot *result) { float x = params[2].real32Val; float y = params[1].real32Val; @@ -7537,6 +9970,7 @@ void umkarlNormal3f(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlColor4ub() */ +RAYLIB_UMKA_FUNCTION(rlColor4ub) void umkarlColor4ub(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned char r = params[3].uintVal; unsigned char g = params[2].uintVal; @@ -7550,6 +9984,7 @@ void umkarlColor4ub(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlColor3f() */ +RAYLIB_UMKA_FUNCTION(rlColor3f) void umkarlColor3f(UmkaStackSlot *params, UmkaStackSlot *result) { float x = params[2].real32Val; float y = params[1].real32Val; @@ -7562,6 +9997,7 @@ void umkarlColor3f(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlColor4f() */ +RAYLIB_UMKA_FUNCTION(rlColor4f) void umkarlColor4f(UmkaStackSlot *params, UmkaStackSlot *result) { float x = params[3].real32Val; float y = params[2].real32Val; @@ -7575,6 +10011,7 @@ void umkarlColor4f(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlEnableVertexArray() */ +RAYLIB_UMKA_FUNCTION(rlEnableVertexArray) void umkarlEnableVertexArray(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int vaoId = params[0].uintVal; result->intVal = (int)rlEnableVertexArray(vaoId); @@ -7585,6 +10022,7 @@ void umkarlEnableVertexArray(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlDisableVertexArray() */ +RAYLIB_UMKA_FUNCTION(rlDisableVertexArray) void umkarlDisableVertexArray(UmkaStackSlot *params, UmkaStackSlot *result) { rlDisableVertexArray(); } @@ -7594,6 +10032,7 @@ void umkarlDisableVertexArray(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlEnableVertexBuffer() */ +RAYLIB_UMKA_FUNCTION(rlEnableVertexBuffer) void umkarlEnableVertexBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[0].uintVal; rlEnableVertexBuffer(id); @@ -7604,6 +10043,7 @@ void umkarlEnableVertexBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlDisableVertexBuffer() */ +RAYLIB_UMKA_FUNCTION(rlDisableVertexBuffer) void umkarlDisableVertexBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { rlDisableVertexBuffer(); } @@ -7613,6 +10053,7 @@ void umkarlDisableVertexBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlEnableVertexBufferElement() */ +RAYLIB_UMKA_FUNCTION(rlEnableVertexBufferElement) void umkarlEnableVertexBufferElement(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[0].uintVal; rlEnableVertexBufferElement(id); @@ -7623,6 +10064,7 @@ void umkarlEnableVertexBufferElement(UmkaStackSlot *params, UmkaStackSlot *resul * * @see rlDisableVertexBufferElement() */ +RAYLIB_UMKA_FUNCTION(rlDisableVertexBufferElement) void umkarlDisableVertexBufferElement(UmkaStackSlot *params, UmkaStackSlot *result) { rlDisableVertexBufferElement(); } @@ -7632,6 +10074,7 @@ void umkarlDisableVertexBufferElement(UmkaStackSlot *params, UmkaStackSlot *resu * * @see rlEnableVertexAttribute() */ +RAYLIB_UMKA_FUNCTION(rlEnableVertexAttribute) void umkarlEnableVertexAttribute(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int index = params[0].uintVal; rlEnableVertexAttribute(index); @@ -7642,6 +10085,7 @@ void umkarlEnableVertexAttribute(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlDisableVertexAttribute() */ +RAYLIB_UMKA_FUNCTION(rlDisableVertexAttribute) void umkarlDisableVertexAttribute(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int index = params[0].uintVal; rlDisableVertexAttribute(index); @@ -7656,6 +10100,7 @@ void umkarlDisableVertexAttribute(UmkaStackSlot *params, UmkaStackSlot *result) * * @see rlActiveTextureSlot() */ +RAYLIB_UMKA_FUNCTION(rlActiveTextureSlot) void umkarlActiveTextureSlot(UmkaStackSlot *params, UmkaStackSlot *result) { int slot = params[0].intVal; rlActiveTextureSlot(slot); @@ -7666,6 +10111,7 @@ void umkarlActiveTextureSlot(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlEnableTexture() */ +RAYLIB_UMKA_FUNCTION(rlEnableTexture) void umkarlEnableTexture(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[0].uintVal; rlEnableTexture(id); @@ -7676,6 +10122,7 @@ void umkarlEnableTexture(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlDisableTexture() */ +RAYLIB_UMKA_FUNCTION(rlDisableTexture) void umkarlDisableTexture(UmkaStackSlot *params, UmkaStackSlot *result) { rlDisableTexture(); } @@ -7685,6 +10132,7 @@ void umkarlDisableTexture(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlEnableTextureCubemap() */ +RAYLIB_UMKA_FUNCTION(rlEnableTextureCubemap) void umkarlEnableTextureCubemap(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[0].uintVal; rlEnableTextureCubemap(id); @@ -7695,6 +10143,7 @@ void umkarlEnableTextureCubemap(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlDisableTextureCubemap() */ +RAYLIB_UMKA_FUNCTION(rlDisableTextureCubemap) void umkarlDisableTextureCubemap(UmkaStackSlot *params, UmkaStackSlot *result) { rlDisableTextureCubemap(); } @@ -7704,6 +10153,7 @@ void umkarlDisableTextureCubemap(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlTextureParameters() */ +RAYLIB_UMKA_FUNCTION(rlTextureParameters) void umkarlTextureParameters(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[2].uintVal; int param = params[1].intVal; @@ -7711,11 +10161,25 @@ void umkarlTextureParameters(UmkaStackSlot *params, UmkaStackSlot *result) { rlTextureParameters(id, param, value); } +/** + * Umka bindings for rlCubemapParameters(). + * + * @see rlCubemapParameters() + */ +RAYLIB_UMKA_FUNCTION(rlCubemapParameters) +void umkarlCubemapParameters(UmkaStackSlot *params, UmkaStackSlot *result) { + unsigned int id = params[2].uintVal; + int param = params[1].intVal; + int value = params[0].intVal; + rlCubemapParameters(id, param, value); +} + /** * Umka bindings for rlEnableShader(). * * @see rlEnableShader() */ +RAYLIB_UMKA_FUNCTION(rlEnableShader) void umkarlEnableShader(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[0].uintVal; rlEnableShader(id); @@ -7726,6 +10190,7 @@ void umkarlEnableShader(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlDisableShader() */ +RAYLIB_UMKA_FUNCTION(rlDisableShader) void umkarlDisableShader(UmkaStackSlot *params, UmkaStackSlot *result) { rlDisableShader(); } @@ -7735,6 +10200,7 @@ void umkarlDisableShader(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlEnableFramebuffer() */ +RAYLIB_UMKA_FUNCTION(rlEnableFramebuffer) void umkarlEnableFramebuffer(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[0].uintVal; rlEnableFramebuffer(id); @@ -7745,25 +10211,69 @@ void umkarlEnableFramebuffer(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlDisableFramebuffer() */ +RAYLIB_UMKA_FUNCTION(rlDisableFramebuffer) void umkarlDisableFramebuffer(UmkaStackSlot *params, UmkaStackSlot *result) { rlDisableFramebuffer(); } +/** + * Umka bindings for rlGetActiveFramebuffer(). + * + * @see rlGetActiveFramebuffer() + */ +RAYLIB_UMKA_FUNCTION(rlGetActiveFramebuffer) +void umkarlGetActiveFramebuffer(UmkaStackSlot *params, UmkaStackSlot *result) { + result->uintVal = rlGetActiveFramebuffer(); +} + /** * Umka bindings for rlActiveDrawBuffers(). * * @see rlActiveDrawBuffers() */ +RAYLIB_UMKA_FUNCTION(rlActiveDrawBuffers) void umkarlActiveDrawBuffers(UmkaStackSlot *params, UmkaStackSlot *result) { int count = params[0].intVal; rlActiveDrawBuffers(count); } +/** + * Umka bindings for rlBlitFramebuffer(). + * + * @see rlBlitFramebuffer() + */ +RAYLIB_UMKA_FUNCTION(rlBlitFramebuffer) +void umkarlBlitFramebuffer(UmkaStackSlot *params, UmkaStackSlot *result) { + int srcX = params[8].intVal; + int srcY = params[7].intVal; + int srcWidth = params[6].intVal; + int srcHeight = params[5].intVal; + int dstX = params[4].intVal; + int dstY = params[3].intVal; + int dstWidth = params[2].intVal; + int dstHeight = params[1].intVal; + int bufferMask = params[0].intVal; + rlBlitFramebuffer(srcX, srcY, srcWidth, srcHeight, dstX, dstY, dstWidth, dstHeight, bufferMask); +} + +/** + * Umka bindings for rlBindFramebuffer(). + * + * @see rlBindFramebuffer() + */ +RAYLIB_UMKA_FUNCTION(rlBindFramebuffer) +void umkarlBindFramebuffer(UmkaStackSlot *params, UmkaStackSlot *result) { + unsigned int target = params[1].uintVal; + unsigned int framebuffer = params[0].uintVal; + rlBindFramebuffer(target, framebuffer); +} + /** * Umka bindings for rlEnableColorBlend(). * * @see rlEnableColorBlend() */ +RAYLIB_UMKA_FUNCTION(rlEnableColorBlend) void umkarlEnableColorBlend(UmkaStackSlot *params, UmkaStackSlot *result) { rlEnableColorBlend(); } @@ -7773,6 +10283,7 @@ void umkarlEnableColorBlend(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlDisableColorBlend() */ +RAYLIB_UMKA_FUNCTION(rlDisableColorBlend) void umkarlDisableColorBlend(UmkaStackSlot *params, UmkaStackSlot *result) { rlDisableColorBlend(); } @@ -7782,6 +10293,7 @@ void umkarlDisableColorBlend(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlEnableDepthTest() */ +RAYLIB_UMKA_FUNCTION(rlEnableDepthTest) void umkarlEnableDepthTest(UmkaStackSlot *params, UmkaStackSlot *result) { rlEnableDepthTest(); } @@ -7791,6 +10303,7 @@ void umkarlEnableDepthTest(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlDisableDepthTest() */ +RAYLIB_UMKA_FUNCTION(rlDisableDepthTest) void umkarlDisableDepthTest(UmkaStackSlot *params, UmkaStackSlot *result) { rlDisableDepthTest(); } @@ -7800,6 +10313,7 @@ void umkarlDisableDepthTest(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlEnableDepthMask() */ +RAYLIB_UMKA_FUNCTION(rlEnableDepthMask) void umkarlEnableDepthMask(UmkaStackSlot *params, UmkaStackSlot *result) { rlEnableDepthMask(); } @@ -7809,6 +10323,7 @@ void umkarlEnableDepthMask(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlDisableDepthMask() */ +RAYLIB_UMKA_FUNCTION(rlDisableDepthMask) void umkarlDisableDepthMask(UmkaStackSlot *params, UmkaStackSlot *result) { rlDisableDepthMask(); } @@ -7818,6 +10333,7 @@ void umkarlDisableDepthMask(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlEnableBackfaceCulling() */ +RAYLIB_UMKA_FUNCTION(rlEnableBackfaceCulling) void umkarlEnableBackfaceCulling(UmkaStackSlot *params, UmkaStackSlot *result) { rlEnableBackfaceCulling(); } @@ -7827,15 +10343,42 @@ void umkarlEnableBackfaceCulling(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlDisableBackfaceCulling() */ +RAYLIB_UMKA_FUNCTION(rlDisableBackfaceCulling) void umkarlDisableBackfaceCulling(UmkaStackSlot *params, UmkaStackSlot *result) { rlDisableBackfaceCulling(); } +/** + * Umka bindings for rlColorMask(). + * + * @see rlColorMask() + */ +RAYLIB_UMKA_FUNCTION(rlColorMask) +void umkarlColorMask(UmkaStackSlot *params, UmkaStackSlot *result) { + bool r = (bool)params[3].intVal; + bool g = (bool)params[2].intVal; + bool b = (bool)params[1].intVal; + bool a = (bool)params[0].intVal; + rlColorMask(r, g, b, a); +} + +/** + * Umka bindings for rlSetCullFace(). + * + * @see rlSetCullFace() + */ +RAYLIB_UMKA_FUNCTION(rlSetCullFace) +void umkarlSetCullFace(UmkaStackSlot *params, UmkaStackSlot *result) { + int mode = params[0].intVal; + rlSetCullFace(mode); +} + /** * Umka bindings for rlEnableScissorTest(). * * @see rlEnableScissorTest() */ +RAYLIB_UMKA_FUNCTION(rlEnableScissorTest) void umkarlEnableScissorTest(UmkaStackSlot *params, UmkaStackSlot *result) { rlEnableScissorTest(); } @@ -7845,6 +10388,7 @@ void umkarlEnableScissorTest(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlDisableScissorTest() */ +RAYLIB_UMKA_FUNCTION(rlDisableScissorTest) void umkarlDisableScissorTest(UmkaStackSlot *params, UmkaStackSlot *result) { rlDisableScissorTest(); } @@ -7854,6 +10398,7 @@ void umkarlDisableScissorTest(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlScissor() */ +RAYLIB_UMKA_FUNCTION(rlScissor) void umkarlScissor(UmkaStackSlot *params, UmkaStackSlot *result) { int x = params[3].intVal; int y = params[2].intVal; @@ -7862,11 +10407,53 @@ void umkarlScissor(UmkaStackSlot *params, UmkaStackSlot *result) { rlScissor(x, y, width, height); } +/** + * Umka bindings for rlEnablePointMode(). + * + * @see rlEnablePointMode() + */ +RAYLIB_UMKA_FUNCTION(rlEnablePointMode) +void umkarlEnablePointMode(UmkaStackSlot *params, UmkaStackSlot *result) { + rlEnablePointMode(); +} + +/** + * Umka bindings for rlDisablePointMode(). + * + * @see rlDisablePointMode() + */ +RAYLIB_UMKA_FUNCTION(rlDisablePointMode) +void umkarlDisablePointMode(UmkaStackSlot *params, UmkaStackSlot *result) { + rlDisablePointMode(); +} + +/** + * Umka bindings for rlSetPointSize(). + * + * @see rlSetPointSize() + */ +RAYLIB_UMKA_FUNCTION(rlSetPointSize) +void umkarlSetPointSize(UmkaStackSlot *params, UmkaStackSlot *result) { + float size = params[0].real32Val; + rlSetPointSize(size); +} + +/** + * Umka bindings for rlGetPointSize(). + * + * @see rlGetPointSize() + */ +RAYLIB_UMKA_FUNCTION(rlGetPointSize) +void umkarlGetPointSize(UmkaStackSlot *params, UmkaStackSlot *result) { + result->realVal = rlGetPointSize(); +} + /** * Umka bindings for rlEnableWireMode(). * * @see rlEnableWireMode() */ +RAYLIB_UMKA_FUNCTION(rlEnableWireMode) void umkarlEnableWireMode(UmkaStackSlot *params, UmkaStackSlot *result) { rlEnableWireMode(); } @@ -7876,6 +10463,7 @@ void umkarlEnableWireMode(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlDisableWireMode() */ +RAYLIB_UMKA_FUNCTION(rlDisableWireMode) void umkarlDisableWireMode(UmkaStackSlot *params, UmkaStackSlot *result) { rlDisableWireMode(); } @@ -7885,6 +10473,7 @@ void umkarlDisableWireMode(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlSetLineWidth() */ +RAYLIB_UMKA_FUNCTION(rlSetLineWidth) void umkarlSetLineWidth(UmkaStackSlot *params, UmkaStackSlot *result) { float width = params[0].real32Val; rlSetLineWidth(width); @@ -7895,6 +10484,7 @@ void umkarlSetLineWidth(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlGetLineWidth() */ +RAYLIB_UMKA_FUNCTION(rlGetLineWidth) void umkarlGetLineWidth(UmkaStackSlot *params, UmkaStackSlot *result) { result->realVal = rlGetLineWidth(); } @@ -7904,6 +10494,7 @@ void umkarlGetLineWidth(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlEnableSmoothLines() */ +RAYLIB_UMKA_FUNCTION(rlEnableSmoothLines) void umkarlEnableSmoothLines(UmkaStackSlot *params, UmkaStackSlot *result) { rlEnableSmoothLines(); } @@ -7913,6 +10504,7 @@ void umkarlEnableSmoothLines(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlDisableSmoothLines() */ +RAYLIB_UMKA_FUNCTION(rlDisableSmoothLines) void umkarlDisableSmoothLines(UmkaStackSlot *params, UmkaStackSlot *result) { rlDisableSmoothLines(); } @@ -7922,6 +10514,7 @@ void umkarlDisableSmoothLines(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlEnableStereoRender() */ +RAYLIB_UMKA_FUNCTION(rlEnableStereoRender) void umkarlEnableStereoRender(UmkaStackSlot *params, UmkaStackSlot *result) { rlEnableStereoRender(); } @@ -7931,6 +10524,7 @@ void umkarlEnableStereoRender(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlDisableStereoRender() */ +RAYLIB_UMKA_FUNCTION(rlDisableStereoRender) void umkarlDisableStereoRender(UmkaStackSlot *params, UmkaStackSlot *result) { rlDisableStereoRender(); } @@ -7940,6 +10534,7 @@ void umkarlDisableStereoRender(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlIsStereoRenderEnabled() */ +RAYLIB_UMKA_FUNCTION(rlIsStereoRenderEnabled) void umkarlIsStereoRenderEnabled(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = (int)rlIsStereoRenderEnabled(); } @@ -7949,6 +10544,7 @@ void umkarlIsStereoRenderEnabled(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlClearColor() */ +RAYLIB_UMKA_FUNCTION(rlClearColor) void umkarlClearColor(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned char r = params[3].uintVal; unsigned char g = params[2].uintVal; @@ -7962,6 +10558,7 @@ void umkarlClearColor(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlClearScreenBuffers() */ +RAYLIB_UMKA_FUNCTION(rlClearScreenBuffers) void umkarlClearScreenBuffers(UmkaStackSlot *params, UmkaStackSlot *result) { rlClearScreenBuffers(); } @@ -7971,6 +10568,7 @@ void umkarlClearScreenBuffers(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlCheckErrors() */ +RAYLIB_UMKA_FUNCTION(rlCheckErrors) void umkarlCheckErrors(UmkaStackSlot *params, UmkaStackSlot *result) { rlCheckErrors(); } @@ -7980,6 +10578,7 @@ void umkarlCheckErrors(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlSetBlendMode() */ +RAYLIB_UMKA_FUNCTION(rlSetBlendMode) void umkarlSetBlendMode(UmkaStackSlot *params, UmkaStackSlot *result) { int mode = params[0].intVal; rlSetBlendMode(mode); @@ -7990,6 +10589,7 @@ void umkarlSetBlendMode(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlSetBlendFactors() */ +RAYLIB_UMKA_FUNCTION(rlSetBlendFactors) void umkarlSetBlendFactors(UmkaStackSlot *params, UmkaStackSlot *result) { int glSrcFactor = params[2].intVal; int glDstFactor = params[1].intVal; @@ -7997,11 +10597,28 @@ void umkarlSetBlendFactors(UmkaStackSlot *params, UmkaStackSlot *result) { rlSetBlendFactors(glSrcFactor, glDstFactor, glEquation); } +/** + * Umka bindings for rlSetBlendFactorsSeparate(). + * + * @see rlSetBlendFactorsSeparate() + */ +RAYLIB_UMKA_FUNCTION(rlSetBlendFactorsSeparate) +void umkarlSetBlendFactorsSeparate(UmkaStackSlot *params, UmkaStackSlot *result) { + int glSrcRGB = params[5].intVal; + int glDstRGB = params[4].intVal; + int glSrcAlpha = params[3].intVal; + int glDstAlpha = params[2].intVal; + int glEqRGB = params[1].intVal; + int glEqAlpha = params[0].intVal; + rlSetBlendFactorsSeparate(glSrcRGB, glDstRGB, glSrcAlpha, glDstAlpha, glEqRGB, glEqAlpha); +} + /** * Umka bindings for rlglInit(). * * @see rlglInit() */ +RAYLIB_UMKA_FUNCTION(rlglInit) void umkarlglInit(UmkaStackSlot *params, UmkaStackSlot *result) { int width = params[1].intVal; int height = params[0].intVal; @@ -8013,6 +10630,7 @@ void umkarlglInit(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlglClose() */ +RAYLIB_UMKA_FUNCTION(rlglClose) void umkarlglClose(UmkaStackSlot *params, UmkaStackSlot *result) { rlglClose(); } @@ -8022,16 +10640,29 @@ void umkarlglClose(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlLoadExtensions() */ +RAYLIB_UMKA_FUNCTION(rlLoadExtensions) void umkarlLoadExtensions(UmkaStackSlot *params, UmkaStackSlot *result) { void * loader = (void *)params[0].ptrVal; rlLoadExtensions(loader); } +/** + * Umka bindings for rlGetProcAddress(). + * + * @see rlGetProcAddress() + */ +RAYLIB_UMKA_FUNCTION(rlGetProcAddress) +void umkarlGetProcAddress(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * procName = (const char *)params[0].ptrVal; + result->ptrVal = (void*)rlGetProcAddress(procName); +} + /** * Umka bindings for rlGetVersion(). * * @see rlGetVersion() */ +RAYLIB_UMKA_FUNCTION(rlGetVersion) void umkarlGetVersion(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = rlGetVersion(); } @@ -8041,6 +10672,7 @@ void umkarlGetVersion(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlSetFramebufferWidth() */ +RAYLIB_UMKA_FUNCTION(rlSetFramebufferWidth) void umkarlSetFramebufferWidth(UmkaStackSlot *params, UmkaStackSlot *result) { int width = params[0].intVal; rlSetFramebufferWidth(width); @@ -8051,6 +10683,7 @@ void umkarlSetFramebufferWidth(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlGetFramebufferWidth() */ +RAYLIB_UMKA_FUNCTION(rlGetFramebufferWidth) void umkarlGetFramebufferWidth(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = rlGetFramebufferWidth(); } @@ -8060,6 +10693,7 @@ void umkarlGetFramebufferWidth(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlSetFramebufferHeight() */ +RAYLIB_UMKA_FUNCTION(rlSetFramebufferHeight) void umkarlSetFramebufferHeight(UmkaStackSlot *params, UmkaStackSlot *result) { int height = params[0].intVal; rlSetFramebufferHeight(height); @@ -8070,6 +10704,7 @@ void umkarlSetFramebufferHeight(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlGetFramebufferHeight() */ +RAYLIB_UMKA_FUNCTION(rlGetFramebufferHeight) void umkarlGetFramebufferHeight(UmkaStackSlot *params, UmkaStackSlot *result) { result->intVal = rlGetFramebufferHeight(); } @@ -8079,6 +10714,7 @@ void umkarlGetFramebufferHeight(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlGetTextureIdDefault() */ +RAYLIB_UMKA_FUNCTION(rlGetTextureIdDefault) void umkarlGetTextureIdDefault(UmkaStackSlot *params, UmkaStackSlot *result) { result->uintVal = rlGetTextureIdDefault(); } @@ -8088,6 +10724,7 @@ void umkarlGetTextureIdDefault(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlGetShaderIdDefault() */ +RAYLIB_UMKA_FUNCTION(rlGetShaderIdDefault) void umkarlGetShaderIdDefault(UmkaStackSlot *params, UmkaStackSlot *result) { result->uintVal = rlGetShaderIdDefault(); } @@ -8097,6 +10734,7 @@ void umkarlGetShaderIdDefault(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlGetShaderLocsDefault() */ +RAYLIB_UMKA_FUNCTION(rlGetShaderLocsDefault) void umkarlGetShaderLocsDefault(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = (void*)rlGetShaderLocsDefault(); } @@ -8114,6 +10752,7 @@ void umkarlGetShaderLocsDefault(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlDrawRenderBatchActive() */ +RAYLIB_UMKA_FUNCTION(rlDrawRenderBatchActive) void umkarlDrawRenderBatchActive(UmkaStackSlot *params, UmkaStackSlot *result) { rlDrawRenderBatchActive(); } @@ -8123,6 +10762,7 @@ void umkarlDrawRenderBatchActive(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlCheckRenderBatchLimit() */ +RAYLIB_UMKA_FUNCTION(rlCheckRenderBatchLimit) void umkarlCheckRenderBatchLimit(UmkaStackSlot *params, UmkaStackSlot *result) { int vCount = params[0].intVal; result->intVal = (int)rlCheckRenderBatchLimit(vCount); @@ -8133,6 +10773,7 @@ void umkarlCheckRenderBatchLimit(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlSetTexture() */ +RAYLIB_UMKA_FUNCTION(rlSetTexture) void umkarlSetTexture(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[0].uintVal; rlSetTexture(id); @@ -8143,6 +10784,7 @@ void umkarlSetTexture(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlLoadVertexArray() */ +RAYLIB_UMKA_FUNCTION(rlLoadVertexArray) void umkarlLoadVertexArray(UmkaStackSlot *params, UmkaStackSlot *result) { result->uintVal = rlLoadVertexArray(); } @@ -8152,6 +10794,7 @@ void umkarlLoadVertexArray(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlLoadVertexBuffer() */ +RAYLIB_UMKA_FUNCTION(rlLoadVertexBuffer) void umkarlLoadVertexBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { const void * buffer = (const void *)params[2].ptrVal; int size = params[1].intVal; @@ -8164,6 +10807,7 @@ void umkarlLoadVertexBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlLoadVertexBufferElement() */ +RAYLIB_UMKA_FUNCTION(rlLoadVertexBufferElement) void umkarlLoadVertexBufferElement(UmkaStackSlot *params, UmkaStackSlot *result) { const void * buffer = (const void *)params[2].ptrVal; int size = params[1].intVal; @@ -8176,6 +10820,7 @@ void umkarlLoadVertexBufferElement(UmkaStackSlot *params, UmkaStackSlot *result) * * @see rlUpdateVertexBuffer() */ +RAYLIB_UMKA_FUNCTION(rlUpdateVertexBuffer) void umkarlUpdateVertexBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int bufferId = params[3].uintVal; const void * data = (const void *)params[2].ptrVal; @@ -8189,6 +10834,7 @@ void umkarlUpdateVertexBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlUpdateVertexBufferElements() */ +RAYLIB_UMKA_FUNCTION(rlUpdateVertexBufferElements) void umkarlUpdateVertexBufferElements(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[3].uintVal; const void * data = (const void *)params[2].ptrVal; @@ -8202,6 +10848,7 @@ void umkarlUpdateVertexBufferElements(UmkaStackSlot *params, UmkaStackSlot *resu * * @see rlUnloadVertexArray() */ +RAYLIB_UMKA_FUNCTION(rlUnloadVertexArray) void umkarlUnloadVertexArray(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int vaoId = params[0].uintVal; rlUnloadVertexArray(vaoId); @@ -8212,6 +10859,7 @@ void umkarlUnloadVertexArray(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlUnloadVertexBuffer() */ +RAYLIB_UMKA_FUNCTION(rlUnloadVertexBuffer) void umkarlUnloadVertexBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int vboId = params[0].uintVal; rlUnloadVertexBuffer(vboId); @@ -8222,14 +10870,15 @@ void umkarlUnloadVertexBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlSetVertexAttribute() */ +RAYLIB_UMKA_FUNCTION(rlSetVertexAttribute) void umkarlSetVertexAttribute(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int index = params[5].uintVal; int compSize = params[4].intVal; int type = params[3].intVal; bool normalized = (bool)params[2].intVal; int stride = params[1].intVal; - const void * pointer = (const void *)params[0].ptrVal; - rlSetVertexAttribute(index, compSize, type, normalized, stride, pointer); + int offset = params[0].intVal; + rlSetVertexAttribute(index, compSize, type, normalized, stride, offset); } /** @@ -8237,6 +10886,7 @@ void umkarlSetVertexAttribute(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlSetVertexAttributeDivisor() */ +RAYLIB_UMKA_FUNCTION(rlSetVertexAttributeDivisor) void umkarlSetVertexAttributeDivisor(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int index = params[1].uintVal; int divisor = params[0].intVal; @@ -8248,6 +10898,7 @@ void umkarlSetVertexAttributeDivisor(UmkaStackSlot *params, UmkaStackSlot *resul * * @see rlSetVertexAttributeDefault() */ +RAYLIB_UMKA_FUNCTION(rlSetVertexAttributeDefault) void umkarlSetVertexAttributeDefault(UmkaStackSlot *params, UmkaStackSlot *result) { int locIndex = params[3].intVal; const void * value = (const void *)params[2].ptrVal; @@ -8261,6 +10912,7 @@ void umkarlSetVertexAttributeDefault(UmkaStackSlot *params, UmkaStackSlot *resul * * @see rlDrawVertexArray() */ +RAYLIB_UMKA_FUNCTION(rlDrawVertexArray) void umkarlDrawVertexArray(UmkaStackSlot *params, UmkaStackSlot *result) { int offset = params[1].intVal; int count = params[0].intVal; @@ -8272,6 +10924,7 @@ void umkarlDrawVertexArray(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlDrawVertexArrayElements() */ +RAYLIB_UMKA_FUNCTION(rlDrawVertexArrayElements) void umkarlDrawVertexArrayElements(UmkaStackSlot *params, UmkaStackSlot *result) { int offset = params[2].intVal; int count = params[1].intVal; @@ -8284,6 +10937,7 @@ void umkarlDrawVertexArrayElements(UmkaStackSlot *params, UmkaStackSlot *result) * * @see rlDrawVertexArrayInstanced() */ +RAYLIB_UMKA_FUNCTION(rlDrawVertexArrayInstanced) void umkarlDrawVertexArrayInstanced(UmkaStackSlot *params, UmkaStackSlot *result) { int offset = params[2].intVal; int count = params[1].intVal; @@ -8296,6 +10950,7 @@ void umkarlDrawVertexArrayInstanced(UmkaStackSlot *params, UmkaStackSlot *result * * @see rlDrawVertexArrayElementsInstanced() */ +RAYLIB_UMKA_FUNCTION(rlDrawVertexArrayElementsInstanced) void umkarlDrawVertexArrayElementsInstanced(UmkaStackSlot *params, UmkaStackSlot *result) { int offset = params[3].intVal; int count = params[2].intVal; @@ -8309,6 +10964,7 @@ void umkarlDrawVertexArrayElementsInstanced(UmkaStackSlot *params, UmkaStackSlot * * @see rlLoadTexture() */ +RAYLIB_UMKA_FUNCTION(rlLoadTexture) void umkarlLoadTexture(UmkaStackSlot *params, UmkaStackSlot *result) { const void * data = (const void *)params[4].ptrVal; int width = params[3].intVal; @@ -8323,6 +10979,7 @@ void umkarlLoadTexture(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlLoadTextureDepth() */ +RAYLIB_UMKA_FUNCTION(rlLoadTextureDepth) void umkarlLoadTextureDepth(UmkaStackSlot *params, UmkaStackSlot *result) { int width = params[2].intVal; int height = params[1].intVal; @@ -8335,11 +10992,13 @@ void umkarlLoadTextureDepth(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlLoadTextureCubemap() */ +RAYLIB_UMKA_FUNCTION(rlLoadTextureCubemap) void umkarlLoadTextureCubemap(UmkaStackSlot *params, UmkaStackSlot *result) { - const void * data = (const void *)params[2].ptrVal; - int size = params[1].intVal; - int format = params[0].intVal; - result->uintVal = rlLoadTextureCubemap(data, size, format); + const void * data = (const void *)params[3].ptrVal; + int size = params[2].intVal; + int format = params[1].intVal; + int mipmapCount = params[0].intVal; + result->uintVal = rlLoadTextureCubemap(data, size, format, mipmapCount); } /** @@ -8347,6 +11006,7 @@ void umkarlLoadTextureCubemap(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlUpdateTexture() */ +RAYLIB_UMKA_FUNCTION(rlUpdateTexture) void umkarlUpdateTexture(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[6].uintVal; int offsetX = params[5].intVal; @@ -8363,6 +11023,7 @@ void umkarlUpdateTexture(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlGetGlTextureFormats() */ +RAYLIB_UMKA_FUNCTION(rlGetGlTextureFormats) void umkarlGetGlTextureFormats(UmkaStackSlot *params, UmkaStackSlot *result) { int format = params[3].intVal; unsigned int * glInternalFormat = (unsigned int *)params[2].ptrVal; @@ -8376,6 +11037,7 @@ void umkarlGetGlTextureFormats(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlGetPixelFormatName() */ +RAYLIB_UMKA_FUNCTION(rlGetPixelFormatName) void umkarlGetPixelFormatName(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int format = params[0].uintVal; result->ptrVal = (void*)rlGetPixelFormatName(format); @@ -8386,6 +11048,7 @@ void umkarlGetPixelFormatName(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlUnloadTexture() */ +RAYLIB_UMKA_FUNCTION(rlUnloadTexture) void umkarlUnloadTexture(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[0].uintVal; rlUnloadTexture(id); @@ -8396,6 +11059,7 @@ void umkarlUnloadTexture(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlGenTextureMipmaps() */ +RAYLIB_UMKA_FUNCTION(rlGenTextureMipmaps) void umkarlGenTextureMipmaps(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[4].uintVal; int width = params[3].intVal; @@ -8410,6 +11074,7 @@ void umkarlGenTextureMipmaps(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlReadTexturePixels() */ +RAYLIB_UMKA_FUNCTION(rlReadTexturePixels) void umkarlReadTexturePixels(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[3].uintVal; int width = params[2].intVal; @@ -8423,6 +11088,7 @@ void umkarlReadTexturePixels(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlReadScreenPixels() */ +RAYLIB_UMKA_FUNCTION(rlReadScreenPixels) void umkarlReadScreenPixels(UmkaStackSlot *params, UmkaStackSlot *result) { int width = params[1].intVal; int height = params[0].intVal; @@ -8434,10 +11100,9 @@ void umkarlReadScreenPixels(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlLoadFramebuffer() */ +RAYLIB_UMKA_FUNCTION(rlLoadFramebuffer) void umkarlLoadFramebuffer(UmkaStackSlot *params, UmkaStackSlot *result) { - int width = params[1].intVal; - int height = params[0].intVal; - result->uintVal = rlLoadFramebuffer(width, height); + result->uintVal = rlLoadFramebuffer(); } /** @@ -8445,13 +11110,14 @@ void umkarlLoadFramebuffer(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlFramebufferAttach() */ +RAYLIB_UMKA_FUNCTION(rlFramebufferAttach) void umkarlFramebufferAttach(UmkaStackSlot *params, UmkaStackSlot *result) { - unsigned int fboId = params[4].uintVal; + unsigned int id = params[4].uintVal; unsigned int texId = params[3].uintVal; int attachType = params[2].intVal; int texType = params[1].intVal; int mipLevel = params[0].intVal; - rlFramebufferAttach(fboId, texId, attachType, texType, mipLevel); + rlFramebufferAttach(id, texId, attachType, texType, mipLevel); } /** @@ -8459,6 +11125,7 @@ void umkarlFramebufferAttach(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlFramebufferComplete() */ +RAYLIB_UMKA_FUNCTION(rlFramebufferComplete) void umkarlFramebufferComplete(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[0].uintVal; result->intVal = (int)rlFramebufferComplete(id); @@ -8469,31 +11136,50 @@ void umkarlFramebufferComplete(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlUnloadFramebuffer() */ +RAYLIB_UMKA_FUNCTION(rlUnloadFramebuffer) void umkarlUnloadFramebuffer(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[0].uintVal; rlUnloadFramebuffer(id); } /** - * Umka bindings for rlLoadShaderCode(). + * Umka bindings for rlCopyFramebuffer(). * - * @see rlLoadShaderCode() + * @see rlCopyFramebuffer() */ -void umkarlLoadShaderCode(UmkaStackSlot *params, UmkaStackSlot *result) { - const char * vsCode = (const char *)params[1].ptrVal; - const char * fsCode = (const char *)params[0].ptrVal; - result->uintVal = rlLoadShaderCode(vsCode, fsCode); +RAYLIB_UMKA_FUNCTION(rlCopyFramebuffer) +void umkarlCopyFramebuffer(UmkaStackSlot *params, UmkaStackSlot *result) { + int x = params[5].intVal; + int y = params[4].intVal; + int width = params[3].intVal; + int height = params[2].intVal; + int format = params[1].intVal; + void * pixels = (void *)params[0].ptrVal; + rlCopyFramebuffer(x, y, width, height, format, pixels); +} + +/** + * Umka bindings for rlResizeFramebuffer(). + * + * @see rlResizeFramebuffer() + */ +RAYLIB_UMKA_FUNCTION(rlResizeFramebuffer) +void umkarlResizeFramebuffer(UmkaStackSlot *params, UmkaStackSlot *result) { + int width = params[1].intVal; + int height = params[0].intVal; + rlResizeFramebuffer(width, height); } /** - * Umka bindings for rlCompileShader(). + * Umka bindings for rlLoadShader(). * - * @see rlCompileShader() + * @see rlLoadShader() */ -void umkarlCompileShader(UmkaStackSlot *params, UmkaStackSlot *result) { - const char * shaderCode = (const char *)params[1].ptrVal; +RAYLIB_UMKA_FUNCTION(rlLoadShader) +void umkarlLoadShader(UmkaStackSlot *params, UmkaStackSlot *result) { + const char * code = (const char *)params[1].ptrVal; int type = params[0].intVal; - result->uintVal = rlCompileShader(shaderCode, type); + result->uintVal = rlLoadShader(code, type); } /** @@ -8501,10 +11187,45 @@ void umkarlCompileShader(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlLoadShaderProgram() */ +RAYLIB_UMKA_FUNCTION(rlLoadShaderProgram) void umkarlLoadShaderProgram(UmkaStackSlot *params, UmkaStackSlot *result) { - unsigned int vShaderId = params[1].uintVal; - unsigned int fShaderId = params[0].uintVal; - result->uintVal = rlLoadShaderProgram(vShaderId, fShaderId); + const char * vsCode = (const char *)params[1].ptrVal; + const char * fsCode = (const char *)params[0].ptrVal; + result->uintVal = rlLoadShaderProgram(vsCode, fsCode); +} + +/** + * Umka bindings for rlLoadShaderProgramEx(). + * + * @see rlLoadShaderProgramEx() + */ +RAYLIB_UMKA_FUNCTION(rlLoadShaderProgramEx) +void umkarlLoadShaderProgramEx(UmkaStackSlot *params, UmkaStackSlot *result) { + unsigned int vsId = params[1].uintVal; + unsigned int fsId = params[0].uintVal; + result->uintVal = rlLoadShaderProgramEx(vsId, fsId); +} + +/** + * Umka bindings for rlLoadShaderProgramCompute(). + * + * @see rlLoadShaderProgramCompute() + */ +RAYLIB_UMKA_FUNCTION(rlLoadShaderProgramCompute) +void umkarlLoadShaderProgramCompute(UmkaStackSlot *params, UmkaStackSlot *result) { + unsigned int csId = params[0].uintVal; + result->uintVal = rlLoadShaderProgramCompute(csId); +} + +/** + * Umka bindings for rlUnloadShader(). + * + * @see rlUnloadShader() + */ +RAYLIB_UMKA_FUNCTION(rlUnloadShader) +void umkarlUnloadShader(UmkaStackSlot *params, UmkaStackSlot *result) { + unsigned int id = params[0].uintVal; + rlUnloadShader(id); } /** @@ -8512,6 +11233,7 @@ void umkarlLoadShaderProgram(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlUnloadShaderProgram() */ +RAYLIB_UMKA_FUNCTION(rlUnloadShaderProgram) void umkarlUnloadShaderProgram(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[0].uintVal; rlUnloadShaderProgram(id); @@ -8522,10 +11244,11 @@ void umkarlUnloadShaderProgram(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlGetLocationUniform() */ +RAYLIB_UMKA_FUNCTION(rlGetLocationUniform) void umkarlGetLocationUniform(UmkaStackSlot *params, UmkaStackSlot *result) { - unsigned int shaderId = params[1].uintVal; + unsigned int id = params[1].uintVal; const char * uniformName = (const char *)params[0].ptrVal; - result->intVal = rlGetLocationUniform(shaderId, uniformName); + result->intVal = rlGetLocationUniform(id, uniformName); } /** @@ -8533,10 +11256,11 @@ void umkarlGetLocationUniform(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlGetLocationAttrib() */ +RAYLIB_UMKA_FUNCTION(rlGetLocationAttrib) void umkarlGetLocationAttrib(UmkaStackSlot *params, UmkaStackSlot *result) { - unsigned int shaderId = params[1].uintVal; + unsigned int id = params[1].uintVal; const char * attribName = (const char *)params[0].ptrVal; - result->intVal = rlGetLocationAttrib(shaderId, attribName); + result->intVal = rlGetLocationAttrib(id, attribName); } /** @@ -8544,6 +11268,7 @@ void umkarlGetLocationAttrib(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlSetUniform() */ +RAYLIB_UMKA_FUNCTION(rlSetUniform) void umkarlSetUniform(UmkaStackSlot *params, UmkaStackSlot *result) { int locIndex = params[3].intVal; const void * value = (const void *)params[2].ptrVal; @@ -8557,17 +11282,32 @@ void umkarlSetUniform(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlSetUniformMatrix() */ +RAYLIB_UMKA_FUNCTION(rlSetUniformMatrix) void umkarlSetUniformMatrix(UmkaStackSlot *params, UmkaStackSlot *result) { int locIndex = params[1].intVal; Matrix* mat = (Matrix*)¶ms[0]; rlSetUniformMatrix(locIndex, *mat); } +/** + * Umka bindings for rlSetUniformMatrices(). + * + * @see rlSetUniformMatrices() + */ +RAYLIB_UMKA_FUNCTION(rlSetUniformMatrices) +void umkarlSetUniformMatrices(UmkaStackSlot *params, UmkaStackSlot *result) { + int locIndex = params[2].intVal; + const Matrix * mat = (const Matrix *)params[1].ptrVal; + int count = params[0].intVal; + rlSetUniformMatrices(locIndex, mat, count); +} + /** * Umka bindings for rlSetUniformSampler(). * * @see rlSetUniformSampler() */ +RAYLIB_UMKA_FUNCTION(rlSetUniformSampler) void umkarlSetUniformSampler(UmkaStackSlot *params, UmkaStackSlot *result) { int locIndex = params[1].intVal; unsigned int textureId = params[0].uintVal; @@ -8579,27 +11319,19 @@ void umkarlSetUniformSampler(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlSetShader() */ +RAYLIB_UMKA_FUNCTION(rlSetShader) void umkarlSetShader(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[1].uintVal; int * locs = (int *)params[0].ptrVal; rlSetShader(id, locs); } -/** - * Umka bindings for rlLoadComputeShaderProgram(). - * - * @see rlLoadComputeShaderProgram() - */ -void umkarlLoadComputeShaderProgram(UmkaStackSlot *params, UmkaStackSlot *result) { - unsigned int shaderId = params[0].uintVal; - result->uintVal = rlLoadComputeShaderProgram(shaderId); -} - /** * Umka bindings for rlComputeShaderDispatch(). * * @see rlComputeShaderDispatch() */ +RAYLIB_UMKA_FUNCTION(rlComputeShaderDispatch) void umkarlComputeShaderDispatch(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int groupX = params[2].uintVal; unsigned int groupY = params[1].uintVal; @@ -8612,8 +11344,9 @@ void umkarlComputeShaderDispatch(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlLoadShaderBuffer() */ +RAYLIB_UMKA_FUNCTION(rlLoadShaderBuffer) void umkarlLoadShaderBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { - unsigned long long size = params[2].uintVal; + unsigned int size = params[2].uintVal; const void * data = (const void *)params[1].ptrVal; int usageHint = params[0].intVal; result->uintVal = rlLoadShaderBuffer(size, data, usageHint); @@ -8624,70 +11357,76 @@ void umkarlLoadShaderBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlUnloadShaderBuffer() */ +RAYLIB_UMKA_FUNCTION(rlUnloadShaderBuffer) void umkarlUnloadShaderBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int ssboId = params[0].uintVal; rlUnloadShaderBuffer(ssboId); } /** - * Umka bindings for rlUpdateShaderBufferElements(). + * Umka bindings for rlUpdateShaderBuffer(). * - * @see rlUpdateShaderBufferElements() + * @see rlUpdateShaderBuffer() */ -void umkarlUpdateShaderBufferElements(UmkaStackSlot *params, UmkaStackSlot *result) { +RAYLIB_UMKA_FUNCTION(rlUpdateShaderBuffer) +void umkarlUpdateShaderBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[3].uintVal; const void * data = (const void *)params[2].ptrVal; - unsigned long long dataSize = params[1].uintVal; - unsigned long long offset = params[0].uintVal; - rlUpdateShaderBufferElements(id, data, dataSize, offset); + unsigned int dataSize = params[1].uintVal; + unsigned int offset = params[0].uintVal; + rlUpdateShaderBuffer(id, data, dataSize, offset); } /** - * Umka bindings for rlGetShaderBufferSize(). + * Umka bindings for rlBindShaderBuffer(). * - * @see rlGetShaderBufferSize() + * @see rlBindShaderBuffer() */ -void umkarlGetShaderBufferSize(UmkaStackSlot *params, UmkaStackSlot *result) { - unsigned int id = params[0].uintVal; - result->uintVal = rlGetShaderBufferSize(id); +RAYLIB_UMKA_FUNCTION(rlBindShaderBuffer) +void umkarlBindShaderBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { + unsigned int id = params[1].uintVal; + unsigned int index = params[0].uintVal; + rlBindShaderBuffer(id, index); } /** - * Umka bindings for rlReadShaderBufferElements(). + * Umka bindings for rlReadShaderBuffer(). * - * @see rlReadShaderBufferElements() + * @see rlReadShaderBuffer() */ -void umkarlReadShaderBufferElements(UmkaStackSlot *params, UmkaStackSlot *result) { +RAYLIB_UMKA_FUNCTION(rlReadShaderBuffer) +void umkarlReadShaderBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[3].uintVal; void * dest = (void *)params[2].ptrVal; - unsigned long long count = params[1].uintVal; - unsigned long long offset = params[0].uintVal; - rlReadShaderBufferElements(id, dest, count, offset); + unsigned int count = params[1].uintVal; + unsigned int offset = params[0].uintVal; + rlReadShaderBuffer(id, dest, count, offset); } /** - * Umka bindings for rlBindShaderBuffer(). + * Umka bindings for rlCopyShaderBuffer(). * - * @see rlBindShaderBuffer() + * @see rlCopyShaderBuffer() */ -void umkarlBindShaderBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { - unsigned int id = params[1].uintVal; - unsigned int index = params[0].uintVal; - rlBindShaderBuffer(id, index); +RAYLIB_UMKA_FUNCTION(rlCopyShaderBuffer) +void umkarlCopyShaderBuffer(UmkaStackSlot *params, UmkaStackSlot *result) { + unsigned int destId = params[4].uintVal; + unsigned int srcId = params[3].uintVal; + unsigned int destOffset = params[2].uintVal; + unsigned int srcOffset = params[1].uintVal; + unsigned int count = params[0].uintVal; + rlCopyShaderBuffer(destId, srcId, destOffset, srcOffset, count); } /** - * Umka bindings for rlCopyBuffersElements(). + * Umka bindings for rlGetShaderBufferSize(). * - * @see rlCopyBuffersElements() + * @see rlGetShaderBufferSize() */ -void umkarlCopyBuffersElements(UmkaStackSlot *params, UmkaStackSlot *result) { - unsigned int destId = params[4].uintVal; - unsigned int srcId = params[3].uintVal; - unsigned long long destOffset = params[2].uintVal; - unsigned long long srcOffset = params[1].uintVal; - unsigned long long count = params[0].uintVal; - rlCopyBuffersElements(destId, srcId, destOffset, srcOffset, count); +RAYLIB_UMKA_FUNCTION(rlGetShaderBufferSize) +void umkarlGetShaderBufferSize(UmkaStackSlot *params, UmkaStackSlot *result) { + unsigned int id = params[0].uintVal; + result->uintVal = rlGetShaderBufferSize(id); } /** @@ -8695,11 +11434,12 @@ void umkarlCopyBuffersElements(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlBindImageTexture() */ +RAYLIB_UMKA_FUNCTION(rlBindImageTexture) void umkarlBindImageTexture(UmkaStackSlot *params, UmkaStackSlot *result) { unsigned int id = params[3].uintVal; unsigned int index = params[2].uintVal; - unsigned int format = params[1].uintVal; - int readonly = params[0].intVal; + int format = params[1].intVal; + bool readonly = (bool)params[0].intVal; rlBindImageTexture(id, index, format, readonly); } @@ -8708,6 +11448,7 @@ void umkarlBindImageTexture(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlGetMatrixModelview() */ +RAYLIB_UMKA_FUNCTION(rlGetMatrixModelview) void umkarlGetMatrixModelview(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Matrix), NULL); Matrix out = rlGetMatrixModelview(); @@ -8719,6 +11460,7 @@ void umkarlGetMatrixModelview(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlGetMatrixProjection() */ +RAYLIB_UMKA_FUNCTION(rlGetMatrixProjection) void umkarlGetMatrixProjection(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Matrix), NULL); Matrix out = rlGetMatrixProjection(); @@ -8730,6 +11472,7 @@ void umkarlGetMatrixProjection(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlGetMatrixTransform() */ +RAYLIB_UMKA_FUNCTION(rlGetMatrixTransform) void umkarlGetMatrixTransform(UmkaStackSlot *params, UmkaStackSlot *result) { result->ptrVal = umkaAllocData(result->ptrVal, sizeof(Matrix), NULL); Matrix out = rlGetMatrixTransform(); @@ -8741,6 +11484,7 @@ void umkarlGetMatrixTransform(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlGetMatrixProjectionStereo() */ +RAYLIB_UMKA_FUNCTION(rlGetMatrixProjectionStereo) void umkarlGetMatrixProjectionStereo(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename int eye = params[1].intVal; @@ -8754,6 +11498,7 @@ void umkarlGetMatrixProjectionStereo(UmkaStackSlot *params, UmkaStackSlot *resul * * @see rlGetMatrixViewOffsetStereo() */ +RAYLIB_UMKA_FUNCTION(rlGetMatrixViewOffsetStereo) void umkarlGetMatrixViewOffsetStereo(UmkaStackSlot *params, UmkaStackSlot *result) { // Skipping params[0], as it's a reference to Umka's internal filename int eye = params[1].intVal; @@ -8767,6 +11512,7 @@ void umkarlGetMatrixViewOffsetStereo(UmkaStackSlot *params, UmkaStackSlot *resul * * @see rlSetMatrixProjection() */ +RAYLIB_UMKA_FUNCTION(rlSetMatrixProjection) void umkarlSetMatrixProjection(UmkaStackSlot *params, UmkaStackSlot *result) { Matrix* proj = (Matrix*)¶ms[0]; rlSetMatrixProjection(*proj); @@ -8777,6 +11523,7 @@ void umkarlSetMatrixProjection(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlSetMatrixModelview() */ +RAYLIB_UMKA_FUNCTION(rlSetMatrixModelview) void umkarlSetMatrixModelview(UmkaStackSlot *params, UmkaStackSlot *result) { Matrix* view = (Matrix*)¶ms[0]; rlSetMatrixModelview(*view); @@ -8787,6 +11534,7 @@ void umkarlSetMatrixModelview(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlSetMatrixProjectionStereo() */ +RAYLIB_UMKA_FUNCTION(rlSetMatrixProjectionStereo) void umkarlSetMatrixProjectionStereo(UmkaStackSlot *params, UmkaStackSlot *result) { Matrix* right = (Matrix*)¶ms[1]; Matrix* left = (Matrix*)¶ms[0]; @@ -8798,6 +11546,7 @@ void umkarlSetMatrixProjectionStereo(UmkaStackSlot *params, UmkaStackSlot *resul * * @see rlSetMatrixViewOffsetStereo() */ +RAYLIB_UMKA_FUNCTION(rlSetMatrixViewOffsetStereo) void umkarlSetMatrixViewOffsetStereo(UmkaStackSlot *params, UmkaStackSlot *result) { Matrix* right = (Matrix*)¶ms[1]; Matrix* left = (Matrix*)¶ms[0]; @@ -8809,6 +11558,7 @@ void umkarlSetMatrixViewOffsetStereo(UmkaStackSlot *params, UmkaStackSlot *resul * * @see rlLoadDrawCube() */ +RAYLIB_UMKA_FUNCTION(rlLoadDrawCube) void umkarlLoadDrawCube(UmkaStackSlot *params, UmkaStackSlot *result) { rlLoadDrawCube(); } @@ -8818,6 +11568,7 @@ void umkarlLoadDrawCube(UmkaStackSlot *params, UmkaStackSlot *result) { * * @see rlLoadDrawQuad() */ +RAYLIB_UMKA_FUNCTION(rlLoadDrawQuad) void umkarlLoadDrawQuad(UmkaStackSlot *params, UmkaStackSlot *result) { rlLoadDrawQuad(); } @@ -8834,6 +11585,7 @@ void umkaTraceLog(UmkaStackSlot *params, UmkaStackSlot *result) { TraceLog(logType, "%s", message); } +#ifndef RAYLIB_UMKA_NO_ADD_MODULE /** * Adds the raylib module to the given Umka instance. * @@ -8852,16 +11604,16 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function InitWindow()"); return false; } - // WindowShouldClose() - if (!umkaAddFunc(umka, "WindowShouldClose", &umkaWindowShouldClose)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function WindowShouldClose()"); - return false; - } // CloseWindow() if (!umkaAddFunc(umka, "CloseWindow", &umkaCloseWindow)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function CloseWindow()"); return false; } + // WindowShouldClose() + if (!umkaAddFunc(umka, "WindowShouldClose", &umkaWindowShouldClose)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function WindowShouldClose()"); + return false; + } // IsWindowReady() if (!umkaAddFunc(umka, "IsWindowReady", &umkaIsWindowReady)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function IsWindowReady()"); @@ -8917,6 +11669,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ToggleFullscreen()"); return false; } + // ToggleBorderlessWindowed() + if (!umkaAddFunc(umka, "ToggleBorderlessWindowed", &umkaToggleBorderlessWindowed)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ToggleBorderlessWindowed()"); + return false; + } // MaximizeWindow() if (!umkaAddFunc(umka, "MaximizeWindow", &umkaMaximizeWindow)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function MaximizeWindow()"); @@ -8937,6 +11694,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function SetWindowIcon()"); return false; } + // SetWindowIcons() + if (!umkaAddFunc(umka, "SetWindowIcons", &umkaSetWindowIcons)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function SetWindowIcons()"); + return false; + } // SetWindowTitle() if (!umkaAddFunc(umka, "SetWindowTitle", &umkaSetWindowTitle)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function SetWindowTitle()"); @@ -8957,6 +11719,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function SetWindowMinSize()"); return false; } + // SetWindowMaxSize() + if (!umkaAddFunc(umka, "SetWindowMaxSize", &umkaSetWindowMaxSize)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function SetWindowMaxSize()"); + return false; + } // SetWindowSize() if (!umkaAddFunc(umka, "SetWindowSize", &umkaSetWindowSize)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function SetWindowSize()"); @@ -8967,6 +11734,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function SetWindowOpacity()"); return false; } + // SetWindowFocused() + if (!umkaAddFunc(umka, "SetWindowFocused", &umkaSetWindowFocused)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function SetWindowFocused()"); + return false; + } // GetWindowHandle() if (!umkaAddFunc(umka, "GetWindowHandle", &umkaGetWindowHandle)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetWindowHandle()"); @@ -9057,6 +11829,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetClipboardText()"); return false; } + // GetClipboardImage() + if (!umkaAddFunc(umka, "GetClipboardImage", &umkaGetClipboardImage)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetClipboardImage()"); + return false; + } // EnableEventWaiting() if (!umkaAddFunc(umka, "EnableEventWaiting", &umkaEnableEventWaiting)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function EnableEventWaiting()"); @@ -9067,21 +11844,6 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DisableEventWaiting()"); return false; } - // SwapScreenBuffer() - if (!umkaAddFunc(umka, "SwapScreenBuffer", &umkaSwapScreenBuffer)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function SwapScreenBuffer()"); - return false; - } - // PollInputEvents() - if (!umkaAddFunc(umka, "PollInputEvents", &umkaPollInputEvents)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function PollInputEvents()"); - return false; - } - // WaitTime() - if (!umkaAddFunc(umka, "WaitTime", &umkaWaitTime)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function WaitTime()"); - return false; - } // ShowCursor() if (!umkaAddFunc(umka, "ShowCursor", &umkaShowCursor)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ShowCursor()"); @@ -9217,6 +11979,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadShaderFromMemory()"); return false; } + // IsShaderValid() + if (!umkaAddFunc(umka, "IsShaderValid", &umkaIsShaderValid)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function IsShaderValid()"); + return false; + } // GetShaderLocation() if (!umkaAddFunc(umka, "GetShaderLocation", &umkaGetShaderLocation)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetShaderLocation()"); @@ -9252,19 +12019,14 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function UnloadShader()"); return false; } - // GetMouseRay() - if (!umkaAddFunc(umka, "GetMouseRay", &umkaGetMouseRay)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function GetMouseRay()"); - return false; - } - // GetCameraMatrix() - if (!umkaAddFunc(umka, "GetCameraMatrix", &umkaGetCameraMatrix)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function GetCameraMatrix()"); + // GetScreenToWorldRay() + if (!umkaAddFunc(umka, "GetScreenToWorldRay", &umkaGetScreenToWorldRay)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetScreenToWorldRay()"); return false; } - // GetCameraMatrix2D() - if (!umkaAddFunc(umka, "GetCameraMatrix2D", &umkaGetCameraMatrix2D)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function GetCameraMatrix2D()"); + // GetScreenToWorldRayEx() + if (!umkaAddFunc(umka, "GetScreenToWorldRayEx", &umkaGetScreenToWorldRayEx)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetScreenToWorldRayEx()"); return false; } // GetWorldToScreen() @@ -9272,11 +12034,6 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetWorldToScreen()"); return false; } - // GetScreenToWorld2D() - if (!umkaAddFunc(umka, "GetScreenToWorld2D", &umkaGetScreenToWorld2D)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function GetScreenToWorld2D()"); - return false; - } // GetWorldToScreenEx() if (!umkaAddFunc(umka, "GetWorldToScreenEx", &umkaGetWorldToScreenEx)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetWorldToScreenEx()"); @@ -9287,16 +12044,26 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetWorldToScreen2D()"); return false; } + // GetScreenToWorld2D() + if (!umkaAddFunc(umka, "GetScreenToWorld2D", &umkaGetScreenToWorld2D)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetScreenToWorld2D()"); + return false; + } + // GetCameraMatrix() + if (!umkaAddFunc(umka, "GetCameraMatrix", &umkaGetCameraMatrix)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetCameraMatrix()"); + return false; + } + // GetCameraMatrix2D() + if (!umkaAddFunc(umka, "GetCameraMatrix2D", &umkaGetCameraMatrix2D)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetCameraMatrix2D()"); + return false; + } // SetTargetFPS() if (!umkaAddFunc(umka, "SetTargetFPS", &umkaSetTargetFPS)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function SetTargetFPS()"); return false; } - // GetFPS() - if (!umkaAddFunc(umka, "GetFPS", &umkaGetFPS)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function GetFPS()"); - return false; - } // GetFrameTime() if (!umkaAddFunc(umka, "GetFrameTime", &umkaGetFrameTime)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetFrameTime()"); @@ -9307,9 +12074,24 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetTime()"); return false; } - // GetRandomValue() - if (!umkaAddFunc(umka, "GetRandomValue", &umkaGetRandomValue)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function GetRandomValue()"); + // GetFPS() + if (!umkaAddFunc(umka, "GetFPS", &umkaGetFPS)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetFPS()"); + return false; + } + // SwapScreenBuffer() + if (!umkaAddFunc(umka, "SwapScreenBuffer", &umkaSwapScreenBuffer)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function SwapScreenBuffer()"); + return false; + } + // PollInputEvents() + if (!umkaAddFunc(umka, "PollInputEvents", &umkaPollInputEvents)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function PollInputEvents()"); + return false; + } + // WaitTime() + if (!umkaAddFunc(umka, "WaitTime", &umkaWaitTime)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function WaitTime()"); return false; } // SetRandomSeed() @@ -9317,6 +12099,21 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function SetRandomSeed()"); return false; } + // GetRandomValue() + if (!umkaAddFunc(umka, "GetRandomValue", &umkaGetRandomValue)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetRandomValue()"); + return false; + } + // LoadRandomSequence() + if (!umkaAddFunc(umka, "LoadRandomSequence", &umkaLoadRandomSequence)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadRandomSequence()"); + return false; + } + // UnloadRandomSequence() + if (!umkaAddFunc(umka, "UnloadRandomSequence", &umkaUnloadRandomSequence)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function UnloadRandomSequence()"); + return false; + } // TakeScreenshot() if (!umkaAddFunc(umka, "TakeScreenshot", &umkaTakeScreenshot)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function TakeScreenshot()"); @@ -9327,12 +12124,18 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function SetConfigFlags()"); return false; } - // Skipping TraceLog + // OpenURL() + if (!umkaAddFunc(umka, "OpenURL", &umkaOpenURL)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function OpenURL()"); + return false; + } // SetTraceLogLevel() if (!umkaAddFunc(umka, "SetTraceLogLevel", &umkaSetTraceLogLevel)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function SetTraceLogLevel()"); return false; } + // Skipping TraceLog + // Skipping SetTraceLogCallback // MemAlloc() if (!umkaAddFunc(umka, "MemAlloc", &umkaMemAlloc)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function MemAlloc()"); @@ -9348,16 +12151,6 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function MemFree()"); return false; } - // OpenURL() - if (!umkaAddFunc(umka, "OpenURL", &umkaOpenURL)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function OpenURL()"); - return false; - } - // Skipping SetTraceLogCallback - // Skipping SetLoadFileDataCallback - // Skipping SetSaveFileDataCallback - // Skipping SetLoadFileTextCallback - // Skipping SetSaveFileTextCallback // LoadFileData() if (!umkaAddFunc(umka, "LoadFileData", &umkaLoadFileData)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadFileData()"); @@ -9393,6 +12186,40 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function SaveFileText()"); return false; } + // Skipping SetLoadFileDataCallback + // Skipping SetSaveFileDataCallback + // Skipping SetLoadFileTextCallback + // Skipping SetSaveFileTextCallback + // FileRename() + if (!umkaAddFunc(umka, "FileRename", &umkaFileRename)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function FileRename()"); + return false; + } + // FileRemove() + if (!umkaAddFunc(umka, "FileRemove", &umkaFileRemove)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function FileRemove()"); + return false; + } + // FileCopy() + if (!umkaAddFunc(umka, "FileCopy", &umkaFileCopy)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function FileCopy()"); + return false; + } + // FileMove() + if (!umkaAddFunc(umka, "FileMove", &umkaFileMove)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function FileMove()"); + return false; + } + // FileTextReplace() + if (!umkaAddFunc(umka, "FileTextReplace", &umkaFileTextReplace)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function FileTextReplace()"); + return false; + } + // FileTextFindIndex() + if (!umkaAddFunc(umka, "FileTextFindIndex", &umkaFileTextFindIndex)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function FileTextFindIndex()"); + return false; + } // FileExists() if (!umkaAddFunc(umka, "FileExists", &umkaFileExists)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function FileExists()"); @@ -9413,6 +12240,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetFileLength()"); return false; } + // GetFileModTime() + if (!umkaAddFunc(umka, "GetFileModTime", &umkaGetFileModTime)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetFileModTime()"); + return false; + } // GetFileExtension() if (!umkaAddFunc(umka, "GetFileExtension", &umkaGetFileExtension)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetFileExtension()"); @@ -9448,6 +12280,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetApplicationDirectory()"); return false; } + // MakeDirectory() + if (!umkaAddFunc(umka, "MakeDirectory", &umkaMakeDirectory)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function MakeDirectory()"); + return false; + } // ChangeDirectory() if (!umkaAddFunc(umka, "ChangeDirectory", &umkaChangeDirectory)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ChangeDirectory()"); @@ -9458,6 +12295,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function IsPathFile()"); return false; } + // IsFileNameValid() + if (!umkaAddFunc(umka, "IsFileNameValid", &umkaIsFileNameValid)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function IsFileNameValid()"); + return false; + } // LoadDirectoryFiles() if (!umkaAddFunc(umka, "LoadDirectoryFiles", &umkaLoadDirectoryFiles)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadDirectoryFiles()"); @@ -9488,9 +12330,14 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function UnloadDroppedFiles()"); return false; } - // GetFileModTime() - if (!umkaAddFunc(umka, "GetFileModTime", &umkaGetFileModTime)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function GetFileModTime()"); + // GetDirectoryFileCount() + if (!umkaAddFunc(umka, "GetDirectoryFileCount", &umkaGetDirectoryFileCount)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetDirectoryFileCount()"); + return false; + } + // GetDirectoryFileCountEx() + if (!umkaAddFunc(umka, "GetDirectoryFileCountEx", &umkaGetDirectoryFileCountEx)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetDirectoryFileCountEx()"); return false; } // CompressData() @@ -9513,11 +12360,76 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DecodeDataBase64()"); return false; } + // ComputeCRC32() + if (!umkaAddFunc(umka, "ComputeCRC32", &umkaComputeCRC32)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ComputeCRC32()"); + return false; + } + // ComputeMD5() + if (!umkaAddFunc(umka, "ComputeMD5", &umkaComputeMD5)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ComputeMD5()"); + return false; + } + // ComputeSHA1() + if (!umkaAddFunc(umka, "ComputeSHA1", &umkaComputeSHA1)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ComputeSHA1()"); + return false; + } + // ComputeSHA256() + if (!umkaAddFunc(umka, "ComputeSHA256", &umkaComputeSHA256)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ComputeSHA256()"); + return false; + } + // LoadAutomationEventList() + if (!umkaAddFunc(umka, "LoadAutomationEventList", &umkaLoadAutomationEventList)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadAutomationEventList()"); + return false; + } + // UnloadAutomationEventList() + if (!umkaAddFunc(umka, "UnloadAutomationEventList", &umkaUnloadAutomationEventList)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function UnloadAutomationEventList()"); + return false; + } + // ExportAutomationEventList() + if (!umkaAddFunc(umka, "ExportAutomationEventList", &umkaExportAutomationEventList)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ExportAutomationEventList()"); + return false; + } + // SetAutomationEventList() + if (!umkaAddFunc(umka, "SetAutomationEventList", &umkaSetAutomationEventList)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function SetAutomationEventList()"); + return false; + } + // SetAutomationEventBaseFrame() + if (!umkaAddFunc(umka, "SetAutomationEventBaseFrame", &umkaSetAutomationEventBaseFrame)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function SetAutomationEventBaseFrame()"); + return false; + } + // StartAutomationEventRecording() + if (!umkaAddFunc(umka, "StartAutomationEventRecording", &umkaStartAutomationEventRecording)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function StartAutomationEventRecording()"); + return false; + } + // StopAutomationEventRecording() + if (!umkaAddFunc(umka, "StopAutomationEventRecording", &umkaStopAutomationEventRecording)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function StopAutomationEventRecording()"); + return false; + } + // PlayAutomationEvent() + if (!umkaAddFunc(umka, "PlayAutomationEvent", &umkaPlayAutomationEvent)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function PlayAutomationEvent()"); + return false; + } // IsKeyPressed() if (!umkaAddFunc(umka, "IsKeyPressed", &umkaIsKeyPressed)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function IsKeyPressed()"); return false; } + // IsKeyPressedRepeat() + if (!umkaAddFunc(umka, "IsKeyPressedRepeat", &umkaIsKeyPressedRepeat)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function IsKeyPressedRepeat()"); + return false; + } // IsKeyDown() if (!umkaAddFunc(umka, "IsKeyDown", &umkaIsKeyDown)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function IsKeyDown()"); @@ -9533,11 +12445,6 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function IsKeyUp()"); return false; } - // SetExitKey() - if (!umkaAddFunc(umka, "SetExitKey", &umkaSetExitKey)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function SetExitKey()"); - return false; - } // GetKeyPressed() if (!umkaAddFunc(umka, "GetKeyPressed", &umkaGetKeyPressed)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetKeyPressed()"); @@ -9548,6 +12455,16 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetCharPressed()"); return false; } + // GetKeyName() + if (!umkaAddFunc(umka, "GetKeyName", &umkaGetKeyName)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetKeyName()"); + return false; + } + // SetExitKey() + if (!umkaAddFunc(umka, "SetExitKey", &umkaSetExitKey)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function SetExitKey()"); + return false; + } // IsGamepadAvailable() if (!umkaAddFunc(umka, "IsGamepadAvailable", &umkaIsGamepadAvailable)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function IsGamepadAvailable()"); @@ -9598,6 +12515,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function SetGamepadMappings()"); return false; } + // SetGamepadVibration() + if (!umkaAddFunc(umka, "SetGamepadVibration", &umkaSetGamepadVibration)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function SetGamepadVibration()"); + return false; + } // IsMouseButtonPressed() if (!umkaAddFunc(umka, "IsMouseButtonPressed", &umkaIsMouseButtonPressed)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function IsMouseButtonPressed()"); @@ -9733,39 +12655,29 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetGesturePinchAngle()"); return false; } - // SetCameraMode() - if (!umkaAddFunc(umka, "SetCameraMode", &umkaSetCameraMode)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function SetCameraMode()"); - return false; - } // UpdateCamera() if (!umkaAddFunc(umka, "UpdateCamera", &umkaUpdateCamera)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function UpdateCamera()"); return false; } - // SetCameraPanControl() - if (!umkaAddFunc(umka, "SetCameraPanControl", &umkaSetCameraPanControl)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function SetCameraPanControl()"); - return false; - } - // SetCameraAltControl() - if (!umkaAddFunc(umka, "SetCameraAltControl", &umkaSetCameraAltControl)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function SetCameraAltControl()"); + // UpdateCameraPro() + if (!umkaAddFunc(umka, "UpdateCameraPro", &umkaUpdateCameraPro)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function UpdateCameraPro()"); return false; } - // SetCameraSmoothZoomControl() - if (!umkaAddFunc(umka, "SetCameraSmoothZoomControl", &umkaSetCameraSmoothZoomControl)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function SetCameraSmoothZoomControl()"); + // SetShapesTexture() + if (!umkaAddFunc(umka, "SetShapesTexture", &umkaSetShapesTexture)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function SetShapesTexture()"); return false; } - // SetCameraMoveControls() - if (!umkaAddFunc(umka, "SetCameraMoveControls", &umkaSetCameraMoveControls)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function SetCameraMoveControls()"); + // GetShapesTexture() + if (!umkaAddFunc(umka, "GetShapesTexture", &umkaGetShapesTexture)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetShapesTexture()"); return false; } - // SetShapesTexture() - if (!umkaAddFunc(umka, "SetShapesTexture", &umkaSetShapesTexture)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function SetShapesTexture()"); + // GetShapesTextureRectangle() + if (!umkaAddFunc(umka, "GetShapesTextureRectangle", &umkaGetShapesTextureRectangle)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetShapesTextureRectangle()"); return false; } // DrawPixel() @@ -9793,24 +12705,19 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawLineEx()"); return false; } + // DrawLineStrip() + if (!umkaAddFunc(umka, "DrawLineStrip", &umkaDrawLineStrip)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawLineStrip()"); + return false; + } // DrawLineBezier() if (!umkaAddFunc(umka, "DrawLineBezier", &umkaDrawLineBezier)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawLineBezier()"); return false; } - // DrawLineBezierQuad() - if (!umkaAddFunc(umka, "DrawLineBezierQuad", &umkaDrawLineBezierQuad)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawLineBezierQuad()"); - return false; - } - // DrawLineBezierCubic() - if (!umkaAddFunc(umka, "DrawLineBezierCubic", &umkaDrawLineBezierCubic)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawLineBezierCubic()"); - return false; - } - // DrawLineStrip() - if (!umkaAddFunc(umka, "DrawLineStrip", &umkaDrawLineStrip)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawLineStrip()"); + // DrawLineDashed() + if (!umkaAddFunc(umka, "DrawLineDashed", &umkaDrawLineDashed)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawLineDashed()"); return false; } // DrawCircle() @@ -9843,16 +12750,31 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawCircleLines()"); return false; } + // DrawCircleLinesV() + if (!umkaAddFunc(umka, "DrawCircleLinesV", &umkaDrawCircleLinesV)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawCircleLinesV()"); + return false; + } // DrawEllipse() if (!umkaAddFunc(umka, "DrawEllipse", &umkaDrawEllipse)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawEllipse()"); return false; } + // DrawEllipseV() + if (!umkaAddFunc(umka, "DrawEllipseV", &umkaDrawEllipseV)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawEllipseV()"); + return false; + } // DrawEllipseLines() if (!umkaAddFunc(umka, "DrawEllipseLines", &umkaDrawEllipseLines)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawEllipseLines()"); return false; } + // DrawEllipseLinesV() + if (!umkaAddFunc(umka, "DrawEllipseLinesV", &umkaDrawEllipseLinesV)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawEllipseLinesV()"); + return false; + } // DrawRing() if (!umkaAddFunc(umka, "DrawRing", &umkaDrawRing)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawRing()"); @@ -9918,6 +12840,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawRectangleRoundedLines()"); return false; } + // DrawRectangleRoundedLinesEx() + if (!umkaAddFunc(umka, "DrawRectangleRoundedLinesEx", &umkaDrawRectangleRoundedLinesEx)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawRectangleRoundedLinesEx()"); + return false; + } // DrawTriangle() if (!umkaAddFunc(umka, "DrawTriangle", &umkaDrawTriangle)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawTriangle()"); @@ -9953,6 +12880,81 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawPolyLinesEx()"); return false; } + // DrawSplineLinear() + if (!umkaAddFunc(umka, "DrawSplineLinear", &umkaDrawSplineLinear)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawSplineLinear()"); + return false; + } + // DrawSplineBasis() + if (!umkaAddFunc(umka, "DrawSplineBasis", &umkaDrawSplineBasis)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawSplineBasis()"); + return false; + } + // DrawSplineCatmullRom() + if (!umkaAddFunc(umka, "DrawSplineCatmullRom", &umkaDrawSplineCatmullRom)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawSplineCatmullRom()"); + return false; + } + // DrawSplineBezierQuadratic() + if (!umkaAddFunc(umka, "DrawSplineBezierQuadratic", &umkaDrawSplineBezierQuadratic)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawSplineBezierQuadratic()"); + return false; + } + // DrawSplineBezierCubic() + if (!umkaAddFunc(umka, "DrawSplineBezierCubic", &umkaDrawSplineBezierCubic)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawSplineBezierCubic()"); + return false; + } + // DrawSplineSegmentLinear() + if (!umkaAddFunc(umka, "DrawSplineSegmentLinear", &umkaDrawSplineSegmentLinear)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawSplineSegmentLinear()"); + return false; + } + // DrawSplineSegmentBasis() + if (!umkaAddFunc(umka, "DrawSplineSegmentBasis", &umkaDrawSplineSegmentBasis)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawSplineSegmentBasis()"); + return false; + } + // DrawSplineSegmentCatmullRom() + if (!umkaAddFunc(umka, "DrawSplineSegmentCatmullRom", &umkaDrawSplineSegmentCatmullRom)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawSplineSegmentCatmullRom()"); + return false; + } + // DrawSplineSegmentBezierQuadratic() + if (!umkaAddFunc(umka, "DrawSplineSegmentBezierQuadratic", &umkaDrawSplineSegmentBezierQuadratic)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawSplineSegmentBezierQuadratic()"); + return false; + } + // DrawSplineSegmentBezierCubic() + if (!umkaAddFunc(umka, "DrawSplineSegmentBezierCubic", &umkaDrawSplineSegmentBezierCubic)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawSplineSegmentBezierCubic()"); + return false; + } + // GetSplinePointLinear() + if (!umkaAddFunc(umka, "GetSplinePointLinear", &umkaGetSplinePointLinear)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetSplinePointLinear()"); + return false; + } + // GetSplinePointBasis() + if (!umkaAddFunc(umka, "GetSplinePointBasis", &umkaGetSplinePointBasis)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetSplinePointBasis()"); + return false; + } + // GetSplinePointCatmullRom() + if (!umkaAddFunc(umka, "GetSplinePointCatmullRom", &umkaGetSplinePointCatmullRom)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetSplinePointCatmullRom()"); + return false; + } + // GetSplinePointBezierQuad() + if (!umkaAddFunc(umka, "GetSplinePointBezierQuad", &umkaGetSplinePointBezierQuad)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetSplinePointBezierQuad()"); + return false; + } + // GetSplinePointBezierCubic() + if (!umkaAddFunc(umka, "GetSplinePointBezierCubic", &umkaGetSplinePointBezierCubic)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetSplinePointBezierCubic()"); + return false; + } // CheckCollisionRecs() if (!umkaAddFunc(umka, "CheckCollisionRecs", &umkaCheckCollisionRecs)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function CheckCollisionRecs()"); @@ -9968,6 +12970,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function CheckCollisionCircleRec()"); return false; } + // CheckCollisionCircleLine() + if (!umkaAddFunc(umka, "CheckCollisionCircleLine", &umkaCheckCollisionCircleLine)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function CheckCollisionCircleLine()"); + return false; + } // CheckCollisionPointRec() if (!umkaAddFunc(umka, "CheckCollisionPointRec", &umkaCheckCollisionPointRec)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function CheckCollisionPointRec()"); @@ -9983,16 +12990,21 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function CheckCollisionPointTriangle()"); return false; } - // CheckCollisionLines() - if (!umkaAddFunc(umka, "CheckCollisionLines", &umkaCheckCollisionLines)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function CheckCollisionLines()"); - return false; - } // CheckCollisionPointLine() if (!umkaAddFunc(umka, "CheckCollisionPointLine", &umkaCheckCollisionPointLine)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function CheckCollisionPointLine()"); return false; } + // CheckCollisionPointPoly() + if (!umkaAddFunc(umka, "CheckCollisionPointPoly", &umkaCheckCollisionPointPoly)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function CheckCollisionPointPoly()"); + return false; + } + // CheckCollisionLines() + if (!umkaAddFunc(umka, "CheckCollisionLines", &umkaCheckCollisionLines)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function CheckCollisionLines()"); + return false; + } // GetCollisionRec() if (!umkaAddFunc(umka, "GetCollisionRec", &umkaGetCollisionRec)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetCollisionRec()"); @@ -10013,6 +13025,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadImageAnim()"); return false; } + // LoadImageAnimFromMemory() + if (!umkaAddFunc(umka, "LoadImageAnimFromMemory", &umkaLoadImageAnimFromMemory)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadImageAnimFromMemory()"); + return false; + } // LoadImageFromMemory() if (!umkaAddFunc(umka, "LoadImageFromMemory", &umkaLoadImageFromMemory)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadImageFromMemory()"); @@ -10028,6 +13045,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadImageFromScreen()"); return false; } + // IsImageValid() + if (!umkaAddFunc(umka, "IsImageValid", &umkaIsImageValid)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function IsImageValid()"); + return false; + } // UnloadImage() if (!umkaAddFunc(umka, "UnloadImage", &umkaUnloadImage)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function UnloadImage()"); @@ -10038,6 +13060,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ExportImage()"); return false; } + // ExportImageToMemory() + if (!umkaAddFunc(umka, "ExportImageToMemory", &umkaExportImageToMemory)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ExportImageToMemory()"); + return false; + } // ExportImageAsCode() if (!umkaAddFunc(umka, "ExportImageAsCode", &umkaExportImageAsCode)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ExportImageAsCode()"); @@ -10048,14 +13075,9 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GenImageColor()"); return false; } - // GenImageGradientV() - if (!umkaAddFunc(umka, "GenImageGradientV", &umkaGenImageGradientV)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function GenImageGradientV()"); - return false; - } - // GenImageGradientH() - if (!umkaAddFunc(umka, "GenImageGradientH", &umkaGenImageGradientH)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function GenImageGradientH()"); + // GenImageGradientLinear() + if (!umkaAddFunc(umka, "GenImageGradientLinear", &umkaGenImageGradientLinear)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GenImageGradientLinear()"); return false; } // GenImageGradientRadial() @@ -10063,6 +13085,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GenImageGradientRadial()"); return false; } + // GenImageGradientSquare() + if (!umkaAddFunc(umka, "GenImageGradientSquare", &umkaGenImageGradientSquare)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GenImageGradientSquare()"); + return false; + } // GenImageChecked() if (!umkaAddFunc(umka, "GenImageChecked", &umkaGenImageChecked)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GenImageChecked()"); @@ -10073,11 +13100,21 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GenImageWhiteNoise()"); return false; } + // GenImagePerlinNoise() + if (!umkaAddFunc(umka, "GenImagePerlinNoise", &umkaGenImagePerlinNoise)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GenImagePerlinNoise()"); + return false; + } // GenImageCellular() if (!umkaAddFunc(umka, "GenImageCellular", &umkaGenImageCellular)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GenImageCellular()"); return false; } + // GenImageText() + if (!umkaAddFunc(umka, "GenImageText", &umkaGenImageText)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GenImageText()"); + return false; + } // ImageCopy() if (!umkaAddFunc(umka, "ImageCopy", &umkaImageCopy)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageCopy()"); @@ -10088,6 +13125,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageFromImage()"); return false; } + // ImageFromChannel() + if (!umkaAddFunc(umka, "ImageFromChannel", &umkaImageFromChannel)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageFromChannel()"); + return false; + } // ImageText() if (!umkaAddFunc(umka, "ImageText", &umkaImageText)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageText()"); @@ -10133,6 +13175,16 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageAlphaPremultiply()"); return false; } + // ImageBlurGaussian() + if (!umkaAddFunc(umka, "ImageBlurGaussian", &umkaImageBlurGaussian)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageBlurGaussian()"); + return false; + } + // ImageKernelConvolution() + if (!umkaAddFunc(umka, "ImageKernelConvolution", &umkaImageKernelConvolution)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageKernelConvolution()"); + return false; + } // ImageResize() if (!umkaAddFunc(umka, "ImageResize", &umkaImageResize)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageResize()"); @@ -10168,6 +13220,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageFlipHorizontal()"); return false; } + // ImageRotate() + if (!umkaAddFunc(umka, "ImageRotate", &umkaImageRotate)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageRotate()"); + return false; + } // ImageRotateCW() if (!umkaAddFunc(umka, "ImageRotateCW", &umkaImageRotateCW)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageRotateCW()"); @@ -10263,6 +13320,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageDrawLineV()"); return false; } + // ImageDrawLineEx() + if (!umkaAddFunc(umka, "ImageDrawLineEx", &umkaImageDrawLineEx)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageDrawLineEx()"); + return false; + } // ImageDrawCircle() if (!umkaAddFunc(umka, "ImageDrawCircle", &umkaImageDrawCircle)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageDrawCircle()"); @@ -10273,6 +13335,16 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageDrawCircleV()"); return false; } + // ImageDrawCircleLines() + if (!umkaAddFunc(umka, "ImageDrawCircleLines", &umkaImageDrawCircleLines)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageDrawCircleLines()"); + return false; + } + // ImageDrawCircleLinesV() + if (!umkaAddFunc(umka, "ImageDrawCircleLinesV", &umkaImageDrawCircleLinesV)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageDrawCircleLinesV()"); + return false; + } // ImageDrawRectangle() if (!umkaAddFunc(umka, "ImageDrawRectangle", &umkaImageDrawRectangle)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageDrawRectangle()"); @@ -10293,6 +13365,31 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageDrawRectangleLines()"); return false; } + // ImageDrawTriangle() + if (!umkaAddFunc(umka, "ImageDrawTriangle", &umkaImageDrawTriangle)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageDrawTriangle()"); + return false; + } + // ImageDrawTriangleEx() + if (!umkaAddFunc(umka, "ImageDrawTriangleEx", &umkaImageDrawTriangleEx)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageDrawTriangleEx()"); + return false; + } + // ImageDrawTriangleLines() + if (!umkaAddFunc(umka, "ImageDrawTriangleLines", &umkaImageDrawTriangleLines)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageDrawTriangleLines()"); + return false; + } + // ImageDrawTriangleFan() + if (!umkaAddFunc(umka, "ImageDrawTriangleFan", &umkaImageDrawTriangleFan)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageDrawTriangleFan()"); + return false; + } + // ImageDrawTriangleStrip() + if (!umkaAddFunc(umka, "ImageDrawTriangleStrip", &umkaImageDrawTriangleStrip)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageDrawTriangleStrip()"); + return false; + } // ImageDraw() if (!umkaAddFunc(umka, "ImageDraw", &umkaImageDraw)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ImageDraw()"); @@ -10328,11 +13425,21 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadRenderTexture()"); return false; } + // IsTextureValid() + if (!umkaAddFunc(umka, "IsTextureValid", &umkaIsTextureValid)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function IsTextureValid()"); + return false; + } // UnloadTexture() if (!umkaAddFunc(umka, "UnloadTexture", &umkaUnloadTexture)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function UnloadTexture()"); return false; } + // IsRenderTextureValid() + if (!umkaAddFunc(umka, "IsRenderTextureValid", &umkaIsRenderTextureValid)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function IsRenderTextureValid()"); + return false; + } // UnloadRenderTexture() if (!umkaAddFunc(umka, "UnloadRenderTexture", &umkaUnloadRenderTexture)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function UnloadRenderTexture()"); @@ -10383,16 +13490,6 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawTextureRec()"); return false; } - // DrawTextureQuad() - if (!umkaAddFunc(umka, "DrawTextureQuad", &umkaDrawTextureQuad)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawTextureQuad()"); - return false; - } - // DrawTextureTiled() - if (!umkaAddFunc(umka, "DrawTextureTiled", &umkaDrawTextureTiled)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawTextureTiled()"); - return false; - } // DrawTexturePro() if (!umkaAddFunc(umka, "DrawTexturePro", &umkaDrawTexturePro)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawTexturePro()"); @@ -10403,9 +13500,9 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawTextureNPatch()"); return false; } - // DrawTexturePoly() - if (!umkaAddFunc(umka, "DrawTexturePoly", &umkaDrawTexturePoly)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawTexturePoly()"); + // ColorIsEqual() + if (!umkaAddFunc(umka, "ColorIsEqual", &umkaColorIsEqual)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ColorIsEqual()"); return false; } // Fade() @@ -10438,6 +13535,21 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ColorFromHSV()"); return false; } + // ColorTint() + if (!umkaAddFunc(umka, "ColorTint", &umkaColorTint)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ColorTint()"); + return false; + } + // ColorBrightness() + if (!umkaAddFunc(umka, "ColorBrightness", &umkaColorBrightness)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ColorBrightness()"); + return false; + } + // ColorContrast() + if (!umkaAddFunc(umka, "ColorContrast", &umkaColorContrast)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ColorContrast()"); + return false; + } // ColorAlpha() if (!umkaAddFunc(umka, "ColorAlpha", &umkaColorAlpha)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ColorAlpha()"); @@ -10448,6 +13560,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ColorAlphaBlend()"); return false; } + // ColorLerp() + if (!umkaAddFunc(umka, "ColorLerp", &umkaColorLerp)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ColorLerp()"); + return false; + } // GetColor() if (!umkaAddFunc(umka, "GetColor", &umkaGetColor)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetColor()"); @@ -10493,6 +13610,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadFontFromMemory()"); return false; } + // IsFontValid() + if (!umkaAddFunc(umka, "IsFontValid", &umkaIsFontValid)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function IsFontValid()"); + return false; + } // Skipping LoadFontData // GenImageFontAtlas() if (!umkaAddFunc(umka, "GenImageFontAtlas", &umkaGenImageFontAtlas)) { @@ -10544,6 +13666,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawTextCodepoints()"); return false; } + // SetTextLineSpacing() + if (!umkaAddFunc(umka, "SetTextLineSpacing", &umkaSetTextLineSpacing)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function SetTextLineSpacing()"); + return false; + } // MeasureText() if (!umkaAddFunc(umka, "MeasureText", &umkaMeasureText)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function MeasureText()"); @@ -10554,6 +13681,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function MeasureTextEx()"); return false; } + // MeasureTextCodepoints() + if (!umkaAddFunc(umka, "MeasureTextCodepoints", &umkaMeasureTextCodepoints)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function MeasureTextCodepoints()"); + return false; + } // GetGlyphIndex() if (!umkaAddFunc(umka, "GetGlyphIndex", &umkaGetGlyphIndex)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetGlyphIndex()"); @@ -10569,6 +13701,16 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetGlyphAtlasRec()"); return false; } + // LoadUTF8() + if (!umkaAddFunc(umka, "LoadUTF8", &umkaLoadUTF8)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadUTF8()"); + return false; + } + // UnloadUTF8() + if (!umkaAddFunc(umka, "UnloadUTF8", &umkaUnloadUTF8)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function UnloadUTF8()"); + return false; + } // LoadCodepoints() if (!umkaAddFunc(umka, "LoadCodepoints", &umkaLoadCodepoints)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadCodepoints()"); @@ -10589,14 +13731,29 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetCodepoint()"); return false; } + // GetCodepointNext() + if (!umkaAddFunc(umka, "GetCodepointNext", &umkaGetCodepointNext)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetCodepointNext()"); + return false; + } + // GetCodepointPrevious() + if (!umkaAddFunc(umka, "GetCodepointPrevious", &umkaGetCodepointPrevious)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetCodepointPrevious()"); + return false; + } // CodepointToUTF8() if (!umkaAddFunc(umka, "CodepointToUTF8", &umkaCodepointToUTF8)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function CodepointToUTF8()"); return false; } - // TextCodepointsToUTF8() - if (!umkaAddFunc(umka, "TextCodepointsToUTF8", &umkaTextCodepointsToUTF8)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function TextCodepointsToUTF8()"); + // LoadTextLines() + if (!umkaAddFunc(umka, "LoadTextLines", &umkaLoadTextLines)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadTextLines()"); + return false; + } + // UnloadTextLines() + if (!umkaAddFunc(umka, "UnloadTextLines", &umkaUnloadTextLines)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function UnloadTextLines()"); return false; } // TextCopy() @@ -10620,11 +13777,26 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function TextSubtext()"); return false; } + // TextRemoveSpaces() + if (!umkaAddFunc(umka, "TextRemoveSpaces", &umkaTextRemoveSpaces)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function TextRemoveSpaces()"); + return false; + } + // GetTextBetween() + if (!umkaAddFunc(umka, "GetTextBetween", &umkaGetTextBetween)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetTextBetween()"); + return false; + } // TextReplace() if (!umkaAddFunc(umka, "TextReplace", &umkaTextReplace)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function TextReplace()"); return false; } + // TextReplaceBetween() + if (!umkaAddFunc(umka, "TextReplaceBetween", &umkaTextReplaceBetween)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function TextReplaceBetween()"); + return false; + } // TextInsert() if (!umkaAddFunc(umka, "TextInsert", &umkaTextInsert)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function TextInsert()"); @@ -10665,11 +13837,26 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function TextToPascal()"); return false; } + // TextToSnake() + if (!umkaAddFunc(umka, "TextToSnake", &umkaTextToSnake)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function TextToSnake()"); + return false; + } + // TextToCamel() + if (!umkaAddFunc(umka, "TextToCamel", &umkaTextToCamel)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function TextToCamel()"); + return false; + } // TextToInteger() if (!umkaAddFunc(umka, "TextToInteger", &umkaTextToInteger)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function TextToInteger()"); return false; } + // TextToFloat() + if (!umkaAddFunc(umka, "TextToFloat", &umkaTextToFloat)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function TextToFloat()"); + return false; + } // DrawLine3D() if (!umkaAddFunc(umka, "DrawLine3D", &umkaDrawLine3D)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawLine3D()"); @@ -10715,16 +13902,6 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawCubeWiresV()"); return false; } - // DrawCubeTexture() - if (!umkaAddFunc(umka, "DrawCubeTexture", &umkaDrawCubeTexture)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawCubeTexture()"); - return false; - } - // DrawCubeTextureRec() - if (!umkaAddFunc(umka, "DrawCubeTextureRec", &umkaDrawCubeTextureRec)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawCubeTextureRec()"); - return false; - } // DrawSphere() if (!umkaAddFunc(umka, "DrawSphere", &umkaDrawSphere)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawSphere()"); @@ -10760,6 +13937,16 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawCylinderWiresEx()"); return false; } + // DrawCapsule() + if (!umkaAddFunc(umka, "DrawCapsule", &umkaDrawCapsule)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawCapsule()"); + return false; + } + // DrawCapsuleWires() + if (!umkaAddFunc(umka, "DrawCapsuleWires", &umkaDrawCapsuleWires)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawCapsuleWires()"); + return false; + } // DrawPlane() if (!umkaAddFunc(umka, "DrawPlane", &umkaDrawPlane)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawPlane()"); @@ -10785,16 +13972,16 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadModelFromMesh()"); return false; } + // IsModelValid() + if (!umkaAddFunc(umka, "IsModelValid", &umkaIsModelValid)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function IsModelValid()"); + return false; + } // UnloadModel() if (!umkaAddFunc(umka, "UnloadModel", &umkaUnloadModel)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function UnloadModel()"); return false; } - // UnloadModelKeepMeshes() - if (!umkaAddFunc(umka, "UnloadModelKeepMeshes", &umkaUnloadModelKeepMeshes)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function UnloadModelKeepMeshes()"); - return false; - } // GetModelBoundingBox() if (!umkaAddFunc(umka, "GetModelBoundingBox", &umkaGetModelBoundingBox)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetModelBoundingBox()"); @@ -10820,6 +14007,16 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawModelWiresEx()"); return false; } + // DrawModelPoints() + if (!umkaAddFunc(umka, "DrawModelPoints", &umkaDrawModelPoints)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawModelPoints()"); + return false; + } + // DrawModelPointsEx() + if (!umkaAddFunc(umka, "DrawModelPointsEx", &umkaDrawModelPointsEx)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawModelPointsEx()"); + return false; + } // DrawBoundingBox() if (!umkaAddFunc(umka, "DrawBoundingBox", &umkaDrawBoundingBox)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawBoundingBox()"); @@ -10865,11 +14062,6 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function DrawMeshInstanced()"); return false; } - // ExportMesh() - if (!umkaAddFunc(umka, "ExportMesh", &umkaExportMesh)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function ExportMesh()"); - return false; - } // GetMeshBoundingBox() if (!umkaAddFunc(umka, "GetMeshBoundingBox", &umkaGetMeshBoundingBox)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GetMeshBoundingBox()"); @@ -10880,6 +14072,16 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GenMeshTangents()"); return false; } + // ExportMesh() + if (!umkaAddFunc(umka, "ExportMesh", &umkaExportMesh)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ExportMesh()"); + return false; + } + // ExportMeshAsCode() + if (!umkaAddFunc(umka, "ExportMeshAsCode", &umkaExportMeshAsCode)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function ExportMeshAsCode()"); + return false; + } // GenMeshPoly() if (!umkaAddFunc(umka, "GenMeshPoly", &umkaGenMeshPoly)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function GenMeshPoly()"); @@ -10945,6 +14147,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadMaterialDefault()"); return false; } + // IsMaterialValid() + if (!umkaAddFunc(umka, "IsMaterialValid", &umkaIsMaterialValid)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function IsMaterialValid()"); + return false; + } // UnloadMaterial() if (!umkaAddFunc(umka, "UnloadMaterial", &umkaUnloadMaterial)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function UnloadMaterial()"); @@ -10970,9 +14177,9 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function UpdateModelAnimation()"); return false; } - // UnloadModelAnimation() - if (!umkaAddFunc(umka, "UnloadModelAnimation", &umkaUnloadModelAnimation)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function UnloadModelAnimation()"); + // UpdateModelAnimationEx() + if (!umkaAddFunc(umka, "UpdateModelAnimationEx", &umkaUpdateModelAnimationEx)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function UpdateModelAnimationEx()"); return false; } // UnloadModelAnimations() @@ -11045,6 +14252,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function SetMasterVolume()"); return false; } + // GetMasterVolume() + if (!umkaAddFunc(umka, "GetMasterVolume", &umkaGetMasterVolume)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function GetMasterVolume()"); + return false; + } // LoadWave() if (!umkaAddFunc(umka, "LoadWave", &umkaLoadWave)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadWave()"); @@ -11055,6 +14267,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadWaveFromMemory()"); return false; } + // IsWaveValid() + if (!umkaAddFunc(umka, "IsWaveValid", &umkaIsWaveValid)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function IsWaveValid()"); + return false; + } // LoadSound() if (!umkaAddFunc(umka, "LoadSound", &umkaLoadSound)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadSound()"); @@ -11065,6 +14282,16 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadSoundFromWave()"); return false; } + // LoadSoundAlias() + if (!umkaAddFunc(umka, "LoadSoundAlias", &umkaLoadSoundAlias)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadSoundAlias()"); + return false; + } + // IsSoundValid() + if (!umkaAddFunc(umka, "IsSoundValid", &umkaIsSoundValid)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function IsSoundValid()"); + return false; + } // UpdateSound() if (!umkaAddFunc(umka, "UpdateSound", &umkaUpdateSound)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function UpdateSound()"); @@ -11080,6 +14307,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function UnloadSound()"); return false; } + // UnloadSoundAlias() + if (!umkaAddFunc(umka, "UnloadSoundAlias", &umkaUnloadSoundAlias)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function UnloadSoundAlias()"); + return false; + } // ExportWave() if (!umkaAddFunc(umka, "ExportWave", &umkaExportWave)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ExportWave()"); @@ -11110,21 +14342,6 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function ResumeSound()"); return false; } - // PlaySoundMulti() - if (!umkaAddFunc(umka, "PlaySoundMulti", &umkaPlaySoundMulti)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function PlaySoundMulti()"); - return false; - } - // StopSoundMulti() - if (!umkaAddFunc(umka, "StopSoundMulti", &umkaStopSoundMulti)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function StopSoundMulti()"); - return false; - } - // GetSoundsPlaying() - if (!umkaAddFunc(umka, "GetSoundsPlaying", &umkaGetSoundsPlaying)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function GetSoundsPlaying()"); - return false; - } // IsSoundPlaying() if (!umkaAddFunc(umka, "IsSoundPlaying", &umkaIsSoundPlaying)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function IsSoundPlaying()"); @@ -11180,6 +14397,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadMusicStreamFromMemory()"); return false; } + // IsMusicValid() + if (!umkaAddFunc(umka, "IsMusicValid", &umkaIsMusicValid)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function IsMusicValid()"); + return false; + } // UnloadMusicStream() if (!umkaAddFunc(umka, "UnloadMusicStream", &umkaUnloadMusicStream)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function UnloadMusicStream()"); @@ -11250,6 +14472,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function LoadAudioStream()"); return false; } + // IsAudioStreamValid() + if (!umkaAddFunc(umka, "IsAudioStreamValid", &umkaIsAudioStreamValid)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function IsAudioStreamValid()"); + return false; + } // UnloadAudioStream() if (!umkaAddFunc(umka, "UnloadAudioStream", &umkaUnloadAudioStream)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function UnloadAudioStream()"); @@ -11313,6 +14540,16 @@ bool umkaAddRaylib(void *umka) { // Skipping SetAudioStreamCallback // Skipping AttachAudioStreamProcessor // Skipping DetachAudioStreamProcessor + // AttachAudioMixedProcessor() + if (!umkaAddFunc(umka, "AttachAudioMixedProcessor", &umkaAttachAudioMixedProcessor)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function AttachAudioMixedProcessor()"); + return false; + } + // DetachAudioMixedProcessor() + if (!umkaAddFunc(umka, "DetachAudioMixedProcessor", &umkaDetachAudioMixedProcessor)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function DetachAudioMixedProcessor()"); + return false; + } // Clamp() if (!umkaAddFunc(umka, "Clamp", &umkaClamp)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function Clamp()"); @@ -11388,6 +14625,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector2DotProduct()"); return false; } + // Vector2CrossProduct() + if (!umkaAddFunc(umka, "Vector2CrossProduct", &umkaVector2CrossProduct)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector2CrossProduct()"); + return false; + } // Vector2Distance() if (!umkaAddFunc(umka, "Vector2Distance", &umkaVector2Distance)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector2Distance()"); @@ -11403,6 +14645,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector2Angle()"); return false; } + // Vector2LineAngle() + if (!umkaAddFunc(umka, "Vector2LineAngle", &umkaVector2LineAngle)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector2LineAngle()"); + return false; + } // Vector2Scale() if (!umkaAddFunc(umka, "Vector2Scale", &umkaVector2Scale)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector2Scale()"); @@ -11443,6 +14690,16 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector2Reflect()"); return false; } + // Vector2Min() + if (!umkaAddFunc(umka, "Vector2Min", &umkaVector2Min)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector2Min()"); + return false; + } + // Vector2Max() + if (!umkaAddFunc(umka, "Vector2Max", &umkaVector2Max)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector2Max()"); + return false; + } // Vector2Rotate() if (!umkaAddFunc(umka, "Vector2Rotate", &umkaVector2Rotate)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector2Rotate()"); @@ -11473,6 +14730,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector2Equals()"); return false; } + // Vector2Refract() + if (!umkaAddFunc(umka, "Vector2Refract", &umkaVector2Refract)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector2Refract()"); + return false; + } // Vector3Zero() if (!umkaAddFunc(umka, "Vector3Zero", &umkaVector3Zero)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector3Zero()"); @@ -11568,6 +14830,16 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector3Normalize()"); return false; } + // Vector3Project() + if (!umkaAddFunc(umka, "Vector3Project", &umkaVector3Project)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector3Project()"); + return false; + } + // Vector3Reject() + if (!umkaAddFunc(umka, "Vector3Reject", &umkaVector3Reject)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector3Reject()"); + return false; + } // Vector3OrthoNormalize() if (!umkaAddFunc(umka, "Vector3OrthoNormalize", &umkaVector3OrthoNormalize)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector3OrthoNormalize()"); @@ -11588,11 +14860,21 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector3RotateByAxisAngle()"); return false; } + // Vector3MoveTowards() + if (!umkaAddFunc(umka, "Vector3MoveTowards", &umkaVector3MoveTowards)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector3MoveTowards()"); + return false; + } // Vector3Lerp() if (!umkaAddFunc(umka, "Vector3Lerp", &umkaVector3Lerp)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector3Lerp()"); return false; } + // Vector3CubicHermite() + if (!umkaAddFunc(umka, "Vector3CubicHermite", &umkaVector3CubicHermite)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector3CubicHermite()"); + return false; + } // Vector3Reflect() if (!umkaAddFunc(umka, "Vector3Reflect", &umkaVector3Reflect)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector3Reflect()"); @@ -11648,6 +14930,116 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector3Refract()"); return false; } + // Vector4Zero() + if (!umkaAddFunc(umka, "Vector4Zero", &umkaVector4Zero)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4Zero()"); + return false; + } + // Vector4One() + if (!umkaAddFunc(umka, "Vector4One", &umkaVector4One)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4One()"); + return false; + } + // Vector4Add() + if (!umkaAddFunc(umka, "Vector4Add", &umkaVector4Add)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4Add()"); + return false; + } + // Vector4AddValue() + if (!umkaAddFunc(umka, "Vector4AddValue", &umkaVector4AddValue)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4AddValue()"); + return false; + } + // Vector4Subtract() + if (!umkaAddFunc(umka, "Vector4Subtract", &umkaVector4Subtract)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4Subtract()"); + return false; + } + // Vector4SubtractValue() + if (!umkaAddFunc(umka, "Vector4SubtractValue", &umkaVector4SubtractValue)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4SubtractValue()"); + return false; + } + // Vector4Length() + if (!umkaAddFunc(umka, "Vector4Length", &umkaVector4Length)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4Length()"); + return false; + } + // Vector4LengthSqr() + if (!umkaAddFunc(umka, "Vector4LengthSqr", &umkaVector4LengthSqr)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4LengthSqr()"); + return false; + } + // Vector4DotProduct() + if (!umkaAddFunc(umka, "Vector4DotProduct", &umkaVector4DotProduct)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4DotProduct()"); + return false; + } + // Vector4Distance() + if (!umkaAddFunc(umka, "Vector4Distance", &umkaVector4Distance)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4Distance()"); + return false; + } + // Vector4DistanceSqr() + if (!umkaAddFunc(umka, "Vector4DistanceSqr", &umkaVector4DistanceSqr)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4DistanceSqr()"); + return false; + } + // Vector4Scale() + if (!umkaAddFunc(umka, "Vector4Scale", &umkaVector4Scale)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4Scale()"); + return false; + } + // Vector4Multiply() + if (!umkaAddFunc(umka, "Vector4Multiply", &umkaVector4Multiply)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4Multiply()"); + return false; + } + // Vector4Negate() + if (!umkaAddFunc(umka, "Vector4Negate", &umkaVector4Negate)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4Negate()"); + return false; + } + // Vector4Divide() + if (!umkaAddFunc(umka, "Vector4Divide", &umkaVector4Divide)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4Divide()"); + return false; + } + // Vector4Normalize() + if (!umkaAddFunc(umka, "Vector4Normalize", &umkaVector4Normalize)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4Normalize()"); + return false; + } + // Vector4Min() + if (!umkaAddFunc(umka, "Vector4Min", &umkaVector4Min)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4Min()"); + return false; + } + // Vector4Max() + if (!umkaAddFunc(umka, "Vector4Max", &umkaVector4Max)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4Max()"); + return false; + } + // Vector4Lerp() + if (!umkaAddFunc(umka, "Vector4Lerp", &umkaVector4Lerp)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4Lerp()"); + return false; + } + // Vector4MoveTowards() + if (!umkaAddFunc(umka, "Vector4MoveTowards", &umkaVector4MoveTowards)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4MoveTowards()"); + return false; + } + // Vector4Invert() + if (!umkaAddFunc(umka, "Vector4Invert", &umkaVector4Invert)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4Invert()"); + return false; + } + // Vector4Equals() + if (!umkaAddFunc(umka, "Vector4Equals", &umkaVector4Equals)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function Vector4Equals()"); + return false; + } // MatrixDeterminant() if (!umkaAddFunc(umka, "MatrixDeterminant", &umkaMatrixDeterminant)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function MatrixDeterminant()"); @@ -11688,6 +15080,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function MatrixMultiply()"); return false; } + // MatrixMultiplyValue() + if (!umkaAddFunc(umka, "MatrixMultiplyValue", &umkaMatrixMultiplyValue)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function MatrixMultiplyValue()"); + return false; + } // MatrixTranslate() if (!umkaAddFunc(umka, "MatrixTranslate", &umkaMatrixTranslate)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function MatrixTranslate()"); @@ -11823,6 +15220,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function QuaternionSlerp()"); return false; } + // QuaternionCubicHermiteSpline() + if (!umkaAddFunc(umka, "QuaternionCubicHermiteSpline", &umkaQuaternionCubicHermiteSpline)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function QuaternionCubicHermiteSpline()"); + return false; + } // QuaternionFromVector3ToVector3() if (!umkaAddFunc(umka, "QuaternionFromVector3ToVector3", &umkaQuaternionFromVector3ToVector3)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function QuaternionFromVector3ToVector3()"); @@ -11868,6 +15270,16 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function QuaternionEquals()"); return false; } + // MatrixCompose() + if (!umkaAddFunc(umka, "MatrixCompose", &umkaMatrixCompose)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function MatrixCompose()"); + return false; + } + // MatrixDecompose() + if (!umkaAddFunc(umka, "MatrixDecompose", &umkaMatrixDecompose)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function MatrixDecompose()"); + return false; + } // rlMatrixMode() if (!umkaAddFunc(umka, "rlMatrixMode", &umkarlMatrixMode)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlMatrixMode()"); @@ -11923,6 +15335,21 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlViewport()"); return false; } + // rlSetClipPlanes() + if (!umkaAddFunc(umka, "rlSetClipPlanes", &umkarlSetClipPlanes)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlSetClipPlanes()"); + return false; + } + // rlGetCullDistanceNear() + if (!umkaAddFunc(umka, "rlGetCullDistanceNear", &umkarlGetCullDistanceNear)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlGetCullDistanceNear()"); + return false; + } + // rlGetCullDistanceFar() + if (!umkaAddFunc(umka, "rlGetCullDistanceFar", &umkarlGetCullDistanceFar)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlGetCullDistanceFar()"); + return false; + } // rlBegin() if (!umkaAddFunc(umka, "rlBegin", &umkarlBegin)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlBegin()"); @@ -12045,6 +15472,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlTextureParameters()"); return false; } + // rlCubemapParameters() + if (!umkaAddFunc(umka, "rlCubemapParameters", &umkarlCubemapParameters)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlCubemapParameters()"); + return false; + } // rlEnableShader() if (!umkaAddFunc(umka, "rlEnableShader", &umkarlEnableShader)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlEnableShader()"); @@ -12065,11 +15497,26 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlDisableFramebuffer()"); return false; } + // rlGetActiveFramebuffer() + if (!umkaAddFunc(umka, "rlGetActiveFramebuffer", &umkarlGetActiveFramebuffer)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlGetActiveFramebuffer()"); + return false; + } // rlActiveDrawBuffers() if (!umkaAddFunc(umka, "rlActiveDrawBuffers", &umkarlActiveDrawBuffers)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlActiveDrawBuffers()"); return false; } + // rlBlitFramebuffer() + if (!umkaAddFunc(umka, "rlBlitFramebuffer", &umkarlBlitFramebuffer)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlBlitFramebuffer()"); + return false; + } + // rlBindFramebuffer() + if (!umkaAddFunc(umka, "rlBindFramebuffer", &umkarlBindFramebuffer)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlBindFramebuffer()"); + return false; + } // rlEnableColorBlend() if (!umkaAddFunc(umka, "rlEnableColorBlend", &umkarlEnableColorBlend)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlEnableColorBlend()"); @@ -12110,6 +15557,16 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlDisableBackfaceCulling()"); return false; } + // rlColorMask() + if (!umkaAddFunc(umka, "rlColorMask", &umkarlColorMask)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlColorMask()"); + return false; + } + // rlSetCullFace() + if (!umkaAddFunc(umka, "rlSetCullFace", &umkarlSetCullFace)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlSetCullFace()"); + return false; + } // rlEnableScissorTest() if (!umkaAddFunc(umka, "rlEnableScissorTest", &umkarlEnableScissorTest)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlEnableScissorTest()"); @@ -12125,6 +15582,26 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlScissor()"); return false; } + // rlEnablePointMode() + if (!umkaAddFunc(umka, "rlEnablePointMode", &umkarlEnablePointMode)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlEnablePointMode()"); + return false; + } + // rlDisablePointMode() + if (!umkaAddFunc(umka, "rlDisablePointMode", &umkarlDisablePointMode)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlDisablePointMode()"); + return false; + } + // rlSetPointSize() + if (!umkaAddFunc(umka, "rlSetPointSize", &umkarlSetPointSize)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlSetPointSize()"); + return false; + } + // rlGetPointSize() + if (!umkaAddFunc(umka, "rlGetPointSize", &umkarlGetPointSize)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlGetPointSize()"); + return false; + } // rlEnableWireMode() if (!umkaAddFunc(umka, "rlEnableWireMode", &umkarlEnableWireMode)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlEnableWireMode()"); @@ -12195,6 +15672,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlSetBlendFactors()"); return false; } + // rlSetBlendFactorsSeparate() + if (!umkaAddFunc(umka, "rlSetBlendFactorsSeparate", &umkarlSetBlendFactorsSeparate)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlSetBlendFactorsSeparate()"); + return false; + } // rlglInit() if (!umkaAddFunc(umka, "rlglInit", &umkarlglInit)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlglInit()"); @@ -12210,6 +15692,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlLoadExtensions()"); return false; } + // rlGetProcAddress() + if (!umkaAddFunc(umka, "rlGetProcAddress", &umkarlGetProcAddress)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlGetProcAddress()"); + return false; + } // rlGetVersion() if (!umkaAddFunc(umka, "rlGetVersion", &umkarlGetVersion)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlGetVersion()"); @@ -12409,14 +15896,19 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlUnloadFramebuffer()"); return false; } - // rlLoadShaderCode() - if (!umkaAddFunc(umka, "rlLoadShaderCode", &umkarlLoadShaderCode)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function rlLoadShaderCode()"); + // rlCopyFramebuffer() + if (!umkaAddFunc(umka, "rlCopyFramebuffer", &umkarlCopyFramebuffer)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlCopyFramebuffer()"); + return false; + } + // rlResizeFramebuffer() + if (!umkaAddFunc(umka, "rlResizeFramebuffer", &umkarlResizeFramebuffer)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlResizeFramebuffer()"); return false; } - // rlCompileShader() - if (!umkaAddFunc(umka, "rlCompileShader", &umkarlCompileShader)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function rlCompileShader()"); + // rlLoadShader() + if (!umkaAddFunc(umka, "rlLoadShader", &umkarlLoadShader)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlLoadShader()"); return false; } // rlLoadShaderProgram() @@ -12424,6 +15916,21 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlLoadShaderProgram()"); return false; } + // rlLoadShaderProgramEx() + if (!umkaAddFunc(umka, "rlLoadShaderProgramEx", &umkarlLoadShaderProgramEx)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlLoadShaderProgramEx()"); + return false; + } + // rlLoadShaderProgramCompute() + if (!umkaAddFunc(umka, "rlLoadShaderProgramCompute", &umkarlLoadShaderProgramCompute)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlLoadShaderProgramCompute()"); + return false; + } + // rlUnloadShader() + if (!umkaAddFunc(umka, "rlUnloadShader", &umkarlUnloadShader)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlUnloadShader()"); + return false; + } // rlUnloadShaderProgram() if (!umkaAddFunc(umka, "rlUnloadShaderProgram", &umkarlUnloadShaderProgram)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlUnloadShaderProgram()"); @@ -12449,6 +15956,11 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlSetUniformMatrix()"); return false; } + // rlSetUniformMatrices() + if (!umkaAddFunc(umka, "rlSetUniformMatrices", &umkarlSetUniformMatrices)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlSetUniformMatrices()"); + return false; + } // rlSetUniformSampler() if (!umkaAddFunc(umka, "rlSetUniformSampler", &umkarlSetUniformSampler)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlSetUniformSampler()"); @@ -12459,11 +15971,6 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlSetShader()"); return false; } - // rlLoadComputeShaderProgram() - if (!umkaAddFunc(umka, "rlLoadComputeShaderProgram", &umkarlLoadComputeShaderProgram)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function rlLoadComputeShaderProgram()"); - return false; - } // rlComputeShaderDispatch() if (!umkaAddFunc(umka, "rlComputeShaderDispatch", &umkarlComputeShaderDispatch)) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlComputeShaderDispatch()"); @@ -12479,29 +15986,29 @@ bool umkaAddRaylib(void *umka) { TraceLog(LOG_ERROR, "UMKA: Failed to add function rlUnloadShaderBuffer()"); return false; } - // rlUpdateShaderBufferElements() - if (!umkaAddFunc(umka, "rlUpdateShaderBufferElements", &umkarlUpdateShaderBufferElements)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function rlUpdateShaderBufferElements()"); + // rlUpdateShaderBuffer() + if (!umkaAddFunc(umka, "rlUpdateShaderBuffer", &umkarlUpdateShaderBuffer)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlUpdateShaderBuffer()"); return false; } - // rlGetShaderBufferSize() - if (!umkaAddFunc(umka, "rlGetShaderBufferSize", &umkarlGetShaderBufferSize)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function rlGetShaderBufferSize()"); + // rlBindShaderBuffer() + if (!umkaAddFunc(umka, "rlBindShaderBuffer", &umkarlBindShaderBuffer)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlBindShaderBuffer()"); return false; } - // rlReadShaderBufferElements() - if (!umkaAddFunc(umka, "rlReadShaderBufferElements", &umkarlReadShaderBufferElements)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function rlReadShaderBufferElements()"); + // rlReadShaderBuffer() + if (!umkaAddFunc(umka, "rlReadShaderBuffer", &umkarlReadShaderBuffer)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlReadShaderBuffer()"); return false; } - // rlBindShaderBuffer() - if (!umkaAddFunc(umka, "rlBindShaderBuffer", &umkarlBindShaderBuffer)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function rlBindShaderBuffer()"); + // rlCopyShaderBuffer() + if (!umkaAddFunc(umka, "rlCopyShaderBuffer", &umkarlCopyShaderBuffer)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlCopyShaderBuffer()"); return false; } - // rlCopyBuffersElements() - if (!umkaAddFunc(umka, "rlCopyBuffersElements", &umkarlCopyBuffersElements)) { - TraceLog(LOG_ERROR, "UMKA: Failed to add function rlCopyBuffersElements()"); + // rlGetShaderBufferSize() + if (!umkaAddFunc(umka, "rlGetShaderBufferSize", &umkarlGetShaderBufferSize)) { + TraceLog(LOG_ERROR, "UMKA: Failed to add function rlGetShaderBufferSize()"); return false; } // rlBindImageTexture() @@ -12681,1403 +16188,1633 @@ bool umkaAddRaylib(void *umka) { /* 0109 */ " tangents: ^real32\n" /* 0110 */ " colors: ^uint8\n" /* 0111 */ " indices: ^uint16\n" - /* 0112 */ " animVertices: ^real32\n" - /* 0113 */ " animNormals: ^real32\n" - /* 0114 */ " boneIds: ^uint8\n" - /* 0115 */ " boneWeights: ^real32\n" - /* 0116 */ " vaoId: uint32\n" - /* 0117 */ " vboId: ^uint32\n" - /* 0118 */ " }\n" - /* 0119 */ " Shader* = struct {\n" - /* 0120 */ " id: uint32\n" - /* 0121 */ " locs: ^int32\n" - /* 0122 */ " }\n" - /* 0123 */ " MaterialMap* = struct {\n" - /* 0124 */ " texture: Texture\n" - /* 0125 */ " color: Color\n" - /* 0126 */ " value: real32\n" - /* 0127 */ " }\n" - /* 0128 */ " Material* = struct {\n" - /* 0129 */ " shader: Shader\n" - /* 0130 */ " maps: ^MaterialMap\n" - /* 0131 */ " params: [4]real32\n" - /* 0132 */ " }\n" - /* 0133 */ " Transform* = struct {\n" - /* 0134 */ " translation: Vector3\n" - /* 0135 */ " rotation: Vector4\n" - /* 0136 */ " scale: Vector3\n" - /* 0137 */ " }\n" - /* 0138 */ " BoneInfo* = struct {\n" - /* 0139 */ " name: [32]char\n" - /* 0140 */ " parent: int32\n" - /* 0141 */ " }\n" - /* 0142 */ " Model* = struct {\n" - /* 0143 */ " transform: Matrix\n" - /* 0144 */ " meshCount: int32\n" - /* 0145 */ " materialCount: int32\n" - /* 0146 */ " meshes: ^Mesh\n" - /* 0147 */ " materials: ^Material\n" - /* 0148 */ " meshMaterial: ^int32\n" - /* 0149 */ " boneCount: int32\n" - /* 0150 */ " bones: ^BoneInfo\n" - /* 0151 */ " bindPose: ^Transform\n" - /* 0152 */ " }\n" - /* 0153 */ " ModelAnimation* = struct {\n" - /* 0154 */ " boneCount: int32\n" - /* 0155 */ " frameCount: int32\n" - /* 0156 */ " bones: ^BoneInfo\n" - /* 0157 */ " framePoses: ^void\n" + /* 0112 */ " boneCount: int32\n" + /* 0113 */ " boneIndices: ^uint8\n" + /* 0114 */ " boneWeights: ^real32\n" + /* 0115 */ " animVertices: ^real32\n" + /* 0116 */ " animNormals: ^real32\n" + /* 0117 */ " vaoId: uint32\n" + /* 0118 */ " vboId: ^uint32\n" + /* 0119 */ " }\n" + /* 0120 */ " Shader* = struct {\n" + /* 0121 */ " id: uint32\n" + /* 0122 */ " locs: ^int32\n" + /* 0123 */ " }\n" + /* 0124 */ " MaterialMap* = struct {\n" + /* 0125 */ " texture: Texture\n" + /* 0126 */ " color: Color\n" + /* 0127 */ " value: real32\n" + /* 0128 */ " }\n" + /* 0129 */ " Material* = struct {\n" + /* 0130 */ " shader: Shader\n" + /* 0131 */ " maps: ^MaterialMap\n" + /* 0132 */ " params: [4]real32\n" + /* 0133 */ " }\n" + /* 0134 */ " Transform* = struct {\n" + /* 0135 */ " translation: Vector3\n" + /* 0136 */ " rotation: Vector4\n" + /* 0137 */ " scale: Vector3\n" + /* 0138 */ " }\n" + /* 0139 */ " BoneInfo* = struct {\n" + /* 0140 */ " name: [32]char\n" + /* 0141 */ " parent: int32\n" + /* 0142 */ " }\n" + /* 0143 */ " ModelSkeleton* = struct {\n" + /* 0144 */ " boneCount: int32\n" + /* 0145 */ " bones: ^BoneInfo\n" + /* 0146 */ " bindPose: ^Transform\n" + /* 0147 */ " }\n" + /* 0148 */ " Model* = struct {\n" + /* 0149 */ " transform: Matrix\n" + /* 0150 */ " meshCount: int32\n" + /* 0151 */ " materialCount: int32\n" + /* 0152 */ " meshes: ^Mesh\n" + /* 0153 */ " materials: ^Material\n" + /* 0154 */ " meshMaterial: ^int32\n" + /* 0155 */ " skeleton: ModelSkeleton\n" + /* 0156 */ " currentPose: ^Transform\n" + /* 0157 */ " boneMatrices: ^Matrix\n" /* 0158 */ " }\n" - /* 0159 */ " Ray* = struct {\n" - /* 0160 */ " position: Vector3\n" - /* 0161 */ " direction: Vector3\n" - /* 0162 */ " }\n" - /* 0163 */ " RayCollision* = struct {\n" - /* 0164 */ " hit: bool\n" - /* 0165 */ " distance: real32\n" - /* 0166 */ " point: Vector3\n" - /* 0167 */ " normal: Vector3\n" + /* 0159 */ " ModelAnimation* = struct {\n" + /* 0160 */ " name: [32]char\n" + /* 0161 */ " boneCount: int32\n" + /* 0162 */ " keyframeCount: int32\n" + /* 0163 */ " keyframePoses: ^^Transform\n" + /* 0164 */ " }\n" + /* 0165 */ " Ray* = struct {\n" + /* 0166 */ " position: Vector3\n" + /* 0167 */ " direction: Vector3\n" /* 0168 */ " }\n" - /* 0169 */ " BoundingBox* = struct {\n" - /* 0170 */ " min: Vector3\n" - /* 0171 */ " max: Vector3\n" - /* 0172 */ " }\n" - /* 0173 */ " Wave* = struct {\n" - /* 0174 */ " frameCount: uint32\n" - /* 0175 */ " sampleRate: uint32\n" - /* 0176 */ " sampleSize: uint32\n" - /* 0177 */ " channels: uint32\n" - /* 0178 */ " data: ^void\n" - /* 0179 */ " }\n" - /* 0180 */ " AudioStream* = struct {\n" - /* 0181 */ " buffer: ^void\n" - /* 0182 */ " processor: ^void\n" - /* 0183 */ " sampleRate: uint32\n" - /* 0184 */ " sampleSize: uint32\n" - /* 0185 */ " channels: uint32\n" - /* 0186 */ " }\n" - /* 0187 */ " Sound* = struct {\n" - /* 0188 */ " stream: AudioStream\n" - /* 0189 */ " frameCount: uint32\n" - /* 0190 */ " }\n" - /* 0191 */ " Music* = struct {\n" - /* 0192 */ " stream: AudioStream\n" - /* 0193 */ " frameCount: uint32\n" - /* 0194 */ " looping: bool\n" - /* 0195 */ " ctxType: int32\n" - /* 0196 */ " ctxData: ^void\n" - /* 0197 */ " }\n" - /* 0198 */ " VrDeviceInfo* = struct {\n" - /* 0199 */ " hResolution: int32\n" - /* 0200 */ " vResolution: int32\n" - /* 0201 */ " hScreenSize: real32\n" - /* 0202 */ " vScreenSize: real32\n" - /* 0203 */ " vScreenCenter: real32\n" - /* 0204 */ " eyeToScreenDistance: real32\n" - /* 0205 */ " lensSeparationDistance: real32\n" - /* 0206 */ " interpupillaryDistance: real32\n" - /* 0207 */ " lensDistortionValues: [4]real32\n" - /* 0208 */ " chromaAbCorrection: [4]real32\n" - /* 0209 */ " }\n" - /* 0210 */ " VrStereoConfig* = struct {\n" - /* 0211 */ " projection: [2]Matrix\n" - /* 0212 */ " viewOffset: [2]Matrix\n" - /* 0213 */ " leftLensCenter: [2]real32\n" - /* 0214 */ " rightLensCenter: [2]real32\n" - /* 0215 */ " leftScreenCenter: [2]real32\n" - /* 0216 */ " rightScreenCenter: [2]real32\n" - /* 0217 */ " scale: [2]real32\n" - /* 0218 */ " scaleIn: [2]real32\n" - /* 0219 */ " }\n" - /* 0220 */ " FilePathList* = struct {\n" - /* 0221 */ " capacity: uint32\n" - /* 0222 */ " count: uint32\n" - /* 0223 */ " paths: ^str\n" + /* 0169 */ " RayCollision* = struct {\n" + /* 0170 */ " hit: bool\n" + /* 0171 */ " distance: real32\n" + /* 0172 */ " point: Vector3\n" + /* 0173 */ " normal: Vector3\n" + /* 0174 */ " }\n" + /* 0175 */ " BoundingBox* = struct {\n" + /* 0176 */ " min: Vector3\n" + /* 0177 */ " max: Vector3\n" + /* 0178 */ " }\n" + /* 0179 */ " Wave* = struct {\n" + /* 0180 */ " frameCount: uint32\n" + /* 0181 */ " sampleRate: uint32\n" + /* 0182 */ " sampleSize: uint32\n" + /* 0183 */ " channels: uint32\n" + /* 0184 */ " data: ^void\n" + /* 0185 */ " }\n" + /* 0186 */ " AudioStream* = struct {\n" + /* 0187 */ " buffer: ^void\n" + /* 0188 */ " processor: ^void\n" + /* 0189 */ " sampleRate: uint32\n" + /* 0190 */ " sampleSize: uint32\n" + /* 0191 */ " channels: uint32\n" + /* 0192 */ " }\n" + /* 0193 */ " Sound* = struct {\n" + /* 0194 */ " stream: AudioStream\n" + /* 0195 */ " frameCount: uint32\n" + /* 0196 */ " }\n" + /* 0197 */ " Music* = struct {\n" + /* 0198 */ " stream: AudioStream\n" + /* 0199 */ " frameCount: uint32\n" + /* 0200 */ " looping: bool\n" + /* 0201 */ " ctxType: int32\n" + /* 0202 */ " ctxData: ^void\n" + /* 0203 */ " }\n" + /* 0204 */ " VrDeviceInfo* = struct {\n" + /* 0205 */ " hResolution: int32\n" + /* 0206 */ " vResolution: int32\n" + /* 0207 */ " hScreenSize: real32\n" + /* 0208 */ " vScreenSize: real32\n" + /* 0209 */ " eyeToScreenDistance: real32\n" + /* 0210 */ " lensSeparationDistance: real32\n" + /* 0211 */ " interpupillaryDistance: real32\n" + /* 0212 */ " lensDistortionValues: [4]real32\n" + /* 0213 */ " chromaAbCorrection: [4]real32\n" + /* 0214 */ " }\n" + /* 0215 */ " VrStereoConfig* = struct {\n" + /* 0216 */ " projection: [2]Matrix\n" + /* 0217 */ " viewOffset: [2]Matrix\n" + /* 0218 */ " leftLensCenter: [2]real32\n" + /* 0219 */ " rightLensCenter: [2]real32\n" + /* 0220 */ " leftScreenCenter: [2]real32\n" + /* 0221 */ " rightScreenCenter: [2]real32\n" + /* 0222 */ " scale: [2]real32\n" + /* 0223 */ " scaleIn: [2]real32\n" /* 0224 */ " }\n" - /* 0225 */ " float3* = struct {\n" - /* 0226 */ " v: [3]real32\n" - /* 0227 */ " }\n" - /* 0228 */ " float16* = struct {\n" - /* 0229 */ " v: [16]real32\n" - /* 0230 */ " }\n" - /* 0231 */ " rlDrawCall* = struct {\n" - /* 0232 */ " mode: int32\n" - /* 0233 */ " vertexCount: int32\n" - /* 0234 */ " vertexAlignment: int32\n" - /* 0235 */ " textureId: uint32\n" - /* 0236 */ " }\n" - /* 0237 */ ")\n" + /* 0225 */ " FilePathList* = struct {\n" + /* 0226 */ " count: uint32\n" + /* 0227 */ " paths: ^str\n" + /* 0228 */ " }\n" + /* 0229 */ " AutomationEvent* = struct {\n" + /* 0230 */ " frame: uint32\n" + /* 0231 */ " type: uint32\n" + /* 0232 */ " params: [4]int32\n" + /* 0233 */ " }\n" + /* 0234 */ " AutomationEventList* = struct {\n" + /* 0235 */ " capacity: uint32\n" + /* 0236 */ " count: uint32\n" + /* 0237 */ " events: ^AutomationEvent\n" + /* 0238 */ " }\n" + /* 0239 */ " float3* = struct {\n" + /* 0240 */ " v: [3]real32\n" + /* 0241 */ " }\n" + /* 0242 */ " float16* = struct {\n" + /* 0243 */ " v: [16]real32\n" + /* 0244 */ " }\n" + /* 0245 */ " rlDrawCall* = struct {\n" + /* 0246 */ " mode: int32\n" + /* 0247 */ " vertexCount: int32\n" + /* 0248 */ " vertexAlignment: int32\n" + /* 0249 */ " textureId: uint32\n" + /* 0250 */ " }\n" + /* 0251 */ ")\n" // Callbacks - /* 0238 */ "type (\n" - // Skipped TraceLogCallback - /* 0239 */ " LoadFileDataCallback = fn(fileName: str, bytesRead: ^uint32): ^uint8\n" - /* 0240 */ " SaveFileDataCallback = fn(fileName: str, data: ^void, bytesToWrite: uint32): bool\n" - /* 0241 */ " LoadFileTextCallback = fn(fileName: str): str\n" - /* 0242 */ " SaveFileTextCallback = fn(fileName: str, text: str): bool\n" - /* 0243 */ " AudioCallback = fn(bufferData: ^void, frames: uint32)\n" - /* 0244 */ ")\n" + /* 0252 */ "type (\n" + /* 0253 */ "// Skipped TraceLogCallback\n" + /* 0254 */ " LoadFileDataCallback = fn(fileName: str, dataSize: ^int32): ^uint8\n" + /* 0255 */ " SaveFileDataCallback = fn(fileName: str, data: ^void, dataSize: int32): bool\n" + /* 0256 */ " LoadFileTextCallback = fn(fileName: str): str\n" + /* 0257 */ " SaveFileTextCallback = fn(fileName: str, text: str): bool\n" + /* 0258 */ " AudioCallback = fn(bufferData: ^void, frames: uint32)\n" + /* 0259 */ ")\n" // Function Declarations - /* 0245 */ "fn InitWindow*(width: int32, height: int32, title: str)\n" - /* 0246 */ "fn WindowShouldClose*(): bool\n" - /* 0247 */ "fn CloseWindow*()\n" - /* 0248 */ "fn IsWindowReady*(): bool\n" - /* 0249 */ "fn IsWindowFullscreen*(): bool\n" - /* 0250 */ "fn IsWindowHidden*(): bool\n" - /* 0251 */ "fn IsWindowMinimized*(): bool\n" - /* 0252 */ "fn IsWindowMaximized*(): bool\n" - /* 0253 */ "fn IsWindowFocused*(): bool\n" - /* 0254 */ "fn IsWindowResized*(): bool\n" - /* 0255 */ "fn IsWindowState*(flag: uint32): bool\n" - /* 0256 */ "fn SetWindowState*(flags: uint32)\n" - /* 0257 */ "fn ClearWindowState*(flags: uint32)\n" - /* 0258 */ "fn ToggleFullscreen*()\n" - /* 0259 */ "fn MaximizeWindow*()\n" - /* 0260 */ "fn MinimizeWindow*()\n" - /* 0261 */ "fn RestoreWindow*()\n" - /* 0262 */ "fn SetWindowIcon*(image: Image)\n" - /* 0263 */ "fn SetWindowTitle*(title: str)\n" - /* 0264 */ "fn SetWindowPosition*(x: int32, y: int32)\n" - /* 0265 */ "fn SetWindowMonitor*(monitor: int32)\n" - /* 0266 */ "fn SetWindowMinSize*(width: int32, height: int32)\n" - /* 0267 */ "fn SetWindowSize*(width: int32, height: int32)\n" - /* 0268 */ "fn SetWindowOpacity*(opacity: real32)\n" - /* 0269 */ "fn GetWindowHandle*(): ^void\n" - /* 0270 */ "fn GetScreenWidth*(): int32\n" - /* 0271 */ "fn GetScreenHeight*(): int32\n" - /* 0272 */ "fn GetRenderWidth*(): int32\n" - /* 0273 */ "fn GetRenderHeight*(): int32\n" - /* 0274 */ "fn GetMonitorCount*(): int32\n" - /* 0275 */ "fn GetCurrentMonitor*(): int32\n" - /* 0276 */ "fn GetMonitorPosition*(monitor: int32): Vector2\n" - /* 0277 */ "fn GetMonitorWidth*(monitor: int32): int32\n" - /* 0278 */ "fn GetMonitorHeight*(monitor: int32): int32\n" - /* 0279 */ "fn GetMonitorPhysicalWidth*(monitor: int32): int32\n" - /* 0280 */ "fn GetMonitorPhysicalHeight*(monitor: int32): int32\n" - /* 0281 */ "fn GetMonitorRefreshRate*(monitor: int32): int32\n" - /* 0282 */ "fn GetWindowPosition*(): Vector2\n" - /* 0283 */ "fn GetWindowScaleDPI*(): Vector2\n" - /* 0284 */ "fn GetMonitorName*(monitor: int32): str\n" - /* 0285 */ "fn SetClipboardText*(text: str)\n" - /* 0286 */ "fn GetClipboardText*(): str\n" - /* 0287 */ "fn EnableEventWaiting*()\n" - /* 0288 */ "fn DisableEventWaiting*()\n" - /* 0289 */ "fn SwapScreenBuffer*()\n" - /* 0290 */ "fn PollInputEvents*()\n" - /* 0291 */ "fn WaitTime*(seconds: real)\n" - /* 0292 */ "fn ShowCursor*()\n" - /* 0293 */ "fn HideCursor*()\n" - /* 0294 */ "fn IsCursorHidden*(): bool\n" - /* 0295 */ "fn EnableCursor*()\n" - /* 0296 */ "fn DisableCursor*()\n" - /* 0297 */ "fn IsCursorOnScreen*(): bool\n" - /* 0298 */ "fn ClearBackground*(color: Color)\n" - /* 0299 */ "fn BeginDrawing*()\n" - /* 0300 */ "fn EndDrawing*()\n" - /* 0301 */ "fn BeginMode2D*(camera: Camera2D)\n" - /* 0302 */ "fn EndMode2D*()\n" - /* 0303 */ "fn BeginMode3D*(camera: Camera3D)\n" - /* 0304 */ "fn EndMode3D*()\n" - /* 0305 */ "fn BeginTextureMode*(target: RenderTexture)\n" - /* 0306 */ "fn EndTextureMode*()\n" - /* 0307 */ "fn BeginShaderMode*(shader: Shader)\n" - /* 0308 */ "fn EndShaderMode*()\n" - /* 0309 */ "fn BeginBlendMode*(mode: int32)\n" - /* 0310 */ "fn EndBlendMode*()\n" - /* 0311 */ "fn BeginScissorMode*(x: int32, y: int32, width: int32, height: int32)\n" - /* 0312 */ "fn EndScissorMode*()\n" - /* 0313 */ "fn BeginVrStereoMode*(config: VrStereoConfig)\n" - /* 0314 */ "fn EndVrStereoMode*()\n" - /* 0315 */ "fn LoadVrStereoConfig*(device: VrDeviceInfo): VrStereoConfig\n" - /* 0316 */ "fn UnloadVrStereoConfig*(config: VrStereoConfig)\n" - /* 0317 */ "fn LoadShader*(vsFileName: str, fsFileName: str): Shader\n" - /* 0318 */ "fn LoadShaderFromMemory*(vsCode: str, fsCode: str): Shader\n" - /* 0319 */ "fn GetShaderLocation*(shader: Shader, uniformName: str): int32\n" - /* 0320 */ "fn GetShaderLocationAttrib*(shader: Shader, attribName: str): int32\n" - /* 0321 */ "fn SetShaderValue*(shader: Shader, locIndex: int32, value: ^void, uniformType: int32)\n" - /* 0322 */ "fn SetShaderValueV*(shader: Shader, locIndex: int32, value: ^void, uniformType: int32, count: int32)\n" - /* 0323 */ "fn SetShaderValueMatrix*(shader: Shader, locIndex: int32, mat: Matrix)\n" - /* 0324 */ "fn SetShaderValueTexture*(shader: Shader, locIndex: int32, texture: Texture)\n" - /* 0325 */ "fn UnloadShader*(shader: Shader)\n" - /* 0326 */ "fn GetMouseRay*(mousePosition: Vector2, camera: Camera3D): Ray\n" - /* 0327 */ "fn GetCameraMatrix*(camera: Camera3D): Matrix\n" - /* 0328 */ "fn GetCameraMatrix2D*(camera: Camera2D): Matrix\n" - /* 0329 */ "fn GetWorldToScreen*(position: Vector3, camera: Camera3D): Vector2\n" - /* 0330 */ "fn GetScreenToWorld2D*(position: Vector2, camera: Camera2D): Vector2\n" - /* 0331 */ "fn GetWorldToScreenEx*(position: Vector3, camera: Camera3D, width: int32, height: int32): Vector2\n" - /* 0332 */ "fn GetWorldToScreen2D*(position: Vector2, camera: Camera2D): Vector2\n" - /* 0333 */ "fn SetTargetFPS*(fps: int32)\n" - /* 0334 */ "fn GetFPS*(): int32\n" - /* 0335 */ "fn GetFrameTime*(): real32\n" - /* 0336 */ "fn GetTime*(): real\n" - /* 0337 */ "fn GetRandomValue*(min: int32, max: int32): int32\n" - /* 0338 */ "fn SetRandomSeed*(seed: uint32)\n" - /* 0339 */ "fn TakeScreenshot*(fileName: str)\n" - /* 0340 */ "fn SetConfigFlags*(flags: uint32)\n" - // Skipping TraceLog - /* 0341 */ "fn SetTraceLogLevel*(logLevel: int32)\n" - /* 0342 */ "fn MemAlloc*(size: int32): ^void\n" - /* 0343 */ "fn MemRealloc*(ptr: ^void, size: int32): ^void\n" - /* 0344 */ "fn MemFree*(ptr: ^void)\n" - /* 0345 */ "fn OpenURL*(url: str)\n" - // Skipping SetTraceLogCallback - // Skipping SetLoadFileDataCallback - // Skipping SetSaveFileDataCallback - // Skipping SetLoadFileTextCallback - // Skipping SetSaveFileTextCallback - /* 0346 */ "fn LoadFileData*(fileName: str, bytesRead: ^uint32): ^uint8\n" - /* 0347 */ "fn UnloadFileData*(data: ^uint8)\n" - /* 0348 */ "fn SaveFileData*(fileName: str, data: ^void, bytesToWrite: uint32): bool\n" - /* 0349 */ "fn ExportDataAsCode*(data: str, size: uint32, fileName: str): bool\n" - /* 0350 */ "fn LoadFileText*(fileName: str): str\n" - /* 0351 */ "fn UnloadFileText*(text: str)\n" - /* 0352 */ "fn SaveFileText*(fileName: str, text: str): bool\n" - /* 0353 */ "fn FileExists*(fileName: str): bool\n" - /* 0354 */ "fn DirectoryExists*(dirPath: str): bool\n" - /* 0355 */ "fn IsFileExtension*(fileName: str, ext: str): bool\n" - /* 0356 */ "fn GetFileLength*(fileName: str): int32\n" - /* 0357 */ "fn GetFileExtension*(fileName: str): str\n" - /* 0358 */ "fn GetFileName*(filePath: str): str\n" - /* 0359 */ "fn GetFileNameWithoutExt*(filePath: str): str\n" - /* 0360 */ "fn GetDirectoryPath*(filePath: str): str\n" - /* 0361 */ "fn GetPrevDirectoryPath*(dirPath: str): str\n" - /* 0362 */ "fn GetWorkingDirectory*(): str\n" - /* 0363 */ "fn GetApplicationDirectory*(): str\n" - /* 0364 */ "fn ChangeDirectory*(dir: str): bool\n" - /* 0365 */ "fn IsPathFile*(path: str): bool\n" - /* 0366 */ "fn LoadDirectoryFiles*(dirPath: str): FilePathList\n" - /* 0367 */ "fn LoadDirectoryFilesEx*(basePath: str, filter: str, scanSubdirs: bool): FilePathList\n" - /* 0368 */ "fn UnloadDirectoryFiles*(files: FilePathList)\n" - /* 0369 */ "fn IsFileDropped*(): bool\n" - /* 0370 */ "fn LoadDroppedFiles*(): FilePathList\n" - /* 0371 */ "fn UnloadDroppedFiles*(files: FilePathList)\n" - /* 0372 */ "fn GetFileModTime*(fileName: str): int\n" - /* 0373 */ "fn CompressData*(data: ^uint8, dataSize: int32, compDataSize: ^int32): ^uint8\n" - /* 0374 */ "fn DecompressData*(compData: ^uint8, compDataSize: int32, dataSize: ^int32): ^uint8\n" - /* 0375 */ "fn EncodeDataBase64*(data: ^uint8, dataSize: int32, outputSize: ^int32): str\n" - /* 0376 */ "fn DecodeDataBase64*(data: ^uint8, outputSize: ^int32): ^uint8\n" - /* 0377 */ "fn IsKeyPressed*(key: int32): bool\n" - /* 0378 */ "fn IsKeyDown*(key: int32): bool\n" - /* 0379 */ "fn IsKeyReleased*(key: int32): bool\n" - /* 0380 */ "fn IsKeyUp*(key: int32): bool\n" - /* 0381 */ "fn SetExitKey*(key: int32)\n" - /* 0382 */ "fn GetKeyPressed*(): int32\n" - /* 0383 */ "fn GetCharPressed*(): int32\n" - /* 0384 */ "fn IsGamepadAvailable*(gamepad: int32): bool\n" - /* 0385 */ "fn GetGamepadName*(gamepad: int32): str\n" - /* 0386 */ "fn IsGamepadButtonPressed*(gamepad: int32, button: int32): bool\n" - /* 0387 */ "fn IsGamepadButtonDown*(gamepad: int32, button: int32): bool\n" - /* 0388 */ "fn IsGamepadButtonReleased*(gamepad: int32, button: int32): bool\n" - /* 0389 */ "fn IsGamepadButtonUp*(gamepad: int32, button: int32): bool\n" - /* 0390 */ "fn GetGamepadButtonPressed*(): int32\n" - /* 0391 */ "fn GetGamepadAxisCount*(gamepad: int32): int32\n" - /* 0392 */ "fn GetGamepadAxisMovement*(gamepad: int32, axis: int32): real32\n" - /* 0393 */ "fn SetGamepadMappings*(mappings: str): int32\n" - /* 0394 */ "fn IsMouseButtonPressed*(button: int32): bool\n" - /* 0395 */ "fn IsMouseButtonDown*(button: int32): bool\n" - /* 0396 */ "fn IsMouseButtonReleased*(button: int32): bool\n" - /* 0397 */ "fn IsMouseButtonUp*(button: int32): bool\n" - /* 0398 */ "fn GetMouseX*(): int32\n" - /* 0399 */ "fn GetMouseY*(): int32\n" - /* 0400 */ "fn GetMousePosition*(): Vector2\n" - /* 0401 */ "fn GetMouseDelta*(): Vector2\n" - /* 0402 */ "fn SetMousePosition*(x: int32, y: int32)\n" - /* 0403 */ "fn SetMouseOffset*(offsetX: int32, offsetY: int32)\n" - /* 0404 */ "fn SetMouseScale*(scaleX: real32, scaleY: real32)\n" - /* 0405 */ "fn GetMouseWheelMove*(): real32\n" - /* 0406 */ "fn GetMouseWheelMoveV*(): Vector2\n" - /* 0407 */ "fn SetMouseCursor*(cursor: int32)\n" - /* 0408 */ "fn GetTouchX*(): int32\n" - /* 0409 */ "fn GetTouchY*(): int32\n" - /* 0410 */ "fn GetTouchPosition*(index: int32): Vector2\n" - /* 0411 */ "fn GetTouchPointId*(index: int32): int32\n" - /* 0412 */ "fn GetTouchPointCount*(): int32\n" - /* 0413 */ "fn SetGesturesEnabled*(flags: uint32)\n" - /* 0414 */ "fn IsGestureDetected*(gesture: int32): bool\n" - /* 0415 */ "fn GetGestureDetected*(): int32\n" - /* 0416 */ "fn GetGestureHoldDuration*(): real32\n" - /* 0417 */ "fn GetGestureDragVector*(): Vector2\n" - /* 0418 */ "fn GetGestureDragAngle*(): real32\n" - /* 0419 */ "fn GetGesturePinchVector*(): Vector2\n" - /* 0420 */ "fn GetGesturePinchAngle*(): real32\n" - /* 0421 */ "fn SetCameraMode*(camera: Camera3D, mode: int32)\n" - /* 0422 */ "fn UpdateCamera*(camera: ^Camera3D)\n" - /* 0423 */ "fn SetCameraPanControl*(keyPan: int32)\n" - /* 0424 */ "fn SetCameraAltControl*(keyAlt: int32)\n" - /* 0425 */ "fn SetCameraSmoothZoomControl*(keySmoothZoom: int32)\n" - /* 0426 */ "fn SetCameraMoveControls*(keyFront: int32, keyBack: int32, keyRight: int32, keyLeft: int32, keyUp: int32, keyDown: int32)\n" - /* 0427 */ "fn SetShapesTexture*(texture: Texture, source: Rectangle)\n" - /* 0428 */ "fn DrawPixel*(posX: int32, posY: int32, color: Color)\n" - /* 0429 */ "fn DrawPixelV*(position: Vector2, color: Color)\n" - /* 0430 */ "fn DrawLine*(startPosX: int32, startPosY: int32, endPosX: int32, endPosY: int32, color: Color)\n" - /* 0431 */ "fn DrawLineV*(startPos: Vector2, endPos: Vector2, color: Color)\n" - /* 0432 */ "fn DrawLineEx*(startPos: Vector2, endPos: Vector2, thick: real32, color: Color)\n" - /* 0433 */ "fn DrawLineBezier*(startPos: Vector2, endPos: Vector2, thick: real32, color: Color)\n" - /* 0434 */ "fn DrawLineBezierQuad*(startPos: Vector2, endPos: Vector2, controlPos: Vector2, thick: real32, color: Color)\n" - /* 0435 */ "fn DrawLineBezierCubic*(startPos: Vector2, endPos: Vector2, startControlPos: Vector2, endControlPos: Vector2, thick: real32, color: Color)\n" - /* 0436 */ "fn DrawLineStrip*(points: ^Vector2, pointCount: int32, color: Color)\n" - /* 0437 */ "fn DrawCircle*(centerX: int32, centerY: int32, radius: real32, color: Color)\n" - /* 0438 */ "fn DrawCircleSector*(center: Vector2, radius: real32, startAngle: real32, endAngle: real32, segments: int32, color: Color)\n" - /* 0439 */ "fn DrawCircleSectorLines*(center: Vector2, radius: real32, startAngle: real32, endAngle: real32, segments: int32, color: Color)\n" - /* 0440 */ "fn DrawCircleGradient*(centerX: int32, centerY: int32, radius: real32, color1: Color, color2: Color)\n" - /* 0441 */ "fn DrawCircleV*(center: Vector2, radius: real32, color: Color)\n" - /* 0442 */ "fn DrawCircleLines*(centerX: int32, centerY: int32, radius: real32, color: Color)\n" - /* 0443 */ "fn DrawEllipse*(centerX: int32, centerY: int32, radiusH: real32, radiusV: real32, color: Color)\n" - /* 0444 */ "fn DrawEllipseLines*(centerX: int32, centerY: int32, radiusH: real32, radiusV: real32, color: Color)\n" - /* 0445 */ "fn DrawRing*(center: Vector2, innerRadius: real32, outerRadius: real32, startAngle: real32, endAngle: real32, segments: int32, color: Color)\n" - /* 0446 */ "fn DrawRingLines*(center: Vector2, innerRadius: real32, outerRadius: real32, startAngle: real32, endAngle: real32, segments: int32, color: Color)\n" - /* 0447 */ "fn DrawRectangle*(posX: int32, posY: int32, width: int32, height: int32, color: Color)\n" - /* 0448 */ "fn DrawRectangleV*(position: Vector2, size: Vector2, color: Color)\n" - /* 0449 */ "fn DrawRectangleRec*(rec: Rectangle, color: Color)\n" - /* 0450 */ "fn DrawRectanglePro*(rec: Rectangle, origin: Vector2, rotation: real32, color: Color)\n" - /* 0451 */ "fn DrawRectangleGradientV*(posX: int32, posY: int32, width: int32, height: int32, color1: Color, color2: Color)\n" - /* 0452 */ "fn DrawRectangleGradientH*(posX: int32, posY: int32, width: int32, height: int32, color1: Color, color2: Color)\n" - /* 0453 */ "fn DrawRectangleGradientEx*(rec: Rectangle, col1: Color, col2: Color, col3: Color, col4: Color)\n" - /* 0454 */ "fn DrawRectangleLines*(posX: int32, posY: int32, width: int32, height: int32, color: Color)\n" - /* 0455 */ "fn DrawRectangleLinesEx*(rec: Rectangle, lineThick: real32, color: Color)\n" - /* 0456 */ "fn DrawRectangleRounded*(rec: Rectangle, roundness: real32, segments: int32, color: Color)\n" - /* 0457 */ "fn DrawRectangleRoundedLines*(rec: Rectangle, roundness: real32, segments: int32, lineThick: real32, color: Color)\n" - /* 0458 */ "fn DrawTriangle*(v1: Vector2, v2: Vector2, v3: Vector2, color: Color)\n" - /* 0459 */ "fn DrawTriangleLines*(v1: Vector2, v2: Vector2, v3: Vector2, color: Color)\n" - /* 0460 */ "fn DrawTriangleFan*(points: ^Vector2, pointCount: int32, color: Color)\n" - /* 0461 */ "fn DrawTriangleStrip*(points: ^Vector2, pointCount: int32, color: Color)\n" - /* 0462 */ "fn DrawPoly*(center: Vector2, sides: int32, radius: real32, rotation: real32, color: Color)\n" - /* 0463 */ "fn DrawPolyLines*(center: Vector2, sides: int32, radius: real32, rotation: real32, color: Color)\n" - /* 0464 */ "fn DrawPolyLinesEx*(center: Vector2, sides: int32, radius: real32, rotation: real32, lineThick: real32, color: Color)\n" - /* 0465 */ "fn CheckCollisionRecs*(rec1: Rectangle, rec2: Rectangle): bool\n" - /* 0466 */ "fn CheckCollisionCircles*(center1: Vector2, radius1: real32, center2: Vector2, radius2: real32): bool\n" - /* 0467 */ "fn CheckCollisionCircleRec*(center: Vector2, radius: real32, rec: Rectangle): bool\n" - /* 0468 */ "fn CheckCollisionPointRec*(point: Vector2, rec: Rectangle): bool\n" - /* 0469 */ "fn CheckCollisionPointCircle*(point: Vector2, center: Vector2, radius: real32): bool\n" - /* 0470 */ "fn CheckCollisionPointTriangle*(point: Vector2, p1: Vector2, p2: Vector2, p3: Vector2): bool\n" - /* 0471 */ "fn CheckCollisionLines*(startPos1: Vector2, endPos1: Vector2, startPos2: Vector2, endPos2: Vector2, collisionPoint: ^Vector2): bool\n" - /* 0472 */ "fn CheckCollisionPointLine*(point: Vector2, p1: Vector2, p2: Vector2, threshold: int32): bool\n" - /* 0473 */ "fn GetCollisionRec*(rec1: Rectangle, rec2: Rectangle): Rectangle\n" - /* 0474 */ "fn LoadImage*(fileName: str): Image\n" - /* 0475 */ "fn LoadImageRaw*(fileName: str, width: int32, height: int32, format: int32, headerSize: int32): Image\n" - /* 0476 */ "fn LoadImageAnim*(fileName: str, frames: ^int32): Image\n" - /* 0477 */ "fn LoadImageFromMemory*(fileType: str, fileData: ^uint8, dataSize: int32): Image\n" - /* 0478 */ "fn LoadImageFromTexture*(texture: Texture): Image\n" - /* 0479 */ "fn LoadImageFromScreen*(): Image\n" - /* 0480 */ "fn UnloadImage*(image: Image)\n" - /* 0481 */ "fn ExportImage*(image: Image, fileName: str): bool\n" - /* 0482 */ "fn ExportImageAsCode*(image: Image, fileName: str): bool\n" - /* 0483 */ "fn GenImageColor*(width: int32, height: int32, color: Color): Image\n" - /* 0484 */ "fn GenImageGradientV*(width: int32, height: int32, top: Color, bottom: Color): Image\n" - /* 0485 */ "fn GenImageGradientH*(width: int32, height: int32, left: Color, right: Color): Image\n" - /* 0486 */ "fn GenImageGradientRadial*(width: int32, height: int32, density: real32, inner: Color, outer: Color): Image\n" - /* 0487 */ "fn GenImageChecked*(width: int32, height: int32, checksX: int32, checksY: int32, col1: Color, col2: Color): Image\n" - /* 0488 */ "fn GenImageWhiteNoise*(width: int32, height: int32, factor: real32): Image\n" - /* 0489 */ "fn GenImageCellular*(width: int32, height: int32, tileSize: int32): Image\n" - /* 0490 */ "fn ImageCopy*(image: Image): Image\n" - /* 0491 */ "fn ImageFromImage*(image: Image, rec: Rectangle): Image\n" - /* 0492 */ "fn ImageText*(text: str, fontSize: int32, color: Color): Image\n" - /* 0493 */ "fn ImageTextEx*(font: Font, text: str, fontSize: real32, spacing: real32, tint: Color): Image\n" - /* 0494 */ "fn ImageFormat*(image: ^Image, newFormat: int32)\n" - /* 0495 */ "fn ImageToPOT*(image: ^Image, fill: Color)\n" - /* 0496 */ "fn ImageCrop*(image: ^Image, crop: Rectangle)\n" - /* 0497 */ "fn ImageAlphaCrop*(image: ^Image, threshold: real32)\n" - /* 0498 */ "fn ImageAlphaClear*(image: ^Image, color: Color, threshold: real32)\n" - /* 0499 */ "fn ImageAlphaMask*(image: ^Image, alphaMask: Image)\n" - /* 0500 */ "fn ImageAlphaPremultiply*(image: ^Image)\n" - /* 0501 */ "fn ImageResize*(image: ^Image, newWidth: int32, newHeight: int32)\n" - /* 0502 */ "fn ImageResizeNN*(image: ^Image, newWidth: int32, newHeight: int32)\n" - /* 0503 */ "fn ImageResizeCanvas*(image: ^Image, newWidth: int32, newHeight: int32, offsetX: int32, offsetY: int32, fill: Color)\n" - /* 0504 */ "fn ImageMipmaps*(image: ^Image)\n" - /* 0505 */ "fn ImageDither*(image: ^Image, rBpp: int32, gBpp: int32, bBpp: int32, aBpp: int32)\n" - /* 0506 */ "fn ImageFlipVertical*(image: ^Image)\n" - /* 0507 */ "fn ImageFlipHorizontal*(image: ^Image)\n" - /* 0508 */ "fn ImageRotateCW*(image: ^Image)\n" - /* 0509 */ "fn ImageRotateCCW*(image: ^Image)\n" - /* 0510 */ "fn ImageColorTint*(image: ^Image, color: Color)\n" - /* 0511 */ "fn ImageColorInvert*(image: ^Image)\n" - /* 0512 */ "fn ImageColorGrayscale*(image: ^Image)\n" - /* 0513 */ "fn ImageColorContrast*(image: ^Image, contrast: real32)\n" - /* 0514 */ "fn ImageColorBrightness*(image: ^Image, brightness: int32)\n" - /* 0515 */ "fn ImageColorReplace*(image: ^Image, color: Color, replace: Color)\n" - /* 0516 */ "fn LoadImageColors*(image: Image): ^Color\n" - /* 0517 */ "fn LoadImagePalette*(image: Image, maxPaletteSize: int32, colorCount: ^int32): ^Color\n" - /* 0518 */ "fn UnloadImageColors*(colors: ^Color)\n" - /* 0519 */ "fn UnloadImagePalette*(colors: ^Color)\n" - /* 0520 */ "fn GetImageAlphaBorder*(image: Image, threshold: real32): Rectangle\n" - /* 0521 */ "fn GetImageColor*(image: Image, x: int32, y: int32): Color\n" - /* 0522 */ "fn ImageClearBackground*(dst: ^Image, color: Color)\n" - /* 0523 */ "fn ImageDrawPixel*(dst: ^Image, posX: int32, posY: int32, color: Color)\n" - /* 0524 */ "fn ImageDrawPixelV*(dst: ^Image, position: Vector2, color: Color)\n" - /* 0525 */ "fn ImageDrawLine*(dst: ^Image, startPosX: int32, startPosY: int32, endPosX: int32, endPosY: int32, color: Color)\n" - /* 0526 */ "fn ImageDrawLineV*(dst: ^Image, start: Vector2, end: Vector2, color: Color)\n" - /* 0527 */ "fn ImageDrawCircle*(dst: ^Image, centerX: int32, centerY: int32, radius: int32, color: Color)\n" - /* 0528 */ "fn ImageDrawCircleV*(dst: ^Image, center: Vector2, radius: int32, color: Color)\n" - /* 0529 */ "fn ImageDrawRectangle*(dst: ^Image, posX: int32, posY: int32, width: int32, height: int32, color: Color)\n" - /* 0530 */ "fn ImageDrawRectangleV*(dst: ^Image, position: Vector2, size: Vector2, color: Color)\n" - /* 0531 */ "fn ImageDrawRectangleRec*(dst: ^Image, rec: Rectangle, color: Color)\n" - /* 0532 */ "fn ImageDrawRectangleLines*(dst: ^Image, rec: Rectangle, thick: int32, color: Color)\n" - /* 0533 */ "fn ImageDraw*(dst: ^Image, src: Image, srcRec: Rectangle, dstRec: Rectangle, tint: Color)\n" - /* 0534 */ "fn ImageDrawText*(dst: ^Image, text: str, posX: int32, posY: int32, fontSize: int32, color: Color)\n" - /* 0535 */ "fn ImageDrawTextEx*(dst: ^Image, font: Font, text: str, position: Vector2, fontSize: real32, spacing: real32, tint: Color)\n" - /* 0536 */ "fn LoadTexture*(fileName: str): Texture\n" - /* 0537 */ "fn LoadTextureFromImage*(image: Image): Texture\n" - /* 0538 */ "fn LoadTextureCubemap*(image: Image, layout: int32): Texture\n" - /* 0539 */ "fn LoadRenderTexture*(width: int32, height: int32): RenderTexture\n" - /* 0540 */ "fn UnloadTexture*(texture: Texture)\n" - /* 0541 */ "fn UnloadRenderTexture*(target: RenderTexture)\n" - /* 0542 */ "fn UpdateTexture*(texture: Texture, pixels: ^void)\n" - /* 0543 */ "fn UpdateTextureRec*(texture: Texture, rec: Rectangle, pixels: ^void)\n" - /* 0544 */ "fn GenTextureMipmaps*(texture: ^Texture)\n" - /* 0545 */ "fn SetTextureFilter*(texture: Texture, filter: int32)\n" - /* 0546 */ "fn SetTextureWrap*(texture: Texture, wrap: int32)\n" - /* 0547 */ "fn DrawTexture*(texture: Texture, posX: int32, posY: int32, tint: Color)\n" - /* 0548 */ "fn DrawTextureV*(texture: Texture, position: Vector2, tint: Color)\n" - /* 0549 */ "fn DrawTextureEx*(texture: Texture, position: Vector2, rotation: real32, scale: real32, tint: Color)\n" - /* 0550 */ "fn DrawTextureRec*(texture: Texture, source: Rectangle, position: Vector2, tint: Color)\n" - /* 0551 */ "fn DrawTextureQuad*(texture: Texture, tiling: Vector2, offset: Vector2, quad: Rectangle, tint: Color)\n" - /* 0552 */ "fn DrawTextureTiled*(texture: Texture, source: Rectangle, dest: Rectangle, origin: Vector2, rotation: real32, scale: real32, tint: Color)\n" - /* 0553 */ "fn DrawTexturePro*(texture: Texture, source: Rectangle, dest: Rectangle, origin: Vector2, rotation: real32, tint: Color)\n" - /* 0554 */ "fn DrawTextureNPatch*(texture: Texture, nPatchInfo: NPatchInfo, dest: Rectangle, origin: Vector2, rotation: real32, tint: Color)\n" - /* 0555 */ "fn DrawTexturePoly*(texture: Texture, center: Vector2, points: ^Vector2, texcoords: ^Vector2, pointCount: int32, tint: Color)\n" - /* 0556 */ "fn Fade*(color: Color, alpha: real32): Color\n" - /* 0557 */ "fn ColorToInt*(color: Color): int32\n" - /* 0558 */ "fn ColorNormalize*(color: Color): Vector4\n" - /* 0559 */ "fn ColorFromNormalized*(normalized: Vector4): Color\n" - /* 0560 */ "fn ColorToHSV*(color: Color): Vector3\n" - /* 0561 */ "fn ColorFromHSV*(hue: real32, saturation: real32, value: real32): Color\n" - /* 0562 */ "fn ColorAlpha*(color: Color, alpha: real32): Color\n" - /* 0563 */ "fn ColorAlphaBlend*(dst: Color, src: Color, tint: Color): Color\n" - /* 0564 */ "fn GetColor*(hexValue: uint32): Color\n" - /* 0565 */ "fn GetPixelColor*(srcPtr: ^void, format: int32): Color\n" - /* 0566 */ "fn SetPixelColor*(dstPtr: ^void, color: Color, format: int32)\n" - /* 0567 */ "fn GetPixelDataSize*(width: int32, height: int32, format: int32): int32\n" - /* 0568 */ "fn GetFontDefault*(): Font\n" - /* 0569 */ "fn LoadFont*(fileName: str): Font\n" - /* 0570 */ "fn LoadFontEx*(fileName: str, fontSize: int32, fontChars: ^int32, glyphCount: int32): Font\n" - /* 0571 */ "fn LoadFontFromImage*(image: Image, key: Color, firstChar: int32): Font\n" - /* 0572 */ "fn LoadFontFromMemory*(fileType: str, fileData: ^uint8, dataSize: int32, fontSize: int32, fontChars: ^int32, glyphCount: int32): Font\n" - // Skipping LoadFontData - /* 0573 */ "fn GenImageFontAtlas*(chars: ^void, recs: ^void, glyphCount: int32, fontSize: int32, padding: int32, packMethod: int32): Image\n" - /* 0574 */ "fn UnloadFontData*(chars: ^GlyphInfo, glyphCount: int32)\n" - /* 0575 */ "fn UnloadFont*(font: Font)\n" - /* 0576 */ "fn ExportFontAsCode*(font: Font, fileName: str): bool\n" - /* 0577 */ "fn DrawFPS*(posX: int32, posY: int32)\n" - /* 0578 */ "fn DrawText*(text: str, posX: int32, posY: int32, fontSize: int32, color: Color)\n" - /* 0579 */ "fn DrawTextEx*(font: Font, text: str, position: Vector2, fontSize: real32, spacing: real32, tint: Color)\n" - /* 0580 */ "fn DrawTextPro*(font: Font, text: str, position: Vector2, origin: Vector2, rotation: real32, fontSize: real32, spacing: real32, tint: Color)\n" - /* 0581 */ "fn DrawTextCodepoint*(font: Font, codepoint: int32, position: Vector2, fontSize: real32, tint: Color)\n" - /* 0582 */ "fn DrawTextCodepoints*(font: Font, codepoints: ^int32, count: int32, position: Vector2, fontSize: real32, spacing: real32, tint: Color)\n" - /* 0583 */ "fn MeasureText*(text: str, fontSize: int32): int32\n" - /* 0584 */ "fn MeasureTextEx*(font: Font, text: str, fontSize: real32, spacing: real32): Vector2\n" - /* 0585 */ "fn GetGlyphIndex*(font: Font, codepoint: int32): int32\n" - /* 0586 */ "fn GetGlyphInfo*(font: Font, codepoint: int32): GlyphInfo\n" - /* 0587 */ "fn GetGlyphAtlasRec*(font: Font, codepoint: int32): Rectangle\n" - /* 0588 */ "fn LoadCodepoints*(text: str, count: ^int32): ^int32\n" - /* 0589 */ "fn UnloadCodepoints*(codepoints: ^int32)\n" - /* 0590 */ "fn GetCodepointCount*(text: str): int32\n" - /* 0591 */ "fn GetCodepoint*(text: str, bytesProcessed: ^int32): int32\n" - /* 0592 */ "fn CodepointToUTF8*(codepoint: int32, byteSize: ^int32): str\n" - /* 0593 */ "fn TextCodepointsToUTF8*(codepoints: ^int32, length: int32): str\n" - /* 0594 */ "fn TextCopy*(dst: str, src: str): int32\n" - /* 0595 */ "fn TextIsEqual*(text1: str, text2: str): bool\n" - /* 0596 */ "fn TextLength*(text: str): uint32\n" - // Skipping TextFormat - /* 0597 */ "fn TextSubtext*(text: str, position: int32, length: int32): str\n" - /* 0598 */ "fn TextReplace*(text: str, replace: str, by: str): str\n" - /* 0599 */ "fn TextInsert*(text: str, insert: str, position: int32): str\n" - /* 0600 */ "fn TextJoin*(textList: ^str, count: int32, delimiter: str): str\n" - /* 0601 */ "fn TextSplit*(text: str, delimiter: char, count: ^int32): ^str\n" - /* 0602 */ "fn TextAppend*(text: str, append: str, position: ^int32)\n" - /* 0603 */ "fn TextFindIndex*(text: str, find: str): int32\n" - /* 0604 */ "fn TextToUpper*(text: str): str\n" - /* 0605 */ "fn TextToLower*(text: str): str\n" - /* 0606 */ "fn TextToPascal*(text: str): str\n" - /* 0607 */ "fn TextToInteger*(text: str): int32\n" - /* 0608 */ "fn DrawLine3D*(startPos: Vector3, endPos: Vector3, color: Color)\n" - /* 0609 */ "fn DrawPoint3D*(position: Vector3, color: Color)\n" - /* 0610 */ "fn DrawCircle3D*(center: Vector3, radius: real32, rotationAxis: Vector3, rotationAngle: real32, color: Color)\n" - /* 0611 */ "fn DrawTriangle3D*(v1: Vector3, v2: Vector3, v3: Vector3, color: Color)\n" - /* 0612 */ "fn DrawTriangleStrip3D*(points: ^Vector3, pointCount: int32, color: Color)\n" - /* 0613 */ "fn DrawCube*(position: Vector3, width: real32, height: real32, length: real32, color: Color)\n" - /* 0614 */ "fn DrawCubeV*(position: Vector3, size: Vector3, color: Color)\n" - /* 0615 */ "fn DrawCubeWires*(position: Vector3, width: real32, height: real32, length: real32, color: Color)\n" - /* 0616 */ "fn DrawCubeWiresV*(position: Vector3, size: Vector3, color: Color)\n" - /* 0617 */ "fn DrawCubeTexture*(texture: Texture, position: Vector3, width: real32, height: real32, length: real32, color: Color)\n" - /* 0618 */ "fn DrawCubeTextureRec*(texture: Texture, source: Rectangle, position: Vector3, width: real32, height: real32, length: real32, color: Color)\n" - /* 0619 */ "fn DrawSphere*(centerPos: Vector3, radius: real32, color: Color)\n" - /* 0620 */ "fn DrawSphereEx*(centerPos: Vector3, radius: real32, rings: int32, slices: int32, color: Color)\n" - /* 0621 */ "fn DrawSphereWires*(centerPos: Vector3, radius: real32, rings: int32, slices: int32, color: Color)\n" - /* 0622 */ "fn DrawCylinder*(position: Vector3, radiusTop: real32, radiusBottom: real32, height: real32, slices: int32, color: Color)\n" - /* 0623 */ "fn DrawCylinderEx*(startPos: Vector3, endPos: Vector3, startRadius: real32, endRadius: real32, sides: int32, color: Color)\n" - /* 0624 */ "fn DrawCylinderWires*(position: Vector3, radiusTop: real32, radiusBottom: real32, height: real32, slices: int32, color: Color)\n" - /* 0625 */ "fn DrawCylinderWiresEx*(startPos: Vector3, endPos: Vector3, startRadius: real32, endRadius: real32, sides: int32, color: Color)\n" - /* 0626 */ "fn DrawPlane*(centerPos: Vector3, size: Vector2, color: Color)\n" - /* 0627 */ "fn DrawRay*(ray: Ray, color: Color)\n" - /* 0628 */ "fn DrawGrid*(slices: int32, spacing: real32)\n" - /* 0629 */ "fn LoadModel*(fileName: str): Model\n" - /* 0630 */ "fn LoadModelFromMesh*(mesh: Mesh): Model\n" - /* 0631 */ "fn UnloadModel*(model: Model)\n" - /* 0632 */ "fn UnloadModelKeepMeshes*(model: Model)\n" - /* 0633 */ "fn GetModelBoundingBox*(model: Model): BoundingBox\n" - /* 0634 */ "fn DrawModel*(model: Model, position: Vector3, scale: real32, tint: Color)\n" - /* 0635 */ "fn DrawModelEx*(model: Model, position: Vector3, rotationAxis: Vector3, rotationAngle: real32, scale: Vector3, tint: Color)\n" - /* 0636 */ "fn DrawModelWires*(model: Model, position: Vector3, scale: real32, tint: Color)\n" - /* 0637 */ "fn DrawModelWiresEx*(model: Model, position: Vector3, rotationAxis: Vector3, rotationAngle: real32, scale: Vector3, tint: Color)\n" - /* 0638 */ "fn DrawBoundingBox*(box: BoundingBox, color: Color)\n" - /* 0639 */ "fn DrawBillboard*(camera: Camera3D, texture: Texture, position: Vector3, size: real32, tint: Color)\n" - /* 0640 */ "fn DrawBillboardRec*(camera: Camera3D, texture: Texture, source: Rectangle, position: Vector3, size: Vector2, tint: Color)\n" - /* 0641 */ "fn DrawBillboardPro*(camera: Camera3D, texture: Texture, source: Rectangle, position: Vector3, up: Vector3, size: Vector2, origin: Vector2, rotation: real32, tint: Color)\n" - /* 0642 */ "fn UploadMesh*(mesh: ^Mesh, dynamic: bool)\n" - /* 0643 */ "fn UpdateMeshBuffer*(mesh: Mesh, index: int32, data: ^void, dataSize: int32, offset: int32)\n" - /* 0644 */ "fn UnloadMesh*(mesh: Mesh)\n" - /* 0645 */ "fn DrawMesh*(mesh: Mesh, material: Material, transform: Matrix)\n" - /* 0646 */ "fn DrawMeshInstanced*(mesh: Mesh, material: Material, transforms: ^Matrix, instances: int32)\n" - /* 0647 */ "fn ExportMesh*(mesh: Mesh, fileName: str): bool\n" - /* 0648 */ "fn GetMeshBoundingBox*(mesh: Mesh): BoundingBox\n" - /* 0649 */ "fn GenMeshTangents*(mesh: ^Mesh)\n" - /* 0650 */ "fn GenMeshPoly*(sides: int32, radius: real32): Mesh\n" - /* 0651 */ "fn GenMeshPlane*(width: real32, length: real32, resX: int32, resZ: int32): Mesh\n" - /* 0652 */ "fn GenMeshCube*(width: real32, height: real32, length: real32): Mesh\n" - /* 0653 */ "fn GenMeshSphere*(radius: real32, rings: int32, slices: int32): Mesh\n" - /* 0654 */ "fn GenMeshHemiSphere*(radius: real32, rings: int32, slices: int32): Mesh\n" - /* 0655 */ "fn GenMeshCylinder*(radius: real32, height: real32, slices: int32): Mesh\n" - /* 0656 */ "fn GenMeshCone*(radius: real32, height: real32, slices: int32): Mesh\n" - /* 0657 */ "fn GenMeshTorus*(radius: real32, size: real32, radSeg: int32, sides: int32): Mesh\n" - /* 0658 */ "fn GenMeshKnot*(radius: real32, size: real32, radSeg: int32, sides: int32): Mesh\n" - /* 0659 */ "fn GenMeshHeightmap*(heightmap: Image, size: Vector3): Mesh\n" - /* 0660 */ "fn GenMeshCubicmap*(cubicmap: Image, cubeSize: Vector3): Mesh\n" - /* 0661 */ "fn LoadMaterials*(fileName: str, materialCount: ^int32): ^Material\n" - /* 0662 */ "fn LoadMaterialDefault*(): Material\n" - /* 0663 */ "fn UnloadMaterial*(material: Material)\n" - /* 0664 */ "fn SetMaterialTexture*(material: ^Material, mapType: int32, texture: Texture)\n" - /* 0665 */ "fn SetModelMeshMaterial*(model: ^Model, meshId: int32, materialId: int32)\n" - /* 0666 */ "fn LoadModelAnimations*(fileName: str, animCount: ^uint32): ^ModelAnimation\n" - /* 0667 */ "fn UpdateModelAnimation*(model: Model, anim: ModelAnimation, frame: int32)\n" - /* 0668 */ "fn UnloadModelAnimation*(anim: ModelAnimation)\n" - /* 0669 */ "fn UnloadModelAnimations*(animations: ^ModelAnimation, count: uint32)\n" - /* 0670 */ "fn IsModelAnimationValid*(model: Model, anim: ModelAnimation): bool\n" - /* 0671 */ "fn CheckCollisionSpheres*(center1: Vector3, radius1: real32, center2: Vector3, radius2: real32): bool\n" - /* 0672 */ "fn CheckCollisionBoxes*(box1: BoundingBox, box2: BoundingBox): bool\n" - /* 0673 */ "fn CheckCollisionBoxSphere*(box: BoundingBox, center: Vector3, radius: real32): bool\n" - /* 0674 */ "fn GetRayCollisionSphere*(ray: Ray, center: Vector3, radius: real32): RayCollision\n" - /* 0675 */ "fn GetRayCollisionBox*(ray: Ray, box: BoundingBox): RayCollision\n" - /* 0676 */ "fn GetRayCollisionMesh*(ray: Ray, mesh: Mesh, transform: Matrix): RayCollision\n" - /* 0677 */ "fn GetRayCollisionTriangle*(ray: Ray, p1: Vector3, p2: Vector3, p3: Vector3): RayCollision\n" - /* 0678 */ "fn GetRayCollisionQuad*(ray: Ray, p1: Vector3, p2: Vector3, p3: Vector3, p4: Vector3): RayCollision\n" - /* 0679 */ "fn InitAudioDevice*()\n" - /* 0680 */ "fn CloseAudioDevice*()\n" - /* 0681 */ "fn IsAudioDeviceReady*(): bool\n" - /* 0682 */ "fn SetMasterVolume*(volume: real32)\n" - /* 0683 */ "fn LoadWave*(fileName: str): Wave\n" - /* 0684 */ "fn LoadWaveFromMemory*(fileType: str, fileData: ^uint8, dataSize: int32): Wave\n" - /* 0685 */ "fn LoadSound*(fileName: str): Sound\n" - /* 0686 */ "fn LoadSoundFromWave*(wave: Wave): Sound\n" - /* 0687 */ "fn UpdateSound*(sound: Sound, data: ^void, sampleCount: int32)\n" - /* 0688 */ "fn UnloadWave*(wave: Wave)\n" - /* 0689 */ "fn UnloadSound*(sound: Sound)\n" - /* 0690 */ "fn ExportWave*(wave: Wave, fileName: str): bool\n" - /* 0691 */ "fn ExportWaveAsCode*(wave: Wave, fileName: str): bool\n" - /* 0692 */ "fn PlaySound*(sound: Sound)\n" - /* 0693 */ "fn StopSound*(sound: Sound)\n" - /* 0694 */ "fn PauseSound*(sound: Sound)\n" - /* 0695 */ "fn ResumeSound*(sound: Sound)\n" - /* 0696 */ "fn PlaySoundMulti*(sound: Sound)\n" - /* 0697 */ "fn StopSoundMulti*()\n" - /* 0698 */ "fn GetSoundsPlaying*(): int32\n" - /* 0699 */ "fn IsSoundPlaying*(sound: Sound): bool\n" - /* 0700 */ "fn SetSoundVolume*(sound: Sound, volume: real32)\n" - /* 0701 */ "fn SetSoundPitch*(sound: Sound, pitch: real32)\n" - /* 0702 */ "fn SetSoundPan*(sound: Sound, pan: real32)\n" - /* 0703 */ "fn WaveCopy*(wave: Wave): Wave\n" - /* 0704 */ "fn WaveCrop*(wave: ^Wave, initSample: int32, finalSample: int32)\n" - /* 0705 */ "fn WaveFormat*(wave: ^Wave, sampleRate: int32, sampleSize: int32, channels: int32)\n" - /* 0706 */ "fn LoadWaveSamples*(wave: Wave): ^real32\n" - /* 0707 */ "fn UnloadWaveSamples*(samples: ^real32)\n" - /* 0708 */ "fn LoadMusicStream*(fileName: str): Music\n" - /* 0709 */ "fn LoadMusicStreamFromMemory*(fileType: str, data: ^uint8, dataSize: int32): Music\n" - /* 0710 */ "fn UnloadMusicStream*(music: Music)\n" - /* 0711 */ "fn PlayMusicStream*(music: Music)\n" - /* 0712 */ "fn IsMusicStreamPlaying*(music: Music): bool\n" - /* 0713 */ "fn UpdateMusicStream*(music: Music)\n" - /* 0714 */ "fn StopMusicStream*(music: Music)\n" - /* 0715 */ "fn PauseMusicStream*(music: Music)\n" - /* 0716 */ "fn ResumeMusicStream*(music: Music)\n" - /* 0717 */ "fn SeekMusicStream*(music: Music, position: real32)\n" - /* 0718 */ "fn SetMusicVolume*(music: Music, volume: real32)\n" - /* 0719 */ "fn SetMusicPitch*(music: Music, pitch: real32)\n" - /* 0720 */ "fn SetMusicPan*(music: Music, pan: real32)\n" - /* 0721 */ "fn GetMusicTimeLength*(music: Music): real32\n" - /* 0722 */ "fn GetMusicTimePlayed*(music: Music): real32\n" - /* 0723 */ "fn LoadAudioStream*(sampleRate: uint32, sampleSize: uint32, channels: uint32): AudioStream\n" - /* 0724 */ "fn UnloadAudioStream*(stream: AudioStream)\n" - /* 0725 */ "fn UpdateAudioStream*(stream: AudioStream, data: ^void, frameCount: int32)\n" - /* 0726 */ "fn IsAudioStreamProcessed*(stream: AudioStream): bool\n" - /* 0727 */ "fn PlayAudioStream*(stream: AudioStream)\n" - /* 0728 */ "fn PauseAudioStream*(stream: AudioStream)\n" - /* 0729 */ "fn ResumeAudioStream*(stream: AudioStream)\n" - /* 0730 */ "fn IsAudioStreamPlaying*(stream: AudioStream): bool\n" - /* 0731 */ "fn StopAudioStream*(stream: AudioStream)\n" - /* 0732 */ "fn SetAudioStreamVolume*(stream: AudioStream, volume: real32)\n" - /* 0733 */ "fn SetAudioStreamPitch*(stream: AudioStream, pitch: real32)\n" - /* 0734 */ "fn SetAudioStreamPan*(stream: AudioStream, pan: real32)\n" - /* 0735 */ "fn SetAudioStreamBufferSizeDefault*(size: int32)\n" - // Skipping SetAudioStreamCallback - // Skipping AttachAudioStreamProcessor - // Skipping DetachAudioStreamProcessor - /* 0736 */ "fn Clamp*(value: real32, min: real32, max: real32): real32\n" - /* 0737 */ "fn Lerp*(start: real32, end: real32, amount: real32): real32\n" - /* 0738 */ "fn Normalize*(value: real32, start: real32, end: real32): real32\n" - /* 0739 */ "fn Remap*(value: real32, inputStart: real32, inputEnd: real32, outputStart: real32, outputEnd: real32): real32\n" - /* 0740 */ "fn Wrap*(value: real32, min: real32, max: real32): real32\n" - /* 0741 */ "fn FloatEquals*(x: real32, y: real32): int32\n" - /* 0742 */ "fn Vector2Zero*(): Vector2\n" - /* 0743 */ "fn Vector2One*(): Vector2\n" - /* 0744 */ "fn Vector2Add*(v1: Vector2, v2: Vector2): Vector2\n" - /* 0745 */ "fn Vector2AddValue*(v: Vector2, add: real32): Vector2\n" - /* 0746 */ "fn Vector2Subtract*(v1: Vector2, v2: Vector2): Vector2\n" - /* 0747 */ "fn Vector2SubtractValue*(v: Vector2, sub: real32): Vector2\n" - /* 0748 */ "fn Vector2Length*(v: Vector2): real32\n" - /* 0749 */ "fn Vector2LengthSqr*(v: Vector2): real32\n" - /* 0750 */ "fn Vector2DotProduct*(v1: Vector2, v2: Vector2): real32\n" - /* 0751 */ "fn Vector2Distance*(v1: Vector2, v2: Vector2): real32\n" - /* 0752 */ "fn Vector2DistanceSqr*(v1: Vector2, v2: Vector2): real32\n" - /* 0753 */ "fn Vector2Angle*(v1: Vector2, v2: Vector2): real32\n" - /* 0754 */ "fn Vector2Scale*(v: Vector2, scale: real32): Vector2\n" - /* 0755 */ "fn Vector2Multiply*(v1: Vector2, v2: Vector2): Vector2\n" - /* 0756 */ "fn Vector2Negate*(v: Vector2): Vector2\n" - /* 0757 */ "fn Vector2Divide*(v1: Vector2, v2: Vector2): Vector2\n" - /* 0758 */ "fn Vector2Normalize*(v: Vector2): Vector2\n" - /* 0759 */ "fn Vector2Transform*(v: Vector2, mat: Matrix): Vector2\n" - /* 0760 */ "fn Vector2Lerp*(v1: Vector2, v2: Vector2, amount: real32): Vector2\n" - /* 0761 */ "fn Vector2Reflect*(v: Vector2, normal: Vector2): Vector2\n" - /* 0762 */ "fn Vector2Rotate*(v: Vector2, angle: real32): Vector2\n" - /* 0763 */ "fn Vector2MoveTowards*(v: Vector2, target: Vector2, maxDistance: real32): Vector2\n" - /* 0764 */ "fn Vector2Invert*(v: Vector2): Vector2\n" - /* 0765 */ "fn Vector2Clamp*(v: Vector2, min: Vector2, max: Vector2): Vector2\n" - /* 0766 */ "fn Vector2ClampValue*(v: Vector2, min: real32, max: real32): Vector2\n" - /* 0767 */ "fn Vector2Equals*(p: Vector2, q: Vector2): int32\n" - /* 0768 */ "fn Vector3Zero*(): Vector3\n" - /* 0769 */ "fn Vector3One*(): Vector3\n" - /* 0770 */ "fn Vector3Add*(v1: Vector3, v2: Vector3): Vector3\n" - /* 0771 */ "fn Vector3AddValue*(v: Vector3, add: real32): Vector3\n" - /* 0772 */ "fn Vector3Subtract*(v1: Vector3, v2: Vector3): Vector3\n" - /* 0773 */ "fn Vector3SubtractValue*(v: Vector3, sub: real32): Vector3\n" - /* 0774 */ "fn Vector3Scale*(v: Vector3, scalar: real32): Vector3\n" - /* 0775 */ "fn Vector3Multiply*(v1: Vector3, v2: Vector3): Vector3\n" - /* 0776 */ "fn Vector3CrossProduct*(v1: Vector3, v2: Vector3): Vector3\n" - /* 0777 */ "fn Vector3Perpendicular*(v: Vector3): Vector3\n" - /* 0778 */ "fn Vector3Length*(v: Vector3): real32\n" - /* 0779 */ "fn Vector3LengthSqr*(v: Vector3): real32\n" - /* 0780 */ "fn Vector3DotProduct*(v1: Vector3, v2: Vector3): real32\n" - /* 0781 */ "fn Vector3Distance*(v1: Vector3, v2: Vector3): real32\n" - /* 0782 */ "fn Vector3DistanceSqr*(v1: Vector3, v2: Vector3): real32\n" - /* 0783 */ "fn Vector3Angle*(v1: Vector3, v2: Vector3): real32\n" - /* 0784 */ "fn Vector3Negate*(v: Vector3): Vector3\n" - /* 0785 */ "fn Vector3Divide*(v1: Vector3, v2: Vector3): Vector3\n" - /* 0786 */ "fn Vector3Normalize*(v: Vector3): Vector3\n" - /* 0787 */ "fn Vector3OrthoNormalize*(v1: ^Vector3, v2: ^Vector3)\n" - /* 0788 */ "fn Vector3Transform*(v: Vector3, mat: Matrix): Vector3\n" - /* 0789 */ "fn Vector3RotateByQuaternion*(v: Vector3, q: Vector4): Vector3\n" - /* 0790 */ "fn Vector3RotateByAxisAngle*(v: Vector3, axis: Vector3, angle: real32): Vector3\n" - /* 0791 */ "fn Vector3Lerp*(v1: Vector3, v2: Vector3, amount: real32): Vector3\n" - /* 0792 */ "fn Vector3Reflect*(v: Vector3, normal: Vector3): Vector3\n" - /* 0793 */ "fn Vector3Min*(v1: Vector3, v2: Vector3): Vector3\n" - /* 0794 */ "fn Vector3Max*(v1: Vector3, v2: Vector3): Vector3\n" - /* 0795 */ "fn Vector3Barycenter*(p: Vector3, a: Vector3, b: Vector3, c: Vector3): Vector3\n" - /* 0796 */ "fn Vector3Unproject*(source: Vector3, projection: Matrix, view: Matrix): Vector3\n" - /* 0797 */ "fn Vector3ToFloatV*(v: Vector3): float3\n" - /* 0798 */ "fn Vector3Invert*(v: Vector3): Vector3\n" - /* 0799 */ "fn Vector3Clamp*(v: Vector3, min: Vector3, max: Vector3): Vector3\n" - /* 0800 */ "fn Vector3ClampValue*(v: Vector3, min: real32, max: real32): Vector3\n" - /* 0801 */ "fn Vector3Equals*(p: Vector3, q: Vector3): int32\n" - /* 0802 */ "fn Vector3Refract*(v: Vector3, n: Vector3, r: real32): Vector3\n" - /* 0803 */ "fn MatrixDeterminant*(mat: Matrix): real32\n" - /* 0804 */ "fn MatrixTrace*(mat: Matrix): real32\n" - /* 0805 */ "fn MatrixTranspose*(mat: Matrix): Matrix\n" - /* 0806 */ "fn MatrixInvert*(mat: Matrix): Matrix\n" - /* 0807 */ "fn MatrixIdentity*(): Matrix\n" - /* 0808 */ "fn MatrixAdd*(left: Matrix, right: Matrix): Matrix\n" - /* 0809 */ "fn MatrixSubtract*(left: Matrix, right: Matrix): Matrix\n" - /* 0810 */ "fn MatrixMultiply*(left: Matrix, right: Matrix): Matrix\n" - /* 0811 */ "fn MatrixTranslate*(x: real32, y: real32, z: real32): Matrix\n" - /* 0812 */ "fn MatrixRotate*(axis: Vector3, angle: real32): Matrix\n" - /* 0813 */ "fn MatrixRotateX*(angle: real32): Matrix\n" - /* 0814 */ "fn MatrixRotateY*(angle: real32): Matrix\n" - /* 0815 */ "fn MatrixRotateZ*(angle: real32): Matrix\n" - /* 0816 */ "fn MatrixRotateXYZ*(angle: Vector3): Matrix\n" - /* 0817 */ "fn MatrixRotateZYX*(angle: Vector3): Matrix\n" - /* 0818 */ "fn MatrixScale*(x: real32, y: real32, z: real32): Matrix\n" - /* 0819 */ "fn MatrixFrustum*(left: real, right: real, bottom: real, top: real, near: real, far: real): Matrix\n" - /* 0820 */ "fn MatrixPerspective*(fovy: real, aspect: real, near: real, far: real): Matrix\n" - /* 0821 */ "fn MatrixOrtho*(left: real, right: real, bottom: real, top: real, near: real, far: real): Matrix\n" - /* 0822 */ "fn MatrixLookAt*(eye: Vector3, target: Vector3, up: Vector3): Matrix\n" - /* 0823 */ "fn MatrixToFloatV*(mat: Matrix): float16\n" - /* 0824 */ "fn QuaternionAdd*(q1: Vector4, q2: Vector4): Vector4\n" - /* 0825 */ "fn QuaternionAddValue*(q: Vector4, add: real32): Vector4\n" - /* 0826 */ "fn QuaternionSubtract*(q1: Vector4, q2: Vector4): Vector4\n" - /* 0827 */ "fn QuaternionSubtractValue*(q: Vector4, sub: real32): Vector4\n" - /* 0828 */ "fn QuaternionIdentity*(): Vector4\n" - /* 0829 */ "fn QuaternionLength*(q: Vector4): real32\n" - /* 0830 */ "fn QuaternionNormalize*(q: Vector4): Vector4\n" - /* 0831 */ "fn QuaternionInvert*(q: Vector4): Vector4\n" - /* 0832 */ "fn QuaternionMultiply*(q1: Vector4, q2: Vector4): Vector4\n" - /* 0833 */ "fn QuaternionScale*(q: Vector4, mul: real32): Vector4\n" - /* 0834 */ "fn QuaternionDivide*(q1: Vector4, q2: Vector4): Vector4\n" - /* 0835 */ "fn QuaternionLerp*(q1: Vector4, q2: Vector4, amount: real32): Vector4\n" - /* 0836 */ "fn QuaternionNlerp*(q1: Vector4, q2: Vector4, amount: real32): Vector4\n" - /* 0837 */ "fn QuaternionSlerp*(q1: Vector4, q2: Vector4, amount: real32): Vector4\n" - /* 0838 */ "fn QuaternionFromVector3ToVector3*(from: Vector3, to: Vector3): Vector4\n" - /* 0839 */ "fn QuaternionFromMatrix*(mat: Matrix): Vector4\n" - /* 0840 */ "fn QuaternionToMatrix*(q: Vector4): Matrix\n" - /* 0841 */ "fn QuaternionFromAxisAngle*(axis: Vector3, angle: real32): Vector4\n" - /* 0842 */ "fn QuaternionToAxisAngle*(q: Vector4, outAxis: ^Vector3, outAngle: ^real32)\n" - /* 0843 */ "fn QuaternionFromEuler*(pitch: real32, yaw: real32, roll: real32): Vector4\n" - /* 0844 */ "fn QuaternionToEuler*(q: Vector4): Vector3\n" - /* 0845 */ "fn QuaternionTransform*(q: Vector4, mat: Matrix): Vector4\n" - /* 0846 */ "fn QuaternionEquals*(p: Vector4, q: Vector4): int32\n" - /* 0847 */ "fn rlMatrixMode*(mode: int32)\n" - /* 0848 */ "fn rlPushMatrix*()\n" - /* 0849 */ "fn rlPopMatrix*()\n" - /* 0850 */ "fn rlLoadIdentity*()\n" - /* 0851 */ "fn rlTranslatef*(x: real32, y: real32, z: real32)\n" - /* 0852 */ "fn rlRotatef*(angle: real32, x: real32, y: real32, z: real32)\n" - /* 0853 */ "fn rlScalef*(x: real32, y: real32, z: real32)\n" - /* 0854 */ "fn rlMultMatrixf*(matf: ^real32)\n" - /* 0855 */ "fn rlFrustum*(left: real, right: real, bottom: real, top: real, znear: real, zfar: real)\n" - /* 0856 */ "fn rlOrtho*(left: real, right: real, bottom: real, top: real, znear: real, zfar: real)\n" - /* 0857 */ "fn rlViewport*(x: int32, y: int32, width: int32, height: int32)\n" - /* 0858 */ "fn rlBegin*(mode: int32)\n" - /* 0859 */ "fn rlEnd*()\n" - /* 0860 */ "fn rlVertex2i*(x: int32, y: int32)\n" - /* 0861 */ "fn rlVertex2f*(x: real32, y: real32)\n" - /* 0862 */ "fn rlVertex3f*(x: real32, y: real32, z: real32)\n" - /* 0863 */ "fn rlTexCoord2f*(x: real32, y: real32)\n" - /* 0864 */ "fn rlNormal3f*(x: real32, y: real32, z: real32)\n" - /* 0865 */ "fn rlColor4ub*(r: uint8, g: uint8, b: uint8, a: uint8)\n" - /* 0866 */ "fn rlColor3f*(x: real32, y: real32, z: real32)\n" - /* 0867 */ "fn rlColor4f*(x: real32, y: real32, z: real32, w: real32)\n" - /* 0868 */ "fn rlEnableVertexArray*(vaoId: uint32): bool\n" - /* 0869 */ "fn rlDisableVertexArray*()\n" - /* 0870 */ "fn rlEnableVertexBuffer*(id: uint32)\n" - /* 0871 */ "fn rlDisableVertexBuffer*()\n" - /* 0872 */ "fn rlEnableVertexBufferElement*(id: uint32)\n" - /* 0873 */ "fn rlDisableVertexBufferElement*()\n" - /* 0874 */ "fn rlEnableVertexAttribute*(index: uint32)\n" - /* 0875 */ "fn rlDisableVertexAttribute*(index: uint32)\n" - // Skipping rlEnableStatePointer - // Skipping rlDisableStatePointer - /* 0876 */ "fn rlActiveTextureSlot*(slot: int32)\n" - /* 0877 */ "fn rlEnableTexture*(id: uint32)\n" - /* 0878 */ "fn rlDisableTexture*()\n" - /* 0879 */ "fn rlEnableTextureCubemap*(id: uint32)\n" - /* 0880 */ "fn rlDisableTextureCubemap*()\n" - /* 0881 */ "fn rlTextureParameters*(id: uint32, param: int32, value: int32)\n" - /* 0882 */ "fn rlEnableShader*(id: uint32)\n" - /* 0883 */ "fn rlDisableShader*()\n" - /* 0884 */ "fn rlEnableFramebuffer*(id: uint32)\n" - /* 0885 */ "fn rlDisableFramebuffer*()\n" - /* 0886 */ "fn rlActiveDrawBuffers*(count: int32)\n" - /* 0887 */ "fn rlEnableColorBlend*()\n" - /* 0888 */ "fn rlDisableColorBlend*()\n" - /* 0889 */ "fn rlEnableDepthTest*()\n" - /* 0890 */ "fn rlDisableDepthTest*()\n" - /* 0891 */ "fn rlEnableDepthMask*()\n" - /* 0892 */ "fn rlDisableDepthMask*()\n" - /* 0893 */ "fn rlEnableBackfaceCulling*()\n" - /* 0894 */ "fn rlDisableBackfaceCulling*()\n" - /* 0895 */ "fn rlEnableScissorTest*()\n" - /* 0896 */ "fn rlDisableScissorTest*()\n" - /* 0897 */ "fn rlScissor*(x: int32, y: int32, width: int32, height: int32)\n" - /* 0898 */ "fn rlEnableWireMode*()\n" - /* 0899 */ "fn rlDisableWireMode*()\n" - /* 0900 */ "fn rlSetLineWidth*(width: real32)\n" - /* 0901 */ "fn rlGetLineWidth*(): real32\n" - /* 0902 */ "fn rlEnableSmoothLines*()\n" - /* 0903 */ "fn rlDisableSmoothLines*()\n" - /* 0904 */ "fn rlEnableStereoRender*()\n" - /* 0905 */ "fn rlDisableStereoRender*()\n" - /* 0906 */ "fn rlIsStereoRenderEnabled*(): bool\n" - /* 0907 */ "fn rlClearColor*(r: uint8, g: uint8, b: uint8, a: uint8)\n" - /* 0908 */ "fn rlClearScreenBuffers*()\n" - /* 0909 */ "fn rlCheckErrors*()\n" - /* 0910 */ "fn rlSetBlendMode*(mode: int32)\n" - /* 0911 */ "fn rlSetBlendFactors*(glSrcFactor: int32, glDstFactor: int32, glEquation: int32)\n" - /* 0912 */ "fn rlglInit*(width: int32, height: int32)\n" - /* 0913 */ "fn rlglClose*()\n" - /* 0914 */ "fn rlLoadExtensions*(loader: ^void)\n" - /* 0915 */ "fn rlGetVersion*(): int32\n" - /* 0916 */ "fn rlSetFramebufferWidth*(width: int32)\n" - /* 0917 */ "fn rlGetFramebufferWidth*(): int32\n" - /* 0918 */ "fn rlSetFramebufferHeight*(height: int32)\n" - /* 0919 */ "fn rlGetFramebufferHeight*(): int32\n" - /* 0920 */ "fn rlGetTextureIdDefault*(): uint32\n" - /* 0921 */ "fn rlGetShaderIdDefault*(): uint32\n" - /* 0922 */ "fn rlGetShaderLocsDefault*(): ^int32\n" - // Skipping rlLoadRenderBatch - // Skipping rlUnloadRenderBatch - // Skipping rlDrawRenderBatch - // Skipping rlSetRenderBatchActive - /* 0923 */ "fn rlDrawRenderBatchActive*()\n" - /* 0924 */ "fn rlCheckRenderBatchLimit*(vCount: int32): bool\n" - /* 0925 */ "fn rlSetTexture*(id: uint32)\n" - /* 0926 */ "fn rlLoadVertexArray*(): uint32\n" - /* 0927 */ "fn rlLoadVertexBuffer*(buffer: ^void, size: int32, dynamic: bool): uint32\n" - /* 0928 */ "fn rlLoadVertexBufferElement*(buffer: ^void, size: int32, dynamic: bool): uint32\n" - /* 0929 */ "fn rlUpdateVertexBuffer*(bufferId: uint32, data: ^void, dataSize: int32, offset: int32)\n" - /* 0930 */ "fn rlUpdateVertexBufferElements*(id: uint32, data: ^void, dataSize: int32, offset: int32)\n" - /* 0931 */ "fn rlUnloadVertexArray*(vaoId: uint32)\n" - /* 0932 */ "fn rlUnloadVertexBuffer*(vboId: uint32)\n" - /* 0933 */ "fn rlSetVertexAttribute*(index: uint32, compSize: int32, typeInput: int32, normalized: bool, stride: int32, pointer: ^void)\n" - /* 0934 */ "fn rlSetVertexAttributeDivisor*(index: uint32, divisor: int32)\n" - /* 0935 */ "fn rlSetVertexAttributeDefault*(locIndex: int32, value: ^void, attribType: int32, count: int32)\n" - /* 0936 */ "fn rlDrawVertexArray*(offset: int32, count: int32)\n" - /* 0937 */ "fn rlDrawVertexArrayElements*(offset: int32, count: int32, buffer: ^void)\n" - /* 0938 */ "fn rlDrawVertexArrayInstanced*(offset: int32, count: int32, instances: int32)\n" - /* 0939 */ "fn rlDrawVertexArrayElementsInstanced*(offset: int32, count: int32, buffer: ^void, instances: int32)\n" - /* 0940 */ "fn rlLoadTexture*(data: ^void, width: int32, height: int32, format: int32, mipmapCount: int32): uint32\n" - /* 0941 */ "fn rlLoadTextureDepth*(width: int32, height: int32, useRenderBuffer: bool): uint32\n" - /* 0942 */ "fn rlLoadTextureCubemap*(data: ^void, size: int32, format: int32): uint32\n" - /* 0943 */ "fn rlUpdateTexture*(id: uint32, offsetX: int32, offsetY: int32, width: int32, height: int32, format: int32, data: ^void)\n" - /* 0944 */ "fn rlGetGlTextureFormats*(format: int32, glInternalFormat: ^uint32, glFormat: ^uint32, glType: ^uint32)\n" - /* 0945 */ "fn rlGetPixelFormatName*(format: uint32): str\n" - /* 0946 */ "fn rlUnloadTexture*(id: uint32)\n" - /* 0947 */ "fn rlGenTextureMipmaps*(id: uint32, width: int32, height: int32, format: int32, mipmaps: ^int32)\n" - /* 0948 */ "fn rlReadTexturePixels*(id: uint32, width: int32, height: int32, format: int32): ^void\n" - /* 0949 */ "fn rlReadScreenPixels*(width: int32, height: int32): ^uint8\n" - /* 0950 */ "fn rlLoadFramebuffer*(width: int32, height: int32): uint32\n" - /* 0951 */ "fn rlFramebufferAttach*(fboId: uint32, texId: uint32, attachType: int32, texType: int32, mipLevel: int32)\n" - /* 0952 */ "fn rlFramebufferComplete*(id: uint32): bool\n" - /* 0953 */ "fn rlUnloadFramebuffer*(id: uint32)\n" - /* 0954 */ "fn rlLoadShaderCode*(vsCode: str, fsCode: str): uint32\n" - /* 0955 */ "fn rlCompileShader*(shaderCode: str, typeInput: int32): uint32\n" - /* 0956 */ "fn rlLoadShaderProgram*(vShaderId: uint32, fShaderId: uint32): uint32\n" - /* 0957 */ "fn rlUnloadShaderProgram*(id: uint32)\n" - /* 0958 */ "fn rlGetLocationUniform*(shaderId: uint32, uniformName: str): int32\n" - /* 0959 */ "fn rlGetLocationAttrib*(shaderId: uint32, attribName: str): int32\n" - /* 0960 */ "fn rlSetUniform*(locIndex: int32, value: ^void, uniformType: int32, count: int32)\n" - /* 0961 */ "fn rlSetUniformMatrix*(locIndex: int32, mat: Matrix)\n" - /* 0962 */ "fn rlSetUniformSampler*(locIndex: int32, textureId: uint32)\n" - /* 0963 */ "fn rlSetShader*(id: uint32, locs: ^int32)\n" - /* 0964 */ "fn rlLoadComputeShaderProgram*(shaderId: uint32): uint32\n" - /* 0965 */ "fn rlComputeShaderDispatch*(groupX: uint32, groupY: uint32, groupZ: uint32)\n" - /* 0966 */ "fn rlLoadShaderBuffer*(size: uint, data: ^void, usageHint: int32): uint32\n" - /* 0967 */ "fn rlUnloadShaderBuffer*(ssboId: uint32)\n" - /* 0968 */ "fn rlUpdateShaderBufferElements*(id: uint32, data: ^void, dataSize: uint, offset: uint)\n" - /* 0969 */ "fn rlGetShaderBufferSize*(id: uint32): uint\n" - /* 0970 */ "fn rlReadShaderBufferElements*(id: uint32, dest: ^void, count: uint, offset: uint)\n" - /* 0971 */ "fn rlBindShaderBuffer*(id: uint32, index: uint32)\n" - /* 0972 */ "fn rlCopyBuffersElements*(destId: uint32, srcId: uint32, destOffset: uint, srcOffset: uint, count: uint)\n" - /* 0973 */ "fn rlBindImageTexture*(id: uint32, index: uint32, format: uint32, readonly: int32)\n" - /* 0974 */ "fn rlGetMatrixModelview*(): Matrix\n" - /* 0975 */ "fn rlGetMatrixProjection*(): Matrix\n" - /* 0976 */ "fn rlGetMatrixTransform*(): Matrix\n" - /* 0977 */ "fn rlGetMatrixProjectionStereo*(eye: int32): Matrix\n" - /* 0978 */ "fn rlGetMatrixViewOffsetStereo*(eye: int32): Matrix\n" - /* 0979 */ "fn rlSetMatrixProjection*(proj: Matrix)\n" - /* 0980 */ "fn rlSetMatrixModelview*(view: Matrix)\n" - /* 0981 */ "fn rlSetMatrixProjectionStereo*(right: Matrix, left: Matrix)\n" - /* 0982 */ "fn rlSetMatrixViewOffsetStereo*(right: Matrix, left: Matrix)\n" - /* 0983 */ "fn rlLoadDrawCube*()\n" - /* 0984 */ "fn rlLoadDrawQuad*()\n" - + /* 0260 */ "fn TraceLog*(errorType: int, message: str)\n" + /* 0261 */ "fn InitWindow*(width: int32, height: int32, title: str)\n" + /* 0262 */ "fn CloseWindow*()\n" + /* 0263 */ "fn WindowShouldClose*(): bool\n" + /* 0264 */ "fn IsWindowReady*(): bool\n" + /* 0265 */ "fn IsWindowFullscreen*(): bool\n" + /* 0266 */ "fn IsWindowHidden*(): bool\n" + /* 0267 */ "fn IsWindowMinimized*(): bool\n" + /* 0268 */ "fn IsWindowMaximized*(): bool\n" + /* 0269 */ "fn IsWindowFocused*(): bool\n" + /* 0270 */ "fn IsWindowResized*(): bool\n" + /* 0271 */ "fn IsWindowState*(flag: uint32): bool\n" + /* 0272 */ "fn SetWindowState*(flags: uint32)\n" + /* 0273 */ "fn ClearWindowState*(flags: uint32)\n" + /* 0274 */ "fn ToggleFullscreen*()\n" + /* 0275 */ "fn ToggleBorderlessWindowed*()\n" + /* 0276 */ "fn MaximizeWindow*()\n" + /* 0277 */ "fn MinimizeWindow*()\n" + /* 0278 */ "fn RestoreWindow*()\n" + /* 0279 */ "fn SetWindowIcon*(image: Image)\n" + /* 0280 */ "fn SetWindowIcons*(images: ^Image, count: int32)\n" + /* 0281 */ "fn SetWindowTitle*(title: str)\n" + /* 0282 */ "fn SetWindowPosition*(x: int32, y: int32)\n" + /* 0283 */ "fn SetWindowMonitor*(monitor: int32)\n" + /* 0284 */ "fn SetWindowMinSize*(width: int32, height: int32)\n" + /* 0285 */ "fn SetWindowMaxSize*(width: int32, height: int32)\n" + /* 0286 */ "fn SetWindowSize*(width: int32, height: int32)\n" + /* 0287 */ "fn SetWindowOpacity*(opacity: real32)\n" + /* 0288 */ "fn SetWindowFocused*()\n" + /* 0289 */ "fn GetWindowHandle*(): ^void\n" + /* 0290 */ "fn GetScreenWidth*(): int32\n" + /* 0291 */ "fn GetScreenHeight*(): int32\n" + /* 0292 */ "fn GetRenderWidth*(): int32\n" + /* 0293 */ "fn GetRenderHeight*(): int32\n" + /* 0294 */ "fn GetMonitorCount*(): int32\n" + /* 0295 */ "fn GetCurrentMonitor*(): int32\n" + /* 0296 */ "fn GetMonitorPosition*(monitor: int32): Vector2\n" + /* 0297 */ "fn GetMonitorWidth*(monitor: int32): int32\n" + /* 0298 */ "fn GetMonitorHeight*(monitor: int32): int32\n" + /* 0299 */ "fn GetMonitorPhysicalWidth*(monitor: int32): int32\n" + /* 0300 */ "fn GetMonitorPhysicalHeight*(monitor: int32): int32\n" + /* 0301 */ "fn GetMonitorRefreshRate*(monitor: int32): int32\n" + /* 0302 */ "fn GetWindowPosition*(): Vector2\n" + /* 0303 */ "fn GetWindowScaleDPI*(): Vector2\n" + /* 0304 */ "fn GetMonitorName*(monitor: int32): str\n" + /* 0305 */ "fn SetClipboardText*(text: str)\n" + /* 0306 */ "fn GetClipboardText*(): str\n" + /* 0307 */ "fn GetClipboardImage*(): Image\n" + /* 0308 */ "fn EnableEventWaiting*()\n" + /* 0309 */ "fn DisableEventWaiting*()\n" + /* 0310 */ "fn ShowCursor*()\n" + /* 0311 */ "fn HideCursor*()\n" + /* 0312 */ "fn IsCursorHidden*(): bool\n" + /* 0313 */ "fn EnableCursor*()\n" + /* 0314 */ "fn DisableCursor*()\n" + /* 0315 */ "fn IsCursorOnScreen*(): bool\n" + /* 0316 */ "fn ClearBackground*(color: Color)\n" + /* 0317 */ "fn BeginDrawing*()\n" + /* 0318 */ "fn EndDrawing*()\n" + /* 0319 */ "fn BeginMode2D*(camera: Camera2D)\n" + /* 0320 */ "fn EndMode2D*()\n" + /* 0321 */ "fn BeginMode3D*(camera: Camera3D)\n" + /* 0322 */ "fn EndMode3D*()\n" + /* 0323 */ "fn BeginTextureMode*(target: RenderTexture)\n" + /* 0324 */ "fn EndTextureMode*()\n" + /* 0325 */ "fn BeginShaderMode*(shader: Shader)\n" + /* 0326 */ "fn EndShaderMode*()\n" + /* 0327 */ "fn BeginBlendMode*(mode: int32)\n" + /* 0328 */ "fn EndBlendMode*()\n" + /* 0329 */ "fn BeginScissorMode*(x: int32, y: int32, width: int32, height: int32)\n" + /* 0330 */ "fn EndScissorMode*()\n" + /* 0331 */ "fn BeginVrStereoMode*(config: VrStereoConfig)\n" + /* 0332 */ "fn EndVrStereoMode*()\n" + /* 0333 */ "fn LoadVrStereoConfig*(device: VrDeviceInfo): VrStereoConfig\n" + /* 0334 */ "fn UnloadVrStereoConfig*(config: VrStereoConfig)\n" + /* 0335 */ "fn LoadShader*(vsFileName: str, fsFileName: str): Shader\n" + /* 0336 */ "fn LoadShaderFromMemory*(vsCode: str, fsCode: str): Shader\n" + /* 0337 */ "fn IsShaderValid*(shader: Shader): bool\n" + /* 0338 */ "fn GetShaderLocation*(shader: Shader, uniformName: str): int32\n" + /* 0339 */ "fn GetShaderLocationAttrib*(shader: Shader, attribName: str): int32\n" + /* 0340 */ "fn SetShaderValue*(shader: Shader, locIndex: int32, value: ^void, uniformType: int32)\n" + /* 0341 */ "fn SetShaderValueV*(shader: Shader, locIndex: int32, value: ^void, uniformType: int32, count: int32)\n" + /* 0342 */ "fn SetShaderValueMatrix*(shader: Shader, locIndex: int32, mat: Matrix)\n" + /* 0343 */ "fn SetShaderValueTexture*(shader: Shader, locIndex: int32, texture: Texture)\n" + /* 0344 */ "fn UnloadShader*(shader: Shader)\n" + /* 0345 */ "fn GetScreenToWorldRay*(position: Vector2, camera: Camera3D): Ray\n" + /* 0346 */ "fn GetScreenToWorldRayEx*(position: Vector2, camera: Camera3D, width: int32, height: int32): Ray\n" + /* 0347 */ "fn GetWorldToScreen*(position: Vector3, camera: Camera3D): Vector2\n" + /* 0348 */ "fn GetWorldToScreenEx*(position: Vector3, camera: Camera3D, width: int32, height: int32): Vector2\n" + /* 0349 */ "fn GetWorldToScreen2D*(position: Vector2, camera: Camera2D): Vector2\n" + /* 0350 */ "fn GetScreenToWorld2D*(position: Vector2, camera: Camera2D): Vector2\n" + /* 0351 */ "fn GetCameraMatrix*(camera: Camera3D): Matrix\n" + /* 0352 */ "fn GetCameraMatrix2D*(camera: Camera2D): Matrix\n" + /* 0353 */ "fn SetTargetFPS*(fps: int32)\n" + /* 0354 */ "fn GetFrameTime*(): real32\n" + /* 0355 */ "fn GetTime*(): real\n" + /* 0356 */ "fn GetFPS*(): int32\n" + /* 0357 */ "fn SwapScreenBuffer*()\n" + /* 0358 */ "fn PollInputEvents*()\n" + /* 0359 */ "fn WaitTime*(seconds: real)\n" + /* 0360 */ "fn SetRandomSeed*(seed: uint32)\n" + /* 0361 */ "fn GetRandomValue*(min: int32, max: int32): int32\n" + /* 0362 */ "fn LoadRandomSequence*(count: uint32, min: int32, max: int32): ^int32\n" + /* 0363 */ "fn UnloadRandomSequence*(sequence: ^int32)\n" + /* 0364 */ "fn TakeScreenshot*(fileName: str)\n" + /* 0365 */ "fn SetConfigFlags*(flags: uint32)\n" + /* 0366 */ "fn OpenURL*(url: str)\n" + /* 0367 */ "fn SetTraceLogLevel*(logLevel: int32)\n" + /* 0368 */ "// Skipping TraceLog\n" + /* 0369 */ "// Skipping SetTraceLogCallback\n" + /* 0370 */ "fn MemAlloc*(size: uint32): ^void\n" + /* 0371 */ "fn MemRealloc*(ptr: ^void, size: uint32): ^void\n" + /* 0372 */ "fn MemFree*(ptr: ^void)\n" + /* 0373 */ "fn LoadFileData*(fileName: str, dataSize: ^int32): ^uint8\n" + /* 0374 */ "fn UnloadFileData*(data: ^uint8)\n" + /* 0375 */ "fn SaveFileData*(fileName: str, data: ^void, dataSize: int32): bool\n" + /* 0376 */ "fn ExportDataAsCode*(data: ^uint8, dataSize: int32, fileName: str): bool\n" + /* 0377 */ "fn LoadFileText*(fileName: str): str\n" + /* 0378 */ "fn UnloadFileText*(text: str)\n" + /* 0379 */ "fn SaveFileText*(fileName: str, text: str): bool\n" + /* 0380 */ "// Skipping SetLoadFileDataCallback\n" + /* 0381 */ "// Skipping SetSaveFileDataCallback\n" + /* 0382 */ "// Skipping SetLoadFileTextCallback\n" + /* 0383 */ "// Skipping SetSaveFileTextCallback\n" + /* 0384 */ "fn FileRename*(fileName: str, fileRename: str): int32\n" + /* 0385 */ "fn FileRemove*(fileName: str): int32\n" + /* 0386 */ "fn FileCopy*(srcPath: str, dstPath: str): int32\n" + /* 0387 */ "fn FileMove*(srcPath: str, dstPath: str): int32\n" + /* 0388 */ "fn FileTextReplace*(fileName: str, search: str, replacement: str): int32\n" + /* 0389 */ "fn FileTextFindIndex*(fileName: str, search: str): int32\n" + /* 0390 */ "fn FileExists*(fileName: str): bool\n" + /* 0391 */ "fn DirectoryExists*(dirPath: str): bool\n" + /* 0392 */ "fn IsFileExtension*(fileName: str, ext: str): bool\n" + /* 0393 */ "fn GetFileLength*(fileName: str): int32\n" + /* 0394 */ "fn GetFileModTime*(fileName: str): int\n" + /* 0395 */ "fn GetFileExtension*(fileName: str): str\n" + /* 0396 */ "fn GetFileName*(filePath: str): str\n" + /* 0397 */ "fn GetFileNameWithoutExt*(filePath: str): str\n" + /* 0398 */ "fn GetDirectoryPath*(filePath: str): str\n" + /* 0399 */ "fn GetPrevDirectoryPath*(dirPath: str): str\n" + /* 0400 */ "fn GetWorkingDirectory*(): str\n" + /* 0401 */ "fn GetApplicationDirectory*(): str\n" + /* 0402 */ "fn MakeDirectory*(dirPath: str): int32\n" + /* 0403 */ "fn ChangeDirectory*(dirPath: str): bool\n" + /* 0404 */ "fn IsPathFile*(path: str): bool\n" + /* 0405 */ "fn IsFileNameValid*(fileName: str): bool\n" + /* 0406 */ "fn LoadDirectoryFiles*(dirPath: str): FilePathList\n" + /* 0407 */ "fn LoadDirectoryFilesEx*(basePath: str, filter: str, scanSubdirs: bool): FilePathList\n" + /* 0408 */ "fn UnloadDirectoryFiles*(files: FilePathList)\n" + /* 0409 */ "fn IsFileDropped*(): bool\n" + /* 0410 */ "fn LoadDroppedFiles*(): FilePathList\n" + /* 0411 */ "fn UnloadDroppedFiles*(files: FilePathList)\n" + /* 0412 */ "fn GetDirectoryFileCount*(dirPath: str): uint32\n" + /* 0413 */ "fn GetDirectoryFileCountEx*(basePath: str, filter: str, scanSubdirs: bool): uint32\n" + /* 0414 */ "fn CompressData*(data: ^uint8, dataSize: int32, compDataSize: ^int32): ^uint8\n" + /* 0415 */ "fn DecompressData*(compData: ^uint8, compDataSize: int32, dataSize: ^int32): ^uint8\n" + /* 0416 */ "fn EncodeDataBase64*(data: ^uint8, dataSize: int32, outputSize: ^int32): str\n" + /* 0417 */ "fn DecodeDataBase64*(text: str, outputSize: ^int32): ^uint8\n" + /* 0418 */ "fn ComputeCRC32*(data: ^uint8, dataSize: int32): uint32\n" + /* 0419 */ "fn ComputeMD5*(data: ^uint8, dataSize: int32): ^uint32\n" + /* 0420 */ "fn ComputeSHA1*(data: ^uint8, dataSize: int32): ^uint32\n" + /* 0421 */ "fn ComputeSHA256*(data: ^uint8, dataSize: int32): ^uint32\n" + /* 0422 */ "fn LoadAutomationEventList*(fileName: str): AutomationEventList\n" + /* 0423 */ "fn UnloadAutomationEventList*(list: AutomationEventList)\n" + /* 0424 */ "fn ExportAutomationEventList*(list: AutomationEventList, fileName: str): bool\n" + /* 0425 */ "fn SetAutomationEventList*(list: ^AutomationEventList)\n" + /* 0426 */ "fn SetAutomationEventBaseFrame*(frame: int32)\n" + /* 0427 */ "fn StartAutomationEventRecording*()\n" + /* 0428 */ "fn StopAutomationEventRecording*()\n" + /* 0429 */ "fn PlayAutomationEvent*(event: AutomationEvent)\n" + /* 0430 */ "fn IsKeyPressed*(key: int32): bool\n" + /* 0431 */ "fn IsKeyPressedRepeat*(key: int32): bool\n" + /* 0432 */ "fn IsKeyDown*(key: int32): bool\n" + /* 0433 */ "fn IsKeyReleased*(key: int32): bool\n" + /* 0434 */ "fn IsKeyUp*(key: int32): bool\n" + /* 0435 */ "fn GetKeyPressed*(): int32\n" + /* 0436 */ "fn GetCharPressed*(): int32\n" + /* 0437 */ "fn GetKeyName*(key: int32): str\n" + /* 0438 */ "fn SetExitKey*(key: int32)\n" + /* 0439 */ "fn IsGamepadAvailable*(gamepad: int32): bool\n" + /* 0440 */ "fn GetGamepadName*(gamepad: int32): str\n" + /* 0441 */ "fn IsGamepadButtonPressed*(gamepad: int32, button: int32): bool\n" + /* 0442 */ "fn IsGamepadButtonDown*(gamepad: int32, button: int32): bool\n" + /* 0443 */ "fn IsGamepadButtonReleased*(gamepad: int32, button: int32): bool\n" + /* 0444 */ "fn IsGamepadButtonUp*(gamepad: int32, button: int32): bool\n" + /* 0445 */ "fn GetGamepadButtonPressed*(): int32\n" + /* 0446 */ "fn GetGamepadAxisCount*(gamepad: int32): int32\n" + /* 0447 */ "fn GetGamepadAxisMovement*(gamepad: int32, axis: int32): real32\n" + /* 0448 */ "fn SetGamepadMappings*(mappings: str): int32\n" + /* 0449 */ "fn SetGamepadVibration*(gamepad: int32, leftMotor: real32, rightMotor: real32, duration: real32)\n" + /* 0450 */ "fn IsMouseButtonPressed*(button: int32): bool\n" + /* 0451 */ "fn IsMouseButtonDown*(button: int32): bool\n" + /* 0452 */ "fn IsMouseButtonReleased*(button: int32): bool\n" + /* 0453 */ "fn IsMouseButtonUp*(button: int32): bool\n" + /* 0454 */ "fn GetMouseX*(): int32\n" + /* 0455 */ "fn GetMouseY*(): int32\n" + /* 0456 */ "fn GetMousePosition*(): Vector2\n" + /* 0457 */ "fn GetMouseDelta*(): Vector2\n" + /* 0458 */ "fn SetMousePosition*(x: int32, y: int32)\n" + /* 0459 */ "fn SetMouseOffset*(offsetX: int32, offsetY: int32)\n" + /* 0460 */ "fn SetMouseScale*(scaleX: real32, scaleY: real32)\n" + /* 0461 */ "fn GetMouseWheelMove*(): real32\n" + /* 0462 */ "fn GetMouseWheelMoveV*(): Vector2\n" + /* 0463 */ "fn SetMouseCursor*(cursor: int32)\n" + /* 0464 */ "fn GetTouchX*(): int32\n" + /* 0465 */ "fn GetTouchY*(): int32\n" + /* 0466 */ "fn GetTouchPosition*(index: int32): Vector2\n" + /* 0467 */ "fn GetTouchPointId*(index: int32): int32\n" + /* 0468 */ "fn GetTouchPointCount*(): int32\n" + /* 0469 */ "fn SetGesturesEnabled*(flags: uint32)\n" + /* 0470 */ "fn IsGestureDetected*(gesture: uint32): bool\n" + /* 0471 */ "fn GetGestureDetected*(): int32\n" + /* 0472 */ "fn GetGestureHoldDuration*(): real32\n" + /* 0473 */ "fn GetGestureDragVector*(): Vector2\n" + /* 0474 */ "fn GetGestureDragAngle*(): real32\n" + /* 0475 */ "fn GetGesturePinchVector*(): Vector2\n" + /* 0476 */ "fn GetGesturePinchAngle*(): real32\n" + /* 0477 */ "fn UpdateCamera*(camera: ^Camera3D, mode: int32)\n" + /* 0478 */ "fn UpdateCameraPro*(camera: ^Camera3D, movement: Vector3, rotation: Vector3, zoom: real32)\n" + /* 0479 */ "fn SetShapesTexture*(texture: Texture, source: Rectangle)\n" + /* 0480 */ "fn GetShapesTexture*(): Texture\n" + /* 0481 */ "fn GetShapesTextureRectangle*(): Rectangle\n" + /* 0482 */ "fn DrawPixel*(posX: int32, posY: int32, color: Color)\n" + /* 0483 */ "fn DrawPixelV*(position: Vector2, color: Color)\n" + /* 0484 */ "fn DrawLine*(startPosX: int32, startPosY: int32, endPosX: int32, endPosY: int32, color: Color)\n" + /* 0485 */ "fn DrawLineV*(startPos: Vector2, endPos: Vector2, color: Color)\n" + /* 0486 */ "fn DrawLineEx*(startPos: Vector2, endPos: Vector2, thick: real32, color: Color)\n" + /* 0487 */ "fn DrawLineStrip*(points: const ^Vector2, pointCount: int32, color: Color)\n" + /* 0488 */ "fn DrawLineBezier*(startPos: Vector2, endPos: Vector2, thick: real32, color: Color)\n" + /* 0489 */ "fn DrawLineDashed*(startPos: Vector2, endPos: Vector2, dashSize: int32, spaceSize: int32, color: Color)\n" + /* 0490 */ "fn DrawCircle*(centerX: int32, centerY: int32, radius: real32, color: Color)\n" + /* 0491 */ "fn DrawCircleSector*(center: Vector2, radius: real32, startAngle: real32, endAngle: real32, segments: int32, color: Color)\n" + /* 0492 */ "fn DrawCircleSectorLines*(center: Vector2, radius: real32, startAngle: real32, endAngle: real32, segments: int32, color: Color)\n" + /* 0493 */ "fn DrawCircleGradient*(centerX: int32, centerY: int32, radius: real32, inner: Color, outer: Color)\n" + /* 0494 */ "fn DrawCircleV*(center: Vector2, radius: real32, color: Color)\n" + /* 0495 */ "fn DrawCircleLines*(centerX: int32, centerY: int32, radius: real32, color: Color)\n" + /* 0496 */ "fn DrawCircleLinesV*(center: Vector2, radius: real32, color: Color)\n" + /* 0497 */ "fn DrawEllipse*(centerX: int32, centerY: int32, radiusH: real32, radiusV: real32, color: Color)\n" + /* 0498 */ "fn DrawEllipseV*(center: Vector2, radiusH: real32, radiusV: real32, color: Color)\n" + /* 0499 */ "fn DrawEllipseLines*(centerX: int32, centerY: int32, radiusH: real32, radiusV: real32, color: Color)\n" + /* 0500 */ "fn DrawEllipseLinesV*(center: Vector2, radiusH: real32, radiusV: real32, color: Color)\n" + /* 0501 */ "fn DrawRing*(center: Vector2, innerRadius: real32, outerRadius: real32, startAngle: real32, endAngle: real32, segments: int32, color: Color)\n" + /* 0502 */ "fn DrawRingLines*(center: Vector2, innerRadius: real32, outerRadius: real32, startAngle: real32, endAngle: real32, segments: int32, color: Color)\n" + /* 0503 */ "fn DrawRectangle*(posX: int32, posY: int32, width: int32, height: int32, color: Color)\n" + /* 0504 */ "fn DrawRectangleV*(position: Vector2, size: Vector2, color: Color)\n" + /* 0505 */ "fn DrawRectangleRec*(rec: Rectangle, color: Color)\n" + /* 0506 */ "fn DrawRectanglePro*(rec: Rectangle, origin: Vector2, rotation: real32, color: Color)\n" + /* 0507 */ "fn DrawRectangleGradientV*(posX: int32, posY: int32, width: int32, height: int32, top: Color, bottom: Color)\n" + /* 0508 */ "fn DrawRectangleGradientH*(posX: int32, posY: int32, width: int32, height: int32, left: Color, right: Color)\n" + /* 0509 */ "fn DrawRectangleGradientEx*(rec: Rectangle, topLeft: Color, bottomLeft: Color, bottomRight: Color, topRight: Color)\n" + /* 0510 */ "fn DrawRectangleLines*(posX: int32, posY: int32, width: int32, height: int32, color: Color)\n" + /* 0511 */ "fn DrawRectangleLinesEx*(rec: Rectangle, lineThick: real32, color: Color)\n" + /* 0512 */ "fn DrawRectangleRounded*(rec: Rectangle, roundness: real32, segments: int32, color: Color)\n" + /* 0513 */ "fn DrawRectangleRoundedLines*(rec: Rectangle, roundness: real32, segments: int32, color: Color)\n" + /* 0514 */ "fn DrawRectangleRoundedLinesEx*(rec: Rectangle, roundness: real32, segments: int32, lineThick: real32, color: Color)\n" + /* 0515 */ "fn DrawTriangle*(v1: Vector2, v2: Vector2, v3: Vector2, color: Color)\n" + /* 0516 */ "fn DrawTriangleLines*(v1: Vector2, v2: Vector2, v3: Vector2, color: Color)\n" + /* 0517 */ "fn DrawTriangleFan*(points: const ^Vector2, pointCount: int32, color: Color)\n" + /* 0518 */ "fn DrawTriangleStrip*(points: const ^Vector2, pointCount: int32, color: Color)\n" + /* 0519 */ "fn DrawPoly*(center: Vector2, sides: int32, radius: real32, rotation: real32, color: Color)\n" + /* 0520 */ "fn DrawPolyLines*(center: Vector2, sides: int32, radius: real32, rotation: real32, color: Color)\n" + /* 0521 */ "fn DrawPolyLinesEx*(center: Vector2, sides: int32, radius: real32, rotation: real32, lineThick: real32, color: Color)\n" + /* 0522 */ "fn DrawSplineLinear*(points: const ^Vector2, pointCount: int32, thick: real32, color: Color)\n" + /* 0523 */ "fn DrawSplineBasis*(points: const ^Vector2, pointCount: int32, thick: real32, color: Color)\n" + /* 0524 */ "fn DrawSplineCatmullRom*(points: const ^Vector2, pointCount: int32, thick: real32, color: Color)\n" + /* 0525 */ "fn DrawSplineBezierQuadratic*(points: const ^Vector2, pointCount: int32, thick: real32, color: Color)\n" + /* 0526 */ "fn DrawSplineBezierCubic*(points: const ^Vector2, pointCount: int32, thick: real32, color: Color)\n" + /* 0527 */ "fn DrawSplineSegmentLinear*(p1: Vector2, p2: Vector2, thick: real32, color: Color)\n" + /* 0528 */ "fn DrawSplineSegmentBasis*(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2, thick: real32, color: Color)\n" + /* 0529 */ "fn DrawSplineSegmentCatmullRom*(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2, thick: real32, color: Color)\n" + /* 0530 */ "fn DrawSplineSegmentBezierQuadratic*(p1: Vector2, c2: Vector2, p3: Vector2, thick: real32, color: Color)\n" + /* 0531 */ "fn DrawSplineSegmentBezierCubic*(p1: Vector2, c2: Vector2, c3: Vector2, p4: Vector2, thick: real32, color: Color)\n" + /* 0532 */ "fn GetSplinePointLinear*(startPos: Vector2, endPos: Vector2, t: real32): Vector2\n" + /* 0533 */ "fn GetSplinePointBasis*(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2, t: real32): Vector2\n" + /* 0534 */ "fn GetSplinePointCatmullRom*(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2, t: real32): Vector2\n" + /* 0535 */ "fn GetSplinePointBezierQuad*(p1: Vector2, c2: Vector2, p3: Vector2, t: real32): Vector2\n" + /* 0536 */ "fn GetSplinePointBezierCubic*(p1: Vector2, c2: Vector2, c3: Vector2, p4: Vector2, t: real32): Vector2\n" + /* 0537 */ "fn CheckCollisionRecs*(rec1: Rectangle, rec2: Rectangle): bool\n" + /* 0538 */ "fn CheckCollisionCircles*(center1: Vector2, radius1: real32, center2: Vector2, radius2: real32): bool\n" + /* 0539 */ "fn CheckCollisionCircleRec*(center: Vector2, radius: real32, rec: Rectangle): bool\n" + /* 0540 */ "fn CheckCollisionCircleLine*(center: Vector2, radius: real32, p1: Vector2, p2: Vector2): bool\n" + /* 0541 */ "fn CheckCollisionPointRec*(point: Vector2, rec: Rectangle): bool\n" + /* 0542 */ "fn CheckCollisionPointCircle*(point: Vector2, center: Vector2, radius: real32): bool\n" + /* 0543 */ "fn CheckCollisionPointTriangle*(point: Vector2, p1: Vector2, p2: Vector2, p3: Vector2): bool\n" + /* 0544 */ "fn CheckCollisionPointLine*(point: Vector2, p1: Vector2, p2: Vector2, threshold: int32): bool\n" + /* 0545 */ "fn CheckCollisionPointPoly*(point: Vector2, points: const ^Vector2, pointCount: int32): bool\n" + /* 0546 */ "fn CheckCollisionLines*(startPos1: Vector2, endPos1: Vector2, startPos2: Vector2, endPos2: Vector2, collisionPoint: ^Vector2): bool\n" + /* 0547 */ "fn GetCollisionRec*(rec1: Rectangle, rec2: Rectangle): Rectangle\n" + /* 0548 */ "fn LoadImage*(fileName: str): Image\n" + /* 0549 */ "fn LoadImageRaw*(fileName: str, width: int32, height: int32, format: int32, headerSize: int32): Image\n" + /* 0550 */ "fn LoadImageAnim*(fileName: str, frames: ^int32): Image\n" + /* 0551 */ "fn LoadImageAnimFromMemory*(fileType: str, fileData: ^uint8, dataSize: int32, frames: ^int32): Image\n" + /* 0552 */ "fn LoadImageFromMemory*(fileType: str, fileData: ^uint8, dataSize: int32): Image\n" + /* 0553 */ "fn LoadImageFromTexture*(texture: Texture): Image\n" + /* 0554 */ "fn LoadImageFromScreen*(): Image\n" + /* 0555 */ "fn IsImageValid*(image: Image): bool\n" + /* 0556 */ "fn UnloadImage*(image: Image)\n" + /* 0557 */ "fn ExportImage*(image: Image, fileName: str): bool\n" + /* 0558 */ "fn ExportImageToMemory*(image: Image, fileType: str, fileSize: ^int32): ^uint8\n" + /* 0559 */ "fn ExportImageAsCode*(image: Image, fileName: str): bool\n" + /* 0560 */ "fn GenImageColor*(width: int32, height: int32, color: Color): Image\n" + /* 0561 */ "fn GenImageGradientLinear*(width: int32, height: int32, direction: int32, start: Color, end: Color): Image\n" + /* 0562 */ "fn GenImageGradientRadial*(width: int32, height: int32, density: real32, inner: Color, outer: Color): Image\n" + /* 0563 */ "fn GenImageGradientSquare*(width: int32, height: int32, density: real32, inner: Color, outer: Color): Image\n" + /* 0564 */ "fn GenImageChecked*(width: int32, height: int32, checksX: int32, checksY: int32, col1: Color, col2: Color): Image\n" + /* 0565 */ "fn GenImageWhiteNoise*(width: int32, height: int32, factor: real32): Image\n" + /* 0566 */ "fn GenImagePerlinNoise*(width: int32, height: int32, offsetX: int32, offsetY: int32, scale: real32): Image\n" + /* 0567 */ "fn GenImageCellular*(width: int32, height: int32, tileSize: int32): Image\n" + /* 0568 */ "fn GenImageText*(width: int32, height: int32, text: str): Image\n" + /* 0569 */ "fn ImageCopy*(image: Image): Image\n" + /* 0570 */ "fn ImageFromImage*(image: Image, rec: Rectangle): Image\n" + /* 0571 */ "fn ImageFromChannel*(image: Image, selectedChannel: int32): Image\n" + /* 0572 */ "fn ImageText*(text: str, fontSize: int32, color: Color): Image\n" + /* 0573 */ "fn ImageTextEx*(font: Font, text: str, fontSize: real32, spacing: real32, tint: Color): Image\n" + /* 0574 */ "fn ImageFormat*(image: ^Image, newFormat: int32)\n" + /* 0575 */ "fn ImageToPOT*(image: ^Image, fill: Color)\n" + /* 0576 */ "fn ImageCrop*(image: ^Image, crop: Rectangle)\n" + /* 0577 */ "fn ImageAlphaCrop*(image: ^Image, threshold: real32)\n" + /* 0578 */ "fn ImageAlphaClear*(image: ^Image, color: Color, threshold: real32)\n" + /* 0579 */ "fn ImageAlphaMask*(image: ^Image, alphaMask: Image)\n" + /* 0580 */ "fn ImageAlphaPremultiply*(image: ^Image)\n" + /* 0581 */ "fn ImageBlurGaussian*(image: ^Image, blurSize: int32)\n" + /* 0582 */ "fn ImageKernelConvolution*(image: ^Image, kernel: const ^real32, kernelSize: int32)\n" + /* 0583 */ "fn ImageResize*(image: ^Image, newWidth: int32, newHeight: int32)\n" + /* 0584 */ "fn ImageResizeNN*(image: ^Image, newWidth: int32, newHeight: int32)\n" + /* 0585 */ "fn ImageResizeCanvas*(image: ^Image, newWidth: int32, newHeight: int32, offsetX: int32, offsetY: int32, fill: Color)\n" + /* 0586 */ "fn ImageMipmaps*(image: ^Image)\n" + /* 0587 */ "fn ImageDither*(image: ^Image, rBpp: int32, gBpp: int32, bBpp: int32, aBpp: int32)\n" + /* 0588 */ "fn ImageFlipVertical*(image: ^Image)\n" + /* 0589 */ "fn ImageFlipHorizontal*(image: ^Image)\n" + /* 0590 */ "fn ImageRotate*(image: ^Image, degrees: int32)\n" + /* 0591 */ "fn ImageRotateCW*(image: ^Image)\n" + /* 0592 */ "fn ImageRotateCCW*(image: ^Image)\n" + /* 0593 */ "fn ImageColorTint*(image: ^Image, color: Color)\n" + /* 0594 */ "fn ImageColorInvert*(image: ^Image)\n" + /* 0595 */ "fn ImageColorGrayscale*(image: ^Image)\n" + /* 0596 */ "fn ImageColorContrast*(image: ^Image, contrast: real32)\n" + /* 0597 */ "fn ImageColorBrightness*(image: ^Image, brightness: int32)\n" + /* 0598 */ "fn ImageColorReplace*(image: ^Image, color: Color, replace: Color)\n" + /* 0599 */ "fn LoadImageColors*(image: Image): ^Color\n" + /* 0600 */ "fn LoadImagePalette*(image: Image, maxPaletteSize: int32, colorCount: ^int32): ^Color\n" + /* 0601 */ "fn UnloadImageColors*(colors: ^Color)\n" + /* 0602 */ "fn UnloadImagePalette*(colors: ^Color)\n" + /* 0603 */ "fn GetImageAlphaBorder*(image: Image, threshold: real32): Rectangle\n" + /* 0604 */ "fn GetImageColor*(image: Image, x: int32, y: int32): Color\n" + /* 0605 */ "fn ImageClearBackground*(dst: ^Image, color: Color)\n" + /* 0606 */ "fn ImageDrawPixel*(dst: ^Image, posX: int32, posY: int32, color: Color)\n" + /* 0607 */ "fn ImageDrawPixelV*(dst: ^Image, position: Vector2, color: Color)\n" + /* 0608 */ "fn ImageDrawLine*(dst: ^Image, startPosX: int32, startPosY: int32, endPosX: int32, endPosY: int32, color: Color)\n" + /* 0609 */ "fn ImageDrawLineV*(dst: ^Image, start: Vector2, end: Vector2, color: Color)\n" + /* 0610 */ "fn ImageDrawLineEx*(dst: ^Image, start: Vector2, end: Vector2, thick: int32, color: Color)\n" + /* 0611 */ "fn ImageDrawCircle*(dst: ^Image, centerX: int32, centerY: int32, radius: int32, color: Color)\n" + /* 0612 */ "fn ImageDrawCircleV*(dst: ^Image, center: Vector2, radius: int32, color: Color)\n" + /* 0613 */ "fn ImageDrawCircleLines*(dst: ^Image, centerX: int32, centerY: int32, radius: int32, color: Color)\n" + /* 0614 */ "fn ImageDrawCircleLinesV*(dst: ^Image, center: Vector2, radius: int32, color: Color)\n" + /* 0615 */ "fn ImageDrawRectangle*(dst: ^Image, posX: int32, posY: int32, width: int32, height: int32, color: Color)\n" + /* 0616 */ "fn ImageDrawRectangleV*(dst: ^Image, position: Vector2, size: Vector2, color: Color)\n" + /* 0617 */ "fn ImageDrawRectangleRec*(dst: ^Image, rec: Rectangle, color: Color)\n" + /* 0618 */ "fn ImageDrawRectangleLines*(dst: ^Image, rec: Rectangle, thick: int32, color: Color)\n" + /* 0619 */ "fn ImageDrawTriangle*(dst: ^Image, v1: Vector2, v2: Vector2, v3: Vector2, color: Color)\n" + /* 0620 */ "fn ImageDrawTriangleEx*(dst: ^Image, v1: Vector2, v2: Vector2, v3: Vector2, c1: Color, c2: Color, c3: Color)\n" + /* 0621 */ "fn ImageDrawTriangleLines*(dst: ^Image, v1: Vector2, v2: Vector2, v3: Vector2, color: Color)\n" + /* 0622 */ "fn ImageDrawTriangleFan*(dst: ^Image, points: const ^Vector2, pointCount: int32, color: Color)\n" + /* 0623 */ "fn ImageDrawTriangleStrip*(dst: ^Image, points: const ^Vector2, pointCount: int32, color: Color)\n" + /* 0624 */ "fn ImageDraw*(dst: ^Image, src: Image, srcRec: Rectangle, dstRec: Rectangle, tint: Color)\n" + /* 0625 */ "fn ImageDrawText*(dst: ^Image, text: str, posX: int32, posY: int32, fontSize: int32, color: Color)\n" + /* 0626 */ "fn ImageDrawTextEx*(dst: ^Image, font: Font, text: str, position: Vector2, fontSize: real32, spacing: real32, tint: Color)\n" + /* 0627 */ "fn LoadTexture*(fileName: str): Texture\n" + /* 0628 */ "fn LoadTextureFromImage*(image: Image): Texture\n" + /* 0629 */ "fn LoadTextureCubemap*(image: Image, layout: int32): Texture\n" + /* 0630 */ "fn LoadRenderTexture*(width: int32, height: int32): RenderTexture\n" + /* 0631 */ "fn IsTextureValid*(texture: Texture): bool\n" + /* 0632 */ "fn UnloadTexture*(texture: Texture)\n" + /* 0633 */ "fn IsRenderTextureValid*(target: RenderTexture): bool\n" + /* 0634 */ "fn UnloadRenderTexture*(target: RenderTexture)\n" + /* 0635 */ "fn UpdateTexture*(texture: Texture, pixels: ^void)\n" + /* 0636 */ "fn UpdateTextureRec*(texture: Texture, rec: Rectangle, pixels: ^void)\n" + /* 0637 */ "fn GenTextureMipmaps*(texture: ^Texture)\n" + /* 0638 */ "fn SetTextureFilter*(texture: Texture, filter: int32)\n" + /* 0639 */ "fn SetTextureWrap*(texture: Texture, wrap: int32)\n" + /* 0640 */ "fn DrawTexture*(texture: Texture, posX: int32, posY: int32, tint: Color)\n" + /* 0641 */ "fn DrawTextureV*(texture: Texture, position: Vector2, tint: Color)\n" + /* 0642 */ "fn DrawTextureEx*(texture: Texture, position: Vector2, rotation: real32, scale: real32, tint: Color)\n" + /* 0643 */ "fn DrawTextureRec*(texture: Texture, source: Rectangle, position: Vector2, tint: Color)\n" + /* 0644 */ "fn DrawTexturePro*(texture: Texture, source: Rectangle, dest: Rectangle, origin: Vector2, rotation: real32, tint: Color)\n" + /* 0645 */ "fn DrawTextureNPatch*(texture: Texture, nPatchInfo: NPatchInfo, dest: Rectangle, origin: Vector2, rotation: real32, tint: Color)\n" + /* 0646 */ "fn ColorIsEqual*(col1: Color, col2: Color): bool\n" + /* 0647 */ "fn Fade*(color: Color, alpha: real32): Color\n" + /* 0648 */ "fn ColorToInt*(color: Color): int32\n" + /* 0649 */ "fn ColorNormalize*(color: Color): Vector4\n" + /* 0650 */ "fn ColorFromNormalized*(normalized: Vector4): Color\n" + /* 0651 */ "fn ColorToHSV*(color: Color): Vector3\n" + /* 0652 */ "fn ColorFromHSV*(hue: real32, saturation: real32, value: real32): Color\n" + /* 0653 */ "fn ColorTint*(color: Color, tint: Color): Color\n" + /* 0654 */ "fn ColorBrightness*(color: Color, factor: real32): Color\n" + /* 0655 */ "fn ColorContrast*(color: Color, contrast: real32): Color\n" + /* 0656 */ "fn ColorAlpha*(color: Color, alpha: real32): Color\n" + /* 0657 */ "fn ColorAlphaBlend*(dst: Color, src: Color, tint: Color): Color\n" + /* 0658 */ "fn ColorLerp*(color1: Color, color2: Color, factor: real32): Color\n" + /* 0659 */ "fn GetColor*(hexValue: uint32): Color\n" + /* 0660 */ "fn GetPixelColor*(srcPtr: ^void, format: int32): Color\n" + /* 0661 */ "fn SetPixelColor*(dstPtr: ^void, color: Color, format: int32)\n" + /* 0662 */ "fn GetPixelDataSize*(width: int32, height: int32, format: int32): int32\n" + /* 0663 */ "fn GetFontDefault*(): Font\n" + /* 0664 */ "fn LoadFont*(fileName: str): Font\n" + /* 0665 */ "fn LoadFontEx*(fileName: str, fontSize: int32, codepoints: ^int32, codepointCount: int32): Font\n" + /* 0666 */ "fn LoadFontFromImage*(image: Image, key: Color, firstChar: int32): Font\n" + /* 0667 */ "fn LoadFontFromMemory*(fileType: str, fileData: ^uint8, dataSize: int32, fontSize: int32, codepoints: ^int32, codepointCount: int32): Font\n" + /* 0668 */ "fn IsFontValid*(font: Font): bool\n" + /* 0669 */ "// Skipping LoadFontData\n" + /* 0670 */ "fn GenImageFontAtlas*(glyphs: ^void, glyphRecs: ^void, glyphCount: int32, fontSize: int32, padding: int32, packMethod: int32): Image\n" + /* 0671 */ "fn UnloadFontData*(glyphs: ^GlyphInfo, glyphCount: int32)\n" + /* 0672 */ "fn UnloadFont*(font: Font)\n" + /* 0673 */ "fn ExportFontAsCode*(font: Font, fileName: str): bool\n" + /* 0674 */ "fn DrawFPS*(posX: int32, posY: int32)\n" + /* 0675 */ "fn DrawText*(text: str, posX: int32, posY: int32, fontSize: int32, color: Color)\n" + /* 0676 */ "fn DrawTextEx*(font: Font, text: str, position: Vector2, fontSize: real32, spacing: real32, tint: Color)\n" + /* 0677 */ "fn DrawTextPro*(font: Font, text: str, position: Vector2, origin: Vector2, rotation: real32, fontSize: real32, spacing: real32, tint: Color)\n" + /* 0678 */ "fn DrawTextCodepoint*(font: Font, codepoint: int32, position: Vector2, fontSize: real32, tint: Color)\n" + /* 0679 */ "fn DrawTextCodepoints*(font: Font, codepoints: ^int32, codepointCount: int32, position: Vector2, fontSize: real32, spacing: real32, tint: Color)\n" + /* 0680 */ "fn SetTextLineSpacing*(spacing: int32)\n" + /* 0681 */ "fn MeasureText*(text: str, fontSize: int32): int32\n" + /* 0682 */ "fn MeasureTextEx*(font: Font, text: str, fontSize: real32, spacing: real32): Vector2\n" + /* 0683 */ "fn MeasureTextCodepoints*(font: Font, codepoints: ^int32, length: int32, fontSize: real32, spacing: real32): Vector2\n" + /* 0684 */ "fn GetGlyphIndex*(font: Font, codepoint: int32): int32\n" + /* 0685 */ "fn GetGlyphInfo*(font: Font, codepoint: int32): GlyphInfo\n" + /* 0686 */ "fn GetGlyphAtlasRec*(font: Font, codepoint: int32): Rectangle\n" + /* 0687 */ "fn LoadUTF8*(codepoints: ^int32, length: int32): str\n" + /* 0688 */ "fn UnloadUTF8*(text: str)\n" + /* 0689 */ "fn LoadCodepoints*(text: str, count: ^int32): ^int32\n" + /* 0690 */ "fn UnloadCodepoints*(codepoints: ^int32)\n" + /* 0691 */ "fn GetCodepointCount*(text: str): int32\n" + /* 0692 */ "fn GetCodepoint*(text: str, codepointSize: ^int32): int32\n" + /* 0693 */ "fn GetCodepointNext*(text: str, codepointSize: ^int32): int32\n" + /* 0694 */ "fn GetCodepointPrevious*(text: str, codepointSize: ^int32): int32\n" + /* 0695 */ "fn CodepointToUTF8*(codepoint: int32, utf8Size: ^int32): str\n" + /* 0696 */ "fn LoadTextLines*(text: str, count: ^int32): ^str\n" + /* 0697 */ "fn UnloadTextLines*(text: ^str, lineCount: int32)\n" + /* 0698 */ "fn TextCopy*(dst: str, src: str): int32\n" + /* 0699 */ "fn TextIsEqual*(text1: str, text2: str): bool\n" + /* 0700 */ "fn TextLength*(text: str): uint32\n" + /* 0701 */ "// Skipping TextFormat\n" + /* 0702 */ "fn TextSubtext*(text: str, position: int32, length: int32): str\n" + /* 0703 */ "fn TextRemoveSpaces*(text: str): str\n" + /* 0704 */ "fn GetTextBetween*(text: str, begin: str, end: str): str\n" + /* 0705 */ "fn TextReplace*(text: str, search: str, replacement: str): str\n" + /* 0706 */ "fn TextReplaceBetween*(text: str, begin: str, end: str, replacement: str): str\n" + /* 0707 */ "fn TextInsert*(text: str, insert: str, position: int32): str\n" + /* 0708 */ "fn TextJoin*(textList: ^str, count: int32, delimiter: str): str\n" + /* 0709 */ "fn TextSplit*(text: str, delimiter: char, count: ^int32): ^str\n" + /* 0710 */ "fn TextAppend*(text: str, append: str, position: ^int32)\n" + /* 0711 */ "fn TextFindIndex*(text: str, search: str): int32\n" + /* 0712 */ "fn TextToUpper*(text: str): str\n" + /* 0713 */ "fn TextToLower*(text: str): str\n" + /* 0714 */ "fn TextToPascal*(text: str): str\n" + /* 0715 */ "fn TextToSnake*(text: str): str\n" + /* 0716 */ "fn TextToCamel*(text: str): str\n" + /* 0717 */ "fn TextToInteger*(text: str): int32\n" + /* 0718 */ "fn TextToFloat*(text: str): real32\n" + /* 0719 */ "fn DrawLine3D*(startPos: Vector3, endPos: Vector3, color: Color)\n" + /* 0720 */ "fn DrawPoint3D*(position: Vector3, color: Color)\n" + /* 0721 */ "fn DrawCircle3D*(center: Vector3, radius: real32, rotationAxis: Vector3, rotationAngle: real32, color: Color)\n" + /* 0722 */ "fn DrawTriangle3D*(v1: Vector3, v2: Vector3, v3: Vector3, color: Color)\n" + /* 0723 */ "fn DrawTriangleStrip3D*(points: ^Vector3, pointCount: int32, color: Color)\n" + /* 0724 */ "fn DrawCube*(position: Vector3, width: real32, height: real32, length: real32, color: Color)\n" + /* 0725 */ "fn DrawCubeV*(position: Vector3, size: Vector3, color: Color)\n" + /* 0726 */ "fn DrawCubeWires*(position: Vector3, width: real32, height: real32, length: real32, color: Color)\n" + /* 0727 */ "fn DrawCubeWiresV*(position: Vector3, size: Vector3, color: Color)\n" + /* 0728 */ "fn DrawSphere*(centerPos: Vector3, radius: real32, color: Color)\n" + /* 0729 */ "fn DrawSphereEx*(centerPos: Vector3, radius: real32, rings: int32, slices: int32, color: Color)\n" + /* 0730 */ "fn DrawSphereWires*(centerPos: Vector3, radius: real32, rings: int32, slices: int32, color: Color)\n" + /* 0731 */ "fn DrawCylinder*(position: Vector3, radiusTop: real32, radiusBottom: real32, height: real32, slices: int32, color: Color)\n" + /* 0732 */ "fn DrawCylinderEx*(startPos: Vector3, endPos: Vector3, startRadius: real32, endRadius: real32, sides: int32, color: Color)\n" + /* 0733 */ "fn DrawCylinderWires*(position: Vector3, radiusTop: real32, radiusBottom: real32, height: real32, slices: int32, color: Color)\n" + /* 0734 */ "fn DrawCylinderWiresEx*(startPos: Vector3, endPos: Vector3, startRadius: real32, endRadius: real32, sides: int32, color: Color)\n" + /* 0735 */ "fn DrawCapsule*(startPos: Vector3, endPos: Vector3, radius: real32, slices: int32, rings: int32, color: Color)\n" + /* 0736 */ "fn DrawCapsuleWires*(startPos: Vector3, endPos: Vector3, radius: real32, slices: int32, rings: int32, color: Color)\n" + /* 0737 */ "fn DrawPlane*(centerPos: Vector3, size: Vector2, color: Color)\n" + /* 0738 */ "fn DrawRay*(ray: Ray, color: Color)\n" + /* 0739 */ "fn DrawGrid*(slices: int32, spacing: real32)\n" + /* 0740 */ "fn LoadModel*(fileName: str): Model\n" + /* 0741 */ "fn LoadModelFromMesh*(mesh: Mesh): Model\n" + /* 0742 */ "fn IsModelValid*(model: Model): bool\n" + /* 0743 */ "fn UnloadModel*(model: Model)\n" + /* 0744 */ "fn GetModelBoundingBox*(model: Model): BoundingBox\n" + /* 0745 */ "fn DrawModel*(model: Model, position: Vector3, scale: real32, tint: Color)\n" + /* 0746 */ "fn DrawModelEx*(model: Model, position: Vector3, rotationAxis: Vector3, rotationAngle: real32, scale: Vector3, tint: Color)\n" + /* 0747 */ "fn DrawModelWires*(model: Model, position: Vector3, scale: real32, tint: Color)\n" + /* 0748 */ "fn DrawModelWiresEx*(model: Model, position: Vector3, rotationAxis: Vector3, rotationAngle: real32, scale: Vector3, tint: Color)\n" + /* 0749 */ "fn DrawModelPoints*(model: Model, position: Vector3, scale: real32, tint: Color)\n" + /* 0750 */ "fn DrawModelPointsEx*(model: Model, position: Vector3, rotationAxis: Vector3, rotationAngle: real32, scale: Vector3, tint: Color)\n" + /* 0751 */ "fn DrawBoundingBox*(box: BoundingBox, color: Color)\n" + /* 0752 */ "fn DrawBillboard*(camera: Camera3D, texture: Texture, position: Vector3, scale: real32, tint: Color)\n" + /* 0753 */ "fn DrawBillboardRec*(camera: Camera3D, texture: Texture, source: Rectangle, position: Vector3, size: Vector2, tint: Color)\n" + /* 0754 */ "fn DrawBillboardPro*(camera: Camera3D, texture: Texture, source: Rectangle, position: Vector3, up: Vector3, size: Vector2, origin: Vector2, rotation: real32, tint: Color)\n" + /* 0755 */ "fn UploadMesh*(mesh: ^Mesh, dynamic: bool)\n" + /* 0756 */ "fn UpdateMeshBuffer*(mesh: Mesh, index: int32, data: ^void, dataSize: int32, offset: int32)\n" + /* 0757 */ "fn UnloadMesh*(mesh: Mesh)\n" + /* 0758 */ "fn DrawMesh*(mesh: Mesh, material: Material, transform: Matrix)\n" + /* 0759 */ "fn DrawMeshInstanced*(mesh: Mesh, material: Material, transforms: ^Matrix, instances: int32)\n" + /* 0760 */ "fn GetMeshBoundingBox*(mesh: Mesh): BoundingBox\n" + /* 0761 */ "fn GenMeshTangents*(mesh: ^Mesh)\n" + /* 0762 */ "fn ExportMesh*(mesh: Mesh, fileName: str): bool\n" + /* 0763 */ "fn ExportMeshAsCode*(mesh: Mesh, fileName: str): bool\n" + /* 0764 */ "fn GenMeshPoly*(sides: int32, radius: real32): Mesh\n" + /* 0765 */ "fn GenMeshPlane*(width: real32, length: real32, resX: int32, resZ: int32): Mesh\n" + /* 0766 */ "fn GenMeshCube*(width: real32, height: real32, length: real32): Mesh\n" + /* 0767 */ "fn GenMeshSphere*(radius: real32, rings: int32, slices: int32): Mesh\n" + /* 0768 */ "fn GenMeshHemiSphere*(radius: real32, rings: int32, slices: int32): Mesh\n" + /* 0769 */ "fn GenMeshCylinder*(radius: real32, height: real32, slices: int32): Mesh\n" + /* 0770 */ "fn GenMeshCone*(radius: real32, height: real32, slices: int32): Mesh\n" + /* 0771 */ "fn GenMeshTorus*(radius: real32, size: real32, radSeg: int32, sides: int32): Mesh\n" + /* 0772 */ "fn GenMeshKnot*(radius: real32, size: real32, radSeg: int32, sides: int32): Mesh\n" + /* 0773 */ "fn GenMeshHeightmap*(heightmap: Image, size: Vector3): Mesh\n" + /* 0774 */ "fn GenMeshCubicmap*(cubicmap: Image, cubeSize: Vector3): Mesh\n" + /* 0775 */ "fn LoadMaterials*(fileName: str, materialCount: ^int32): ^Material\n" + /* 0776 */ "fn LoadMaterialDefault*(): Material\n" + /* 0777 */ "fn IsMaterialValid*(material: Material): bool\n" + /* 0778 */ "fn UnloadMaterial*(material: Material)\n" + /* 0779 */ "fn SetMaterialTexture*(material: ^Material, mapType: int32, texture: Texture)\n" + /* 0780 */ "fn SetModelMeshMaterial*(model: ^Model, meshId: int32, materialId: int32)\n" + /* 0781 */ "fn LoadModelAnimations*(fileName: str, animCount: ^int32): ^ModelAnimation\n" + /* 0782 */ "fn UpdateModelAnimation*(model: Model, anim: ModelAnimation, frame: real32)\n" + /* 0783 */ "fn UpdateModelAnimationEx*(model: Model, animA: ModelAnimation, frameA: real32, animB: ModelAnimation, frameB: real32, blend: real32)\n" + /* 0784 */ "fn UnloadModelAnimations*(animations: ^ModelAnimation, animCount: int32)\n" + /* 0785 */ "fn IsModelAnimationValid*(model: Model, anim: ModelAnimation): bool\n" + /* 0786 */ "fn CheckCollisionSpheres*(center1: Vector3, radius1: real32, center2: Vector3, radius2: real32): bool\n" + /* 0787 */ "fn CheckCollisionBoxes*(box1: BoundingBox, box2: BoundingBox): bool\n" + /* 0788 */ "fn CheckCollisionBoxSphere*(box: BoundingBox, center: Vector3, radius: real32): bool\n" + /* 0789 */ "fn GetRayCollisionSphere*(ray: Ray, center: Vector3, radius: real32): RayCollision\n" + /* 0790 */ "fn GetRayCollisionBox*(ray: Ray, box: BoundingBox): RayCollision\n" + /* 0791 */ "fn GetRayCollisionMesh*(ray: Ray, mesh: Mesh, transform: Matrix): RayCollision\n" + /* 0792 */ "fn GetRayCollisionTriangle*(ray: Ray, p1: Vector3, p2: Vector3, p3: Vector3): RayCollision\n" + /* 0793 */ "fn GetRayCollisionQuad*(ray: Ray, p1: Vector3, p2: Vector3, p3: Vector3, p4: Vector3): RayCollision\n" + /* 0794 */ "fn InitAudioDevice*()\n" + /* 0795 */ "fn CloseAudioDevice*()\n" + /* 0796 */ "fn IsAudioDeviceReady*(): bool\n" + /* 0797 */ "fn SetMasterVolume*(volume: real32)\n" + /* 0798 */ "fn GetMasterVolume*(): real32\n" + /* 0799 */ "fn LoadWave*(fileName: str): Wave\n" + /* 0800 */ "fn LoadWaveFromMemory*(fileType: str, fileData: ^uint8, dataSize: int32): Wave\n" + /* 0801 */ "fn IsWaveValid*(wave: Wave): bool\n" + /* 0802 */ "fn LoadSound*(fileName: str): Sound\n" + /* 0803 */ "fn LoadSoundFromWave*(wave: Wave): Sound\n" + /* 0804 */ "fn LoadSoundAlias*(source: Sound): Sound\n" + /* 0805 */ "fn IsSoundValid*(sound: Sound): bool\n" + /* 0806 */ "fn UpdateSound*(sound: Sound, data: ^void, sampleCount: int32)\n" + /* 0807 */ "fn UnloadWave*(wave: Wave)\n" + /* 0808 */ "fn UnloadSound*(sound: Sound)\n" + /* 0809 */ "fn UnloadSoundAlias*(alias: Sound)\n" + /* 0810 */ "fn ExportWave*(wave: Wave, fileName: str): bool\n" + /* 0811 */ "fn ExportWaveAsCode*(wave: Wave, fileName: str): bool\n" + /* 0812 */ "fn PlaySound*(sound: Sound)\n" + /* 0813 */ "fn StopSound*(sound: Sound)\n" + /* 0814 */ "fn PauseSound*(sound: Sound)\n" + /* 0815 */ "fn ResumeSound*(sound: Sound)\n" + /* 0816 */ "fn IsSoundPlaying*(sound: Sound): bool\n" + /* 0817 */ "fn SetSoundVolume*(sound: Sound, volume: real32)\n" + /* 0818 */ "fn SetSoundPitch*(sound: Sound, pitch: real32)\n" + /* 0819 */ "fn SetSoundPan*(sound: Sound, pan: real32)\n" + /* 0820 */ "fn WaveCopy*(wave: Wave): Wave\n" + /* 0821 */ "fn WaveCrop*(wave: ^Wave, initFrame: int32, finalFrame: int32)\n" + /* 0822 */ "fn WaveFormat*(wave: ^Wave, sampleRate: int32, sampleSize: int32, channels: int32)\n" + /* 0823 */ "fn LoadWaveSamples*(wave: Wave): ^real32\n" + /* 0824 */ "fn UnloadWaveSamples*(samples: ^real32)\n" + /* 0825 */ "fn LoadMusicStream*(fileName: str): Music\n" + /* 0826 */ "fn LoadMusicStreamFromMemory*(fileType: str, data: ^uint8, dataSize: int32): Music\n" + /* 0827 */ "fn IsMusicValid*(music: Music): bool\n" + /* 0828 */ "fn UnloadMusicStream*(music: Music)\n" + /* 0829 */ "fn PlayMusicStream*(music: Music)\n" + /* 0830 */ "fn IsMusicStreamPlaying*(music: Music): bool\n" + /* 0831 */ "fn UpdateMusicStream*(music: Music)\n" + /* 0832 */ "fn StopMusicStream*(music: Music)\n" + /* 0833 */ "fn PauseMusicStream*(music: Music)\n" + /* 0834 */ "fn ResumeMusicStream*(music: Music)\n" + /* 0835 */ "fn SeekMusicStream*(music: Music, position: real32)\n" + /* 0836 */ "fn SetMusicVolume*(music: Music, volume: real32)\n" + /* 0837 */ "fn SetMusicPitch*(music: Music, pitch: real32)\n" + /* 0838 */ "fn SetMusicPan*(music: Music, pan: real32)\n" + /* 0839 */ "fn GetMusicTimeLength*(music: Music): real32\n" + /* 0840 */ "fn GetMusicTimePlayed*(music: Music): real32\n" + /* 0841 */ "fn LoadAudioStream*(sampleRate: uint32, sampleSize: uint32, channels: uint32): AudioStream\n" + /* 0842 */ "fn IsAudioStreamValid*(stream: AudioStream): bool\n" + /* 0843 */ "fn UnloadAudioStream*(stream: AudioStream)\n" + /* 0844 */ "fn UpdateAudioStream*(stream: AudioStream, data: ^void, frameCount: int32)\n" + /* 0845 */ "fn IsAudioStreamProcessed*(stream: AudioStream): bool\n" + /* 0846 */ "fn PlayAudioStream*(stream: AudioStream)\n" + /* 0847 */ "fn PauseAudioStream*(stream: AudioStream)\n" + /* 0848 */ "fn ResumeAudioStream*(stream: AudioStream)\n" + /* 0849 */ "fn IsAudioStreamPlaying*(stream: AudioStream): bool\n" + /* 0850 */ "fn StopAudioStream*(stream: AudioStream)\n" + /* 0851 */ "fn SetAudioStreamVolume*(stream: AudioStream, volume: real32)\n" + /* 0852 */ "fn SetAudioStreamPitch*(stream: AudioStream, pitch: real32)\n" + /* 0853 */ "fn SetAudioStreamPan*(stream: AudioStream, pan: real32)\n" + /* 0854 */ "fn SetAudioStreamBufferSizeDefault*(size: int32)\n" + /* 0855 */ "// Skipping SetAudioStreamCallback\n" + /* 0856 */ "// Skipping AttachAudioStreamProcessor\n" + /* 0857 */ "// Skipping DetachAudioStreamProcessor\n" + /* 0858 */ "fn AttachAudioMixedProcessor*(processor: AudioCallback)\n" + /* 0859 */ "fn DetachAudioMixedProcessor*(processor: AudioCallback)\n" + /* 0860 */ "fn Clamp*(value: real32, min: real32, max: real32): real32\n" + /* 0861 */ "fn Lerp*(start: real32, end: real32, amount: real32): real32\n" + /* 0862 */ "fn Normalize*(value: real32, start: real32, end: real32): real32\n" + /* 0863 */ "fn Remap*(value: real32, inputStart: real32, inputEnd: real32, outputStart: real32, outputEnd: real32): real32\n" + /* 0864 */ "fn Wrap*(value: real32, min: real32, max: real32): real32\n" + /* 0865 */ "fn FloatEquals*(x: real32, y: real32): int32\n" + /* 0866 */ "fn Vector2Zero*(): Vector2\n" + /* 0867 */ "fn Vector2One*(): Vector2\n" + /* 0868 */ "fn Vector2Add*(v1: Vector2, v2: Vector2): Vector2\n" + /* 0869 */ "fn Vector2AddValue*(v: Vector2, add: real32): Vector2\n" + /* 0870 */ "fn Vector2Subtract*(v1: Vector2, v2: Vector2): Vector2\n" + /* 0871 */ "fn Vector2SubtractValue*(v: Vector2, sub: real32): Vector2\n" + /* 0872 */ "fn Vector2Length*(v: Vector2): real32\n" + /* 0873 */ "fn Vector2LengthSqr*(v: Vector2): real32\n" + /* 0874 */ "fn Vector2DotProduct*(v1: Vector2, v2: Vector2): real32\n" + /* 0875 */ "fn Vector2CrossProduct*(v1: Vector2, v2: Vector2): real32\n" + /* 0876 */ "fn Vector2Distance*(v1: Vector2, v2: Vector2): real32\n" + /* 0877 */ "fn Vector2DistanceSqr*(v1: Vector2, v2: Vector2): real32\n" + /* 0878 */ "fn Vector2Angle*(v1: Vector2, v2: Vector2): real32\n" + /* 0879 */ "fn Vector2LineAngle*(start: Vector2, end: Vector2): real32\n" + /* 0880 */ "fn Vector2Scale*(v: Vector2, scale: real32): Vector2\n" + /* 0881 */ "fn Vector2Multiply*(v1: Vector2, v2: Vector2): Vector2\n" + /* 0882 */ "fn Vector2Negate*(v: Vector2): Vector2\n" + /* 0883 */ "fn Vector2Divide*(v1: Vector2, v2: Vector2): Vector2\n" + /* 0884 */ "fn Vector2Normalize*(v: Vector2): Vector2\n" + /* 0885 */ "fn Vector2Transform*(v: Vector2, mat: Matrix): Vector2\n" + /* 0886 */ "fn Vector2Lerp*(v1: Vector2, v2: Vector2, amount: real32): Vector2\n" + /* 0887 */ "fn Vector2Reflect*(v: Vector2, normal: Vector2): Vector2\n" + /* 0888 */ "fn Vector2Min*(v1: Vector2, v2: Vector2): Vector2\n" + /* 0889 */ "fn Vector2Max*(v1: Vector2, v2: Vector2): Vector2\n" + /* 0890 */ "fn Vector2Rotate*(v: Vector2, angle: real32): Vector2\n" + /* 0891 */ "fn Vector2MoveTowards*(v: Vector2, target: Vector2, maxDistance: real32): Vector2\n" + /* 0892 */ "fn Vector2Invert*(v: Vector2): Vector2\n" + /* 0893 */ "fn Vector2Clamp*(v: Vector2, min: Vector2, max: Vector2): Vector2\n" + /* 0894 */ "fn Vector2ClampValue*(v: Vector2, min: real32, max: real32): Vector2\n" + /* 0895 */ "fn Vector2Equals*(p: Vector2, q: Vector2): int32\n" + /* 0896 */ "fn Vector2Refract*(v: Vector2, n: Vector2, r: real32): Vector2\n" + /* 0897 */ "fn Vector3Zero*(): Vector3\n" + /* 0898 */ "fn Vector3One*(): Vector3\n" + /* 0899 */ "fn Vector3Add*(v1: Vector3, v2: Vector3): Vector3\n" + /* 0900 */ "fn Vector3AddValue*(v: Vector3, add: real32): Vector3\n" + /* 0901 */ "fn Vector3Subtract*(v1: Vector3, v2: Vector3): Vector3\n" + /* 0902 */ "fn Vector3SubtractValue*(v: Vector3, sub: real32): Vector3\n" + /* 0903 */ "fn Vector3Scale*(v: Vector3, scalar: real32): Vector3\n" + /* 0904 */ "fn Vector3Multiply*(v1: Vector3, v2: Vector3): Vector3\n" + /* 0905 */ "fn Vector3CrossProduct*(v1: Vector3, v2: Vector3): Vector3\n" + /* 0906 */ "fn Vector3Perpendicular*(v: Vector3): Vector3\n" + /* 0907 */ "fn Vector3Length*(v: Vector3): real32\n" + /* 0908 */ "fn Vector3LengthSqr*(v: Vector3): real32\n" + /* 0909 */ "fn Vector3DotProduct*(v1: Vector3, v2: Vector3): real32\n" + /* 0910 */ "fn Vector3Distance*(v1: Vector3, v2: Vector3): real32\n" + /* 0911 */ "fn Vector3DistanceSqr*(v1: Vector3, v2: Vector3): real32\n" + /* 0912 */ "fn Vector3Angle*(v1: Vector3, v2: Vector3): real32\n" + /* 0913 */ "fn Vector3Negate*(v: Vector3): Vector3\n" + /* 0914 */ "fn Vector3Divide*(v1: Vector3, v2: Vector3): Vector3\n" + /* 0915 */ "fn Vector3Normalize*(v: Vector3): Vector3\n" + /* 0916 */ "fn Vector3Project*(v1: Vector3, v2: Vector3): Vector3\n" + /* 0917 */ "fn Vector3Reject*(v1: Vector3, v2: Vector3): Vector3\n" + /* 0918 */ "fn Vector3OrthoNormalize*(v1: ^Vector3, v2: ^Vector3)\n" + /* 0919 */ "fn Vector3Transform*(v: Vector3, mat: Matrix): Vector3\n" + /* 0920 */ "fn Vector3RotateByQuaternion*(v: Vector3, q: Vector4): Vector3\n" + /* 0921 */ "fn Vector3RotateByAxisAngle*(v: Vector3, axis: Vector3, angle: real32): Vector3\n" + /* 0922 */ "fn Vector3MoveTowards*(v: Vector3, target: Vector3, maxDistance: real32): Vector3\n" + /* 0923 */ "fn Vector3Lerp*(v1: Vector3, v2: Vector3, amount: real32): Vector3\n" + /* 0924 */ "fn Vector3CubicHermite*(v1: Vector3, tangent1: Vector3, v2: Vector3, tangent2: Vector3, amount: real32): Vector3\n" + /* 0925 */ "fn Vector3Reflect*(v: Vector3, normal: Vector3): Vector3\n" + /* 0926 */ "fn Vector3Min*(v1: Vector3, v2: Vector3): Vector3\n" + /* 0927 */ "fn Vector3Max*(v1: Vector3, v2: Vector3): Vector3\n" + /* 0928 */ "fn Vector3Barycenter*(p: Vector3, a: Vector3, b: Vector3, c: Vector3): Vector3\n" + /* 0929 */ "fn Vector3Unproject*(source: Vector3, projection: Matrix, view: Matrix): Vector3\n" + /* 0930 */ "fn Vector3ToFloatV*(v: Vector3): float3\n" + /* 0931 */ "fn Vector3Invert*(v: Vector3): Vector3\n" + /* 0932 */ "fn Vector3Clamp*(v: Vector3, min: Vector3, max: Vector3): Vector3\n" + /* 0933 */ "fn Vector3ClampValue*(v: Vector3, min: real32, max: real32): Vector3\n" + /* 0934 */ "fn Vector3Equals*(p: Vector3, q: Vector3): int32\n" + /* 0935 */ "fn Vector3Refract*(v: Vector3, n: Vector3, r: real32): Vector3\n" + /* 0936 */ "fn Vector4Zero*(): Vector4\n" + /* 0937 */ "fn Vector4One*(): Vector4\n" + /* 0938 */ "fn Vector4Add*(v1: Vector4, v2: Vector4): Vector4\n" + /* 0939 */ "fn Vector4AddValue*(v: Vector4, add: real32): Vector4\n" + /* 0940 */ "fn Vector4Subtract*(v1: Vector4, v2: Vector4): Vector4\n" + /* 0941 */ "fn Vector4SubtractValue*(v: Vector4, add: real32): Vector4\n" + /* 0942 */ "fn Vector4Length*(v: Vector4): real32\n" + /* 0943 */ "fn Vector4LengthSqr*(v: Vector4): real32\n" + /* 0944 */ "fn Vector4DotProduct*(v1: Vector4, v2: Vector4): real32\n" + /* 0945 */ "fn Vector4Distance*(v1: Vector4, v2: Vector4): real32\n" + /* 0946 */ "fn Vector4DistanceSqr*(v1: Vector4, v2: Vector4): real32\n" + /* 0947 */ "fn Vector4Scale*(v: Vector4, scale: real32): Vector4\n" + /* 0948 */ "fn Vector4Multiply*(v1: Vector4, v2: Vector4): Vector4\n" + /* 0949 */ "fn Vector4Negate*(v: Vector4): Vector4\n" + /* 0950 */ "fn Vector4Divide*(v1: Vector4, v2: Vector4): Vector4\n" + /* 0951 */ "fn Vector4Normalize*(v: Vector4): Vector4\n" + /* 0952 */ "fn Vector4Min*(v1: Vector4, v2: Vector4): Vector4\n" + /* 0953 */ "fn Vector4Max*(v1: Vector4, v2: Vector4): Vector4\n" + /* 0954 */ "fn Vector4Lerp*(v1: Vector4, v2: Vector4, amount: real32): Vector4\n" + /* 0955 */ "fn Vector4MoveTowards*(v: Vector4, target: Vector4, maxDistance: real32): Vector4\n" + /* 0956 */ "fn Vector4Invert*(v: Vector4): Vector4\n" + /* 0957 */ "fn Vector4Equals*(p: Vector4, q: Vector4): int32\n" + /* 0958 */ "fn MatrixDeterminant*(mat: Matrix): real32\n" + /* 0959 */ "fn MatrixTrace*(mat: Matrix): real32\n" + /* 0960 */ "fn MatrixTranspose*(mat: Matrix): Matrix\n" + /* 0961 */ "fn MatrixInvert*(mat: Matrix): Matrix\n" + /* 0962 */ "fn MatrixIdentity*(): Matrix\n" + /* 0963 */ "fn MatrixAdd*(left: Matrix, right: Matrix): Matrix\n" + /* 0964 */ "fn MatrixSubtract*(left: Matrix, right: Matrix): Matrix\n" + /* 0965 */ "fn MatrixMultiply*(left: Matrix, right: Matrix): Matrix\n" + /* 0966 */ "fn MatrixMultiplyValue*(left: Matrix, value: real32): Matrix\n" + /* 0967 */ "fn MatrixTranslate*(x: real32, y: real32, z: real32): Matrix\n" + /* 0968 */ "fn MatrixRotate*(axis: Vector3, angle: real32): Matrix\n" + /* 0969 */ "fn MatrixRotateX*(angle: real32): Matrix\n" + /* 0970 */ "fn MatrixRotateY*(angle: real32): Matrix\n" + /* 0971 */ "fn MatrixRotateZ*(angle: real32): Matrix\n" + /* 0972 */ "fn MatrixRotateXYZ*(angle: Vector3): Matrix\n" + /* 0973 */ "fn MatrixRotateZYX*(angle: Vector3): Matrix\n" + /* 0974 */ "fn MatrixScale*(x: real32, y: real32, z: real32): Matrix\n" + /* 0975 */ "fn MatrixFrustum*(left: real, right: real, bottom: real, top: real, nearPlane: real, farPlane: real): Matrix\n" + /* 0976 */ "fn MatrixPerspective*(fovY: real, aspect: real, nearPlane: real, farPlane: real): Matrix\n" + /* 0977 */ "fn MatrixOrtho*(left: real, right: real, bottom: real, top: real, nearPlane: real, farPlane: real): Matrix\n" + /* 0978 */ "fn MatrixLookAt*(eye: Vector3, target: Vector3, up: Vector3): Matrix\n" + /* 0979 */ "fn MatrixToFloatV*(mat: Matrix): float16\n" + /* 0980 */ "fn QuaternionAdd*(q1: Vector4, q2: Vector4): Vector4\n" + /* 0981 */ "fn QuaternionAddValue*(q: Vector4, add: real32): Vector4\n" + /* 0982 */ "fn QuaternionSubtract*(q1: Vector4, q2: Vector4): Vector4\n" + /* 0983 */ "fn QuaternionSubtractValue*(q: Vector4, sub: real32): Vector4\n" + /* 0984 */ "fn QuaternionIdentity*(): Vector4\n" + /* 0985 */ "fn QuaternionLength*(q: Vector4): real32\n" + /* 0986 */ "fn QuaternionNormalize*(q: Vector4): Vector4\n" + /* 0987 */ "fn QuaternionInvert*(q: Vector4): Vector4\n" + /* 0988 */ "fn QuaternionMultiply*(q1: Vector4, q2: Vector4): Vector4\n" + /* 0989 */ "fn QuaternionScale*(q: Vector4, mul: real32): Vector4\n" + /* 0990 */ "fn QuaternionDivide*(q1: Vector4, q2: Vector4): Vector4\n" + /* 0991 */ "fn QuaternionLerp*(q1: Vector4, q2: Vector4, amount: real32): Vector4\n" + /* 0992 */ "fn QuaternionNlerp*(q1: Vector4, q2: Vector4, amount: real32): Vector4\n" + /* 0993 */ "fn QuaternionSlerp*(q1: Vector4, q2: Vector4, amount: real32): Vector4\n" + /* 0994 */ "fn QuaternionCubicHermiteSpline*(q1: Vector4, outTangent1: Vector4, q2: Vector4, inTangent2: Vector4, t: real32): Vector4\n" + /* 0995 */ "fn QuaternionFromVector3ToVector3*(from: Vector3, to: Vector3): Vector4\n" + /* 0996 */ "fn QuaternionFromMatrix*(mat: Matrix): Vector4\n" + /* 0997 */ "fn QuaternionToMatrix*(q: Vector4): Matrix\n" + /* 0998 */ "fn QuaternionFromAxisAngle*(axis: Vector3, angle: real32): Vector4\n" + /* 0999 */ "fn QuaternionToAxisAngle*(q: Vector4, outAxis: ^Vector3, outAngle: ^real32)\n" + /* 1000 */ "fn QuaternionFromEuler*(pitch: real32, yaw: real32, roll: real32): Vector4\n" + /* 1001 */ "fn QuaternionToEuler*(q: Vector4): Vector3\n" + /* 1002 */ "fn QuaternionTransform*(q: Vector4, mat: Matrix): Vector4\n" + /* 1003 */ "fn QuaternionEquals*(p: Vector4, q: Vector4): int32\n" + /* 1004 */ "fn MatrixCompose*(translation: Vector3, rotation: Vector4, scale: Vector3): Matrix\n" + /* 1005 */ "fn MatrixDecompose*(mat: Matrix, translation: ^Vector3, rotation: ^Vector4, scale: ^Vector3)\n" + /* 1006 */ "fn rlMatrixMode*(mode: int32)\n" + /* 1007 */ "fn rlPushMatrix*()\n" + /* 1008 */ "fn rlPopMatrix*()\n" + /* 1009 */ "fn rlLoadIdentity*()\n" + /* 1010 */ "fn rlTranslatef*(x: real32, y: real32, z: real32)\n" + /* 1011 */ "fn rlRotatef*(angle: real32, x: real32, y: real32, z: real32)\n" + /* 1012 */ "fn rlScalef*(x: real32, y: real32, z: real32)\n" + /* 1013 */ "fn rlMultMatrixf*(matf: const ^real32)\n" + /* 1014 */ "fn rlFrustum*(left: real, right: real, bottom: real, top: real, znear: real, zfar: real)\n" + /* 1015 */ "fn rlOrtho*(left: real, right: real, bottom: real, top: real, znear: real, zfar: real)\n" + /* 1016 */ "fn rlViewport*(x: int32, y: int32, width: int32, height: int32)\n" + /* 1017 */ "fn rlSetClipPlanes*(nearPlane: real, farPlane: real)\n" + /* 1018 */ "fn rlGetCullDistanceNear*(): real\n" + /* 1019 */ "fn rlGetCullDistanceFar*(): real\n" + /* 1020 */ "fn rlBegin*(mode: int32)\n" + /* 1021 */ "fn rlEnd*()\n" + /* 1022 */ "fn rlVertex2i*(x: int32, y: int32)\n" + /* 1023 */ "fn rlVertex2f*(x: real32, y: real32)\n" + /* 1024 */ "fn rlVertex3f*(x: real32, y: real32, z: real32)\n" + /* 1025 */ "fn rlTexCoord2f*(x: real32, y: real32)\n" + /* 1026 */ "fn rlNormal3f*(x: real32, y: real32, z: real32)\n" + /* 1027 */ "fn rlColor4ub*(r: uint8, g: uint8, b: uint8, a: uint8)\n" + /* 1028 */ "fn rlColor3f*(x: real32, y: real32, z: real32)\n" + /* 1029 */ "fn rlColor4f*(x: real32, y: real32, z: real32, w: real32)\n" + /* 1030 */ "fn rlEnableVertexArray*(vaoId: uint32): bool\n" + /* 1031 */ "fn rlDisableVertexArray*()\n" + /* 1032 */ "fn rlEnableVertexBuffer*(id: uint32)\n" + /* 1033 */ "fn rlDisableVertexBuffer*()\n" + /* 1034 */ "fn rlEnableVertexBufferElement*(id: uint32)\n" + /* 1035 */ "fn rlDisableVertexBufferElement*()\n" + /* 1036 */ "fn rlEnableVertexAttribute*(index: uint32)\n" + /* 1037 */ "fn rlDisableVertexAttribute*(index: uint32)\n" + /* 1038 */ "// Skipping rlEnableStatePointer\n" + /* 1039 */ "// Skipping rlDisableStatePointer\n" + /* 1040 */ "fn rlActiveTextureSlot*(slot: int32)\n" + /* 1041 */ "fn rlEnableTexture*(id: uint32)\n" + /* 1042 */ "fn rlDisableTexture*()\n" + /* 1043 */ "fn rlEnableTextureCubemap*(id: uint32)\n" + /* 1044 */ "fn rlDisableTextureCubemap*()\n" + /* 1045 */ "fn rlTextureParameters*(id: uint32, param: int32, value: int32)\n" + /* 1046 */ "fn rlCubemapParameters*(id: uint32, param: int32, value: int32)\n" + /* 1047 */ "fn rlEnableShader*(id: uint32)\n" + /* 1048 */ "fn rlDisableShader*()\n" + /* 1049 */ "fn rlEnableFramebuffer*(id: uint32)\n" + /* 1050 */ "fn rlDisableFramebuffer*()\n" + /* 1051 */ "fn rlGetActiveFramebuffer*(): uint32\n" + /* 1052 */ "fn rlActiveDrawBuffers*(count: int32)\n" + /* 1053 */ "fn rlBlitFramebuffer*(srcX: int32, srcY: int32, srcWidth: int32, srcHeight: int32, dstX: int32, dstY: int32, dstWidth: int32, dstHeight: int32, bufferMask: int32)\n" + /* 1054 */ "fn rlBindFramebuffer*(target: uint32, framebuffer: uint32)\n" + /* 1055 */ "fn rlEnableColorBlend*()\n" + /* 1056 */ "fn rlDisableColorBlend*()\n" + /* 1057 */ "fn rlEnableDepthTest*()\n" + /* 1058 */ "fn rlDisableDepthTest*()\n" + /* 1059 */ "fn rlEnableDepthMask*()\n" + /* 1060 */ "fn rlDisableDepthMask*()\n" + /* 1061 */ "fn rlEnableBackfaceCulling*()\n" + /* 1062 */ "fn rlDisableBackfaceCulling*()\n" + /* 1063 */ "fn rlColorMask*(r: bool, g: bool, b: bool, a: bool)\n" + /* 1064 */ "fn rlSetCullFace*(mode: int32)\n" + /* 1065 */ "fn rlEnableScissorTest*()\n" + /* 1066 */ "fn rlDisableScissorTest*()\n" + /* 1067 */ "fn rlScissor*(x: int32, y: int32, width: int32, height: int32)\n" + /* 1068 */ "fn rlEnablePointMode*()\n" + /* 1069 */ "fn rlDisablePointMode*()\n" + /* 1070 */ "fn rlSetPointSize*(size: real32)\n" + /* 1071 */ "fn rlGetPointSize*(): real32\n" + /* 1072 */ "fn rlEnableWireMode*()\n" + /* 1073 */ "fn rlDisableWireMode*()\n" + /* 1074 */ "fn rlSetLineWidth*(width: real32)\n" + /* 1075 */ "fn rlGetLineWidth*(): real32\n" + /* 1076 */ "fn rlEnableSmoothLines*()\n" + /* 1077 */ "fn rlDisableSmoothLines*()\n" + /* 1078 */ "fn rlEnableStereoRender*()\n" + /* 1079 */ "fn rlDisableStereoRender*()\n" + /* 1080 */ "fn rlIsStereoRenderEnabled*(): bool\n" + /* 1081 */ "fn rlClearColor*(r: uint8, g: uint8, b: uint8, a: uint8)\n" + /* 1082 */ "fn rlClearScreenBuffers*()\n" + /* 1083 */ "fn rlCheckErrors*()\n" + /* 1084 */ "fn rlSetBlendMode*(mode: int32)\n" + /* 1085 */ "fn rlSetBlendFactors*(glSrcFactor: int32, glDstFactor: int32, glEquation: int32)\n" + /* 1086 */ "fn rlSetBlendFactorsSeparate*(glSrcRGB: int32, glDstRGB: int32, glSrcAlpha: int32, glDstAlpha: int32, glEqRGB: int32, glEqAlpha: int32)\n" + /* 1087 */ "fn rlglInit*(width: int32, height: int32)\n" + /* 1088 */ "fn rlglClose*()\n" + /* 1089 */ "fn rlLoadExtensions*(loader: ^void)\n" + /* 1090 */ "fn rlGetProcAddress*(procName: str): ^void\n" + /* 1091 */ "fn rlGetVersion*(): int32\n" + /* 1092 */ "fn rlSetFramebufferWidth*(width: int32)\n" + /* 1093 */ "fn rlGetFramebufferWidth*(): int32\n" + /* 1094 */ "fn rlSetFramebufferHeight*(height: int32)\n" + /* 1095 */ "fn rlGetFramebufferHeight*(): int32\n" + /* 1096 */ "fn rlGetTextureIdDefault*(): uint32\n" + /* 1097 */ "fn rlGetShaderIdDefault*(): uint32\n" + /* 1098 */ "fn rlGetShaderLocsDefault*(): ^int32\n" + /* 1099 */ "// Skipping rlLoadRenderBatch\n" + /* 1100 */ "// Skipping rlUnloadRenderBatch\n" + /* 1101 */ "// Skipping rlDrawRenderBatch\n" + /* 1102 */ "// Skipping rlSetRenderBatchActive\n" + /* 1103 */ "fn rlDrawRenderBatchActive*()\n" + /* 1104 */ "fn rlCheckRenderBatchLimit*(vCount: int32): bool\n" + /* 1105 */ "fn rlSetTexture*(id: uint32)\n" + /* 1106 */ "fn rlLoadVertexArray*(): uint32\n" + /* 1107 */ "fn rlLoadVertexBuffer*(buffer: ^void, size: int32, dynamic: bool): uint32\n" + /* 1108 */ "fn rlLoadVertexBufferElement*(buffer: ^void, size: int32, dynamic: bool): uint32\n" + /* 1109 */ "fn rlUpdateVertexBuffer*(bufferId: uint32, data: ^void, dataSize: int32, offset: int32)\n" + /* 1110 */ "fn rlUpdateVertexBufferElements*(id: uint32, data: ^void, dataSize: int32, offset: int32)\n" + /* 1111 */ "fn rlUnloadVertexArray*(vaoId: uint32)\n" + /* 1112 */ "fn rlUnloadVertexBuffer*(vboId: uint32)\n" + /* 1113 */ "fn rlSetVertexAttribute*(index: uint32, compSize: int32, typeInput: int32, normalized: bool, stride: int32, offset: int32)\n" + /* 1114 */ "fn rlSetVertexAttributeDivisor*(index: uint32, divisor: int32)\n" + /* 1115 */ "fn rlSetVertexAttributeDefault*(locIndex: int32, value: ^void, attribType: int32, count: int32)\n" + /* 1116 */ "fn rlDrawVertexArray*(offset: int32, count: int32)\n" + /* 1117 */ "fn rlDrawVertexArrayElements*(offset: int32, count: int32, buffer: ^void)\n" + /* 1118 */ "fn rlDrawVertexArrayInstanced*(offset: int32, count: int32, instances: int32)\n" + /* 1119 */ "fn rlDrawVertexArrayElementsInstanced*(offset: int32, count: int32, buffer: ^void, instances: int32)\n" + /* 1120 */ "fn rlLoadTexture*(data: ^void, width: int32, height: int32, format: int32, mipmapCount: int32): uint32\n" + /* 1121 */ "fn rlLoadTextureDepth*(width: int32, height: int32, useRenderBuffer: bool): uint32\n" + /* 1122 */ "fn rlLoadTextureCubemap*(data: ^void, size: int32, format: int32, mipmapCount: int32): uint32\n" + /* 1123 */ "fn rlUpdateTexture*(id: uint32, offsetX: int32, offsetY: int32, width: int32, height: int32, format: int32, data: ^void)\n" + /* 1124 */ "fn rlGetGlTextureFormats*(format: int32, glInternalFormat: ^uint32, glFormat: ^uint32, glType: ^uint32)\n" + /* 1125 */ "fn rlGetPixelFormatName*(format: uint32): str\n" + /* 1126 */ "fn rlUnloadTexture*(id: uint32)\n" + /* 1127 */ "fn rlGenTextureMipmaps*(id: uint32, width: int32, height: int32, format: int32, mipmaps: ^int32)\n" + /* 1128 */ "fn rlReadTexturePixels*(id: uint32, width: int32, height: int32, format: int32): ^void\n" + /* 1129 */ "fn rlReadScreenPixels*(width: int32, height: int32): ^uint8\n" + /* 1130 */ "fn rlLoadFramebuffer*(): uint32\n" + /* 1131 */ "fn rlFramebufferAttach*(id: uint32, texId: uint32, attachType: int32, texType: int32, mipLevel: int32)\n" + /* 1132 */ "fn rlFramebufferComplete*(id: uint32): bool\n" + /* 1133 */ "fn rlUnloadFramebuffer*(id: uint32)\n" + /* 1134 */ "fn rlCopyFramebuffer*(x: int32, y: int32, width: int32, height: int32, format: int32, pixels: ^void)\n" + /* 1135 */ "fn rlResizeFramebuffer*(width: int32, height: int32)\n" + /* 1136 */ "fn rlLoadShader*(code: str, typeInput: int32): uint32\n" + /* 1137 */ "fn rlLoadShaderProgram*(vsCode: str, fsCode: str): uint32\n" + /* 1138 */ "fn rlLoadShaderProgramEx*(vsId: uint32, fsId: uint32): uint32\n" + /* 1139 */ "fn rlLoadShaderProgramCompute*(csId: uint32): uint32\n" + /* 1140 */ "fn rlUnloadShader*(id: uint32)\n" + /* 1141 */ "fn rlUnloadShaderProgram*(id: uint32)\n" + /* 1142 */ "fn rlGetLocationUniform*(id: uint32, uniformName: str): int32\n" + /* 1143 */ "fn rlGetLocationAttrib*(id: uint32, attribName: str): int32\n" + /* 1144 */ "fn rlSetUniform*(locIndex: int32, value: ^void, uniformType: int32, count: int32)\n" + /* 1145 */ "fn rlSetUniformMatrix*(locIndex: int32, mat: Matrix)\n" + /* 1146 */ "fn rlSetUniformMatrices*(locIndex: int32, mat: ^Matrix, count: int32)\n" + /* 1147 */ "fn rlSetUniformSampler*(locIndex: int32, textureId: uint32)\n" + /* 1148 */ "fn rlSetShader*(id: uint32, locs: ^int32)\n" + /* 1149 */ "fn rlComputeShaderDispatch*(groupX: uint32, groupY: uint32, groupZ: uint32)\n" + /* 1150 */ "fn rlLoadShaderBuffer*(size: uint32, data: ^void, usageHint: int32): uint32\n" + /* 1151 */ "fn rlUnloadShaderBuffer*(ssboId: uint32)\n" + /* 1152 */ "fn rlUpdateShaderBuffer*(id: uint32, data: ^void, dataSize: uint32, offset: uint32)\n" + /* 1153 */ "fn rlBindShaderBuffer*(id: uint32, index: uint32)\n" + /* 1154 */ "fn rlReadShaderBuffer*(id: uint32, dest: ^void, count: uint32, offset: uint32)\n" + /* 1155 */ "fn rlCopyShaderBuffer*(destId: uint32, srcId: uint32, destOffset: uint32, srcOffset: uint32, count: uint32)\n" + /* 1156 */ "fn rlGetShaderBufferSize*(id: uint32): uint32\n" + /* 1157 */ "fn rlBindImageTexture*(id: uint32, index: uint32, format: int32, readonly: bool)\n" + /* 1158 */ "fn rlGetMatrixModelview*(): Matrix\n" + /* 1159 */ "fn rlGetMatrixProjection*(): Matrix\n" + /* 1160 */ "fn rlGetMatrixTransform*(): Matrix\n" + /* 1161 */ "fn rlGetMatrixProjectionStereo*(eye: int32): Matrix\n" + /* 1162 */ "fn rlGetMatrixViewOffsetStereo*(eye: int32): Matrix\n" + /* 1163 */ "fn rlSetMatrixProjection*(proj: Matrix)\n" + /* 1164 */ "fn rlSetMatrixModelview*(view: Matrix)\n" + /* 1165 */ "fn rlSetMatrixProjectionStereo*(right: Matrix, left: Matrix)\n" + /* 1166 */ "fn rlSetMatrixViewOffsetStereo*(right: Matrix, left: Matrix)\n" + /* 1167 */ "fn rlLoadDrawCube*()\n" + /* 1168 */ "fn rlLoadDrawQuad*()\n" // Enums - /* 0985 */ "const FLAG_VSYNC_HINT* = 64\n" - /* 0986 */ "const FLAG_FULLSCREEN_MODE* = 2\n" - /* 0987 */ "const FLAG_WINDOW_RESIZABLE* = 4\n" - /* 0988 */ "const FLAG_WINDOW_UNDECORATED* = 8\n" - /* 0989 */ "const FLAG_WINDOW_HIDDEN* = 128\n" - /* 0990 */ "const FLAG_WINDOW_MINIMIZED* = 512\n" - /* 0991 */ "const FLAG_WINDOW_MAXIMIZED* = 1024\n" - /* 0992 */ "const FLAG_WINDOW_UNFOCUSED* = 2048\n" - /* 0993 */ "const FLAG_WINDOW_TOPMOST* = 4096\n" - /* 0994 */ "const FLAG_WINDOW_ALWAYS_RUN* = 256\n" - /* 0995 */ "const FLAG_WINDOW_TRANSPARENT* = 16\n" - /* 0996 */ "const FLAG_WINDOW_HIGHDPI* = 8192\n" - /* 0997 */ "const FLAG_WINDOW_MOUSE_PASSTHROUGH* = 16384\n" - /* 0998 */ "const FLAG_MSAA_4X_HINT* = 32\n" - /* 0999 */ "const FLAG_INTERLACED_HINT* = 65536\n" - /* 1000 */ "const LOG_ALL* = 0\n" - /* 1001 */ "const LOG_TRACE* = 1\n" - /* 1002 */ "const LOG_DEBUG* = 2\n" - /* 1003 */ "const LOG_INFO* = 3\n" - /* 1004 */ "const LOG_WARNING* = 4\n" - /* 1005 */ "const LOG_ERROR* = 5\n" - /* 1006 */ "const LOG_FATAL* = 6\n" - /* 1007 */ "const LOG_NONE* = 7\n" - /* 1008 */ "const KEY_NULL* = 0\n" - /* 1009 */ "const KEY_APOSTROPHE* = 39\n" - /* 1010 */ "const KEY_COMMA* = 44\n" - /* 1011 */ "const KEY_MINUS* = 45\n" - /* 1012 */ "const KEY_PERIOD* = 46\n" - /* 1013 */ "const KEY_SLASH* = 47\n" - /* 1014 */ "const KEY_ZERO* = 48\n" - /* 1015 */ "const KEY_ONE* = 49\n" - /* 1016 */ "const KEY_TWO* = 50\n" - /* 1017 */ "const KEY_THREE* = 51\n" - /* 1018 */ "const KEY_FOUR* = 52\n" - /* 1019 */ "const KEY_FIVE* = 53\n" - /* 1020 */ "const KEY_SIX* = 54\n" - /* 1021 */ "const KEY_SEVEN* = 55\n" - /* 1022 */ "const KEY_EIGHT* = 56\n" - /* 1023 */ "const KEY_NINE* = 57\n" - /* 1024 */ "const KEY_SEMICOLON* = 59\n" - /* 1025 */ "const KEY_EQUAL* = 61\n" - /* 1026 */ "const KEY_A* = 65\n" - /* 1027 */ "const KEY_B* = 66\n" - /* 1028 */ "const KEY_C* = 67\n" - /* 1029 */ "const KEY_D* = 68\n" - /* 1030 */ "const KEY_E* = 69\n" - /* 1031 */ "const KEY_F* = 70\n" - /* 1032 */ "const KEY_G* = 71\n" - /* 1033 */ "const KEY_H* = 72\n" - /* 1034 */ "const KEY_I* = 73\n" - /* 1035 */ "const KEY_J* = 74\n" - /* 1036 */ "const KEY_K* = 75\n" - /* 1037 */ "const KEY_L* = 76\n" - /* 1038 */ "const KEY_M* = 77\n" - /* 1039 */ "const KEY_N* = 78\n" - /* 1040 */ "const KEY_O* = 79\n" - /* 1041 */ "const KEY_P* = 80\n" - /* 1042 */ "const KEY_Q* = 81\n" - /* 1043 */ "const KEY_R* = 82\n" - /* 1044 */ "const KEY_S* = 83\n" - /* 1045 */ "const KEY_T* = 84\n" - /* 1046 */ "const KEY_U* = 85\n" - /* 1047 */ "const KEY_V* = 86\n" - /* 1048 */ "const KEY_W* = 87\n" - /* 1049 */ "const KEY_X* = 88\n" - /* 1050 */ "const KEY_Y* = 89\n" - /* 1051 */ "const KEY_Z* = 90\n" - /* 1052 */ "const KEY_LEFT_BRACKET* = 91\n" - /* 1053 */ "const KEY_BACKSLASH* = 92\n" - /* 1054 */ "const KEY_RIGHT_BRACKET* = 93\n" - /* 1055 */ "const KEY_GRAVE* = 96\n" - /* 1056 */ "const KEY_SPACE* = 32\n" - /* 1057 */ "const KEY_ESCAPE* = 256\n" - /* 1058 */ "const KEY_ENTER* = 257\n" - /* 1059 */ "const KEY_TAB* = 258\n" - /* 1060 */ "const KEY_BACKSPACE* = 259\n" - /* 1061 */ "const KEY_INSERT* = 260\n" - /* 1062 */ "const KEY_DELETE* = 261\n" - /* 1063 */ "const KEY_RIGHT* = 262\n" - /* 1064 */ "const KEY_LEFT* = 263\n" - /* 1065 */ "const KEY_DOWN* = 264\n" - /* 1066 */ "const KEY_UP* = 265\n" - /* 1067 */ "const KEY_PAGE_UP* = 266\n" - /* 1068 */ "const KEY_PAGE_DOWN* = 267\n" - /* 1069 */ "const KEY_HOME* = 268\n" - /* 1070 */ "const KEY_END* = 269\n" - /* 1071 */ "const KEY_CAPS_LOCK* = 280\n" - /* 1072 */ "const KEY_SCROLL_LOCK* = 281\n" - /* 1073 */ "const KEY_NUM_LOCK* = 282\n" - /* 1074 */ "const KEY_PRINT_SCREEN* = 283\n" - /* 1075 */ "const KEY_PAUSE* = 284\n" - /* 1076 */ "const KEY_F1* = 290\n" - /* 1077 */ "const KEY_F2* = 291\n" - /* 1078 */ "const KEY_F3* = 292\n" - /* 1079 */ "const KEY_F4* = 293\n" - /* 1080 */ "const KEY_F5* = 294\n" - /* 1081 */ "const KEY_F6* = 295\n" - /* 1082 */ "const KEY_F7* = 296\n" - /* 1083 */ "const KEY_F8* = 297\n" - /* 1084 */ "const KEY_F9* = 298\n" - /* 1085 */ "const KEY_F10* = 299\n" - /* 1086 */ "const KEY_F11* = 300\n" - /* 1087 */ "const KEY_F12* = 301\n" - /* 1088 */ "const KEY_LEFT_SHIFT* = 340\n" - /* 1089 */ "const KEY_LEFT_CONTROL* = 341\n" - /* 1090 */ "const KEY_LEFT_ALT* = 342\n" - /* 1091 */ "const KEY_LEFT_SUPER* = 343\n" - /* 1092 */ "const KEY_RIGHT_SHIFT* = 344\n" - /* 1093 */ "const KEY_RIGHT_CONTROL* = 345\n" - /* 1094 */ "const KEY_RIGHT_ALT* = 346\n" - /* 1095 */ "const KEY_RIGHT_SUPER* = 347\n" - /* 1096 */ "const KEY_KB_MENU* = 348\n" - /* 1097 */ "const KEY_KP_0* = 320\n" - /* 1098 */ "const KEY_KP_1* = 321\n" - /* 1099 */ "const KEY_KP_2* = 322\n" - /* 1100 */ "const KEY_KP_3* = 323\n" - /* 1101 */ "const KEY_KP_4* = 324\n" - /* 1102 */ "const KEY_KP_5* = 325\n" - /* 1103 */ "const KEY_KP_6* = 326\n" - /* 1104 */ "const KEY_KP_7* = 327\n" - /* 1105 */ "const KEY_KP_8* = 328\n" - /* 1106 */ "const KEY_KP_9* = 329\n" - /* 1107 */ "const KEY_KP_DECIMAL* = 330\n" - /* 1108 */ "const KEY_KP_DIVIDE* = 331\n" - /* 1109 */ "const KEY_KP_MULTIPLY* = 332\n" - /* 1110 */ "const KEY_KP_SUBTRACT* = 333\n" - /* 1111 */ "const KEY_KP_ADD* = 334\n" - /* 1112 */ "const KEY_KP_ENTER* = 335\n" - /* 1113 */ "const KEY_KP_EQUAL* = 336\n" - /* 1114 */ "const KEY_BACK* = 4\n" - /* 1115 */ "const KEY_MENU* = 82\n" - /* 1116 */ "const KEY_VOLUME_UP* = 24\n" - /* 1117 */ "const KEY_VOLUME_DOWN* = 25\n" - /* 1118 */ "const MOUSE_BUTTON_LEFT* = 0\n" - /* 1119 */ "const MOUSE_BUTTON_RIGHT* = 1\n" - /* 1120 */ "const MOUSE_BUTTON_MIDDLE* = 2\n" - /* 1121 */ "const MOUSE_BUTTON_SIDE* = 3\n" - /* 1122 */ "const MOUSE_BUTTON_EXTRA* = 4\n" - /* 1123 */ "const MOUSE_BUTTON_FORWARD* = 5\n" - /* 1124 */ "const MOUSE_BUTTON_BACK* = 6\n" - /* 1125 */ "const MOUSE_CURSOR_DEFAULT* = 0\n" - /* 1126 */ "const MOUSE_CURSOR_ARROW* = 1\n" - /* 1127 */ "const MOUSE_CURSOR_IBEAM* = 2\n" - /* 1128 */ "const MOUSE_CURSOR_CROSSHAIR* = 3\n" - /* 1129 */ "const MOUSE_CURSOR_POINTING_HAND* = 4\n" - /* 1130 */ "const MOUSE_CURSOR_RESIZE_EW* = 5\n" - /* 1131 */ "const MOUSE_CURSOR_RESIZE_NS* = 6\n" - /* 1132 */ "const MOUSE_CURSOR_RESIZE_NWSE* = 7\n" - /* 1133 */ "const MOUSE_CURSOR_RESIZE_NESW* = 8\n" - /* 1134 */ "const MOUSE_CURSOR_RESIZE_ALL* = 9\n" - /* 1135 */ "const MOUSE_CURSOR_NOT_ALLOWED* = 10\n" - /* 1136 */ "const GAMEPAD_BUTTON_UNKNOWN* = 0\n" - /* 1137 */ "const GAMEPAD_BUTTON_LEFT_FACE_UP* = 1\n" - /* 1138 */ "const GAMEPAD_BUTTON_LEFT_FACE_RIGHT* = 2\n" - /* 1139 */ "const GAMEPAD_BUTTON_LEFT_FACE_DOWN* = 3\n" - /* 1140 */ "const GAMEPAD_BUTTON_LEFT_FACE_LEFT* = 4\n" - /* 1141 */ "const GAMEPAD_BUTTON_RIGHT_FACE_UP* = 5\n" - /* 1142 */ "const GAMEPAD_BUTTON_RIGHT_FACE_RIGHT* = 6\n" - /* 1143 */ "const GAMEPAD_BUTTON_RIGHT_FACE_DOWN* = 7\n" - /* 1144 */ "const GAMEPAD_BUTTON_RIGHT_FACE_LEFT* = 8\n" - /* 1145 */ "const GAMEPAD_BUTTON_LEFT_TRIGGER_1* = 9\n" - /* 1146 */ "const GAMEPAD_BUTTON_LEFT_TRIGGER_2* = 10\n" - /* 1147 */ "const GAMEPAD_BUTTON_RIGHT_TRIGGER_1* = 11\n" - /* 1148 */ "const GAMEPAD_BUTTON_RIGHT_TRIGGER_2* = 12\n" - /* 1149 */ "const GAMEPAD_BUTTON_MIDDLE_LEFT* = 13\n" - /* 1150 */ "const GAMEPAD_BUTTON_MIDDLE* = 14\n" - /* 1151 */ "const GAMEPAD_BUTTON_MIDDLE_RIGHT* = 15\n" - /* 1152 */ "const GAMEPAD_BUTTON_LEFT_THUMB* = 16\n" - /* 1153 */ "const GAMEPAD_BUTTON_RIGHT_THUMB* = 17\n" - /* 1154 */ "const GAMEPAD_AXIS_LEFT_X* = 0\n" - /* 1155 */ "const GAMEPAD_AXIS_LEFT_Y* = 1\n" - /* 1156 */ "const GAMEPAD_AXIS_RIGHT_X* = 2\n" - /* 1157 */ "const GAMEPAD_AXIS_RIGHT_Y* = 3\n" - /* 1158 */ "const GAMEPAD_AXIS_LEFT_TRIGGER* = 4\n" - /* 1159 */ "const GAMEPAD_AXIS_RIGHT_TRIGGER* = 5\n" - /* 1160 */ "const MATERIAL_MAP_ALBEDO* = 0\n" - /* 1161 */ "const MATERIAL_MAP_METALNESS* = 1\n" - /* 1162 */ "const MATERIAL_MAP_NORMAL* = 2\n" - /* 1163 */ "const MATERIAL_MAP_ROUGHNESS* = 3\n" - /* 1164 */ "const MATERIAL_MAP_OCCLUSION* = 4\n" - /* 1165 */ "const MATERIAL_MAP_EMISSION* = 5\n" - /* 1166 */ "const MATERIAL_MAP_HEIGHT* = 6\n" - /* 1167 */ "const MATERIAL_MAP_CUBEMAP* = 7\n" - /* 1168 */ "const MATERIAL_MAP_IRRADIANCE* = 8\n" - /* 1169 */ "const MATERIAL_MAP_PREFILTER* = 9\n" - /* 1170 */ "const MATERIAL_MAP_BRDF* = 10\n" - /* 1171 */ "const SHADER_LOC_VERTEX_POSITION* = 0\n" - /* 1172 */ "const SHADER_LOC_VERTEX_TEXCOORD01* = 1\n" - /* 1173 */ "const SHADER_LOC_VERTEX_TEXCOORD02* = 2\n" - /* 1174 */ "const SHADER_LOC_VERTEX_NORMAL* = 3\n" - /* 1175 */ "const SHADER_LOC_VERTEX_TANGENT* = 4\n" - /* 1176 */ "const SHADER_LOC_VERTEX_COLOR* = 5\n" - /* 1177 */ "const SHADER_LOC_MATRIX_MVP* = 6\n" - /* 1178 */ "const SHADER_LOC_MATRIX_VIEW* = 7\n" - /* 1179 */ "const SHADER_LOC_MATRIX_PROJECTION* = 8\n" - /* 1180 */ "const SHADER_LOC_MATRIX_MODEL* = 9\n" - /* 1181 */ "const SHADER_LOC_MATRIX_NORMAL* = 10\n" - /* 1182 */ "const SHADER_LOC_VECTOR_VIEW* = 11\n" - /* 1183 */ "const SHADER_LOC_COLOR_DIFFUSE* = 12\n" - /* 1184 */ "const SHADER_LOC_COLOR_SPECULAR* = 13\n" - /* 1185 */ "const SHADER_LOC_COLOR_AMBIENT* = 14\n" - /* 1186 */ "const SHADER_LOC_MAP_ALBEDO* = 15\n" - /* 1187 */ "const SHADER_LOC_MAP_METALNESS* = 16\n" - /* 1188 */ "const SHADER_LOC_MAP_NORMAL* = 17\n" - /* 1189 */ "const SHADER_LOC_MAP_ROUGHNESS* = 18\n" - /* 1190 */ "const SHADER_LOC_MAP_OCCLUSION* = 19\n" - /* 1191 */ "const SHADER_LOC_MAP_EMISSION* = 20\n" - /* 1192 */ "const SHADER_LOC_MAP_HEIGHT* = 21\n" - /* 1193 */ "const SHADER_LOC_MAP_CUBEMAP* = 22\n" - /* 1194 */ "const SHADER_LOC_MAP_IRRADIANCE* = 23\n" - /* 1195 */ "const SHADER_LOC_MAP_PREFILTER* = 24\n" - /* 1196 */ "const SHADER_LOC_MAP_BRDF* = 25\n" - /* 1197 */ "const SHADER_UNIFORM_FLOAT* = 0\n" - /* 1198 */ "const SHADER_UNIFORM_VEC2* = 1\n" - /* 1199 */ "const SHADER_UNIFORM_VEC3* = 2\n" - /* 1200 */ "const SHADER_UNIFORM_VEC4* = 3\n" - /* 1201 */ "const SHADER_UNIFORM_INT* = 4\n" - /* 1202 */ "const SHADER_UNIFORM_IVEC2* = 5\n" - /* 1203 */ "const SHADER_UNIFORM_IVEC3* = 6\n" - /* 1204 */ "const SHADER_UNIFORM_IVEC4* = 7\n" - /* 1205 */ "const SHADER_UNIFORM_SAMPLER2D* = 8\n" - /* 1206 */ "const SHADER_ATTRIB_FLOAT* = 0\n" - /* 1207 */ "const SHADER_ATTRIB_VEC2* = 1\n" - /* 1208 */ "const SHADER_ATTRIB_VEC3* = 2\n" - /* 1209 */ "const SHADER_ATTRIB_VEC4* = 3\n" - /* 1210 */ "const PIXELFORMAT_UNCOMPRESSED_GRAYSCALE* = 1\n" - /* 1211 */ "const PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA* = 2\n" - /* 1212 */ "const PIXELFORMAT_UNCOMPRESSED_R5G6B5* = 3\n" - /* 1213 */ "const PIXELFORMAT_UNCOMPRESSED_R8G8B8* = 4\n" - /* 1214 */ "const PIXELFORMAT_UNCOMPRESSED_R5G5B5A1* = 5\n" - /* 1215 */ "const PIXELFORMAT_UNCOMPRESSED_R4G4B4A4* = 6\n" - /* 1216 */ "const PIXELFORMAT_UNCOMPRESSED_R8G8B8A8* = 7\n" - /* 1217 */ "const PIXELFORMAT_UNCOMPRESSED_R32* = 8\n" - /* 1218 */ "const PIXELFORMAT_UNCOMPRESSED_R32G32B32* = 9\n" - /* 1219 */ "const PIXELFORMAT_UNCOMPRESSED_R32G32B32A32* = 10\n" - /* 1220 */ "const PIXELFORMAT_COMPRESSED_DXT1_RGB* = 11\n" - /* 1221 */ "const PIXELFORMAT_COMPRESSED_DXT1_RGBA* = 12\n" - /* 1222 */ "const PIXELFORMAT_COMPRESSED_DXT3_RGBA* = 13\n" - /* 1223 */ "const PIXELFORMAT_COMPRESSED_DXT5_RGBA* = 14\n" - /* 1224 */ "const PIXELFORMAT_COMPRESSED_ETC1_RGB* = 15\n" - /* 1225 */ "const PIXELFORMAT_COMPRESSED_ETC2_RGB* = 16\n" - /* 1226 */ "const PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA* = 17\n" - /* 1227 */ "const PIXELFORMAT_COMPRESSED_PVRT_RGB* = 18\n" - /* 1228 */ "const PIXELFORMAT_COMPRESSED_PVRT_RGBA* = 19\n" - /* 1229 */ "const PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA* = 20\n" - /* 1230 */ "const PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA* = 21\n" - /* 1231 */ "const TEXTURE_FILTER_POINT* = 0\n" - /* 1232 */ "const TEXTURE_FILTER_BILINEAR* = 1\n" - /* 1233 */ "const TEXTURE_FILTER_TRILINEAR* = 2\n" - /* 1234 */ "const TEXTURE_FILTER_ANISOTROPIC_4X* = 3\n" - /* 1235 */ "const TEXTURE_FILTER_ANISOTROPIC_8X* = 4\n" - /* 1236 */ "const TEXTURE_FILTER_ANISOTROPIC_16X* = 5\n" - /* 1237 */ "const TEXTURE_WRAP_REPEAT* = 0\n" - /* 1238 */ "const TEXTURE_WRAP_CLAMP* = 1\n" - /* 1239 */ "const TEXTURE_WRAP_MIRROR_REPEAT* = 2\n" - /* 1240 */ "const TEXTURE_WRAP_MIRROR_CLAMP* = 3\n" - /* 1241 */ "const CUBEMAP_LAYOUT_AUTO_DETECT* = 0\n" - /* 1242 */ "const CUBEMAP_LAYOUT_LINE_VERTICAL* = 1\n" - /* 1243 */ "const CUBEMAP_LAYOUT_LINE_HORIZONTAL* = 2\n" - /* 1244 */ "const CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR* = 3\n" - /* 1245 */ "const CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE* = 4\n" - /* 1246 */ "const CUBEMAP_LAYOUT_PANORAMA* = 5\n" - /* 1247 */ "const FONT_DEFAULT* = 0\n" - /* 1248 */ "const FONT_BITMAP* = 1\n" - /* 1249 */ "const FONT_SDF* = 2\n" - /* 1250 */ "const BLEND_ALPHA* = 0\n" - /* 1251 */ "const BLEND_ADDITIVE* = 1\n" - /* 1252 */ "const BLEND_MULTIPLIED* = 2\n" - /* 1253 */ "const BLEND_ADD_COLORS* = 3\n" - /* 1254 */ "const BLEND_SUBTRACT_COLORS* = 4\n" - /* 1255 */ "const BLEND_ALPHA_PREMULTIPLY* = 5\n" - /* 1256 */ "const BLEND_CUSTOM* = 6\n" - /* 1257 */ "const GESTURE_NONE* = 0\n" - /* 1258 */ "const GESTURE_TAP* = 1\n" - /* 1259 */ "const GESTURE_DOUBLETAP* = 2\n" - /* 1260 */ "const GESTURE_HOLD* = 4\n" - /* 1261 */ "const GESTURE_DRAG* = 8\n" - /* 1262 */ "const GESTURE_SWIPE_RIGHT* = 16\n" - /* 1263 */ "const GESTURE_SWIPE_LEFT* = 32\n" - /* 1264 */ "const GESTURE_SWIPE_UP* = 64\n" - /* 1265 */ "const GESTURE_SWIPE_DOWN* = 128\n" - /* 1266 */ "const GESTURE_PINCH_IN* = 256\n" - /* 1267 */ "const GESTURE_PINCH_OUT* = 512\n" - /* 1268 */ "const CAMERA_CUSTOM* = 0\n" - /* 1269 */ "const CAMERA_FREE* = 1\n" - /* 1270 */ "const CAMERA_ORBITAL* = 2\n" - /* 1271 */ "const CAMERA_FIRST_PERSON* = 3\n" - /* 1272 */ "const CAMERA_THIRD_PERSON* = 4\n" - /* 1273 */ "const CAMERA_PERSPECTIVE* = 0\n" - /* 1274 */ "const CAMERA_ORTHOGRAPHIC* = 1\n" - /* 1275 */ "const NPATCH_NINE_PATCH* = 0\n" - /* 1276 */ "const NPATCH_THREE_PATCH_VERTICAL* = 1\n" - /* 1277 */ "const NPATCH_THREE_PATCH_HORIZONTAL* = 2\n" - /* 1278 */ "const OPENGL_11* = 1\n" - /* 1279 */ "const OPENGL_21* = 2\n" - /* 1280 */ "const OPENGL_33* = 3\n" - /* 1281 */ "const OPENGL_43* = 4\n" - /* 1282 */ "const OPENGL_ES_20* = 5\n" - /* 1283 */ "const RL_ATTACHMENT_COLOR_CHANNEL0* = 0\n" - /* 1284 */ "const RL_ATTACHMENT_COLOR_CHANNEL1* = 1\n" - /* 1285 */ "const RL_ATTACHMENT_COLOR_CHANNEL2* = 2\n" - /* 1286 */ "const RL_ATTACHMENT_COLOR_CHANNEL3* = 3\n" - /* 1287 */ "const RL_ATTACHMENT_COLOR_CHANNEL4* = 4\n" - /* 1288 */ "const RL_ATTACHMENT_COLOR_CHANNEL5* = 5\n" - /* 1289 */ "const RL_ATTACHMENT_COLOR_CHANNEL6* = 6\n" - /* 1290 */ "const RL_ATTACHMENT_COLOR_CHANNEL7* = 7\n" - /* 1291 */ "const RL_ATTACHMENT_DEPTH* = 100\n" - /* 1292 */ "const RL_ATTACHMENT_STENCIL* = 200\n" - /* 1293 */ "const RL_ATTACHMENT_CUBEMAP_POSITIVE_X* = 0\n" - /* 1294 */ "const RL_ATTACHMENT_CUBEMAP_NEGATIVE_X* = 1\n" - /* 1295 */ "const RL_ATTACHMENT_CUBEMAP_POSITIVE_Y* = 2\n" - /* 1296 */ "const RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y* = 3\n" - /* 1297 */ "const RL_ATTACHMENT_CUBEMAP_POSITIVE_Z* = 4\n" - /* 1298 */ "const RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z* = 5\n" - /* 1299 */ "const RL_ATTACHMENT_TEXTURE2D* = 100\n" - /* 1300 */ "const RL_ATTACHMENT_RENDERBUFFER* = 200\n" - /* 1301 */ "const RL_LOG_ALL* = 0\n" - /* 1302 */ "const RL_LOG_TRACE* = 1\n" - /* 1303 */ "const RL_LOG_DEBUG* = 2\n" - /* 1304 */ "const RL_LOG_INFO* = 3\n" - /* 1305 */ "const RL_LOG_WARNING* = 4\n" - /* 1306 */ "const RL_LOG_ERROR* = 5\n" - /* 1307 */ "const RL_LOG_FATAL* = 6\n" - /* 1308 */ "const RL_LOG_NONE* = 7\n" - /* 1309 */ "const RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE* = 1\n" - /* 1310 */ "const RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA* = 2\n" - /* 1311 */ "const RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5* = 3\n" - /* 1312 */ "const RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8* = 4\n" - /* 1313 */ "const RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1* = 5\n" - /* 1314 */ "const RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4* = 6\n" - /* 1315 */ "const RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8* = 7\n" - /* 1316 */ "const RL_PIXELFORMAT_UNCOMPRESSED_R32* = 8\n" - /* 1317 */ "const RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32* = 9\n" - /* 1318 */ "const RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32* = 10\n" - /* 1319 */ "const RL_PIXELFORMAT_COMPRESSED_DXT1_RGB* = 11\n" - /* 1320 */ "const RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA* = 12\n" - /* 1321 */ "const RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA* = 13\n" - /* 1322 */ "const RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA* = 14\n" - /* 1323 */ "const RL_PIXELFORMAT_COMPRESSED_ETC1_RGB* = 15\n" - /* 1324 */ "const RL_PIXELFORMAT_COMPRESSED_ETC2_RGB* = 16\n" - /* 1325 */ "const RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA* = 17\n" - /* 1326 */ "const RL_PIXELFORMAT_COMPRESSED_PVRT_RGB* = 18\n" - /* 1327 */ "const RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA* = 19\n" - /* 1328 */ "const RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA* = 20\n" - /* 1329 */ "const RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA* = 21\n" - /* 1330 */ "const RL_TEXTURE_FILTER_POINT* = 0\n" - /* 1331 */ "const RL_TEXTURE_FILTER_BILINEAR* = 1\n" - /* 1332 */ "const RL_TEXTURE_FILTER_TRILINEAR* = 2\n" - /* 1333 */ "const RL_TEXTURE_FILTER_ANISOTROPIC_4X* = 3\n" - /* 1334 */ "const RL_TEXTURE_FILTER_ANISOTROPIC_8X* = 4\n" - /* 1335 */ "const RL_TEXTURE_FILTER_ANISOTROPIC_16X* = 5\n" - /* 1336 */ "const RL_BLEND_ALPHA* = 0\n" - /* 1337 */ "const RL_BLEND_ADDITIVE* = 1\n" - /* 1338 */ "const RL_BLEND_MULTIPLIED* = 2\n" - /* 1339 */ "const RL_BLEND_ADD_COLORS* = 3\n" - /* 1340 */ "const RL_BLEND_SUBTRACT_COLORS* = 4\n" - /* 1341 */ "const RL_BLEND_ALPHA_PREMULTIPLY* = 5\n" - /* 1342 */ "const RL_BLEND_CUSTOM* = 6\n" - /* 1343 */ "const RL_SHADER_LOC_VERTEX_POSITION* = 0\n" - /* 1344 */ "const RL_SHADER_LOC_VERTEX_TEXCOORD01* = 1\n" - /* 1345 */ "const RL_SHADER_LOC_VERTEX_TEXCOORD02* = 2\n" - /* 1346 */ "const RL_SHADER_LOC_VERTEX_NORMAL* = 3\n" - /* 1347 */ "const RL_SHADER_LOC_VERTEX_TANGENT* = 4\n" - /* 1348 */ "const RL_SHADER_LOC_VERTEX_COLOR* = 5\n" - /* 1349 */ "const RL_SHADER_LOC_MATRIX_MVP* = 6\n" - /* 1350 */ "const RL_SHADER_LOC_MATRIX_VIEW* = 7\n" - /* 1351 */ "const RL_SHADER_LOC_MATRIX_PROJECTION* = 8\n" - /* 1352 */ "const RL_SHADER_LOC_MATRIX_MODEL* = 9\n" - /* 1353 */ "const RL_SHADER_LOC_MATRIX_NORMAL* = 10\n" - /* 1354 */ "const RL_SHADER_LOC_VECTOR_VIEW* = 11\n" - /* 1355 */ "const RL_SHADER_LOC_COLOR_DIFFUSE* = 12\n" - /* 1356 */ "const RL_SHADER_LOC_COLOR_SPECULAR* = 13\n" - /* 1357 */ "const RL_SHADER_LOC_COLOR_AMBIENT* = 14\n" - /* 1358 */ "const RL_SHADER_LOC_MAP_ALBEDO* = 15\n" - /* 1359 */ "const RL_SHADER_LOC_MAP_METALNESS* = 16\n" - /* 1360 */ "const RL_SHADER_LOC_MAP_NORMAL* = 17\n" - /* 1361 */ "const RL_SHADER_LOC_MAP_ROUGHNESS* = 18\n" - /* 1362 */ "const RL_SHADER_LOC_MAP_OCCLUSION* = 19\n" - /* 1363 */ "const RL_SHADER_LOC_MAP_EMISSION* = 20\n" - /* 1364 */ "const RL_SHADER_LOC_MAP_HEIGHT* = 21\n" - /* 1365 */ "const RL_SHADER_LOC_MAP_CUBEMAP* = 22\n" - /* 1366 */ "const RL_SHADER_LOC_MAP_IRRADIANCE* = 23\n" - /* 1367 */ "const RL_SHADER_LOC_MAP_PREFILTER* = 24\n" - /* 1368 */ "const RL_SHADER_LOC_MAP_BRDF* = 25\n" - /* 1369 */ "const RL_SHADER_UNIFORM_FLOAT* = 0\n" - /* 1370 */ "const RL_SHADER_UNIFORM_VEC2* = 1\n" - /* 1371 */ "const RL_SHADER_UNIFORM_VEC3* = 2\n" - /* 1372 */ "const RL_SHADER_UNIFORM_VEC4* = 3\n" - /* 1373 */ "const RL_SHADER_UNIFORM_INT* = 4\n" - /* 1374 */ "const RL_SHADER_UNIFORM_IVEC2* = 5\n" - /* 1375 */ "const RL_SHADER_UNIFORM_IVEC3* = 6\n" - /* 1376 */ "const RL_SHADER_UNIFORM_IVEC4* = 7\n" - /* 1377 */ "const RL_SHADER_UNIFORM_SAMPLER2D* = 8\n" - /* 1378 */ "const RL_SHADER_ATTRIB_FLOAT* = 0\n" - /* 1379 */ "const RL_SHADER_ATTRIB_VEC2* = 1\n" - /* 1380 */ "const RL_SHADER_ATTRIB_VEC3* = 2\n" - /* 1381 */ "const RL_SHADER_ATTRIB_VEC4* = 3\n" + /* 1169 */ "const FLAG_VSYNC_HINT* = 64\n" + /* 1170 */ "const FLAG_FULLSCREEN_MODE* = 2\n" + /* 1171 */ "const FLAG_WINDOW_RESIZABLE* = 4\n" + /* 1172 */ "const FLAG_WINDOW_UNDECORATED* = 8\n" + /* 1173 */ "const FLAG_WINDOW_HIDDEN* = 128\n" + /* 1174 */ "const FLAG_WINDOW_MINIMIZED* = 512\n" + /* 1175 */ "const FLAG_WINDOW_MAXIMIZED* = 1024\n" + /* 1176 */ "const FLAG_WINDOW_UNFOCUSED* = 2048\n" + /* 1177 */ "const FLAG_WINDOW_TOPMOST* = 4096\n" + /* 1178 */ "const FLAG_WINDOW_ALWAYS_RUN* = 256\n" + /* 1179 */ "const FLAG_WINDOW_TRANSPARENT* = 16\n" + /* 1180 */ "const FLAG_WINDOW_HIGHDPI* = 8192\n" + /* 1181 */ "const FLAG_WINDOW_MOUSE_PASSTHROUGH* = 16384\n" + /* 1182 */ "const FLAG_BORDERLESS_WINDOWED_MODE* = 32768\n" + /* 1183 */ "const FLAG_MSAA_4X_HINT* = 32\n" + /* 1184 */ "const FLAG_INTERLACED_HINT* = 65536\n" + /* 1185 */ "const LOG_ALL* = 0\n" + /* 1186 */ "const LOG_TRACE* = 1\n" + /* 1187 */ "const LOG_DEBUG* = 2\n" + /* 1188 */ "const LOG_INFO* = 3\n" + /* 1189 */ "const LOG_WARNING* = 4\n" + /* 1190 */ "const LOG_ERROR* = 5\n" + /* 1191 */ "const LOG_FATAL* = 6\n" + /* 1192 */ "const LOG_NONE* = 7\n" + /* 1193 */ "const KEY_NULL* = 0\n" + /* 1194 */ "const KEY_APOSTROPHE* = 39\n" + /* 1195 */ "const KEY_COMMA* = 44\n" + /* 1196 */ "const KEY_MINUS* = 45\n" + /* 1197 */ "const KEY_PERIOD* = 46\n" + /* 1198 */ "const KEY_SLASH* = 47\n" + /* 1199 */ "const KEY_ZERO* = 48\n" + /* 1200 */ "const KEY_ONE* = 49\n" + /* 1201 */ "const KEY_TWO* = 50\n" + /* 1202 */ "const KEY_THREE* = 51\n" + /* 1203 */ "const KEY_FOUR* = 52\n" + /* 1204 */ "const KEY_FIVE* = 53\n" + /* 1205 */ "const KEY_SIX* = 54\n" + /* 1206 */ "const KEY_SEVEN* = 55\n" + /* 1207 */ "const KEY_EIGHT* = 56\n" + /* 1208 */ "const KEY_NINE* = 57\n" + /* 1209 */ "const KEY_SEMICOLON* = 59\n" + /* 1210 */ "const KEY_EQUAL* = 61\n" + /* 1211 */ "const KEY_A* = 65\n" + /* 1212 */ "const KEY_B* = 66\n" + /* 1213 */ "const KEY_C* = 67\n" + /* 1214 */ "const KEY_D* = 68\n" + /* 1215 */ "const KEY_E* = 69\n" + /* 1216 */ "const KEY_F* = 70\n" + /* 1217 */ "const KEY_G* = 71\n" + /* 1218 */ "const KEY_H* = 72\n" + /* 1219 */ "const KEY_I* = 73\n" + /* 1220 */ "const KEY_J* = 74\n" + /* 1221 */ "const KEY_K* = 75\n" + /* 1222 */ "const KEY_L* = 76\n" + /* 1223 */ "const KEY_M* = 77\n" + /* 1224 */ "const KEY_N* = 78\n" + /* 1225 */ "const KEY_O* = 79\n" + /* 1226 */ "const KEY_P* = 80\n" + /* 1227 */ "const KEY_Q* = 81\n" + /* 1228 */ "const KEY_R* = 82\n" + /* 1229 */ "const KEY_S* = 83\n" + /* 1230 */ "const KEY_T* = 84\n" + /* 1231 */ "const KEY_U* = 85\n" + /* 1232 */ "const KEY_V* = 86\n" + /* 1233 */ "const KEY_W* = 87\n" + /* 1234 */ "const KEY_X* = 88\n" + /* 1235 */ "const KEY_Y* = 89\n" + /* 1236 */ "const KEY_Z* = 90\n" + /* 1237 */ "const KEY_LEFT_BRACKET* = 91\n" + /* 1238 */ "const KEY_BACKSLASH* = 92\n" + /* 1239 */ "const KEY_RIGHT_BRACKET* = 93\n" + /* 1240 */ "const KEY_GRAVE* = 96\n" + /* 1241 */ "const KEY_SPACE* = 32\n" + /* 1242 */ "const KEY_ESCAPE* = 256\n" + /* 1243 */ "const KEY_ENTER* = 257\n" + /* 1244 */ "const KEY_TAB* = 258\n" + /* 1245 */ "const KEY_BACKSPACE* = 259\n" + /* 1246 */ "const KEY_INSERT* = 260\n" + /* 1247 */ "const KEY_DELETE* = 261\n" + /* 1248 */ "const KEY_RIGHT* = 262\n" + /* 1249 */ "const KEY_LEFT* = 263\n" + /* 1250 */ "const KEY_DOWN* = 264\n" + /* 1251 */ "const KEY_UP* = 265\n" + /* 1252 */ "const KEY_PAGE_UP* = 266\n" + /* 1253 */ "const KEY_PAGE_DOWN* = 267\n" + /* 1254 */ "const KEY_HOME* = 268\n" + /* 1255 */ "const KEY_END* = 269\n" + /* 1256 */ "const KEY_CAPS_LOCK* = 280\n" + /* 1257 */ "const KEY_SCROLL_LOCK* = 281\n" + /* 1258 */ "const KEY_NUM_LOCK* = 282\n" + /* 1259 */ "const KEY_PRINT_SCREEN* = 283\n" + /* 1260 */ "const KEY_PAUSE* = 284\n" + /* 1261 */ "const KEY_F1* = 290\n" + /* 1262 */ "const KEY_F2* = 291\n" + /* 1263 */ "const KEY_F3* = 292\n" + /* 1264 */ "const KEY_F4* = 293\n" + /* 1265 */ "const KEY_F5* = 294\n" + /* 1266 */ "const KEY_F6* = 295\n" + /* 1267 */ "const KEY_F7* = 296\n" + /* 1268 */ "const KEY_F8* = 297\n" + /* 1269 */ "const KEY_F9* = 298\n" + /* 1270 */ "const KEY_F10* = 299\n" + /* 1271 */ "const KEY_F11* = 300\n" + /* 1272 */ "const KEY_F12* = 301\n" + /* 1273 */ "const KEY_LEFT_SHIFT* = 340\n" + /* 1274 */ "const KEY_LEFT_CONTROL* = 341\n" + /* 1275 */ "const KEY_LEFT_ALT* = 342\n" + /* 1276 */ "const KEY_LEFT_SUPER* = 343\n" + /* 1277 */ "const KEY_RIGHT_SHIFT* = 344\n" + /* 1278 */ "const KEY_RIGHT_CONTROL* = 345\n" + /* 1279 */ "const KEY_RIGHT_ALT* = 346\n" + /* 1280 */ "const KEY_RIGHT_SUPER* = 347\n" + /* 1281 */ "const KEY_KB_MENU* = 348\n" + /* 1282 */ "const KEY_KP_0* = 320\n" + /* 1283 */ "const KEY_KP_1* = 321\n" + /* 1284 */ "const KEY_KP_2* = 322\n" + /* 1285 */ "const KEY_KP_3* = 323\n" + /* 1286 */ "const KEY_KP_4* = 324\n" + /* 1287 */ "const KEY_KP_5* = 325\n" + /* 1288 */ "const KEY_KP_6* = 326\n" + /* 1289 */ "const KEY_KP_7* = 327\n" + /* 1290 */ "const KEY_KP_8* = 328\n" + /* 1291 */ "const KEY_KP_9* = 329\n" + /* 1292 */ "const KEY_KP_DECIMAL* = 330\n" + /* 1293 */ "const KEY_KP_DIVIDE* = 331\n" + /* 1294 */ "const KEY_KP_MULTIPLY* = 332\n" + /* 1295 */ "const KEY_KP_SUBTRACT* = 333\n" + /* 1296 */ "const KEY_KP_ADD* = 334\n" + /* 1297 */ "const KEY_KP_ENTER* = 335\n" + /* 1298 */ "const KEY_KP_EQUAL* = 336\n" + /* 1299 */ "const KEY_BACK* = 4\n" + /* 1300 */ "const KEY_MENU* = 5\n" + /* 1301 */ "const KEY_VOLUME_UP* = 24\n" + /* 1302 */ "const KEY_VOLUME_DOWN* = 25\n" + /* 1303 */ "const MOUSE_BUTTON_LEFT* = 0\n" + /* 1304 */ "const MOUSE_BUTTON_RIGHT* = 1\n" + /* 1305 */ "const MOUSE_BUTTON_MIDDLE* = 2\n" + /* 1306 */ "const MOUSE_BUTTON_SIDE* = 3\n" + /* 1307 */ "const MOUSE_BUTTON_EXTRA* = 4\n" + /* 1308 */ "const MOUSE_BUTTON_FORWARD* = 5\n" + /* 1309 */ "const MOUSE_BUTTON_BACK* = 6\n" + /* 1310 */ "const MOUSE_CURSOR_DEFAULT* = 0\n" + /* 1311 */ "const MOUSE_CURSOR_ARROW* = 1\n" + /* 1312 */ "const MOUSE_CURSOR_IBEAM* = 2\n" + /* 1313 */ "const MOUSE_CURSOR_CROSSHAIR* = 3\n" + /* 1314 */ "const MOUSE_CURSOR_POINTING_HAND* = 4\n" + /* 1315 */ "const MOUSE_CURSOR_RESIZE_EW* = 5\n" + /* 1316 */ "const MOUSE_CURSOR_RESIZE_NS* = 6\n" + /* 1317 */ "const MOUSE_CURSOR_RESIZE_NWSE* = 7\n" + /* 1318 */ "const MOUSE_CURSOR_RESIZE_NESW* = 8\n" + /* 1319 */ "const MOUSE_CURSOR_RESIZE_ALL* = 9\n" + /* 1320 */ "const MOUSE_CURSOR_NOT_ALLOWED* = 10\n" + /* 1321 */ "const GAMEPAD_BUTTON_UNKNOWN* = 0\n" + /* 1322 */ "const GAMEPAD_BUTTON_LEFT_FACE_UP* = 1\n" + /* 1323 */ "const GAMEPAD_BUTTON_LEFT_FACE_RIGHT* = 2\n" + /* 1324 */ "const GAMEPAD_BUTTON_LEFT_FACE_DOWN* = 3\n" + /* 1325 */ "const GAMEPAD_BUTTON_LEFT_FACE_LEFT* = 4\n" + /* 1326 */ "const GAMEPAD_BUTTON_RIGHT_FACE_UP* = 5\n" + /* 1327 */ "const GAMEPAD_BUTTON_RIGHT_FACE_RIGHT* = 6\n" + /* 1328 */ "const GAMEPAD_BUTTON_RIGHT_FACE_DOWN* = 7\n" + /* 1329 */ "const GAMEPAD_BUTTON_RIGHT_FACE_LEFT* = 8\n" + /* 1330 */ "const GAMEPAD_BUTTON_LEFT_TRIGGER_1* = 9\n" + /* 1331 */ "const GAMEPAD_BUTTON_LEFT_TRIGGER_2* = 10\n" + /* 1332 */ "const GAMEPAD_BUTTON_RIGHT_TRIGGER_1* = 11\n" + /* 1333 */ "const GAMEPAD_BUTTON_RIGHT_TRIGGER_2* = 12\n" + /* 1334 */ "const GAMEPAD_BUTTON_MIDDLE_LEFT* = 13\n" + /* 1335 */ "const GAMEPAD_BUTTON_MIDDLE* = 14\n" + /* 1336 */ "const GAMEPAD_BUTTON_MIDDLE_RIGHT* = 15\n" + /* 1337 */ "const GAMEPAD_BUTTON_LEFT_THUMB* = 16\n" + /* 1338 */ "const GAMEPAD_BUTTON_RIGHT_THUMB* = 17\n" + /* 1339 */ "const GAMEPAD_AXIS_LEFT_X* = 0\n" + /* 1340 */ "const GAMEPAD_AXIS_LEFT_Y* = 1\n" + /* 1341 */ "const GAMEPAD_AXIS_RIGHT_X* = 2\n" + /* 1342 */ "const GAMEPAD_AXIS_RIGHT_Y* = 3\n" + /* 1343 */ "const GAMEPAD_AXIS_LEFT_TRIGGER* = 4\n" + /* 1344 */ "const GAMEPAD_AXIS_RIGHT_TRIGGER* = 5\n" + /* 1345 */ "const MATERIAL_MAP_ALBEDO* = 0\n" + /* 1346 */ "const MATERIAL_MAP_METALNESS* = 1\n" + /* 1347 */ "const MATERIAL_MAP_NORMAL* = 2\n" + /* 1348 */ "const MATERIAL_MAP_ROUGHNESS* = 3\n" + /* 1349 */ "const MATERIAL_MAP_OCCLUSION* = 4\n" + /* 1350 */ "const MATERIAL_MAP_EMISSION* = 5\n" + /* 1351 */ "const MATERIAL_MAP_HEIGHT* = 6\n" + /* 1352 */ "const MATERIAL_MAP_CUBEMAP* = 7\n" + /* 1353 */ "const MATERIAL_MAP_IRRADIANCE* = 8\n" + /* 1354 */ "const MATERIAL_MAP_PREFILTER* = 9\n" + /* 1355 */ "const MATERIAL_MAP_BRDF* = 10\n" + /* 1356 */ "const SHADER_LOC_VERTEX_POSITION* = 0\n" + /* 1357 */ "const SHADER_LOC_VERTEX_TEXCOORD01* = 1\n" + /* 1358 */ "const SHADER_LOC_VERTEX_TEXCOORD02* = 2\n" + /* 1359 */ "const SHADER_LOC_VERTEX_NORMAL* = 3\n" + /* 1360 */ "const SHADER_LOC_VERTEX_TANGENT* = 4\n" + /* 1361 */ "const SHADER_LOC_VERTEX_COLOR* = 5\n" + /* 1362 */ "const SHADER_LOC_MATRIX_MVP* = 6\n" + /* 1363 */ "const SHADER_LOC_MATRIX_VIEW* = 7\n" + /* 1364 */ "const SHADER_LOC_MATRIX_PROJECTION* = 8\n" + /* 1365 */ "const SHADER_LOC_MATRIX_MODEL* = 9\n" + /* 1366 */ "const SHADER_LOC_MATRIX_NORMAL* = 10\n" + /* 1367 */ "const SHADER_LOC_VECTOR_VIEW* = 11\n" + /* 1368 */ "const SHADER_LOC_COLOR_DIFFUSE* = 12\n" + /* 1369 */ "const SHADER_LOC_COLOR_SPECULAR* = 13\n" + /* 1370 */ "const SHADER_LOC_COLOR_AMBIENT* = 14\n" + /* 1371 */ "const SHADER_LOC_MAP_ALBEDO* = 15\n" + /* 1372 */ "const SHADER_LOC_MAP_METALNESS* = 16\n" + /* 1373 */ "const SHADER_LOC_MAP_NORMAL* = 17\n" + /* 1374 */ "const SHADER_LOC_MAP_ROUGHNESS* = 18\n" + /* 1375 */ "const SHADER_LOC_MAP_OCCLUSION* = 19\n" + /* 1376 */ "const SHADER_LOC_MAP_EMISSION* = 20\n" + /* 1377 */ "const SHADER_LOC_MAP_HEIGHT* = 21\n" + /* 1378 */ "const SHADER_LOC_MAP_CUBEMAP* = 22\n" + /* 1379 */ "const SHADER_LOC_MAP_IRRADIANCE* = 23\n" + /* 1380 */ "const SHADER_LOC_MAP_PREFILTER* = 24\n" + /* 1381 */ "const SHADER_LOC_MAP_BRDF* = 25\n" + /* 1382 */ "const SHADER_LOC_VERTEX_BONEIDS* = 26\n" + /* 1383 */ "const SHADER_LOC_VERTEX_BONEWEIGHTS* = 27\n" + /* 1384 */ "const SHADER_LOC_MATRIX_BONETRANSFORMS* = 28\n" + /* 1385 */ "const SHADER_LOC_VERTEX_INSTANCETRANSFORM* = 29\n" + /* 1386 */ "const SHADER_UNIFORM_FLOAT* = 0\n" + /* 1387 */ "const SHADER_UNIFORM_VEC2* = 1\n" + /* 1388 */ "const SHADER_UNIFORM_VEC3* = 2\n" + /* 1389 */ "const SHADER_UNIFORM_VEC4* = 3\n" + /* 1390 */ "const SHADER_UNIFORM_INT* = 4\n" + /* 1391 */ "const SHADER_UNIFORM_IVEC2* = 5\n" + /* 1392 */ "const SHADER_UNIFORM_IVEC3* = 6\n" + /* 1393 */ "const SHADER_UNIFORM_IVEC4* = 7\n" + /* 1394 */ "const SHADER_UNIFORM_UINT* = 8\n" + /* 1395 */ "const SHADER_UNIFORM_UIVEC2* = 9\n" + /* 1396 */ "const SHADER_UNIFORM_UIVEC3* = 10\n" + /* 1397 */ "const SHADER_UNIFORM_UIVEC4* = 11\n" + /* 1398 */ "const SHADER_UNIFORM_SAMPLER2D* = 12\n" + /* 1399 */ "const SHADER_ATTRIB_FLOAT* = 0\n" + /* 1400 */ "const SHADER_ATTRIB_VEC2* = 1\n" + /* 1401 */ "const SHADER_ATTRIB_VEC3* = 2\n" + /* 1402 */ "const SHADER_ATTRIB_VEC4* = 3\n" + /* 1403 */ "const PIXELFORMAT_UNCOMPRESSED_GRAYSCALE* = 1\n" + /* 1404 */ "const PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA* = 2\n" + /* 1405 */ "const PIXELFORMAT_UNCOMPRESSED_R5G6B5* = 3\n" + /* 1406 */ "const PIXELFORMAT_UNCOMPRESSED_R8G8B8* = 4\n" + /* 1407 */ "const PIXELFORMAT_UNCOMPRESSED_R5G5B5A1* = 5\n" + /* 1408 */ "const PIXELFORMAT_UNCOMPRESSED_R4G4B4A4* = 6\n" + /* 1409 */ "const PIXELFORMAT_UNCOMPRESSED_R8G8B8A8* = 7\n" + /* 1410 */ "const PIXELFORMAT_UNCOMPRESSED_R32* = 8\n" + /* 1411 */ "const PIXELFORMAT_UNCOMPRESSED_R32G32B32* = 9\n" + /* 1412 */ "const PIXELFORMAT_UNCOMPRESSED_R32G32B32A32* = 10\n" + /* 1413 */ "const PIXELFORMAT_UNCOMPRESSED_R16* = 11\n" + /* 1414 */ "const PIXELFORMAT_UNCOMPRESSED_R16G16B16* = 12\n" + /* 1415 */ "const PIXELFORMAT_UNCOMPRESSED_R16G16B16A16* = 13\n" + /* 1416 */ "const PIXELFORMAT_COMPRESSED_DXT1_RGB* = 14\n" + /* 1417 */ "const PIXELFORMAT_COMPRESSED_DXT1_RGBA* = 15\n" + /* 1418 */ "const PIXELFORMAT_COMPRESSED_DXT3_RGBA* = 16\n" + /* 1419 */ "const PIXELFORMAT_COMPRESSED_DXT5_RGBA* = 17\n" + /* 1420 */ "const PIXELFORMAT_COMPRESSED_ETC1_RGB* = 18\n" + /* 1421 */ "const PIXELFORMAT_COMPRESSED_ETC2_RGB* = 19\n" + /* 1422 */ "const PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA* = 20\n" + /* 1423 */ "const PIXELFORMAT_COMPRESSED_PVRT_RGB* = 21\n" + /* 1424 */ "const PIXELFORMAT_COMPRESSED_PVRT_RGBA* = 22\n" + /* 1425 */ "const PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA* = 23\n" + /* 1426 */ "const PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA* = 24\n" + /* 1427 */ "const TEXTURE_FILTER_POINT* = 0\n" + /* 1428 */ "const TEXTURE_FILTER_BILINEAR* = 1\n" + /* 1429 */ "const TEXTURE_FILTER_TRILINEAR* = 2\n" + /* 1430 */ "const TEXTURE_FILTER_ANISOTROPIC_4X* = 3\n" + /* 1431 */ "const TEXTURE_FILTER_ANISOTROPIC_8X* = 4\n" + /* 1432 */ "const TEXTURE_FILTER_ANISOTROPIC_16X* = 5\n" + /* 1433 */ "const TEXTURE_WRAP_REPEAT* = 0\n" + /* 1434 */ "const TEXTURE_WRAP_CLAMP* = 1\n" + /* 1435 */ "const TEXTURE_WRAP_MIRROR_REPEAT* = 2\n" + /* 1436 */ "const TEXTURE_WRAP_MIRROR_CLAMP* = 3\n" + /* 1437 */ "const CUBEMAP_LAYOUT_AUTO_DETECT* = 0\n" + /* 1438 */ "const CUBEMAP_LAYOUT_LINE_VERTICAL* = 1\n" + /* 1439 */ "const CUBEMAP_LAYOUT_LINE_HORIZONTAL* = 2\n" + /* 1440 */ "const CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR* = 3\n" + /* 1441 */ "const CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE* = 4\n" + /* 1442 */ "const FONT_DEFAULT* = 0\n" + /* 1443 */ "const FONT_BITMAP* = 1\n" + /* 1444 */ "const FONT_SDF* = 2\n" + /* 1445 */ "const BLEND_ALPHA* = 0\n" + /* 1446 */ "const BLEND_ADDITIVE* = 1\n" + /* 1447 */ "const BLEND_MULTIPLIED* = 2\n" + /* 1448 */ "const BLEND_ADD_COLORS* = 3\n" + /* 1449 */ "const BLEND_SUBTRACT_COLORS* = 4\n" + /* 1450 */ "const BLEND_ALPHA_PREMULTIPLY* = 5\n" + /* 1451 */ "const BLEND_CUSTOM* = 6\n" + /* 1452 */ "const BLEND_CUSTOM_SEPARATE* = 7\n" + /* 1453 */ "const GESTURE_NONE* = 0\n" + /* 1454 */ "const GESTURE_TAP* = 1\n" + /* 1455 */ "const GESTURE_DOUBLETAP* = 2\n" + /* 1456 */ "const GESTURE_HOLD* = 4\n" + /* 1457 */ "const GESTURE_DRAG* = 8\n" + /* 1458 */ "const GESTURE_SWIPE_RIGHT* = 16\n" + /* 1459 */ "const GESTURE_SWIPE_LEFT* = 32\n" + /* 1460 */ "const GESTURE_SWIPE_UP* = 64\n" + /* 1461 */ "const GESTURE_SWIPE_DOWN* = 128\n" + /* 1462 */ "const GESTURE_PINCH_IN* = 256\n" + /* 1463 */ "const GESTURE_PINCH_OUT* = 512\n" + /* 1464 */ "const CAMERA_CUSTOM* = 0\n" + /* 1465 */ "const CAMERA_FREE* = 1\n" + /* 1466 */ "const CAMERA_ORBITAL* = 2\n" + /* 1467 */ "const CAMERA_FIRST_PERSON* = 3\n" + /* 1468 */ "const CAMERA_THIRD_PERSON* = 4\n" + /* 1469 */ "const CAMERA_PERSPECTIVE* = 0\n" + /* 1470 */ "const CAMERA_ORTHOGRAPHIC* = 1\n" + /* 1471 */ "const NPATCH_NINE_PATCH* = 0\n" + /* 1472 */ "const NPATCH_THREE_PATCH_VERTICAL* = 1\n" + /* 1473 */ "const NPATCH_THREE_PATCH_HORIZONTAL* = 2\n" + /* 1474 */ "const RL_OPENGL_11_SOFTWARE* = 0\n" + /* 1475 */ "const RL_OPENGL_11* = 1\n" + /* 1476 */ "const RL_OPENGL_21* = 2\n" + /* 1477 */ "const RL_OPENGL_33* = 3\n" + /* 1478 */ "const RL_OPENGL_43* = 4\n" + /* 1479 */ "const RL_OPENGL_ES_20* = 5\n" + /* 1480 */ "const RL_OPENGL_ES_30* = 6\n" + /* 1481 */ "const RL_LOG_ALL* = 0\n" + /* 1482 */ "const RL_LOG_TRACE* = 1\n" + /* 1483 */ "const RL_LOG_DEBUG* = 2\n" + /* 1484 */ "const RL_LOG_INFO* = 3\n" + /* 1485 */ "const RL_LOG_WARNING* = 4\n" + /* 1486 */ "const RL_LOG_ERROR* = 5\n" + /* 1487 */ "const RL_LOG_FATAL* = 6\n" + /* 1488 */ "const RL_LOG_NONE* = 7\n" + /* 1489 */ "const RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE* = 1\n" + /* 1490 */ "const RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA* = 2\n" + /* 1491 */ "const RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5* = 3\n" + /* 1492 */ "const RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8* = 4\n" + /* 1493 */ "const RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1* = 5\n" + /* 1494 */ "const RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4* = 6\n" + /* 1495 */ "const RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8* = 7\n" + /* 1496 */ "const RL_PIXELFORMAT_UNCOMPRESSED_R32* = 8\n" + /* 1497 */ "const RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32* = 9\n" + /* 1498 */ "const RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32* = 10\n" + /* 1499 */ "const RL_PIXELFORMAT_UNCOMPRESSED_R16* = 11\n" + /* 1500 */ "const RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16* = 12\n" + /* 1501 */ "const RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16* = 13\n" + /* 1502 */ "const RL_PIXELFORMAT_COMPRESSED_DXT1_RGB* = 14\n" + /* 1503 */ "const RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA* = 15\n" + /* 1504 */ "const RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA* = 16\n" + /* 1505 */ "const RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA* = 17\n" + /* 1506 */ "const RL_PIXELFORMAT_COMPRESSED_ETC1_RGB* = 18\n" + /* 1507 */ "const RL_PIXELFORMAT_COMPRESSED_ETC2_RGB* = 19\n" + /* 1508 */ "const RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA* = 20\n" + /* 1509 */ "const RL_PIXELFORMAT_COMPRESSED_PVRT_RGB* = 21\n" + /* 1510 */ "const RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA* = 22\n" + /* 1511 */ "const RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA* = 23\n" + /* 1512 */ "const RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA* = 24\n" + /* 1513 */ "const RL_TEXTURE_FILTER_POINT* = 0\n" + /* 1514 */ "const RL_TEXTURE_FILTER_BILINEAR* = 1\n" + /* 1515 */ "const RL_TEXTURE_FILTER_TRILINEAR* = 2\n" + /* 1516 */ "const RL_TEXTURE_FILTER_ANISOTROPIC_4X* = 3\n" + /* 1517 */ "const RL_TEXTURE_FILTER_ANISOTROPIC_8X* = 4\n" + /* 1518 */ "const RL_TEXTURE_FILTER_ANISOTROPIC_16X* = 5\n" + /* 1519 */ "const RL_BLEND_ALPHA* = 0\n" + /* 1520 */ "const RL_BLEND_ADDITIVE* = 1\n" + /* 1521 */ "const RL_BLEND_MULTIPLIED* = 2\n" + /* 1522 */ "const RL_BLEND_ADD_COLORS* = 3\n" + /* 1523 */ "const RL_BLEND_SUBTRACT_COLORS* = 4\n" + /* 1524 */ "const RL_BLEND_ALPHA_PREMULTIPLY* = 5\n" + /* 1525 */ "const RL_BLEND_CUSTOM* = 6\n" + /* 1526 */ "const RL_BLEND_CUSTOM_SEPARATE* = 7\n" + /* 1527 */ "const RL_SHADER_LOC_VERTEX_POSITION* = 0\n" + /* 1528 */ "const RL_SHADER_LOC_VERTEX_TEXCOORD01* = 1\n" + /* 1529 */ "const RL_SHADER_LOC_VERTEX_TEXCOORD02* = 2\n" + /* 1530 */ "const RL_SHADER_LOC_VERTEX_NORMAL* = 3\n" + /* 1531 */ "const RL_SHADER_LOC_VERTEX_TANGENT* = 4\n" + /* 1532 */ "const RL_SHADER_LOC_VERTEX_COLOR* = 5\n" + /* 1533 */ "const RL_SHADER_LOC_MATRIX_MVP* = 6\n" + /* 1534 */ "const RL_SHADER_LOC_MATRIX_VIEW* = 7\n" + /* 1535 */ "const RL_SHADER_LOC_MATRIX_PROJECTION* = 8\n" + /* 1536 */ "const RL_SHADER_LOC_MATRIX_MODEL* = 9\n" + /* 1537 */ "const RL_SHADER_LOC_MATRIX_NORMAL* = 10\n" + /* 1538 */ "const RL_SHADER_LOC_VECTOR_VIEW* = 11\n" + /* 1539 */ "const RL_SHADER_LOC_COLOR_DIFFUSE* = 12\n" + /* 1540 */ "const RL_SHADER_LOC_COLOR_SPECULAR* = 13\n" + /* 1541 */ "const RL_SHADER_LOC_COLOR_AMBIENT* = 14\n" + /* 1542 */ "const RL_SHADER_LOC_MAP_ALBEDO* = 15\n" + /* 1543 */ "const RL_SHADER_LOC_MAP_METALNESS* = 16\n" + /* 1544 */ "const RL_SHADER_LOC_MAP_NORMAL* = 17\n" + /* 1545 */ "const RL_SHADER_LOC_MAP_ROUGHNESS* = 18\n" + /* 1546 */ "const RL_SHADER_LOC_MAP_OCCLUSION* = 19\n" + /* 1547 */ "const RL_SHADER_LOC_MAP_EMISSION* = 20\n" + /* 1548 */ "const RL_SHADER_LOC_MAP_HEIGHT* = 21\n" + /* 1549 */ "const RL_SHADER_LOC_MAP_CUBEMAP* = 22\n" + /* 1550 */ "const RL_SHADER_LOC_MAP_IRRADIANCE* = 23\n" + /* 1551 */ "const RL_SHADER_LOC_MAP_PREFILTER* = 24\n" + /* 1552 */ "const RL_SHADER_LOC_MAP_BRDF* = 25\n" + /* 1553 */ "const RL_SHADER_UNIFORM_FLOAT* = 0\n" + /* 1554 */ "const RL_SHADER_UNIFORM_VEC2* = 1\n" + /* 1555 */ "const RL_SHADER_UNIFORM_VEC3* = 2\n" + /* 1556 */ "const RL_SHADER_UNIFORM_VEC4* = 3\n" + /* 1557 */ "const RL_SHADER_UNIFORM_INT* = 4\n" + /* 1558 */ "const RL_SHADER_UNIFORM_IVEC2* = 5\n" + /* 1559 */ "const RL_SHADER_UNIFORM_IVEC3* = 6\n" + /* 1560 */ "const RL_SHADER_UNIFORM_IVEC4* = 7\n" + /* 1561 */ "const RL_SHADER_UNIFORM_UINT* = 8\n" + /* 1562 */ "const RL_SHADER_UNIFORM_UIVEC2* = 9\n" + /* 1563 */ "const RL_SHADER_UNIFORM_UIVEC3* = 10\n" + /* 1564 */ "const RL_SHADER_UNIFORM_UIVEC4* = 11\n" + /* 1565 */ "const RL_SHADER_UNIFORM_SAMPLER2D* = 12\n" + /* 1566 */ "const RL_SHADER_ATTRIB_FLOAT* = 0\n" + /* 1567 */ "const RL_SHADER_ATTRIB_VEC2* = 1\n" + /* 1568 */ "const RL_SHADER_ATTRIB_VEC3* = 2\n" + /* 1569 */ "const RL_SHADER_ATTRIB_VEC4* = 3\n" + /* 1570 */ "const RL_ATTACHMENT_COLOR_CHANNEL0* = 0\n" + /* 1571 */ "const RL_ATTACHMENT_COLOR_CHANNEL1* = 1\n" + /* 1572 */ "const RL_ATTACHMENT_COLOR_CHANNEL2* = 2\n" + /* 1573 */ "const RL_ATTACHMENT_COLOR_CHANNEL3* = 3\n" + /* 1574 */ "const RL_ATTACHMENT_COLOR_CHANNEL4* = 4\n" + /* 1575 */ "const RL_ATTACHMENT_COLOR_CHANNEL5* = 5\n" + /* 1576 */ "const RL_ATTACHMENT_COLOR_CHANNEL6* = 6\n" + /* 1577 */ "const RL_ATTACHMENT_COLOR_CHANNEL7* = 7\n" + /* 1578 */ "const RL_ATTACHMENT_DEPTH* = 100\n" + /* 1579 */ "const RL_ATTACHMENT_STENCIL* = 200\n" + /* 1580 */ "const RL_ATTACHMENT_CUBEMAP_POSITIVE_X* = 0\n" + /* 1581 */ "const RL_ATTACHMENT_CUBEMAP_NEGATIVE_X* = 1\n" + /* 1582 */ "const RL_ATTACHMENT_CUBEMAP_POSITIVE_Y* = 2\n" + /* 1583 */ "const RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y* = 3\n" + /* 1584 */ "const RL_ATTACHMENT_CUBEMAP_POSITIVE_Z* = 4\n" + /* 1585 */ "const RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z* = 5\n" + /* 1586 */ "const RL_ATTACHMENT_TEXTURE2D* = 100\n" + /* 1587 */ "const RL_ATTACHMENT_RENDERBUFFER* = 200\n" + /* 1588 */ "const RL_CULL_FACE_FRONT* = 0\n" + /* 1589 */ "const RL_CULL_FACE_BACK* = 1\n" // Defines - /* 1382 */ "const RAYLIB_VERSION* = \"4.2\"\n" - // Skipped define: __declspec(x) - // Skipped define: RLAPI - /* 1383 */ "const PI* = 3.141592653589793\n" - // Skipped define: DEG2RAD - // Skipped define: RAD2DEG - // Skipped define: RL_MALLOC(sz) - // Skipped define: RL_CALLOC(n,sz) - // Skipped define: RL_REALLOC(ptr,sz) - // Skipped define: RL_FREE(ptr) - // Skipped define: CLITERAL(type) - /* 1384 */ "const LIGHTGRAY* = Color{ 200, 200, 200, 255 }\n" - /* 1385 */ "const GRAY* = Color{ 130, 130, 130, 255 }\n" - /* 1386 */ "const DARKGRAY* = Color{ 80, 80, 80, 255 }\n" - /* 1387 */ "const YELLOW* = Color{ 253, 249, 0, 255 }\n" - /* 1388 */ "const GOLD* = Color{ 255, 203, 0, 255 }\n" - /* 1389 */ "const ORANGE* = Color{ 255, 161, 0, 255 }\n" - /* 1390 */ "const PINK* = Color{ 255, 109, 194, 255 }\n" - /* 1391 */ "const RED* = Color{ 230, 41, 55, 255 }\n" - /* 1392 */ "const MAROON* = Color{ 190, 33, 55, 255 }\n" - /* 1393 */ "const GREEN* = Color{ 0, 228, 48, 255 }\n" - /* 1394 */ "const LIME* = Color{ 0, 158, 47, 255 }\n" - /* 1395 */ "const DARKGREEN* = Color{ 0, 117, 44, 255 }\n" - /* 1396 */ "const SKYBLUE* = Color{ 102, 191, 255, 255 }\n" - /* 1397 */ "const BLUE* = Color{ 0, 121, 241, 255 }\n" - /* 1398 */ "const DARKBLUE* = Color{ 0, 82, 172, 255 }\n" - /* 1399 */ "const PURPLE* = Color{ 200, 122, 255, 255 }\n" - /* 1400 */ "const VIOLET* = Color{ 135, 60, 190, 255 }\n" - /* 1401 */ "const DARKPURPLE* = Color{ 112, 31, 126, 255 }\n" - /* 1402 */ "const BEIGE* = Color{ 211, 176, 131, 255 }\n" - /* 1403 */ "const BROWN* = Color{ 127, 106, 79, 255 }\n" - /* 1404 */ "const DARKBROWN* = Color{ 76, 63, 47, 255 }\n" - /* 1405 */ "const WHITE* = Color{ 255, 255, 255, 255 }\n" - /* 1406 */ "const BLACK* = Color{ 0, 0, 0, 255 }\n" - /* 1407 */ "const BLANK* = Color{ 0, 0, 0, 0 }\n" - /* 1408 */ "const MAGENTA* = Color{ 255, 0, 255, 255 }\n" - /* 1409 */ "const RAYWHITE* = Color{ 245, 245, 245, 255 }\n" - // Skipped define: MOUSE_LEFT_BUTTON - // Skipped define: MOUSE_RIGHT_BUTTON - // Skipped define: MOUSE_MIDDLE_BUTTON - // Skipped define: MATERIAL_MAP_DIFFUSE - // Skipped define: MATERIAL_MAP_SPECULAR - // Skipped define: SHADER_LOC_MAP_DIFFUSE - // Skipped define: SHADER_LOC_MAP_SPECULAR - // Skipped define: RMAPI - /* 1410 */ "const EPSILON* = 0.000001\n" - // Skipped define: MatrixToFloat(mat) - // Skipped define: Vector3ToFloat(vec) - /* 1411 */ "const RLGL_VERSION* = \"4.0\"\n" - // Skipped define: TRACELOG(level, ...) - // Skipped define: TRACELOGD(...) - // Skipped define: RL_REALLOC(n,sz) - // Skipped define: RL_FREE(p) - // Skipped define: RL_DEFAULT_BATCH_BUFFER_ELEMENTS - // Skipped define: RL_DEFAULT_BATCH_BUFFERS - // Skipped define: RL_DEFAULT_BATCH_DRAWCALLS - // Skipped define: RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS - // Skipped define: RL_MAX_MATRIX_STACK_SIZE - // Skipped define: RL_MAX_SHADER_LOCATIONS - // Skipped define: RL_CULL_DISTANCE_NEAR - // Skipped define: RL_CULL_DISTANCE_FAR - // Skipped define: RL_TEXTURE_WRAP_S - // Skipped define: RL_TEXTURE_WRAP_T - // Skipped define: RL_TEXTURE_MAG_FILTER - // Skipped define: RL_TEXTURE_MIN_FILTER - // Skipped define: RL_TEXTURE_FILTER_NEAREST - // Skipped define: RL_TEXTURE_FILTER_LINEAR - // Skipped define: RL_TEXTURE_FILTER_MIP_NEAREST - // Skipped define: RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR - // Skipped define: RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST - // Skipped define: RL_TEXTURE_FILTER_MIP_LINEAR - // Skipped define: RL_TEXTURE_FILTER_ANISOTROPIC - // Skipped define: RL_TEXTURE_WRAP_REPEAT - // Skipped define: RL_TEXTURE_WRAP_CLAMP - // Skipped define: RL_TEXTURE_WRAP_MIRROR_REPEAT - // Skipped define: RL_TEXTURE_WRAP_MIRROR_CLAMP - // Skipped define: RL_MODELVIEW - // Skipped define: RL_PROJECTION - // Skipped define: RL_TEXTURE - // Skipped define: RL_LINES - // Skipped define: RL_TRIANGLES - // Skipped define: RL_QUADS - // Skipped define: RL_UNSIGNED_BYTE - // Skipped define: RL_FLOAT - // Skipped define: RL_STREAM_DRAW - // Skipped define: RL_STREAM_READ - // Skipped define: RL_STREAM_COPY - // Skipped define: RL_STATIC_DRAW - // Skipped define: RL_STATIC_READ - // Skipped define: RL_STATIC_COPY - // Skipped define: RL_DYNAMIC_DRAW - // Skipped define: RL_DYNAMIC_READ - // Skipped define: RL_DYNAMIC_COPY - // Skipped define: RL_FRAGMENT_SHADER - // Skipped define: RL_VERTEX_SHADER - // Skipped define: RL_COMPUTE_SHADER - // Skipped define: RL_SHADER_LOC_MAP_DIFFUSE - // Skipped define: RL_SHADER_LOC_MAP_SPECULAR - - // Custom functions - "fn TraceLog*(errorType: int , message: str)\n" + /* 1590 */ "// Skipped define: RAYLIB_VERSION_MAJOR\n" + /* 1591 */ "// Skipped define: RAYLIB_VERSION_MINOR\n" + /* 1592 */ "// Skipped define: RAYLIB_VERSION_PATCH\n" + /* 1593 */ "const RAYLIB_VERSION* = \"6.0\"\n" + /* 1594 */ "// Skipped define: __declspec(x)\n" + /* 1595 */ "// Skipped define: RLAPI\n" + /* 1596 */ "const PI* = 3.141592653589793\n" + /* 1597 */ "// Skipped define: DEG2RAD\n" + /* 1598 */ "// Skipped define: RAD2DEG\n" + /* 1599 */ "// Skipped define: RL_MALLOC(sz)\n" + /* 1600 */ "// Skipped define: RL_CALLOC(n,sz)\n" + /* 1601 */ "// Skipped define: RL_REALLOC(ptr,sz)\n" + /* 1602 */ "// Skipped define: RL_FREE(ptr)\n" + /* 1603 */ "// Skipped define: CLITERAL(type)\n" + /* 1604 */ "const LIGHTGRAY* = Color{ 200, 200, 200, 255 }\n" + /* 1605 */ "const GRAY* = Color{ 130, 130, 130, 255 }\n" + /* 1606 */ "const DARKGRAY* = Color{ 80, 80, 80, 255 }\n" + /* 1607 */ "const YELLOW* = Color{ 253, 249, 0, 255 }\n" + /* 1608 */ "const GOLD* = Color{ 255, 203, 0, 255 }\n" + /* 1609 */ "const ORANGE* = Color{ 255, 161, 0, 255 }\n" + /* 1610 */ "const PINK* = Color{ 255, 109, 194, 255 }\n" + /* 1611 */ "const RED* = Color{ 230, 41, 55, 255 }\n" + /* 1612 */ "const MAROON* = Color{ 190, 33, 55, 255 }\n" + /* 1613 */ "const GREEN* = Color{ 0, 228, 48, 255 }\n" + /* 1614 */ "const LIME* = Color{ 0, 158, 47, 255 }\n" + /* 1615 */ "const DARKGREEN* = Color{ 0, 117, 44, 255 }\n" + /* 1616 */ "const SKYBLUE* = Color{ 102, 191, 255, 255 }\n" + /* 1617 */ "const BLUE* = Color{ 0, 121, 241, 255 }\n" + /* 1618 */ "const DARKBLUE* = Color{ 0, 82, 172, 255 }\n" + /* 1619 */ "const PURPLE* = Color{ 200, 122, 255, 255 }\n" + /* 1620 */ "const VIOLET* = Color{ 135, 60, 190, 255 }\n" + /* 1621 */ "const DARKPURPLE* = Color{ 112, 31, 126, 255 }\n" + /* 1622 */ "const BEIGE* = Color{ 211, 176, 131, 255 }\n" + /* 1623 */ "const BROWN* = Color{ 127, 106, 79, 255 }\n" + /* 1624 */ "const DARKBROWN* = Color{ 76, 63, 47, 255 }\n" + /* 1625 */ "const WHITE* = Color{ 255, 255, 255, 255 }\n" + /* 1626 */ "const BLACK* = Color{ 0, 0, 0, 255 }\n" + /* 1627 */ "const BLANK* = Color{ 0, 0, 0, 0 }\n" + /* 1628 */ "const MAGENTA* = Color{ 255, 0, 255, 255 }\n" + /* 1629 */ "const RAYWHITE* = Color{ 245, 245, 245, 255 }\n" + /* 1630 */ "// Skipped define: MOUSE_LEFT_BUTTON\n" + /* 1631 */ "// Skipped define: MOUSE_RIGHT_BUTTON\n" + /* 1632 */ "// Skipped define: MOUSE_MIDDLE_BUTTON\n" + /* 1633 */ "// Skipped define: MATERIAL_MAP_DIFFUSE\n" + /* 1634 */ "// Skipped define: MATERIAL_MAP_SPECULAR\n" + /* 1635 */ "// Skipped define: SHADER_LOC_MAP_DIFFUSE\n" + /* 1636 */ "// Skipped define: SHADER_LOC_MAP_SPECULAR\n" + /* 1637 */ "// Skipped define: GetMouseRay\n" + /* 1638 */ "// Skipped define: RMAPI\n" + /* 1639 */ "const EPSILON* = 0.000001\n" + /* 1640 */ "// Skipped define: MatrixToFloat(mat)\n" + /* 1641 */ "// Skipped define: Vector3ToFloat(vec)\n" + /* 1642 */ "const RLGL_VERSION* = \"5.0\"\n" + /* 1643 */ "// Skipped define: TRACELOG(level, ...)\n" + /* 1644 */ "// Skipped define: RL_REALLOC(n,sz)\n" + /* 1645 */ "// Skipped define: RL_FREE(p)\n" + /* 1646 */ "// Skipped define: RL_DEFAULT_BATCH_BUFFER_ELEMENTS\n" + /* 1647 */ "// Skipped define: RL_DEFAULT_BATCH_BUFFERS\n" + /* 1648 */ "// Skipped define: RL_DEFAULT_BATCH_DRAWCALLS\n" + /* 1649 */ "// Skipped define: RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS\n" + /* 1650 */ "// Skipped define: RL_MAX_MATRIX_STACK_SIZE\n" + /* 1651 */ "// Skipped define: RL_MAX_SHADER_LOCATIONS\n" + /* 1652 */ "// Skipped define: RL_CULL_DISTANCE_NEAR\n" + /* 1653 */ "// Skipped define: RL_CULL_DISTANCE_FAR\n" + /* 1654 */ "// Skipped define: RL_TEXTURE_WRAP_S\n" + /* 1655 */ "// Skipped define: RL_TEXTURE_WRAP_T\n" + /* 1656 */ "// Skipped define: RL_TEXTURE_MAG_FILTER\n" + /* 1657 */ "// Skipped define: RL_TEXTURE_MIN_FILTER\n" + /* 1658 */ "// Skipped define: RL_TEXTURE_FILTER_NEAREST\n" + /* 1659 */ "// Skipped define: RL_TEXTURE_FILTER_LINEAR\n" + /* 1660 */ "// Skipped define: RL_TEXTURE_FILTER_MIP_NEAREST\n" + /* 1661 */ "// Skipped define: RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR\n" + /* 1662 */ "// Skipped define: RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST\n" + /* 1663 */ "// Skipped define: RL_TEXTURE_FILTER_MIP_LINEAR\n" + /* 1664 */ "// Skipped define: RL_TEXTURE_FILTER_ANISOTROPIC\n" + /* 1665 */ "// Skipped define: RL_TEXTURE_MIPMAP_BIAS_RATIO\n" + /* 1666 */ "// Skipped define: RL_TEXTURE_WRAP_REPEAT\n" + /* 1667 */ "// Skipped define: RL_TEXTURE_WRAP_CLAMP\n" + /* 1668 */ "// Skipped define: RL_TEXTURE_WRAP_MIRROR_REPEAT\n" + /* 1669 */ "// Skipped define: RL_TEXTURE_WRAP_MIRROR_CLAMP\n" + /* 1670 */ "// Skipped define: RL_MODELVIEW\n" + /* 1671 */ "// Skipped define: RL_PROJECTION\n" + /* 1672 */ "// Skipped define: RL_TEXTURE\n" + /* 1673 */ "// Skipped define: RL_LINES\n" + /* 1674 */ "// Skipped define: RL_TRIANGLES\n" + /* 1675 */ "// Skipped define: RL_QUADS\n" + /* 1676 */ "// Skipped define: RL_UNSIGNED_BYTE\n" + /* 1677 */ "// Skipped define: RL_FLOAT\n" + /* 1678 */ "// Skipped define: RL_STREAM_DRAW\n" + /* 1679 */ "// Skipped define: RL_STREAM_READ\n" + /* 1680 */ "// Skipped define: RL_STREAM_COPY\n" + /* 1681 */ "// Skipped define: RL_STATIC_DRAW\n" + /* 1682 */ "// Skipped define: RL_STATIC_READ\n" + /* 1683 */ "// Skipped define: RL_STATIC_COPY\n" + /* 1684 */ "// Skipped define: RL_DYNAMIC_DRAW\n" + /* 1685 */ "// Skipped define: RL_DYNAMIC_READ\n" + /* 1686 */ "// Skipped define: RL_DYNAMIC_COPY\n" + /* 1687 */ "// Skipped define: RL_FRAGMENT_SHADER\n" + /* 1688 */ "// Skipped define: RL_VERTEX_SHADER\n" + /* 1689 */ "// Skipped define: RL_COMPUTE_SHADER\n" + /* 1690 */ "// Skipped define: RL_ZERO\n" + /* 1691 */ "// Skipped define: RL_ONE\n" + /* 1692 */ "// Skipped define: RL_SRC_COLOR\n" + /* 1693 */ "// Skipped define: RL_ONE_MINUS_SRC_COLOR\n" + /* 1694 */ "// Skipped define: RL_SRC_ALPHA\n" + /* 1695 */ "// Skipped define: RL_ONE_MINUS_SRC_ALPHA\n" + /* 1696 */ "// Skipped define: RL_DST_ALPHA\n" + /* 1697 */ "// Skipped define: RL_ONE_MINUS_DST_ALPHA\n" + /* 1698 */ "// Skipped define: RL_DST_COLOR\n" + /* 1699 */ "// Skipped define: RL_ONE_MINUS_DST_COLOR\n" + /* 1700 */ "// Skipped define: RL_SRC_ALPHA_SATURATE\n" + /* 1701 */ "// Skipped define: RL_CONSTANT_COLOR\n" + /* 1702 */ "// Skipped define: RL_ONE_MINUS_CONSTANT_COLOR\n" + /* 1703 */ "// Skipped define: RL_CONSTANT_ALPHA\n" + /* 1704 */ "// Skipped define: RL_ONE_MINUS_CONSTANT_ALPHA\n" + /* 1705 */ "// Skipped define: RL_FUNC_ADD\n" + /* 1706 */ "// Skipped define: RL_MIN\n" + /* 1707 */ "// Skipped define: RL_MAX\n" + /* 1708 */ "// Skipped define: RL_FUNC_SUBTRACT\n" + /* 1709 */ "// Skipped define: RL_FUNC_REVERSE_SUBTRACT\n" + /* 1710 */ "// Skipped define: RL_BLEND_EQUATION\n" + /* 1711 */ "// Skipped define: RL_BLEND_EQUATION_RGB\n" + /* 1712 */ "// Skipped define: RL_BLEND_EQUATION_ALPHA\n" + /* 1713 */ "// Skipped define: RL_BLEND_DST_RGB\n" + /* 1714 */ "// Skipped define: RL_BLEND_SRC_RGB\n" + /* 1715 */ "// Skipped define: RL_BLEND_DST_ALPHA\n" + /* 1716 */ "// Skipped define: RL_BLEND_SRC_ALPHA\n" + /* 1717 */ "// Skipped define: RL_BLEND_COLOR\n" + /* 1718 */ "// Skipped define: RL_READ_FRAMEBUFFER\n" + /* 1719 */ "// Skipped define: RL_DRAW_FRAMEBUFFER\n" + /* 1720 */ "// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION\n" + /* 1721 */ "// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD\n" + /* 1722 */ "// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL\n" + /* 1723 */ "// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR\n" + /* 1724 */ "// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT\n" + /* 1725 */ "// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2\n" + /* 1726 */ "// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_INDICES\n" + /* 1727 */ "// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_BONEINDICES\n" + /* 1728 */ "// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_BONEWEIGHTS\n" + /* 1729 */ "// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_INSTANCETRANSFORM\n" + /* 1730 */ "// Skipped define: RL_SHADER_LOC_MAP_DIFFUSE\n" + /* 1731 */ "// Skipped define: RL_SHADER_LOC_MAP_SPECULAR\n" // End of the module. " "; @@ -14085,6 +17822,8 @@ bool umkaAddRaylib(void *umka) { return umkaAddModule(umka, "raylib", moduleCode); } +#endif // RAYLIB_UMKA_NO_ADD_MODULE + #if defined(__cplusplus) } #endif diff --git a/package.json b/package.json index 37ed7b2..dff79cf 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,13 @@ { "name": "raylib-umka", "description": "Umka bindings for raylib.", - "version": "0.0.3", + "version": "0.0.6", "private": true, "scripts": { "generator": "node generator", - "build": "npm run generator && cmake -B build -S . && cmake --build build", + "prebuild": "npm run generator", + "build": "cmake -B build -S .", + "postbuild": "cmake --build build", "test": "npm run build && ctest --verbose --test-dir build", "start": "npm run build && build/bin/raylib-umka", "web": "mkdir -p build && cd build && emcmake cmake .. -DPLATFORM=Web -DCMAKE_BUILD_TYPE=Release && emmake make", @@ -28,7 +30,7 @@ }, "homepage": "https://github.com/RobLoach/raylib-umka", "devDependencies": { - "@raylib/api": "^4.2.0", - "gh-pages": "^4.0.0" + "@raylib/api": "github:robloach/raylib-api#6", + "gh-pages": "^6.3.0" } } diff --git a/umi/CMakeLists.txt b/umi/CMakeLists.txt new file mode 100644 index 0000000..31f69fa --- /dev/null +++ b/umi/CMakeLists.txt @@ -0,0 +1,15 @@ +find_package(raylib) +add_library(raylib-umi SHARED raylib.c) +set_target_properties(raylib-umi PROPERTIES + OUTPUT_NAME "raylib" + SUFFIX ".umi" + PREFIX "" +) + +target_link_libraries(raylib-umi PUBLIC + raylib + umka + raylib-umka-h +) + +configure_file(raylib.um raylib.um) diff --git a/umi/raylib.c b/umi/raylib.c new file mode 100644 index 0000000..e6af136 --- /dev/null +++ b/umi/raylib.c @@ -0,0 +1,18 @@ +/** + * String-ify a _Pragma call to rename exported functions. + */ +#define DO_PRAGMA_(x) _Pragma (#x) +#define DO_PRAGMA(x) DO_PRAGMA_(x) + +/** + * Tell the linker to rename the umka* functions to the correct raylib method. + */ +#define RAYLIB_UMKA_FUNCTION(functionName) DO_PRAGMA("comment(linker, \"/EXPORT:umka" #functionName "=" #functionName "\")") + +/** + * Skip compiling the umkaAddRaylib() function. We don't need it for the .umi. + */ +#define RAYLIB_UMKA_NO_ADD_MODULE + +#define RAYLIB_UMKA_IMPLEMENTATION +#include "raylib-umka.h" diff --git a/umi/raylib.um b/umi/raylib.um new file mode 100644 index 0000000..d0c4be2 --- /dev/null +++ b/umi/raylib.um @@ -0,0 +1,1750 @@ +/** + * raylib-umka v0.0.6 - Umka bindings for raylib. + * + * https://github.com/RobLoach/raylib-umka + * + * NOTE: Do not edit this file, as it is automatically generated. + * + * LICENSE: zlib/libpng + */ + +// Structures +type ( + Vector2* = struct { + x: real32 + y: real32 + } + Vector3* = struct { + x: real32 + y: real32 + z: real32 + } + Vector4* = struct { + x: real32 + y: real32 + z: real32 + w: real32 + } + Matrix* = struct { + m0: real32 + m4: real32 + m8: real32 + m12: real32 + m1: real32 + m5: real32 + m9: real32 + m13: real32 + m2: real32 + m6: real32 + m10: real32 + m14: real32 + m3: real32 + m7: real32 + m11: real32 + m15: real32 + } + Color* = struct { + r: uint8 + g: uint8 + b: uint8 + a: uint8 + } + Rectangle* = struct { + x: real32 + y: real32 + width: real32 + height: real32 + } + Image* = struct { + data: ^void + width: int32 + height: int32 + mipmaps: int32 + format: int32 + } + Texture* = struct { + id: uint32 + width: int32 + height: int32 + mipmaps: int32 + format: int32 + } + RenderTexture* = struct { + id: uint32 + texture: Texture + depth: Texture + } + NPatchInfo* = struct { + source: Rectangle + left: int32 + top: int32 + right: int32 + bottom: int32 + layout: int32 + } + GlyphInfo* = struct { + value: int32 + offsetX: int32 + offsetY: int32 + advanceX: int32 + image: Image + } + Font* = struct { + baseSize: int32 + glyphCount: int32 + glyphPadding: int32 + texture: Texture + recs: ^Rectangle + glyphs: ^GlyphInfo + } + Camera3D* = struct { + position: Vector3 + target: Vector3 + up: Vector3 + fovy: real32 + projection: int32 + } + Camera2D* = struct { + offset: Vector2 + target: Vector2 + rotation: real32 + zoom: real32 + } + Mesh* = struct { + vertexCount: int32 + triangleCount: int32 + vertices: ^real32 + texcoords: ^real32 + texcoords2: ^real32 + normals: ^real32 + tangents: ^real32 + colors: ^uint8 + indices: ^uint16 + boneCount: int32 + boneIndices: ^uint8 + boneWeights: ^real32 + animVertices: ^real32 + animNormals: ^real32 + vaoId: uint32 + vboId: ^uint32 + } + Shader* = struct { + id: uint32 + locs: ^int32 + } + MaterialMap* = struct { + texture: Texture + color: Color + value: real32 + } + Material* = struct { + shader: Shader + maps: ^MaterialMap + params: [4]real32 + } + Transform* = struct { + translation: Vector3 + rotation: Vector4 + scale: Vector3 + } + BoneInfo* = struct { + name: [32]char + parent: int32 + } + ModelSkeleton* = struct { + boneCount: int32 + bones: ^BoneInfo + bindPose: ^Transform + } + Model* = struct { + transform: Matrix + meshCount: int32 + materialCount: int32 + meshes: ^Mesh + materials: ^Material + meshMaterial: ^int32 + skeleton: ModelSkeleton + currentPose: ^Transform + boneMatrices: ^Matrix + } + ModelAnimation* = struct { + name: [32]char + boneCount: int32 + keyframeCount: int32 + keyframePoses: ^^Transform + } + Ray* = struct { + position: Vector3 + direction: Vector3 + } + RayCollision* = struct { + hit: bool + distance: real32 + point: Vector3 + normal: Vector3 + } + BoundingBox* = struct { + min: Vector3 + max: Vector3 + } + Wave* = struct { + frameCount: uint32 + sampleRate: uint32 + sampleSize: uint32 + channels: uint32 + data: ^void + } + AudioStream* = struct { + buffer: ^void + processor: ^void + sampleRate: uint32 + sampleSize: uint32 + channels: uint32 + } + Sound* = struct { + stream: AudioStream + frameCount: uint32 + } + Music* = struct { + stream: AudioStream + frameCount: uint32 + looping: bool + ctxType: int32 + ctxData: ^void + } + VrDeviceInfo* = struct { + hResolution: int32 + vResolution: int32 + hScreenSize: real32 + vScreenSize: real32 + eyeToScreenDistance: real32 + lensSeparationDistance: real32 + interpupillaryDistance: real32 + lensDistortionValues: [4]real32 + chromaAbCorrection: [4]real32 + } + VrStereoConfig* = struct { + projection: [2]Matrix + viewOffset: [2]Matrix + leftLensCenter: [2]real32 + rightLensCenter: [2]real32 + leftScreenCenter: [2]real32 + rightScreenCenter: [2]real32 + scale: [2]real32 + scaleIn: [2]real32 + } + FilePathList* = struct { + count: uint32 + paths: ^str + } + AutomationEvent* = struct { + frame: uint32 + type: uint32 + params: [4]int32 + } + AutomationEventList* = struct { + capacity: uint32 + count: uint32 + events: ^AutomationEvent + } + float3* = struct { + v: [3]real32 + } + float16* = struct { + v: [16]real32 + } + rlDrawCall* = struct { + mode: int32 + vertexCount: int32 + vertexAlignment: int32 + textureId: uint32 + } +) + +// Callbacks +type ( +// Skipped TraceLogCallback + LoadFileDataCallback = fn(fileName: str, dataSize: ^int32): ^uint8 + SaveFileDataCallback = fn(fileName: str, data: ^void, dataSize: int32): bool + LoadFileTextCallback = fn(fileName: str): str + SaveFileTextCallback = fn(fileName: str, text: str): bool + AudioCallback = fn(bufferData: ^void, frames: uint32) +) + +// Functions +fn TraceLog*(errorType: int, message: str) +fn InitWindow*(width: int32, height: int32, title: str) +fn CloseWindow*() +fn WindowShouldClose*(): bool +fn IsWindowReady*(): bool +fn IsWindowFullscreen*(): bool +fn IsWindowHidden*(): bool +fn IsWindowMinimized*(): bool +fn IsWindowMaximized*(): bool +fn IsWindowFocused*(): bool +fn IsWindowResized*(): bool +fn IsWindowState*(flag: uint32): bool +fn SetWindowState*(flags: uint32) +fn ClearWindowState*(flags: uint32) +fn ToggleFullscreen*() +fn ToggleBorderlessWindowed*() +fn MaximizeWindow*() +fn MinimizeWindow*() +fn RestoreWindow*() +fn SetWindowIcon*(image: Image) +fn SetWindowIcons*(images: ^Image, count: int32) +fn SetWindowTitle*(title: str) +fn SetWindowPosition*(x: int32, y: int32) +fn SetWindowMonitor*(monitor: int32) +fn SetWindowMinSize*(width: int32, height: int32) +fn SetWindowMaxSize*(width: int32, height: int32) +fn SetWindowSize*(width: int32, height: int32) +fn SetWindowOpacity*(opacity: real32) +fn SetWindowFocused*() +fn GetWindowHandle*(): ^void +fn GetScreenWidth*(): int32 +fn GetScreenHeight*(): int32 +fn GetRenderWidth*(): int32 +fn GetRenderHeight*(): int32 +fn GetMonitorCount*(): int32 +fn GetCurrentMonitor*(): int32 +fn GetMonitorPosition*(monitor: int32): Vector2 +fn GetMonitorWidth*(monitor: int32): int32 +fn GetMonitorHeight*(monitor: int32): int32 +fn GetMonitorPhysicalWidth*(monitor: int32): int32 +fn GetMonitorPhysicalHeight*(monitor: int32): int32 +fn GetMonitorRefreshRate*(monitor: int32): int32 +fn GetWindowPosition*(): Vector2 +fn GetWindowScaleDPI*(): Vector2 +fn GetMonitorName*(monitor: int32): str +fn SetClipboardText*(text: str) +fn GetClipboardText*(): str +fn GetClipboardImage*(): Image +fn EnableEventWaiting*() +fn DisableEventWaiting*() +fn ShowCursor*() +fn HideCursor*() +fn IsCursorHidden*(): bool +fn EnableCursor*() +fn DisableCursor*() +fn IsCursorOnScreen*(): bool +fn ClearBackground*(color: Color) +fn BeginDrawing*() +fn EndDrawing*() +fn BeginMode2D*(camera: Camera2D) +fn EndMode2D*() +fn BeginMode3D*(camera: Camera3D) +fn EndMode3D*() +fn BeginTextureMode*(target: RenderTexture) +fn EndTextureMode*() +fn BeginShaderMode*(shader: Shader) +fn EndShaderMode*() +fn BeginBlendMode*(mode: int32) +fn EndBlendMode*() +fn BeginScissorMode*(x: int32, y: int32, width: int32, height: int32) +fn EndScissorMode*() +fn BeginVrStereoMode*(config: VrStereoConfig) +fn EndVrStereoMode*() +fn LoadVrStereoConfig*(device: VrDeviceInfo): VrStereoConfig +fn UnloadVrStereoConfig*(config: VrStereoConfig) +fn LoadShader*(vsFileName: str, fsFileName: str): Shader +fn LoadShaderFromMemory*(vsCode: str, fsCode: str): Shader +fn IsShaderValid*(shader: Shader): bool +fn GetShaderLocation*(shader: Shader, uniformName: str): int32 +fn GetShaderLocationAttrib*(shader: Shader, attribName: str): int32 +fn SetShaderValue*(shader: Shader, locIndex: int32, value: ^void, uniformType: int32) +fn SetShaderValueV*(shader: Shader, locIndex: int32, value: ^void, uniformType: int32, count: int32) +fn SetShaderValueMatrix*(shader: Shader, locIndex: int32, mat: Matrix) +fn SetShaderValueTexture*(shader: Shader, locIndex: int32, texture: Texture) +fn UnloadShader*(shader: Shader) +fn GetScreenToWorldRay*(position: Vector2, camera: Camera3D): Ray +fn GetScreenToWorldRayEx*(position: Vector2, camera: Camera3D, width: int32, height: int32): Ray +fn GetWorldToScreen*(position: Vector3, camera: Camera3D): Vector2 +fn GetWorldToScreenEx*(position: Vector3, camera: Camera3D, width: int32, height: int32): Vector2 +fn GetWorldToScreen2D*(position: Vector2, camera: Camera2D): Vector2 +fn GetScreenToWorld2D*(position: Vector2, camera: Camera2D): Vector2 +fn GetCameraMatrix*(camera: Camera3D): Matrix +fn GetCameraMatrix2D*(camera: Camera2D): Matrix +fn SetTargetFPS*(fps: int32) +fn GetFrameTime*(): real32 +fn GetTime*(): real +fn GetFPS*(): int32 +fn SwapScreenBuffer*() +fn PollInputEvents*() +fn WaitTime*(seconds: real) +fn SetRandomSeed*(seed: uint32) +fn GetRandomValue*(min: int32, max: int32): int32 +fn LoadRandomSequence*(count: uint32, min: int32, max: int32): ^int32 +fn UnloadRandomSequence*(sequence: ^int32) +fn TakeScreenshot*(fileName: str) +fn SetConfigFlags*(flags: uint32) +fn OpenURL*(url: str) +fn SetTraceLogLevel*(logLevel: int32) +// Skipping TraceLog +// Skipping SetTraceLogCallback +fn MemAlloc*(size: uint32): ^void +fn MemRealloc*(ptr: ^void, size: uint32): ^void +fn MemFree*(ptr: ^void) +fn LoadFileData*(fileName: str, dataSize: ^int32): ^uint8 +fn UnloadFileData*(data: ^uint8) +fn SaveFileData*(fileName: str, data: ^void, dataSize: int32): bool +fn ExportDataAsCode*(data: ^uint8, dataSize: int32, fileName: str): bool +fn LoadFileText*(fileName: str): str +fn UnloadFileText*(text: str) +fn SaveFileText*(fileName: str, text: str): bool +// Skipping SetLoadFileDataCallback +// Skipping SetSaveFileDataCallback +// Skipping SetLoadFileTextCallback +// Skipping SetSaveFileTextCallback +fn FileRename*(fileName: str, fileRename: str): int32 +fn FileRemove*(fileName: str): int32 +fn FileCopy*(srcPath: str, dstPath: str): int32 +fn FileMove*(srcPath: str, dstPath: str): int32 +fn FileTextReplace*(fileName: str, search: str, replacement: str): int32 +fn FileTextFindIndex*(fileName: str, search: str): int32 +fn FileExists*(fileName: str): bool +fn DirectoryExists*(dirPath: str): bool +fn IsFileExtension*(fileName: str, ext: str): bool +fn GetFileLength*(fileName: str): int32 +fn GetFileModTime*(fileName: str): int +fn GetFileExtension*(fileName: str): str +fn GetFileName*(filePath: str): str +fn GetFileNameWithoutExt*(filePath: str): str +fn GetDirectoryPath*(filePath: str): str +fn GetPrevDirectoryPath*(dirPath: str): str +fn GetWorkingDirectory*(): str +fn GetApplicationDirectory*(): str +fn MakeDirectory*(dirPath: str): int32 +fn ChangeDirectory*(dirPath: str): bool +fn IsPathFile*(path: str): bool +fn IsFileNameValid*(fileName: str): bool +fn LoadDirectoryFiles*(dirPath: str): FilePathList +fn LoadDirectoryFilesEx*(basePath: str, filter: str, scanSubdirs: bool): FilePathList +fn UnloadDirectoryFiles*(files: FilePathList) +fn IsFileDropped*(): bool +fn LoadDroppedFiles*(): FilePathList +fn UnloadDroppedFiles*(files: FilePathList) +fn GetDirectoryFileCount*(dirPath: str): uint32 +fn GetDirectoryFileCountEx*(basePath: str, filter: str, scanSubdirs: bool): uint32 +fn CompressData*(data: ^uint8, dataSize: int32, compDataSize: ^int32): ^uint8 +fn DecompressData*(compData: ^uint8, compDataSize: int32, dataSize: ^int32): ^uint8 +fn EncodeDataBase64*(data: ^uint8, dataSize: int32, outputSize: ^int32): str +fn DecodeDataBase64*(text: str, outputSize: ^int32): ^uint8 +fn ComputeCRC32*(data: ^uint8, dataSize: int32): uint32 +fn ComputeMD5*(data: ^uint8, dataSize: int32): ^uint32 +fn ComputeSHA1*(data: ^uint8, dataSize: int32): ^uint32 +fn ComputeSHA256*(data: ^uint8, dataSize: int32): ^uint32 +fn LoadAutomationEventList*(fileName: str): AutomationEventList +fn UnloadAutomationEventList*(list: AutomationEventList) +fn ExportAutomationEventList*(list: AutomationEventList, fileName: str): bool +fn SetAutomationEventList*(list: ^AutomationEventList) +fn SetAutomationEventBaseFrame*(frame: int32) +fn StartAutomationEventRecording*() +fn StopAutomationEventRecording*() +fn PlayAutomationEvent*(event: AutomationEvent) +fn IsKeyPressed*(key: int32): bool +fn IsKeyPressedRepeat*(key: int32): bool +fn IsKeyDown*(key: int32): bool +fn IsKeyReleased*(key: int32): bool +fn IsKeyUp*(key: int32): bool +fn GetKeyPressed*(): int32 +fn GetCharPressed*(): int32 +fn GetKeyName*(key: int32): str +fn SetExitKey*(key: int32) +fn IsGamepadAvailable*(gamepad: int32): bool +fn GetGamepadName*(gamepad: int32): str +fn IsGamepadButtonPressed*(gamepad: int32, button: int32): bool +fn IsGamepadButtonDown*(gamepad: int32, button: int32): bool +fn IsGamepadButtonReleased*(gamepad: int32, button: int32): bool +fn IsGamepadButtonUp*(gamepad: int32, button: int32): bool +fn GetGamepadButtonPressed*(): int32 +fn GetGamepadAxisCount*(gamepad: int32): int32 +fn GetGamepadAxisMovement*(gamepad: int32, axis: int32): real32 +fn SetGamepadMappings*(mappings: str): int32 +fn SetGamepadVibration*(gamepad: int32, leftMotor: real32, rightMotor: real32, duration: real32) +fn IsMouseButtonPressed*(button: int32): bool +fn IsMouseButtonDown*(button: int32): bool +fn IsMouseButtonReleased*(button: int32): bool +fn IsMouseButtonUp*(button: int32): bool +fn GetMouseX*(): int32 +fn GetMouseY*(): int32 +fn GetMousePosition*(): Vector2 +fn GetMouseDelta*(): Vector2 +fn SetMousePosition*(x: int32, y: int32) +fn SetMouseOffset*(offsetX: int32, offsetY: int32) +fn SetMouseScale*(scaleX: real32, scaleY: real32) +fn GetMouseWheelMove*(): real32 +fn GetMouseWheelMoveV*(): Vector2 +fn SetMouseCursor*(cursor: int32) +fn GetTouchX*(): int32 +fn GetTouchY*(): int32 +fn GetTouchPosition*(index: int32): Vector2 +fn GetTouchPointId*(index: int32): int32 +fn GetTouchPointCount*(): int32 +fn SetGesturesEnabled*(flags: uint32) +fn IsGestureDetected*(gesture: uint32): bool +fn GetGestureDetected*(): int32 +fn GetGestureHoldDuration*(): real32 +fn GetGestureDragVector*(): Vector2 +fn GetGestureDragAngle*(): real32 +fn GetGesturePinchVector*(): Vector2 +fn GetGesturePinchAngle*(): real32 +fn UpdateCamera*(camera: ^Camera3D, mode: int32) +fn UpdateCameraPro*(camera: ^Camera3D, movement: Vector3, rotation: Vector3, zoom: real32) +fn SetShapesTexture*(texture: Texture, source: Rectangle) +fn GetShapesTexture*(): Texture +fn GetShapesTextureRectangle*(): Rectangle +fn DrawPixel*(posX: int32, posY: int32, color: Color) +fn DrawPixelV*(position: Vector2, color: Color) +fn DrawLine*(startPosX: int32, startPosY: int32, endPosX: int32, endPosY: int32, color: Color) +fn DrawLineV*(startPos: Vector2, endPos: Vector2, color: Color) +fn DrawLineEx*(startPos: Vector2, endPos: Vector2, thick: real32, color: Color) +fn DrawLineStrip*(points: const ^Vector2, pointCount: int32, color: Color) +fn DrawLineBezier*(startPos: Vector2, endPos: Vector2, thick: real32, color: Color) +fn DrawLineDashed*(startPos: Vector2, endPos: Vector2, dashSize: int32, spaceSize: int32, color: Color) +fn DrawCircle*(centerX: int32, centerY: int32, radius: real32, color: Color) +fn DrawCircleSector*(center: Vector2, radius: real32, startAngle: real32, endAngle: real32, segments: int32, color: Color) +fn DrawCircleSectorLines*(center: Vector2, radius: real32, startAngle: real32, endAngle: real32, segments: int32, color: Color) +fn DrawCircleGradient*(centerX: int32, centerY: int32, radius: real32, inner: Color, outer: Color) +fn DrawCircleV*(center: Vector2, radius: real32, color: Color) +fn DrawCircleLines*(centerX: int32, centerY: int32, radius: real32, color: Color) +fn DrawCircleLinesV*(center: Vector2, radius: real32, color: Color) +fn DrawEllipse*(centerX: int32, centerY: int32, radiusH: real32, radiusV: real32, color: Color) +fn DrawEllipseV*(center: Vector2, radiusH: real32, radiusV: real32, color: Color) +fn DrawEllipseLines*(centerX: int32, centerY: int32, radiusH: real32, radiusV: real32, color: Color) +fn DrawEllipseLinesV*(center: Vector2, radiusH: real32, radiusV: real32, color: Color) +fn DrawRing*(center: Vector2, innerRadius: real32, outerRadius: real32, startAngle: real32, endAngle: real32, segments: int32, color: Color) +fn DrawRingLines*(center: Vector2, innerRadius: real32, outerRadius: real32, startAngle: real32, endAngle: real32, segments: int32, color: Color) +fn DrawRectangle*(posX: int32, posY: int32, width: int32, height: int32, color: Color) +fn DrawRectangleV*(position: Vector2, size: Vector2, color: Color) +fn DrawRectangleRec*(rec: Rectangle, color: Color) +fn DrawRectanglePro*(rec: Rectangle, origin: Vector2, rotation: real32, color: Color) +fn DrawRectangleGradientV*(posX: int32, posY: int32, width: int32, height: int32, top: Color, bottom: Color) +fn DrawRectangleGradientH*(posX: int32, posY: int32, width: int32, height: int32, left: Color, right: Color) +fn DrawRectangleGradientEx*(rec: Rectangle, topLeft: Color, bottomLeft: Color, bottomRight: Color, topRight: Color) +fn DrawRectangleLines*(posX: int32, posY: int32, width: int32, height: int32, color: Color) +fn DrawRectangleLinesEx*(rec: Rectangle, lineThick: real32, color: Color) +fn DrawRectangleRounded*(rec: Rectangle, roundness: real32, segments: int32, color: Color) +fn DrawRectangleRoundedLines*(rec: Rectangle, roundness: real32, segments: int32, color: Color) +fn DrawRectangleRoundedLinesEx*(rec: Rectangle, roundness: real32, segments: int32, lineThick: real32, color: Color) +fn DrawTriangle*(v1: Vector2, v2: Vector2, v3: Vector2, color: Color) +fn DrawTriangleLines*(v1: Vector2, v2: Vector2, v3: Vector2, color: Color) +fn DrawTriangleFan*(points: const ^Vector2, pointCount: int32, color: Color) +fn DrawTriangleStrip*(points: const ^Vector2, pointCount: int32, color: Color) +fn DrawPoly*(center: Vector2, sides: int32, radius: real32, rotation: real32, color: Color) +fn DrawPolyLines*(center: Vector2, sides: int32, radius: real32, rotation: real32, color: Color) +fn DrawPolyLinesEx*(center: Vector2, sides: int32, radius: real32, rotation: real32, lineThick: real32, color: Color) +fn DrawSplineLinear*(points: const ^Vector2, pointCount: int32, thick: real32, color: Color) +fn DrawSplineBasis*(points: const ^Vector2, pointCount: int32, thick: real32, color: Color) +fn DrawSplineCatmullRom*(points: const ^Vector2, pointCount: int32, thick: real32, color: Color) +fn DrawSplineBezierQuadratic*(points: const ^Vector2, pointCount: int32, thick: real32, color: Color) +fn DrawSplineBezierCubic*(points: const ^Vector2, pointCount: int32, thick: real32, color: Color) +fn DrawSplineSegmentLinear*(p1: Vector2, p2: Vector2, thick: real32, color: Color) +fn DrawSplineSegmentBasis*(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2, thick: real32, color: Color) +fn DrawSplineSegmentCatmullRom*(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2, thick: real32, color: Color) +fn DrawSplineSegmentBezierQuadratic*(p1: Vector2, c2: Vector2, p3: Vector2, thick: real32, color: Color) +fn DrawSplineSegmentBezierCubic*(p1: Vector2, c2: Vector2, c3: Vector2, p4: Vector2, thick: real32, color: Color) +fn GetSplinePointLinear*(startPos: Vector2, endPos: Vector2, t: real32): Vector2 +fn GetSplinePointBasis*(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2, t: real32): Vector2 +fn GetSplinePointCatmullRom*(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2, t: real32): Vector2 +fn GetSplinePointBezierQuad*(p1: Vector2, c2: Vector2, p3: Vector2, t: real32): Vector2 +fn GetSplinePointBezierCubic*(p1: Vector2, c2: Vector2, c3: Vector2, p4: Vector2, t: real32): Vector2 +fn CheckCollisionRecs*(rec1: Rectangle, rec2: Rectangle): bool +fn CheckCollisionCircles*(center1: Vector2, radius1: real32, center2: Vector2, radius2: real32): bool +fn CheckCollisionCircleRec*(center: Vector2, radius: real32, rec: Rectangle): bool +fn CheckCollisionCircleLine*(center: Vector2, radius: real32, p1: Vector2, p2: Vector2): bool +fn CheckCollisionPointRec*(point: Vector2, rec: Rectangle): bool +fn CheckCollisionPointCircle*(point: Vector2, center: Vector2, radius: real32): bool +fn CheckCollisionPointTriangle*(point: Vector2, p1: Vector2, p2: Vector2, p3: Vector2): bool +fn CheckCollisionPointLine*(point: Vector2, p1: Vector2, p2: Vector2, threshold: int32): bool +fn CheckCollisionPointPoly*(point: Vector2, points: const ^Vector2, pointCount: int32): bool +fn CheckCollisionLines*(startPos1: Vector2, endPos1: Vector2, startPos2: Vector2, endPos2: Vector2, collisionPoint: ^Vector2): bool +fn GetCollisionRec*(rec1: Rectangle, rec2: Rectangle): Rectangle +fn LoadImage*(fileName: str): Image +fn LoadImageRaw*(fileName: str, width: int32, height: int32, format: int32, headerSize: int32): Image +fn LoadImageAnim*(fileName: str, frames: ^int32): Image +fn LoadImageAnimFromMemory*(fileType: str, fileData: ^uint8, dataSize: int32, frames: ^int32): Image +fn LoadImageFromMemory*(fileType: str, fileData: ^uint8, dataSize: int32): Image +fn LoadImageFromTexture*(texture: Texture): Image +fn LoadImageFromScreen*(): Image +fn IsImageValid*(image: Image): bool +fn UnloadImage*(image: Image) +fn ExportImage*(image: Image, fileName: str): bool +fn ExportImageToMemory*(image: Image, fileType: str, fileSize: ^int32): ^uint8 +fn ExportImageAsCode*(image: Image, fileName: str): bool +fn GenImageColor*(width: int32, height: int32, color: Color): Image +fn GenImageGradientLinear*(width: int32, height: int32, direction: int32, start: Color, end: Color): Image +fn GenImageGradientRadial*(width: int32, height: int32, density: real32, inner: Color, outer: Color): Image +fn GenImageGradientSquare*(width: int32, height: int32, density: real32, inner: Color, outer: Color): Image +fn GenImageChecked*(width: int32, height: int32, checksX: int32, checksY: int32, col1: Color, col2: Color): Image +fn GenImageWhiteNoise*(width: int32, height: int32, factor: real32): Image +fn GenImagePerlinNoise*(width: int32, height: int32, offsetX: int32, offsetY: int32, scale: real32): Image +fn GenImageCellular*(width: int32, height: int32, tileSize: int32): Image +fn GenImageText*(width: int32, height: int32, text: str): Image +fn ImageCopy*(image: Image): Image +fn ImageFromImage*(image: Image, rec: Rectangle): Image +fn ImageFromChannel*(image: Image, selectedChannel: int32): Image +fn ImageText*(text: str, fontSize: int32, color: Color): Image +fn ImageTextEx*(font: Font, text: str, fontSize: real32, spacing: real32, tint: Color): Image +fn ImageFormat*(image: ^Image, newFormat: int32) +fn ImageToPOT*(image: ^Image, fill: Color) +fn ImageCrop*(image: ^Image, crop: Rectangle) +fn ImageAlphaCrop*(image: ^Image, threshold: real32) +fn ImageAlphaClear*(image: ^Image, color: Color, threshold: real32) +fn ImageAlphaMask*(image: ^Image, alphaMask: Image) +fn ImageAlphaPremultiply*(image: ^Image) +fn ImageBlurGaussian*(image: ^Image, blurSize: int32) +fn ImageKernelConvolution*(image: ^Image, kernel: const ^real32, kernelSize: int32) +fn ImageResize*(image: ^Image, newWidth: int32, newHeight: int32) +fn ImageResizeNN*(image: ^Image, newWidth: int32, newHeight: int32) +fn ImageResizeCanvas*(image: ^Image, newWidth: int32, newHeight: int32, offsetX: int32, offsetY: int32, fill: Color) +fn ImageMipmaps*(image: ^Image) +fn ImageDither*(image: ^Image, rBpp: int32, gBpp: int32, bBpp: int32, aBpp: int32) +fn ImageFlipVertical*(image: ^Image) +fn ImageFlipHorizontal*(image: ^Image) +fn ImageRotate*(image: ^Image, degrees: int32) +fn ImageRotateCW*(image: ^Image) +fn ImageRotateCCW*(image: ^Image) +fn ImageColorTint*(image: ^Image, color: Color) +fn ImageColorInvert*(image: ^Image) +fn ImageColorGrayscale*(image: ^Image) +fn ImageColorContrast*(image: ^Image, contrast: real32) +fn ImageColorBrightness*(image: ^Image, brightness: int32) +fn ImageColorReplace*(image: ^Image, color: Color, replace: Color) +fn LoadImageColors*(image: Image): ^Color +fn LoadImagePalette*(image: Image, maxPaletteSize: int32, colorCount: ^int32): ^Color +fn UnloadImageColors*(colors: ^Color) +fn UnloadImagePalette*(colors: ^Color) +fn GetImageAlphaBorder*(image: Image, threshold: real32): Rectangle +fn GetImageColor*(image: Image, x: int32, y: int32): Color +fn ImageClearBackground*(dst: ^Image, color: Color) +fn ImageDrawPixel*(dst: ^Image, posX: int32, posY: int32, color: Color) +fn ImageDrawPixelV*(dst: ^Image, position: Vector2, color: Color) +fn ImageDrawLine*(dst: ^Image, startPosX: int32, startPosY: int32, endPosX: int32, endPosY: int32, color: Color) +fn ImageDrawLineV*(dst: ^Image, start: Vector2, end: Vector2, color: Color) +fn ImageDrawLineEx*(dst: ^Image, start: Vector2, end: Vector2, thick: int32, color: Color) +fn ImageDrawCircle*(dst: ^Image, centerX: int32, centerY: int32, radius: int32, color: Color) +fn ImageDrawCircleV*(dst: ^Image, center: Vector2, radius: int32, color: Color) +fn ImageDrawCircleLines*(dst: ^Image, centerX: int32, centerY: int32, radius: int32, color: Color) +fn ImageDrawCircleLinesV*(dst: ^Image, center: Vector2, radius: int32, color: Color) +fn ImageDrawRectangle*(dst: ^Image, posX: int32, posY: int32, width: int32, height: int32, color: Color) +fn ImageDrawRectangleV*(dst: ^Image, position: Vector2, size: Vector2, color: Color) +fn ImageDrawRectangleRec*(dst: ^Image, rec: Rectangle, color: Color) +fn ImageDrawRectangleLines*(dst: ^Image, rec: Rectangle, thick: int32, color: Color) +fn ImageDrawTriangle*(dst: ^Image, v1: Vector2, v2: Vector2, v3: Vector2, color: Color) +fn ImageDrawTriangleEx*(dst: ^Image, v1: Vector2, v2: Vector2, v3: Vector2, c1: Color, c2: Color, c3: Color) +fn ImageDrawTriangleLines*(dst: ^Image, v1: Vector2, v2: Vector2, v3: Vector2, color: Color) +fn ImageDrawTriangleFan*(dst: ^Image, points: const ^Vector2, pointCount: int32, color: Color) +fn ImageDrawTriangleStrip*(dst: ^Image, points: const ^Vector2, pointCount: int32, color: Color) +fn ImageDraw*(dst: ^Image, src: Image, srcRec: Rectangle, dstRec: Rectangle, tint: Color) +fn ImageDrawText*(dst: ^Image, text: str, posX: int32, posY: int32, fontSize: int32, color: Color) +fn ImageDrawTextEx*(dst: ^Image, font: Font, text: str, position: Vector2, fontSize: real32, spacing: real32, tint: Color) +fn LoadTexture*(fileName: str): Texture +fn LoadTextureFromImage*(image: Image): Texture +fn LoadTextureCubemap*(image: Image, layout: int32): Texture +fn LoadRenderTexture*(width: int32, height: int32): RenderTexture +fn IsTextureValid*(texture: Texture): bool +fn UnloadTexture*(texture: Texture) +fn IsRenderTextureValid*(target: RenderTexture): bool +fn UnloadRenderTexture*(target: RenderTexture) +fn UpdateTexture*(texture: Texture, pixels: ^void) +fn UpdateTextureRec*(texture: Texture, rec: Rectangle, pixels: ^void) +fn GenTextureMipmaps*(texture: ^Texture) +fn SetTextureFilter*(texture: Texture, filter: int32) +fn SetTextureWrap*(texture: Texture, wrap: int32) +fn DrawTexture*(texture: Texture, posX: int32, posY: int32, tint: Color) +fn DrawTextureV*(texture: Texture, position: Vector2, tint: Color) +fn DrawTextureEx*(texture: Texture, position: Vector2, rotation: real32, scale: real32, tint: Color) +fn DrawTextureRec*(texture: Texture, source: Rectangle, position: Vector2, tint: Color) +fn DrawTexturePro*(texture: Texture, source: Rectangle, dest: Rectangle, origin: Vector2, rotation: real32, tint: Color) +fn DrawTextureNPatch*(texture: Texture, nPatchInfo: NPatchInfo, dest: Rectangle, origin: Vector2, rotation: real32, tint: Color) +fn ColorIsEqual*(col1: Color, col2: Color): bool +fn Fade*(color: Color, alpha: real32): Color +fn ColorToInt*(color: Color): int32 +fn ColorNormalize*(color: Color): Vector4 +fn ColorFromNormalized*(normalized: Vector4): Color +fn ColorToHSV*(color: Color): Vector3 +fn ColorFromHSV*(hue: real32, saturation: real32, value: real32): Color +fn ColorTint*(color: Color, tint: Color): Color +fn ColorBrightness*(color: Color, factor: real32): Color +fn ColorContrast*(color: Color, contrast: real32): Color +fn ColorAlpha*(color: Color, alpha: real32): Color +fn ColorAlphaBlend*(dst: Color, src: Color, tint: Color): Color +fn ColorLerp*(color1: Color, color2: Color, factor: real32): Color +fn GetColor*(hexValue: uint32): Color +fn GetPixelColor*(srcPtr: ^void, format: int32): Color +fn SetPixelColor*(dstPtr: ^void, color: Color, format: int32) +fn GetPixelDataSize*(width: int32, height: int32, format: int32): int32 +fn GetFontDefault*(): Font +fn LoadFont*(fileName: str): Font +fn LoadFontEx*(fileName: str, fontSize: int32, codepoints: ^int32, codepointCount: int32): Font +fn LoadFontFromImage*(image: Image, key: Color, firstChar: int32): Font +fn LoadFontFromMemory*(fileType: str, fileData: ^uint8, dataSize: int32, fontSize: int32, codepoints: ^int32, codepointCount: int32): Font +fn IsFontValid*(font: Font): bool +// Skipping LoadFontData +fn GenImageFontAtlas*(glyphs: ^void, glyphRecs: ^void, glyphCount: int32, fontSize: int32, padding: int32, packMethod: int32): Image +fn UnloadFontData*(glyphs: ^GlyphInfo, glyphCount: int32) +fn UnloadFont*(font: Font) +fn ExportFontAsCode*(font: Font, fileName: str): bool +fn DrawFPS*(posX: int32, posY: int32) +fn DrawText*(text: str, posX: int32, posY: int32, fontSize: int32, color: Color) +fn DrawTextEx*(font: Font, text: str, position: Vector2, fontSize: real32, spacing: real32, tint: Color) +fn DrawTextPro*(font: Font, text: str, position: Vector2, origin: Vector2, rotation: real32, fontSize: real32, spacing: real32, tint: Color) +fn DrawTextCodepoint*(font: Font, codepoint: int32, position: Vector2, fontSize: real32, tint: Color) +fn DrawTextCodepoints*(font: Font, codepoints: ^int32, codepointCount: int32, position: Vector2, fontSize: real32, spacing: real32, tint: Color) +fn SetTextLineSpacing*(spacing: int32) +fn MeasureText*(text: str, fontSize: int32): int32 +fn MeasureTextEx*(font: Font, text: str, fontSize: real32, spacing: real32): Vector2 +fn MeasureTextCodepoints*(font: Font, codepoints: ^int32, length: int32, fontSize: real32, spacing: real32): Vector2 +fn GetGlyphIndex*(font: Font, codepoint: int32): int32 +fn GetGlyphInfo*(font: Font, codepoint: int32): GlyphInfo +fn GetGlyphAtlasRec*(font: Font, codepoint: int32): Rectangle +fn LoadUTF8*(codepoints: ^int32, length: int32): str +fn UnloadUTF8*(text: str) +fn LoadCodepoints*(text: str, count: ^int32): ^int32 +fn UnloadCodepoints*(codepoints: ^int32) +fn GetCodepointCount*(text: str): int32 +fn GetCodepoint*(text: str, codepointSize: ^int32): int32 +fn GetCodepointNext*(text: str, codepointSize: ^int32): int32 +fn GetCodepointPrevious*(text: str, codepointSize: ^int32): int32 +fn CodepointToUTF8*(codepoint: int32, utf8Size: ^int32): str +fn LoadTextLines*(text: str, count: ^int32): ^str +fn UnloadTextLines*(text: ^str, lineCount: int32) +fn TextCopy*(dst: str, src: str): int32 +fn TextIsEqual*(text1: str, text2: str): bool +fn TextLength*(text: str): uint32 +// Skipping TextFormat +fn TextSubtext*(text: str, position: int32, length: int32): str +fn TextRemoveSpaces*(text: str): str +fn GetTextBetween*(text: str, begin: str, end: str): str +fn TextReplace*(text: str, search: str, replacement: str): str +fn TextReplaceBetween*(text: str, begin: str, end: str, replacement: str): str +fn TextInsert*(text: str, insert: str, position: int32): str +fn TextJoin*(textList: ^str, count: int32, delimiter: str): str +fn TextSplit*(text: str, delimiter: char, count: ^int32): ^str +fn TextAppend*(text: str, append: str, position: ^int32) +fn TextFindIndex*(text: str, search: str): int32 +fn TextToUpper*(text: str): str +fn TextToLower*(text: str): str +fn TextToPascal*(text: str): str +fn TextToSnake*(text: str): str +fn TextToCamel*(text: str): str +fn TextToInteger*(text: str): int32 +fn TextToFloat*(text: str): real32 +fn DrawLine3D*(startPos: Vector3, endPos: Vector3, color: Color) +fn DrawPoint3D*(position: Vector3, color: Color) +fn DrawCircle3D*(center: Vector3, radius: real32, rotationAxis: Vector3, rotationAngle: real32, color: Color) +fn DrawTriangle3D*(v1: Vector3, v2: Vector3, v3: Vector3, color: Color) +fn DrawTriangleStrip3D*(points: ^Vector3, pointCount: int32, color: Color) +fn DrawCube*(position: Vector3, width: real32, height: real32, length: real32, color: Color) +fn DrawCubeV*(position: Vector3, size: Vector3, color: Color) +fn DrawCubeWires*(position: Vector3, width: real32, height: real32, length: real32, color: Color) +fn DrawCubeWiresV*(position: Vector3, size: Vector3, color: Color) +fn DrawSphere*(centerPos: Vector3, radius: real32, color: Color) +fn DrawSphereEx*(centerPos: Vector3, radius: real32, rings: int32, slices: int32, color: Color) +fn DrawSphereWires*(centerPos: Vector3, radius: real32, rings: int32, slices: int32, color: Color) +fn DrawCylinder*(position: Vector3, radiusTop: real32, radiusBottom: real32, height: real32, slices: int32, color: Color) +fn DrawCylinderEx*(startPos: Vector3, endPos: Vector3, startRadius: real32, endRadius: real32, sides: int32, color: Color) +fn DrawCylinderWires*(position: Vector3, radiusTop: real32, radiusBottom: real32, height: real32, slices: int32, color: Color) +fn DrawCylinderWiresEx*(startPos: Vector3, endPos: Vector3, startRadius: real32, endRadius: real32, sides: int32, color: Color) +fn DrawCapsule*(startPos: Vector3, endPos: Vector3, radius: real32, slices: int32, rings: int32, color: Color) +fn DrawCapsuleWires*(startPos: Vector3, endPos: Vector3, radius: real32, slices: int32, rings: int32, color: Color) +fn DrawPlane*(centerPos: Vector3, size: Vector2, color: Color) +fn DrawRay*(ray: Ray, color: Color) +fn DrawGrid*(slices: int32, spacing: real32) +fn LoadModel*(fileName: str): Model +fn LoadModelFromMesh*(mesh: Mesh): Model +fn IsModelValid*(model: Model): bool +fn UnloadModel*(model: Model) +fn GetModelBoundingBox*(model: Model): BoundingBox +fn DrawModel*(model: Model, position: Vector3, scale: real32, tint: Color) +fn DrawModelEx*(model: Model, position: Vector3, rotationAxis: Vector3, rotationAngle: real32, scale: Vector3, tint: Color) +fn DrawModelWires*(model: Model, position: Vector3, scale: real32, tint: Color) +fn DrawModelWiresEx*(model: Model, position: Vector3, rotationAxis: Vector3, rotationAngle: real32, scale: Vector3, tint: Color) +fn DrawModelPoints*(model: Model, position: Vector3, scale: real32, tint: Color) +fn DrawModelPointsEx*(model: Model, position: Vector3, rotationAxis: Vector3, rotationAngle: real32, scale: Vector3, tint: Color) +fn DrawBoundingBox*(box: BoundingBox, color: Color) +fn DrawBillboard*(camera: Camera3D, texture: Texture, position: Vector3, scale: real32, tint: Color) +fn DrawBillboardRec*(camera: Camera3D, texture: Texture, source: Rectangle, position: Vector3, size: Vector2, tint: Color) +fn DrawBillboardPro*(camera: Camera3D, texture: Texture, source: Rectangle, position: Vector3, up: Vector3, size: Vector2, origin: Vector2, rotation: real32, tint: Color) +fn UploadMesh*(mesh: ^Mesh, dynamic: bool) +fn UpdateMeshBuffer*(mesh: Mesh, index: int32, data: ^void, dataSize: int32, offset: int32) +fn UnloadMesh*(mesh: Mesh) +fn DrawMesh*(mesh: Mesh, material: Material, transform: Matrix) +fn DrawMeshInstanced*(mesh: Mesh, material: Material, transforms: ^Matrix, instances: int32) +fn GetMeshBoundingBox*(mesh: Mesh): BoundingBox +fn GenMeshTangents*(mesh: ^Mesh) +fn ExportMesh*(mesh: Mesh, fileName: str): bool +fn ExportMeshAsCode*(mesh: Mesh, fileName: str): bool +fn GenMeshPoly*(sides: int32, radius: real32): Mesh +fn GenMeshPlane*(width: real32, length: real32, resX: int32, resZ: int32): Mesh +fn GenMeshCube*(width: real32, height: real32, length: real32): Mesh +fn GenMeshSphere*(radius: real32, rings: int32, slices: int32): Mesh +fn GenMeshHemiSphere*(radius: real32, rings: int32, slices: int32): Mesh +fn GenMeshCylinder*(radius: real32, height: real32, slices: int32): Mesh +fn GenMeshCone*(radius: real32, height: real32, slices: int32): Mesh +fn GenMeshTorus*(radius: real32, size: real32, radSeg: int32, sides: int32): Mesh +fn GenMeshKnot*(radius: real32, size: real32, radSeg: int32, sides: int32): Mesh +fn GenMeshHeightmap*(heightmap: Image, size: Vector3): Mesh +fn GenMeshCubicmap*(cubicmap: Image, cubeSize: Vector3): Mesh +fn LoadMaterials*(fileName: str, materialCount: ^int32): ^Material +fn LoadMaterialDefault*(): Material +fn IsMaterialValid*(material: Material): bool +fn UnloadMaterial*(material: Material) +fn SetMaterialTexture*(material: ^Material, mapType: int32, texture: Texture) +fn SetModelMeshMaterial*(model: ^Model, meshId: int32, materialId: int32) +fn LoadModelAnimations*(fileName: str, animCount: ^int32): ^ModelAnimation +fn UpdateModelAnimation*(model: Model, anim: ModelAnimation, frame: real32) +fn UpdateModelAnimationEx*(model: Model, animA: ModelAnimation, frameA: real32, animB: ModelAnimation, frameB: real32, blend: real32) +fn UnloadModelAnimations*(animations: ^ModelAnimation, animCount: int32) +fn IsModelAnimationValid*(model: Model, anim: ModelAnimation): bool +fn CheckCollisionSpheres*(center1: Vector3, radius1: real32, center2: Vector3, radius2: real32): bool +fn CheckCollisionBoxes*(box1: BoundingBox, box2: BoundingBox): bool +fn CheckCollisionBoxSphere*(box: BoundingBox, center: Vector3, radius: real32): bool +fn GetRayCollisionSphere*(ray: Ray, center: Vector3, radius: real32): RayCollision +fn GetRayCollisionBox*(ray: Ray, box: BoundingBox): RayCollision +fn GetRayCollisionMesh*(ray: Ray, mesh: Mesh, transform: Matrix): RayCollision +fn GetRayCollisionTriangle*(ray: Ray, p1: Vector3, p2: Vector3, p3: Vector3): RayCollision +fn GetRayCollisionQuad*(ray: Ray, p1: Vector3, p2: Vector3, p3: Vector3, p4: Vector3): RayCollision +fn InitAudioDevice*() +fn CloseAudioDevice*() +fn IsAudioDeviceReady*(): bool +fn SetMasterVolume*(volume: real32) +fn GetMasterVolume*(): real32 +fn LoadWave*(fileName: str): Wave +fn LoadWaveFromMemory*(fileType: str, fileData: ^uint8, dataSize: int32): Wave +fn IsWaveValid*(wave: Wave): bool +fn LoadSound*(fileName: str): Sound +fn LoadSoundFromWave*(wave: Wave): Sound +fn LoadSoundAlias*(source: Sound): Sound +fn IsSoundValid*(sound: Sound): bool +fn UpdateSound*(sound: Sound, data: ^void, sampleCount: int32) +fn UnloadWave*(wave: Wave) +fn UnloadSound*(sound: Sound) +fn UnloadSoundAlias*(alias: Sound) +fn ExportWave*(wave: Wave, fileName: str): bool +fn ExportWaveAsCode*(wave: Wave, fileName: str): bool +fn PlaySound*(sound: Sound) +fn StopSound*(sound: Sound) +fn PauseSound*(sound: Sound) +fn ResumeSound*(sound: Sound) +fn IsSoundPlaying*(sound: Sound): bool +fn SetSoundVolume*(sound: Sound, volume: real32) +fn SetSoundPitch*(sound: Sound, pitch: real32) +fn SetSoundPan*(sound: Sound, pan: real32) +fn WaveCopy*(wave: Wave): Wave +fn WaveCrop*(wave: ^Wave, initFrame: int32, finalFrame: int32) +fn WaveFormat*(wave: ^Wave, sampleRate: int32, sampleSize: int32, channels: int32) +fn LoadWaveSamples*(wave: Wave): ^real32 +fn UnloadWaveSamples*(samples: ^real32) +fn LoadMusicStream*(fileName: str): Music +fn LoadMusicStreamFromMemory*(fileType: str, data: ^uint8, dataSize: int32): Music +fn IsMusicValid*(music: Music): bool +fn UnloadMusicStream*(music: Music) +fn PlayMusicStream*(music: Music) +fn IsMusicStreamPlaying*(music: Music): bool +fn UpdateMusicStream*(music: Music) +fn StopMusicStream*(music: Music) +fn PauseMusicStream*(music: Music) +fn ResumeMusicStream*(music: Music) +fn SeekMusicStream*(music: Music, position: real32) +fn SetMusicVolume*(music: Music, volume: real32) +fn SetMusicPitch*(music: Music, pitch: real32) +fn SetMusicPan*(music: Music, pan: real32) +fn GetMusicTimeLength*(music: Music): real32 +fn GetMusicTimePlayed*(music: Music): real32 +fn LoadAudioStream*(sampleRate: uint32, sampleSize: uint32, channels: uint32): AudioStream +fn IsAudioStreamValid*(stream: AudioStream): bool +fn UnloadAudioStream*(stream: AudioStream) +fn UpdateAudioStream*(stream: AudioStream, data: ^void, frameCount: int32) +fn IsAudioStreamProcessed*(stream: AudioStream): bool +fn PlayAudioStream*(stream: AudioStream) +fn PauseAudioStream*(stream: AudioStream) +fn ResumeAudioStream*(stream: AudioStream) +fn IsAudioStreamPlaying*(stream: AudioStream): bool +fn StopAudioStream*(stream: AudioStream) +fn SetAudioStreamVolume*(stream: AudioStream, volume: real32) +fn SetAudioStreamPitch*(stream: AudioStream, pitch: real32) +fn SetAudioStreamPan*(stream: AudioStream, pan: real32) +fn SetAudioStreamBufferSizeDefault*(size: int32) +// Skipping SetAudioStreamCallback +// Skipping AttachAudioStreamProcessor +// Skipping DetachAudioStreamProcessor +fn AttachAudioMixedProcessor*(processor: AudioCallback) +fn DetachAudioMixedProcessor*(processor: AudioCallback) +fn Clamp*(value: real32, min: real32, max: real32): real32 +fn Lerp*(start: real32, end: real32, amount: real32): real32 +fn Normalize*(value: real32, start: real32, end: real32): real32 +fn Remap*(value: real32, inputStart: real32, inputEnd: real32, outputStart: real32, outputEnd: real32): real32 +fn Wrap*(value: real32, min: real32, max: real32): real32 +fn FloatEquals*(x: real32, y: real32): int32 +fn Vector2Zero*(): Vector2 +fn Vector2One*(): Vector2 +fn Vector2Add*(v1: Vector2, v2: Vector2): Vector2 +fn Vector2AddValue*(v: Vector2, add: real32): Vector2 +fn Vector2Subtract*(v1: Vector2, v2: Vector2): Vector2 +fn Vector2SubtractValue*(v: Vector2, sub: real32): Vector2 +fn Vector2Length*(v: Vector2): real32 +fn Vector2LengthSqr*(v: Vector2): real32 +fn Vector2DotProduct*(v1: Vector2, v2: Vector2): real32 +fn Vector2CrossProduct*(v1: Vector2, v2: Vector2): real32 +fn Vector2Distance*(v1: Vector2, v2: Vector2): real32 +fn Vector2DistanceSqr*(v1: Vector2, v2: Vector2): real32 +fn Vector2Angle*(v1: Vector2, v2: Vector2): real32 +fn Vector2LineAngle*(start: Vector2, end: Vector2): real32 +fn Vector2Scale*(v: Vector2, scale: real32): Vector2 +fn Vector2Multiply*(v1: Vector2, v2: Vector2): Vector2 +fn Vector2Negate*(v: Vector2): Vector2 +fn Vector2Divide*(v1: Vector2, v2: Vector2): Vector2 +fn Vector2Normalize*(v: Vector2): Vector2 +fn Vector2Transform*(v: Vector2, mat: Matrix): Vector2 +fn Vector2Lerp*(v1: Vector2, v2: Vector2, amount: real32): Vector2 +fn Vector2Reflect*(v: Vector2, normal: Vector2): Vector2 +fn Vector2Min*(v1: Vector2, v2: Vector2): Vector2 +fn Vector2Max*(v1: Vector2, v2: Vector2): Vector2 +fn Vector2Rotate*(v: Vector2, angle: real32): Vector2 +fn Vector2MoveTowards*(v: Vector2, target: Vector2, maxDistance: real32): Vector2 +fn Vector2Invert*(v: Vector2): Vector2 +fn Vector2Clamp*(v: Vector2, min: Vector2, max: Vector2): Vector2 +fn Vector2ClampValue*(v: Vector2, min: real32, max: real32): Vector2 +fn Vector2Equals*(p: Vector2, q: Vector2): int32 +fn Vector2Refract*(v: Vector2, n: Vector2, r: real32): Vector2 +fn Vector3Zero*(): Vector3 +fn Vector3One*(): Vector3 +fn Vector3Add*(v1: Vector3, v2: Vector3): Vector3 +fn Vector3AddValue*(v: Vector3, add: real32): Vector3 +fn Vector3Subtract*(v1: Vector3, v2: Vector3): Vector3 +fn Vector3SubtractValue*(v: Vector3, sub: real32): Vector3 +fn Vector3Scale*(v: Vector3, scalar: real32): Vector3 +fn Vector3Multiply*(v1: Vector3, v2: Vector3): Vector3 +fn Vector3CrossProduct*(v1: Vector3, v2: Vector3): Vector3 +fn Vector3Perpendicular*(v: Vector3): Vector3 +fn Vector3Length*(v: Vector3): real32 +fn Vector3LengthSqr*(v: Vector3): real32 +fn Vector3DotProduct*(v1: Vector3, v2: Vector3): real32 +fn Vector3Distance*(v1: Vector3, v2: Vector3): real32 +fn Vector3DistanceSqr*(v1: Vector3, v2: Vector3): real32 +fn Vector3Angle*(v1: Vector3, v2: Vector3): real32 +fn Vector3Negate*(v: Vector3): Vector3 +fn Vector3Divide*(v1: Vector3, v2: Vector3): Vector3 +fn Vector3Normalize*(v: Vector3): Vector3 +fn Vector3Project*(v1: Vector3, v2: Vector3): Vector3 +fn Vector3Reject*(v1: Vector3, v2: Vector3): Vector3 +fn Vector3OrthoNormalize*(v1: ^Vector3, v2: ^Vector3) +fn Vector3Transform*(v: Vector3, mat: Matrix): Vector3 +fn Vector3RotateByQuaternion*(v: Vector3, q: Vector4): Vector3 +fn Vector3RotateByAxisAngle*(v: Vector3, axis: Vector3, angle: real32): Vector3 +fn Vector3MoveTowards*(v: Vector3, target: Vector3, maxDistance: real32): Vector3 +fn Vector3Lerp*(v1: Vector3, v2: Vector3, amount: real32): Vector3 +fn Vector3CubicHermite*(v1: Vector3, tangent1: Vector3, v2: Vector3, tangent2: Vector3, amount: real32): Vector3 +fn Vector3Reflect*(v: Vector3, normal: Vector3): Vector3 +fn Vector3Min*(v1: Vector3, v2: Vector3): Vector3 +fn Vector3Max*(v1: Vector3, v2: Vector3): Vector3 +fn Vector3Barycenter*(p: Vector3, a: Vector3, b: Vector3, c: Vector3): Vector3 +fn Vector3Unproject*(source: Vector3, projection: Matrix, view: Matrix): Vector3 +fn Vector3ToFloatV*(v: Vector3): float3 +fn Vector3Invert*(v: Vector3): Vector3 +fn Vector3Clamp*(v: Vector3, min: Vector3, max: Vector3): Vector3 +fn Vector3ClampValue*(v: Vector3, min: real32, max: real32): Vector3 +fn Vector3Equals*(p: Vector3, q: Vector3): int32 +fn Vector3Refract*(v: Vector3, n: Vector3, r: real32): Vector3 +fn Vector4Zero*(): Vector4 +fn Vector4One*(): Vector4 +fn Vector4Add*(v1: Vector4, v2: Vector4): Vector4 +fn Vector4AddValue*(v: Vector4, add: real32): Vector4 +fn Vector4Subtract*(v1: Vector4, v2: Vector4): Vector4 +fn Vector4SubtractValue*(v: Vector4, add: real32): Vector4 +fn Vector4Length*(v: Vector4): real32 +fn Vector4LengthSqr*(v: Vector4): real32 +fn Vector4DotProduct*(v1: Vector4, v2: Vector4): real32 +fn Vector4Distance*(v1: Vector4, v2: Vector4): real32 +fn Vector4DistanceSqr*(v1: Vector4, v2: Vector4): real32 +fn Vector4Scale*(v: Vector4, scale: real32): Vector4 +fn Vector4Multiply*(v1: Vector4, v2: Vector4): Vector4 +fn Vector4Negate*(v: Vector4): Vector4 +fn Vector4Divide*(v1: Vector4, v2: Vector4): Vector4 +fn Vector4Normalize*(v: Vector4): Vector4 +fn Vector4Min*(v1: Vector4, v2: Vector4): Vector4 +fn Vector4Max*(v1: Vector4, v2: Vector4): Vector4 +fn Vector4Lerp*(v1: Vector4, v2: Vector4, amount: real32): Vector4 +fn Vector4MoveTowards*(v: Vector4, target: Vector4, maxDistance: real32): Vector4 +fn Vector4Invert*(v: Vector4): Vector4 +fn Vector4Equals*(p: Vector4, q: Vector4): int32 +fn MatrixDeterminant*(mat: Matrix): real32 +fn MatrixTrace*(mat: Matrix): real32 +fn MatrixTranspose*(mat: Matrix): Matrix +fn MatrixInvert*(mat: Matrix): Matrix +fn MatrixIdentity*(): Matrix +fn MatrixAdd*(left: Matrix, right: Matrix): Matrix +fn MatrixSubtract*(left: Matrix, right: Matrix): Matrix +fn MatrixMultiply*(left: Matrix, right: Matrix): Matrix +fn MatrixMultiplyValue*(left: Matrix, value: real32): Matrix +fn MatrixTranslate*(x: real32, y: real32, z: real32): Matrix +fn MatrixRotate*(axis: Vector3, angle: real32): Matrix +fn MatrixRotateX*(angle: real32): Matrix +fn MatrixRotateY*(angle: real32): Matrix +fn MatrixRotateZ*(angle: real32): Matrix +fn MatrixRotateXYZ*(angle: Vector3): Matrix +fn MatrixRotateZYX*(angle: Vector3): Matrix +fn MatrixScale*(x: real32, y: real32, z: real32): Matrix +fn MatrixFrustum*(left: real, right: real, bottom: real, top: real, nearPlane: real, farPlane: real): Matrix +fn MatrixPerspective*(fovY: real, aspect: real, nearPlane: real, farPlane: real): Matrix +fn MatrixOrtho*(left: real, right: real, bottom: real, top: real, nearPlane: real, farPlane: real): Matrix +fn MatrixLookAt*(eye: Vector3, target: Vector3, up: Vector3): Matrix +fn MatrixToFloatV*(mat: Matrix): float16 +fn QuaternionAdd*(q1: Vector4, q2: Vector4): Vector4 +fn QuaternionAddValue*(q: Vector4, add: real32): Vector4 +fn QuaternionSubtract*(q1: Vector4, q2: Vector4): Vector4 +fn QuaternionSubtractValue*(q: Vector4, sub: real32): Vector4 +fn QuaternionIdentity*(): Vector4 +fn QuaternionLength*(q: Vector4): real32 +fn QuaternionNormalize*(q: Vector4): Vector4 +fn QuaternionInvert*(q: Vector4): Vector4 +fn QuaternionMultiply*(q1: Vector4, q2: Vector4): Vector4 +fn QuaternionScale*(q: Vector4, mul: real32): Vector4 +fn QuaternionDivide*(q1: Vector4, q2: Vector4): Vector4 +fn QuaternionLerp*(q1: Vector4, q2: Vector4, amount: real32): Vector4 +fn QuaternionNlerp*(q1: Vector4, q2: Vector4, amount: real32): Vector4 +fn QuaternionSlerp*(q1: Vector4, q2: Vector4, amount: real32): Vector4 +fn QuaternionCubicHermiteSpline*(q1: Vector4, outTangent1: Vector4, q2: Vector4, inTangent2: Vector4, t: real32): Vector4 +fn QuaternionFromVector3ToVector3*(from: Vector3, to: Vector3): Vector4 +fn QuaternionFromMatrix*(mat: Matrix): Vector4 +fn QuaternionToMatrix*(q: Vector4): Matrix +fn QuaternionFromAxisAngle*(axis: Vector3, angle: real32): Vector4 +fn QuaternionToAxisAngle*(q: Vector4, outAxis: ^Vector3, outAngle: ^real32) +fn QuaternionFromEuler*(pitch: real32, yaw: real32, roll: real32): Vector4 +fn QuaternionToEuler*(q: Vector4): Vector3 +fn QuaternionTransform*(q: Vector4, mat: Matrix): Vector4 +fn QuaternionEquals*(p: Vector4, q: Vector4): int32 +fn MatrixCompose*(translation: Vector3, rotation: Vector4, scale: Vector3): Matrix +fn MatrixDecompose*(mat: Matrix, translation: ^Vector3, rotation: ^Vector4, scale: ^Vector3) +fn rlMatrixMode*(mode: int32) +fn rlPushMatrix*() +fn rlPopMatrix*() +fn rlLoadIdentity*() +fn rlTranslatef*(x: real32, y: real32, z: real32) +fn rlRotatef*(angle: real32, x: real32, y: real32, z: real32) +fn rlScalef*(x: real32, y: real32, z: real32) +fn rlMultMatrixf*(matf: const ^real32) +fn rlFrustum*(left: real, right: real, bottom: real, top: real, znear: real, zfar: real) +fn rlOrtho*(left: real, right: real, bottom: real, top: real, znear: real, zfar: real) +fn rlViewport*(x: int32, y: int32, width: int32, height: int32) +fn rlSetClipPlanes*(nearPlane: real, farPlane: real) +fn rlGetCullDistanceNear*(): real +fn rlGetCullDistanceFar*(): real +fn rlBegin*(mode: int32) +fn rlEnd*() +fn rlVertex2i*(x: int32, y: int32) +fn rlVertex2f*(x: real32, y: real32) +fn rlVertex3f*(x: real32, y: real32, z: real32) +fn rlTexCoord2f*(x: real32, y: real32) +fn rlNormal3f*(x: real32, y: real32, z: real32) +fn rlColor4ub*(r: uint8, g: uint8, b: uint8, a: uint8) +fn rlColor3f*(x: real32, y: real32, z: real32) +fn rlColor4f*(x: real32, y: real32, z: real32, w: real32) +fn rlEnableVertexArray*(vaoId: uint32): bool +fn rlDisableVertexArray*() +fn rlEnableVertexBuffer*(id: uint32) +fn rlDisableVertexBuffer*() +fn rlEnableVertexBufferElement*(id: uint32) +fn rlDisableVertexBufferElement*() +fn rlEnableVertexAttribute*(index: uint32) +fn rlDisableVertexAttribute*(index: uint32) +// Skipping rlEnableStatePointer +// Skipping rlDisableStatePointer +fn rlActiveTextureSlot*(slot: int32) +fn rlEnableTexture*(id: uint32) +fn rlDisableTexture*() +fn rlEnableTextureCubemap*(id: uint32) +fn rlDisableTextureCubemap*() +fn rlTextureParameters*(id: uint32, param: int32, value: int32) +fn rlCubemapParameters*(id: uint32, param: int32, value: int32) +fn rlEnableShader*(id: uint32) +fn rlDisableShader*() +fn rlEnableFramebuffer*(id: uint32) +fn rlDisableFramebuffer*() +fn rlGetActiveFramebuffer*(): uint32 +fn rlActiveDrawBuffers*(count: int32) +fn rlBlitFramebuffer*(srcX: int32, srcY: int32, srcWidth: int32, srcHeight: int32, dstX: int32, dstY: int32, dstWidth: int32, dstHeight: int32, bufferMask: int32) +fn rlBindFramebuffer*(target: uint32, framebuffer: uint32) +fn rlEnableColorBlend*() +fn rlDisableColorBlend*() +fn rlEnableDepthTest*() +fn rlDisableDepthTest*() +fn rlEnableDepthMask*() +fn rlDisableDepthMask*() +fn rlEnableBackfaceCulling*() +fn rlDisableBackfaceCulling*() +fn rlColorMask*(r: bool, g: bool, b: bool, a: bool) +fn rlSetCullFace*(mode: int32) +fn rlEnableScissorTest*() +fn rlDisableScissorTest*() +fn rlScissor*(x: int32, y: int32, width: int32, height: int32) +fn rlEnablePointMode*() +fn rlDisablePointMode*() +fn rlSetPointSize*(size: real32) +fn rlGetPointSize*(): real32 +fn rlEnableWireMode*() +fn rlDisableWireMode*() +fn rlSetLineWidth*(width: real32) +fn rlGetLineWidth*(): real32 +fn rlEnableSmoothLines*() +fn rlDisableSmoothLines*() +fn rlEnableStereoRender*() +fn rlDisableStereoRender*() +fn rlIsStereoRenderEnabled*(): bool +fn rlClearColor*(r: uint8, g: uint8, b: uint8, a: uint8) +fn rlClearScreenBuffers*() +fn rlCheckErrors*() +fn rlSetBlendMode*(mode: int32) +fn rlSetBlendFactors*(glSrcFactor: int32, glDstFactor: int32, glEquation: int32) +fn rlSetBlendFactorsSeparate*(glSrcRGB: int32, glDstRGB: int32, glSrcAlpha: int32, glDstAlpha: int32, glEqRGB: int32, glEqAlpha: int32) +fn rlglInit*(width: int32, height: int32) +fn rlglClose*() +fn rlLoadExtensions*(loader: ^void) +fn rlGetProcAddress*(procName: str): ^void +fn rlGetVersion*(): int32 +fn rlSetFramebufferWidth*(width: int32) +fn rlGetFramebufferWidth*(): int32 +fn rlSetFramebufferHeight*(height: int32) +fn rlGetFramebufferHeight*(): int32 +fn rlGetTextureIdDefault*(): uint32 +fn rlGetShaderIdDefault*(): uint32 +fn rlGetShaderLocsDefault*(): ^int32 +// Skipping rlLoadRenderBatch +// Skipping rlUnloadRenderBatch +// Skipping rlDrawRenderBatch +// Skipping rlSetRenderBatchActive +fn rlDrawRenderBatchActive*() +fn rlCheckRenderBatchLimit*(vCount: int32): bool +fn rlSetTexture*(id: uint32) +fn rlLoadVertexArray*(): uint32 +fn rlLoadVertexBuffer*(buffer: ^void, size: int32, dynamic: bool): uint32 +fn rlLoadVertexBufferElement*(buffer: ^void, size: int32, dynamic: bool): uint32 +fn rlUpdateVertexBuffer*(bufferId: uint32, data: ^void, dataSize: int32, offset: int32) +fn rlUpdateVertexBufferElements*(id: uint32, data: ^void, dataSize: int32, offset: int32) +fn rlUnloadVertexArray*(vaoId: uint32) +fn rlUnloadVertexBuffer*(vboId: uint32) +fn rlSetVertexAttribute*(index: uint32, compSize: int32, typeInput: int32, normalized: bool, stride: int32, offset: int32) +fn rlSetVertexAttributeDivisor*(index: uint32, divisor: int32) +fn rlSetVertexAttributeDefault*(locIndex: int32, value: ^void, attribType: int32, count: int32) +fn rlDrawVertexArray*(offset: int32, count: int32) +fn rlDrawVertexArrayElements*(offset: int32, count: int32, buffer: ^void) +fn rlDrawVertexArrayInstanced*(offset: int32, count: int32, instances: int32) +fn rlDrawVertexArrayElementsInstanced*(offset: int32, count: int32, buffer: ^void, instances: int32) +fn rlLoadTexture*(data: ^void, width: int32, height: int32, format: int32, mipmapCount: int32): uint32 +fn rlLoadTextureDepth*(width: int32, height: int32, useRenderBuffer: bool): uint32 +fn rlLoadTextureCubemap*(data: ^void, size: int32, format: int32, mipmapCount: int32): uint32 +fn rlUpdateTexture*(id: uint32, offsetX: int32, offsetY: int32, width: int32, height: int32, format: int32, data: ^void) +fn rlGetGlTextureFormats*(format: int32, glInternalFormat: ^uint32, glFormat: ^uint32, glType: ^uint32) +fn rlGetPixelFormatName*(format: uint32): str +fn rlUnloadTexture*(id: uint32) +fn rlGenTextureMipmaps*(id: uint32, width: int32, height: int32, format: int32, mipmaps: ^int32) +fn rlReadTexturePixels*(id: uint32, width: int32, height: int32, format: int32): ^void +fn rlReadScreenPixels*(width: int32, height: int32): ^uint8 +fn rlLoadFramebuffer*(): uint32 +fn rlFramebufferAttach*(id: uint32, texId: uint32, attachType: int32, texType: int32, mipLevel: int32) +fn rlFramebufferComplete*(id: uint32): bool +fn rlUnloadFramebuffer*(id: uint32) +fn rlCopyFramebuffer*(x: int32, y: int32, width: int32, height: int32, format: int32, pixels: ^void) +fn rlResizeFramebuffer*(width: int32, height: int32) +fn rlLoadShader*(code: str, typeInput: int32): uint32 +fn rlLoadShaderProgram*(vsCode: str, fsCode: str): uint32 +fn rlLoadShaderProgramEx*(vsId: uint32, fsId: uint32): uint32 +fn rlLoadShaderProgramCompute*(csId: uint32): uint32 +fn rlUnloadShader*(id: uint32) +fn rlUnloadShaderProgram*(id: uint32) +fn rlGetLocationUniform*(id: uint32, uniformName: str): int32 +fn rlGetLocationAttrib*(id: uint32, attribName: str): int32 +fn rlSetUniform*(locIndex: int32, value: ^void, uniformType: int32, count: int32) +fn rlSetUniformMatrix*(locIndex: int32, mat: Matrix) +fn rlSetUniformMatrices*(locIndex: int32, mat: ^Matrix, count: int32) +fn rlSetUniformSampler*(locIndex: int32, textureId: uint32) +fn rlSetShader*(id: uint32, locs: ^int32) +fn rlComputeShaderDispatch*(groupX: uint32, groupY: uint32, groupZ: uint32) +fn rlLoadShaderBuffer*(size: uint32, data: ^void, usageHint: int32): uint32 +fn rlUnloadShaderBuffer*(ssboId: uint32) +fn rlUpdateShaderBuffer*(id: uint32, data: ^void, dataSize: uint32, offset: uint32) +fn rlBindShaderBuffer*(id: uint32, index: uint32) +fn rlReadShaderBuffer*(id: uint32, dest: ^void, count: uint32, offset: uint32) +fn rlCopyShaderBuffer*(destId: uint32, srcId: uint32, destOffset: uint32, srcOffset: uint32, count: uint32) +fn rlGetShaderBufferSize*(id: uint32): uint32 +fn rlBindImageTexture*(id: uint32, index: uint32, format: int32, readonly: bool) +fn rlGetMatrixModelview*(): Matrix +fn rlGetMatrixProjection*(): Matrix +fn rlGetMatrixTransform*(): Matrix +fn rlGetMatrixProjectionStereo*(eye: int32): Matrix +fn rlGetMatrixViewOffsetStereo*(eye: int32): Matrix +fn rlSetMatrixProjection*(proj: Matrix) +fn rlSetMatrixModelview*(view: Matrix) +fn rlSetMatrixProjectionStereo*(right: Matrix, left: Matrix) +fn rlSetMatrixViewOffsetStereo*(right: Matrix, left: Matrix) +fn rlLoadDrawCube*() +fn rlLoadDrawQuad*() + +// Enums +const FLAG_VSYNC_HINT* = 64 +const FLAG_FULLSCREEN_MODE* = 2 +const FLAG_WINDOW_RESIZABLE* = 4 +const FLAG_WINDOW_UNDECORATED* = 8 +const FLAG_WINDOW_HIDDEN* = 128 +const FLAG_WINDOW_MINIMIZED* = 512 +const FLAG_WINDOW_MAXIMIZED* = 1024 +const FLAG_WINDOW_UNFOCUSED* = 2048 +const FLAG_WINDOW_TOPMOST* = 4096 +const FLAG_WINDOW_ALWAYS_RUN* = 256 +const FLAG_WINDOW_TRANSPARENT* = 16 +const FLAG_WINDOW_HIGHDPI* = 8192 +const FLAG_WINDOW_MOUSE_PASSTHROUGH* = 16384 +const FLAG_BORDERLESS_WINDOWED_MODE* = 32768 +const FLAG_MSAA_4X_HINT* = 32 +const FLAG_INTERLACED_HINT* = 65536 +const LOG_ALL* = 0 +const LOG_TRACE* = 1 +const LOG_DEBUG* = 2 +const LOG_INFO* = 3 +const LOG_WARNING* = 4 +const LOG_ERROR* = 5 +const LOG_FATAL* = 6 +const LOG_NONE* = 7 +const KEY_NULL* = 0 +const KEY_APOSTROPHE* = 39 +const KEY_COMMA* = 44 +const KEY_MINUS* = 45 +const KEY_PERIOD* = 46 +const KEY_SLASH* = 47 +const KEY_ZERO* = 48 +const KEY_ONE* = 49 +const KEY_TWO* = 50 +const KEY_THREE* = 51 +const KEY_FOUR* = 52 +const KEY_FIVE* = 53 +const KEY_SIX* = 54 +const KEY_SEVEN* = 55 +const KEY_EIGHT* = 56 +const KEY_NINE* = 57 +const KEY_SEMICOLON* = 59 +const KEY_EQUAL* = 61 +const KEY_A* = 65 +const KEY_B* = 66 +const KEY_C* = 67 +const KEY_D* = 68 +const KEY_E* = 69 +const KEY_F* = 70 +const KEY_G* = 71 +const KEY_H* = 72 +const KEY_I* = 73 +const KEY_J* = 74 +const KEY_K* = 75 +const KEY_L* = 76 +const KEY_M* = 77 +const KEY_N* = 78 +const KEY_O* = 79 +const KEY_P* = 80 +const KEY_Q* = 81 +const KEY_R* = 82 +const KEY_S* = 83 +const KEY_T* = 84 +const KEY_U* = 85 +const KEY_V* = 86 +const KEY_W* = 87 +const KEY_X* = 88 +const KEY_Y* = 89 +const KEY_Z* = 90 +const KEY_LEFT_BRACKET* = 91 +const KEY_BACKSLASH* = 92 +const KEY_RIGHT_BRACKET* = 93 +const KEY_GRAVE* = 96 +const KEY_SPACE* = 32 +const KEY_ESCAPE* = 256 +const KEY_ENTER* = 257 +const KEY_TAB* = 258 +const KEY_BACKSPACE* = 259 +const KEY_INSERT* = 260 +const KEY_DELETE* = 261 +const KEY_RIGHT* = 262 +const KEY_LEFT* = 263 +const KEY_DOWN* = 264 +const KEY_UP* = 265 +const KEY_PAGE_UP* = 266 +const KEY_PAGE_DOWN* = 267 +const KEY_HOME* = 268 +const KEY_END* = 269 +const KEY_CAPS_LOCK* = 280 +const KEY_SCROLL_LOCK* = 281 +const KEY_NUM_LOCK* = 282 +const KEY_PRINT_SCREEN* = 283 +const KEY_PAUSE* = 284 +const KEY_F1* = 290 +const KEY_F2* = 291 +const KEY_F3* = 292 +const KEY_F4* = 293 +const KEY_F5* = 294 +const KEY_F6* = 295 +const KEY_F7* = 296 +const KEY_F8* = 297 +const KEY_F9* = 298 +const KEY_F10* = 299 +const KEY_F11* = 300 +const KEY_F12* = 301 +const KEY_LEFT_SHIFT* = 340 +const KEY_LEFT_CONTROL* = 341 +const KEY_LEFT_ALT* = 342 +const KEY_LEFT_SUPER* = 343 +const KEY_RIGHT_SHIFT* = 344 +const KEY_RIGHT_CONTROL* = 345 +const KEY_RIGHT_ALT* = 346 +const KEY_RIGHT_SUPER* = 347 +const KEY_KB_MENU* = 348 +const KEY_KP_0* = 320 +const KEY_KP_1* = 321 +const KEY_KP_2* = 322 +const KEY_KP_3* = 323 +const KEY_KP_4* = 324 +const KEY_KP_5* = 325 +const KEY_KP_6* = 326 +const KEY_KP_7* = 327 +const KEY_KP_8* = 328 +const KEY_KP_9* = 329 +const KEY_KP_DECIMAL* = 330 +const KEY_KP_DIVIDE* = 331 +const KEY_KP_MULTIPLY* = 332 +const KEY_KP_SUBTRACT* = 333 +const KEY_KP_ADD* = 334 +const KEY_KP_ENTER* = 335 +const KEY_KP_EQUAL* = 336 +const KEY_BACK* = 4 +const KEY_MENU* = 5 +const KEY_VOLUME_UP* = 24 +const KEY_VOLUME_DOWN* = 25 +const MOUSE_BUTTON_LEFT* = 0 +const MOUSE_BUTTON_RIGHT* = 1 +const MOUSE_BUTTON_MIDDLE* = 2 +const MOUSE_BUTTON_SIDE* = 3 +const MOUSE_BUTTON_EXTRA* = 4 +const MOUSE_BUTTON_FORWARD* = 5 +const MOUSE_BUTTON_BACK* = 6 +const MOUSE_CURSOR_DEFAULT* = 0 +const MOUSE_CURSOR_ARROW* = 1 +const MOUSE_CURSOR_IBEAM* = 2 +const MOUSE_CURSOR_CROSSHAIR* = 3 +const MOUSE_CURSOR_POINTING_HAND* = 4 +const MOUSE_CURSOR_RESIZE_EW* = 5 +const MOUSE_CURSOR_RESIZE_NS* = 6 +const MOUSE_CURSOR_RESIZE_NWSE* = 7 +const MOUSE_CURSOR_RESIZE_NESW* = 8 +const MOUSE_CURSOR_RESIZE_ALL* = 9 +const MOUSE_CURSOR_NOT_ALLOWED* = 10 +const GAMEPAD_BUTTON_UNKNOWN* = 0 +const GAMEPAD_BUTTON_LEFT_FACE_UP* = 1 +const GAMEPAD_BUTTON_LEFT_FACE_RIGHT* = 2 +const GAMEPAD_BUTTON_LEFT_FACE_DOWN* = 3 +const GAMEPAD_BUTTON_LEFT_FACE_LEFT* = 4 +const GAMEPAD_BUTTON_RIGHT_FACE_UP* = 5 +const GAMEPAD_BUTTON_RIGHT_FACE_RIGHT* = 6 +const GAMEPAD_BUTTON_RIGHT_FACE_DOWN* = 7 +const GAMEPAD_BUTTON_RIGHT_FACE_LEFT* = 8 +const GAMEPAD_BUTTON_LEFT_TRIGGER_1* = 9 +const GAMEPAD_BUTTON_LEFT_TRIGGER_2* = 10 +const GAMEPAD_BUTTON_RIGHT_TRIGGER_1* = 11 +const GAMEPAD_BUTTON_RIGHT_TRIGGER_2* = 12 +const GAMEPAD_BUTTON_MIDDLE_LEFT* = 13 +const GAMEPAD_BUTTON_MIDDLE* = 14 +const GAMEPAD_BUTTON_MIDDLE_RIGHT* = 15 +const GAMEPAD_BUTTON_LEFT_THUMB* = 16 +const GAMEPAD_BUTTON_RIGHT_THUMB* = 17 +const GAMEPAD_AXIS_LEFT_X* = 0 +const GAMEPAD_AXIS_LEFT_Y* = 1 +const GAMEPAD_AXIS_RIGHT_X* = 2 +const GAMEPAD_AXIS_RIGHT_Y* = 3 +const GAMEPAD_AXIS_LEFT_TRIGGER* = 4 +const GAMEPAD_AXIS_RIGHT_TRIGGER* = 5 +const MATERIAL_MAP_ALBEDO* = 0 +const MATERIAL_MAP_METALNESS* = 1 +const MATERIAL_MAP_NORMAL* = 2 +const MATERIAL_MAP_ROUGHNESS* = 3 +const MATERIAL_MAP_OCCLUSION* = 4 +const MATERIAL_MAP_EMISSION* = 5 +const MATERIAL_MAP_HEIGHT* = 6 +const MATERIAL_MAP_CUBEMAP* = 7 +const MATERIAL_MAP_IRRADIANCE* = 8 +const MATERIAL_MAP_PREFILTER* = 9 +const MATERIAL_MAP_BRDF* = 10 +const SHADER_LOC_VERTEX_POSITION* = 0 +const SHADER_LOC_VERTEX_TEXCOORD01* = 1 +const SHADER_LOC_VERTEX_TEXCOORD02* = 2 +const SHADER_LOC_VERTEX_NORMAL* = 3 +const SHADER_LOC_VERTEX_TANGENT* = 4 +const SHADER_LOC_VERTEX_COLOR* = 5 +const SHADER_LOC_MATRIX_MVP* = 6 +const SHADER_LOC_MATRIX_VIEW* = 7 +const SHADER_LOC_MATRIX_PROJECTION* = 8 +const SHADER_LOC_MATRIX_MODEL* = 9 +const SHADER_LOC_MATRIX_NORMAL* = 10 +const SHADER_LOC_VECTOR_VIEW* = 11 +const SHADER_LOC_COLOR_DIFFUSE* = 12 +const SHADER_LOC_COLOR_SPECULAR* = 13 +const SHADER_LOC_COLOR_AMBIENT* = 14 +const SHADER_LOC_MAP_ALBEDO* = 15 +const SHADER_LOC_MAP_METALNESS* = 16 +const SHADER_LOC_MAP_NORMAL* = 17 +const SHADER_LOC_MAP_ROUGHNESS* = 18 +const SHADER_LOC_MAP_OCCLUSION* = 19 +const SHADER_LOC_MAP_EMISSION* = 20 +const SHADER_LOC_MAP_HEIGHT* = 21 +const SHADER_LOC_MAP_CUBEMAP* = 22 +const SHADER_LOC_MAP_IRRADIANCE* = 23 +const SHADER_LOC_MAP_PREFILTER* = 24 +const SHADER_LOC_MAP_BRDF* = 25 +const SHADER_LOC_VERTEX_BONEIDS* = 26 +const SHADER_LOC_VERTEX_BONEWEIGHTS* = 27 +const SHADER_LOC_MATRIX_BONETRANSFORMS* = 28 +const SHADER_LOC_VERTEX_INSTANCETRANSFORM* = 29 +const SHADER_UNIFORM_FLOAT* = 0 +const SHADER_UNIFORM_VEC2* = 1 +const SHADER_UNIFORM_VEC3* = 2 +const SHADER_UNIFORM_VEC4* = 3 +const SHADER_UNIFORM_INT* = 4 +const SHADER_UNIFORM_IVEC2* = 5 +const SHADER_UNIFORM_IVEC3* = 6 +const SHADER_UNIFORM_IVEC4* = 7 +const SHADER_UNIFORM_UINT* = 8 +const SHADER_UNIFORM_UIVEC2* = 9 +const SHADER_UNIFORM_UIVEC3* = 10 +const SHADER_UNIFORM_UIVEC4* = 11 +const SHADER_UNIFORM_SAMPLER2D* = 12 +const SHADER_ATTRIB_FLOAT* = 0 +const SHADER_ATTRIB_VEC2* = 1 +const SHADER_ATTRIB_VEC3* = 2 +const SHADER_ATTRIB_VEC4* = 3 +const PIXELFORMAT_UNCOMPRESSED_GRAYSCALE* = 1 +const PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA* = 2 +const PIXELFORMAT_UNCOMPRESSED_R5G6B5* = 3 +const PIXELFORMAT_UNCOMPRESSED_R8G8B8* = 4 +const PIXELFORMAT_UNCOMPRESSED_R5G5B5A1* = 5 +const PIXELFORMAT_UNCOMPRESSED_R4G4B4A4* = 6 +const PIXELFORMAT_UNCOMPRESSED_R8G8B8A8* = 7 +const PIXELFORMAT_UNCOMPRESSED_R32* = 8 +const PIXELFORMAT_UNCOMPRESSED_R32G32B32* = 9 +const PIXELFORMAT_UNCOMPRESSED_R32G32B32A32* = 10 +const PIXELFORMAT_UNCOMPRESSED_R16* = 11 +const PIXELFORMAT_UNCOMPRESSED_R16G16B16* = 12 +const PIXELFORMAT_UNCOMPRESSED_R16G16B16A16* = 13 +const PIXELFORMAT_COMPRESSED_DXT1_RGB* = 14 +const PIXELFORMAT_COMPRESSED_DXT1_RGBA* = 15 +const PIXELFORMAT_COMPRESSED_DXT3_RGBA* = 16 +const PIXELFORMAT_COMPRESSED_DXT5_RGBA* = 17 +const PIXELFORMAT_COMPRESSED_ETC1_RGB* = 18 +const PIXELFORMAT_COMPRESSED_ETC2_RGB* = 19 +const PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA* = 20 +const PIXELFORMAT_COMPRESSED_PVRT_RGB* = 21 +const PIXELFORMAT_COMPRESSED_PVRT_RGBA* = 22 +const PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA* = 23 +const PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA* = 24 +const TEXTURE_FILTER_POINT* = 0 +const TEXTURE_FILTER_BILINEAR* = 1 +const TEXTURE_FILTER_TRILINEAR* = 2 +const TEXTURE_FILTER_ANISOTROPIC_4X* = 3 +const TEXTURE_FILTER_ANISOTROPIC_8X* = 4 +const TEXTURE_FILTER_ANISOTROPIC_16X* = 5 +const TEXTURE_WRAP_REPEAT* = 0 +const TEXTURE_WRAP_CLAMP* = 1 +const TEXTURE_WRAP_MIRROR_REPEAT* = 2 +const TEXTURE_WRAP_MIRROR_CLAMP* = 3 +const CUBEMAP_LAYOUT_AUTO_DETECT* = 0 +const CUBEMAP_LAYOUT_LINE_VERTICAL* = 1 +const CUBEMAP_LAYOUT_LINE_HORIZONTAL* = 2 +const CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR* = 3 +const CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE* = 4 +const FONT_DEFAULT* = 0 +const FONT_BITMAP* = 1 +const FONT_SDF* = 2 +const BLEND_ALPHA* = 0 +const BLEND_ADDITIVE* = 1 +const BLEND_MULTIPLIED* = 2 +const BLEND_ADD_COLORS* = 3 +const BLEND_SUBTRACT_COLORS* = 4 +const BLEND_ALPHA_PREMULTIPLY* = 5 +const BLEND_CUSTOM* = 6 +const BLEND_CUSTOM_SEPARATE* = 7 +const GESTURE_NONE* = 0 +const GESTURE_TAP* = 1 +const GESTURE_DOUBLETAP* = 2 +const GESTURE_HOLD* = 4 +const GESTURE_DRAG* = 8 +const GESTURE_SWIPE_RIGHT* = 16 +const GESTURE_SWIPE_LEFT* = 32 +const GESTURE_SWIPE_UP* = 64 +const GESTURE_SWIPE_DOWN* = 128 +const GESTURE_PINCH_IN* = 256 +const GESTURE_PINCH_OUT* = 512 +const CAMERA_CUSTOM* = 0 +const CAMERA_FREE* = 1 +const CAMERA_ORBITAL* = 2 +const CAMERA_FIRST_PERSON* = 3 +const CAMERA_THIRD_PERSON* = 4 +const CAMERA_PERSPECTIVE* = 0 +const CAMERA_ORTHOGRAPHIC* = 1 +const NPATCH_NINE_PATCH* = 0 +const NPATCH_THREE_PATCH_VERTICAL* = 1 +const NPATCH_THREE_PATCH_HORIZONTAL* = 2 +const RL_OPENGL_11_SOFTWARE* = 0 +const RL_OPENGL_11* = 1 +const RL_OPENGL_21* = 2 +const RL_OPENGL_33* = 3 +const RL_OPENGL_43* = 4 +const RL_OPENGL_ES_20* = 5 +const RL_OPENGL_ES_30* = 6 +const RL_LOG_ALL* = 0 +const RL_LOG_TRACE* = 1 +const RL_LOG_DEBUG* = 2 +const RL_LOG_INFO* = 3 +const RL_LOG_WARNING* = 4 +const RL_LOG_ERROR* = 5 +const RL_LOG_FATAL* = 6 +const RL_LOG_NONE* = 7 +const RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE* = 1 +const RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA* = 2 +const RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5* = 3 +const RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8* = 4 +const RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1* = 5 +const RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4* = 6 +const RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8* = 7 +const RL_PIXELFORMAT_UNCOMPRESSED_R32* = 8 +const RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32* = 9 +const RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32* = 10 +const RL_PIXELFORMAT_UNCOMPRESSED_R16* = 11 +const RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16* = 12 +const RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16* = 13 +const RL_PIXELFORMAT_COMPRESSED_DXT1_RGB* = 14 +const RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA* = 15 +const RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA* = 16 +const RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA* = 17 +const RL_PIXELFORMAT_COMPRESSED_ETC1_RGB* = 18 +const RL_PIXELFORMAT_COMPRESSED_ETC2_RGB* = 19 +const RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA* = 20 +const RL_PIXELFORMAT_COMPRESSED_PVRT_RGB* = 21 +const RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA* = 22 +const RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA* = 23 +const RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA* = 24 +const RL_TEXTURE_FILTER_POINT* = 0 +const RL_TEXTURE_FILTER_BILINEAR* = 1 +const RL_TEXTURE_FILTER_TRILINEAR* = 2 +const RL_TEXTURE_FILTER_ANISOTROPIC_4X* = 3 +const RL_TEXTURE_FILTER_ANISOTROPIC_8X* = 4 +const RL_TEXTURE_FILTER_ANISOTROPIC_16X* = 5 +const RL_BLEND_ALPHA* = 0 +const RL_BLEND_ADDITIVE* = 1 +const RL_BLEND_MULTIPLIED* = 2 +const RL_BLEND_ADD_COLORS* = 3 +const RL_BLEND_SUBTRACT_COLORS* = 4 +const RL_BLEND_ALPHA_PREMULTIPLY* = 5 +const RL_BLEND_CUSTOM* = 6 +const RL_BLEND_CUSTOM_SEPARATE* = 7 +const RL_SHADER_LOC_VERTEX_POSITION* = 0 +const RL_SHADER_LOC_VERTEX_TEXCOORD01* = 1 +const RL_SHADER_LOC_VERTEX_TEXCOORD02* = 2 +const RL_SHADER_LOC_VERTEX_NORMAL* = 3 +const RL_SHADER_LOC_VERTEX_TANGENT* = 4 +const RL_SHADER_LOC_VERTEX_COLOR* = 5 +const RL_SHADER_LOC_MATRIX_MVP* = 6 +const RL_SHADER_LOC_MATRIX_VIEW* = 7 +const RL_SHADER_LOC_MATRIX_PROJECTION* = 8 +const RL_SHADER_LOC_MATRIX_MODEL* = 9 +const RL_SHADER_LOC_MATRIX_NORMAL* = 10 +const RL_SHADER_LOC_VECTOR_VIEW* = 11 +const RL_SHADER_LOC_COLOR_DIFFUSE* = 12 +const RL_SHADER_LOC_COLOR_SPECULAR* = 13 +const RL_SHADER_LOC_COLOR_AMBIENT* = 14 +const RL_SHADER_LOC_MAP_ALBEDO* = 15 +const RL_SHADER_LOC_MAP_METALNESS* = 16 +const RL_SHADER_LOC_MAP_NORMAL* = 17 +const RL_SHADER_LOC_MAP_ROUGHNESS* = 18 +const RL_SHADER_LOC_MAP_OCCLUSION* = 19 +const RL_SHADER_LOC_MAP_EMISSION* = 20 +const RL_SHADER_LOC_MAP_HEIGHT* = 21 +const RL_SHADER_LOC_MAP_CUBEMAP* = 22 +const RL_SHADER_LOC_MAP_IRRADIANCE* = 23 +const RL_SHADER_LOC_MAP_PREFILTER* = 24 +const RL_SHADER_LOC_MAP_BRDF* = 25 +const RL_SHADER_UNIFORM_FLOAT* = 0 +const RL_SHADER_UNIFORM_VEC2* = 1 +const RL_SHADER_UNIFORM_VEC3* = 2 +const RL_SHADER_UNIFORM_VEC4* = 3 +const RL_SHADER_UNIFORM_INT* = 4 +const RL_SHADER_UNIFORM_IVEC2* = 5 +const RL_SHADER_UNIFORM_IVEC3* = 6 +const RL_SHADER_UNIFORM_IVEC4* = 7 +const RL_SHADER_UNIFORM_UINT* = 8 +const RL_SHADER_UNIFORM_UIVEC2* = 9 +const RL_SHADER_UNIFORM_UIVEC3* = 10 +const RL_SHADER_UNIFORM_UIVEC4* = 11 +const RL_SHADER_UNIFORM_SAMPLER2D* = 12 +const RL_SHADER_ATTRIB_FLOAT* = 0 +const RL_SHADER_ATTRIB_VEC2* = 1 +const RL_SHADER_ATTRIB_VEC3* = 2 +const RL_SHADER_ATTRIB_VEC4* = 3 +const RL_ATTACHMENT_COLOR_CHANNEL0* = 0 +const RL_ATTACHMENT_COLOR_CHANNEL1* = 1 +const RL_ATTACHMENT_COLOR_CHANNEL2* = 2 +const RL_ATTACHMENT_COLOR_CHANNEL3* = 3 +const RL_ATTACHMENT_COLOR_CHANNEL4* = 4 +const RL_ATTACHMENT_COLOR_CHANNEL5* = 5 +const RL_ATTACHMENT_COLOR_CHANNEL6* = 6 +const RL_ATTACHMENT_COLOR_CHANNEL7* = 7 +const RL_ATTACHMENT_DEPTH* = 100 +const RL_ATTACHMENT_STENCIL* = 200 +const RL_ATTACHMENT_CUBEMAP_POSITIVE_X* = 0 +const RL_ATTACHMENT_CUBEMAP_NEGATIVE_X* = 1 +const RL_ATTACHMENT_CUBEMAP_POSITIVE_Y* = 2 +const RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y* = 3 +const RL_ATTACHMENT_CUBEMAP_POSITIVE_Z* = 4 +const RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z* = 5 +const RL_ATTACHMENT_TEXTURE2D* = 100 +const RL_ATTACHMENT_RENDERBUFFER* = 200 +const RL_CULL_FACE_FRONT* = 0 +const RL_CULL_FACE_BACK* = 1 + +// Defines +// Skipped define: RAYLIB_VERSION_MAJOR +// Skipped define: RAYLIB_VERSION_MINOR +// Skipped define: RAYLIB_VERSION_PATCH +const RAYLIB_VERSION* = "6.0" +// Skipped define: __declspec(x) +// Skipped define: RLAPI +const PI* = 3.141592653589793 +// Skipped define: DEG2RAD +// Skipped define: RAD2DEG +// Skipped define: RL_MALLOC(sz) +// Skipped define: RL_CALLOC(n,sz) +// Skipped define: RL_REALLOC(ptr,sz) +// Skipped define: RL_FREE(ptr) +// Skipped define: CLITERAL(type) +const LIGHTGRAY* = Color{ 200, 200, 200, 255 } +const GRAY* = Color{ 130, 130, 130, 255 } +const DARKGRAY* = Color{ 80, 80, 80, 255 } +const YELLOW* = Color{ 253, 249, 0, 255 } +const GOLD* = Color{ 255, 203, 0, 255 } +const ORANGE* = Color{ 255, 161, 0, 255 } +const PINK* = Color{ 255, 109, 194, 255 } +const RED* = Color{ 230, 41, 55, 255 } +const MAROON* = Color{ 190, 33, 55, 255 } +const GREEN* = Color{ 0, 228, 48, 255 } +const LIME* = Color{ 0, 158, 47, 255 } +const DARKGREEN* = Color{ 0, 117, 44, 255 } +const SKYBLUE* = Color{ 102, 191, 255, 255 } +const BLUE* = Color{ 0, 121, 241, 255 } +const DARKBLUE* = Color{ 0, 82, 172, 255 } +const PURPLE* = Color{ 200, 122, 255, 255 } +const VIOLET* = Color{ 135, 60, 190, 255 } +const DARKPURPLE* = Color{ 112, 31, 126, 255 } +const BEIGE* = Color{ 211, 176, 131, 255 } +const BROWN* = Color{ 127, 106, 79, 255 } +const DARKBROWN* = Color{ 76, 63, 47, 255 } +const WHITE* = Color{ 255, 255, 255, 255 } +const BLACK* = Color{ 0, 0, 0, 255 } +const BLANK* = Color{ 0, 0, 0, 0 } +const MAGENTA* = Color{ 255, 0, 255, 255 } +const RAYWHITE* = Color{ 245, 245, 245, 255 } +// Skipped define: MOUSE_LEFT_BUTTON +// Skipped define: MOUSE_RIGHT_BUTTON +// Skipped define: MOUSE_MIDDLE_BUTTON +// Skipped define: MATERIAL_MAP_DIFFUSE +// Skipped define: MATERIAL_MAP_SPECULAR +// Skipped define: SHADER_LOC_MAP_DIFFUSE +// Skipped define: SHADER_LOC_MAP_SPECULAR +// Skipped define: GetMouseRay +// Skipped define: RMAPI +const EPSILON* = 0.000001 +// Skipped define: MatrixToFloat(mat) +// Skipped define: Vector3ToFloat(vec) +const RLGL_VERSION* = "5.0" +// Skipped define: TRACELOG(level, ...) +// Skipped define: RL_REALLOC(n,sz) +// Skipped define: RL_FREE(p) +// Skipped define: RL_DEFAULT_BATCH_BUFFER_ELEMENTS +// Skipped define: RL_DEFAULT_BATCH_BUFFERS +// Skipped define: RL_DEFAULT_BATCH_DRAWCALLS +// Skipped define: RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS +// Skipped define: RL_MAX_MATRIX_STACK_SIZE +// Skipped define: RL_MAX_SHADER_LOCATIONS +// Skipped define: RL_CULL_DISTANCE_NEAR +// Skipped define: RL_CULL_DISTANCE_FAR +// Skipped define: RL_TEXTURE_WRAP_S +// Skipped define: RL_TEXTURE_WRAP_T +// Skipped define: RL_TEXTURE_MAG_FILTER +// Skipped define: RL_TEXTURE_MIN_FILTER +// Skipped define: RL_TEXTURE_FILTER_NEAREST +// Skipped define: RL_TEXTURE_FILTER_LINEAR +// Skipped define: RL_TEXTURE_FILTER_MIP_NEAREST +// Skipped define: RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR +// Skipped define: RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST +// Skipped define: RL_TEXTURE_FILTER_MIP_LINEAR +// Skipped define: RL_TEXTURE_FILTER_ANISOTROPIC +// Skipped define: RL_TEXTURE_MIPMAP_BIAS_RATIO +// Skipped define: RL_TEXTURE_WRAP_REPEAT +// Skipped define: RL_TEXTURE_WRAP_CLAMP +// Skipped define: RL_TEXTURE_WRAP_MIRROR_REPEAT +// Skipped define: RL_TEXTURE_WRAP_MIRROR_CLAMP +// Skipped define: RL_MODELVIEW +// Skipped define: RL_PROJECTION +// Skipped define: RL_TEXTURE +// Skipped define: RL_LINES +// Skipped define: RL_TRIANGLES +// Skipped define: RL_QUADS +// Skipped define: RL_UNSIGNED_BYTE +// Skipped define: RL_FLOAT +// Skipped define: RL_STREAM_DRAW +// Skipped define: RL_STREAM_READ +// Skipped define: RL_STREAM_COPY +// Skipped define: RL_STATIC_DRAW +// Skipped define: RL_STATIC_READ +// Skipped define: RL_STATIC_COPY +// Skipped define: RL_DYNAMIC_DRAW +// Skipped define: RL_DYNAMIC_READ +// Skipped define: RL_DYNAMIC_COPY +// Skipped define: RL_FRAGMENT_SHADER +// Skipped define: RL_VERTEX_SHADER +// Skipped define: RL_COMPUTE_SHADER +// Skipped define: RL_ZERO +// Skipped define: RL_ONE +// Skipped define: RL_SRC_COLOR +// Skipped define: RL_ONE_MINUS_SRC_COLOR +// Skipped define: RL_SRC_ALPHA +// Skipped define: RL_ONE_MINUS_SRC_ALPHA +// Skipped define: RL_DST_ALPHA +// Skipped define: RL_ONE_MINUS_DST_ALPHA +// Skipped define: RL_DST_COLOR +// Skipped define: RL_ONE_MINUS_DST_COLOR +// Skipped define: RL_SRC_ALPHA_SATURATE +// Skipped define: RL_CONSTANT_COLOR +// Skipped define: RL_ONE_MINUS_CONSTANT_COLOR +// Skipped define: RL_CONSTANT_ALPHA +// Skipped define: RL_ONE_MINUS_CONSTANT_ALPHA +// Skipped define: RL_FUNC_ADD +// Skipped define: RL_MIN +// Skipped define: RL_MAX +// Skipped define: RL_FUNC_SUBTRACT +// Skipped define: RL_FUNC_REVERSE_SUBTRACT +// Skipped define: RL_BLEND_EQUATION +// Skipped define: RL_BLEND_EQUATION_RGB +// Skipped define: RL_BLEND_EQUATION_ALPHA +// Skipped define: RL_BLEND_DST_RGB +// Skipped define: RL_BLEND_SRC_RGB +// Skipped define: RL_BLEND_DST_ALPHA +// Skipped define: RL_BLEND_SRC_ALPHA +// Skipped define: RL_BLEND_COLOR +// Skipped define: RL_READ_FRAMEBUFFER +// Skipped define: RL_DRAW_FRAMEBUFFER +// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION +// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD +// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL +// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR +// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT +// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2 +// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_INDICES +// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_BONEINDICES +// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_BONEWEIGHTS +// Skipped define: RL_DEFAULT_SHADER_ATTRIB_LOCATION_INSTANCETRANSFORM +// Skipped define: RL_SHADER_LOC_MAP_DIFFUSE +// Skipped define: RL_SHADER_LOC_MAP_SPECULAR