From 48eac6017163a31d143b56a21211b79c8fbf664b Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 3 Sep 2025 23:14:58 +0200 Subject: [PATCH 001/125] REVIEWED: Potential issue with animated normals on OpenGL 1.1 --- src/rmodels.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rmodels.c b/src/rmodels.c index 3ac416847..912bab081 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -1432,7 +1432,8 @@ void DrawMesh(Mesh mesh, Material material, Matrix transform) else rlEnableStatePointer(GL_VERTEX_ARRAY, mesh.vertices); rlEnableStatePointer(GL_TEXTURE_COORD_ARRAY, mesh.texcoords); - if (mesh.normals) rlEnableStatePointer(GL_VERTEX_ARRAY, mesh.animNormals); + + if (mesh.animNormals) rlEnableStatePointer(GL_NORMAL_ARRAY, mesh.animNormals); else rlEnableStatePointer(GL_NORMAL_ARRAY, mesh.normals); rlEnableStatePointer(GL_COLOR_ARRAY, mesh.colors); From 2e376c6f5b49821e572769e40225e19ee04173ef Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 10:33:14 +0200 Subject: [PATCH 002/125] Update shaders_spotlight.c --- examples/shaders/shaders_spotlight.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/shaders/shaders_spotlight.c b/examples/shaders/shaders_spotlight.c index 88422deeb..c7b35a262 100644 --- a/examples/shaders/shaders_spotlight.c +++ b/examples/shaders/shaders_spotlight.c @@ -135,8 +135,8 @@ int main(void) while ((fabs(spots[i].speed.x) + fabs(spots[i].speed.y)) < 2) { - spots[i].speed.x = GetRandomValue(-400, 40)/20.0f; - spots[i].speed.y = GetRandomValue(-400, 40)/20.0f; + spots[i].speed.x = GetRandomValue(-400, 40)/25.0f; + spots[i].speed.y = GetRandomValue(-400, 40)/25.0f; } spots[i].inner = 28.0f*(i + 1); @@ -243,7 +243,7 @@ static void ResetStar(Star *star) star->speed.x = (float)GetRandomValue(-1000, 1000)/100.0f; star->speed.y = (float)GetRandomValue(-1000, 1000)/100.0f; - while (!(fabs(star->speed.x) + (fabs(star->speed.y) > 1))); + while (!(fabs(star->speed.x) + (fabs(star->speed.y) > 1))) { star->speed.x = (float)GetRandomValue(-1000, 1000)/100.0f; star->speed.y = (float)GetRandomValue(-1000, 1000)/100.0f; From dd0587e12a846d52dbd9ce8005b5a3f0ce9b4fe4 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 10:33:22 +0200 Subject: [PATCH 003/125] Update shaders_texture_drawing.c --- examples/shaders/shaders_texture_drawing.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/examples/shaders/shaders_texture_drawing.c b/examples/shaders/shaders_texture_drawing.c index dc51f333a..3720f1954 100644 --- a/examples/shaders/shaders_texture_drawing.c +++ b/examples/shaders/shaders_texture_drawing.c @@ -4,8 +4,6 @@ * * Example complexity rating: [★★☆☆] 2/4 * -* NOTE: This example illustrates how to draw into a blank texture using a shader -* * Example originally created with raylib 2.0, last time updated with raylib 3.7 * * Example contributed by Michał Ciesielski (@ciessielski) and reviewed by Ramon Santamaria (@raysan5) @@ -67,7 +65,7 @@ int main(void) ClearBackground(RAYWHITE); BeginShaderMode(shader); // Enable our custom shader for next shapes/textures drawings - DrawTexture(texture, 0, 0, WHITE); // Drawing BLANK texture, all magic happens on shader + DrawTexture(texture, 0, 0, WHITE); // Drawing BLANK texture, all rendering magic happens on shader EndShaderMode(); // Disable our custom shader, return to default shader DrawText("BACKGROUND is PAINTED and ANIMATED on SHADER!", 10, 10, 20, MAROON); From 64641c6a01b9759bc04b1f9a722d3ffe8334789d Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 10:33:26 +0200 Subject: [PATCH 004/125] Update raudio.c --- src/raudio.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/raudio.c b/src/raudio.c index c883132d9..798c062e9 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -454,6 +454,7 @@ void UntrackAudioBuffer(AudioBuffer *buffer); //---------------------------------------------------------------------------------- // Module Functions Definition - Audio Device initialization and Closing //---------------------------------------------------------------------------------- + // Initialize audio device void InitAudioDevice(void) { From 9b99c5b04ef73625401c64aaba3777e1b29aaf0a Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 10:34:39 +0200 Subject: [PATCH 005/125] REXM: Adding some `UpdateSourceMetadata()` -WIP- --- tools/rexm/rexm.c | 154 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 148 insertions(+), 6 deletions(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index 43da4d6f2..ae0a2a57f 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -166,16 +166,24 @@ static char **ScanExampleResources(const char *filePath, int *resPathCount); // Clear resource paths scanned static void ClearExampleResources(char **resPaths); -// Add VS project (.vcxproj) to existing VS solution (.sln) +// Add/remove VS project (.vcxproj) tofrom existing VS solution (.sln) static int AddVSProjectToSolution(const char *projFile, const char *slnFile, const char *category); +//static int RemoveVSProjectFromSolution(const char *projFile, const char *slnFile, const char *category); // Generate unique UUID v4 string // Output format: {9A2F48CC-0DA8-47C0-884E-02E37F9BE6C1} static const char *GenerateUUIDv4(void); +// Update source code header and comments metadata +static void UpdateSourceMetadata(const char *exSrcPath, const rlExampleInfo *info); // Update generated Web example .html file metadata static void UpdateWebMetadata(const char *exHtmlPath, const char *exFilePath); +// Get text between two strings +static char *GetTextBetween(const char *text, const char *begin, const char *end); +// Replace text between two specific strings +static char *TextReplaceBetween(const char *text, const char *replace, const char *begin, const char *end); + //------------------------------------------------------------------------------------ // Program main entry point //------------------------------------------------------------------------------------ @@ -676,6 +684,13 @@ int main(int argc, char *argv[]) FileCopy(TextFormat("%s/%s/%s.js", exBasePath, exRecategory, exRename), TextFormat("%s/%s/%s.js", exWebPath, exRecategory, exRename)); + // Create commit with changes (local) + ChangeDirectory("C:/GitHub/raylib"); + int result = system(TextFormat("git commit -am \"REXM: RENAME: example: `%s` --> `%s`\"", exName, exRename)); // Commit changes (only tracked files) + if (result != 0) LOG("WARNING: Error committing changes\n"); + //result = system("git push"); // Push to the remote (origin, current branch) + //if (result != 0) LOG("WARNING: Error pushing changes\n"); + } break; case OP_REMOVE: // Remove { @@ -2151,6 +2166,81 @@ static const char *GenerateUUIDv4(void) return uuid; } +// Update source code header and comments metadata +static void UpdateSourceMetadata(const char *exSrcPath, const rlExampleInfo *info) +{ + if (FileExists(exSrcPath) && IsFileExtension(exSrcPath, ".c")) + { + char *fileText = LoadFileText(exSrcPath); + char *fileTextUpdated[6] = { 0 }; // Pointers to multiple updated text versions + + char exName[64] = { 0 }; // Example name: fileName without extension + char exCategory[16] = { 0 }; // Example category: core, shapes, text, textures, models, audio, shaders + char exDescription[256] = { 0 }; // Example description: example text line #3 + char exTitle[64] = { 0 }; // Example title: fileName without extension, replacing underscores by spaces + + // Update example header title (line #3 - ALWAYS) + // String: "* raylib [shaders] example - texture drawing" + + + // Update example complexity rating + // String: "* Example complexity rating: [★★☆☆] 2/4" + fileTextUpdated[0] = TextReplaceBetween(exSrcPath, "★★☆☆] 2", "Example complexity rating: [", "/4\n"); + + + // Update example creation/update raylib versions + // String: "* Example originally created with raylib 2.0, last time updated with raylib 3.7 + + + // Update contributors names + // String: "* Example contributed by Contributor Name (@github_user) and reviewed by Ramon Santamaria (@raysan5)" + + + // Update copyright message + // String: "* Copyright (c) 2019-2025 Contributor Name (@github_user) and Ramon Santamaria (@raysan5)" + fileTextUpdated[0] = TextReplaceBetween(exSrcPath, "★★☆☆] 2", "Copyright (c) ", ")"); + + // Update window title + //"InitWindow(screenWidth, screenHeight, "raylib [shaders] example - texture drawing");" + + /* + // Get example name: replace underscore by spaces + strcpy(exName, GetFileNameWithoutExt(exSrcPath)); + strcpy(exTitle, exName); + for (int i = 0; (i < 256) && (exTitle[i] != '\0'); i++) { if (exTitle[i] == '_') exTitle[i] = ' '; } + + // Get example category from exName: copy until first underscore + for (int i = 0; (exName[i] != '_'); i++) exCategory[i] = exName[i]; + + // Get example description: copy line #3 from example file + char *exText = LoadFileText(exFilePath); + int lineCount = 0; + char **lines = LoadTextLines(exText, &lineCount); + int lineLength = (int)strlen(lines[2]); + strncpy(exDescription, lines[2] + 4, lineLength - 4); + UnloadTextLines(lines); + UnloadFileText(exText); + + // Update example.html required text + fileTextUpdated[0] = TextReplace(fileText, "raylib web game", exTitle); + fileTextUpdated[1] = TextReplace(fileTextUpdated[0], "New raylib web videogame, developed using raylib videogames library", exDescription); + fileTextUpdated[2] = TextReplace(fileTextUpdated[1], "https://www.raylib.com/common/raylib_logo.png", + TextFormat("https://raw.githubusercontent.com/raysan5/raylib/master/examples/%s/%s.png", exCategory, exName)); + fileTextUpdated[3] = TextReplace(fileTextUpdated[2], "https://www.raylib.com/games.html", + TextFormat("https://www.raylib.com/examples/%s/%s.html", exCategory, exName)); + fileTextUpdated[4] = TextReplace(fileTextUpdated[3], "raylib - example", TextFormat("raylib - %s", exName)); // og:site_name + fileTextUpdated[5] = TextReplace(fileTextUpdated[4], "https://github.com/raysan5/raylib", + TextFormat("https://github.com/raysan5/raylib/blob/master/examples/%s/%s.c", exCategory, exName)); + */ + + SaveFileText(exSrcPath, fileTextUpdated[5]); + + for (int i = 0; i < 6; i++) { MemFree(fileTextUpdated[i]); fileTextUpdated[i] = NULL; } + + UnloadFileText(fileText); + } +} + // Update generated Web example .html file metadata static void UpdateWebMetadata(const char *exHtmlPath, const char *exFilePath) { @@ -2164,11 +2254,6 @@ static void UpdateWebMetadata(const char *exHtmlPath, const char *exFilePath) char exDescription[256] = { 0 }; // Example description: example text line #3 char exTitle[64] = { 0 }; // Example title: fileName without extension, replacing underscores by spaces - memset(exName, 0, 64); - memset(exTitle, 0, 64); - memset(exDescription, 0, 256); - memset(exCategory, 0, 16); - // Get example name: replace underscore by spaces strcpy(exName, GetFileNameWithoutExt(exHtmlPath)); strcpy(exTitle, exName); @@ -2210,3 +2295,60 @@ static void UpdateWebMetadata(const char *exHtmlPath, const char *exFilePath) UnloadFileText(fileText); } } + + +// Get text between two strings +// NOTE: Using static string to return result, MAX: 1024 bytes +static char *GetTextBetween(const char *text, const char *begin, const char *end) +{ +#define MAX_TEXT_BETWEEN_SIZE 1024 + + static char between[MAX_TEXT_BETWEEN_SIZE] = { 0 }; + memset(between, 0, MAX_TEXT_BETWEEN_SIZE); + + int beginIndex = TextFindIndex(text, begin); + + if (beginIndex > -1) + { + int beginLen = strlen(begin); + int endIndex = TextFindIndex(text + beginIndex + beginLen, end); + + if (endIndex > -1) + { + endIndex += (beginIndex + beginLen); + int len = (endIndex - beginIndex - beginLen); + if (len < (MAX_TEXT_BETWEEN_SIZE - 1)) strncpy(between, text + beginIndex + beginLen, len); + else strncpy(between, text + beginIndex + beginLen, MAX_TEXT_BETWEEN_SIZE - 1); + } + } + + return between; +} + +// Replace text between two specific strings +// WARNING: Returned string must be freed by user +static char *TextReplaceBetween(const char *text, const char *replace, const char *begin, const char *end) +{ + char *result = NULL; + int beginIndex = TextFindIndex(text, begin); + + if (beginIndex > -1) + { + int endIndex = TextFindIndex(text + beginIndex, end); + + if (beginIndex > -1) + { + int textLen = strlen(text); + int replaceLen = strlen(replace); + int toreplaceLen = (endIndex + beginIndex) - (beginIndex + strlen(begin)); + result = (char *)RL_CALLOC(textLen + replaceLen - toreplaceLen + 1, sizeof(char)); + + int beginLen = strlen(begin); + strncpy(result, text, textLen - beginIndex + strlen(begin)); // Copy first text part + strncpy(result + textLen - beginIndex + beginLen, replace, replaceLen); // Copy replace + strncpy(result + textLen - beginIndex + beginLen + replaceLen, text + beginIndex + toreplaceLen, textLen - endIndex); // Copy end text part + } + } + + return result; +} From f9e6c85ccefdfe04d325d04ef7d5ef924c735d1e Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 10:40:17 +0200 Subject: [PATCH 006/125] Update rexm.c --- tools/rexm/rexm.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index ae0a2a57f..b6bf73465 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -690,6 +690,9 @@ int main(int argc, char *argv[]) if (result != 0) LOG("WARNING: Error committing changes\n"); //result = system("git push"); // Push to the remote (origin, current branch) //if (result != 0) LOG("WARNING: Error pushing changes\n"); + ChangeDirectory("C:/GitHub/raylib.com"); + result = system(TextFormat("git commit -am \"REXM: RENAME: example: `%s` --> `%s`\"", exName, exRename)); // Commit changes (only tracked files) + if (result != 0) LOG("WARNING: Error committing changes\n"); } break; case OP_REMOVE: // Remove From ba046a5d60fe40ebb815822d4972e1dd3944e3cf Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 10:44:20 +0200 Subject: [PATCH 007/125] REVIEWED: `DecompressData()`, fixed buffer copying --- src/rcore.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/rcore.c b/src/rcore.c index d1b1a8219..97fc9e799 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -2563,19 +2563,19 @@ unsigned char *DecompressData(const unsigned char *compData, int compDataSize, i #if defined(SUPPORT_COMPRESSION_API) // Decompress data from a valid DEFLATE stream unsigned char *data0 = (unsigned char *)RL_CALLOC(MAX_DECOMPRESSION_SIZE*1024*1024, 1); - int length = sinflate(data, MAX_DECOMPRESSION_SIZE*1024*1024, compData, compDataSize); + int size = sinflate(data0, MAX_DECOMPRESSION_SIZE*1024*1024, compData, compDataSize); // WARNING: RL_REALLOC can make (and leave) data copies in memory, // that can be a security concern in case of compression of sensitive data // So, we use a second buffer to copy data manually, wiping original buffer memory - data = (unsigned char *)RL_CALLOC(length, 1); - memcpy(data, data0, length); + data = (unsigned char *)RL_CALLOC(size, 1); + memcpy(data, data0, size); memset(data0, 0, MAX_DECOMPRESSION_SIZE*1024*1024); // Wipe memory, is memset() safe? RL_FREE(data0); - TRACELOG(LOG_INFO, "SYSTEM: Decompress data: Comp. size: %i -> Original size: %i", compDataSize, length); + TRACELOG(LOG_INFO, "SYSTEM: Decompress data: Comp. size: %i -> Original size: %i", compDataSize, size); - *dataSize = length; + *dataSize = size; #endif return data; From 3659eee9943cac0e635b500467ba344dc09e7c07 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 10:50:35 +0200 Subject: [PATCH 008/125] Update rexm.c --- tools/rexm/rexm.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index b6bf73465..25a3c9850 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -686,12 +686,12 @@ int main(int argc, char *argv[]) // Create commit with changes (local) ChangeDirectory("C:/GitHub/raylib"); - int result = system(TextFormat("git commit -am \"REXM: RENAME: example: `%s` --> `%s`\"", exName, exRename)); // Commit changes (only tracked files) + int result = system(TextFormat("cmd /c git commit -am \"REXM: RENAME: example: `%s` --> `%s`\"", exName, exRename)); // Commit changes (only tracked files) if (result != 0) LOG("WARNING: Error committing changes\n"); - //result = system("git push"); // Push to the remote (origin, current branch) + //result = system("cmd /c git push"); // Push to the remote (origin, current branch) //if (result != 0) LOG("WARNING: Error pushing changes\n"); ChangeDirectory("C:/GitHub/raylib.com"); - result = system(TextFormat("git commit -am \"REXM: RENAME: example: `%s` --> `%s`\"", exName, exRename)); // Commit changes (only tracked files) + result = system(TextFormat("cmd /c git commit -am \"REXM: RENAME: example: `%s` --> `%s`\"", exName, exRename)); // Commit changes (only tracked files) if (result != 0) LOG("WARNING: Error committing changes\n"); } break; From b17936de224830f2276d3af3c0fff014ee981f99 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 10:55:48 +0200 Subject: [PATCH 009/125] REXM: RENAME: example: `models_billboard` --> `models_billboard_rendering` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- examples/models/models_billboard.c | 115 ---- examples/models/models_billboard.png | Bin 54859 -> 0 bytes .../VS2022/examples/models_billboard.vcxproj | 569 ------------------ projects/VS2022/raylib.sln | 2 +- tools/rexm/rexm.c | 7 +- 9 files changed, 10 insertions(+), 693 deletions(-) delete mode 100644 examples/models/models_billboard.c delete mode 100644 examples/models/models_billboard.png delete mode 100644 projects/VS2022/examples/models_billboard.vcxproj diff --git a/examples/Makefile b/examples/Makefile index 86c1e7bec..0db8961c2 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -603,7 +603,7 @@ TEXT = \ MODELS = \ models/models_animation \ - models/models_billboard \ + models/models_billboard_rendering_rendering \ models/models_bone_socket \ models/models_box_collisions \ models/models_cubicmap \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 349462058..6da9080f5 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -603,7 +603,7 @@ TEXT = \ MODELS = \ models/models_animation \ - models/models_billboard \ + models/models_billboard_rendering_rendering \ models/models_bone_socket \ models/models_box_collisions \ models/models_cubicmap \ @@ -1028,7 +1028,7 @@ models/models_animation: models/models_animation.c --preload-file models/resources/models/iqm/guytex.png@resources/models/iqm/guytex.png \ --preload-file models/resources/models/iqm/guyanim.iqm@resources/models/iqm/guyanim.iqm -models/models_billboard: models/models_billboard.c +models/models_billboard_rendering_rendering: models/models_billboard_rendering_rendering.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file models/resources/billboard.png@resources/billboard.png diff --git a/examples/README.md b/examples/README.md index 3535682d6..ccd866f15 100644 --- a/examples/README.md +++ b/examples/README.md @@ -148,7 +148,7 @@ Examples using raylib models functionality, including models loading/generation | example | image | difficulty
level | version
created | last version
updated | original
developer | |-----------|--------|:-------------------:|:------------------:|:-----------------------:|:----------------------| | [models_animation](models/models_animation.c) | models_animation | ⭐⭐☆☆ | 2.5 | 3.5 | [Culacant](https://github.com/culacant) | -| [models_billboard](models/models_billboard.c) | models_billboard | ⭐⭐⭐☆ | 1.3 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | +| [models_billboard_rendering_rendering](models/models_billboard_rendering_rendering.c) | models_billboard_rendering_rendering | ⭐⭐⭐☆ | 1.3 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [models_box_collisions](models/models_box_collisions.c) | models_box_collisions | ⭐☆☆☆ | 1.3 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [models_cubicmap](models/models_cubicmap.c) | models_cubicmap | ⭐⭐☆☆ | 1.8 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [models_first_person_maze](models/models_first_person_maze.c) | models_first_person_maze | ⭐⭐☆☆ | 2.5 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index a8be535b9..b00e77f45 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -103,7 +103,7 @@ text;text_unicode_ranges;⭐️⭐️⭐️⭐️;5.5;5.6;"Vlad Adrian";@demizdo text;text_3d_drawing;⭐️⭐️⭐️⭐️;3.5;4.0;"Vlad Adrian";@demizdor text;text_codepoints_loading;⭐️⭐️⭐️☆;4.2;4.2;"Ramon Santamaria";@raysan5 models;models_animation;⭐️⭐️☆☆;2.5;3.5;"Culacant";@culacant -models;models_billboard;⭐️⭐️⭐️☆;1.3;3.5;"Ramon Santamaria";@raysan5 +models;models_billboard_rendering_rendering;⭐️⭐️⭐️☆;1.3;3.5;"Ramon Santamaria";@raysan5 models;models_box_collisions;⭐️☆☆☆;1.3;3.5;"Ramon Santamaria";@raysan5 models;models_cubicmap;⭐️⭐️☆☆;1.8;3.5;"Ramon Santamaria";@raysan5 models;models_first_person_maze;⭐️⭐️☆☆;2.5;3.5;"Ramon Santamaria";@raysan5 diff --git a/examples/models/models_billboard.c b/examples/models/models_billboard.c deleted file mode 100644 index 40266c277..000000000 --- a/examples/models/models_billboard.c +++ /dev/null @@ -1,115 +0,0 @@ -/******************************************************************************************* -* -* raylib [models] example - billboard render -* -* Example complexity rating: [★★★☆] 3/4 -* -* Example originally created with raylib 1.3, last time updated with raylib 3.5 -* -* Example 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) 2015-2025 Ramon Santamaria (@raysan5) -* -********************************************************************************************/ - -#include "raylib.h" -#include "raymath.h" - -//------------------------------------------------------------------------------------ -// Program main entry point -//------------------------------------------------------------------------------------ -int main(void) -{ - // Initialization - //-------------------------------------------------------------------------------------- - const int screenWidth = 800; - const int screenHeight = 450; - - InitWindow(screenWidth, screenHeight, "raylib [models] example - billboard render"); - - // Define the camera to look into our 3d world - Camera camera = { 0 }; - camera.position = (Vector3){ 5.0f, 4.0f, 5.0f }; // Camera position - camera.target = (Vector3){ 0.0f, 2.0f, 0.0f }; // Camera looking at point - camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; // Camera up vector (rotation towards target) - camera.fovy = 45.0f; // Camera field-of-view Y - camera.projection = CAMERA_PERSPECTIVE; // Camera projection type - - Texture2D bill = LoadTexture("resources/billboard.png"); // Our billboard texture - Vector3 billPositionStatic = { 0.0f, 2.0f, 0.0f }; // Position of static billboard - Vector3 billPositionRotating = { 1.0f, 2.0f, 1.0f }; // Position of rotating billboard - - // Entire billboard texture, source is used to take a segment from a larger texture - Rectangle source = { 0.0f, 0.0f, (float)bill.width, (float)bill.height }; - - // NOTE: Billboard locked on axis-Y - Vector3 billUp = { 0.0f, 1.0f, 0.0f }; - - // Set the height of the rotating billboard to 1.0 with the aspect ratio fixed - Vector2 size = { source.width/source.height, 1.0f }; - - // Rotate around origin - // Here we choose to rotate around the image center - Vector2 origin = Vector2Scale(size, 0.5f); - - // Distance is needed for the correct billboard draw order - // Larger distance (further away from the camera) should be drawn prior to smaller distance - float distanceStatic; - float distanceRotating; - float rotation = 0.0f; - - SetTargetFPS(60); // Set our game to run at 60 frames-per-second - //-------------------------------------------------------------------------------------- - - // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key - { - // Update - //---------------------------------------------------------------------------------- - UpdateCamera(&camera, CAMERA_ORBITAL); - - rotation += 0.4f; - distanceStatic = Vector3Distance(camera.position, billPositionStatic); - distanceRotating = Vector3Distance(camera.position, billPositionRotating); - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(RAYWHITE); - - BeginMode3D(camera); - - DrawGrid(10, 1.0f); // Draw a grid - - // Draw order matters! - if (distanceStatic > distanceRotating) - { - DrawBillboard(camera, bill, billPositionStatic, 2.0f, WHITE); - DrawBillboardPro(camera, bill, source, billPositionRotating, billUp, size, origin, rotation, WHITE); - } - else - { - DrawBillboardPro(camera, bill, source, billPositionRotating, billUp, size, origin, rotation, WHITE); - DrawBillboard(camera, bill, billPositionStatic, 2.0f, WHITE); - } - - EndMode3D(); - - DrawFPS(10, 10); - - EndDrawing(); - //---------------------------------------------------------------------------------- - } - - // De-Initialization - //-------------------------------------------------------------------------------------- - UnloadTexture(bill); // Unload texture - - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- - - return 0; -} diff --git a/examples/models/models_billboard.png b/examples/models/models_billboard.png deleted file mode 100644 index dad1e55b7824b7690350564a179cc0cbe3a8493b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54859 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 diff --git a/projects/VS2022/examples/models_billboard.vcxproj b/projects/VS2022/examples/models_billboard.vcxproj deleted file mode 100644 index 7ee85637c..000000000 --- a/projects/VS2022/examples/models_billboard.vcxproj +++ /dev/null @@ -1,569 +0,0 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {B7812167-50FB-4934-996F-DF6FE4CBBFDF} - Win32Proj - models_billboard - 10.0 - models_billboard - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - - \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 43913d997..237e23be4 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -87,7 +87,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_world_screen", "exampl EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_animation", "examples\models_animation.vcxproj", "{AFDDE100-2D36-4749-817D-12E54C56312F}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_billboard", "examples\models_billboard.vcxproj", "{B7812167-50FB-4934-996F-DF6FE4CBBFDF}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_billboard_rendering_rendering", "examples\models_billboard_rendering_rendering.vcxproj", "{B7812167-50FB-4934-996F-DF6FE4CBBFDF}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_box_collisions", "examples\models_box_collisions.vcxproj", "{39DB56C7-05F8-492C-A8D4-F19E40FECB59}" EndProject diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index 25a3c9850..b48160537 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -685,13 +685,14 @@ int main(int argc, char *argv[]) TextFormat("%s/%s/%s.js", exWebPath, exRecategory, exRename)); // Create commit with changes (local) + putenv("PATH=%PATH%;C:\\Program Files\\Git\\bin"); ChangeDirectory("C:/GitHub/raylib"); - int result = system(TextFormat("cmd /c git commit -am \"REXM: RENAME: example: `%s` --> `%s`\"", exName, exRename)); // Commit changes (only tracked files) + int result = system(TextFormat("git commit -am \"REXM: RENAME: example: `%s` --> `%s`\"", exName, exRename)); // Commit changes (only tracked files) if (result != 0) LOG("WARNING: Error committing changes\n"); - //result = system("cmd /c git push"); // Push to the remote (origin, current branch) + //result = system("git push"); // Push to the remote (origin, current branch) //if (result != 0) LOG("WARNING: Error pushing changes\n"); ChangeDirectory("C:/GitHub/raylib.com"); - result = system(TextFormat("cmd /c git commit -am \"REXM: RENAME: example: `%s` --> `%s`\"", exName, exRename)); // Commit changes (only tracked files) + result = system(TextFormat("git commit -am \"REXM: RENAME: example: `%s` --> `%s`\"", exName, exRename)); // Commit changes (only tracked files) if (result != 0) LOG("WARNING: Error committing changes\n"); } break; From 3cbe911613f1a93ed38fbf3a5613c0cf1856fdd4 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 11:04:00 +0200 Subject: [PATCH 010/125] REXM: RENAME: example: `models_billboard` --> `models_billboard_rendering` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- examples/models/models_billboard_rendering.c | 115 ++++ .../models/models_billboard_rendering.png | Bin 0 -> 54859 bytes .../models_billboard_rendering.vcxproj | 569 ++++++++++++++++++ projects/VS2022/raylib.sln | 2 +- 8 files changed, 690 insertions(+), 6 deletions(-) create mode 100644 examples/models/models_billboard_rendering.c create mode 100644 examples/models/models_billboard_rendering.png create mode 100644 projects/VS2022/examples/models_billboard_rendering.vcxproj diff --git a/examples/Makefile b/examples/Makefile index 0db8961c2..076dd0c29 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -603,7 +603,7 @@ TEXT = \ MODELS = \ models/models_animation \ - models/models_billboard_rendering_rendering \ + models/models_billboard_rendering \ models/models_bone_socket \ models/models_box_collisions \ models/models_cubicmap \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 6da9080f5..e507173e2 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -603,7 +603,7 @@ TEXT = \ MODELS = \ models/models_animation \ - models/models_billboard_rendering_rendering \ + models/models_billboard_rendering \ models/models_bone_socket \ models/models_box_collisions \ models/models_cubicmap \ @@ -1028,7 +1028,7 @@ models/models_animation: models/models_animation.c --preload-file models/resources/models/iqm/guytex.png@resources/models/iqm/guytex.png \ --preload-file models/resources/models/iqm/guyanim.iqm@resources/models/iqm/guyanim.iqm -models/models_billboard_rendering_rendering: models/models_billboard_rendering_rendering.c +models/models_billboard_rendering: models/models_billboard_rendering.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file models/resources/billboard.png@resources/billboard.png diff --git a/examples/README.md b/examples/README.md index ccd866f15..360727c64 100644 --- a/examples/README.md +++ b/examples/README.md @@ -148,7 +148,7 @@ Examples using raylib models functionality, including models loading/generation | example | image | difficulty
level | version
created | last version
updated | original
developer | |-----------|--------|:-------------------:|:------------------:|:-----------------------:|:----------------------| | [models_animation](models/models_animation.c) | models_animation | ⭐⭐☆☆ | 2.5 | 3.5 | [Culacant](https://github.com/culacant) | -| [models_billboard_rendering_rendering](models/models_billboard_rendering_rendering.c) | models_billboard_rendering_rendering | ⭐⭐⭐☆ | 1.3 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | +| [models_billboard_rendering](models/models_billboard_rendering.c) | models_billboard_rendering | ⭐⭐⭐☆ | 1.3 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [models_box_collisions](models/models_box_collisions.c) | models_box_collisions | ⭐☆☆☆ | 1.3 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [models_cubicmap](models/models_cubicmap.c) | models_cubicmap | ⭐⭐☆☆ | 1.8 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [models_first_person_maze](models/models_first_person_maze.c) | models_first_person_maze | ⭐⭐☆☆ | 2.5 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index b00e77f45..43e364032 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -103,7 +103,7 @@ text;text_unicode_ranges;⭐️⭐️⭐️⭐️;5.5;5.6;"Vlad Adrian";@demizdo text;text_3d_drawing;⭐️⭐️⭐️⭐️;3.5;4.0;"Vlad Adrian";@demizdor text;text_codepoints_loading;⭐️⭐️⭐️☆;4.2;4.2;"Ramon Santamaria";@raysan5 models;models_animation;⭐️⭐️☆☆;2.5;3.5;"Culacant";@culacant -models;models_billboard_rendering_rendering;⭐️⭐️⭐️☆;1.3;3.5;"Ramon Santamaria";@raysan5 +models;models_billboard_rendering;⭐️⭐️⭐️☆;1.3;3.5;"Ramon Santamaria";@raysan5 models;models_box_collisions;⭐️☆☆☆;1.3;3.5;"Ramon Santamaria";@raysan5 models;models_cubicmap;⭐️⭐️☆☆;1.8;3.5;"Ramon Santamaria";@raysan5 models;models_first_person_maze;⭐️⭐️☆☆;2.5;3.5;"Ramon Santamaria";@raysan5 diff --git a/examples/models/models_billboard_rendering.c b/examples/models/models_billboard_rendering.c new file mode 100644 index 000000000..40266c277 --- /dev/null +++ b/examples/models/models_billboard_rendering.c @@ -0,0 +1,115 @@ +/******************************************************************************************* +* +* raylib [models] example - billboard render +* +* Example complexity rating: [★★★☆] 3/4 +* +* Example originally created with raylib 1.3, last time updated with raylib 3.5 +* +* Example 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) 2015-2025 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" +#include "raymath.h" + +//------------------------------------------------------------------------------------ +// Program main entry point +//------------------------------------------------------------------------------------ +int main(void) +{ + // Initialization + //-------------------------------------------------------------------------------------- + const int screenWidth = 800; + const int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [models] example - billboard render"); + + // Define the camera to look into our 3d world + Camera camera = { 0 }; + camera.position = (Vector3){ 5.0f, 4.0f, 5.0f }; // Camera position + camera.target = (Vector3){ 0.0f, 2.0f, 0.0f }; // Camera looking at point + camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; // Camera up vector (rotation towards target) + camera.fovy = 45.0f; // Camera field-of-view Y + camera.projection = CAMERA_PERSPECTIVE; // Camera projection type + + Texture2D bill = LoadTexture("resources/billboard.png"); // Our billboard texture + Vector3 billPositionStatic = { 0.0f, 2.0f, 0.0f }; // Position of static billboard + Vector3 billPositionRotating = { 1.0f, 2.0f, 1.0f }; // Position of rotating billboard + + // Entire billboard texture, source is used to take a segment from a larger texture + Rectangle source = { 0.0f, 0.0f, (float)bill.width, (float)bill.height }; + + // NOTE: Billboard locked on axis-Y + Vector3 billUp = { 0.0f, 1.0f, 0.0f }; + + // Set the height of the rotating billboard to 1.0 with the aspect ratio fixed + Vector2 size = { source.width/source.height, 1.0f }; + + // Rotate around origin + // Here we choose to rotate around the image center + Vector2 origin = Vector2Scale(size, 0.5f); + + // Distance is needed for the correct billboard draw order + // Larger distance (further away from the camera) should be drawn prior to smaller distance + float distanceStatic; + float distanceRotating; + float rotation = 0.0f; + + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + UpdateCamera(&camera, CAMERA_ORBITAL); + + rotation += 0.4f; + distanceStatic = Vector3Distance(camera.position, billPositionStatic); + distanceRotating = Vector3Distance(camera.position, billPositionRotating); + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + BeginMode3D(camera); + + DrawGrid(10, 1.0f); // Draw a grid + + // Draw order matters! + if (distanceStatic > distanceRotating) + { + DrawBillboard(camera, bill, billPositionStatic, 2.0f, WHITE); + DrawBillboardPro(camera, bill, source, billPositionRotating, billUp, size, origin, rotation, WHITE); + } + else + { + DrawBillboardPro(camera, bill, source, billPositionRotating, billUp, size, origin, rotation, WHITE); + DrawBillboard(camera, bill, billPositionStatic, 2.0f, WHITE); + } + + EndMode3D(); + + DrawFPS(10, 10); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + UnloadTexture(bill); // Unload texture + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} diff --git a/examples/models/models_billboard_rendering.png b/examples/models/models_billboard_rendering.png new file mode 100644 index 0000000000000000000000000000000000000000..dad1e55b7824b7690350564a179cc0cbe3a8493b GIT binary patch literal 54859 zcmeFZX;hN?`!3ETpn_ zZnU&Ab3oCwoUoC~6w?gL0W}pBcn;}y?|shyyMOEd;;ePveBZD{mvBG#=N_)>y6@*X z?X_VoT18g{1OlPgxv$v_0znBN5V#fzSNuk2-H&Qc48XO|#}d|55P|#j31! zTzdN&r++hp`dA%1$V@SQ^shFQ&)IPQUv2nl!mEF=Pho<1&V;T1PfY-8`&ZUgzC5$^ znlCSn^(NzHetLIZ4uYJtHPXwYE7%zKAN{X57_I^2ibt{AmWF?GG3b*EGjZ!>8d_VnjAQJeUXrJM1!n@d`leu0qR`=RV|K%`@>|ky|iqi!Cr>i}1 zgO=gIqu$)O|G0{FxkK{9q`h*(7R`ULQs0FZ4iB(0Nc#`bI~&pbl`uC4!j;p9|APx= z-SYp(58#^xafw5th2?Ag!$TW_&Gi4HN5J2bxFS?z@J-$S_-Dm&D;!3Ol}(QW!BPKe za0(mbG{_BPL-t^yC_-`!y zHx~Zc+W(so|ILX1X2gFp;{W89in`$K#*6+ZB2QLhF&Nxm0br&@JUki6W-y2`Zp9)B z>3Jhk|D%65s3hC_2^O2}b}OfSq4i&+hlymh`}kR{nkTPFHP-O1m8U11iZ0aDsccgl z*vFIr#8YZ)fa*uLPS$rH7#;>_YDMOdfm<{|%}{v(E919gR)haQ+FW()p14&x18e^y zYf?}Kkv1g7w>nlv(e3=3lo*-7+;hfhbQ&!Ijt*X;6&|Ps4W`FupJlQ37+Pk?0dp?{ z#LKL=p^dK_CoglZ`KUwXQkN_xpC{vh%^Ll!%15SivFqdh@qvqHdCR&}^Iq~o3cts2 z9dx;Y+f(>eu<9jxJfMJod^=YS1~m%bucc?iV-UtDhft~lu;1sPgrwf;jilpLB3-1G zv5|q3$FP@9jrZeuUB2qpQKz+EtE9H4HU`JeQyD+}EECn7`e(S#yY=Vq6ik#Bt~vcT z9n?^V2(t0yrdYSkedp-U=VgP= zIj-70@1JH@P~{l-yBD((eHnpxdAlQ>DfEJGM>jr&`khkakc{+9i{%zlV631UAFixj zg4Ki`vePy)4?FSJyfJ6F@oG97U;s6)5=tq#c6n`zI&|eo+y|3GssqnsN&}-#VjnmM zl#(rToaUoIlE@V;xZVCg%M5w{q|_q?edMbs6)D^eg05C(4H zT-yS$@(@@$=s6jD3!x4l>}Ez-Q$6m=tCaHhD%FNEPr3@SaNbw5xRSQBjG{uM&jF=6 zj#@)?8i1u{Wf%xFSvmE{s(SUtDa-=q5E(pvj4DCY-X7*U5w9qR&qt~&ElS}n1ra_o zFFt83fVgOzqB!S1i=7DEo+Ch2e6tTp6*_r98h?mSTa(WMMQp~}62Nth_03$=CzD!G z$GefqdOV!IE_hWftV0u0`L3r+M|fL#MZgDW>AJiO)ml0X-=L}mjAV9G0w4)sD`;&U z57xB;Vh_PSN;~!A_nYklf4RqeR(RMl{yzq{LPz*Zh9Y6Wf)s=Zw%l!dV{9q|FDH>s z7n4X2T(1-5l>mNQt4{; z6o+iUd5_T+b=2eQ2EPhv>^%XRU;wM zG9lk^{jK?6*M;y1v&GOj`jeej3 zPlc)WP{nbBqZ)d(`1)7X5Kyn@1vk`7b}r5mt{siDE+#*yiO46DtbS0EveZ6EYEXk& z(x8Cgr56Jvvd=c>^-H0U(w@oCWL_*oZ+-qhj8P~mnY44)`{$GM|5Q7`3Qh0l@&6?p zb?ZYsO;Miw^K#yA6ja=F`jH!5T}(yX8Epe|P9uBcZ*w%Ynrl-~oR&Tg!CxERdbEPo z>`5AhrnM-w9%TlncT{iW?s}O>=#!nC%q+Y)X}4%AP>X`9I0x+(usm+-8m~s=*DBpF zE%esCzg<ry$CHw2h0F-BD@Ir`*T`mnJklSC77}z4jenS<*0#keUH-`D zb3xykjCr*jwb$*-@Ub@7LY7F!!8OYpRyzOG;ugTD`TJCRhbP>G%Y zM=3}l>uG-cGrLe@>a@64HxeYR(qD@mH8F`nqRW@6m*%RJmY&H#EZW{B&t+vpqpzBY zA02}WytIOsL+tZ5YZ|@a)*^1ZV2S6OT~H{-Ua51!;!FEg`6#42IOUN=kDmnLGmCRTA>T<%*tfGwYCgA=_*z)KeL<1}%AYQ_ zwk9Kg;p_zb92&B*n_P6>o5F>C;aTMX)!In4^cA$TRIOh?vXt(VjEuDf>;A)eZVKnY z4qDm$?L5@9dU~=GMc3mW8Kvm;3I|>oop<1*IStQAH-%W;vUwE>l*g z(;!3L%)Pf;#ej~NMrm7Zb5k?7UiBd&IAmwCdKQmZQ!DOyAIhe55u6IT3RpAl9FK=` zhLTzLXQub!-?`1=?)Sdz0tz99zel0Y{{uTn5@wOs>%S)(AT_Wx_(O|5(;k1N=I>uC z#A}W^_9x~-%%@VbD^uC$WjvkYZA;8cVQ|r1o~Hai&iSUG#2z44!zHcyXhMXe!;;Xi;YlbF=LmicJCGzVG*e_JQShi7YQ zLd8XUL^53z_pE&u=a|sblbc$P5555sWPp5A)IQ~md~foFZxCHGcbv zgl6uQW6p|Rly~|oLpbBcbV9-1gg*E1_Xw5B+tv6FR=6|cQ@$h^_RP!-n#04^DlJtS zP_u{u#E3GO>hD7o>5GZ>tN&;_KPM;3Z-edUBUzF2F*Q4|-U;Kl*f_d2bFDDWI?iST zgU3ZV=IbN?VDk@(9Kt}6B@pw)0o|YoXR1ttAV&-oOM!_@Z~`tC;-JAXL?YwumvePt zrJ1mbf&^$;jda|c-9>G#oha!3&MTlvzsf?{)ddWTVsOxQs-*2}HOdpE-Yl6k=T+kw zT&%tlcjp3QV=o0U@Ozn>hTYBjyRR@#lEBv9>Xra*qhNv;YUKi*WnL)IDieQK5UYap^@N;} zG;Bz7CgkJHmoL6-Wd}<9`=qs<+rt|E|{pg;TvnyPZ_?#FSZD{~k(MFS9_yvL zGhx2A{j~GgGRqj?M;gl)99^!JzNb&=$t$DXX=l47W4=PK;5~9y_p77J;BLWdubikc zfls_TM|*Pb>s|}1AQv-iZ(veUP-G?M(#cgGXS&<)?n&3Hs`3k$U&WZliau;)Hw^n= z4Xc>V7d^Y_^kCmHWz$IUQ3qbbz4X28T&!w*p0%E9pjB^c`mG?jWlC#I3jMGA%bx=- zfq(bjfAU#HlliGn{u8*QFx7>x&iO^1xq?gwj)B3#9bu<`@otJGk?OLKk(%vC4NNBuqYe!d zh3A*6uibFkjT7ly=q+UIl}hD zl~Ft{rV_Pjt#14CrD^K$kc1#wS+wqh#bn&sK9+*Y6PR-`*9gpu(`_ ztQJ~~(kR1al3DuLirXRs4P31_CC;qDEgv2ENP+9E+D-~xw*U{-{EC7{n9+p>i&3a| zW+W1G!zakP1KN8H)@RQ9N5Pd8C16sqaxnOJZvF2+{eS3*hAt$(gfL@g7_p4haT2oA zXMBGSiT6iRH7;hA9kle`NLj z-5(Kbn@}9~JeF|7AN)9r#2p6@YdkqILs4Md#*xa73R6@yLyljc_76)PVOWKZWbgAK z&3J6yMi#Ny!NYLq;Jf{pnt_JA2dEuGiy-kzQ5J={>H)s&h7NNS%O`z%^j!5vpSl)?fu{w1qh6!VUf)>Y8 z?@DP|qUSt9J!aGN7ajv{ynPLK<$7UY)RgYa`|g$jw5Tu!#CtO@=W@4dn9+=msBaw4 ztsJBPE)$tCQ?g9fg`~uqs;_DtoP#Insn;9kuU}CK4Ix)fD$uaxFMJAG??QDwUU~+% z-sf-cWz8Y$ZGY!9Cjm6t@9lU9z;?z;5t*5qEK8P7gcRPIQhdajPL@jp{UvhEMGeoM zam6EKXgrg!Mr}>(G$h+#s;#b3jJJn=hIhmty}diT=H}Q?FzWA5PEi1jpQ2#L-;VNf z;a)==-O+e=fhzn?ZX$}oh=DbgSjg#Rww3D5@)?Yxn?I0OCIvhF$oZ|t1$%Td$zw(t zZftGHcA6@uJ@2}miy8n3lV_w;4Ru1N84d54pht_KHs&9LMe`}8a6s`K0-pNIJ>ZM# zv@aJRV+?W$8M!>iLMl_WyLM)zE0leYLC|Z#vDWTn^;yZKtmf1#WjUSMa$#V_!vJxv zEP<7%_4}p7Zk_lQ=@`p}ult!h`&N(3gB$_KiV@2LIedsb#!`b0GqEaFYjIPUe06VY>JDGIr9#OG5GKA|=*s|tBxg--XJr$0Fn23Q&N}bx zgYxbmDBPRt11MxGfpYx&H%~fHGp!>e+lRh->m&d1J&H=ISe;qN_!CsIosnJ->b?cv zQR5Z%q-USTP}Cpij~%nLsF<0`BvLb>`Ys&J;w&XW&A^h4oh0M~f|*8dZ$MzNjS$?l zCwlY(>-1?Bu|}iTm+@mod?6|zqPOWXfO>Sj3yYm7ihE;Ny|{_CvozESJx`<*382Wl zpCLIpACkWlsdvy{t|-r6{A?_W=0M4h`N4pzDXi#8VN6`oQo-b};NY|#VCI_D-Lt0oJcS8EEb6=Po<BtR>l4d3DkuFJP=615Gjw zIHBFNauwSZe~CM6fLovS_hItLbL!X0KMxar1nG6`QO}g;`r?g@3gEfWzgCHkcLegB zcPfS!=nuOj@DAvrMs&ZsLeKXXevvkam5U6oW@RU4C?xf>NOIV*^6RE1ywD<$X7SjO zZ_jj!v;Bs+YKUUY82&(CK9swwJ;R=eqE_C1nXcEKU0ofYwAx6Vyz*o>mTh!O{Yka; z1vdwyD^HHiN0%QmW$zl>oZIt$OHTwndaw3t5LG_BDTvmS)O@Jp!%Pxu7yQBEZxg>^ zP>$S|zGBVW0@lf9hMW~n#meP@G{l6bKtg<+1I$bobazZ`6!I-C`VbRFSe%++d^kb> zHuJ{rn$+(~5sT%}w5GTgW^pmp!HnNiLiJzZlY$zEYZiM2$tN|M>9E#Z5{bB|XVlt^ z9objHg%p1jtkwMfS5xBh6;(vB{J3=lzIE!;o`W^7W#o@qZcPg{5< za~ky6pPzuDA-!H^6CQ1n`>`D3i>w_wGVcwKSxDnMMK#Z73RoItG2a>*3TP+H_PVh% zCkc9WN{hXjH@&g3E)!SdGks+=+ZyV5TxshL#_+BhP^yfL}T zZRSG4RWuPs9R%%Ip|?OswAs{n>zMhW9zU-(r=&%;A8@#q2lF9PIwudr{po&YE0KB@ zZuKa&IrUKE;V-QE+%UX+-$Gi{v2OD+P0)gXFVhWN)b6uWiv({AY%#Ln&GpLO{$!a^U%xbzKh zaxoA5ok==IvS8XTZq5xhP}dG_>v^S@BCxI8qHB8n!b7}k$j^Dqsrld#&8>~T`Lj}h z@?4mP9yikUdaVIo&FX#H^nH>xB8U#iM)4JqJs(xw*T!iHG-!SBU!5mIrO}g_iXg6r zCoLr_R1*fSsxm2@Dp{P3i;ZEr$2lzIu7*Cgz4~foOvZq#5#3GVaJD@o-;F-EhFizd z;l?73%IeipI*lGgr?CfEh{3grfexsZSxj7iDux;Ef}Qf-O zoO<-@p8_FRmkp}at6zHg;l}eq3%4~U3EOMH-(vWd_x(PaKp%vLLuZ1u=etRb)-3T_ zIIrkfA;Hnj5x3FW;5Gs?7vuO|+pz@fUjo^9cT^nUFIkDqcBWmr;7^mN?p&_)5|lGQ z^Jkf|rZJ8YXR;BxAdbUos-^~CrkldmjZ?MdfuGJOQ06*fQ)J^-Wlesto3UG&tb_a1 z3Cp>4liJWPhj#90Tn5fII1xFHiBGoBi|T_0yaFfyP7bh^(gT((5*H42M;Eq)`MtF% zW6w-hSxDvRBN$PFS@oBD-A9d%zmf;j=f#FX_1TLFpHGghDqx@1h>F|VbO``Zc)n`x zSL7Yr+?t|K4Q|SHRWeP6l^_l4h^v zadtIVM&Pb^**)YBk4Tn7hjskA;{{V=g9_F!Qn>?gHlWIOKrAvfdN)KgwtVNJmljz- z2atM7N{9#V9}sZIJq8yl@f9QaAk?{lTcGSS@?!==x&2D;}k8CDZdcpE}#k zuGjt9%{U}ju-(UzNv4_LxF^T;Hgj-@K_Q$QE}*dTkP+@d37P_)M0tR`bcM^AAHbpX z{Yu+U_@N3cjzHc>0iJkfWu3k@m=1TNyEh0aVeo|0h%(=JrMC_=ScEb4@@oyfX8><# z3>2X+V4hq}D=|vp;?6NBoDvOgs3_YH0iN4`^DOD9ueyngXzX*wjQV%^o>5~rq=qLP$#7RPj&wFjuDK4~SDuQ_OS z>n|j!;DzXU%$AM@`<%O8vX>l}^!(oAYMeZFTB#4Z@r9C^jUqVZ&_!tb#4~t%J)%i# zV;JzB0Y5@q6J~jaV4E^fRD;Sv`%OdkmjUqB1I4GEd!6-~obxoS!6L!J6`D|T52K83 zCN%yL+D5E|h_A7zYe~+TUNY!i@${JH@0ZRMobGP(5C+D7PETzazQ@1`)@0!n0&MKgX_tvnx8rx?8%lsuz5fIB-4L6jibni(4}8v4y#TK4`+6O)hPHGs4<`~A%!BF zkzeix%p0vBn&Ho1GDNY*`OQ#G6EgJBd2oQuWzeA;Qw%nR>tt-|sJ>cL{IZ4-TG$5) z+JMahEQ)`1Y5nl!E7WjsW)Kg(u>c|11UL_|C(NnjWi*qT5L;MuH$_rJE1EgMEFt)I zy4Z4X7|yPT280|ft0&k;_og5gnpj$636Zci{?Z8xOV^IcvF~_z#NOnB>S~~dAbz85 zNbM@akZEUo+Osp-+8!7{`tN*0d%zI!Uu5O6r^3Elm}5dD2%_fQ~s%U*SUOt98O%5xl z52e@1)vbfi)i%}EauJRe9s}sBh$Zj}#2QH1JJ-$XAFe=-TXN(9u*16nc(|&~Ykhv~ zMGDn{W}_3AtNi8}ax=8!d#xFG=az|KojP?v6($`|3qjD2Tl{>|uhd4ZLGrWIId(YOA_LO<0Q5yH;2d(~KZN3@dmiIHSh zHzL3R$$OXt;8sISJZQHr3Rooz)mrsYkn;5PUvvGFzj!piq)(+ z_XLM}C}DGA)d_?w;zTTv#j z&4kOmQGB&V3Lgazn^qJp>s^omB?DWBNRuBJ|sMqD9@8iFHJ zm;nJv%7(*47w-%YbM@W$&v$WK2D*kBN$!vq*q+?7{pjA{y}dYfFM<2bF|xada|gEu zkxPW+6O0K;N1&PdE1(yUAFSFbStoG>#2M$xiR=@qP%}s4m zK{^6{!=wk%wxGHB;NZ}yJ0H_=XC2ZQmbuz-TPfduzm1C4?m)RbCZ_gTfm%aAGTE?6 z!1Y88>~_!3i`3H~Hdo`VUz1%A-mRtvl_-PL^x5MqrVp)zG{7we6)ZwIZBvaIFc-rt zyiL9|lvJa3d+qZxa1Lug1Zx`cWwdG+hcgw2R-=4lhe1#M!mAsDS@Y0D;liKQOlyww z3e*XaZqQ02hzi&5)JN-5O>)jQF9q0Cz_~?#DhbSrIeq2m-21Ia{sCq5(IEDiQuuQ% z@uefZMqxFPzT62sD99E|HJaqN&ve~mkqO-P>0xu?7Oma88MxJ}^{}n_c*u z9x(_v1eQ`*=ljU+=}7k3Na7aDP!^fU*@=c1U8a`k6{Gt-smF+90>2kBa8Zg_pG(b5 zXUUYqhZv$w6~b)I?Sj|J?rjuy*Dyiu*RA9O3XsQ}l`P2cr}KN`2fi1FeW44LT2rL} zY?G=AnJzR%@N60_P5BER6ks?W#nfleLB@&CWWlDHHfa!O{eal@(P5Gpyu(}h=4kvE z3G4FLolK86k}t%jyVOjhqad5-WM${;cGL-3{E!E@O$dtDe$;{LjfC?}wXJqn9l_UL z4sy%fe@^@6d|jZ-wWP+`mQ;)Z``94u40nQMgrm(9&6&WvT1vjd@Hv>CM#<1)cmdeC*!f~uC`54xM< z4_aC6PmdQstE!;~mS`$&Q&a3!(0Tq^uN#4;MlS5rS+#F5j`W1^qZ@{%pM`y$GM7Bx zB}9+7n;d4@YXC>~pc;`+@_Q(UzB&X0up(dZC-d57gb!P(KacsEIg!G2FeF5>?3Z(v z?B+YTb*=_@VIqrwwX$2j46Nt5C%CNve&3&CadN1PCq^I8E*`EyecCmuQ}zzl8wp-% zSR9&d9zzE`(Rp--jS%dgmK)UeKtsAgL+22kw;+{Y49ZM;+cJGow+GS>hyin9VhUe3 zBf~(XA^hbGW3TIHcDIdq`|*4Rs`$&%-M$0rkrzOR-G50X!d!27*fKL!V*znmx84uiPm|m&6?>gScQK*?9bU;W1G~B+9xKI*wi^rg zp0DQb#L;PMySsvtog(+j=uwY{jd(#G?l)?^lP-Wu_vf$oSvb(eh}=sqe&I~Fknc@8 zv^vRfYd!5+ePfvDGXriN+`vYQ3h-@&S55#+hb#xT+RJ(p4y!1Ju~Xkn#MdL;ZSS8| zY*i=^goQQUCrf`W`Fyy+gH>`z%!@BHLMm)WfJpZgQk->Xe6A|`z}REH&WDemb>6CBs|m^dCF(d{;KiPxRzcSS z0BB}ebzzArM-Cx}ty5p2S9*+Ngi3Ser+{vu!q5wTV0ZCRXVaBe@Y-LgpHwpdn#Gz2 z)Ou5VMfS$&%Cs4#!If(DW7}TaVYem_Zn*uS7iKAr4GN(Bmbg_9U_QHv&Qt+c&>>{bl#@?nMGNyk1AkICUiVO?EH3ou)~Ipz*D!ZXpYHB<_1Kg|ii)P~;u_>36GR^+0Lbh9girbKsZwZp0n({c_voD=rsz*C<5S3&_RzanG-Z#DI{qsFwhPgzJzE5u&pal zo_GQ}Oxr>m&PVqFoRbz=ENQj5VxiE38nlM_jeGgg69OHWk*2Xu>%6p^h7K&fe}-hi zrQ>74nb~;`BfoWzu1{tZu*@h4E1jUNtt4pBb~!c3PJz#sPkh*o(*BT+Cf%;^#mT|u zwgH#ovSd)vV?`ASi8(gqAl`7H8nxEUr2~}f?k5D99pCa>LX_8w-RUd?+gG(_u=)t76+#0I@gw76rx%UrkFpj}6+cZQ`bdMX zu;q&#{vppW>CFa=12RQkcBF*-?cSAqg!s_ z?wX@jc2T5R42b(w7vEgNn%q%*l&H%SesSjSYJbnn!*~tD%F9l7cRUZ)JG8AwjRIUthG4zifN) zS-$g%DmiF)h^EQhx`M%!2e3k)Awq=kkSt(Q`Q;`W)NBuAa4=nqrD(Y!6_ius4q@@O zb$-BVQ04*WjjyI>GUK}&pWH*;=C=%KM?e%=0^V2`H_h6UaiROGojVtKAdKXQFk3Yv z*UPx-94lW0>ITX%uWy*vfqYggE%1Xzw0fT)`pL(~L*WsA90$M56i{L|Q%6S*s9L0G zJlM(ZZa9uC*aH`B6rEazA}|&WDuc7nh591zqHKOLO6(jBzc?o~jL%99L=8y1UwD>A z^b1W<+4k+iP7Hr9NU{}HT%%&Y=u!sar3LLXC}b%jwXcL~-T`fi;<|lvjuPW z^-X35-(WB#}xd zkz=A%J_GxN3l!sO*XX01RxM3ZG7#%(n|NBs)&uf=E2{$i^u1w#V)=x9_3cavH#vjQP4bdUoIsG{l? zbDUJFS$ezosvmSfAfO7$S8BW%L}h+jz9%j^7_%tZqpxcMU0VD9b&ibOom1;MQBmQS5pyrcc&E)Lpl_58{Q^i--rW-p!d8QQqO?c zoCK1r%bhPQZRS3sIE4S2pc>b1Y?yv18~H70kc79>Fl6^0m)6YA9}gD=FAi6hV#EQ6u109->lql zCGhK?f=&9|ROu>tmKlm%XvM1@*j8>NaqWp$;cp8fO;M&Uj7F7xPTSnr9*=>v>t6Or zT!7NM3;8|9>vKR%KcntbEhT4qt}X^5XCJ08G5g^hB)Io|YK@TKl>~j#Q?pVrk;atu z6(r*Adoey>r2#!|s!*vdLF%gSH#7EWBl}(`@yf()uIdZi<=MKCW-O;z4^KdVKlMvtelcZ4VOYfPFPXber zk5Mg+Vcnl?;5eZtH&)dCln;)D3*>0GqRQ>umQQ`tiseYX=Qw6$R1B>1OzSP=`>4wO zfC>Bf46&hmHN5k@T&GO`Otw;auZpb^)Th4=`RNQK2RwyXT;&|Ju?lMPYo{;Mvpcs^ zdd|;)qUst<>b2c%epq-XnR`01TCtu8#JbehdtxllmIOheyhx$p0%M}E86GwfuMwT8 zvUCqKb=WC#d`0{%o4VW8=A9OV$aXn2uK^O?gBMgTrA{7kP5W>P+L6gq-u+_Y`#VI~ z0!>IKdQ>Os#hXx3bA4MT1uOVPz-n0TDno{A>rv|Bhgo`kiRZ8^KczkXh!gpu;bdhLv3u1S3b8NY_rdm^vw1aHl#nupJ8{yrX@dg zparC>+g?Bql~#ex5DOM0!DMZ146Juu7Ax~J*nA1XI^WmeR0|h%SP(yP+bDFIqG|7e z>@(`7^Rn8Mc$-MGiF$bE|3IWdkG+-G%Esh#uZyM@p;KJ!8!<>fzIVpG&s zBOXx+Xe{v66e)Im{PWQ1-eKg3Z$cu-Wq$9-4vbaYHvGh=JQodrJnxxuZsH z_x5p}WPs#vygt3Wi5p1sF(>3{AMr9#U$~vW7il9-uyl6b&VF~VaK@cE0xfq<)G4p- zvnkS4S~WS6@ffw4?t&7xjB?KnGrGtmu2~H1lisLra(wr9GA&3$uuM8LVgn_I54WW0 zC|2|BvT<2}OKrSTS)trKOjT9W)Q1_e;0Qe^s$|lnM*7Qsd;Fk+iG7}himr1Hf7l=K zlZP>fh}3~jwI5%MFLn}SOSkCU^Zn&iS@$T`<1Q2ZtFd*$1i;x<$1+gkce?`&DYR{o z6oA_i``_ItK;4d0Y+vFC(#T0U840z?t3HX^zfiU5KB?FO2#lIhe|a(^JXvDA>_$BJ+G7&7Jzm*cHSAZabbR2;Mt1qKd)SbUIIA4z%VmD2 zKC z1T|y6xV_;rzu@I8Z&UCORneuRbWuwW=RGV!IP%1w|NgoO_t|Qr@IIyRcxh571ABKj ztNCuSyNnKM5f!g+rf-bxoOwap_na%9P^xC-{4gs0FBW`KJtj3f#o0p13zD9%o zYuncbjOAglvFn$oyJ=ju>0XwF(E*au;fFuN4X!lRH9&NYgFuH<;m_qViDp^k6o%LE zG<^fiC~RH3xiHvvMJaFeY`-~FGwd)QA?n}Y!rjHMX2ccAly*OWmHW+L!uuC|=S`w0 z%)y8w8p)OK_JW=gxYu?ba%>Ju5`RBUDyHgvzwMu!zGSN@fZGeUxz`n=cF2pt&T2t9 zE|S=Uxy5CxemDnu^z;q$#?jNYsn?W3yuQLZP2~f)HK%xSk5M*50PJy|f`6%3Gs%z_ zN7Xkrf`ft=*6qY~+%C+s;$#5Srs67B-7yXga$L=pbA$ODq&Ic{S4Y&V9Tk4!(l7L~ zqmw#3S*H5Qs#s}57}WMG`11b!o|=B@{(*E*KjOrK*V&NqZKZ*P*jR~#0@VwKI)%qO z6!DJBtgl|UdTS|{ARUA9swdN14TH1wp<$O?LD7`wT`Q`wv7l=lnVoP`9f}(^-6n=w zuB+olOp&2yQN8{;3TQ~@$X^Y2rHem9d;mN)lu_+^{Yn<&RFFiTa+3E`nP_Y@Lyb&bDDX=T9FFyTC{;|R{jf^2DIBjz-JeS+ zvugs(>qKhHh1*3=MlLB0)fJKku2GFu&aaBxmZ)PBo-6GNN_dH@Z(lsG<@V0)C=Slf zSiGEIMeqB$eYQs(7F`alUTYB|+iJk(4y*{XP{&)3fqjm`cC8=NiRxXMWJOloQt8%% z5vQK><(^zA;54Phg42=%{bUW?TI5ch`Z`DjU(J@xm0)TCrQAeG{pe-q4Xljrnw7$% zcYHZGjpT>bRdGYAV8ebDgWnPT>EMtkO04E0%!g`q5mNt5P@LhU>h3c?bjr@FmLAE2 z1_KP?Ayu-&)uq)Z`d9Fh(im7d;5uP!#Pb!MH{G_=8t!yF0xsBW!e0{O>k9;CRiYpC z$lzg6d%Yh;d-?aP%egJ0hq&}VvIdhV@jCIcXiRoJ4IHu@5uF7N@3CvNPS4AY^AsB~ zoM-H*9)H+!PSQQC?68pCM6j)2>n=EdLCL`##8>L%w-rG}C=HrqM8)#*qNR|k z^A0V`S7EZ6P<8|NV{7+dG@)mFtP3^t$PpFEoQy|;CifI8y9Axcvc<-d!Jm+M8WvFY z)E@`{SLOQHU#c{;|H*VO1?mv)qFnmG<062MFErKfPP3C(JTXBj>o)Im#O5g@(YT~|1$m6 z9BTgEmwn?gCvrW=h7Clg1%p)2k}Mr7MlN^PZ)?nlgVAp626HT~v-VN|*ycbBZ~ z$$pFieXJk8c9rP7DrX46JepAO6g9ozGak)y*CZNq?Aow?j?9!_>5 z*<)kn;Cmcs(${0cn~vJTqfgTKt!e7~bN*b#x(};cK1e3rW<6XyKn02S2l~cZ#K@2% zN$PwOUn!YU82Lc#exJmAlpqBXZ5wpLeN}Gvux`Dw@cM=S6MWUq?VNGuR;eat#{x?g zGtssP^&VS)heZyCF*W=3N3S1K6IS90iKP1sF77O)fO$C&pt{v&v(62L4$EtI-3OTG zc4^ai23F)6WJi=-BTD5G@<-jRVQ$Mi{oMf0o0C)@i?}(XoSVTM+CvvYLg=x_$Mkp` zMbEx|#Ne=ZL2F+FCDgQ&N+G16#8O_3F;iCp6y{`8SMC$`Z*Ak4tagG8T7X0RL91G8 z3{aH@Gq1w?VgD-UlgYa=^VkbKcvrXJ)PqiaLK4;J+nr?Y*U^q(vl3W zN{}JyOwlxx`j06W{93^7F;Yl`@msvKmUa!6ZReG~FG!+3Pt(=9R|LZ0%0ka3U(u0r(~9Jq=qo= z=QH#~4AG&c!Zb2=arHGw=XPRpXHK)UDy}16X36E?DAN_9gvHvzW@K>b%=b|C zjz~h&X&4I~!e@^%7=9jc%*iB>-tc)9^>>Wwk%Dej@qu$+?-5rDyV|NO!oX`M?p4OU zsGe#Qs|tLA*c)m@OYd7q*&$i<-?{^Y>0g3qOvBI_{8f0F#Z0|}J5IeFr>h86NB?6)dsxy3s!Cu!jCUmcthwS!Q}yz(`lyjTfIdVS5g z_1dY3e)IUN#&rgx+J{iiaTO>N&Vhm$Nt0Om3D4H#?|OTJ>hVtQ8lsEXX^b48E_?C7 za(B5>e;Bi4{QDRMZXArBIFp^`oZGzus$f1{DMGzB#Pa~tuYP$=oA~RpUJ!)er@;E} zuQ9wB;F(axjYvJXSeNOAC{Am77N5c%W)M}pna`NDzid_UpD1x)aAk|u+0o(rqgKYW zv{a1!7U(yt`xdeQNgL$8Uanz_nPtaih~25dmEwF2zawh!Uqjt*9MAZ<`*dgFZ0-gt zo^$u}fn&1^n$&P4iv3>AU*F@vT3AFs;lcZg&`C>X&QnMK&!`;}PIUgAGVmq3-SsB1 z-qISC!}nK%h7jpmU~BKfE5bPLP6YqvRe*oZvx`MW9^!0J{^6s-A1!F&Za@w^8l1sk zu>#iNPi=fSNiQ9GU^|;Y)oJ^n&G#;4ZdC*$)+~THy1tx-kCv z6~;nOkWu(`P|SUz*PR6QtKFCiH%wVIxRkE?vTSwuw-wN+zyN9(15{P(9(*m3TMVpLtq^+Yf4)>6>?c0$?a6mC>hhKE6T%FMF*3`m(9KT6Xr8CA zGnK(_-F)JrI@HKWyvE$?4s^g=89aH`7VGkM>&o|&xbTO{y!!{!^S7TWQkTTlS635D z)SI~uwsp)I7dZeVCNJ^=(9sS(XM?J7sD~_%%1)yR3HK81{@Di>Wj9X+3Zx4Qe?yDd zzI-u!4_rA16s_`RTBGdcS*0@V^=s6Ams7kxVT7Aa)kNLfIZl>ctRpf#`=%Py?gNO9 zPM#RAzcvNs$&pMc^{YR~;|JJQe#OVfwyeJxp!%JOO8h-YF}L+`o&{9=MYGVX|G+G} zq9IYw-mCe9uR&%js~}eBUeno2dusSr8Mpp?sWNMr0$_4D1}RO&NTpWMI-e_cbAZlg zu0PM+4D0PmD{7AL`k>)lAd7nZBBA^1WHm~qKa=Z5*{P|LyD_R6q=NB+4tz{ypa510 z-m{u$B>SD~1a0Q-WOng2j`Q;j2dDjyYa3-0Zu?mjUnXRy<#hl^$S$zcT)Rn<2I zl$}=o@mUjdN_43JD~TWWF}<(Z11-rHlwZtkwSrT23TY@d!yqr=f!?pWJvHO-Jc zok|@Nbk1V+fW#0c0RF&fg;l(tv4K7X8SzdDe@Q4tzXg~NS@vOR$+=eHJY~i0w92B> znmR<2)hpkRXE-k`>yO#LvUfUS87=L!a+KveO0pF%lC#H?8u>!S<>qf%$Iqj>(QP>G zK`CtF!iuo{nZH?lHbYqpt5jATZbUWqUFgEDhRBX%%Kym4M9nCAF!$O9{#jM$66Xcn znO~`wxz6nSAf8@003 z(uNp;UZA~n3EKAg=mJrIoh0uffa7+{@RkP`8!JRaky`Ci>kv0_>IrR8eLCmL%h;W} zgKW25vApeZsr^E!+ltiL3jXU{gN~g|av_nFYi}U=ymz48DDWL zVyR=@-raOQ)U0~CZ0ou1p2KjsT(k>i+7y7x`kkZmZ2cvFiRvK`BR=0}eCiVezJYe- zhfeVkDZI1*DzITbubg4`-^@8%Fmj!Xp^kam5)9P$?%4$AKUgm6uR^t2w!4YL#sjeScStN^!pcIWT%#d`gRR zZb$(WBs+Hz(35!XDbv6z2+fOnE93qbP3IoZbpQVGo#!w{ip^=0 z94a~I%r@L8LMJ6+BvcMdP9fVGqjH!|4v~pUr4sI164Q{%VV%jLDKZk1^J)8iy8Hef z4}bW>KYQEf^S-X@^?E(8*i_ilLTn=K8eeaeXrq6TC{9z~jd)_({^j=O69nUe<27d0 zF{FOTp|iS1Z(ev?jcsRGQLH~9*?x^A%S?u6UohD4Suo9FSpu@vW52(1kgQ@0v9(oa zuW9mg`jQ2j1yt_Hp{j4JHC@Tq#-pIp5QLnsVb7hQaIM3s@{03^+ZqI2c(+%{0(yw6 z=V}-wj&YC+8~1mNP7H(1`&_rK3Su>=AuQyEeZ2Lia{CUif8Tis|9t&yPJ77?8`PH5 z2QW-E(8&FvfK=nGznAabzYbcH|1Mu+)JGkkVHb@G?HEXv#=z7=)TnWTP273<(J&OW zl9nP{`~dU|hm5l$sycXFIik?cjCIi5zQcs(SqbPz4LdxG@`k!fsHjqc8N^c0$p#e& z%u&2o#GhpM<)008Aa1-e>M%6tNUcso>7!$}lH5SmPK$UH3(ixE*UNjHTeA2I_s>mx7$ zX-b=|_U;A5mQjEX<}Tpn+%GpD4gt`K?rrN{|g{0l@zyPiYW10V+yG$T%4rr-+0CgLP zvXz%#VP(1o?tGD8o;RdIxw8&hO&23MuU7h0F8i%v;x)vrqJ?_JgSEPSRHm($#7v5! zbxUy&GWB8+_VgWNsGHi+vf=5Z&fCp~yT>;0ECtgI)k;Og6*d*xDM3dTFl=<$D@Ki} z^n`gc)IV`&r~6*USP_=0?XYWUYnDoRc7webh9B2S-FL%bivn^#Tc~k*Y zb}l6^J>Gk=33doIp|!RuBkd)hDrg1lyHYB#O15rFiN{pUJBY5o92dTr(QJGq%_Y{t zJ*MnnevE;SX6E^+z*IAJyXo}iW<<^2VreU-7j27Ihdv{nVVTc+T#frLcy6>wyT{YP zG!nzA=G7Np3MN}%gxC2S65sVmMru$JZ7q%6x)oi>8l9Ej!_EHko`45jH`6b}2?=|w zt{6zm0ZQ6?pZ2c%T``~~Tv}ZMKYs%QqTjKb z+o?T+aPrDBn$mVQP}#H(a;R}`>=jOQ(TFv|eqSSA3kq2jE3R{31Ji+oVq>Qhilp6a zclsgf8vPYC4s7dHZM#H#)5f8_{P<$Nwt6)rn2fwGKfgj~xCV|ANa&hc9gzBGFe^VU zti*V69@=99nRH*8SNN;PYSUL`5<{&u6WxJ znNc87=Db~jigXjP@$JioiUM&i|8*E@uPpvrmoJA(6vQwxgM8;THzZK%PEh zTv9Sk=0cyZpZ<8CfZFqddqJ^D>+1eTp#05i%z;pO|KD>+{g-XBCR1-L-7+p@tJ%nc z{p(v%#jQciLC=yhc2wH zA+l4|O|Z0LLR&b)4JDDyBaEanjV?Fj(0`F%u(n1@jbL}$nI~QR6h3DQj;^MIq|;c5 z^Qu8-FKXicza{TbLm#^_H;S}0YD$U8M|BQjubR7^9eGOExIA%H1(m?oP_Pv!He{iQ z$Y#Lv8I}mOYyR2l?xwBzfgOfizOvzy1RU=o2Iu=W+nmDDl1~yn!_s~YiP80&*NmXT z&{M2*pw@L%2N+vTYzqBwJdZ&qK^N8Aw`0apG{lBM%8TnV1TnLv!F%;Ob zJKj-l*@=T1@4LAq1`ZAfrIOd>gfH z8#>xy?I;U;J!DRTn^!lqIRN>KB33!wr#3$ zmHqE4q(H?OgJ_N=j^_zD{|Wr>8Mh-=x!#yE8{=IZQ_C9{fw6U5_7Q{n4i zam1cpEzLo6KWj3xPA~19o%@^M6L?#<@)E`WVEx*ETPA5h!(dXRypu1-Sj9TG%PIYO z_fv2gbm$YKcoSIzU4W5|eWg?hh16V-`=UjA_4V1>l`Wf($EQJ@3KX?@w?DJ?-bveE zfDwZ%jU{xA?QdSSab;p#rkYst=cGgsu5Gu(xY}uQ{>Y-dzbV{54(^boGR*#5DmJD} zKQd`}jxIb2dKyT|Dje!eZbwN~md~I#%`1Y|De}UKR18qm^_pJHP%l>-X@65qUeIF} z!K0ghAGp32>;{f^3~9y7O&E9uFb^0>j3caIy?KOF?_HTjTrBEHTzqwstl*s?Kju+s zsg?!|Y#qv6njwI46`4Jf@3PvA;*GLAg7BhosKBEg&A#Sqt@ZK4g(p<}ODU(YG@6p8 zAbZrGuM>z0KO?6r@57{W<*^wT6?(+Dg+Y^u2Nbf@loja5rE8uCr9Kq-UDDF7|ld>VxH5ikpm{8OJ81snqC>Hiy z)vFqNjyA%&>FULLhpwF29W$=9f6u<}) zhu&Ca(-+Z4xXpNwe{)MSbWE@wVx$H8)l|@gHHFrMuY@uGU1>CynsFK?nJM7tZz>!d zjg(-&G)%mMk5s>BJh-zAZ)nx%c>)f^OQFin+)g!afOG|OC$)m$^?k~f^V{nfEpql{H5Z_g0(*(Tg#dc#L3$94E?v|GlgrRav!_0iAz zjWf)WY-!D=hJFwIlX8b{!IcU|x3sY8)Z&&@Drcq>A3Gd87cu@1Ctx;*;CA-j+S8Ll*H?;nn($XRBSTriad*KH-KZZVk zG$n2DOMvN;2Jg9R6Nap@>6oGqv+$@RimKHG4sdMea`oC;D9bi2joV%}np8vd_LAM( z57J7MfO0d^H}gz0_^iNhAjr%B@3jV-zuDM8H<(U3`5VsDBagPmbot#qI^P=LhKDhmr`^^x4~LaI1iy8W50lzEudwPsiesaLLF zcH{FkC8r9d;ZP?ZK^6}u*v(n4VI6luamvo@zl5QbTZJHg%=igBq$o8cqWq!zpr?0< z+x=5mSalb6O~RDe*nC@h;>6(luL7*B5GKobD2;>?(6YQ}<;>H#>i}*HQatc9MlB}G zC{Y&~0S{?QSG4Ne2=a&MY?3-DLbAWYj?#k8)@>O#qI7oz3iDoXT;7PH<}}?n9yR*? zXxnj39W$H|@h*7mt@rgg?gsiF(dcdp@Lu-$??&7^0o;fe6);=gNDJ-X5f1X;XHMBX zU}`@txdp@pRe>_lhnlDS>TJ%(5wdIKtm!GoMGx+Y=A-lks$B|lj7BS3GvIEu6%%t? zA=_uC?3OwyBZeW}8B8gmL#_lB#bn91KlN+E$Oo=9bL9s@Bx;;HN8WaIqi{{ctHwHs z)232yOwAfnKx6oW;Q+q_a+7@9(*(M}ss=qtUQIy{?1jWy+ESJ_MC_G}BsXDnABfv2 zqt?#Xr9Tvc#`9Ft_c?WOZw6&?M|`X0rE@`09!cP!$bZXaSC0%IrA2sWOiqIaSY7CT zT9=f4sBEn4s)T^w0lX1#K*Yu75cY#2G;&YIuiIrlR~G`8RC)Tx;~k`KZf4nSE??sX z0dH518ep{W`4c%>bovj9wgrf_g5~LDgZk``;p3DO26^M9mcMSGn#3dilnBbksU;jrsTbAQJ4Kbpqe9Tb@QUak)TEC=g46=@COg>mtvyq(mJe+AuH14+Opg3cK|^t&E~hU@B%5++qt5U zZiWGnW-mpJRB{lILxCeuBfBs`pk9KVQkDn3-A$ ziJq^{KN=2FV1))P&TV)%w1nDM9Xy)AydABjv4!s;qg|cwTQ!azukTB7y;n2l- z@H>G-E~1BuFzh{kNUC?=nYBS2!h-)#CSN)~kedp#6+MnS7Sx`VeigEnQM2BRu?gqg z3?%umOJXzs=kkR^iHO*#5nJF>k*1`&UxLLp7diI8YB&b55YX7xn>w)N7 ztPDNRc-bZDro$dr-Rbnt4|~6%j7psryfS}-!&Jp4A{nBERW*1)la>Shv4P%Bg{Vqdy@ z(O~M?SiEkP_yuKh$O{opO$XOqNt1S4J!?3&ENee_^@_$f1pm`z0zvU-D{vQ-Qi+`r z>IzHUT&1T(4OK0NOk8Nbl!+A7NHOHBAxtdYU^cvfMljvG@n*WoU1Cr?8-r;ChZ$R) zX6Ngi%^4UGcXN@?lmC%VbhmBy%K6kF@Lyf}NC14V!!K5x zgUmUjh5}mlOkkkan_M9F@vs)6Hk(z&>P7JP+`s{dHVSFs1i(*>U_<-*srY-hF%|Ue zSo_nu%yLV>;0D!0HbQN+Bs6=4wx%o;VE9m-sp87@yFN?_6Qo6egN%IuA#!mQkg{MQ zyAGI$E;fHRN;Rz_K%S}$519%6p>YEc5z-sBigM)mH4g|ZF$AhKLq&uRpD>~InGo}f zB#g;kK=Dsq0c@7GoxL0EVS8WqCz zLaIZoEGFN+$W_&%Z3}$6Z1uHl-Kq9kO-{evpWuH+xfZeMFQYIL__b956M3*4q5HTE z?ba$RitTXDD2^viH1XA1Nn5OGZwiR{<7;a&zM6A5tDks-)^^c6Jmi%Ul7hAn&gv@* zQ7~D`{wwE{)p+hg#EcrZ4=~``YGm=XZxLM=#EXmhbZL%Wh?>aa6ib6jdoNwjUDGHH zB!w!qTrR*y&_3Vo+XT=>A{|5}Lk6O6+>D3#s6{#RpL!JRCnKTiHXmVVT#rfPDz{h8 zTCl^*G0Op<-KswMVivY^wAuD3)X6UK`9GCml zfM7CBBS_Zf*gUd2uX8hGa}BBU82`Ddq-@0mL$pkT+QK{lm;2Ug-iue_(&mHMcVDP$ z^F};(fyr*?$2g|3bjBdtTe4CH1O$N)8RBnN6_cW388_aSVX^BIu%INP>`DH zd}@iB*ki{nPt=k-CJlFCe&$|S#<2DF(QWkEx|Yb;+Iaw~faL3*vUYG&jK2S}xmvD= zL|&9T)>|7x3zeqX&`Ojw$&5AGL>xki5;~;9+bcvw-3yFB)ihM0sAU>b4&;pC@8txP z9e?k`L3?lwybv%xx`pBGS@~Mj*R}{3p#fB>Is^7aB>%MuJdsEQY0$2Yi(6yXwYXj1 zp?bd$_?8v@9o>2X52~XS`Pwhgez&^26U;-y3TA3)4$C(0LY*@st( z$bZLt=_>MP4fWD0q(c#gYlQ|`N zjS#hAej!MJf&i(g6GAg^?wvKH-A0wzh$%neyN7YeCNup^aVURD%KDqn{vyEn(DQ5& z{5<3PR=#JDuS+5lUiV5P#@)81s~f=0S&?o>k;1kHK=b46sWbUQ+bF(0mkzM7xlf1- z3?KiKFXm}9i(+WPV>73WD)!bT1OWfi3Sx6kGWOSj1I%P zey<|CQdZNu=2OnhWe@%I3T2K)YuRsJ3-bP!XZDlS-p9KWv@6>e9enYXThR{HNPXZ* z{rB&adJ8y1qLjk>N@gdGfA5=GM4n4m_=MZfOqQxkG>-V$1st|n46=ncoMqjCE3EzK z4HS&+&k}`zg3p|ml+sI7OizJ|(m`?hsZLV@(61#j$YP=_pJ_(R5y5|b1;tqrnKZ9= z@cCT;t8>ECgxCS<46uU)Ko-9Npxo@*Cs?c%?RMl2qSvE!0!X|YtyZO<@2eatShscC zj?l$N&y5Ic!HFj&Xx_|cg_%jawKt;tIReyDWNzdm41uXtBOq~gVv_APO|H!N&W6IuQ0;cKADxbXny-b15j>t|D|c3~)d&6Q;0$jVE5#&BS;WY`7X60_?6> zv#+Ry*EbCV<4M$1fJEc>QH|%J=!_U%68^Q|PyVel^Q{6NNU%)-uC(ptS~P7~`~3;m zcM($C)tu`vA2m?tuJs$&2W~{gi$8ZuuxZ$?4j+VfE=$Td8uZ6TZz<78t)rG=gi^I@-Tj0yk%r`)6a)r%EQ^J8wW7}3=F%4$_)xLr_T z!C(_Vo>2K-B+Ch7$kheHZ4{wJrch$eHh*ui!`4rTPjVgdep32 zLY0%Y+YxU&HQQ)?c-_u^W?E30a%jDo+;LS=r!XWjsdC$PRRfKgX1lGX2g9zrhPk+0 zQvr_N_V1Yah&hY~u#T8UmD;Aop-#fL)|l}(HI-PGz%sQvy(3GQMrasl(^I_mV)v8; z8fYk0+6B5UYFW%L1lPrm|8&h%l^6WhHx!uOO32lEk3Rb?3w5Kv1NF6RFaF}H2kOuZ z50s??aX1=kgbe{}j;u@}E380~>d4ZIaQ`mYvwnp-$ys=8myvdhJl{c1G=ZqA{XP4Z zinuEAK*^Z$H^O5{czz-ue!i*f$t?zu3)u!`lw`HG&*N;qLkj=dtq>es{V6y|A%uom z##+4xAG!$lbwu=EM)x~+%gn0rJ_Au@#{EV5?btIg!?%!MaBwfG=v)xQ&~HVeV)|?b z#~BzV=x1TDCa>$8iw6-W!cvUm1k624Hh-?-MliX3z*Q_-r=(CMrf~s z>K3z&b(GO72JPz%Jgox|r#FN$^K;AeoYsy6lcCoqHsMjnyk{U&PZLu{(Y%F+tQBYKQx zY@8y7^)EC_Z{Em#O!r$;NcQd7eIX}|E1y|sCtANHyjx&IX_AtqNS31oE~gd;a6}_o zEHxE5EvrI7+SpQRIq4Q51|HBvzk1{9BQ1yl?cX8`$`V#2JZurle#U;nHG5=g65$}e zKvEc|+D67RrvS399Tjr;s!lr>h^6^wEukw;&51_>5!tVduvd{gXd3EI#oN0~qm2y; zvFB@PP{kWmr=!_H+wo1^?3`@{ zsS{EE6MAe`{I!&d%8Kv+?nuOfypt1!-L&go=3K;?9w;X-NIKG6besXSj1P4sBEeL3wb^)RlzE~N^*NqdRq=XmI z-eKS7PGxGm;O0PtIp`jf2K-YA*M4IYtpumsvn?HelepHP&hpHX|~Pz)K4_)2)y%-H;D2Kr?S{-zH!=wA? zzcw13S@@Os-aM-VwP>SR?MPv}E|A8gd*z&NQf@5>#T1)~BgRINYLS{inX>JFi8vQ$ zAPk3?BL`mH-jja@rM&Q#r{Q?FLC|pL&>Sns>zN+(eZC&Kv0kXcoB|d{u-JP3XHvyT zyWDAXQUU@^`7|`{D6Ds%KR-u3;?yS1hb4GS5h z9gsab4e+SpP-Og04qYQ(g@5EU6>RIA#SLh0YGPe=P?~i)rL63RgngI>B{;Cx*b;W< zCT;+j(+%Esl$cEFp+83^TW8uQjRPEnUBYV5Hw)4D1hYSUTmLSo-N&Cw6klw(nLYB4 zGkez<+kOkROhq+j+W2h#kyl$C`{!1%P-ys4&%&Ah{22)5Ns*L+LkBP1g?x z@l_hYo;wNj6;eyO*tFs7AW^>P&Z20Hz{oPFcxwnMKDQ|PLEsq)Q{_{G+OvN|2d*CB zEGpN`otT_GT^!J~_y?Miie=?rM%dSkT;ZM?i)=Qz;m5#fS0Ej#`NSRp+W3$?{f zT_;UkQ8+>d(zDY^;KL3&&^A#)9cl+MM%S`;ThLVzg?kV_zqzT`Au!z7BA*_6>{?ifFj5%0$HBcdFsuy_ZenM_leWdS1!hy2wF8hA8~t~XhkGIBw9 zrn(3QFf933Ujx~F?Q|`%tm&C%xjJ_jTKW*7dbiOFxv?Ig>4(BJBtNU<3YR%?Vk5=_ zIayx*69s#A-)ApqZuo}2|aYTM};p2mWVHrWi>UXgpdVH4~z)~ z5=L`qTzV;5SqVhQ3j;1Pq=QlOvH{@RE(Na)rz-7h2*siHQt&M|gDm&h;)EqRW&WYL z7XJcg2b3s(R`s@2OVP^$jNjLu)rgYA9a;`!^Tv~&t3%CXwJ8>$7)1o(B>^EX_;HdX z5YN8M#mh-7rz9qB=gmw+vQDa>1vkC9{%i20^H;4zF%ID?r9*?;+<1Y$ay@rIlcS4r zB|4{9uI7QwNt7Aw5T#`&!Ob%6=& z+~-QgdV-C-LKu@%6jSn%gHONfF^u{5o66pl5#4W3(B3>qJwsn_OQoyrAl~*rvj%&V zFFhWmm5M+FI0$dady@5#AGGLQH)w_?DbV5#ipn(31!zy+vUESKTV^8jIlW8f%o1#Z zmLld+BpNL!9|1G3o7e=8T5|jNJEwTonr~`vgi$P}6-y&s5 zO9R5YX?pu*L^~yNkso|tOqRY!;1-_C?M^l3E}UWHyn|1!Ev{zL!C&mcSO6u6g)nql zmVLfY;c{7^owysYH^74#7J$<*3WnSk7n~7=kf7~OkK0!7?uHK>m>!iCi7DitU!7sW zTa>D!XH5cByH9ALfT%lAREpx0)D<5&A#J~ zCWuX?WB`1&p<0UcfVV`6^OEO#ArEY0%>%tN(rs=RDJB_T$x_$mE$DHz85;^Q4#ZX% z2ZOPqmE`7oY5jA>sv0`0mRM{3%-~zi#XxSCvRU{oc)d}&5=UvRb(D&_enE>_HM1d@ z9C{;lx9d0}*t=f!unY7Y(y?}<_GzHazih)t>SkG#04>A2ze+`!mI{OyH=LoYcQm_V zx9Ra%XXc8quE9pwHY?dQa@t3rJM)!_adqEmr$q$HKAWF(!V-RT0E(11wz9G^=Dy~= zP0Jv_ShoLa-)X?@QgH%MH-Ah7iS21zw>vF&Ow>#-s@b(?V}o6EqgY?Qzpg!xikYRUwWia}Hn^89qyjP+%}8@NZSwQt z+F5XfUieb}Mdb>cb@~YJ@~f7L`pwk|$(>p|qM(#9 znGC*uc}`ZCpF4#gnnfo~4@s!r4x)}AA7$P8%W)N5=d*lBnF^pd2eL-)+cxu|%XEiw z=6!9H>CxCvk>>ewZGZnIZ%7&t?SI!fUY7&^qwuJlUaoyVbJ(N9WsZak;JVBt3jz?D z!kbj~k9jKjNReWakrZc1Zdd{xESX;0T4B<~LyjqMzw{C4?zcIMie{K5np$VG9e>vd zUjX@K20koC_HF$w%jvj~eJPKAMd`+rN;R;xPbwh4l`AuVGBQ}r9U8kYLDg(wG1ra= zE^g&Vj5_3PM^ zTzA1B>eQ*sA|vi|P4)%HRATf_WB?d4hz1v_FG2<`b+*bCcY>l;nI%>58u<|Us=keg z;<3b}1so4Y4jY{cbVDMoNH0WabJA}hiYDK{<9n8-55Yy5178VR!RjdOlvbGi()mJ%e>57q+QMC7X7ZW6;SM(U z(xfb7-toi3(t_5bfXSUb{Dir$e31g?e(|&`Jn0{M)qo0}fwG?6eHwagpvDcWmLYA# z03iX82u%)rWy_^#9EnGGKU?l~cRL6e30^-nK|PKlo-K)J6}Un!9n;yQE`VZGdd8zD}`U8mP>c9BWl2XtuvoS5Z4x> z#Ym$J$XI>C3W0H6UWw<&whv_A_J0MLQaLSe7qh^Xb&H0?hMmhWRbyDiLYG$bny`zs z_^(gJxugw%jo5qu2!$P6lbdD6u{1ZcOW1GLOGxGFv6k(n0AO#77fQwH|I85B*h*!IvJF4zsz)>s?mcB0YQnsW3~{WXuXiy zwgmvK=^zeGzX#sVmw@^N2JC0%Y%@&{{(Ur|%<^_E)T=Q`*8Hk$V*UDv&~Mr-BUnFg z`nzq5K1raNoy#qh4M>&3eUQuB9~#0r^&JP5oxMTgPsoN7q{649+%|;2`uy-AOX*(E zQ~dIEhehP|lDrLPt-hft)*C97cvAMCWMkhvrLC8R3N2=u_}P;L+T<`~QX?osb96;6 zG3HaZ5w-ax?3Clw+@kCkC8+tj_}*_{7l4pH$xOSN1@bJU+2B!L0bJgXZUUkRyyv~r zc6kpn<{RzZ-UlvUs-*t4#j%IY>N~Q5lOg{n&|dmV17r;;{ITYo!QIgPgY9Y-u9r+g zr3CIr+OzYU`}3|TJ!ogu{C4O+l~4nxDZ#Q(Q(v7zoy8_KrWE>P3!>WR3GQyHk6@xL zSrCDkg`7f=1SU@s9spyNE9qUCAY0u)x|x2H#MHF?jZ;hNDzPJ$X0QVDFM=1Hrri$! zT*w6!u&uU#G28DYK+K%_A{d58+GSWxsZkzEha;HMiN}?<&T<0zC7amK&}GTZ*n{** z=(c~)##xA0!-7GP$R(LrrHCb!c5@(pvKyQE6dmoDy9SRel7I_`SV&FVl!YGz#HX(; zGb#a^JG2H1k-_UQx&wE=hvh%E*;OO0Bgf0*)Mb82NX|+d`KL~p!VY7;JsMU1ul{pD zkp-6f6qWl);Vo~FuIA(jl;o2fHGt(%zfE|o4_&{!$5B%J|8~yqvO7w5}2wv+|pO&{A|eXrJ80#Y^`mPpj8Q$hIiM047eHvV)Ul z?u?9?sU7%wm5!G5qn~g}IVa6rn|Ffz(gn2z@ugqBUN%iGi6npu))^@7)&+{i33$~E z59W`ENB8VbY(xFh0%x1$AAuL~00_pGO)*@f$)x~QlLbyf~Cd@SGC zi1Gu@8J4Y2D51lxc)u4r(1;!3dLue~Bep#9ccUUgfI2t1nrpuGYxtEY=ANWY+bLtd z0do123fEES0Xu-im~D~&chdU@+6T;bYcF6zj9@WYgrkuT@vHBL@wEkK1%U5}; zumF5!O2LGYK-yQbRQT*s;K9XAglSl9}Drk zYSSi{4P~{sFu)Gt$3OX)D-VvnC!Kg{`L-7~=e)V|Ha9&biVrm0o<|i*`!~^6%z>db zxW_=+mU4PMki-YveN9dH<%2z9Gg@ef*vay)1m0C&O%K~mb6s^zU@<1Zaj}E;868op z@S+*Dp4~xd<3Y#(=Ats^B{amrR>@h;$XFqf26UtQ_v4paS0t=1Y#p`jRhQeP3iqEe zC-iT+?tv5xGIV%B&Qv_`P;oS*Yu(Ftap|)EnaIb>kLhFwWNP_Y?7P~`-+GQ^`^EW! zEGlEqW3~^2Qf;{!pAJ&NfYnAGmZ`mLrMvRa+GtA}#lf6u*q+Px-mD_x6?!nl6C)Oze7sw;9nTv zzP-PpJ)=Wl!?NJCEs$R-OQ?QO_cG%gJ$pla#7@>ZdI>#j_-M(=xW%C!e?l}@yIe7{r>_R44|2*&;Dn_)F4_M)c|l@@GLs%nJ0 zbB5#XDExcXN7jFK${s4(15Ag2(sV5In*!T~F8wo&rq1x^$c+li{`tpj9Wa61PeMP& z+V}|8aBQUq1$i#>5@>5G*fNm1BISFwRiD=;THzTXEK=KN+nfZAC=#i?3M~9_$~!d} z5%uFoa8L+2?W%Z!D{Jon_G+k?^1pHPh`h-vZk8DVu117h_z!V49F@86-{5n}meh>a&aAIZclIWsZZ+qXy|dO70{$fv!a>_Or<3?7{REclHR>Og{~F(QFWwgr zvS9CS@QjPYoWikDLPhHyHE@M)16>`f?)L09;x(PIbMmVzqV!)Q%ww24ZK(kWk2urh zCIK-E5u}0Gq39Oo^_a}~%sRSf-#ct3T5rg&G44Sm0-4b>G8Sd% z^t|w-t9mUzK9?mKw-GZ&D0deSN9xrh$K@LT*6TYjI?@8J{HFX&Lxmg(txRx6>~*4W z`+rM}fKAcd!$St@sB3^5S+EJgFh*+whapMB%%Mx>F)16S0KR@UPOj&qf+8(eCXuG+Hw_Kj z(-kQ0#%}{FCPRyV2@qY5ndcoBSGir?+5*HPl{hod?r{A(kMH_^d?-IB=yNqbHx^{eDMgDUf5CMXZtOv-iH1}tk(EJp7 z=)p}D_)vz8Q$GE6#GQM@P$GuDGq)7hRirODO3wHqnHZu9HV05KA?$_Aw5t*H`t?SE zz*uYvYwCUjKH)}>ij+VnY8x^JYr4=A>+O*N>~@6xFPYdBBMuZYd(CRrQK5G;Ziglr zJMKleRNyU;SHDw+6?2ru%h2@do&fuu7U*uKtpV0L<8mo^-aJ|pj3#_Lh>@^#VArT}!bx@fdyi%#q8)b*O1T&cDs>#|Th8qv1jk=AeWc~RDT@(IQik0-W zj1Ri%GaX6xmt7JNe&s=xmY^{Je2|)gqSAkz@;r!yeW}bBWOT%*AU%~=L4Zf+1fs!M zWWC8R5FC%^&@^D~+L@~SECjG@c#7-y!naH#!;5N-fu&)?EklMq`_13!C+?G9@N5SN1_ zBdhgF;+G=vD=)##%q&!O4$q72r%5-ofyEQ83bd|6ez^xh4kb>@v_v>*;4`q_+Gg^# zQr~-rfQ*{!&mdnQmqtgDT@WnlKZ{zyeTLtrXsDMt$j4i({y;&d=4l$tR;j)y zaB*SvlaLV5z`{wj`pe@4?=0DauO+LHW9^Kq_CUObnCt*Zvc?;W37AxHm>C8*GQ|f? zsE4#`Ez}gyyUmu$Nuvsvn1*}3ZyZeG$Eg7aF z;)VQoUkThbJa^Y%G=UhyQWwQE4Uo<4r_pJGYdpc$3#VehT&#{1X1;&bK?x4X1sL!Za;wgB?} zDeI7dx4E^Ku$~E@X|0Pi_q!FFus{*IkqGJM`ldhQ=Fpy6KzTncS!X@vIT6P`>AJb% zwL$OlK--=}O43>phri4zay~WOQaozbh@1IvD#<+xH+v>`7t(ya?CTO;8g3Jv>#nlZxCP{GrLv5W0`KxN0KR=Hbdm)d^%n- zLPe0G_yZa!RLpsW?H>F%KXw8#3_ErNumXSADV^ zF)K{Vs$gj$Zbq2O0zx-Kq}vU|J%`4I*Y4pS9y{;ZCG(B7}<{!%URt6k5_SRHhU1w zh!F~6`I2c+r!%dE?&r#l3P#2gi6wtniY$CM8d*t&)$0-5&QL{Lm&Nb9o#0v`{w=9dM?#G&<&c zO0O~}-YcYaRWv}O{KMc~J~Ru~DUuNc)_Fb!xosNKmC6m>`{4r?V+dWKQJlQqLn1$e ztl_bxc-)7oZtkub{4=6j_flCfJ9#H@A%&94>_@+lKYSiuf5dqvK&6LqyI=|9vAkf~ z;P9jI(ozIDyk>+N6SXR6U!&Ju%q;(nBHHWv-RH?&RNjXfdAvex}g;Im<#S zf@-FV*l{c~ne?X00iw2YPhJw1S(ly((EI{HQWGZrXQL*4AV6dqGC9SOu;`>+ayKTq z=OieH>scsVAZd}kYna`YqZn4ehxptevT_2 z%cDooqF;S<(-dyhA?~=J;lkTs7W?YXo432LatD|sIY2DLFf}oq`#9gTdUSltgWL|) zzqC*@Rb^hz*QlO7uYR?q;5DlF2XT_doj*!51f@tnUtB>`nBPXdTo9s0X`xFTtM^8* z1WQh!(Q-TCj|IN;gsP?_c&{F$=p?AqznTujl_q3^pq^eS(8B@k=Y{5!M<%8z(5@t! zMKz=2DDrw8yy)-}qPUDq9~^D|V<)tcW%p(+@Go(kbpS#%IRgp$23(Zt37wkGE4fH_vHip@3=j;D_{Dm5bcM%q4F5X-1XSvIEo>us;*6 z=w_OPGN8)>>LUmMzaDrj{|q#(RDB6A<9}R7>Tnc%T-bm-tSn`xoDco-2vl-IN4u5F zm9yLS6EHHF5f^e(5MNfLVw03V03M(k1MiHnwp~E+^U`U9)%%z!LnuRLn6{OveOqFd zf~Y5Dp-(;)(EAjqDdM?OlA~hHn*npX^k$oSMV&j@Kay9ib1!E9C=ZgA_B)=zbGtut z=i?GL|C?*yUPigD<}VuRxANQYAx~devrO$^x+u9rV_eUmi(%Q}hX9t1r#H zxvzT1MZ#B!SwGY;;~m8CCZr_b|6028c&7jOZ^q`>h8*oMM^mZDF!wdoCM3~;q`60q z5ke|6=Gt5-5~2~6N?D~FbLGmAkc3f=h|rgE{62oapFceI$LIb2yx;H7`~7}BU)S>` z`g`&KCD{@UgwR~PO}7+(r8Z+si@EVm70gRd&Z0?QO9U$V#l?t<{Zpv6E-eL{rb-U* zqt`@s?YWmC_TpT(_r=h2(0Omr$m#IO9bno)$oLgd$-mp6JTKI&Ro^#}q5nkhEA=l@ zet3CNCIw#6n^U@A+2#4n=jpd;qz0R;b5F=qj26(7{*M6}`i>$3B1KP`hbCv%rFF6%&l8@}Rc)#II$rBkF z=vqz!MJeLn`4C>!Y%!71N9f{r!l>3C71h1~T;P0Z|2(UQhfP%P|*J&p^(Iz3KIL{Qc7w{GY`xxyi&RWW`6z_{}1;LY*1+Z`S@E< zNXMplp%LKHRkEjx z;Z=qy`Bo{BK=o-+cctB`kmLW!*S;*2jYfZhj@}JZoeEdqLwPJ5k@Kmkz3%9|Tldk? zI_LXDUEHw}tYUY-$^CT>jmJi-B!6~g{-_&-IqtQRtd$apcmZvN0QPEXb7P&5*N-MU z7R;*-0iXI4b>w);Kw(DR#0EU>G!W?Zt{SyT6(Uz88dz)^@`iF?WZnzAt)vnegh z7Lq)dr3oAa7_2XZmVJS)%EN<}sc&{=?q>{Cb#K;%LP(?i5;oQw2DI<0{2kF`DD96B z5Vj^7id@KjaIS9BuH>eq3yq=wWNWLXweCY|icoh@%b61M?t3TfyMYX+j{DcDHuT}FCr&%DN{W5i!eg$&kB_yeRi#r`*K0mjI- zZq#k;+j5lU0ZFx}KSYz`DwB^lfn3EfJV*V`sUP5%_DBb8cKy>s;fAassqdsEM~QEx zhSG+{x>jG)Vk01l&2VMg*bWYEB|qDGj#O`h@Qx)^liGq>iF&6j|9Cu%@{X1q<}Ci5 z-R9oulqvqrf}H_k92{l668v|`162%;jB4=4E~UhY&cxS(jC;}mOAFgZs6ww55k!-}oK`uC4wDz&Jn_~3D!G-1h1F3E$jC%)# zkB#W`f#<@L2P9wBOvo&hX>=<|8CANLxXMv1z;E&dCJ{&SR2PsVzI8VXTIwXlwyaHd zf27-WPQW#gR%x@SJ@RUFcwyL2g`;+hrNc5PiM7zm#9xj_q4^?%=G4rUbSpPgV;^P z+M2S}lCa(C(qol}7rg`a(7;>!XwNOvpgAvyMVV*o5LP)FUQ(?eEwa2Xd;?=P)4De$ zTSb7XBPwWpOVErB4crMzW!Qs@tVCbcNpnxkehW?62&%g&e=w@GN<2th!NTX8Dev59 zMDuGY>5G-%7c}>m2+wo$;)rsM&ejFYPatvi*gLDcwpT!!{y%p5NXyClJAUf9W4DrK zDj*D?!&ZeUm5MOB(mRGWD>>Xd2A?q`RRMTVVzKwJCz&824pw?U#8?yEHr1|)BuST? zCMoU1zNKp*lfUd)sXz5WZGN*3U(dWfwzd=4)cQa}TonDnPcCIboyopt2F=vQsAxbbpTs8SUAhKVUGWIcwkTkfuUQ?Y}hoPDX)3 zPLX_7mY#l_4(i*th5+bNlA=tBeh-ATluV=kSTHJu8ZVdJ+!0lBmOQ`VFQmB}{8~hP zb$!W#`J-+_`5Q`l)9`gD)Y{{lJLJLv>sL3J*7tBaa>vRsRqe@4XJDR*i?rFelATu8 zrPgLH1=$?C>Pl(Z({zx$Ey2sjC2q{ZI?V{jyE3IYais2&HSuyku6my6?FVYo3+lK@*G>ejL-qtG9wpcDYw3 z&52W>hYmw}o{U1;G)+aax7dAyDFlBn>erRzv9D5z9$8YCo-6uh^>$;sV%)2~w@3e8BmPVO@?OnRRN?T3#fXiK9 zH>G<;K-`bm{GC`X*vd;!AG!b5SZ+4dZj${Vs|0}Y&(0iY=$VGCT~H?!FsU>=pclkM27~JkKS_ zXkU>vtZ5J(=InxhrEP+v6Azjg;CNNREEt-2sdGi;d~Lt-#>cu2;pw0sR|6;MK9~ls&D%yUO*UAJ;f`>@LDSso7 zKk?7Gq^e#gP}Gh-`fI-BC8L8Q@hL|nv~^6cEZqi03_r@y!GWcG5)uHzA|&y8dXgn7 zIzb-1eCQEl@20kkkO|7Zg9SVApXKnFcbi!8pit!gxK7ogjLy9>Shx!m+&?X}=o#c! zV#L2S0vo!2qj=iS@MElW8pSPXiRz8go7e~c!Cz2&REbUnd>aU{46e4^4xVHCfVCb2 z{+*`O#`amRGH@~8#Z$G<_P3;rDRRd}!8Y!9sj@C&gx4>+ty9K6e|(QDFS))0$9r
a4=^JXEfvDI@GVHb%+L}H}vjlZdQ*ms1O20oxDgB1P) zY*g=547fr z3VhS^y&@+F8=EV6s&Uvdf1%&M9_~5De1CP*JJ+qWa|QO`Jf?o!wr;cDY&4Of2oSux zOUHI-(QX0=DfP?@Ko>Bc1A}dq+#32NWTGNb2XJn@#Y!pRSfWK~qQ-agWQIVXNPYJe zBueeeH@u40!-PmeRue^6sU!nxb45MEJPVvVG#yx``Epme?QVlAvMnRity9*^7zfy` z+N^ICIwQo>lS|k$ zB{!w>2X-iXvJf`w85aRkK$(2>8BG$C_jyy-B~U07pB#h(cmc{Rgfsgixk(W=kIs<> z8YGH#%OuYqh*{31gSe=(Vzrqf{lLf_8w(tPKT8Xi{Myka=!6OZJ$R#s30~+hn`?Owfm?!sk z2_$i50@3#nFZN3l|mNFmeuz_|?`Tc>cQMt(CgZ zzf}yrvZKtAHju;_PQ6p84h$Tx*st;n)>J=SuLy4qh^*z-kcJN@@}ALQukAxibT(`P zReE)+$bl{3Q!?E%!o2LBh4>uK+copJ0X)D8d|8jTYSsEO2Q_XtMO-SVJzvBFJZJ8g;torH3cOFz{!0UHc+wt zm+_sn5(8nTGXVQMNkL}`uO`yg{Z!wj0}6<8UvLQLT%7^>9gF}T=+O%wY``C?OPP*m zB{GMJ5mux?FiN4H+qR5*E1ptJav=wE0eg&aYQ*SF3W$~>hGY z)i_^Dd{KsI&+qkKAdLiyM7oszUFlP)*;|4__;GK_W$l=Fi?vHFlt+cY6@u6TeiwAk z3l$?I?$Zv$KmM+6?zd4oh+6@>j*J5E;B|VwCAJPGu{H4kxfu??2@MR1D;e5B5Z=>19!w z(;`Zr{>^~F;3K2kTUp)4FJ<{qQ4eQb{Q)EM7?x2+Wd{h4-_#PG(5NC5cL2oD?S9rMfXdTDX?#iOIdIuRJ-={g0 zZ7`j|)LitGERY9j_9pQ0MJ0$2w=K3tA#~$?C9*Zd7sXe%L}j9S{Cx&4ZCWsP(Ugs- z^Wf))&mOq}6m00-f?Yi4`3n5y_^YWXU6vz}%2}hnx?5$s=UKg;+m_7Ekv^&lF9>~9 zQ0eK=S>2>?i=oPv`T%@EtKARrdv>d4GBqRJhyx9AgrI;guN2Sf9&=w!_>&xeBDO0= zqCfs2SU86`pICD1r;pgr_`;3MPga=G%c|rMN*<##YIJ5D&mt0SUtu+^si*%N(}^K; zJV}N(+L;PZ`?SI-p62N1T+Oa*-o@os zr||}KpEx~|SUpYjxKZx-JZa3~)=me;)|U14aITMk^xAi2o_A}~EUem9A#49YbM!#5 zTo7gwMUqx|(QE2IhW=crQ*p9=HFU9|0XLgi{k?v?OG%x=GEP?8JriYKGpMT%-0WB~0nt3TSQNd1> z3^ktmW(XNH+`+qCf@$Twy=>S$mi}t?e2iyXJPk^nGeiVk15Psm$HeSQ4{eOiKJNik=X?0 z(_SbE@ynGb(#p!l_{$ElRZh4LlE3vrvPtQ0q07w^{c2c9#w^RwL8}*qhb~q zbDHV9#Tc0mRlA|fD0RSejhW|v0g5upNu2-@R3@ki|3`tFAcgYi^85K+iWOYKQ+2x(Sp@%A-IN`!ZTM`fd1~DC_LvF>T=bOo4m5_=DwI04kYq zvWOa~4JH+`WX-f`$grY{qc_OgLwzF zEbFj@A%PL|3!=E++6>%UZWUc!i%9;HQ8p-@!$ZcVJ#sT&`Omkm?N%w?_(-6(VZO<8 z-lR)!=>QcI=xI@iZsw5HrQE#{=LVc3A&F@Av#}9O8A+$a*E^W7uBuIthL2|>|A1w> z27Zsyex-Ep3O=p_PEdq0cEcUr^rb!#2z?D#4X0X~rWVFxVs$SxUr6T)`k}RF}p4 z1AzdAK(Y_F*Y@_EaJ9Z8+>p~Uvd*}dbB8}JC!{Ofyemvr2npP~z=>sCsoafqA}a&qX13IuwKDa87$Pc~=RA zs$=#ipgtvNDV$~wWz5t?;&PS=^SmPLI%JV1wpIEwxwNmf>|(*)NT|q5oX!A5jMO6@ z2zEV%xE@|`;{tJ6g25+g|8Xfh{5ptGB_2V9*m*~*9qOZK`6N3l!kQ$4D^E4>?k(a6 zFooc3^7JPV9i9kd(r;!*1fpXvutwHm)cQ8cBHXEidob|x<6a5q7z&|E#*?iL)wHRZ$b&Klat*PS2JzWnEr!uNhLJMtMRoIa zDImBo0-v}-j383NtU|Xkqs;Lazz@eM+-y=DFRjNA2|wS4c~ZumCh;&2!B4Ml0abz~ zg}J4QF}(6H{S)I9L!kEWt#2gT7Vyg{#n!>B`Wz_qDcI^UFghR_C8(EGuy&P8CwTxV zSR{P-2I z>FlZ0OiyG&y@C|(nYO9pBHpd!j$fdg!6~SBwA5XMSXD^;$<#V}3(OlEg zD>%?OQx?-;1MQ1@7HnlNCiN20N|^^7`-%G9Nl1-1_dZP_?{6H6ZRSxu(@d^+d+Gb& zlmDa4#@Bf9JU z$Mf0x3EH|k4|zU>j?~B8O6^#4xrR&CQN-4{6joPk_gzos0nN-C`(P1Jj;A@kNGjqC zSpeFxO9RG|C)zs?)B^1jygFGbB2od4x5G- z3nhWx!CwHA94g-tw1_Wgp1yq`n-|A*R~~SZF*_!`|2FeH%G}4FNR-i$P8y&#Hx{=xJ!i?Nn86hayEnn&nN_rXDcteYn=MJ~GjxN)$h1^$7ec%v(-H5Yj zxsk8>Oi3vXM++U{26W?~~;IX&SrCd|xePP-YCMwmoNeVw)GaHrmmAhu4;rI9n zS(~E3TzlUgkAGNilFPfS4n#jZfz3)A137uD5eD&nGydHxPwsl@QPV7E<;-T$$uLWH zlyp_F335`Cw!T28-6nL7 zFXFO}<`drzYMi5%xw__OvLNA2ZOO^Y#)<;(2w7t%G^Uf*w{M-u-tVL{My>6AE)##i zoWv{IG~3e+iFB-02KaD1D=z|$YGj>0_;4F35&*@g#Il@rvYJ~)kN9xxCT%h$-4Ng5 zEvram-3ziJcf5>S+2HCTo4NUfzHFCeMN?8!0!WZnN z_UD{B{3G8u;mrx_2N9-dDA?dNTOJz z6-gJdf$?m;3HJF%P0oB57O&YU<>UDQpCGhvveWSv9Q6|`ZOgmBeS~!9{HlI+nTx2$ zYAql93|z^1Lnpf__m3qz6~fvPV$U5~slGb+hwu1ZEp^YHi$};Q$pQPpIftvd5 zt=95^qWKzno|8AE_sj8t3DnsG6;(kg{cnMUIkh|;pH)yv79{=U%;#o=u=J~1(`DU~ zzfg+cC=F~DUE(%hCn#dM$TPm)@d$(WECki&TSu8vL98LfwCRR!$GacpmX%RZKsJ%V z3?iIQeIu=`wJh%Qq5D0UK>%VB z!UUgyzmxfo-+XW_%xYHHoA7=#^A>%7HPo5xqq2PgS?l*0@3L-s&olC1hNIx=J016# zoXGQ*YBA0kS=5;@R+&&x=fL;RL=dUROER0`0l4|){ams@^wJv`lZJw|KZV=}>*O0u zWhQ2{I%@1>o_PbScp9VL+-XyZ@m#cO|I?f`74LXJg@if5!Og?0$RxVIUBd8&XW1~?uK4Yk#vvS z=(2_!N#M7TQJXnYi~1=qAnLUNA`r#8L`m6qB-!~LD&z{i>6@dQFkwfVr%Q~9i^&2f zQdRATBkmil4I%dMz&f9KaP0nt67*S47$fCYeg6VBHB9%!x~VigA~ur9Y^#F4b7j;I zj4s=RQPJcx?S2wM0G9d_HB?J4@$cM(PT3@2fPZzIctTUj*NN*3r?{7p>TRrCy{%S zB%srt@7B8lsRA&9&YI0JM}{5Mf-XwTAq?M3U)h*shsk1)}1Huf&o_e%8&1^$MFXz~WW7IU0i zc%&o>>a%UtoJoP*%~+?+rZ^W^L-(5kC#tbY@u9$X?B|I>Y1shNl*+^)g7dBNc}Q#Rb@`Y@Jzps0!?i=+R&Eb5!s1G*&IcT^qf#to%wG z{H*P7KGoFmv7A-tziuuVNHlcgnbG0bqwDfIlI;}XKe+n2>-vhnMT|ZP>tX)(&BU{o zyP)Bw2p=F5feOz6HhULz67CT=$>E#U6J>?cmG569QXmX>v)Fg~y!eE%{#JBbQoT*U z0wT!}J$+r`nV+@#Ts*69_vywH63Yj*NEo-W)1SC$9DZ$yM@?#uA({;xGB|gyAA~}{ ztHyFhnbz*3wtuZPGng0LN7Fg=hCS{>x}`}Muy$xX7Yhk4TpU+aer z8i3QyX4Tg)u{YvL2c&+w29z}T63lJ1hN!M%8O_j@`)Ds?#OIu6s6VFbt<`f~P^Q%T zP2CbehxIp`a$b?WHBZL827i&W&aB|CBIAyFyA-necQ2=6Sb&CI$APR9ckZZO6?z%S zJ)L3U+}K&uNnBv#CqVTxziw2C3->!EJMi@4w@pSs99H_&DH23A3c@UZ@ea=t{+lH9Tqlr_ z3414(GAs^y84^JYqX<$Ql~8kpo;_EP{{i-es|4_P+LFK!mOxMC3I9NM_Qte<0X6{PkMVC-0S15{7Ad!U22}wHa~$taGGG_qc9X*Q zFfApkug7pE2kS^X_pNkO-H&TMs=Oj=%)^Uv0Svq+aAuEUVB=?MVfS9$OodHrPB-l2 zB-muR^T+#qgr66M;+p_uW#aMRo9l{z`y?bYiU`>s1&C6H);XE|v!q$Yzb&Yj!Abnu zJEo6-0Bf~GRZU}6PHKLXXcx6!CxQe9qAIwpR{?}OAuZ-S>ACv%8hz})_gl2LLG~<~ zzD;gAo9?+%1mFf@lzCR(3aeiie4Bq{-+PiE-F)#d+t`=OId;XJ9YwT(nFQ)3kR4lL_G(SLxmc=*feov6ze=yPRFp8-cl z7jPOyY_}xh^R4^{9*|?+5=QSxCW(v}OQ2V8q$ghSGg?Pea87O2{J6vK4LKy2%>HA2 znObh&>HO7Q2Z2Xbe9F#;@0h11C=S@7PZzSA+ed>&Gl2hd(edt(**KNg;maeL^z<6O zalpb2?>^J9K(2e4gK6&rFd|(m>jC+gF^~0n+tE3Fb3nw@jRGr90~vLZ1isV=)2Wlk zf&G!7O0bNQN?CGMqMzNbwzG3>(D{a(5U>PdidPeOUIjO-^0*(Bo zh_P3MHd(=UXsv6OF)B*q4@&=SMCmOxQ;V92FaCg@X`tDD5o&-*g^Ka#?r$M2p(htfzl{9|T`B1`^(X%0 zjl(8>XTLH%4|wvD5MobdIJ4`Jb5M~prMg4nD8{=BBRo|V?Mu!4>Q(}h6SJL2>KoWIUsG=q`KKTgU1Rcs{8@NRxNqN4< z_l`{6+$3YTWle*WeYZ#gxb6tk>aBLqcrfsGQc=8SHcLMZa_n4UuDvNbbeU}sC|}K4 zB;AVUMDFzj7H~Zp)7t#O<~&k6Yw#d42*51@_>OGrhwtK>Fs&=Rn3J8rmPkxsI{GOE z%fW;8CJr}55k{tDL;Dav_-)r;Es{Q>fVIrxXGbzUMIe{3Iz8=erS2_KKLEDsc$Bl=mU$?+%k1*{v z@QQ*EE;ykAp|ZDujImyx1z@ptMl*Irkm2EJjJ`P0^p%pI3bd}rUSyb^&0LN%II*!^ zw1lU9xnUe}A`rGR=?W~LhOb5W%?n)ZLth-kG$lXsYdH?X@I#^oPWw*=Hg;2PUEc13 z^{LcJf!!Bppg5B@)|c-~LB5Jf8P>U6`Qt6H37tBeb#=&?r`+kpZk#(=kg;Bifr*Y& z*T*v7*P9CP#u(w$*QNQ)NKBv&y>$*J6O_Gxt{>1hagf$|m@-ZB^>P)27R8c)i zkg;5gvG>$RUmXyHsuLE-e}h^bkG;l~0!(=Ad1KO7anIJ1o3NG3%0Js{h#^=$R@%*< z%O^=s0`OS_&`~mLS20!c{nT~Ualq?8L-r#37?uy#yB&0NJHXBj_f>ECMjiZEhX=ZE zj3Q2qrX#)BYTg55-ljFI5!j2oh@E;Mz!^S6hYXCFwWSgVi zEl#9D%acS*V;i=E~5`K~0)ll(=4zMf^9P6n@h(HzJTC0PwA zB7CQ89=9ahDrP)?QT^ft#Cg4boH}q3unU!B`bn%8WtBSCvYW?7Z}&IlwUM0G;h!P@ zXn@ib;M?X1DEv1zQgR~kEn`$u8Ks{|P2Y&HW}dsjPXMlKUt{?pe&VLVH)W7EA~+*N zGUFTc!sG|yZv1eb20X9plZ}=g)Apr>Td22IKIDw6G5T29X%(&07m^^{7{*S)mSQ4@KiVNs!8g%n_T%0FmK8 zj8aJE78D)ItWf<1LZz|GvI|_9UhZS<{X8QjvMm~m2na6&uJ5Jqj^YeHbH^so1)vqx z?s|OO?w3v^p%_UOrpjbah3Wa2s93)p!{_L9(q^M!pN~gmy$9eI{6*J<&6)7Sl{c_I z$FzqWcRea1Alpg+q4MUa-Q#Fr4v+%jz-B=fkTzBU>7jiz#FcBCxQ~aG?VPawumyNs zYi9xWUm4WBqFCEAhr#k893Un8xqkpElM~iNG!RNBXC+MxCowc1F*{(bG>yjO^WRaa z^7D=v?b*n4wYGDm(wTrgWqfA1UfO{JFDuo}LEHi<1?+_PJP@^;i}fRfYQvB!dk-f2 zKz(WrGMH!fpg$xvI4=F8wtz3KnYr+MBRPge?M}`O-843Lu&xGV=t2i|zomFgx!TR0kL;>#wigL%}vweYbKz z&p4K|7PP=kO<||=nLoSHhoNjhj~(p(8K?5`O39C7uKe08R#~xQJcAj58P;n1c!70k5KR$P4`%q^xULQ?-prHtKV3K3*_8$H=1NUyj zlmMt6dlY`lwi6X{wgr*B!>l3pq096+Lud4Nj@={3xg=YAe;VO2yof0sepw$KYW-q~ z{_{6qzil*=?DZRcblWe-FivHRBu!G^@XeijcR7#+!4ygFa6v>wzxTqaJFCV_4%>yP zDo$$uP>KnyCGp9Eh=t~TUjY(;RQlgky3+NpKvM%*=L6eK7v$cRH8)XzcvA_?Zb1Nd zNqZUdgfscQJJs3?sO?dRcx1R+f22|etb<s$my>_I78@Rlj zj+BvjEVc<_nso5VqH)0w=BXMf0H*nyF{4_*6R|EgjnH|#iY2;-)~*&^o;tEyy2S62 zKfz-fbG@t)%eSkh$j?xH5bp03u`wT= z-|thzkE1E413$-b7H!{0mj?piejIYz(k`%Bk^R1uFVvuLj1y+SeQjS&nxR6&rUz%3_Y;k(ClBuOL5hNR2y;-rQx{FeB9+LP`wWweeF4;r@89ZWUU1vI zf$-zy)Nl0tIP#L#%J@Zm{{_yXUEF#O<|;suuR6dy{1M4v_m%EUEo&SE#?`f2-mm^2 z@WXz+=K)>Y7-RK%6$^{;2j1*aHaaAg|vei`u#K*TdGzbNgxoS6J&LnT{JQpi`c;WKx08^@+#tY3tcz2Tehbl_Gy^3v(BLFWhGE}Pa9iuAk(Y%uERiuw@sSGm(uD!cw?VV)* zQo)h5JtBe4?Nmi6d&S-hB9{mm0Xth5szGFbYxT@;^~Gco=3b&8x-#zqCk&P<*v@(b zfL~5E8KcG6tKEG+9?kat+q_6*xn(wMuLz>6lcuTU#5cfDW4yW9X=WM8&TINPg8ZIn z#j^=b_;qv@hn+{ybard0rz-aD&47k~=%5OcV#7@Hm)fVEYK#kFDsNok#Gv#tlD#+d zb_k*Y`-{DwMdeLZGNuBYr#|H>#%|V~8;`-W9WtABeHTsT8bSfkOjDFfj>8w^p^(f= zNLFr!nBI8Ub~=Fxo@-mh5yf7{MU_Yt@uTlvF_mhTndV3D(JD@Mt7UgFDVaaUayQAg zVEHrl8D-%?wJl3P4x!k`E8V!T41Kq$Yea}~Az5%UcF{B+6VF++k295;Y`YqvFQQkR zeEyYkDmFXYg$W1J;(%nHdW6_pSpk)k6qV|Om)8KEb~Tl{PWomO#LYt2@OEplx|p!7 zN#hc(nbYrOo5vicv#IlegXBDlc6Vs5qR+LPH&I_-ALX!}XP|2oSnvOh)5|)P@aRd) z3QaOE+Z3bI)3XXVO<6ZwvvkfIHg1nLrQ-^W*{ENzcrVWda%oH({kgGa#W8f4-K-br zF7;yp82|*Y7zIm_-)G)9nZL55N)wcWN}&gYpE=yeYUiV*(NR7S=ern9A@%gBQbHim zL82hGmN3P1dgX&u_0@d%#wZ5}9g0Qi7ye$MUOrTN2zhTV9l+x7!1Vfpe3GQ_?_HPF znO~^xf{fWQ!vfPB!KJdb%e5bY9Ivw}PtOAt-bjLLt5GeK%+SD=-Ga@He_K-J)5=Us z7}LsA+YJf3-4LI3j3hwoB{Khs{kCEK$}VV5KJTWaSyP=iWBm-LgT6f>6`K%&c>dhz znc!Ly5D%p&Z2gReWd9vIIl%b`IT6i1C6wie5JuNRrce`-Jlinoi81L6!e}(61Yq6Hs&3g0~62d2G z8B6@X5;eovnSeNg!;uGe$yU+q=6x$eWJc-3Bk8M&+XUtsjeBpD4lNS@j8Wq_&HvF- zoa6RI*Zz~b^^M$f_iWInaz;!XcetUbJvlH|neF@=eV_5t9{2$%h^MobfFy0UzElFomTrdRK0wIZ&?23sP4efZcdo(zo`9h1%;==(!wSB zsSWi-H0JpM)`X#Q2-ems{q30I58UN`@aerGYUa687}UdCHs||bNpW~|MPG0w;>O<~ z0^l=%Ov(S?ruFiVPKo5S*#wvAz`XH2f{5A>2j!xby5fLr0|KH6@QN^)%MHkwYsM_I z{Iq3Y5Lbd=Om;gUa=y9i_Zd9!9tH@c;#I_{YI;s&r^3v;p@%?5g$-WZB}?}vgTC=N z!h5HY5)`XO6=?F0x&Q4KJSWU};cT2+qmiZ{63`}Z_>r7iz=N~Aw+qO7i?)?EiZhGm zK+xQ>ZD{305+4GO#1I(e*UZt6mxC*N4!j`?A{RQeooZMW=b<8Ui8yUlw!R~9jO(({45;+eZCNZI4A_s0YRbBF9MA&dlIA0u^Da1X&c zZiA)YZ;hSEVl`_n`i?uMZ(D97XI|GU{Nlh-f4Sa}JHW<2`7u5q8l4WPZp44M^YF|<~4Y+73y_>qEA z)B|h&9-s~**lxEAqtV-Mm!iz=$s%`WQk4Oh*1lNaKAjMqaNI{BNm|Y1F&Mk;w}JEf z437VB=J&7lpO~e7S1{}^rJu}qKPw`j-@|wkDlHao#}$6T#MC2_!*^lkq8)EoKrRhu zHfsg9zo%zx@m(|N557%hzaU}oj29bL0VCTTe9_;%=NIq{uUd3D=rp_?FnIEEV`IGW z3IsrkzJD63GJbU%B=!Y!)3*4Kj?vKfjyY0f!NsW;#}+@;a2DI~RUnOd%i=@l3JxF5 zl>HeWuYuX08qD>yy=AJMKYo=v%DMWI{1FdqUS!+~T2FA5%TkJ+Q*c_EprXv)4BefI zi6UG{z6wNT_FA^<+^R&hIs(b@eiB1|X>`OlKC`_}A$B=s3$WvjJ{+jb-XgV6m42bA zM(O(yGLl0D5nO~HQby>s(%r-BQft8Q@0Oe^Mpm}@a-A@WlS&WAJtIDR>c026^(dGV z6CKSxyD<3)5XPHxz5GA@tpyu(-_Hcz1>FIZ=U@dN05N z0!`MCudXAX1W>r1#&MXt)q~PNm?Ok3g*eTETs@XD=M~cY7pCh2pn{0EH%6DOMC|6hHyK;OaA{>T(9Kimg*|b$;d~s5~Zg3eGCeKiaew|0f_QR=aJMOmrNkPON#fPRDB!w>hQm5as# zUZZ!=L6dDIQ=}E|g$CTlW>4Kls(p8YPgb)3T$tJ^+}ONGbwmEWm*W;@_)6paLWOAT zPuR4K=B)+xRVP6dK@;|sOPs64 z03P8t0rZiz2<}nC>HyEi2qNh~Nj4vuB(JXWEu)yJt23_nt@1ndo${4{_+dlrQAukp z&2F78!0ZY+7mKVkH6D^Fy$Xo(N$nbw?YpBoV=tT3mI3PFbK}HC$$0^2pG{~ xk;BvUkwslVkEx#ate$M)|G~}m@+c`6gf2&#e)Ns(NE8D8jvRJ4^vH^m@IPCtK5zg4 literal 0 HcmV?d00001 diff --git a/projects/VS2022/examples/models_billboard_rendering.vcxproj b/projects/VS2022/examples/models_billboard_rendering.vcxproj new file mode 100644 index 000000000..9f443bf63 --- /dev/null +++ b/projects/VS2022/examples/models_billboard_rendering.vcxproj @@ -0,0 +1,569 @@ + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {B7812167-50FB-4934-996F-DF6FE4CBBFDF} + Win32Proj + models_billboard_rendering + 10.0 + models_billboard_rendering + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 237e23be4..845ffaf12 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -87,7 +87,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_world_screen", "exampl EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_animation", "examples\models_animation.vcxproj", "{AFDDE100-2D36-4749-817D-12E54C56312F}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_billboard_rendering_rendering", "examples\models_billboard_rendering_rendering.vcxproj", "{B7812167-50FB-4934-996F-DF6FE4CBBFDF}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_billboard_rendering", "examples\models_billboard_rendering.vcxproj", "{B7812167-50FB-4934-996F-DF6FE4CBBFDF}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_box_collisions", "examples\models_box_collisions.vcxproj", "{39DB56C7-05F8-492C-A8D4-F19E40FECB59}" EndProject From 41dee9e9f9b06ea150d2ea40ce321f08d25bed62 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 11:12:01 +0200 Subject: [PATCH 011/125] REXM: RENAME: example: `shaders_fog` --> `shaders_fog_rendering` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ...{shaders_fog.c => shaders_fog_rendering.c} | 0 ...ders_fog.png => shaders_fog_rendering.png} | Bin ....vcxproj => shaders_fog_rendering.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 574 insertions(+), 574 deletions(-) rename examples/shaders/{shaders_fog.c => shaders_fog_rendering.c} (100%) rename examples/shaders/{shaders_fog.png => shaders_fog_rendering.png} (100%) rename projects/VS2022/examples/{shaders_fog.vcxproj => shaders_fog_rendering.vcxproj} (97%) diff --git a/examples/Makefile b/examples/Makefile index 076dd0c29..d95266522 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -632,7 +632,7 @@ SHADERS = \ shaders/shaders_custom_uniform \ shaders/shaders_deferred_render \ shaders/shaders_eratosthenes \ - shaders/shaders_fog \ + shaders/shaders_fog_rendering \ shaders/shaders_hot_reloading \ shaders/shaders_hybrid_render \ shaders/shaders_julia_set \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index e507173e2..729d22cae 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -632,7 +632,7 @@ SHADERS = \ shaders/shaders_custom_uniform \ shaders/shaders_deferred_render \ shaders/shaders_eratosthenes \ - shaders/shaders_fog \ + shaders/shaders_fog_rendering \ shaders/shaders_hot_reloading \ shaders/shaders_hybrid_render \ shaders/shaders_julia_set \ @@ -1165,7 +1165,7 @@ shaders/shaders_eratosthenes: shaders/shaders_eratosthenes.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/shaders/glsl100/eratosthenes.fs@resources/shaders/glsl100/eratosthenes.fs -shaders/shaders_fog: shaders/shaders_fog.c +shaders/shaders_fog_rendering: shaders/shaders_fog_rendering.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/texel_checker.png@resources/texel_checker.png \ --preload-file shaders/resources/shaders/glsl100/lighting.vs@resources/shaders/glsl100/lighting.vs \ diff --git a/examples/README.md b/examples/README.md index 360727c64..48a1d7f46 100644 --- a/examples/README.md +++ b/examples/README.md @@ -189,7 +189,7 @@ Examples using raylib shaders functionality, including shaders loading, paramete | [shaders_texture_waves](shaders/shaders_texture_waves.c) | shaders_texture_waves | ⭐⭐☆☆ | 2.5 | 3.7 | [Anata](https://github.com/anatagawa) | | [shaders_julia_set](shaders/shaders_julia_set.c) | shaders_julia_set | ⭐⭐⭐☆ | 2.5 | 4.0 | [Josh Colclough](https://github.com/joshcol9232) | | [shaders_eratosthenes](shaders/shaders_eratosthenes.c) | shaders_eratosthenes | ⭐⭐⭐☆ | 2.5 | 4.0 | [ProfJski](https://github.com/ProfJski) | -| [shaders_fog](shaders/shaders_fog.c) | shaders_fog | ⭐⭐⭐☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/chriscamacho) | +| [shaders_fog_rendering](shaders/shaders_fog_rendering.c) | shaders_fog_rendering | ⭐⭐⭐☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/chriscamacho) | | [shaders_simple_mask](shaders/shaders_simple_mask.c) | shaders_simple_mask | ⭐⭐☆☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/chriscamacho) | | [shaders_hot_reloading](shaders/shaders_hot_reloading.c) | shaders_hot_reloading | ⭐⭐⭐☆ | 3.0 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shaders_mesh_instancing](shaders/shaders_mesh_instancing.c) | shaders_mesh_instancing | ⭐⭐⭐⭐️ | 3.7 | 4.2 | [seanpringle](https://github.com/seanpringle) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 43e364032..0182d072e 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -137,7 +137,7 @@ shaders;shaders_texture_outline;⭐️⭐️⭐️☆;4.0;4.0;"Samuel Skiff";@Go shaders;shaders_texture_waves;⭐️⭐️☆☆;2.5;3.7;"Anata";@anatagawa shaders;shaders_julia_set;⭐️⭐️⭐️☆;2.5;4.0;"Josh Colclough";@joshcol9232 shaders;shaders_eratosthenes;⭐️⭐️⭐️☆;2.5;4.0;"ProfJski";@ProfJski -shaders;shaders_fog;⭐️⭐️⭐️☆;2.5;3.7;"Chris Camacho";@chriscamacho +shaders;shaders_fog_rendering;⭐️⭐️⭐️☆;2.5;3.7;"Chris Camacho";@chriscamacho shaders;shaders_simple_mask;⭐️⭐️☆☆;2.5;3.7;"Chris Camacho";@chriscamacho shaders;shaders_hot_reloading;⭐️⭐️⭐️☆;3.0;3.5;"Ramon Santamaria";@raysan5 shaders;shaders_mesh_instancing;⭐️⭐️⭐️⭐️;3.7;4.2;"seanpringle";@seanpringle diff --git a/examples/shaders/shaders_fog.c b/examples/shaders/shaders_fog_rendering.c similarity index 100% rename from examples/shaders/shaders_fog.c rename to examples/shaders/shaders_fog_rendering.c diff --git a/examples/shaders/shaders_fog.png b/examples/shaders/shaders_fog_rendering.png similarity index 100% rename from examples/shaders/shaders_fog.png rename to examples/shaders/shaders_fog_rendering.png diff --git a/projects/VS2022/examples/shaders_fog.vcxproj b/projects/VS2022/examples/shaders_fog_rendering.vcxproj similarity index 97% rename from projects/VS2022/examples/shaders_fog.vcxproj rename to projects/VS2022/examples/shaders_fog_rendering.vcxproj index 0c00c5124..033b03b4e 100644 --- a/projects/VS2022/examples/shaders_fog.vcxproj +++ b/projects/VS2022/examples/shaders_fog_rendering.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {4A7D0ECA-D7CC-4E66-B741-C92E9C1B42FF} - Win32Proj - shaders_fog - 10.0 - shaders_fog - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {4A7D0ECA-D7CC-4E66-B741-C92E9C1B42FF} + Win32Proj + shaders_fog_rendering + 10.0 + shaders_fog_rendering + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 845ffaf12..3fe9aa780 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -203,7 +203,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_custom_uniform", "e EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_eratosthenes", "examples\shaders_eratosthenes.vcxproj", "{D08AA2A0-2F94-4BF5-B42D-E92450F03FD1}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_fog", "examples\shaders_fog.vcxproj", "{4A7D0ECA-D7CC-4E66-B741-C92E9C1B42FF}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_fog_rendering", "examples\shaders_fog_rendering.vcxproj", "{4A7D0ECA-D7CC-4E66-B741-C92E9C1B42FF}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_hot_reloading", "examples\shaders_hot_reloading.vcxproj", "{CF3755C4-937D-4ABF-B7B3-95140808717F}" EndProject From d79f294af067c7645d6de69cf42e6282c0854dec Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 11:20:48 +0200 Subject: [PATCH 012/125] Update rexm.c --- tools/rexm/rexm.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index b48160537..bb0418bd9 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -684,16 +684,23 @@ int main(int argc, char *argv[]) FileCopy(TextFormat("%s/%s/%s.js", exBasePath, exRecategory, exRename), TextFormat("%s/%s/%s.js", exWebPath, exRecategory, exRename)); + putenv("PATH=%PATH%;C:\\Program Files\\Git\\bin"); + ChangeDirectory("C:\\GitHub\\raylib"); + system("git --version"); + system("git status"); + + /* // Create commit with changes (local) putenv("PATH=%PATH%;C:\\Program Files\\Git\\bin"); ChangeDirectory("C:/GitHub/raylib"); - int result = system(TextFormat("git commit -am \"REXM: RENAME: example: `%s` --> `%s`\"", exName, exRename)); // Commit changes (only tracked files) + int result = system(TextFormat("git commit -m \"REXM: RENAME: example: `%s` --> `%s`\"", exName, exRename)); // Commit changes (only tracked files) if (result != 0) LOG("WARNING: Error committing changes\n"); //result = system("git push"); // Push to the remote (origin, current branch) //if (result != 0) LOG("WARNING: Error pushing changes\n"); ChangeDirectory("C:/GitHub/raylib.com"); - result = system(TextFormat("git commit -am \"REXM: RENAME: example: `%s` --> `%s`\"", exName, exRename)); // Commit changes (only tracked files) + result = system(TextFormat("git commit -m \"REXM: RENAME: example: `%s` --> `%s`\"", exName, exRename)); // Commit changes (only tracked files) if (result != 0) LOG("WARNING: Error committing changes\n"); + */ } break; case OP_REMOVE: // Remove From 5f9465d56963733ff05e30b5079b36a6ea7dcb59 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 11:21:52 +0200 Subject: [PATCH 013/125] Update rexm.c --- tools/rexm/rexm.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index bb0418bd9..3ead9aced 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -684,23 +684,19 @@ int main(int argc, char *argv[]) FileCopy(TextFormat("%s/%s/%s.js", exBasePath, exRecategory, exRename), TextFormat("%s/%s/%s.js", exWebPath, exRecategory, exRename)); + // Create commit with changes (local) putenv("PATH=%PATH%;C:\\Program Files\\Git\\bin"); ChangeDirectory("C:\\GitHub\\raylib"); system("git --version"); system("git status"); - - /* - // Create commit with changes (local) - putenv("PATH=%PATH%;C:\\Program Files\\Git\\bin"); - ChangeDirectory("C:/GitHub/raylib"); int result = system(TextFormat("git commit -m \"REXM: RENAME: example: `%s` --> `%s`\"", exName, exRename)); // Commit changes (only tracked files) if (result != 0) LOG("WARNING: Error committing changes\n"); - //result = system("git push"); // Push to the remote (origin, current branch) - //if (result != 0) LOG("WARNING: Error pushing changes\n"); ChangeDirectory("C:/GitHub/raylib.com"); result = system(TextFormat("git commit -m \"REXM: RENAME: example: `%s` --> `%s`\"", exName, exRename)); // Commit changes (only tracked files) if (result != 0) LOG("WARNING: Error committing changes\n"); - */ + + //result = system("git push"); // Push to the remote (origin, current branch) + //if (result != 0) LOG("WARNING: Error pushing changes\n"); } break; case OP_REMOVE: // Remove From 427b0d265321fab3373c379bc1bcf23a6e706d05 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 11:26:39 +0200 Subject: [PATCH 014/125] Update rexm.c --- tools/rexm/rexm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index 3ead9aced..756cebe6d 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -689,9 +689,11 @@ int main(int argc, char *argv[]) ChangeDirectory("C:\\GitHub\\raylib"); system("git --version"); system("git status"); + system("git add -A"); int result = system(TextFormat("git commit -m \"REXM: RENAME: example: `%s` --> `%s`\"", exName, exRename)); // Commit changes (only tracked files) if (result != 0) LOG("WARNING: Error committing changes\n"); ChangeDirectory("C:/GitHub/raylib.com"); + system("git add -A"); result = system(TextFormat("git commit -m \"REXM: RENAME: example: `%s` --> `%s`\"", exName, exRename)); // Commit changes (only tracked files) if (result != 0) LOG("WARNING: Error committing changes\n"); From d97e0a8ac7ac150585e697344bf625e1583fe91c Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 11:27:32 +0200 Subject: [PATCH 015/125] REXM: RENAME: example: `shaders_texture_drawing` --> `shaders_texture_rendering` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ..._drawing.c => shaders_texture_rendering.c} | 0 ...wing.png => shaders_texture_rendering.png} | Bin ...proj => shaders_texture_rendering.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 574 insertions(+), 574 deletions(-) rename examples/shaders/{shaders_texture_drawing.c => shaders_texture_rendering.c} (100%) rename examples/shaders/{shaders_texture_drawing.png => shaders_texture_rendering.png} (100%) rename projects/VS2022/examples/{shaders_texture_drawing.vcxproj => shaders_texture_rendering.vcxproj} (97%) diff --git a/examples/Makefile b/examples/Makefile index d95266522..6657e8171 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -649,7 +649,7 @@ SHADERS = \ shaders/shaders_shapes_textures \ shaders/shaders_simple_mask \ shaders/shaders_spotlight \ - shaders/shaders_texture_drawing \ + shaders/shaders_texture_rendering \ shaders/shaders_texture_outline \ shaders/shaders_texture_tiling \ shaders/shaders_texture_waves \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 729d22cae..1b9168cf4 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -649,7 +649,7 @@ SHADERS = \ shaders/shaders_shapes_textures \ shaders/shaders_simple_mask \ shaders/shaders_spotlight \ - shaders/shaders_texture_drawing \ + shaders/shaders_texture_rendering \ shaders/shaders_texture_outline \ shaders/shaders_texture_tiling \ shaders/shaders_texture_waves \ @@ -1267,7 +1267,7 @@ shaders/shaders_spotlight: shaders/shaders_spotlight.c --preload-file shaders/resources/raysan.png@resources/raysan.png \ --preload-file shaders/resources/shaders/glsl100/spotlight.fs@resources/shaders/glsl100/spotlight.fs -shaders/shaders_texture_drawing: shaders/shaders_texture_drawing.c +shaders/shaders_texture_rendering: shaders/shaders_texture_rendering.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/shaders/glsl100/cubes_panning.fs@resources/shaders/glsl100/cubes_panning.fs diff --git a/examples/README.md b/examples/README.md index 48a1d7f46..bb0feb03d 100644 --- a/examples/README.md +++ b/examples/README.md @@ -184,7 +184,7 @@ Examples using raylib shaders functionality, including shaders loading, paramete | [shaders_postprocessing](shaders/shaders_postprocessing.c) | shaders_postprocessing | ⭐⭐⭐☆ | 1.3 | 4.0 | [Ramon Santamaria](https://github.com/raysan5) | | [shaders_palette_switch](shaders/shaders_palette_switch.c) | shaders_palette_switch | ⭐⭐⭐☆ | 2.5 | 3.7 | [Marco Lizza](https://github.com/MarcoLizza) | | [shaders_raymarching](shaders/shaders_raymarching.c) | shaders_raymarching | ⭐⭐⭐⭐️ | 2.0 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | -| [shaders_texture_drawing](shaders/shaders_texture_drawing.c) | shaders_texture_drawing | ⭐⭐☆☆ | 2.0 | 3.7 | [Michał Ciesielski](https://github.com/ciessielski) | +| [shaders_texture_rendering](shaders/shaders_texture_rendering.c) | shaders_texture_rendering | ⭐⭐☆☆ | 2.0 | 3.7 | [Michał Ciesielski](https://github.com/ciessielski) | | [shaders_texture_outline](shaders/shaders_texture_outline.c) | shaders_texture_outline | ⭐⭐⭐☆ | 4.0 | 4.0 | [Samuel Skiff](https://github.com/GoldenThumbs) | | [shaders_texture_waves](shaders/shaders_texture_waves.c) | shaders_texture_waves | ⭐⭐☆☆ | 2.5 | 3.7 | [Anata](https://github.com/anatagawa) | | [shaders_julia_set](shaders/shaders_julia_set.c) | shaders_julia_set | ⭐⭐⭐☆ | 2.5 | 4.0 | [Josh Colclough](https://github.com/joshcol9232) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 0182d072e..ebb3a4f7e 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -132,7 +132,7 @@ shaders;shaders_custom_uniform;⭐️⭐️☆☆;1.3;4.0;"Ramon Santamaria";@ra shaders;shaders_postprocessing;⭐️⭐️⭐️☆;1.3;4.0;"Ramon Santamaria";@raysan5 shaders;shaders_palette_switch;⭐️⭐️⭐️☆;2.5;3.7;"Marco Lizza";@MarcoLizza shaders;shaders_raymarching;⭐️⭐️⭐️⭐️;2.0;4.2;"Ramon Santamaria";@raysan5 -shaders;shaders_texture_drawing;⭐️⭐️☆☆;2.0;3.7;"Michał Ciesielski";@ciessielski +shaders;shaders_texture_rendering;⭐️⭐️☆☆;2.0;3.7;"Michał Ciesielski";@ciessielski shaders;shaders_texture_outline;⭐️⭐️⭐️☆;4.0;4.0;"Samuel Skiff";@GoldenThumbs shaders;shaders_texture_waves;⭐️⭐️☆☆;2.5;3.7;"Anata";@anatagawa shaders;shaders_julia_set;⭐️⭐️⭐️☆;2.5;4.0;"Josh Colclough";@joshcol9232 diff --git a/examples/shaders/shaders_texture_drawing.c b/examples/shaders/shaders_texture_rendering.c similarity index 100% rename from examples/shaders/shaders_texture_drawing.c rename to examples/shaders/shaders_texture_rendering.c diff --git a/examples/shaders/shaders_texture_drawing.png b/examples/shaders/shaders_texture_rendering.png similarity index 100% rename from examples/shaders/shaders_texture_drawing.png rename to examples/shaders/shaders_texture_rendering.png diff --git a/projects/VS2022/examples/shaders_texture_drawing.vcxproj b/projects/VS2022/examples/shaders_texture_rendering.vcxproj similarity index 97% rename from projects/VS2022/examples/shaders_texture_drawing.vcxproj rename to projects/VS2022/examples/shaders_texture_rendering.vcxproj index 744642015..e3458e4f0 100644 --- a/projects/VS2022/examples/shaders_texture_drawing.vcxproj +++ b/projects/VS2022/examples/shaders_texture_rendering.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {A6F5E35E-B4A7-41B3-853A-75558E6E0715} - Win32Proj - shaders_texture_drawing - 10.0 - shaders_texture_drawing - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {A6F5E35E-B4A7-41B3-853A-75558E6E0715} + Win32Proj + shaders_texture_rendering + 10.0 + shaders_texture_rendering + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 3fe9aa780..a8ec5324e 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -227,7 +227,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_simple_mask", "exam EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_spotlight", "examples\shaders_spotlight.vcxproj", "{11F33A39-74B7-4018-B5F9-CC285A673A8F}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_texture_drawing", "examples\shaders_texture_drawing.vcxproj", "{A6F5E35E-B4A7-41B3-853A-75558E6E0715}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_texture_rendering", "examples\shaders_texture_rendering.vcxproj", "{A6F5E35E-B4A7-41B3-853A-75558E6E0715}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_texture_waves", "examples\shaders_texture_waves.vcxproj", "{291B4975-8EFF-4C7C-8AF3-44A77B8491B8}" EndProject From c17f82a78cf7cbfa08646271f72f4d209ffb5f9f Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 15:43:54 +0200 Subject: [PATCH 016/125] REMOVED: `core_basic_window_web` The example is not following examples conventions and it will be moved to `others` with a new name --- examples/Makefile | 3 +- examples/Makefile.Web | 14 +- examples/README.md | 5 +- examples/core/core_basic_window_web.c | 89 --- examples/core/core_basic_window_web.png | Bin 15144 -> 0 bytes examples/examples_list.txt | 1 - .../examples/core_basic_window_web.vcxproj | 569 ------------------ 7 files changed, 8 insertions(+), 673 deletions(-) delete mode 100644 examples/core/core_basic_window_web.c delete mode 100644 examples/core/core_basic_window_web.png delete mode 100644 projects/VS2022/examples/core_basic_window_web.vcxproj diff --git a/examples/Makefile b/examples/Makefile index 6657e8171..7c943c121 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -512,7 +512,6 @@ CORE = \ core/core_automation_events \ core/core_basic_screen_manager \ core/core_basic_window \ - core/core_basic_window_web \ core/core_custom_frame_control \ core/core_custom_logging \ core/core_drop_files \ @@ -649,8 +648,8 @@ SHADERS = \ shaders/shaders_shapes_textures \ shaders/shaders_simple_mask \ shaders/shaders_spotlight \ - shaders/shaders_texture_rendering \ shaders/shaders_texture_outline \ + shaders/shaders_texture_rendering \ shaders/shaders_texture_tiling \ shaders/shaders_texture_waves \ shaders/shaders_vertex_displacement \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 1b9168cf4..d5601b86c 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -512,7 +512,6 @@ CORE = \ core/core_automation_events \ core/core_basic_screen_manager \ core/core_basic_window \ - core/core_basic_window_web \ core/core_custom_frame_control \ core/core_custom_logging \ core/core_drop_files \ @@ -649,8 +648,8 @@ SHADERS = \ shaders/shaders_shapes_textures \ shaders/shaders_simple_mask \ shaders/shaders_spotlight \ - shaders/shaders_texture_rendering \ shaders/shaders_texture_outline \ + shaders/shaders_texture_rendering \ shaders/shaders_texture_tiling \ shaders/shaders_texture_waves \ shaders/shaders_vertex_displacement \ @@ -718,9 +717,6 @@ core/core_basic_screen_manager: core/core_basic_screen_manager.c core/core_basic_window: core/core_basic_window.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -core/core_basic_window_web: core/core_basic_window_web.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) - core/core_custom_frame_control: core/core_custom_frame_control.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) @@ -1267,15 +1263,15 @@ shaders/shaders_spotlight: shaders/shaders_spotlight.c --preload-file shaders/resources/raysan.png@resources/raysan.png \ --preload-file shaders/resources/shaders/glsl100/spotlight.fs@resources/shaders/glsl100/spotlight.fs -shaders/shaders_texture_rendering: shaders/shaders_texture_rendering.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ - --preload-file shaders/resources/shaders/glsl100/cubes_panning.fs@resources/shaders/glsl100/cubes_panning.fs - shaders/shaders_texture_outline: shaders/shaders_texture_outline.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/fudesumi.png@resources/fudesumi.png \ --preload-file shaders/resources/shaders/glsl100/outline.fs@resources/shaders/glsl100/outline.fs +shaders/shaders_texture_rendering: shaders/shaders_texture_rendering.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ + --preload-file shaders/resources/shaders/glsl100/cubes_panning.fs@resources/shaders/glsl100/cubes_panning.fs + shaders/shaders_texture_tiling: shaders/shaders_texture_tiling.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/cubicmap_atlas.png@resources/cubicmap_atlas.png \ diff --git a/examples/README.md b/examples/README.md index bb0feb03d..b406ad2d7 100644 --- a/examples/README.md +++ b/examples/README.md @@ -16,9 +16,9 @@ You may find it easier to use than other toolchains, especially when it comes to - `zig build [module]` to compile all examples for a module (e.g. `zig build core`) - `zig build [example]` to compile _and run_ a particular example (e.g. `zig build core_basic_window`) -## EXAMPLES COLLECTION [TOTAL: 161] +## EXAMPLES COLLECTION [TOTAL: 160] -### category: core [36] +### category: core [35] Examples using raylib[core](../src/rcore.c) platform functionality like window creation, inputs, drawing modes and system functionality. @@ -56,7 +56,6 @@ Examples using raylib[core](../src/rcore.c) platform functionality like window c | [core_custom_frame_control](core/core_custom_frame_control.c) | core_custom_frame_control | ⭐⭐⭐⭐️ | 4.0 | 4.0 | [Ramon Santamaria](https://github.com/raysan5) | | [core_smooth_pixelperfect](core/core_smooth_pixelperfect.c) | core_smooth_pixelperfect | ⭐⭐⭐☆ | 3.7 | 4.0 | [Giancamillo Alessandroni](https://github.com/NotManyIdeasDev) | | [core_random_sequence](core/core_random_sequence.c) | core_random_sequence | ⭐☆☆☆ | 5.0 | 5.0 | [Dalton Overmyer](https://github.com/REDl3east) | -| [core_basic_window_web](core/core_basic_window_web.c) | core_basic_window_web | ⭐☆☆☆ | 1.3 | 1.3 | [Ramon Santamaria](https://github.com/raysan5) | | [core_input_gestures_web](core/core_input_gestures_web.c) | core_input_gestures_web | ⭐⭐☆☆ | 4.6 | 4.6 | [ubkp](https://github.com/ubkp) | | [core_automation_events](core/core_automation_events.c) | core_automation_events | ⭐⭐⭐☆ | 5.0 | 5.0 | [Ramon Santamaria](https://github.com/raysan5) | | [core_high_dpi](core/core_high_dpi.c) | core_high_dpi | ⭐☆☆☆ | 5.0 | 5.0 | [Jonathan Marler](https://github.com/marler8997) | diff --git a/examples/core/core_basic_window_web.c b/examples/core/core_basic_window_web.c deleted file mode 100644 index 7877337a3..000000000 --- a/examples/core/core_basic_window_web.c +++ /dev/null @@ -1,89 +0,0 @@ -/******************************************************************************************* -* -* raylib [core] example - basic window -* -* Example complexity rating: [★☆☆☆] 1/4 -* -* NOTE: This example is prepared to compile for PLATFORM_WEB, and PLATFORM_DESKTOP -* As you will notice, code structure is slightly diferent to the other examples... -* To compile it for PLATFORM_WEB just uncomment #define PLATFORM_WEB at beginning -* -* Example originally created with raylib 1.3, last time updated with raylib 1.3 -* -* Example 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) 2015-2025 Ramon Santamaria (@raysan5) -* -********************************************************************************************/ - -#include "raylib.h" - -//#define PLATFORM_WEB - -#if defined(PLATFORM_WEB) - #include -#endif - -//---------------------------------------------------------------------------------- -// Global Variables Definition -//---------------------------------------------------------------------------------- -const int screenWidth = 800; -const int screenHeight = 450; - -//---------------------------------------------------------------------------------- -// Module Functions Declaration -//---------------------------------------------------------------------------------- -void UpdateDrawFrame(void); // Update and Draw one frame - -//------------------------------------------------------------------------------------ -// Program main entry point -//------------------------------------------------------------------------------------ -int main(void) -{ - // Initialization - //-------------------------------------------------------------------------------------- - InitWindow(screenWidth, screenHeight, "raylib [core] example - basic window"); - -#if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); -#else - SetTargetFPS(60); // Set our game to run at 60 frames-per-second - //-------------------------------------------------------------------------------------- - - // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key - { - UpdateDrawFrame(); - } -#endif - - // De-Initialization - //-------------------------------------------------------------------------------------- - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- - - return 0; -} - -//---------------------------------------------------------------------------------- -// Module Functions Definition -//---------------------------------------------------------------------------------- -void UpdateDrawFrame(void) -{ - // Update - //---------------------------------------------------------------------------------- - // TODO: Update your variables here - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(RAYWHITE); - - DrawText("Congrats! You created your first window!", 190, 200, 20, LIGHTGRAY); - - EndDrawing(); - //---------------------------------------------------------------------------------- -} \ No newline at end of file diff --git a/examples/core/core_basic_window_web.png b/examples/core/core_basic_window_web.png deleted file mode 100644 index 6cf44a0c87340dcc7e216ed531216a4e649241eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15144 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYU_8XZ1{4ubUVDOp!Ro!Ii(^PdT=Jh^Utia^ z1sX^(Emp)qlyEREyBHwH+jvnx0xQ8-)p{U5u-U`G)Ii)2=qSoXt^+2 zE{v87qvgVAxqxl_bF_3EEgeTo$I;ReZ|UgpU0_GePa|fIezw1`Lgb5pgf74P=K~%* zjTiY&WbBg1IyVEHv{?|%v7x8!D^TAN0fo{pvEkv<6II$TJN%Xxi*LE(xMtVI82=a! zo{);ZW6G79Q|>)9i@AI}<0upl>C4JB1o^686!yGY_VybXr zs9n-~W3RG7t#hocPR515j+r|yXkVNt{cnd`glDX@oz(vohQ3+*6wKxdbcvT#MlI(K zI;(zd{*rf%i%NefZ>v#wVqf&Q|JqX>z5fqC@$af$5!%-ib_r;=jB`Q>TZ&0+KXSr@ zg)B(yf-Z|&I&jYFb_T};L8cbBZ5MiFG`=3$#k`E~ddEt=iOU;aUiz`cAj!Q%lea!A zoh#^YYt*ZYhr4eGmIPhq^|4)h*>dlr);lF`c{?ud5|CT*#eLm=kGYvk!hb27)-ImD zdYAGS6IbxOTZ9wXDUq;30NE8_F(jw-ED%_5?S$Ss1?3dGoyrYIUM=4GpDjB`@!EZ6 z+5d}Mc~cb~UiFCW+;&k*zW>;Ns7VJP7U&XV!2?dlqU%ch-yBrSb&d7vC+^ywP@-#6 z8qBfwThD}7r!H13%{{lg^v9%G{qEZQuUZad?348MR5k>M)n$0nL=RMkyAUUA?0q4i zQ11IDAl}=5)o;$ZeXi>&zuda*sQZ7??8uD0%jSiAUMc&3L&3tW)*P+&Yah?N_OosQ zcXH8R_Z2k?*WzD1yI{5F<=nV}o9x2!b2%k*C-g3XB&YXyk`v>x_3``v$@9JkPaQ54 zWLm78x>&Q+gvEouapAmtx6gkwRzdPk9wen z*^FIM&>Xl>6r3eA%dqDdH|GYRO}l^-rno07k>eaaG@&I0P(LruDCOA?37D&R0tQ@c zBuV2bHo&vCKo8=wX4DCwkQohy(NKWp(b2RpnifXW0&-h+G)Ii)h|wG|nj_F#k)!3p zXt^+2E{v87qvZm&?)7NtI9fW6mX4#P<7nwPS~`MC!qHF|4F%9t!)PdshQjEq3}{Mw oG!#Zd0lXcRU|ImqJ~J@H^+w%v&e6>S?to?RboFyt=akR{0D#NXK>z>% diff --git a/examples/examples_list.txt b/examples/examples_list.txt index ebb3a4f7e..a909ba9ee 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -39,7 +39,6 @@ core;core_basic_screen_manager;⭐️☆☆☆;4.0;4.0;"Ramon Santamaria";@raysa core;core_custom_frame_control;⭐️⭐️⭐️⭐️;4.0;4.0;"Ramon Santamaria";@raysan5 core;core_smooth_pixelperfect;⭐️⭐️⭐️☆;3.7;4.0;"Giancamillo Alessandroni";@NotManyIdeasDev core;core_random_sequence;⭐️☆☆☆;5.0;5.0;"Dalton Overmyer";@REDl3east -core;core_basic_window_web;⭐️☆☆☆;1.3;1.3;"Ramon Santamaria";@raysan5 core;core_input_gestures_web;⭐️⭐️☆☆;4.6-dev;4.6-dev;"ubkp";@ubkp core;core_automation_events;⭐️⭐️⭐️☆;5.0;5.0;"Ramon Santamaria";@raysan5 core;core_high_dpi;⭐️☆☆☆;5.0;5.0;"Jonathan Marler";@marler8997 diff --git a/projects/VS2022/examples/core_basic_window_web.vcxproj b/projects/VS2022/examples/core_basic_window_web.vcxproj deleted file mode 100644 index 7d9d0efb4..000000000 --- a/projects/VS2022/examples/core_basic_window_web.vcxproj +++ /dev/null @@ -1,569 +0,0 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {0981CA98-E4A5-4DF1-987F-A41D09131EFC} - Win32Proj - core_basic_window_web - 10.0 - core_basic_window_web - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\core - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\core - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\core - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\core - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\core - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\core - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\core - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\core - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\core - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\core - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\core - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\core - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - - \ No newline at end of file From e21093d4340aa1fcd9a020727437ea37d75cfa73 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 15:59:53 +0200 Subject: [PATCH 017/125] REXM: RENAME: example: `core_input_gestures_web` --> `core_input_gestures_testbed` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- ...es_web.c => core_input_gestures_testbed.c} | 221 +++++++++--------- ...eb.png => core_input_gestures_testbed.png} | Bin examples/examples_list.txt | 2 +- ...oj => core_input_gestures_testbed.vcxproj} | 6 +- 7 files changed, 121 insertions(+), 116 deletions(-) rename examples/core/{core_input_gestures_web.c => core_input_gestures_testbed.c} (76%) rename examples/core/{core_input_gestures_web.png => core_input_gestures_testbed.png} (100%) rename projects/VS2022/examples/{core_input_gestures_web.vcxproj => core_input_gestures_testbed.vcxproj} (99%) diff --git a/examples/Makefile b/examples/Makefile index 7c943c121..89f0ea8b6 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -518,7 +518,7 @@ CORE = \ core/core_high_dpi \ core/core_input_gamepad \ core/core_input_gestures \ - core/core_input_gestures_web \ + core/core_input_gestures_testbed \ core/core_input_keys \ core/core_input_mouse \ core/core_input_mouse_wheel \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index d5601b86c..20a67b7ca 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -518,7 +518,7 @@ CORE = \ core/core_high_dpi \ core/core_input_gamepad \ core/core_input_gestures \ - core/core_input_gestures_web \ + core/core_input_gestures_testbed \ core/core_input_keys \ core/core_input_mouse \ core/core_input_mouse_wheel \ @@ -737,7 +737,7 @@ core/core_input_gamepad: core/core_input_gamepad.c core/core_input_gestures: core/core_input_gestures.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -core/core_input_gestures_web: core/core_input_gestures_web.c +core/core_input_gestures_testbed: core/core_input_gestures_testbed.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) core/core_input_keys: core/core_input_keys.c diff --git a/examples/README.md b/examples/README.md index b406ad2d7..3be3479a5 100644 --- a/examples/README.md +++ b/examples/README.md @@ -56,7 +56,7 @@ Examples using raylib[core](../src/rcore.c) platform functionality like window c | [core_custom_frame_control](core/core_custom_frame_control.c) | core_custom_frame_control | ⭐⭐⭐⭐️ | 4.0 | 4.0 | [Ramon Santamaria](https://github.com/raysan5) | | [core_smooth_pixelperfect](core/core_smooth_pixelperfect.c) | core_smooth_pixelperfect | ⭐⭐⭐☆ | 3.7 | 4.0 | [Giancamillo Alessandroni](https://github.com/NotManyIdeasDev) | | [core_random_sequence](core/core_random_sequence.c) | core_random_sequence | ⭐☆☆☆ | 5.0 | 5.0 | [Dalton Overmyer](https://github.com/REDl3east) | -| [core_input_gestures_web](core/core_input_gestures_web.c) | core_input_gestures_web | ⭐⭐☆☆ | 4.6 | 4.6 | [ubkp](https://github.com/ubkp) | +| [core_input_gestures_testbed](core/core_input_gestures_testbed.c) | core_input_gestures_testbed | ⭐⭐☆☆ | 4.6 | 4.6 | [ubkp](https://github.com/ubkp) | | [core_automation_events](core/core_automation_events.c) | core_automation_events | ⭐⭐⭐☆ | 5.0 | 5.0 | [Ramon Santamaria](https://github.com/raysan5) | | [core_high_dpi](core/core_high_dpi.c) | core_high_dpi | ⭐☆☆☆ | 5.0 | 5.0 | [Jonathan Marler](https://github.com/marler8997) | diff --git a/examples/core/core_input_gestures_web.c b/examples/core/core_input_gestures_testbed.c similarity index 76% rename from examples/core/core_input_gestures_web.c rename to examples/core/core_input_gestures_testbed.c index 743639ea0..b0ec53b7f 100644 --- a/examples/core/core_input_gestures_web.c +++ b/examples/core/core_input_gestures_testbed.c @@ -17,91 +17,97 @@ #include "raylib.h" -#include "math.h" // Required for the protractor angle graphic drawing +#include // Required for the protractor angle graphic drawing #if defined(PLATFORM_WEB) #include // Required for the Web/HTML5 #endif -//-------------------------------------------------------------------------------------- -// Global definitions and declarations -//-------------------------------------------------------------------------------------- +#define GESTURE_LOG_SIZE 20 +#define MAX_TOUCH_COUNT 32 -// Common variables definitions //-------------------------------------------------------------------------------------- -int screenWidth = 800; // Update depending on web canvas -const int screenHeight = 450; -Vector2 messagePosition = { 160, 7 }; +// Global Variables Definition +//-------------------------------------------------------------------------------------- +static int screenWidth = 800; // Update depending on web canvas +static const int screenHeight = 450; +static Vector2 messagePosition = { 160, 7 }; // Last gesture variables definitions -//-------------------------------------------------------------------------------------- -int lastGesture = 0; -Vector2 lastGesturePosition = { 165, 130 }; +static int lastGesture = 0; +static Vector2 lastGesturePosition = { 165, 130 }; -// Gesture log variables definitions and functions declarations -//-------------------------------------------------------------------------------------- -#define GESTURE_LOG_SIZE 20 -char gestureLog[GESTURE_LOG_SIZE][12] = { "" }; // The gesture log uses an array (as an inverted circular queue) to store the performed gestures -int gestureLogIndex = GESTURE_LOG_SIZE; // The index for the inverted circular queue (moving from last to first direction, then looping around) -int previousGesture = 0; +// Gesture log variables definitions +// NOTE: The gesture log uses an array (as an inverted circular queue) to store the performed gestures +static char gestureLog[GESTURE_LOG_SIZE][12] = { "" }; +// NOTE: The index for the inverted circular queue (moving from last to first direction, then looping around) +static int gestureLogIndex = GESTURE_LOG_SIZE; +static int previousGesture = 0; -char const *GetGestureName(int i) -{ - switch (i) { - case 0: return "None"; break; - case 1: return "Tap"; break; - case 2: return "Double Tap"; break; - case 4: return "Hold"; break; - case 8: return "Drag"; break; - case 16: return "Swipe Right"; break; - case 32: return "Swipe Left"; break; - case 64: return "Swipe Up"; break; - case 128: return "Swipe Down"; break; - case 256: return "Pinch In"; break; - case 512: return "Pinch Out"; break; - default: return "Unknown"; break; - } -} +// Log mode values: +// - 0 shows repeated events +// - 1 hides repeated events +// - 2 shows repeated events but hide hold events +// - 3 hides repeated events and hide hold events +static int logMode = 1; -Color GetGestureColor(int i) -{ - switch (i) { - case 0: return BLACK; break; - case 1: return BLUE; break; - case 2: return SKYBLUE; break; - case 4: return BLACK; break; - case 8: return LIME; break; - case 16: return RED; break; - case 32: return RED; break; - case 64: return RED; break; - case 128: return RED; break; - case 256: return VIOLET; break; - case 512: return ORANGE; break; - default: return BLACK; break; - } -} - -int logMode = 1; // Log mode values: 0 shows repeated events; 1 hides repeated events; 2 shows repeated events but hide hold events; 3 hides repeated events and hide hold events - -Color gestureColor = { 0, 0, 0, 255 }; -Rectangle logButton1 = { 53, 7, 48, 26 }; -Rectangle logButton2 = { 108, 7, 36, 26 }; -Vector2 gestureLogPosition = { 10, 10 }; +static Color gestureColor = { 0, 0, 0, 255 }; +static Rectangle logButton1 = { 53, 7, 48, 26 }; +static Rectangle logButton2 = { 108, 7, 36, 26 }; +static Vector2 gestureLogPosition = { 10, 10 }; // Protractor variables definitions -//-------------------------------------------------------------------------------------- -float angleLength = 90.0f; -float currentAngleDegrees = 0.0f; -Vector2 finalVector = { 0.0f, 0.0f }; -char currentAngleStr[7] = ""; -Vector2 protractorPosition = { 266.0f, 315.0f }; +static float angleLength = 90.0f; +static float currentAngleDegrees = 0.0f; +static Vector2 finalVector = { 0.0f, 0.0f }; +static char currentAngleStr[7] = ""; +static Vector2 protractorPosition = { 266.0f, 315.0f }; -// Update -//-------------------------------------------------------------------------------------- -void Update(void) +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +static void UpdateDrawFrame(void); // Update and Draw one frame +static char const *GetGestureName(int i); +static Color GetGestureColor(int i); + +//------------------------------------------------------------------------------------ +// Program main entry point +//------------------------------------------------------------------------------------ +int main(void) { - // Handle common + // Initialization //-------------------------------------------------------------------------------------- + InitWindow(screenWidth, screenHeight, "raylib [core] example - input gestures testbed"); + +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + UpdateDrawFrame(); + } +#endif + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +static void UpdateDrawFrame(void) +{ + // Update + //-------------------------------------------------------------------------------------- + // Handle common gestures data int i, ii; // Iterators that will be reused by all for loops const int currentGesture = GetGestureDetected(); const float currentDragDegrees = GetGestureDragAngle(); @@ -109,11 +115,10 @@ void Update(void) const int touchCount = GetTouchPointCount(); // Handle last gesture - //-------------------------------------------------------------------------------------- - if ((currentGesture != 0) && (currentGesture != 4) && (currentGesture != previousGesture)) lastGesture = currentGesture; // Filter the meaningful gestures (1, 2, 8 to 512) for the display + if ((currentGesture != 0) && (currentGesture != 4) && (currentGesture != previousGesture)) + lastGesture = currentGesture; // Filter the meaningful gestures (1, 2, 8 to 512) for the display // Handle gesture log - //-------------------------------------------------------------------------------------- if (IsMouseButtonReleased(MOUSE_BUTTON_LEFT)) { if (CheckCollisionPointRec(GetMousePosition(), logButton1)) @@ -171,7 +176,6 @@ void Update(void) } // Handle protractor - //-------------------------------------------------------------------------------------- if (currentGesture > 255) // aka Pinch In and Pinch Out { currentAngleDegrees = currentPitchDegrees; @@ -189,9 +193,6 @@ void Update(void) finalVector = (Vector2){ (angleLength*sinf(currentAngleRadians)) + protractorPosition.x, (angleLength*cosf(currentAngleRadians)) + protractorPosition.y }; // Calculate the final vector for display // Handle touch and mouse pointer points - //-------------------------------------------------------------------------------------- - #define MAX_TOUCH_COUNT 32 - Vector2 touchPosition[MAX_TOUCH_COUNT] = { 0 }; Vector2 mousePosition = {0, 0}; if (currentGesture != GESTURE_NONE) @@ -202,22 +203,20 @@ void Update(void) } else mousePosition = GetMousePosition(); } + //-------------------------------------------------------------------------------------- // Draw //-------------------------------------------------------------------------------------- BeginDrawing(); - ClearBackground(RAYWHITE); - // Draw common - //-------------------------------------------------------------------------------------- + // Draw common elements DrawText("*", messagePosition.x + 5, messagePosition.y + 5, 10, BLACK); DrawText("Example optimized for Web/HTML5\non Smartphones with Touch Screen.", messagePosition.x + 15, messagePosition.y + 5, 10, BLACK); DrawText("*", messagePosition.x + 5, messagePosition.y + 35, 10, BLACK); DrawText("While running on Desktop Web Browsers,\ninspect and turn on Touch Emulation.", messagePosition.x + 15, messagePosition.y + 35, 10, BLACK); // Draw last gesture - //-------------------------------------------------------------------------------------- DrawText("Last gesture", lastGesturePosition.x + 33, lastGesturePosition.y - 47, 20, BLACK); DrawText("Swipe Tap Pinch Touch", lastGesturePosition.x + 17, lastGesturePosition.y - 18, 10, BLACK); DrawRectangle(lastGesturePosition.x + 20, lastGesturePosition.y, 20, 20, lastGesture == GESTURE_SWIPE_UP ? RED : LIGHTGRAY); @@ -235,7 +234,6 @@ void Update(void) for (i = 0; i < 4; i++) DrawCircle(lastGesturePosition.x + 180, lastGesturePosition.y + 7 + i*15, 5, touchCount <= i? LIGHTGRAY : gestureColor); // Draw gesture log - //-------------------------------------------------------------------------------------- DrawText("Log", gestureLogPosition.x, gestureLogPosition.y, 20, BLACK); // Loop in both directions to print the gesture log array in the inverted order (and looping around if the index started somewhere in the middle) @@ -256,7 +254,6 @@ void Update(void) DrawText("Hold", logButton1.x + 62, logButton1.y + 13, 10, WHITE); // Draw protractor - //-------------------------------------------------------------------------------------- DrawText("Angle", protractorPosition.x + 55, protractorPosition.y + 76, 10, BLACK); const char *angleString = TextFormat("%f", currentAngleDegrees); const int angleStringDot = TextFindIndex(angleString, "."); @@ -278,7 +275,6 @@ void Update(void) if (currentAngleDegrees != 0.0f) DrawLineEx(protractorPosition, finalVector, 3.0f, gestureColor); // Draw touch and mouse pointer points - //-------------------------------------------------------------------------------------- if (currentGesture != GESTURE_NONE) { if ( touchCount != 0 ) @@ -300,33 +296,42 @@ void Update(void) EndDrawing(); //-------------------------------------------------------------------------------------- - } -//------------------------------------------------------------------------------------ -// Program main entry point -//------------------------------------------------------------------------------------ -int main(void) +static char const *GetGestureName(int i) { - // Initialization - //-------------------------------------------------------------------------------------- - InitWindow(screenWidth, screenHeight, "raylib [core] example - input gestures web"); - //-------------------------------------------------------------------------------------- - - // Main game loop - //-------------------------------------------------------------------------------------- - #if defined(PLATFORM_WEB) - emscripten_set_main_loop(Update, 0, 1); - #else - SetTargetFPS(60); - while (!WindowShouldClose()) Update(); // Detect window close button or ESC key - #endif - //-------------------------------------------------------------------------------------- - - // De-Initialization - //-------------------------------------------------------------------------------------- - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- - - return 0; + switch (i) + { + case 0: return "None"; break; + case 1: return "Tap"; break; + case 2: return "Double Tap"; break; + case 4: return "Hold"; break; + case 8: return "Drag"; break; + case 16: return "Swipe Right"; break; + case 32: return "Swipe Left"; break; + case 64: return "Swipe Up"; break; + case 128: return "Swipe Down"; break; + case 256: return "Pinch In"; break; + case 512: return "Pinch Out"; break; + default: return "Unknown"; break; + } +} + +static Color GetGestureColor(int i) +{ + switch (i) + { + case 0: return BLACK; break; + case 1: return BLUE; break; + case 2: return SKYBLUE; break; + case 4: return BLACK; break; + case 8: return LIME; break; + case 16: return RED; break; + case 32: return RED; break; + case 64: return RED; break; + case 128: return RED; break; + case 256: return VIOLET; break; + case 512: return ORANGE; break; + default: return BLACK; break; + } } diff --git a/examples/core/core_input_gestures_web.png b/examples/core/core_input_gestures_testbed.png similarity index 100% rename from examples/core/core_input_gestures_web.png rename to examples/core/core_input_gestures_testbed.png diff --git a/examples/examples_list.txt b/examples/examples_list.txt index a909ba9ee..6c3ada66f 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -39,7 +39,7 @@ core;core_basic_screen_manager;⭐️☆☆☆;4.0;4.0;"Ramon Santamaria";@raysa core;core_custom_frame_control;⭐️⭐️⭐️⭐️;4.0;4.0;"Ramon Santamaria";@raysan5 core;core_smooth_pixelperfect;⭐️⭐️⭐️☆;3.7;4.0;"Giancamillo Alessandroni";@NotManyIdeasDev core;core_random_sequence;⭐️☆☆☆;5.0;5.0;"Dalton Overmyer";@REDl3east -core;core_input_gestures_web;⭐️⭐️☆☆;4.6-dev;4.6-dev;"ubkp";@ubkp +core;core_input_gestures_testbed;⭐️⭐️☆☆;4.6-dev;4.6-dev;"ubkp";@ubkp core;core_automation_events;⭐️⭐️⭐️☆;5.0;5.0;"Ramon Santamaria";@raysan5 core;core_high_dpi;⭐️☆☆☆;5.0;5.0;"Jonathan Marler";@marler8997 shapes;shapes_basic_shapes;⭐️☆☆☆;1.0;4.2;"Ramon Santamaria";@raysan5 diff --git a/projects/VS2022/examples/core_input_gestures_web.vcxproj b/projects/VS2022/examples/core_input_gestures_testbed.vcxproj similarity index 99% rename from projects/VS2022/examples/core_input_gestures_web.vcxproj rename to projects/VS2022/examples/core_input_gestures_testbed.vcxproj index bcccc57d0..8eb3a5e99 100644 --- a/projects/VS2022/examples/core_input_gestures_web.vcxproj +++ b/projects/VS2022/examples/core_input_gestures_testbed.vcxproj @@ -53,9 +53,9 @@ {0981CA98-E4A5-4DF1-987F-A41D09131EFC} Win32Proj - core_input_gestures_web + core_input_gestures_testbed 10.0 - core_input_gestures_web + core_input_gestures_testbed @@ -553,7 +553,7 @@ - + From 6d7dd43c13f65b42e0b28e2b5ced3b8585a40477 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 16:05:38 +0200 Subject: [PATCH 018/125] Update core_input_gestures_testbed.c --- examples/core/core_input_gestures_testbed.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/core/core_input_gestures_testbed.c b/examples/core/core_input_gestures_testbed.c index b0ec53b7f..5776c9fff 100644 --- a/examples/core/core_input_gestures_testbed.c +++ b/examples/core/core_input_gestures_testbed.c @@ -1,10 +1,10 @@ /******************************************************************************************* * -* raylib [core] example - input gestures web +* raylib [core] example - input gestures testbed * -* Example complexity rating: [★★☆☆] 2/4 +* Example complexity rating: [★★★☆] 3/4 * -* Example originally created with raylib 4.6-dev, last time updated with raylib 4.6-dev +* Example originally created with raylib 4.6-dev, last time updated with raylib 5.6-dev * * Example contributed by ubkp (@ubkp) and reviewed by Ramon Santamaria (@raysan5) * From 293477e2b58098cc0d9bf85c9a671319d23755ae Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 16:05:54 +0200 Subject: [PATCH 019/125] Reorganized examples list --- examples/examples_list.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 6c3ada66f..bd4073038 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -14,6 +14,7 @@ core;core_input_mouse_wheel;⭐️☆☆☆;1.1;1.3;"Ramon Santamaria";@raysan5 core;core_input_gamepad;⭐️☆☆☆;1.1;4.2;"Ramon Santamaria";@raysan5 core;core_input_multitouch;⭐️☆☆☆;2.1;2.5;"Berni";@Berni8k core;core_input_gestures;⭐️⭐️☆☆;1.4;4.2;"Ramon Santamaria";@raysan5 +core;core_input_gestures_testbed;⭐️⭐️⭐️☆;4.6-dev;5.6-dev;"ubkp";@ubkp core;core_input_virtual_controls;⭐️⭐️☆☆;5.0;5.0;"oblerion";@oblerion core;core_2d_camera;⭐️⭐️☆☆;1.5;3.0;"Ramon Santamaria";@raysan5 core;core_2d_camera_mouse_zoom;⭐️⭐️☆☆;4.2;4.2;"Jeffery Myers";@JeffM2501 @@ -26,10 +27,10 @@ core;core_3d_camera_split_screen;⭐️⭐️⭐️☆;3.7;4.0;"Jeffery Myers";@ core;core_3d_camera_fps;⭐️⭐️⭐️☆;5.5;5.5;"Agnis Aldins";@nezvers core;core_3d_picking;⭐️⭐️☆☆;1.3;4.0;"Ramon Santamaria";@raysan5 core;core_world_screen;⭐️⭐️☆☆;1.3;1.4;"Ramon Santamaria";@raysan5 -core;core_custom_logging;⭐️⭐️⭐️☆;2.5;2.5;"Pablo Marcos Oltra";@pamarcos core;core_window_flags;⭐️⭐️⭐️☆;3.5;3.5;"Ramon Santamaria";@raysan5 core;core_window_letterbox;⭐️⭐️☆☆;2.5;4.0;"Anata";@anatagawa core;core_window_should_close;⭐️☆☆☆;4.2;4.2;"Ramon Santamaria";@raysan5 +core;core_custom_logging;⭐️⭐️⭐️☆;2.5;2.5;"Pablo Marcos Oltra";@pamarcos core;core_drop_files;⭐️⭐️☆☆;1.3;4.2;"Ramon Santamaria";@raysan5 core;core_random_values;⭐️☆☆☆;1.1;1.1;"Ramon Santamaria";@raysan5 core;core_storage_values;⭐️⭐️☆☆;1.4;4.2;"Ramon Santamaria";@raysan5 @@ -39,7 +40,6 @@ core;core_basic_screen_manager;⭐️☆☆☆;4.0;4.0;"Ramon Santamaria";@raysa core;core_custom_frame_control;⭐️⭐️⭐️⭐️;4.0;4.0;"Ramon Santamaria";@raysan5 core;core_smooth_pixelperfect;⭐️⭐️⭐️☆;3.7;4.0;"Giancamillo Alessandroni";@NotManyIdeasDev core;core_random_sequence;⭐️☆☆☆;5.0;5.0;"Dalton Overmyer";@REDl3east -core;core_input_gestures_testbed;⭐️⭐️☆☆;4.6-dev;4.6-dev;"ubkp";@ubkp core;core_automation_events;⭐️⭐️⭐️☆;5.0;5.0;"Ramon Santamaria";@raysan5 core;core_high_dpi;⭐️☆☆☆;5.0;5.0;"Jonathan Marler";@marler8997 shapes;shapes_basic_shapes;⭐️☆☆☆;1.0;4.2;"Ramon Santamaria";@raysan5 From d418704c0b72eba8dc21a15d99985580b9870c1b Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 16:17:23 +0200 Subject: [PATCH 020/125] REXM: Update examples collection --- examples/README.md | 4 +-- .../core_input_gestures_testbed.vcxproj | 2 +- projects/VS2022/raylib.sln | 27 +++++++++++++++++++ tools/rexm/examples_report.md | 25 ++++++++--------- tools/rexm/examples_report_issues.md | 4 +-- 5 files changed, 42 insertions(+), 20 deletions(-) diff --git a/examples/README.md b/examples/README.md index 3be3479a5..1857e5cf8 100644 --- a/examples/README.md +++ b/examples/README.md @@ -31,6 +31,7 @@ Examples using raylib[core](../src/rcore.c) platform functionality like window c | [core_input_gamepad](core/core_input_gamepad.c) | core_input_gamepad | ⭐☆☆☆ | 1.1 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | | [core_input_multitouch](core/core_input_multitouch.c) | core_input_multitouch | ⭐☆☆☆ | 2.1 | 2.5 | [Berni](https://github.com/Berni8k) | | [core_input_gestures](core/core_input_gestures.c) | core_input_gestures | ⭐⭐☆☆ | 1.4 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | +| [core_input_gestures_testbed](core/core_input_gestures_testbed.c) | core_input_gestures_testbed | ⭐⭐⭐☆ | 4.6 | 5.6 | [ubkp](https://github.com/ubkp) | | [core_input_virtual_controls](core/core_input_virtual_controls.c) | core_input_virtual_controls | ⭐⭐☆☆ | 5.0 | 5.0 | [oblerion](https://github.com/oblerion) | | [core_2d_camera](core/core_2d_camera.c) | core_2d_camera | ⭐⭐☆☆ | 1.5 | 3.0 | [Ramon Santamaria](https://github.com/raysan5) | | [core_2d_camera_mouse_zoom](core/core_2d_camera_mouse_zoom.c) | core_2d_camera_mouse_zoom | ⭐⭐☆☆ | 4.2 | 4.2 | [Jeffery Myers](https://github.com/JeffM2501) | @@ -43,10 +44,10 @@ Examples using raylib[core](../src/rcore.c) platform functionality like window c | [core_3d_camera_fps](core/core_3d_camera_fps.c) | core_3d_camera_fps | ⭐⭐⭐☆ | 5.5 | 5.5 | [Agnis Aldins](https://github.com/nezvers) | | [core_3d_picking](core/core_3d_picking.c) | core_3d_picking | ⭐⭐☆☆ | 1.3 | 4.0 | [Ramon Santamaria](https://github.com/raysan5) | | [core_world_screen](core/core_world_screen.c) | core_world_screen | ⭐⭐☆☆ | 1.3 | 1.4 | [Ramon Santamaria](https://github.com/raysan5) | -| [core_custom_logging](core/core_custom_logging.c) | core_custom_logging | ⭐⭐⭐☆ | 2.5 | 2.5 | [Pablo Marcos Oltra](https://github.com/pamarcos) | | [core_window_flags](core/core_window_flags.c) | core_window_flags | ⭐⭐⭐☆ | 3.5 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [core_window_letterbox](core/core_window_letterbox.c) | core_window_letterbox | ⭐⭐☆☆ | 2.5 | 4.0 | [Anata](https://github.com/anatagawa) | | [core_window_should_close](core/core_window_should_close.c) | core_window_should_close | ⭐☆☆☆ | 4.2 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | +| [core_custom_logging](core/core_custom_logging.c) | core_custom_logging | ⭐⭐⭐☆ | 2.5 | 2.5 | [Pablo Marcos Oltra](https://github.com/pamarcos) | | [core_drop_files](core/core_drop_files.c) | core_drop_files | ⭐⭐☆☆ | 1.3 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | | [core_random_values](core/core_random_values.c) | core_random_values | ⭐☆☆☆ | 1.1 | 1.1 | [Ramon Santamaria](https://github.com/raysan5) | | [core_storage_values](core/core_storage_values.c) | core_storage_values | ⭐⭐☆☆ | 1.4 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | @@ -56,7 +57,6 @@ Examples using raylib[core](../src/rcore.c) platform functionality like window c | [core_custom_frame_control](core/core_custom_frame_control.c) | core_custom_frame_control | ⭐⭐⭐⭐️ | 4.0 | 4.0 | [Ramon Santamaria](https://github.com/raysan5) | | [core_smooth_pixelperfect](core/core_smooth_pixelperfect.c) | core_smooth_pixelperfect | ⭐⭐⭐☆ | 3.7 | 4.0 | [Giancamillo Alessandroni](https://github.com/NotManyIdeasDev) | | [core_random_sequence](core/core_random_sequence.c) | core_random_sequence | ⭐☆☆☆ | 5.0 | 5.0 | [Dalton Overmyer](https://github.com/REDl3east) | -| [core_input_gestures_testbed](core/core_input_gestures_testbed.c) | core_input_gestures_testbed | ⭐⭐☆☆ | 4.6 | 4.6 | [ubkp](https://github.com/ubkp) | | [core_automation_events](core/core_automation_events.c) | core_automation_events | ⭐⭐⭐☆ | 5.0 | 5.0 | [Ramon Santamaria](https://github.com/raysan5) | | [core_high_dpi](core/core_high_dpi.c) | core_high_dpi | ⭐☆☆☆ | 5.0 | 5.0 | [Jonathan Marler](https://github.com/marler8997) | diff --git a/projects/VS2022/examples/core_input_gestures_testbed.vcxproj b/projects/VS2022/examples/core_input_gestures_testbed.vcxproj index 8eb3a5e99..43e1aefb7 100644 --- a/projects/VS2022/examples/core_input_gestures_testbed.vcxproj +++ b/projects/VS2022/examples/core_input_gestures_testbed.vcxproj @@ -51,7 +51,7 @@ - {0981CA98-E4A5-4DF1-987F-A41D09131EFC} + {6B1A933E-71B8-4C1F-9E79-02D98830E671} Win32Proj core_input_gestures_testbed 10.0 diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index a8ec5324e..fff559830 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -337,6 +337,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_normal_map", "examp EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "text_unicode_ranges", "examples\text_unicode_ranges.vcxproj", "{6777EC3C-077C-42FC-B4AD-B799CE55CCE4}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_input_gestures_testbed", "examples\core_input_gestures_testbed.vcxproj", "{6B1A933E-71B8-4C1F-9E79-02D98830E671}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug.DLL|ARM64 = Debug.DLL|ARM64 @@ -4143,6 +4145,30 @@ Global {6777EC3C-077C-42FC-B4AD-B799CE55CCE4}.Release|x64.Build.0 = Release|x64 {6777EC3C-077C-42FC-B4AD-B799CE55CCE4}.Release|x86.ActiveCfg = Release|Win32 {6777EC3C-077C-42FC-B4AD-B799CE55CCE4}.Release|x86.Build.0 = Release|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.Build.0 = Debug.DLL|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.Build.0 = Debug|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.ActiveCfg = Debug|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.Build.0 = Debug|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.ActiveCfg = Debug|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.Build.0 = Debug|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.ActiveCfg = Release.DLL|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.Build.0 = Release.DLL|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.ActiveCfg = Release.DLL|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.Build.0 = Release.DLL|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.Build.0 = Release.DLL|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.ActiveCfg = Release|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.Build.0 = Release|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.ActiveCfg = Release|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.Build.0 = Release|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.ActiveCfg = Release|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -4313,6 +4339,7 @@ Global {6B1A933E-71B8-4C1F-9E79-02D98830E671} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} {6BFF72EA-7362-4A3B-B6E5-9A3655BBBDA3} = {5317807F-61D4-4E0F-B6DC-2D9F12621ED9} {6777EC3C-077C-42FC-B4AD-B799CE55CCE4} = {8D3C83B7-F1E0-4C2E-9E34-EE5F6AB2502A} + {6B1A933E-71B8-4C1F-9E79-02D98830E671} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {E926C768-6307-4423-A1EC-57E95B1FAB29} diff --git a/tools/rexm/examples_report.md b/tools/rexm/examples_report.md index a4bcef40c..ef7c6f9c2 100644 --- a/tools/rexm/examples_report.md +++ b/tools/rexm/examples_report.md @@ -27,6 +27,7 @@ Example elements validated: | core_input_gamepad | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_input_multitouch | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_input_gestures | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| core_input_gestures_testbed | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_input_virtual_controls | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_2d_camera | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_2d_camera_mouse_zoom | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -39,22 +40,19 @@ Example elements validated: | core_3d_camera_fps | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_3d_picking | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_world_screen | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| core_custom_logging | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_window_flags | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_window_letterbox | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_window_should_close | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| core_custom_logging | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_drop_files | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_random_values | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_storage_values | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_vr_simulator | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| core_loading_thread | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_scissor_test | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_basic_screen_manager | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_custom_frame_control | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_smooth_pixelperfect | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_random_sequence | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| core_basic_window_web | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ❌ | ✔ | -| core_input_gestures_web | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | | core_automation_events | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_high_dpi | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_basic_shapes | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -95,15 +93,15 @@ Example elements validated: | textures_bunnymark | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | textures_mouse_painting | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | textures_blend_modes | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| textures_draw_tiled | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| textures_polygon | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| textures_tiled_drawing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| textures_polygon_drawing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | textures_fog_of_war | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | textures_gif_player | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | textures_image_kernel | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | textures_image_channel | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | textures_image_rotate | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | textures_textured_curve | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| text_raylib_fonts | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| text_sprite_fonts | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_font_spritefont | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_font_filters | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_font_loading | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -112,12 +110,12 @@ Example elements validated: | text_input_box | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_writing_anim | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_rectangle_bounds | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| text_unicode | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| text_unicode_emojis | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_unicode_ranges | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| text_draw_3d | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| text_3d_drawing | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_codepoints_loading | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_animation | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| models_billboard | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| models_billboard_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_box_collisions | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_cubicmap | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_first_person_maze | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -134,7 +132,7 @@ Example elements validated: | models_yaw_pitch_roll | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_waving_cubes | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_heightmap | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| models_skybox | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| models_skybox_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_draw_cube_texture | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_gpu_skinning | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_bone_socket | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -146,12 +144,12 @@ Example elements validated: | shaders_postprocessing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_palette_switch | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_raymarching | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shaders_texture_drawing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shaders_texture_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_texture_outline | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_texture_waves | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_julia_set | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_eratosthenes | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shaders_fog | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shaders_fog_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_simple_mask | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_hot_reloading | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_mesh_instancing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -182,4 +180,3 @@ Example elements validated: | raylib_opengl_interop | ✔ | ❌ | ❌ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | | embedded_files_loading | ✔ | ❌ | ❌ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | raymath_vector_angle | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | -| text_unicode_ranges | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | diff --git a/tools/rexm/examples_report_issues.md b/tools/rexm/examples_report_issues.md index 9f82a6dfa..599bd74f2 100644 --- a/tools/rexm/examples_report_issues.md +++ b/tools/rexm/examples_report_issues.md @@ -21,13 +21,11 @@ Example elements validated: | **EXAMPLE NAME** | [C] | [CAT]| [INFO]|[PNG]|[WPNG]| [RES]| [MK] |[MKWEB]| [VCX]| [SOL]|[RDME]|[JS] | [WOUT]|[WMETA]| |:---------------------------------|:---:|:----:|:-----:|:---:|:----:|:----:|:----:|:-----:|:----:|:----:|:----:|:---:|:-----:|:-----:| | core_input_virtual_controls | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| core_basic_window_web | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ❌ | ✔ | -| core_input_gestures_web | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | | core_high_dpi | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_digital_clock | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_font_sdf | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_unicode_ranges | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| text_draw_3d | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| text_3d_drawing | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_codepoints_loading | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_loading_m3d | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_texture_outline | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | From fb42819eabdb5985c927305297d74ac120b2906c Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 16:56:38 +0200 Subject: [PATCH 021/125] Added project to folder in solution --- .../core_input_gestures_testbed.vcxproj | 2 +- projects/VS2022/raylib.sln | 52 +++++++++---------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/projects/VS2022/examples/core_input_gestures_testbed.vcxproj b/projects/VS2022/examples/core_input_gestures_testbed.vcxproj index 43e1aefb7..5e8385dbe 100644 --- a/projects/VS2022/examples/core_input_gestures_testbed.vcxproj +++ b/projects/VS2022/examples/core_input_gestures_testbed.vcxproj @@ -51,7 +51,7 @@ - {6B1A933E-71B8-4C1F-9E79-02D98830E671} + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4} Win32Proj core_input_gestures_testbed 10.0 diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index fff559830..85af72256 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -337,7 +337,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_normal_map", "examp EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "text_unicode_ranges", "examples\text_unicode_ranges.vcxproj", "{6777EC3C-077C-42FC-B4AD-B799CE55CCE4}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_input_gestures_testbed", "examples\core_input_gestures_testbed.vcxproj", "{6B1A933E-71B8-4C1F-9E79-02D98830E671}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_input_gestures_testbed", "examples\core_input_gestures_testbed.vcxproj", "{A61DAD9C-271C-4E95-81AA-DB4CD58564D4}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -4145,30 +4145,30 @@ Global {6777EC3C-077C-42FC-B4AD-B799CE55CCE4}.Release|x64.Build.0 = Release|x64 {6777EC3C-077C-42FC-B4AD-B799CE55CCE4}.Release|x86.ActiveCfg = Release|Win32 {6777EC3C-077C-42FC-B4AD-B799CE55CCE4}.Release|x86.Build.0 = Release|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.Build.0 = Debug.DLL|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.Build.0 = Debug|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.ActiveCfg = Debug|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.Build.0 = Debug|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.ActiveCfg = Debug|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.Build.0 = Debug|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.ActiveCfg = Release.DLL|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.Build.0 = Release.DLL|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.ActiveCfg = Release.DLL|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.Build.0 = Release.DLL|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.Build.0 = Release.DLL|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.ActiveCfg = Release|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.Build.0 = Release|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.ActiveCfg = Release|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.Build.0 = Release|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.ActiveCfg = Release|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.Build.0 = Release|Win32 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Debug.DLL|x64.Build.0 = Debug.DLL|x64 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Debug|ARM64.Build.0 = Debug|ARM64 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Debug|x64.ActiveCfg = Debug|x64 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Debug|x64.Build.0 = Debug|x64 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Debug|x86.ActiveCfg = Debug|Win32 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Debug|x86.Build.0 = Debug|Win32 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Release.DLL|ARM64.ActiveCfg = Release.DLL|ARM64 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Release.DLL|ARM64.Build.0 = Release.DLL|ARM64 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Release.DLL|x64.ActiveCfg = Release.DLL|x64 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Release.DLL|x64.Build.0 = Release.DLL|x64 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Release.DLL|x86.Build.0 = Release.DLL|Win32 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Release|ARM64.ActiveCfg = Release|ARM64 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Release|ARM64.Build.0 = Release|ARM64 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Release|x64.ActiveCfg = Release|x64 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Release|x64.Build.0 = Release|x64 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Release|x86.ActiveCfg = Release|Win32 + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -4339,7 +4339,7 @@ Global {6B1A933E-71B8-4C1F-9E79-02D98830E671} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} {6BFF72EA-7362-4A3B-B6E5-9A3655BBBDA3} = {5317807F-61D4-4E0F-B6DC-2D9F12621ED9} {6777EC3C-077C-42FC-B4AD-B799CE55CCE4} = {8D3C83B7-F1E0-4C2E-9E34-EE5F6AB2502A} - {6B1A933E-71B8-4C1F-9E79-02D98830E671} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} + {A61DAD9C-271C-4E95-81AA-DB4CD58564D4} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {E926C768-6307-4423-A1EC-57E95B1FAB29} From 7646d087512f61868846927ba14db82f7b2e7ac3 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 18:57:00 +0200 Subject: [PATCH 022/125] Updated some examples with inconsistencies --- examples/README.md | 4 +-- examples/audio/audio_music_stream.c | 4 +-- examples/core/core_high_dpi.c | 8 +++-- examples/core/core_input_virtual_controls.c | 34 ++++++------------- examples/examples_list.txt | 4 +-- examples/models/models_loading_m3d.c | 4 +-- examples/shapes/shapes_digital_clock.c | 2 +- .../shaders/glsl120/alpha_discard.fs | 18 ++++++++++ .../text/resources/shaders/glsl120/sdf.fs | 23 +++++++++++++ examples/text/text_unicode_ranges.c | 3 +- tools/rexm/examples_report.md | 4 +-- tools/rexm/examples_report_issues.md | 2 -- 12 files changed, 71 insertions(+), 39 deletions(-) create mode 100644 examples/text/resources/shaders/glsl120/alpha_discard.fs create mode 100644 examples/text/resources/shaders/glsl120/sdf.fs diff --git a/examples/README.md b/examples/README.md index 1857e5cf8..f1d011ccf 100644 --- a/examples/README.md +++ b/examples/README.md @@ -58,7 +58,7 @@ Examples using raylib[core](../src/rcore.c) platform functionality like window c | [core_smooth_pixelperfect](core/core_smooth_pixelperfect.c) | core_smooth_pixelperfect | ⭐⭐⭐☆ | 3.7 | 4.0 | [Giancamillo Alessandroni](https://github.com/NotManyIdeasDev) | | [core_random_sequence](core/core_random_sequence.c) | core_random_sequence | ⭐☆☆☆ | 5.0 | 5.0 | [Dalton Overmyer](https://github.com/REDl3east) | | [core_automation_events](core/core_automation_events.c) | core_automation_events | ⭐⭐⭐☆ | 5.0 | 5.0 | [Ramon Santamaria](https://github.com/raysan5) | -| [core_high_dpi](core/core_high_dpi.c) | core_high_dpi | ⭐☆☆☆ | 5.0 | 5.0 | [Jonathan Marler](https://github.com/marler8997) | +| [core_high_dpi](core/core_high_dpi.c) | core_high_dpi | ⭐⭐☆☆ | 5.0 | 5.0 | [Jonathan Marler](https://github.com/marler8997) | ### category: shapes [20] @@ -84,7 +84,7 @@ Examples using raylib shapes drawing functionality, provided by raylib [shapes]( | [shapes_top_down_lights](shapes/shapes_top_down_lights.c) | shapes_top_down_lights | ⭐⭐⭐⭐️ | 4.2 | 4.2 | [Jeffery Myers](https://github.com/JeffM2501) | | [shapes_rectangle_advanced](shapes/shapes_rectangle_advanced.c) | shapes_rectangle_advanced | ⭐⭐⭐⭐️ | 5.5 | 5.5 | [Everton Jr.](https://github.com/evertonse) | | [shapes_splines_drawing](shapes/shapes_splines_drawing.c) | shapes_splines_drawing | ⭐⭐⭐☆ | 5.0 | 5.0 | [Ramon Santamaria](https://github.com/raysan5) | -| [shapes_digital_clock](shapes/shapes_digital_clock.c) | shapes_digital_clock | ⭐⭐☆☆ | 5.5 | 5.5 | [Hamza RAHAL](https://github.com/rhmz-rhl) | +| [shapes_digital_clock](shapes/shapes_digital_clock.c) | shapes_digital_clock | ⭐⭐☆☆ | 5.5 | 5.6 | [Hamza RAHAL](https://github.com/rhmz-rhl) | | [shapes_double_pendulum](shapes/shapes_double_pendulum.c) | shapes_double_pendulum | ⭐⭐☆☆ | 5.5 | 5.5 | [JoeCheong](https://github.com/Joecheong2006) | ### category: textures [26] diff --git a/examples/audio/audio_music_stream.c b/examples/audio/audio_music_stream.c index c0028a033..fe4590463 100644 --- a/examples/audio/audio_music_stream.c +++ b/examples/audio/audio_music_stream.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [audio] example - music playing (streaming) +* raylib [audio] example - music streaming * * Example complexity rating: [★☆☆☆] 1/4 * @@ -25,7 +25,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [audio] example - music playing (streaming)"); + InitWindow(screenWidth, screenHeight, "raylib [audio] example - music streaming"); InitAudioDevice(); // Initialize audio device diff --git a/examples/core/core_high_dpi.c b/examples/core/core_high_dpi.c index 636442401..346e41993 100644 --- a/examples/core/core_high_dpi.c +++ b/examples/core/core_high_dpi.c @@ -2,12 +2,16 @@ * * raylib [core] example - high dpi * -* Example complexity rating: [★☆☆☆] e/4 +* Example complexity rating: [★★☆☆] 2/4 +* +* Example originally created with raylib 5.5-dev, last time updated with raylib 5.6-dev +* +* Example contributed by Jonathan Marler (@marler8997) and reviewed by Ramon Santamaria (@raysan5) * * Example 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) 2013-2025 Ramon Santamaria (@raysan5) +* Copyright (c) 2025 Jonathan Marler (@marler8997) * ********************************************************************************************/ diff --git a/examples/core/core_input_virtual_controls.c b/examples/core/core_input_virtual_controls.c index 6a4946655..0f4553eac 100644 --- a/examples/core/core_input_virtual_controls.c +++ b/examples/core/core_input_virtual_controls.c @@ -6,10 +6,8 @@ * * Example originally created with raylib 5.0, last time updated with raylib 5.0 * -* Example create by GreenSnakeLinux (@GreenSnakeLinux), -* lighter by oblerion (@oblerion) and -* reviewed by Ramon Santamaria (@raysan5) and -* improved by danilwhale (@danilwhale) +* Example contributed by GreenSnakeLinux (@GreenSnakeLinux), +* reviewed by Ramon Santamaria (@raysan5), oblerion (@oblerion) and danilwhale (@danilwhale) * * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software @@ -19,6 +17,7 @@ ********************************************************************************************/ #include "raylib.h" + #include typedef enum { @@ -45,24 +44,21 @@ int main(void) Vector2 padPosition = { 100, 350 }; float buttonRadius = 30; - Vector2 buttonPositions[BUTTON_MAX] = - { + Vector2 buttonPositions[BUTTON_MAX] = { { padPosition.x,padPosition.y - buttonRadius*1.5f }, // Up { padPosition.x - buttonRadius*1.5f, padPosition.y }, // Left { padPosition.x + buttonRadius*1.5f, padPosition.y }, // Right { padPosition.x, padPosition.y + buttonRadius*1.5f } // Down }; - const char *buttonLabels[BUTTON_MAX] = - { + const char *buttonLabels[BUTTON_MAX] = { "Y", // Up "X", // Left "B", // Right "A" // Down }; - Color buttonLabelColors[BUTTON_MAX] = - { + Color buttonLabelColors[BUTTON_MAX] = { YELLOW, // Up BLUE, // Left RED, // Right @@ -83,22 +79,15 @@ int main(void) { // Update //-------------------------------------------------------------------------- - if ((GetTouchPointCount() > 0)) - { - // Use touch position - inputPosition = GetTouchPosition(0); - } - else - { - // Use mouse position - inputPosition = GetMousePosition(); - } + if ((GetTouchPointCount() > 0)) inputPosition = GetTouchPosition(0); // Use touch position + else inputPosition = GetMousePosition(); // Use mouse position // Reset pressed button to none pressedButton = BUTTON_NONE; // Make sure user is pressing left mouse button if they're from desktop - if ((GetTouchPointCount() > 0) || ((GetTouchPointCount() == 0) && IsMouseButtonDown(MOUSE_BUTTON_LEFT))) + if ((GetTouchPointCount() > 0) || + ((GetTouchPointCount() == 0) && IsMouseButtonDown(MOUSE_BUTTON_LEFT))) { // Find nearest D-Pad button to the input position for (int i = 0; i < BUTTON_MAX; i++) @@ -123,8 +112,8 @@ int main(void) case BUTTON_DOWN: playerPosition.y += playerSpeed*GetFrameTime(); break; default: break; }; - //-------------------------------------------------------------------------- + // Draw //-------------------------------------------------------------------------- BeginDrawing(); @@ -157,4 +146,3 @@ int main(void) return 0; } - diff --git a/examples/examples_list.txt b/examples/examples_list.txt index bd4073038..2450f46ac 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -41,7 +41,7 @@ core;core_custom_frame_control;⭐️⭐️⭐️⭐️;4.0;4.0;"Ramon Santamari core;core_smooth_pixelperfect;⭐️⭐️⭐️☆;3.7;4.0;"Giancamillo Alessandroni";@NotManyIdeasDev core;core_random_sequence;⭐️☆☆☆;5.0;5.0;"Dalton Overmyer";@REDl3east core;core_automation_events;⭐️⭐️⭐️☆;5.0;5.0;"Ramon Santamaria";@raysan5 -core;core_high_dpi;⭐️☆☆☆;5.0;5.0;"Jonathan Marler";@marler8997 +core;core_high_dpi;⭐️⭐️☆☆;5.0;5.0;"Jonathan Marler";@marler8997 shapes;shapes_basic_shapes;⭐️☆☆☆;1.0;4.2;"Ramon Santamaria";@raysan5 shapes;shapes_bouncing_ball;⭐️☆☆☆;2.5;2.5;"Ramon Santamaria";@raysan5 shapes;shapes_colors_palette;⭐️⭐️☆☆;1.0;2.5;"Ramon Santamaria";@raysan5 @@ -60,7 +60,7 @@ shapes;shapes_draw_rectangle_rounded;⭐️⭐️⭐️☆;2.5;2.5;"Vlad Adrian" shapes;shapes_top_down_lights;⭐️⭐️⭐️⭐️;4.2;4.2;"Jeffery Myers";@JeffM2501 shapes;shapes_rectangle_advanced;⭐️⭐️⭐️⭐️;5.5;5.5;"Everton Jr.";@evertonse shapes;shapes_splines_drawing;⭐️⭐️⭐️☆;5.0;5.0;"Ramon Santamaria";@raysan5 -shapes;shapes_digital_clock;⭐️⭐️☆☆;5.5;5.5;"Hamza RAHAL";@rhmz-rhl +shapes;shapes_digital_clock;⭐️⭐️☆☆;5.5;5.6;"Hamza RAHAL";@rhmz-rhl shapes;shapes_double_pendulum;⭐️⭐️☆☆;5.5;5.5;"JoeCheong";@Joecheong2006 textures;textures_logo_raylib;⭐️☆☆☆;1.0;1.0;"Ramon Santamaria";@raysan5 textures;textures_srcrec_dstrec;⭐️⭐️⭐️☆;1.3;1.3;"Ramon Santamaria";@raysan5 diff --git a/examples/models/models_loading_m3d.c b/examples/models/models_loading_m3d.c index 9851e3cbf..e8c779de8 100644 --- a/examples/models/models_loading_m3d.c +++ b/examples/models/models_loading_m3d.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [models] example - model loading m3d +* raylib [models] example - models loading m3d * * Example complexity rating: [★★☆☆] 2/4 * @@ -31,7 +31,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [models] example - model loading m3d"); + InitWindow(screenWidth, screenHeight, "raylib [models] example - models loading m3d"); // Define the camera to look into our 3d world Camera camera = { 0 }; diff --git a/examples/shapes/shapes_digital_clock.c b/examples/shapes/shapes_digital_clock.c index 20c43ed7b..82b8ee6bd 100644 --- a/examples/shapes/shapes_digital_clock.c +++ b/examples/shapes/shapes_digital_clock.c @@ -4,7 +4,7 @@ * * Example complexity rating: [★★☆☆] 2/4 * -* Example originally created with raylib 5.5, last time updated with raylib 5.5 +* Example originally created with raylib 5.5, last time updated with raylib 5.6-dev * * Example contributed by Hamza RAHAL (@hmz-rhl) and reviewed by Ramon Santamaria (@raysan5) * diff --git a/examples/text/resources/shaders/glsl120/alpha_discard.fs b/examples/text/resources/shaders/glsl120/alpha_discard.fs new file mode 100644 index 000000000..345d99181 --- /dev/null +++ b/examples/text/resources/shaders/glsl120/alpha_discard.fs @@ -0,0 +1,18 @@ +#version 120 + +// Input vertex attributes (from vertex shader) +varying vec2 fragTexCoord; +varying vec4 fragColor; + +// Input uniform values +uniform sampler2D texture0; +uniform vec4 colDiffuse; + +void main() +{ + vec4 texelColor = texture2D(texture0, fragTexCoord); + + if (texelColor.a == 0.0) discard; + + gl_FragColor = texelColor*fragColor*colDiffuse; +} diff --git a/examples/text/resources/shaders/glsl120/sdf.fs b/examples/text/resources/shaders/glsl120/sdf.fs new file mode 100644 index 000000000..2d99f20ed --- /dev/null +++ b/examples/text/resources/shaders/glsl120/sdf.fs @@ -0,0 +1,23 @@ +#version 120 + +// Input vertex attributes (from vertex shader) +varying vec2 fragTexCoord; +varying vec4 fragColor; + +// Input uniform values +uniform sampler2D texture0; +uniform vec4 colDiffuse; + +// NOTE: Add your custom variables here +const float smoothing = 1.0/16.0; + +void main() +{ + // Texel color fetching from texture sampler + // NOTE: Calculate alpha using signed distance field (SDF) + float distance = texture2D(texture0, fragTexCoord).a; + float alpha = smoothstep(0.5 - smoothing, 0.5 + smoothing, distance); + + // Calculate final fragment color + gl_FragColor = vec4(fragColor.rgb, fragColor.a*alpha); +} diff --git a/examples/text/text_unicode_ranges.c b/examples/text/text_unicode_ranges.c index 4c887f3f8..bf6f21c0a 100644 --- a/examples/text/text_unicode_ranges.c +++ b/examples/text/text_unicode_ranges.c @@ -17,7 +17,7 @@ #include "raylib.h" -#include +#include // Required for: calloc(), free() //-------------------------------------------------------------------------------------- // Module Functions Declaration @@ -199,5 +199,6 @@ static void AddCodepointRange(Font *font, const char *fontPath, int start, int s UnloadFont(*font); *font = LoadFontEx(fontPath, 32, updatedCodepoints, updatedCodepointCount); + RL_FREE(updatedCodepoints); } diff --git a/tools/rexm/examples_report.md b/tools/rexm/examples_report.md index ef7c6f9c2..958eff304 100644 --- a/tools/rexm/examples_report.md +++ b/tools/rexm/examples_report.md @@ -105,14 +105,14 @@ Example elements validated: | text_font_spritefont | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_font_filters | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_font_loading | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| text_font_sdf | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| text_font_sdf | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_format_text | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_input_box | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_writing_anim | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_rectangle_bounds | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_unicode_emojis | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_unicode_ranges | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| text_3d_drawing | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| text_3d_drawing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_codepoints_loading | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_animation | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_billboard_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | diff --git a/tools/rexm/examples_report_issues.md b/tools/rexm/examples_report_issues.md index 599bd74f2..a41286953 100644 --- a/tools/rexm/examples_report_issues.md +++ b/tools/rexm/examples_report_issues.md @@ -23,9 +23,7 @@ Example elements validated: | core_input_virtual_controls | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_high_dpi | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_digital_clock | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| text_font_sdf | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_unicode_ranges | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| text_3d_drawing | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_codepoints_loading | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_loading_m3d | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_texture_outline | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | From 91bc8d9b10407bc6446ba722707c0c887d7744b9 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 18:57:32 +0200 Subject: [PATCH 023/125] REXM: Remove duplicate entries on examples list on Update process --- tools/rexm/rexm.c | 42 ++++++++++++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index 756cebe6d..3ef0187d8 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -168,7 +168,7 @@ static void ClearExampleResources(char **resPaths); // Add/remove VS project (.vcxproj) tofrom existing VS solution (.sln) static int AddVSProjectToSolution(const char *projFile, const char *slnFile, const char *category); -//static int RemoveVSProjectFromSolution(const char *projFile, const char *slnFile, const char *category); +static int RemoveVSProjectFromSolution(const char *projFile, const char *slnFile, const char *category); // Generate unique UUID v4 string // Output format: {9A2F48CC-0DA8-47C0-884E-02E37F9BE6C1} @@ -770,11 +770,8 @@ int main(int argc, char *argv[]) FileRemove(TextFormat("%s/../projects/VS2022/examples/%s.vcxproj", exBasePath, exName)); // Edit: raylib/projects/VS2022/raylib.sln --> Remove example project - //--------------------------------------------------------------------------- - // TODO: Remove project from solution - //RemoveVSProjectFromSolution(TextFormat("%s/../projects/VS2022/examples/%s.vcxproj", exBasePath, exName), - // TextFormat("%s/../projects/VS2022/raylib.sln", exBasePath)); - //--------------------------------------------------------------------------- + RemoveVSProjectFromSolution(TextFormat("%s/../projects/VS2022/examples/%s.vcxproj", exBasePath, exName), + TextFormat("%s/../projects/VS2022/raylib.sln", exBasePath), exCategory); // Remove: raylib.com/examples//_example_name.html // Remove: raylib.com/examples//_example_name.data @@ -819,6 +816,22 @@ int main(int argc, char *argv[]) int exListLen = (int)strlen(exList); strcpy(exListUpdated, exList); + // Copy examples list into an update list + // NOTE: Checking and removing duplicate entries + int lineCount = 0; + char **exListLines = LoadTextLines(exList, &lineCount); + int exListUpdatedOffset = 0; + exListUpdatedOffset = sprintf(exListUpdated, "%s\n", exListLines[0]); + + for (int i = 1; i < lineCount; i++) + { + if ((TextFindIndex(exListUpdated, exListLines[i]) == -1) || (exListLines[i][0] == '#')) + exListUpdatedOffset += sprintf(exListUpdated + exListUpdatedOffset, "%s\n", exListLines[i]); + else listUpdated = true; + } + + UnloadTextLines(exListLines); + for (unsigned int i = 0; i < list.count; i++) { if ((strcmp("examples_template", GetFileNameWithoutExt(list.paths[i])) != 0) && // HACK: Skip "examples_template" @@ -859,8 +872,6 @@ int main(int argc, char *argv[]) int exCollectionCount = 0; rlExampleInfo *exCollection = LoadExamplesData(exCollectionFilePath, "ALL", false, &exCollectionCount); - // TODO: Validate: Check duplicate entries in collection list? - // Set status information for all examples, using "status" field in the struct for (int i = 0; i < exCollectionCount; i++) { @@ -2149,6 +2160,16 @@ static int AddVSProjectToSolution(const char *projFile, const char *slnFile, con return result; } +// Remove VS project (.vcxproj) to existing VS solution (.sln) +static int RemoveVSProjectFromSolution(const char *projFile, const char *slnFile, const char *category) +{ + int result = 0; + + // TODO: Remove project from solution file + + return result; +} + // Generate unique UUID v4 string // Output format: {9A2F48CC-0DA8-47C0-884E-02E37F9BE6C1} static const char *GenerateUUIDv4(void) @@ -2188,6 +2209,8 @@ static void UpdateSourceMetadata(const char *exSrcPath, const rlExampleInfo *inf char exDescription[256] = { 0 }; // Example description: example text line #3 char exTitle[64] = { 0 }; // Example title: fileName without extension, replacing underscores by spaces + // TODO: Update source code metadata + // Update example header title (line #3 - ALWAYS) // String: "* raylib [shaders] example - texture drawing" @@ -2305,12 +2328,11 @@ static void UpdateWebMetadata(const char *exHtmlPath, const char *exFilePath) } } - // Get text between two strings // NOTE: Using static string to return result, MAX: 1024 bytes static char *GetTextBetween(const char *text, const char *begin, const char *end) { -#define MAX_TEXT_BETWEEN_SIZE 1024 + #define MAX_TEXT_BETWEEN_SIZE 1024 static char between[MAX_TEXT_BETWEEN_SIZE] = { 0 }; memset(between, 0, MAX_TEXT_BETWEEN_SIZE); From a51cb7fe3039b6d67e2f2d893aaf129a9a6bbe31 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 19:15:37 +0200 Subject: [PATCH 024/125] REXM: Updated some examples inconsistencies --- examples/README.md | 8 +++---- examples/audio/audio_music_stream.c | 2 +- examples/core/core_high_dpi.c | 2 +- examples/core/core_input_virtual_controls.c | 2 +- examples/examples_list.txt | 8 +++---- examples/others/easings_testbed.c | 4 ++-- examples/others/raylib_opengl_interop.c | 2 +- .../shaders/glsl120/point_particle.fs | 14 +++++++++++ .../shaders/glsl120/point_particle.vs | 24 +++++++++++++++++++ examples/others/rlgl_compute_shader.c | 6 ++--- examples/others/rlgl_standalone.c | 4 ++-- examples/shaders/shaders_texture_outline.c | 4 ++-- examples/text/text_codepoints_loading.c | 2 +- examples/text/text_unicode_ranges.c | 2 +- tools/rexm/examples_report.md | 18 +++++++------- tools/rexm/examples_report_issues.md | 10 +------- 16 files changed, 71 insertions(+), 41 deletions(-) create mode 100644 examples/others/resources/shaders/glsl120/point_particle.fs create mode 100644 examples/others/resources/shaders/glsl120/point_particle.vs diff --git a/examples/README.md b/examples/README.md index f1d011ccf..24f27f276 100644 --- a/examples/README.md +++ b/examples/README.md @@ -58,7 +58,7 @@ Examples using raylib[core](../src/rcore.c) platform functionality like window c | [core_smooth_pixelperfect](core/core_smooth_pixelperfect.c) | core_smooth_pixelperfect | ⭐⭐⭐☆ | 3.7 | 4.0 | [Giancamillo Alessandroni](https://github.com/NotManyIdeasDev) | | [core_random_sequence](core/core_random_sequence.c) | core_random_sequence | ⭐☆☆☆ | 5.0 | 5.0 | [Dalton Overmyer](https://github.com/REDl3east) | | [core_automation_events](core/core_automation_events.c) | core_automation_events | ⭐⭐⭐☆ | 5.0 | 5.0 | [Ramon Santamaria](https://github.com/raysan5) | -| [core_high_dpi](core/core_high_dpi.c) | core_high_dpi | ⭐⭐☆☆ | 5.0 | 5.0 | [Jonathan Marler](https://github.com/marler8997) | +| [core_high_dpi](core/core_high_dpi.c) | core_high_dpi | ⭐⭐☆☆ | 5.0 | 5.5 | [Jonathan Marler](https://github.com/marler8997) | ### category: shapes [20] @@ -84,7 +84,7 @@ Examples using raylib shapes drawing functionality, provided by raylib [shapes]( | [shapes_top_down_lights](shapes/shapes_top_down_lights.c) | shapes_top_down_lights | ⭐⭐⭐⭐️ | 4.2 | 4.2 | [Jeffery Myers](https://github.com/JeffM2501) | | [shapes_rectangle_advanced](shapes/shapes_rectangle_advanced.c) | shapes_rectangle_advanced | ⭐⭐⭐⭐️ | 5.5 | 5.5 | [Everton Jr.](https://github.com/evertonse) | | [shapes_splines_drawing](shapes/shapes_splines_drawing.c) | shapes_splines_drawing | ⭐⭐⭐☆ | 5.0 | 5.0 | [Ramon Santamaria](https://github.com/raysan5) | -| [shapes_digital_clock](shapes/shapes_digital_clock.c) | shapes_digital_clock | ⭐⭐☆☆ | 5.5 | 5.6 | [Hamza RAHAL](https://github.com/rhmz-rhl) | +| [shapes_digital_clock](shapes/shapes_digital_clock.c) | shapes_digital_clock | ⭐⭐☆☆ | 5.5 | 5.6 | [Hamza RAHAL](https://github.com/hmz-rhl) | | [shapes_double_pendulum](shapes/shapes_double_pendulum.c) | shapes_double_pendulum | ⭐⭐☆☆ | 5.5 | 5.5 | [JoeCheong](https://github.com/Joecheong2006) | ### category: textures [26] @@ -157,7 +157,7 @@ Examples using raylib models functionality, including models loading/generation | [models_loading](models/models_loading.c) | models_loading | ⭐☆☆☆ | 2.0 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | | [models_loading_gltf](models/models_loading_gltf.c) | models_loading_gltf | ⭐☆☆☆ | 3.7 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | | [models_loading_vox](models/models_loading_vox.c) | models_loading_vox | ⭐☆☆☆ | 4.0 | 4.0 | [Johann Nadalutti](https://github.com/procfxgen) | -| [models_loading_m3d](models/models_loading_m3d.c) | models_loading_m3d | ⭐⭐☆☆ | 4.5 | 4.5 | [bzt](https://github.com/model3d) | +| [models_loading_m3d](models/models_loading_m3d.c) | models_loading_m3d | ⭐⭐☆☆ | 4.5 | 4.5 | [bzt](https://github.com/bztsrc) | | [models_orthographic_projection](models/models_orthographic_projection.c) | models_orthographic_projection | ⭐☆☆☆ | 2.0 | 3.7 | [Max Danielsson](https://github.com/autious) | | [models_point_rendering](models/models_point_rendering.c) | models_point_rendering | ⭐⭐⭐☆ | 5.0 | 5.0 | [Reese Gallagher](https://github.com/satchelfrost) | | [models_rlgl_solar_system](models/models_rlgl_solar_system.c) | models_rlgl_solar_system | ⭐⭐⭐⭐️ | 2.5 | 4.0 | [Ramon Santamaria](https://github.com/raysan5) | @@ -184,7 +184,7 @@ Examples using raylib shaders functionality, including shaders loading, paramete | [shaders_palette_switch](shaders/shaders_palette_switch.c) | shaders_palette_switch | ⭐⭐⭐☆ | 2.5 | 3.7 | [Marco Lizza](https://github.com/MarcoLizza) | | [shaders_raymarching](shaders/shaders_raymarching.c) | shaders_raymarching | ⭐⭐⭐⭐️ | 2.0 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | | [shaders_texture_rendering](shaders/shaders_texture_rendering.c) | shaders_texture_rendering | ⭐⭐☆☆ | 2.0 | 3.7 | [Michał Ciesielski](https://github.com/ciessielski) | -| [shaders_texture_outline](shaders/shaders_texture_outline.c) | shaders_texture_outline | ⭐⭐⭐☆ | 4.0 | 4.0 | [Samuel Skiff](https://github.com/GoldenThumbs) | +| [shaders_texture_outline](shaders/shaders_texture_outline.c) | shaders_texture_outline | ⭐⭐⭐☆ | 4.0 | 4.0 | [Serenity Skiff](https://github.com/GoldenThumbs) | | [shaders_texture_waves](shaders/shaders_texture_waves.c) | shaders_texture_waves | ⭐⭐☆☆ | 2.5 | 3.7 | [Anata](https://github.com/anatagawa) | | [shaders_julia_set](shaders/shaders_julia_set.c) | shaders_julia_set | ⭐⭐⭐☆ | 2.5 | 4.0 | [Josh Colclough](https://github.com/joshcol9232) | | [shaders_eratosthenes](shaders/shaders_eratosthenes.c) | shaders_eratosthenes | ⭐⭐⭐☆ | 2.5 | 4.0 | [ProfJski](https://github.com/ProfJski) | diff --git a/examples/audio/audio_music_stream.c b/examples/audio/audio_music_stream.c index fe4590463..bfe99c575 100644 --- a/examples/audio/audio_music_stream.c +++ b/examples/audio/audio_music_stream.c @@ -4,7 +4,7 @@ * * Example complexity rating: [★☆☆☆] 1/4 * -* Example originally created with raylib 1.3, last time updated with raylib 4.0 +* Example originally created with raylib 1.3, last time updated with raylib 4.2 * * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software diff --git a/examples/core/core_high_dpi.c b/examples/core/core_high_dpi.c index 346e41993..312f0c3e2 100644 --- a/examples/core/core_high_dpi.c +++ b/examples/core/core_high_dpi.c @@ -4,7 +4,7 @@ * * Example complexity rating: [★★☆☆] 2/4 * -* Example originally created with raylib 5.5-dev, last time updated with raylib 5.6-dev +* Example originally created with raylib 5.0, last time updated with raylib 5.5 * * Example contributed by Jonathan Marler (@marler8997) and reviewed by Ramon Santamaria (@raysan5) * diff --git a/examples/core/core_input_virtual_controls.c b/examples/core/core_input_virtual_controls.c index 0f4553eac..006629a2a 100644 --- a/examples/core/core_input_virtual_controls.c +++ b/examples/core/core_input_virtual_controls.c @@ -2,7 +2,7 @@ * * raylib [core] example - input virtual controls * -* Example complexity rating: [★★★☆] 3/4 +* Example complexity rating: [★★☆☆] 3/4 * * Example originally created with raylib 5.0, last time updated with raylib 5.0 * diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 2450f46ac..92381a121 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -41,7 +41,7 @@ core;core_custom_frame_control;⭐️⭐️⭐️⭐️;4.0;4.0;"Ramon Santamari core;core_smooth_pixelperfect;⭐️⭐️⭐️☆;3.7;4.0;"Giancamillo Alessandroni";@NotManyIdeasDev core;core_random_sequence;⭐️☆☆☆;5.0;5.0;"Dalton Overmyer";@REDl3east core;core_automation_events;⭐️⭐️⭐️☆;5.0;5.0;"Ramon Santamaria";@raysan5 -core;core_high_dpi;⭐️⭐️☆☆;5.0;5.0;"Jonathan Marler";@marler8997 +core;core_high_dpi;⭐️⭐️☆☆;5.0;5.5;"Jonathan Marler";@marler8997 shapes;shapes_basic_shapes;⭐️☆☆☆;1.0;4.2;"Ramon Santamaria";@raysan5 shapes;shapes_bouncing_ball;⭐️☆☆☆;2.5;2.5;"Ramon Santamaria";@raysan5 shapes;shapes_colors_palette;⭐️⭐️☆☆;1.0;2.5;"Ramon Santamaria";@raysan5 @@ -60,7 +60,7 @@ shapes;shapes_draw_rectangle_rounded;⭐️⭐️⭐️☆;2.5;2.5;"Vlad Adrian" shapes;shapes_top_down_lights;⭐️⭐️⭐️⭐️;4.2;4.2;"Jeffery Myers";@JeffM2501 shapes;shapes_rectangle_advanced;⭐️⭐️⭐️⭐️;5.5;5.5;"Everton Jr.";@evertonse shapes;shapes_splines_drawing;⭐️⭐️⭐️☆;5.0;5.0;"Ramon Santamaria";@raysan5 -shapes;shapes_digital_clock;⭐️⭐️☆☆;5.5;5.6;"Hamza RAHAL";@rhmz-rhl +shapes;shapes_digital_clock;⭐️⭐️☆☆;5.5;5.6;"Hamza RAHAL";@hmz-rhl shapes;shapes_double_pendulum;⭐️⭐️☆☆;5.5;5.5;"JoeCheong";@Joecheong2006 textures;textures_logo_raylib;⭐️☆☆☆;1.0;1.0;"Ramon Santamaria";@raysan5 textures;textures_srcrec_dstrec;⭐️⭐️⭐️☆;1.3;1.3;"Ramon Santamaria";@raysan5 @@ -112,7 +112,7 @@ models;models_mesh_picking;⭐️⭐️⭐️☆;1.7;4.0;"Joel Davis";@joeld42 models;models_loading;⭐️☆☆☆;2.0;4.2;"Ramon Santamaria";@raysan5 models;models_loading_gltf;⭐️☆☆☆;3.7;4.2;"Ramon Santamaria";@raysan5 models;models_loading_vox;⭐️☆☆☆;4.0;4.0;"Johann Nadalutti";@procfxgen -models;models_loading_m3d;⭐️⭐️☆☆;4.5;4.5;"bzt";@model3d +models;models_loading_m3d;⭐️⭐️☆☆;4.5;4.5;"bzt";@bztsrc models;models_orthographic_projection;⭐️☆☆☆;2.0;3.7;"Max Danielsson";@autious models;models_point_rendering;⭐️⭐️⭐️☆;5.0;5.0;"Reese Gallagher";@satchelfrost models;models_rlgl_solar_system;⭐️⭐️⭐️⭐️;2.5;4.0;"Ramon Santamaria";@raysan5 @@ -132,7 +132,7 @@ shaders;shaders_postprocessing;⭐️⭐️⭐️☆;1.3;4.0;"Ramon Santamaria"; shaders;shaders_palette_switch;⭐️⭐️⭐️☆;2.5;3.7;"Marco Lizza";@MarcoLizza shaders;shaders_raymarching;⭐️⭐️⭐️⭐️;2.0;4.2;"Ramon Santamaria";@raysan5 shaders;shaders_texture_rendering;⭐️⭐️☆☆;2.0;3.7;"Michał Ciesielski";@ciessielski -shaders;shaders_texture_outline;⭐️⭐️⭐️☆;4.0;4.0;"Samuel Skiff";@GoldenThumbs +shaders;shaders_texture_outline;⭐️⭐️⭐️☆;4.0;4.0;"Serenity Skiff";@GoldenThumbs shaders;shaders_texture_waves;⭐️⭐️☆☆;2.5;3.7;"Anata";@anatagawa shaders;shaders_julia_set;⭐️⭐️⭐️☆;2.5;4.0;"Josh Colclough";@joshcol9232 shaders;shaders_eratosthenes;⭐️⭐️⭐️☆;2.5;4.0;"ProfJski";@ProfJski diff --git a/examples/others/easings_testbed.c b/examples/others/easings_testbed.c index fb3175711..b3ff8a8df 100644 --- a/examples/others/easings_testbed.c +++ b/examples/others/easings_testbed.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [easings] example - easings testbed +* raylib [others] example - easings testbed * * Example originally created with raylib 2.5, last time updated with raylib 2.5 * @@ -108,7 +108,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [easings] example - easings testbed"); + InitWindow(screenWidth, screenHeight, "raylib [others] example - easings testbed"); Vector2 ballPosition = { 100.0f, 100.0f }; diff --git a/examples/others/raylib_opengl_interop.c b/examples/others/raylib_opengl_interop.c index 02aedc533..540a623ab 100644 --- a/examples/others/raylib_opengl_interop.c +++ b/examples/others/raylib_opengl_interop.c @@ -4,7 +4,7 @@ * * Example complexity rating: [★★★★] 4/4 * -* Example originally created with raylib 3.8, last time updated with raylib 2.5 +* Example originally created with raylib 3.8, last time updated with raylib 4.0 * * Example contributed by Stephan Soller (@arkanis) and reviewed by Ramon Santamaria (@raysan5) * diff --git a/examples/others/resources/shaders/glsl120/point_particle.fs b/examples/others/resources/shaders/glsl120/point_particle.fs new file mode 100644 index 000000000..a3998bc46 --- /dev/null +++ b/examples/others/resources/shaders/glsl120/point_particle.fs @@ -0,0 +1,14 @@ +#version 120 + +// Input uniform values +uniform vec4 color; + +// NOTE: Add your custom variables here + +void main() +{ + // Each point is drawn as a screen space square of gl_PointSize size. gl_PointCoord contains where we are inside of + // it. (0, 0) is the top left, (1, 1) the bottom right corner + // Draw each point as a colored circle with alpha 1.0 in the center and 0.0 at the outer edges + gl_FragColor = vec4(color.rgb, color.a*(1.0 - length(gl_PointCoord.xy - vec2(0.5))*2.0)); +} \ No newline at end of file diff --git a/examples/others/resources/shaders/glsl120/point_particle.vs b/examples/others/resources/shaders/glsl120/point_particle.vs new file mode 100644 index 000000000..374f24a59 --- /dev/null +++ b/examples/others/resources/shaders/glsl120/point_particle.vs @@ -0,0 +1,24 @@ +#version 120 + +// Input vertex attributes +attribute vec3 vertexPosition; + +// Input uniform values +uniform mat4 mvp; +uniform float currentTime; + +// NOTE: Add your custom variables here + +void main() +{ + // Unpack data from vertexPosition + vec2 pos = vertexPosition.xy; + float period = vertexPosition.z; + + // Calculate final vertex position (jiggle it around a bit horizontally) + pos += vec2(100.0, 0.0)*sin(period*currentTime); + gl_Position = mvp*vec4(pos.x, pos.y, 0.0, 1.0); + + // Calculate the screen space size of this particle (also vary it over time) + gl_PointSize = 10.0 - 5.0*abs(sin(period*currentTime)); +} \ No newline at end of file diff --git a/examples/others/rlgl_compute_shader.c b/examples/others/rlgl_compute_shader.c index 2b17b5eaa..e62f5abc0 100644 --- a/examples/others/rlgl_compute_shader.c +++ b/examples/others/rlgl_compute_shader.c @@ -1,13 +1,13 @@ /******************************************************************************************* * -* raylib [rlgl] example - compute shader - game of life +* raylib [others] example - compute shader - game of life * * NOTE: This example requires raylib OpenGL 4.3 versions for compute shaders support, * shaders used in this example are #version 430 (OpenGL 4.3) * * Example complexity rating: [★★★★] 4/4 * -* Example originally created with raylib 4.0, last time updated with raylib 2.5 +* Example originally created with raylib 4.0, last time updated with raylib 4.0 * * Example contributed by Teddy Astie (@tsnake41) and reviewed by Ramon Santamaria (@raysan5) * @@ -57,7 +57,7 @@ int main(void) const int screenWidth = GOL_WIDTH; const int screenHeight = GOL_WIDTH; - InitWindow(screenWidth, screenHeight, "raylib [rlgl] example - compute shader - game of life"); + InitWindow(screenWidth, screenHeight, "raylib [others] example - compute shader - game of life"); const Vector2 resolution = { screenWidth, screenHeight }; unsigned int brushSize = 8; diff --git a/examples/others/rlgl_standalone.c b/examples/others/rlgl_standalone.c index 288f06419..a022863fe 100644 --- a/examples/others/rlgl_standalone.c +++ b/examples/others/rlgl_standalone.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [rlgl] example - Using rlgl module as standalone module +* raylib [others] example - Using rlgl module as standalone module * * rlgl library is an abstraction layer for multiple OpenGL versions (1.1, 2.1, 3.3 Core, ES 2.0) * that provides a pseudo-OpenGL 1.1 immediate-mode style API (rlVertex, rlTranslate, rlRotate...) @@ -147,7 +147,7 @@ int main(void) glfwWindowHint( GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE ); #endif - GLFWwindow *window = glfwCreateWindow(screenWidth, screenHeight, "rlgl standalone", NULL, NULL); + GLFWwindow *window = glfwCreateWindow(screenWidth, screenHeight, "raylib [others] example - rlgl standalone", NULL, NULL); if (!window) { diff --git a/examples/shaders/shaders_texture_outline.c b/examples/shaders/shaders_texture_outline.c index d7a3a1a07..7d3161195 100644 --- a/examples/shaders/shaders_texture_outline.c +++ b/examples/shaders/shaders_texture_outline.c @@ -9,12 +9,12 @@ * * Example originally created with raylib 4.0, last time updated with raylib 4.0 * -* Example contributed by Samuel Skiff (@GoldenThumbs) and reviewed by Ramon Santamaria (@raysan5) +* Example contributed by Serenity Skiff (@GoldenThumbs) and reviewed by Ramon Santamaria (@raysan5) * * Example 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) 2021-2025 Samuel SKiff (@GoldenThumbs) and Ramon Santamaria (@raysan5) +* Copyright (c) 2021-2025 Serenity Skiff (@GoldenThumbs) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/text/text_codepoints_loading.c b/examples/text/text_codepoints_loading.c index 7f8b1ef3a..1cd82d60e 100644 --- a/examples/text/text_codepoints_loading.c +++ b/examples/text/text_codepoints_loading.c @@ -4,7 +4,7 @@ * * Example complexity rating: [★★★☆] 3/4 * -* Example originally created with raylib 4.2, last time updated with raylib 2.5 +* Example originally created with raylib 4.2, last time updated with raylib 4.2 * * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software diff --git a/examples/text/text_unicode_ranges.c b/examples/text/text_unicode_ranges.c index bf6f21c0a..90853942b 100644 --- a/examples/text/text_unicode_ranges.c +++ b/examples/text/text_unicode_ranges.c @@ -4,7 +4,7 @@ * * Example complexity rating: [★★★★] 4/4 * -* Example originally created with raylib 2.5, last time updated with raylib 4.0 +* Example originally created with raylib 5.5, last time updated with raylib 5.6 * * Example contributed by Vlad Adrian (@demizdor) and reviewed by Ramon Santamaria (@raysan5) * diff --git a/tools/rexm/examples_report.md b/tools/rexm/examples_report.md index 958eff304..9537449a5 100644 --- a/tools/rexm/examples_report.md +++ b/tools/rexm/examples_report.md @@ -28,7 +28,7 @@ Example elements validated: | core_input_multitouch | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_input_gestures | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_input_gestures_testbed | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| core_input_virtual_controls | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| core_input_virtual_controls | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_2d_camera | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_2d_camera_mouse_zoom | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_2d_camera_platformer | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -54,7 +54,7 @@ Example elements validated: | core_smooth_pixelperfect | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_random_sequence | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_automation_events | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| core_high_dpi | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| core_high_dpi | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_basic_shapes | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_bouncing_ball | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_colors_palette | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -73,7 +73,7 @@ Example elements validated: | shapes_top_down_lights | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_rectangle_advanced | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_splines_drawing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shapes_digital_clock | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shapes_digital_clock | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_double_pendulum | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | textures_logo_raylib | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | textures_srcrec_dstrec | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -111,9 +111,9 @@ Example elements validated: | text_writing_anim | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_rectangle_bounds | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_unicode_emojis | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| text_unicode_ranges | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| text_unicode_ranges | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_3d_drawing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| text_codepoints_loading | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| text_codepoints_loading | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_animation | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_billboard_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_box_collisions | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -125,7 +125,7 @@ Example elements validated: | models_loading | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_loading_gltf | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_loading_vox | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| models_loading_m3d | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| models_loading_m3d | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_orthographic_projection | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_point_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_rlgl_solar_system | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -145,7 +145,7 @@ Example elements validated: | shaders_palette_switch | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_raymarching | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_texture_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shaders_texture_outline | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shaders_texture_outline | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_texture_waves | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_julia_set | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_eratosthenes | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -167,7 +167,7 @@ Example elements validated: | shaders_rounded_rectangle | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_view_depth | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | audio_module_playing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| audio_music_stream | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| audio_music_stream | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | audio_raw_stream | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | audio_sound_loading | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | audio_mixed_processor | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -177,6 +177,6 @@ Example elements validated: | rlgl_standalone | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | rlgl_compute_shader | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | easings_testbed | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| raylib_opengl_interop | ✔ | ❌ | ❌ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | +| raylib_opengl_interop | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | | embedded_files_loading | ✔ | ❌ | ❌ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | raymath_vector_angle | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | diff --git a/tools/rexm/examples_report_issues.md b/tools/rexm/examples_report_issues.md index a41286953..c9d6a2eb6 100644 --- a/tools/rexm/examples_report_issues.md +++ b/tools/rexm/examples_report_issues.md @@ -20,17 +20,9 @@ Example elements validated: ``` | **EXAMPLE NAME** | [C] | [CAT]| [INFO]|[PNG]|[WPNG]| [RES]| [MK] |[MKWEB]| [VCX]| [SOL]|[RDME]|[JS] | [WOUT]|[WMETA]| |:---------------------------------|:---:|:----:|:-----:|:---:|:----:|:----:|:----:|:-----:|:----:|:----:|:----:|:---:|:-----:|:-----:| -| core_input_virtual_controls | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| core_high_dpi | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shapes_digital_clock | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| text_unicode_ranges | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| text_codepoints_loading | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| models_loading_m3d | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shaders_texture_outline | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| audio_music_stream | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | rlgl_standalone | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | rlgl_compute_shader | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | easings_testbed | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| raylib_opengl_interop | ✔ | ❌ | ❌ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | +| raylib_opengl_interop | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | | embedded_files_loading | ✔ | ❌ | ❌ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | raymath_vector_angle | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | From 8116ebd9bba2ff0e506e9b5edf13e618a1e4ce2b Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 19:15:47 +0200 Subject: [PATCH 025/125] Update rexm.c --- tools/rexm/rexm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index 3ef0187d8..bb3f8a9fe 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -995,7 +995,10 @@ int main(int argc, char *argv[]) (strcmp(exInfo->authorGitHub, exInfoHeader->authorGitHub) != 0) || (exInfo->stars != exInfoHeader->stars) || (exInfo->verCreated != exInfoHeader->verCreated) || - (exInfo->verUpdated != exInfoHeader->verUpdated)) exInfo->status |= VALID_INCONSISTENT_INFO; + (exInfo->verUpdated != exInfoHeader->verUpdated)) + { + exInfo->status |= VALID_INCONSISTENT_INFO; + } UnloadExampleInfo(exInfoHeader); } From 0203a47bf983984589a8d95c4f75d41bee90d596 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 23:25:42 +0200 Subject: [PATCH 026/125] REDESIGNED: `LoadTextLines()`/`UnloadTextLines()` --- src/raylib.h | 2 +- src/rtext.c | 40 +++++++++++++++++++++------------------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index 41bc1926e..5635546e0 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1507,7 +1507,7 @@ RLAPI const char *CodepointToUTF8(int codepoint, int *utf8Size); // WARNING 1: Most of these functions use internal static buffers, it's recommended to store returned data on user-side for re-use // WARNING 2: Some strings allocate memory internally for the returned strings, those strings must be free by user using MemFree() RLAPI char **LoadTextLines(const char *text, int *count); // Load text as separate lines ('\n') -RLAPI void UnloadTextLines(char **text); // Unload text lines +RLAPI void UnloadTextLines(char **text, int lineCount); // Unload text lines RLAPI int TextCopy(char *dst, const char *src); // Copy one string to another, returns bytes copied RLAPI bool TextIsEqual(const char *text1, const char *text2); // Check if two text string are equal RLAPI unsigned int TextLength(const char *text); // Get text length, checks for '\0' ending diff --git a/src/rtext.c b/src/rtext.c index c6078d7cb..f34606bc1 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -1448,36 +1448,38 @@ Rectangle GetGlyphAtlasRec(Font font, int codepoint) // Text strings management functions //---------------------------------------------------------------------------------- // Load text as separate lines ('\n') -// WARNING: There is a limit set for number of lines and line-size +// NOTE: Returned lines end with null terminator '\0' char **LoadTextLines(const char *text, int *count) { - #define MAX_TEXTLINES_COUNT 512 - #define MAX_TEXTLINES_LINE_LEN 512 + int lineCount = 1; + int textSize = strlen(text); - char **lines = (char **)RL_CALLOC(MAX_TEXTLINES_COUNT, sizeof(char *)); - for (int i = 0; i < MAX_TEXTLINES_COUNT; i++) lines[i] = (char *)RL_CALLOC(MAX_TEXTLINES_LINE_LEN, 1); - int textSize = (int)strlen(text); - int k = 0; - - for (int i = 0, len = 0; (i < textSize) && (k < MAX_TEXTLINES_COUNT); i++) + // Text pass to get required line count + for (int i = 0; i < textSize; i++) { - if ((text[i] == '\n') || (len == (MAX_TEXTLINES_LINE_LEN - 1))) - { - strncpy(lines[k], &text[i - len], len); - len = 0; - k++; - } - else len++; + if (text[i] == '\n') lineCount++; } - *count += k; + char **lines = (char **)RL_CALLOC(lineCount, sizeof(char *)); + for (int i = 0, l = 0, lineLen = 0; i < lineCount; i++, lineLen++) + { + if (text[i] == '\n') + { + lines[l] = (char *)RL_CALLOC(lineLen + 1, 1); + strncpy(lines[l], &text[i - lineLen], lineLen); + lineLen = 0; + l++; + } + } + + *count = lineCount; return lines; } // Unload text lines -void UnloadTextLines(char **lines) +void UnloadTextLines(char **lines, int lineCount) { - for (int i = 0; i < MAX_TEXTLINES_COUNT; i++) RL_FREE(lines[i]); + for (int i = 0; i < lineCount; i++) RL_FREE(lines[i]); RL_FREE(lines); } From 55a1c58b64c41618bde9ab985dc576cb0529508c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 4 Sep 2025 21:26:00 +0000 Subject: [PATCH 027/125] Update raylib_api.* by CI --- tools/parser/output/raylib_api.json | 4 ++++ tools/parser/output/raylib_api.lua | 3 ++- tools/parser/output/raylib_api.txt | 3 ++- tools/parser/output/raylib_api.xml | 3 ++- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/tools/parser/output/raylib_api.json b/tools/parser/output/raylib_api.json index 4ce190714..58ba0be01 100644 --- a/tools/parser/output/raylib_api.json +++ b/tools/parser/output/raylib_api.json @@ -9632,6 +9632,10 @@ { "type": "char **", "name": "text" + }, + { + "type": "int", + "name": "lineCount" } ] }, diff --git a/tools/parser/output/raylib_api.lua b/tools/parser/output/raylib_api.lua index e52fda62d..2a385b237 100644 --- a/tools/parser/output/raylib_api.lua +++ b/tools/parser/output/raylib_api.lua @@ -6860,7 +6860,8 @@ return { description = "Unload text lines", returnType = "void", params = { - {type = "char **", name = "text"} + {type = "char **", name = "text"}, + {type = "int", name = "lineCount"} } }, { diff --git a/tools/parser/output/raylib_api.txt b/tools/parser/output/raylib_api.txt index b164b7e88..9ff8a7735 100644 --- a/tools/parser/output/raylib_api.txt +++ b/tools/parser/output/raylib_api.txt @@ -3681,11 +3681,12 @@ Function 425: LoadTextLines() (2 input parameters) Description: Load text as separate lines ('\n') Param[1]: text (type: const char *) Param[2]: count (type: int *) -Function 426: UnloadTextLines() (1 input parameters) +Function 426: UnloadTextLines() (2 input parameters) Name: UnloadTextLines Return type: void Description: Unload text lines Param[1]: text (type: char **) + Param[2]: lineCount (type: int) Function 427: TextCopy() (2 input parameters) Name: TextCopy Return type: int diff --git a/tools/parser/output/raylib_api.xml b/tools/parser/output/raylib_api.xml index 43835334d..063119ab5 100644 --- a/tools/parser/output/raylib_api.xml +++ b/tools/parser/output/raylib_api.xml @@ -2440,8 +2440,9 @@ - + + From 51aa8776bbc09ce82cbbee5fae4180c023149f33 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 23:53:26 +0200 Subject: [PATCH 028/125] Update rtext.c --- src/rtext.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/rtext.c b/src/rtext.c index f34606bc1..c1056d22e 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -1461,12 +1461,12 @@ char **LoadTextLines(const char *text, int *count) } char **lines = (char **)RL_CALLOC(lineCount, sizeof(char *)); - for (int i = 0, l = 0, lineLen = 0; i < lineCount; i++, lineLen++) + for (int i = 0, l = 0, lineLen = 0; i <= textSize; i++, lineLen++) { - if (text[i] == '\n') + if ((text[i] == '\n') || (text[i] == '\0')) { lines[l] = (char *)RL_CALLOC(lineLen + 1, 1); - strncpy(lines[l], &text[i - lineLen], lineLen); + strncpy(lines[l], &text[i - lineLen + 1], lineLen - 1); lineLen = 0; l++; } From 43305c4865ff80784228cbfaa7867b26a29c188e Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 23:54:57 +0200 Subject: [PATCH 029/125] REXM: ADDED: `RemoveVSProjectFromSolution()` --- tools/rexm/rexm.c | 73 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 56 insertions(+), 17 deletions(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index bb3f8a9fe..e3cb7f646 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -167,8 +167,8 @@ static char **ScanExampleResources(const char *filePath, int *resPathCount); static void ClearExampleResources(char **resPaths); // Add/remove VS project (.vcxproj) tofrom existing VS solution (.sln) -static int AddVSProjectToSolution(const char *projFile, const char *slnFile, const char *category); -static int RemoveVSProjectFromSolution(const char *projFile, const char *slnFile, const char *category); +static int AddVSProjectToSolution(const char *slnFile, const char *projFile, const char *category); +static int RemoveVSProjectFromSolution(const char *slnFile, const char *exName); // Generate unique UUID v4 string // Output format: {9A2F48CC-0DA8-47C0-884E-02E37F9BE6C1} @@ -563,8 +563,8 @@ int main(int argc, char *argv[]) // Edit: raylib/projects/VS2022/raylib.sln --> Add new example project // WARNING: This function uses TextFormat() extensively inside, // we must store provided file paths because pointers will be overwriten - AddVSProjectToSolution(TextFormat("%s/../projects/VS2022/examples/%s.vcxproj", exBasePath, exName), - exVSProjectSolutionFile, exCategory); + AddVSProjectToSolution(exVSProjectSolutionFile, + TextFormat("%s/../projects/VS2022/examples/%s.vcxproj", exBasePath, exName), exCategory); //------------------------------------------------------------------------------------------------ // Recompile example (on raylib side) @@ -639,7 +639,7 @@ int main(int argc, char *argv[]) FileTextReplace(exCollectionFilePath, TextFormat("%s;%s", exCategory, exName), TextFormat("%s;%s", exRecategory, exRename)); - // TODO: Move example resources from /resources to /resources + // TODO: Move example resources from /resources to /resources // WARNING: Resources can be shared with other examples in the category // Edit: Rename example code file (copy and remove) @@ -684,7 +684,8 @@ int main(int argc, char *argv[]) FileCopy(TextFormat("%s/%s/%s.js", exBasePath, exRecategory, exRename), TextFormat("%s/%s/%s.js", exWebPath, exRecategory, exRename)); - // Create commit with changes (local) + /* + // Create GitHub commit with changes (local) putenv("PATH=%PATH%;C:\\Program Files\\Git\\bin"); ChangeDirectory("C:\\GitHub\\raylib"); system("git --version"); @@ -696,9 +697,9 @@ int main(int argc, char *argv[]) system("git add -A"); result = system(TextFormat("git commit -m \"REXM: RENAME: example: `%s` --> `%s`\"", exName, exRename)); // Commit changes (only tracked files) if (result != 0) LOG("WARNING: Error committing changes\n"); - //result = system("git push"); // Push to the remote (origin, current branch) //if (result != 0) LOG("WARNING: Error pushing changes\n"); + */ } break; case OP_REMOVE: // Remove @@ -770,8 +771,7 @@ int main(int argc, char *argv[]) FileRemove(TextFormat("%s/../projects/VS2022/examples/%s.vcxproj", exBasePath, exName)); // Edit: raylib/projects/VS2022/raylib.sln --> Remove example project - RemoveVSProjectFromSolution(TextFormat("%s/../projects/VS2022/examples/%s.vcxproj", exBasePath, exName), - TextFormat("%s/../projects/VS2022/raylib.sln", exBasePath), exCategory); + RemoveVSProjectFromSolution(TextFormat("%s/../projects/VS2022/raylib.sln", exBasePath), exName); // Remove: raylib.com/examples//_example_name.html // Remove: raylib.com/examples//_example_name.data @@ -830,7 +830,7 @@ int main(int argc, char *argv[]) else listUpdated = true; } - UnloadTextLines(exListLines); + UnloadTextLines(exListLines, lineCount); for (unsigned int i = 0; i < list.count; i++) { @@ -1047,8 +1047,8 @@ int main(int argc, char *argv[]) // Add project (.vcxproj) to raylib solution (.sln) if (exInfo->status & VALID_NOT_IN_VCXSOL) { - AddVSProjectToSolution(TextFormat("%s/../projects/VS2022/examples/%s.vcxproj", exBasePath, exInfo->name), - exVSProjectSolutionFile, exInfo->category); + AddVSProjectToSolution(exVSProjectSolutionFile, + TextFormat("%s/../projects/VS2022/examples/%s.vcxproj", exBasePath, exInfo->name), exInfo->category); exInfo->status &= ~VALID_NOT_IN_VCXSOL; } @@ -1691,7 +1691,7 @@ static rlExampleInfo *LoadExamplesData(const char *fileName, const char *categor } } - UnloadTextLines(lines); + UnloadTextLines(lines, lineCount); UnloadFileText(text); } @@ -2049,7 +2049,7 @@ static void ClearExampleResources(char **resPaths) // - "dotnet" tool (C# projects only) // - "devenv" tool (no adding support, only building) // It must be done manually editing the .sln file -static int AddVSProjectToSolution(const char *projFile, const char *slnFile, const char *category) +static int AddVSProjectToSolution(const char *slnFile, const char *projFile, const char *category) { int result = 0; @@ -2164,11 +2164,50 @@ static int AddVSProjectToSolution(const char *projFile, const char *slnFile, con } // Remove VS project (.vcxproj) to existing VS solution (.sln) -static int RemoveVSProjectFromSolution(const char *projFile, const char *slnFile, const char *category) +static int RemoveVSProjectFromSolution(const char *slnFile, const char *exName) { int result = 0; - // TODO: Remove project from solution file + // Lines to be removed from solution file: + //Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_random_values", "examples\core_random_values.vcxproj", "{B332DCA8-3599-4A99-917A-82261BDC27AC}" + //EndProject + // All lines starting with: + //"\t\t{B332DCA8-3599-4A99-917A-82261BDC27AC}." + + char *slnText = LoadFileText(slnFile); + char *slnTextUpdated = (char *)RL_CALLOC(REXM_MAX_BUFFER_SIZE, 1); + + int lineCount = 0; + char **lines = LoadTextLines(slnText, &lineCount); // WARNING: Max 512 lines, we need +4000! + + char uuid[38] = { 0 }; + strcpy(uuid, "ABCDEF00-0123-4567-89AB-000000000012"); // Temp value + int textUpdatedOfsset = 0; + int exNameLen = strlen(exName); + + for (int i = 0, index = 0; i < lineCount; i++) + { + index = TextFindIndex(lines[i], exName); + if (index > 0) + { + // Found line with project --> get UUID + strncpy(uuid, lines[i] + index + exNameLen*2 + 26, 36); + + // Skip copying line and also next one + i++; + } + else + { + if (TextFindIndex(lines[i], uuid) == -1) + textUpdatedOfsset += sprintf(slnTextUpdated + textUpdatedOfsset, "%s\n", lines[i]); + } + } + + SaveFileText(slnFile, slnTextUpdated); + + UnloadTextLines(lines, lineCount); + UnloadFileText(slnText); + RL_FREE(slnTextUpdated); return result; } @@ -2303,7 +2342,7 @@ static void UpdateWebMetadata(const char *exHtmlPath, const char *exFilePath) char **lines = LoadTextLines(exText, &lineCount); int lineLength = (int)strlen(lines[2]); strncpy(exDescription, lines[2] + 4, lineLength - 4); - UnloadTextLines(lines); + UnloadTextLines(lines, lineCount); UnloadFileText(exText); // Update example.html required text From 389800fd34ce8af970ff284c0ba1242bcc658a5c Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Sep 2025 23:55:23 +0200 Subject: [PATCH 030/125] REXM: REVIEWED: `ScanExampleResources()` --- tools/rexm/rexm.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index e3cb7f646..d6c29934f 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -1975,7 +1975,8 @@ static char **ScanExampleResources(const char *filePath, int *resPathCount) if (code != NULL) { // Resources extensions to check - const char *exts[] = { ".png", ".bmp", ".jpg", ".qoi", ".gif", ".raw", ".hdr", ".ttf", ".fnt", ".wav", ".ogg", ".mp3", ".flac", ".mod", ".qoa", ".qoa", ".obj", ".iqm", ".glb", ".m3d", ".vox", ".vs", ".fs", ".txt" }; + const char *exts[] = { ".png", ".bmp", ".jpg", ".qoi", ".gif", ".raw", ".hdr", ".ttf", ".fnt", + ".wav", ".ogg", ".mp3", ".flac", ".mod", ".qoa", ".qoa", ".obj", ".iqm", ".glb", ".m3d", ".vox", ".vs", ".fs", ".txt" }; const int extCount = sizeof(exts)/sizeof(char *); char *ptr = code; @@ -1988,7 +1989,8 @@ static char **ScanExampleResources(const char *filePath, int *resPathCount) // WARNING: Some paths could be for saving files, not loading, those "resource" files must be omitted // HACK: Just check previous position from pointer for function name including the string... // This is a dirty solution, the good one would be getting the data loading function names... - if (TextFindIndex(ptr - 40, "ExportImage") == -1) + if ((TextFindIndex(ptr - 40, "ExportImage") == -1) && + (TextFindIndex(ptr - 10, "TraceLog") == -1)) // Avoid TraceLog() strings processing { int len = (int)(end - start); if ((len > 0) && (len < REXM_MAX_RESOURCE_PATH_LEN)) @@ -1997,14 +1999,11 @@ static char **ScanExampleResources(const char *filePath, int *resPathCount) strncpy(buffer, start, len); buffer[len] = '\0'; - // TODO: Make sure buffer is a path (and not a TraceLog() string) - // Check for known extensions for (int i = 0; i < extCount; i++) { - // TODO: WARNING: IsFileExtension() expects a NULL terminated fileName, - // but in this case buffer can contain any kind of string, - // including not paths strings, for example TraceLog() string + // NOTE: IsFileExtension() expects a NULL terminated fileName string, + // it looks for the last '.' and checks "extension" after that if (IsFileExtension(buffer, exts[i])) { // Avoid duplicates From 8e52aee8531f1069f1774856e2046fe514ac2589 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 5 Sep 2025 00:13:32 +0200 Subject: [PATCH 031/125] Update rtext.c --- src/rtext.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/rtext.c b/src/rtext.c index c1056d22e..60c2c1f18 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -1461,15 +1461,16 @@ char **LoadTextLines(const char *text, int *count) } char **lines = (char **)RL_CALLOC(lineCount, sizeof(char *)); - for (int i = 0, l = 0, lineLen = 0; i <= textSize; i++, lineLen++) + for (int i = 0, l = 0, lineLen = 0; i <= textSize; i++) { if ((text[i] == '\n') || (text[i] == '\0')) { lines[l] = (char *)RL_CALLOC(lineLen + 1, 1); - strncpy(lines[l], &text[i - lineLen + 1], lineLen - 1); + strncpy(lines[l], &text[i - lineLen], lineLen); lineLen = 0; l++; } + else lineLen++; } *count = lineCount; From 47bdfb91a26864187d714e05246076a7cc5d7433 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 5 Sep 2025 10:57:25 +0200 Subject: [PATCH 032/125] Update README.md --- examples/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/README.md b/examples/README.md index 24f27f276..46e995df0 100644 --- a/examples/README.md +++ b/examples/README.md @@ -6,6 +6,7 @@ The examples assume you have already built the `raylib` library in `../src`. - `make` builds all examples - `make [module]` builds all examples for a particular module (e.g `make core`) +- `make [module]/[name]` builds one examples for a particular module (e.g `make core/core_basic_window`) ### With Zig From b5e25916fc2219eec088dfa948474cca019096eb Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 5 Sep 2025 11:25:24 +0200 Subject: [PATCH 033/125] Added creation-review years to examples --- examples/shaders/shaders_view_depth.c | 2 +- examples/shapes/shapes_digital_clock.c | 2 +- examples/shapes/shapes_double_pendulum.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/shaders/shaders_view_depth.c b/examples/shaders/shaders_view_depth.c index f4eecf7e2..a11f52dc5 100644 --- a/examples/shaders/shaders_view_depth.c +++ b/examples/shaders/shaders_view_depth.c @@ -11,7 +11,7 @@ * Example 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) 2025 Luís Almeida (@luis605) +* Copyright (c) 2025-2025 Luís Almeida (@luis605) * ********************************************************************************************/ diff --git a/examples/shapes/shapes_digital_clock.c b/examples/shapes/shapes_digital_clock.c index 82b8ee6bd..c8a573cd6 100644 --- a/examples/shapes/shapes_digital_clock.c +++ b/examples/shapes/shapes_digital_clock.c @@ -11,7 +11,7 @@ * Example 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) 2025 Hamza RAHAL (@hmz-rhl) +* Copyright (c) 2025-2025 Hamza RAHAL (@hmz-rhl) * ********************************************************************************************/ diff --git a/examples/shapes/shapes_double_pendulum.c b/examples/shapes/shapes_double_pendulum.c index 200f9ad7e..1bc2ee4a2 100644 --- a/examples/shapes/shapes_double_pendulum.c +++ b/examples/shapes/shapes_double_pendulum.c @@ -11,7 +11,7 @@ * Example 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) 2025 JoeCheong (@Joecheong2006) +* Copyright (c) 2025-2025 JoeCheong (@Joecheong2006) * ********************************************************************************************/ From 424cdebda5c0476f569e3622b5097eaafc6e97e4 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 5 Sep 2025 14:04:28 +0200 Subject: [PATCH 034/125] Updated examples_list.txt to include example year created/reviewed Reviewed star used, aligned with empty star and examples header --- examples/examples_list.txt | 322 ++++++++++++++++++------------------- 1 file changed, 161 insertions(+), 161 deletions(-) diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 92381a121..c3d3d3be2 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -1,169 +1,169 @@ # # raylib examples list used to generate/update collection -# examples must be provided as: ;;;;;""; +# examples must be provided as: ;;;;;;;""; # # This list is used as the main reference by [rexm] tool for examples collection validation and management # New examples must be added to this list and any possible rename must be made on this list first # # WARNING: List is not ordered by example name but by the display order on web # -core;core_basic_window;⭐️☆☆☆;1.0;1.0;"Ramon Santamaria";@raysan5 -core;core_input_keys;⭐️☆☆☆;1.0;1.0;"Ramon Santamaria";@raysan5 -core;core_input_mouse;⭐️☆☆☆;1.0;5.5;"Ramon Santamaria";@raysan5 -core;core_input_mouse_wheel;⭐️☆☆☆;1.1;1.3;"Ramon Santamaria";@raysan5 -core;core_input_gamepad;⭐️☆☆☆;1.1;4.2;"Ramon Santamaria";@raysan5 -core;core_input_multitouch;⭐️☆☆☆;2.1;2.5;"Berni";@Berni8k -core;core_input_gestures;⭐️⭐️☆☆;1.4;4.2;"Ramon Santamaria";@raysan5 -core;core_input_gestures_testbed;⭐️⭐️⭐️☆;4.6-dev;5.6-dev;"ubkp";@ubkp -core;core_input_virtual_controls;⭐️⭐️☆☆;5.0;5.0;"oblerion";@oblerion -core;core_2d_camera;⭐️⭐️☆☆;1.5;3.0;"Ramon Santamaria";@raysan5 -core;core_2d_camera_mouse_zoom;⭐️⭐️☆☆;4.2;4.2;"Jeffery Myers";@JeffM2501 -core;core_2d_camera_platformer;⭐️⭐️⭐️☆;2.5;3.0;"arvyy";@arvyy -core;core_2d_camera_split_screen;⭐️⭐️⭐️⭐️;4.5;4.5;"Gabriel dos Santos Sanches";@gabrielssanches -core;core_3d_camera_mode;⭐️☆☆☆;1.0;1.0;"Ramon Santamaria";@raysan5 -core;core_3d_camera_free;⭐️☆☆☆;1.3;1.3;"Ramon Santamaria";@raysan5 -core;core_3d_camera_first_person;⭐️⭐️☆☆;1.3;1.3;"Ramon Santamaria";@raysan5 -core;core_3d_camera_split_screen;⭐️⭐️⭐️☆;3.7;4.0;"Jeffery Myers";@JeffM2501 -core;core_3d_camera_fps;⭐️⭐️⭐️☆;5.5;5.5;"Agnis Aldins";@nezvers -core;core_3d_picking;⭐️⭐️☆☆;1.3;4.0;"Ramon Santamaria";@raysan5 -core;core_world_screen;⭐️⭐️☆☆;1.3;1.4;"Ramon Santamaria";@raysan5 -core;core_window_flags;⭐️⭐️⭐️☆;3.5;3.5;"Ramon Santamaria";@raysan5 -core;core_window_letterbox;⭐️⭐️☆☆;2.5;4.0;"Anata";@anatagawa -core;core_window_should_close;⭐️☆☆☆;4.2;4.2;"Ramon Santamaria";@raysan5 -core;core_custom_logging;⭐️⭐️⭐️☆;2.5;2.5;"Pablo Marcos Oltra";@pamarcos -core;core_drop_files;⭐️⭐️☆☆;1.3;4.2;"Ramon Santamaria";@raysan5 -core;core_random_values;⭐️☆☆☆;1.1;1.1;"Ramon Santamaria";@raysan5 -core;core_storage_values;⭐️⭐️☆☆;1.4;4.2;"Ramon Santamaria";@raysan5 -core;core_vr_simulator;⭐️⭐️⭐️☆;2.5;4.0;"Ramon Santamaria";@raysan5 -core;core_scissor_test;⭐️☆☆☆;2.5;3.0;"Chris Dill";@MysteriousSpace -core;core_basic_screen_manager;⭐️☆☆☆;4.0;4.0;"Ramon Santamaria";@raysan5 -core;core_custom_frame_control;⭐️⭐️⭐️⭐️;4.0;4.0;"Ramon Santamaria";@raysan5 -core;core_smooth_pixelperfect;⭐️⭐️⭐️☆;3.7;4.0;"Giancamillo Alessandroni";@NotManyIdeasDev -core;core_random_sequence;⭐️☆☆☆;5.0;5.0;"Dalton Overmyer";@REDl3east -core;core_automation_events;⭐️⭐️⭐️☆;5.0;5.0;"Ramon Santamaria";@raysan5 -core;core_high_dpi;⭐️⭐️☆☆;5.0;5.5;"Jonathan Marler";@marler8997 -shapes;shapes_basic_shapes;⭐️☆☆☆;1.0;4.2;"Ramon Santamaria";@raysan5 -shapes;shapes_bouncing_ball;⭐️☆☆☆;2.5;2.5;"Ramon Santamaria";@raysan5 -shapes;shapes_colors_palette;⭐️⭐️☆☆;1.0;2.5;"Ramon Santamaria";@raysan5 -shapes;shapes_logo_raylib;⭐️☆☆☆;1.0;1.0;"Ramon Santamaria";@raysan5 -shapes;shapes_logo_raylib_anim;⭐️⭐️☆☆;2.5;4.0;"Ramon Santamaria";@raysan5 -shapes;shapes_rectangle_scaling;⭐️⭐️☆☆;2.5;2.5;"Vlad Adrian";@demizdor -shapes;shapes_lines_bezier;⭐️☆☆☆;1.7;1.7;"Ramon Santamaria";@raysan5 -shapes;shapes_collision_area;⭐️⭐️☆☆;2.5;2.5;"Ramon Santamaria";@raysan5 -shapes;shapes_following_eyes;⭐️⭐️☆☆;2.5;2.5;"Ramon Santamaria";@raysan5 -shapes;shapes_easings_ball_anim;⭐️⭐️☆☆;2.5;2.5;"Ramon Santamaria";@raysan5 -shapes;shapes_easings_box_anim;⭐️⭐️☆☆;2.5;2.5;"Ramon Santamaria";@raysan5 -shapes;shapes_easings_rectangle_array;⭐️⭐️⭐️☆;2.0;2.5;"Ramon Santamaria";@raysan5 -shapes;shapes_draw_ring;⭐️⭐️⭐️☆;2.5;2.5;"Vlad Adrian";@demizdor -shapes;shapes_draw_circle_sector;⭐️⭐️⭐️☆;2.5;2.5;"Vlad Adrian";@demizdor -shapes;shapes_draw_rectangle_rounded;⭐️⭐️⭐️☆;2.5;2.5;"Vlad Adrian";@demizdor -shapes;shapes_top_down_lights;⭐️⭐️⭐️⭐️;4.2;4.2;"Jeffery Myers";@JeffM2501 -shapes;shapes_rectangle_advanced;⭐️⭐️⭐️⭐️;5.5;5.5;"Everton Jr.";@evertonse -shapes;shapes_splines_drawing;⭐️⭐️⭐️☆;5.0;5.0;"Ramon Santamaria";@raysan5 -shapes;shapes_digital_clock;⭐️⭐️☆☆;5.5;5.6;"Hamza RAHAL";@hmz-rhl -shapes;shapes_double_pendulum;⭐️⭐️☆☆;5.5;5.5;"JoeCheong";@Joecheong2006 -textures;textures_logo_raylib;⭐️☆☆☆;1.0;1.0;"Ramon Santamaria";@raysan5 -textures;textures_srcrec_dstrec;⭐️⭐️⭐️☆;1.3;1.3;"Ramon Santamaria";@raysan5 -textures;textures_image_drawing;⭐️⭐️☆☆;1.4;1.4;"Ramon Santamaria";@raysan5 -textures;textures_image_generation;⭐️⭐️☆☆;1.8;1.8;"Wilhem Barbier";@nounoursheureux -textures;textures_image_loading;⭐️☆☆☆;1.3;1.3;"Ramon Santamaria";@raysan5 -textures;textures_image_processing;⭐️⭐️⭐️☆;1.4;3.5;"Ramon Santamaria";@raysan5 -textures;textures_image_text;⭐️⭐️☆☆;1.8;4.0;"Ramon Santamaria";@raysan5 -textures;textures_to_image;⭐️☆☆☆;1.3;4.0;"Ramon Santamaria";@raysan5 -textures;textures_raw_data;⭐️⭐️⭐️☆;1.3;3.5;"Ramon Santamaria";@raysan5 -textures;textures_particles_blending;⭐️☆☆☆;1.7;3.5;"Ramon Santamaria";@raysan5 -textures;textures_npatch_drawing;⭐️⭐️⭐️☆;2.0;2.5;"Jorge A. Gomes";@overdev -textures;textures_background_scrolling;⭐️☆☆☆;2.0;2.5;"Ramon Santamaria";@raysan5 -textures;textures_sprite_anim;⭐️⭐️☆☆;1.3;1.3;"Ramon Santamaria";@raysan5 -textures;textures_sprite_button;⭐️⭐️☆☆;2.5;2.5;"Ramon Santamaria";@raysan5 -textures;textures_sprite_explosion;⭐️⭐️☆☆;2.5;3.5;"Ramon Santamaria";@raysan5 -textures;textures_bunnymark;⭐️⭐️⭐️☆;1.6;2.5;"Ramon Santamaria";@raysan5 -textures;textures_mouse_painting;⭐️⭐️⭐️☆;3.0;3.0;"Chris Dill";@MysteriousSpace -textures;textures_blend_modes;⭐️☆☆☆;3.5;3.5;"Karlo Licudine";@accidentalrebel -textures;textures_tiled_drawing;⭐️⭐️⭐️☆;3.0;4.2;"Vlad Adrian";@demizdor -textures;textures_polygon_drawing;⭐️☆☆☆;3.7;3.7;"Chris Camacho";@chriscamacho -textures;textures_fog_of_war;⭐️⭐️⭐️☆;4.2;4.2;"Ramon Santamaria";@raysan5 -textures;textures_gif_player;⭐️⭐️⭐️☆;4.2;4.2;"Ramon Santamaria";@raysan5 -textures;textures_image_kernel;⭐️⭐️⭐️⭐️;1.3;1.3;"Karim Salem";@kimo-s -textures;textures_image_channel;⭐️⭐️☆☆;5.1-dev;5.1-dev;"Bruno Cabral";@brccabral -textures;textures_image_rotate;⭐️⭐️☆☆;1.0;1.0;"Ramon Santamaria";@raysan5 -textures;textures_textured_curve;⭐️⭐️⭐️☆;4.5;4.5;"Jeffery Myers";@JeffM2501 -text;text_sprite_fonts;⭐️☆☆☆;1.7;3.7;"Ramon Santamaria";@raysan5 -text;text_font_spritefont;⭐️☆☆☆;1.0;1.0;"Ramon Santamaria";@raysan5 -text;text_font_filters;⭐️⭐️☆☆;1.3;4.2;"Ramon Santamaria";@raysan5 -text;text_font_loading;⭐️☆☆☆;1.4;3.0;"Ramon Santamaria";@raysan5 -text;text_font_sdf;⭐️⭐️⭐️☆;1.3;4.0;"Ramon Santamaria";@raysan5 -text;text_format_text;⭐️☆☆☆;1.1;3.0;"Ramon Santamaria";@raysan5 -text;text_input_box;⭐️⭐️☆☆;1.7;3.5;"Ramon Santamaria";@raysan5 -text;text_writing_anim;⭐️⭐️☆☆;1.4;1.4;"Ramon Santamaria";@raysan5 -text;text_rectangle_bounds;⭐️⭐️⭐️⭐️;2.5;4.0;"Vlad Adrian";@demizdor -text;text_unicode_emojis;⭐️⭐️⭐️⭐️;2.5;4.0;"Vlad Adrian";@demizdor -text;text_unicode_ranges;⭐️⭐️⭐️⭐️;5.5;5.6;"Vlad Adrian";@demizdor -text;text_3d_drawing;⭐️⭐️⭐️⭐️;3.5;4.0;"Vlad Adrian";@demizdor -text;text_codepoints_loading;⭐️⭐️⭐️☆;4.2;4.2;"Ramon Santamaria";@raysan5 -models;models_animation;⭐️⭐️☆☆;2.5;3.5;"Culacant";@culacant -models;models_billboard_rendering;⭐️⭐️⭐️☆;1.3;3.5;"Ramon Santamaria";@raysan5 -models;models_box_collisions;⭐️☆☆☆;1.3;3.5;"Ramon Santamaria";@raysan5 -models;models_cubicmap;⭐️⭐️☆☆;1.8;3.5;"Ramon Santamaria";@raysan5 -models;models_first_person_maze;⭐️⭐️☆☆;2.5;3.5;"Ramon Santamaria";@raysan5 -models;models_geometric_shapes;⭐️☆☆☆;1.0;3.5;"Ramon Santamaria";@raysan5 -models;models_mesh_generation;⭐️⭐️☆☆;1.8;4.0;"Ramon Santamaria";@raysan5 -models;models_mesh_picking;⭐️⭐️⭐️☆;1.7;4.0;"Joel Davis";@joeld42 -models;models_loading;⭐️☆☆☆;2.0;4.2;"Ramon Santamaria";@raysan5 -models;models_loading_gltf;⭐️☆☆☆;3.7;4.2;"Ramon Santamaria";@raysan5 -models;models_loading_vox;⭐️☆☆☆;4.0;4.0;"Johann Nadalutti";@procfxgen -models;models_loading_m3d;⭐️⭐️☆☆;4.5;4.5;"bzt";@bztsrc -models;models_orthographic_projection;⭐️☆☆☆;2.0;3.7;"Max Danielsson";@autious -models;models_point_rendering;⭐️⭐️⭐️☆;5.0;5.0;"Reese Gallagher";@satchelfrost -models;models_rlgl_solar_system;⭐️⭐️⭐️⭐️;2.5;4.0;"Ramon Santamaria";@raysan5 -models;models_yaw_pitch_roll;⭐️⭐️☆☆;1.8;4.0;"Berni";@Berni8k -models;models_waving_cubes;⭐️⭐️⭐️☆;2.5;3.7;"Codecat";@codecat -models;models_heightmap;⭐️☆☆☆;1.8;3.5;"Ramon Santamaria";@raysan5 -models;models_skybox_rendering;⭐️⭐️☆☆;1.8;4.0;"Ramon Santamaria";@raysan5 -models;models_draw_cube_texture;⭐️⭐️☆☆;4.5;4.5;"Ramon Santamaria";@raysan5 -models;models_gpu_skinning;⭐️⭐️⭐️☆;4.5;4.5;"Daniel Holden";@orangeduck -models;models_bone_socket;⭐️⭐️⭐️⭐️;4.5;4.5;"iP";@ipzaur -models;models_tesseract_view;⭐️⭐️☆☆;5.6-dev;5.6-dev;"Timothy van der Valk";@arceryz -shaders;shaders_basic_lighting;⭐️⭐️⭐️⭐️;3.0;4.2;"Chris Camacho";@chriscamacho -shaders;shaders_model_shader;⭐️⭐️☆☆;1.3;3.7;"Ramon Santamaria";@raysan5 -shaders;shaders_shapes_textures;⭐️⭐️☆☆;1.7;3.7;"Ramon Santamaria";@raysan5 -shaders;shaders_custom_uniform;⭐️⭐️☆☆;1.3;4.0;"Ramon Santamaria";@raysan5 -shaders;shaders_postprocessing;⭐️⭐️⭐️☆;1.3;4.0;"Ramon Santamaria";@raysan5 -shaders;shaders_palette_switch;⭐️⭐️⭐️☆;2.5;3.7;"Marco Lizza";@MarcoLizza -shaders;shaders_raymarching;⭐️⭐️⭐️⭐️;2.0;4.2;"Ramon Santamaria";@raysan5 -shaders;shaders_texture_rendering;⭐️⭐️☆☆;2.0;3.7;"Michał Ciesielski";@ciessielski -shaders;shaders_texture_outline;⭐️⭐️⭐️☆;4.0;4.0;"Serenity Skiff";@GoldenThumbs -shaders;shaders_texture_waves;⭐️⭐️☆☆;2.5;3.7;"Anata";@anatagawa -shaders;shaders_julia_set;⭐️⭐️⭐️☆;2.5;4.0;"Josh Colclough";@joshcol9232 -shaders;shaders_eratosthenes;⭐️⭐️⭐️☆;2.5;4.0;"ProfJski";@ProfJski -shaders;shaders_fog_rendering;⭐️⭐️⭐️☆;2.5;3.7;"Chris Camacho";@chriscamacho -shaders;shaders_simple_mask;⭐️⭐️☆☆;2.5;3.7;"Chris Camacho";@chriscamacho -shaders;shaders_hot_reloading;⭐️⭐️⭐️☆;3.0;3.5;"Ramon Santamaria";@raysan5 -shaders;shaders_mesh_instancing;⭐️⭐️⭐️⭐️;3.7;4.2;"seanpringle";@seanpringle -shaders;shaders_multi_sample2d;⭐️⭐️☆☆;3.5;3.5;"Ramon Santamaria";@raysan5 -shaders;shaders_normal_map;⭐️⭐️⭐️⭐️;5.6;5.6;"Jeremy Montgomery";@Sir_Irk -shaders;shaders_spotlight;⭐️⭐️☆☆;2.5;3.7;"Chris Camacho";@chriscamacho -shaders;shaders_deferred_render;⭐️⭐️⭐️⭐️;4.5;4.5;"Justin Andreas Lacoste";@27justin -shaders;shaders_hybrid_render;⭐️⭐️⭐️⭐️;4.2;4.2;"Buğra Alptekin Sarı";@BugraAlptekinSari -shaders;shaders_texture_tiling;⭐️⭐️☆☆;4.5;4.5;"Luis Almeida";@luis605 -shaders;shaders_shadowmap;⭐️⭐️⭐️⭐️;5.0;5.0;"TheManTheMythTheGameDev";@TheManTheMythTheGameDev -shaders;shaders_vertex_displacement;⭐️⭐️⭐️☆;5.0;4.5;"Alex ZH";@ZzzhHe -shaders;shaders_write_depth;⭐️⭐️☆☆;4.2;4.2;"Buğra Alptekin Sarı";@BugraAlptekinSari -shaders;shaders_basic_pbr;⭐️⭐️⭐️⭐️;5.0;5.1-dev;"Afan OLOVCIC";@_DevDad -shaders;shaders_lightmap;⭐️⭐️⭐️☆;4.5;4.5;"Jussi Viitala";@nullstare -shaders;shaders_rounded_rectangle;⭐️⭐️⭐️☆;5.5;5.5;"Anstro Pleuton";@anstropleuton -shaders;shaders_view_depth;⭐️⭐️⭐️☆;5.6-dev;5.6-dev;"Luís Almeida";@luis605 -audio;audio_module_playing;⭐️☆☆☆;1.5;3.5;"Ramon Santamaria";@raysan5 -audio;audio_music_stream;⭐️☆☆☆;1.3;4.2;"Ramon Santamaria";@raysan5 -audio;audio_raw_stream;⭐️⭐️⭐️☆;1.6;4.2;"Ramon Santamaria";@raysan5 -audio;audio_sound_loading;⭐️☆☆☆;1.1;3.5;"Ramon Santamaria";@raysan5 -audio;audio_mixed_processor;⭐️⭐️⭐️⭐️;4.2;4.2;"hkc";@hatkidchan -audio;audio_stream_effects;⭐️⭐️⭐️⭐️;4.2;5.0;"Ramon Santamaria";@raysan5 -audio;audio_sound_multi;⭐️⭐️☆☆;4.6;4.6;"Jeffery Myers";@JeffM2501 -audio;audio_sound_positioning;⭐️⭐️☆☆;5.5;5.5;"Le Juez Victor";@Bigfoot71 -others;rlgl_standalone;⭐️⭐️⭐️⭐️;1.6;4.0;"Ramon Santamaria";@raysan5 -others;rlgl_compute_shader;⭐️⭐️⭐️⭐️;4.0;4.0;"Teddy Astie";@tsnake41 -others;easings_testbed;⭐️⭐️⭐️☆;2.5;3.0;"Juan Miguel López";@flashback-fx -others;raylib_opengl_interop;⭐️⭐️⭐️⭐️;3.8;4.0;"Stephan Soller";@arkanis -others;embedded_files_loading;⭐️⭐️☆☆;3.0;3.5;"Kristian Holmgren";@defutura -others;raymath_vector_angle;⭐️⭐️☆☆;1.0;4.6;"Ramon Santamaria";@raysan5 +core;core_basic_window;★☆☆☆;1.0;1.0;2013;2025;"Ramon Santamaria";@raysan5 +core;core_input_keys;★☆☆☆;1.0;1.0;2014;2025;"Ramon Santamaria";@raysan5 +core;core_input_mouse;★☆☆☆;1.0;5.5;2014;2025;"Ramon Santamaria";@raysan5 +core;core_input_mouse_wheel;★☆☆☆;1.1;1.3;2014;2025;"Ramon Santamaria";@raysan5 +core;core_input_gamepad;★☆☆☆;1.1;4.2;2013;2025;"Ramon Santamaria";@raysan5 +core;core_input_multitouch;★☆☆☆;2.1;2.5;2019;2025;"Berni";@Berni8k +core;core_input_gestures;★★☆☆;1.4;4.2;2016;2025;"Ramon Santamaria";@raysan5 +core;core_input_gestures_testbed;★★★☆;4.6-dev;5.6-dev;2023;2025;"ubkp";@ubkp +core;core_input_virtual_controls;★★☆☆;5.0;5.0;2024;2025;"oblerion";@oblerion +core;core_2d_camera;★★☆☆;1.5;3.0;2016;2025;"Ramon Santamaria";@raysan5 +core;core_2d_camera_mouse_zoom;★★☆☆;4.2;4.2;2022;2025;"Jeffery Myers";@JeffM2501 +core;core_2d_camera_platformer;★★★☆;2.5;3.0;2019;2025;"arvyy";@arvyy +core;core_2d_camera_split_screen;★★★★;4.5;4.5;2023;2025;"Gabriel dos Santos Sanches";@gabrielssanches +core;core_3d_camera_mode;★☆☆☆;1.0;1.0;2014;2025;"Ramon Santamaria";@raysan5 +core;core_3d_camera_free;★☆☆☆;1.3;1.3;2015;2025;"Ramon Santamaria";@raysan5 +core;core_3d_camera_first_person;★★☆☆;1.3;1.3;2015;2025;"Ramon Santamaria";@raysan5 +core;core_3d_camera_split_screen;★★★☆;3.7;4.0;2021;2025;"Jeffery Myers";@JeffM2501 +core;core_3d_camera_fps;★★★☆;5.5;5.5;2025;2025;"Agnis Aldins";@nezvers +core;core_3d_picking;★★☆☆;1.3;4.0;2015;2025;"Ramon Santamaria";@raysan5 +core;core_world_screen;★★☆☆;1.3;1.4;2015;2025;"Ramon Santamaria";@raysan5 +core;core_window_flags;★★★☆;3.5;3.5;2020;2025;"Ramon Santamaria";@raysan5 +core;core_window_letterbox;★★☆☆;2.5;4.0;2019;2025;"Anata";@anatagawa +core;core_window_should_close;★☆☆☆;4.2;4.2;2013;2025;"Ramon Santamaria";@raysan5 +core;core_custom_logging;★★★☆;2.5;2.5;2018;2025;"Pablo Marcos Oltra";@pamarcos +core;core_drop_files;★★☆☆;1.3;4.2;2015;2025;"Ramon Santamaria";@raysan5 +core;core_random_values;★☆☆☆;1.1;1.1;2014;2025;"Ramon Santamaria";@raysan5 +core;core_storage_values;★★☆☆;1.4;4.2;2015;2025;"Ramon Santamaria";@raysan5 +core;core_vr_simulator;★★★☆;2.5;4.0;2017;2025;"Ramon Santamaria";@raysan5 +core;core_scissor_test;★☆☆☆;2.5;3.0;2019;2025;"Chris Dill";@MysteriousSpace +core;core_basic_screen_manager;★☆☆☆;4.0;4.0;2021;2025;"Ramon Santamaria";@raysan5 +core;core_custom_frame_control;★★★★;4.0;4.0;2021;2025;"Ramon Santamaria";@raysan5 +core;core_smooth_pixelperfect;★★★☆;3.7;4.0;2021;2025;"Giancamillo Alessandroni";@NotManyIdeasDev +core;core_random_sequence;★☆☆☆;5.0;5.0;2023;2025;"Dalton Overmyer";@REDl3east +core;core_automation_events;★★★☆;5.0;5.0;2023;2025;"Ramon Santamaria";@raysan5 +core;core_high_dpi;★★☆☆;5.0;5.5;2025;0;"Jonathan Marler";@marler8997 +shapes;shapes_basic_shapes;★☆☆☆;1.0;4.2;2014;2025;"Ramon Santamaria";@raysan5 +shapes;shapes_bouncing_ball;★☆☆☆;2.5;2.5;2013;2025;"Ramon Santamaria";@raysan5 +shapes;shapes_colors_palette;★★☆☆;1.0;2.5;2014;2025;"Ramon Santamaria";@raysan5 +shapes;shapes_logo_raylib;★☆☆☆;1.0;1.0;2014;2025;"Ramon Santamaria";@raysan5 +shapes;shapes_logo_raylib_anim;★★☆☆;2.5;4.0;2014;2025;"Ramon Santamaria";@raysan5 +shapes;shapes_rectangle_scaling;★★☆☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor +shapes;shapes_lines_bezier;★☆☆☆;1.7;1.7;2017;2025;"Ramon Santamaria";@raysan5 +shapes;shapes_collision_area;★★☆☆;2.5;2.5;2013;2025;"Ramon Santamaria";@raysan5 +shapes;shapes_following_eyes;★★☆☆;2.5;2.5;2013;2025;"Ramon Santamaria";@raysan5 +shapes;shapes_easings_ball_anim;★★☆☆;2.5;2.5;2014;2025;"Ramon Santamaria";@raysan5 +shapes;shapes_easings_box_anim;★★☆☆;2.5;2.5;2014;2025;"Ramon Santamaria";@raysan5 +shapes;shapes_easings_rectangle_array;★★★☆;2.0;2.5;2014;2025;"Ramon Santamaria";@raysan5 +shapes;shapes_draw_ring;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor +shapes;shapes_draw_circle_sector;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor +shapes;shapes_draw_rectangle_rounded;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor +shapes;shapes_top_down_lights;★★★★;4.2;4.2;2022;2025;"Jeffery Myers";@JeffM2501 +shapes;shapes_rectangle_advanced;★★★★;5.5;5.5;2024;2025;"Everton Jr.";@evertonse +shapes;shapes_splines_drawing;★★★☆;5.0;5.0;2023;2025;"Ramon Santamaria";@raysan5 +shapes;shapes_digital_clock;★★☆☆;5.5;5.6;2025;2025;"Hamza RAHAL";@hmz-rhl +shapes;shapes_double_pendulum;★★☆☆;5.5;5.5;2025;2025;"JoeCheong";@Joecheong2006 +textures;textures_logo_raylib;★☆☆☆;1.0;1.0;2014;2025;"Ramon Santamaria";@raysan5 +textures;textures_srcrec_dstrec;★★★☆;1.3;1.3;2015;2025;"Ramon Santamaria";@raysan5 +textures;textures_image_drawing;★★☆☆;1.4;1.4;2016;2025;"Ramon Santamaria";@raysan5 +textures;textures_image_generation;★★☆☆;1.8;1.8;2017;2025;"Wilhem Barbier";@nounoursheureux +textures;textures_image_loading;★☆☆☆;1.3;1.3;2015;2025;"Ramon Santamaria";@raysan5 +textures;textures_image_processing;★★★☆;1.4;3.5;2016;2025;"Ramon Santamaria";@raysan5 +textures;textures_image_text;★★☆☆;1.8;4.0;2017;2025;"Ramon Santamaria";@raysan5 +textures;textures_to_image;★☆☆☆;1.3;4.0;2015;2025;"Ramon Santamaria";@raysan5 +textures;textures_raw_data;★★★☆;1.3;3.5;2015;2025;"Ramon Santamaria";@raysan5 +textures;textures_particles_blending;★☆☆☆;1.7;3.5;2017;2025;"Ramon Santamaria";@raysan5 +textures;textures_npatch_drawing;★★★☆;2.0;2.5;2018;2025;"Jorge A. Gomes";@overdev +textures;textures_background_scrolling;★☆☆☆;2.0;2.5;2019;2025;"Ramon Santamaria";@raysan5 +textures;textures_sprite_anim;★★☆☆;1.3;1.3;2014;2025;"Ramon Santamaria";@raysan5 +textures;textures_sprite_button;★★☆☆;2.5;2.5;2019;2025;"Ramon Santamaria";@raysan5 +textures;textures_sprite_explosion;★★☆☆;2.5;3.5;2019;2025;"Ramon Santamaria";@raysan5 +textures;textures_bunnymark;★★★☆;1.6;2.5;2014;2025;"Ramon Santamaria";@raysan5 +textures;textures_mouse_painting;★★★☆;3.0;3.0;2019;2025;"Chris Dill";@MysteriousSpace +textures;textures_blend_modes;★☆☆☆;3.5;3.5;2020;2025;"Karlo Licudine";@accidentalrebel +textures;textures_tiled_drawing;★★★☆;3.0;4.2;2020;2025;"Vlad Adrian";@demizdor +textures;textures_polygon_drawing;★☆☆☆;3.7;3.7;2021;2025;"Chris Camacho";@chriscamacho +textures;textures_fog_of_war;★★★☆;4.2;4.2;2018;2025;"Ramon Santamaria";@raysan5 +textures;textures_gif_player;★★★☆;4.2;4.2;2021;2025;"Ramon Santamaria";@raysan5 +textures;textures_image_kernel;★★★★;1.3;1.3;2015;2025;"Karim Salem";@kimo-s +textures;textures_image_channel;★★☆☆;5.1-dev;5.1-dev;2024;2025;"Bruno Cabral";@brccabral +textures;textures_image_rotate;★★☆☆;1.0;1.0;2014;2025;"Ramon Santamaria";@raysan5 +textures;textures_textured_curve;★★★☆;4.5;4.5;2022;2025;"Jeffery Myers";@JeffM2501 +text;text_sprite_fonts;★☆☆☆;1.7;3.7;2017;2025;"Ramon Santamaria";@raysan5 +text;text_font_spritefont;★☆☆☆;1.0;1.0;2014;2025;"Ramon Santamaria";@raysan5 +text;text_font_filters;★★☆☆;1.3;4.2;2015;2025;"Ramon Santamaria";@raysan5 +text;text_font_loading;★☆☆☆;1.4;3.0;2016;2025;"Ramon Santamaria";@raysan5 +text;text_font_sdf;★★★☆;1.3;4.0;2015;2025;"Ramon Santamaria";@raysan5 +text;text_format_text;★☆☆☆;1.1;3.0;2014;2025;"Ramon Santamaria";@raysan5 +text;text_input_box;★★☆☆;1.7;3.5;2017;2025;"Ramon Santamaria";@raysan5 +text;text_writing_anim;★★☆☆;1.4;1.4;2016;2025;"Ramon Santamaria";@raysan5 +text;text_rectangle_bounds;★★★★;2.5;4.0;2018;2025;"Vlad Adrian";@demizdor +text;text_unicode_emojis;★★★★;2.5;4.0;2019;2025;"Vlad Adrian";@demizdor +text;text_unicode_ranges;★★★★;5.5;5.6;2025;0;"Vlad Adrian";@demizdor +text;text_3d_drawing;★★★★;3.5;4.0;2021;2025;"Vlad Adrian";@demizdor +text;text_codepoints_loading;★★★☆;4.2;4.2;2022;2025;"Ramon Santamaria";@raysan5 +models;models_animation;★★☆☆;2.5;3.5;2019;2025;"Culacant";@culacant +models;models_billboard_rendering;★★★☆;1.3;3.5;2015;2025;"Ramon Santamaria";@raysan5 +models;models_box_collisions;★☆☆☆;1.3;3.5;2015;2025;"Ramon Santamaria";@raysan5 +models;models_cubicmap;★★☆☆;1.8;3.5;2015;2025;"Ramon Santamaria";@raysan5 +models;models_first_person_maze;★★☆☆;2.5;3.5;2019;2025;"Ramon Santamaria";@raysan5 +models;models_geometric_shapes;★☆☆☆;1.0;3.5;2014;2025;"Ramon Santamaria";@raysan5 +models;models_mesh_generation;★★☆☆;1.8;4.0;2017;2025;"Ramon Santamaria";@raysan5 +models;models_mesh_picking;★★★☆;1.7;4.0;2017;2025;"Joel Davis";@joeld42 +models;models_loading;★☆☆☆;2.0;4.2;2014;2025;"Ramon Santamaria";@raysan5 +models;models_loading_gltf;★☆☆☆;3.7;4.2;2020;2025;"Ramon Santamaria";@raysan5 +models;models_loading_vox;★☆☆☆;4.0;4.0;2021;2025;"Johann Nadalutti";@procfxgen +models;models_loading_m3d;★★☆☆;4.5;4.5;2022;2025;"bzt";@bztsrc +models;models_orthographic_projection;★☆☆☆;2.0;3.7;2018;2025;"Max Danielsson";@autious +models;models_point_rendering;★★★☆;5.0;5.0;2024;2025;"Reese Gallagher";@satchelfrost +models;models_rlgl_solar_system;★★★★;2.5;4.0;2018;2025;"Ramon Santamaria";@raysan5 +models;models_yaw_pitch_roll;★★☆☆;1.8;4.0;2017;2025;"Berni";@Berni8k +models;models_waving_cubes;★★★☆;2.5;3.7;2019;2025;"Codecat";@codecat +models;models_heightmap;★☆☆☆;1.8;3.5;2015;2025;"Ramon Santamaria";@raysan5 +models;models_skybox_rendering;★★☆☆;1.8;4.0;2017;2025;"Ramon Santamaria";@raysan5 +models;models_draw_cube_texture;★★☆☆;4.5;4.5;2022;2025;"Ramon Santamaria";@raysan5 +models;models_gpu_skinning;★★★☆;4.5;4.5;2024;2025;"Daniel Holden";@orangeduck +models;models_bone_socket;★★★★;4.5;4.5;2024;2025;"iP";@ipzaur +models;models_tesseract_view;★★☆☆;5.6-dev;5.6-dev;2024;2025;"Timothy van der Valk";@arceryz +shaders;shaders_basic_lighting;★★★★;3.0;4.2;2019;2025;"Chris Camacho";@chriscamacho +shaders;shaders_model_shader;★★☆☆;1.3;3.7;2014;2025;"Ramon Santamaria";@raysan5 +shaders;shaders_shapes_textures;★★☆☆;1.7;3.7;2015;2025;"Ramon Santamaria";@raysan5 +shaders;shaders_custom_uniform;★★☆☆;1.3;4.0;2015;2025;"Ramon Santamaria";@raysan5 +shaders;shaders_postprocessing;★★★☆;1.3;4.0;2015;2025;"Ramon Santamaria";@raysan5 +shaders;shaders_palette_switch;★★★☆;2.5;3.7;2019;2025;"Marco Lizza";@MarcoLizza +shaders;shaders_raymarching;★★★★;2.0;4.2;2018;2025;"Ramon Santamaria";@raysan5 +shaders;shaders_texture_rendering;★★☆☆;2.0;3.7;2019;2025;"Michał Ciesielski";@ciessielski +shaders;shaders_texture_outline;★★★☆;4.0;4.0;2021;2025;"Serenity Skiff";@GoldenThumbs +shaders;shaders_texture_waves;★★☆☆;2.5;3.7;2019;2025;"Anata";@anatagawa +shaders;shaders_julia_set;★★★☆;2.5;4.0;2019;2025;"Josh Colclough";@joshcol9232 +shaders;shaders_eratosthenes;★★★☆;2.5;4.0;2019;2025;"ProfJski";@ProfJski +shaders;shaders_fog_rendering;★★★☆;2.5;3.7;2019;2025;"Chris Camacho";@chriscamacho +shaders;shaders_simple_mask;★★☆☆;2.5;3.7;2019;2025;"Chris Camacho";@chriscamacho +shaders;shaders_hot_reloading;★★★☆;3.0;3.5;2020;2025;"Ramon Santamaria";@raysan5 +shaders;shaders_mesh_instancing;★★★★;3.7;4.2;2020;2025;"seanpringle";@seanpringle +shaders;shaders_multi_sample2d;★★☆☆;3.5;3.5;2020;2025;"Ramon Santamaria";@raysan5 +shaders;shaders_normal_map;★★★★;5.6;5.6;2025;2025;"Jeremy Montgomery";@Sir_Irk +shaders;shaders_spotlight;★★☆☆;2.5;3.7;2019;2025;"Chris Camacho";@chriscamacho +shaders;shaders_deferred_render;★★★★;4.5;4.5;2023;2025;"Justin Andreas Lacoste";@27justin +shaders;shaders_hybrid_render;★★★★;4.2;4.2;2022;2025;"Buğra Alptekin Sarı";@BugraAlptekinSari +shaders;shaders_texture_tiling;★★☆☆;4.5;4.5;2023;2025;"Luis Almeida";@luis605 +shaders;shaders_shadowmap;★★★★;5.0;5.0;2023;2025;"TheManTheMythTheGameDev";@TheManTheMythTheGameDev +shaders;shaders_vertex_displacement;★★★☆;5.0;4.5;2023;2025;"Alex ZH";@ZzzhHe +shaders;shaders_write_depth;★★☆☆;4.2;4.2;2022;2025;"Buğra Alptekin Sarı";@BugraAlptekinSari +shaders;shaders_basic_pbr;★★★★;5.0;5.1-dev;2023;2025;"Afan OLOVCIC";@_DevDad +shaders;shaders_lightmap;★★★☆;4.5;4.5;2019;2025;"Jussi Viitala";@nullstare +shaders;shaders_rounded_rectangle;★★★☆;5.5;5.5;2025;2025;"Anstro Pleuton";@anstropleuton +shaders;shaders_view_depth;★★★☆;5.6-dev;5.6-dev;2025;2025;"Luís Almeida";@luis605 +audio;audio_module_playing;★☆☆☆;1.5;3.5;2016;2025;"Ramon Santamaria";@raysan5 +audio;audio_music_stream;★☆☆☆;1.3;4.2;2015;2025;"Ramon Santamaria";@raysan5 +audio;audio_raw_stream;★★★☆;1.6;4.2;2015;2025;"Ramon Santamaria";@raysan5 +audio;audio_sound_loading;★☆☆☆;1.1;3.5;2014;2025;"Ramon Santamaria";@raysan5 +audio;audio_mixed_processor;★★★★;4.2;4.2;2023;2025;"hkc";@hatkidchan +audio;audio_stream_effects;★★★★;4.2;5.0;2022;2025;"Ramon Santamaria";@raysan5 +audio;audio_sound_multi;★★☆☆;4.6;4.6;2023;2025;"Jeffery Myers";@JeffM2501 +audio;audio_sound_positioning;★★☆☆;5.5;5.5;2025;0;"Le Juez Victor";@Bigfoot71 +others;rlgl_standalone;★★★★;1.6;4.0;2014;2025;"Ramon Santamaria";@raysan5 +others;rlgl_compute_shader;★★★★;4.0;4.0;2021;2025;"Teddy Astie";@tsnake41 +others;easings_testbed;★★★☆;2.5;3.0;2019;2025;"Juan Miguel López";@flashback-fx +others;raylib_opengl_interop;★★★★;3.8;4.0;2021;2025;"Stephan Soller";@arkanis +others;embedded_files_loading;★★☆☆;3.0;3.5;2020;2025;"Kristian Holmgren";@defutura +others;raymath_vector_angle;★★☆☆;1.0;4.6;2023;2025;"Ramon Santamaria";@raysan5 From 3e59797a689727ba56a8ea466f622bcedd548589 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 5 Sep 2025 14:10:26 +0200 Subject: [PATCH 035/125] REXM: ADDED: Read examples years created/reviewed info ADDED: `UpdateSourceMetadata()` --- tools/rexm/rexm.c | 226 +++++++++++++++++++++++++--------------------- 1 file changed, 122 insertions(+), 104 deletions(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index d6c29934f..e53e5eb15 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -75,8 +75,10 @@ typedef struct { char category[16]; // Example category: core, shapes, textures, text, models, shaders, audio, others char name[128]; // Example name: _name_part int stars; // Example stars count: ★☆☆☆ - float verCreated; // Example raylib creation version - float verUpdated; // Example raylib last update version + char verCreated[12]; // Example raylib creation version + char verUpdated[12]; // Example raylib last update version + int yearCreated; // Example year created + int yearReviewed; // Example year reviewed char author[64]; // Example author char authorGitHub[64]; // Example author, GitHub user name @@ -153,7 +155,7 @@ static rlExampleInfo *LoadExampleInfo(const char *exFileName); static void UnloadExampleInfo(rlExampleInfo *exInfo); // raylib example line info parser -// Parses following line format: core/core_basic_window;⭐️☆☆☆;1.0;1.0;"Ray"/@raysan5 +// Parses following line format: core/core_basic_window;★☆☆☆;1.0;1.0;"Ray"/@raysan5 static int ParseExampleInfoLine(const char *line, rlExampleInfo *entry); // Sort array of strings by name @@ -215,6 +217,35 @@ int main(int argc, char *argv[]) int opCode = OP_NONE; // Operation code: 0-None(Help), 1-Create, 2-Add, 3-Rename, 4-Remove + /* + // Code used to update examples list, to be removed + int exListCount = 0; + rlExampleInfo *exCollection = LoadExamplesData(exCollectionFilePath, "ALL", false, &exListCount); + char *exColUpdated = (char *)RL_CALLOC(REXM_MAX_BUFFER_SIZE, 1); + char starsText[16] = { 0 }; + for (int i = 0, textOffset = 0; i < exListCount; i++) + { + rlExampleInfo *info = LoadExampleInfo(TextFormat("%s/%s/%s.c", exBasePath, exCollection[i].category, exCollection[i].name)); + + // Get stars as text + for (int s = 0; s < 4; s++) + { + // NOTE: Every UTF-8 star are 3 bytes + if (s < exCollection[i].stars) strcpy(starsText + 3*s, "★"); + else strcpy(starsText + 3*s, "☆"); + } + + //;;;;;;;""; + textOffset += sprintf(exColUpdated + textOffset, "%s;%s;%s;%s;%s;%i;%i;\"%s\";@%s\n", + exCollection[i].category, exCollection[i].name, starsText, exCollection[i].verCreated, exCollection[i].verUpdated, + info->yearCreated, info->yearReviewed, exCollection[i].author, exCollection[i].authorGitHub); + + UnloadExampleInfo(info); + } + UnloadExamplesData(exCollection); + SaveFileText(TextFormat("%s/examples_list_updated.txt", exBasePath), exColUpdated); + */ + // Command-line usage mode //-------------------------------------------------------------------------------------- if (argc > 1) @@ -485,7 +516,7 @@ int main(int argc, char *argv[]) // ----------------------------------------------------------------------------------------- // Add example to the collection list, if not already there - // NOTE: Required format: shapes;shapes_basic_shapes;⭐️☆☆☆;1.0;4.2;"Ray";@raysan5 + // NOTE: Required format: shapes;shapes_basic_shapes;★☆☆☆;1.0;4.2;"Ray";@raysan5 //------------------------------------------------------------------------------------------------ char *exCollectionList = LoadFileText(exCollectionFilePath); if (TextFindIndex(exCollectionList, exName) == -1) // Example not found @@ -509,7 +540,7 @@ int main(int argc, char *argv[]) // NOTE: If no example info is provided (other than category/name), just using some default values rlExampleInfo *exInfo = LoadExampleInfo(TextFormat("%s/%s/%s.c", exBasePath, exCategory, exName)); - // Get example difficulty stars + // Get example difficulty stars text char starsText[16] = { 0 }; for (int i = 0; i < 4; i++) { @@ -523,15 +554,15 @@ int main(int argc, char *argv[]) // Add example to collection at the EOF int endIndex = (int)strlen(exCollectionList); memcpy(exCollectionListUpdated, exCollectionList, endIndex); - sprintf(exCollectionListUpdated + endIndex, TextFormat("%s;%s;%s;%.2f;%.2f;\"%s\";@%s\n", - exInfo->category, exInfo->name, starsText, exInfo->verCreated, exInfo->verUpdated, exInfo->author, exInfo->authorGitHub)); + sprintf(exCollectionListUpdated + endIndex, TextFormat("%s;%s;%s;%s;%s;%s;%s;\"%s\";@%s\n", + exInfo->category, exInfo->name, starsText, exInfo->verCreated, exInfo->verUpdated, exInfo->yearCreated, exInfo->yearReviewed, exInfo->author, exInfo->authorGitHub)); } else { // Add example to collection, at the end of the category list int categoryIndex = TextFindIndex(exCollectionList, exCategories[nextCategoryIndex]); memcpy(exCollectionListUpdated, exCollectionList, categoryIndex); - int textWritenSize = sprintf(exCollectionListUpdated + categoryIndex, TextFormat("%s;%s;%s;%.2f;%.2f;\"%s\";@%s\n", + int textWritenSize = sprintf(exCollectionListUpdated + categoryIndex, TextFormat("%s;%s;%s;%s;%s;\"%s\";@%s\n", exInfo->category, exInfo->name, starsText, exInfo->verCreated, exInfo->verUpdated, exInfo->author, exInfo->authorGitHub)); memcpy(exCollectionListUpdated + categoryIndex + textWritenSize, exCollectionList + categoryIndex, strlen(exCollectionList) - categoryIndex); } @@ -844,15 +875,15 @@ int main(int argc, char *argv[]) // Get example difficulty stars char starsText[16] = { 0 }; - for (int i = 0; i < 4; i++) + for (int s = 0; s < 4; s++) { // NOTE: Every UTF-8 star are 3 bytes - if (i < exInfo->stars) strcpy(starsText + 3*i, "⭐️"); - else strcpy(starsText + 3*i, "☆"); + if (s < exInfo->stars) strcpy(starsText + 3*s, "★"); + else strcpy(starsText + 3*s, "☆"); } exListLen += sprintf(exListUpdated + exListLen, - TextFormat("%s;%s;%s;%.1f;%.1f;\"%s\";@%s\n", + TextFormat("%s;%s;%s;%s;%s;\"%s\";@%s\n", exInfo->category, exInfo->name, starsText, exInfo->verCreated, exInfo->verUpdated, exInfo->author, exInfo->authorGitHub)); @@ -994,8 +1025,8 @@ int main(int argc, char *argv[]) (strcmp(exInfo->author, exInfoHeader->author) != 0) || (strcmp(exInfo->authorGitHub, exInfoHeader->authorGitHub) != 0) || (exInfo->stars != exInfoHeader->stars) || - (exInfo->verCreated != exInfoHeader->verCreated) || - (exInfo->verUpdated != exInfoHeader->verUpdated)) + (strcmp(exInfo->verCreated, exInfoHeader->verCreated) != 0) || + (strcmp(exInfo->verUpdated, exInfoHeader->verUpdated) != 0)) { exInfo->status |= VALID_INCONSISTENT_INFO; } @@ -1559,19 +1590,19 @@ static int UpdateRequiredFiles(void) mdIndex += sprintf(mdTextUpdated + mdListStartIndex + mdIndex, "| example | image | difficulty
level | version
created | last version
updated | original
developer |\n"); mdIndex += sprintf(mdTextUpdated + mdListStartIndex + mdIndex, "|-----------|--------|:-------------------:|:------------------:|:-----------------------:|:----------------------|\n"); + char starsTexts[16] = { 0 }; for (int x = 0; x < exCollectionCount; x++) { - char stars[16] = { 0 }; for (int s = 0; s < 4; s++) { - if (s < exCollection[x].stars) strcpy(stars + 3*s, "⭐️"); - else strcpy(stars + 3*s, "☆"); + if (s < exCollection[x].stars) strcpy(starsText + 3*s, "⭐️"); // WARNING: Different than '★', more visual + else strcpy(starsText + 3*s, "☆"); } mdIndex += sprintf(mdTextUpdated + mdListStartIndex + mdIndex, - TextFormat("| [%s](%s/%s.c) | \"%s\" | %s | %.1f | %.1f | [%s](https://github.com/%s) |\n", + TextFormat("| [%s](%s/%s.c) | \"%s\" | %s | %s | %s | [%s](https://github.com/%s) |\n", exCollection[x].name, exCollection[x].category, exCollection[x].name, exCollection[x].category, exCollection[x].name, exCollection[x].name, - stars, exCollection[x].verCreated, exCollection[x].verUpdated, exCollection[x].author, exCollection[x].authorGitHub)); + starsText, exCollection[x].verCreated, exCollection[x].verUpdated, exCollection[x].author, exCollection[x].authorGitHub)); } UnloadExamplesData(exCollection); @@ -1602,6 +1633,8 @@ static int UpdateRequiredFiles(void) jsIndex = sprintf(jsTextUpdated + jsListStartIndex, "//EXAMPLE_DATA_LIST_START\n"); jsIndex += sprintf(jsTextUpdated + jsListStartIndex + jsIndex, " var exampleData = [\n"); + char starsText[16] = { 0 }; + // NOTE: We avoid "others" category for (int i = 0; i < REXM_MAX_EXAMPLE_CATEGORIES - 1; i++) { @@ -1609,18 +1642,17 @@ static int UpdateRequiredFiles(void) rlExampleInfo *exCollection = LoadExamplesData(exCollectionFilePath, exCategories[i], false, &exCollectionCount); for (int x = 0; x < exCollectionCount; x++) { - char stars[16] = { 0 }; for (int s = 0; s < 4; s++) { - if (s < exCollection[x].stars) strcpy(stars + 3*s, "⭐️"); - else strcpy(stars + 3*s, "☆"); + if (s < exCollection[x].stars) strcpy(starsText + 3*s, "⭐️"); // WARNING: Different than '★', more visual + else strcpy(starsText + 3*s, "☆"); } if ((i == 6) && (x == (exCollectionCount - 1))) { // NOTE: Last line to add, special case to consider jsIndex += sprintf(jsTextUpdated + jsListStartIndex + jsIndex, - TextFormat(" exampleEntry('%s', '%s', '%s')];\n", stars, exCollection[x].category, exCollection[x].name + strlen(exCollection[x].category) + 1)); + TextFormat(" exampleEntry('%s', '%s', '%s')];\n", starsText, exCollection[x].category, exCollection[x].name + strlen(exCollection[x].category) + 1)); } else { @@ -1808,7 +1840,7 @@ static int FileMove(const char *srcPath, const char *dstPath) } // Get example info from example file header -// NOTE: Expecting the example to follow raylib_example_template.c +// WARNING: Expecting the example to follow raylib_example_template.c static rlExampleInfo *LoadExampleInfo(const char *exFileName) { rlExampleInfo *exInfo = (rlExampleInfo *)RL_CALLOC(1, sizeof(rlExampleInfo)); @@ -1821,8 +1853,7 @@ static rlExampleInfo *LoadExampleInfo(const char *exFileName) char *exText = LoadFileText(exFileName); // Get example difficulty stars - // NOTE: Counting the unicode char occurrences: ⭐️ - // WARNING: The stars unicode in examples is not the same than in collection list!!! + // NOTE: Counting the unicode char occurrences: ★ int starsIndex = TextFindIndex(exText, "★"); if (starsIndex > 0) { @@ -1841,26 +1872,28 @@ static rlExampleInfo *LoadExampleInfo(const char *exFileName) } // Get example create with raylib version - char verCreateText[4] = { 0 }; int verCreateIndex = TextFindIndex(exText, "created with raylib "); // Version = index + 20 - if (verCreateIndex > 0) strncpy(verCreateText, exText + verCreateIndex + 20, 3); - else strncpy(verCreateText, RAYLIB_VERSION, 3); // Only pick MAJOR.MINOR - exInfo->verCreated = TextToFloat(verCreateText); + if (verCreateIndex > 0) strncpy(exInfo->verCreated, exText + verCreateIndex + 20, 3); + else strncpy(exInfo->verCreated, RAYLIB_VERSION, 3); // Only pick MAJOR.MINOR // Get example update with raylib version - char verUpdateText[4] = { 0 }; int verUpdateIndex = TextFindIndex(exText, "updated with raylib "); // Version = index + 20 - if (verUpdateIndex > 0) strncpy(verUpdateText, exText + verUpdateIndex + 20, 3); - else strncpy(verUpdateText, RAYLIB_VERSION, 3); // Only pick MAJOR.MINOR - exInfo->verUpdated = TextToFloat(verUpdateText); + if (verUpdateIndex > 0) strncpy(exInfo->verUpdated, exText + verUpdateIndex + 20, 3); + else strncpy(exInfo->verUpdated, RAYLIB_VERSION, 3); // Only pick MAJOR.MINOR - // Get example creator and github user + // Get example years created/reviewed and creator and github user // NOTE: Using copyright line instead of "Example contributed by " because // most examples do not contain that line --> TODO: Review examples header formating? // Expected format: Copyright (c) - (@) // Alternatives: Copyright (c) (@) and (@) int copyrightIndex = TextFindIndex(exText, "Copyright (c) "); int yearStartIndex = copyrightIndex + 14; + char yearText[5] = { 0 }; + strncpy(yearText, exText + yearStartIndex, 4); + exInfo->yearCreated = TextToInteger(yearText); + // Check for review year included (or just use creation year) + if (exText[yearStartIndex + 4] == '-') strncpy(yearText, exText + yearStartIndex + 5, 4); + exInfo->yearReviewed = TextToInteger(yearText); int yearEndIndex = TextFindIndex(exText + yearStartIndex, " "); int authorStartIndex = yearStartIndex + yearEndIndex + 1; int authorEndIndex = TextFindIndex(exText + authorStartIndex, " (@"); @@ -1898,7 +1931,7 @@ static void UnloadExampleInfo(rlExampleInfo *exInfo) } // raylib example line info parser -// Parses following line format: core;core_basic_window;⭐️☆☆☆;1.0;1.0;"Ray";@raysan5 +// Parses following line format: core;core_basic_window;★☆☆☆;1.0;1.0;2013;2025;"Ray";@raysan5 static int ParseExampleInfoLine(const char *line, rlExampleInfo *entry) { #define MAX_EXAMPLE_INFO_LINE_LEN 512 @@ -1909,19 +1942,21 @@ static int ParseExampleInfoLine(const char *line, rlExampleInfo *entry) int tokenCount = 0; char **tokens = TextSplit(line, ';', &tokenCount); + + if (tokenCount != 7) LOG("REXM: WARNING: Example collection line contains invalid numbe of tokens: %i", tokenCount); // Get category and name strcpy(entry->category, tokens[0]); strcpy(entry->name, tokens[1]); // Parsing stars - // NOTE: Counting the unicode char occurrences: ⭐️ + // NOTE: Counting the unicode char occurrences: ★ const char *starPtr = tokens[2]; while (*starPtr) { if (((unsigned char)starPtr[0] == 0xe2) && - ((unsigned char)starPtr[1] == 0xad) && - ((unsigned char)starPtr[2] == 0x90)) + ((unsigned char)starPtr[1] == 0x98) && + ((unsigned char)starPtr[2] == 0x85)) { entry->stars++; starPtr += 3; // Advance past multibyte character @@ -1930,14 +1965,18 @@ static int ParseExampleInfoLine(const char *line, rlExampleInfo *entry) } // Get raylib creation/update versions - entry->verCreated = strtof(tokens[3], NULL); - entry->verUpdated = strtof(tokens[4], NULL); + strcpy(entry->verCreated, tokens[3]); + strcpy(entry->verUpdated, tokens[4]); + + // Get year created and year reviewed + strcpy(entry->yearCreated, tokens[5]); + strcpy(entry->yearReviewed, tokens[6]); // Get author and github - if (tokens[5][0] == '"') tokens[5] += 1; - if (tokens[5][strlen(tokens[5]) - 1] == '"') tokens[5][strlen(tokens[5]) - 1] = '\0'; - strcpy(entry->author, tokens[5]); - strcpy(entry->authorGitHub, tokens[6] + 1); // Skip '@' + if (tokens[6][0] == '"') tokens[6] += 1; + if (tokens[6][strlen(tokens[6]) - 1] == '"') tokens[6][strlen(tokens[6]) - 1] = '\0'; + strcpy(entry->author, tokens[6]); + strcpy(entry->authorGitHub, tokens[7] + 1); // Skip '@' return 1; } @@ -1988,7 +2027,7 @@ static char **ScanExampleResources(const char *filePath, int *resPathCount) // WARNING: Some paths could be for saving files, not loading, those "resource" files must be omitted // HACK: Just check previous position from pointer for function name including the string... - // This is a dirty solution, the good one would be getting the data loading function names... + // This is a quick solution, the good one would be getting the data loading function names... if ((TextFindIndex(ptr - 40, "ExportImage") == -1) && (TextFindIndex(ptr - 10, "TraceLog") == -1)) // Avoid TraceLog() strings processing { @@ -2242,75 +2281,54 @@ static void UpdateSourceMetadata(const char *exSrcPath, const rlExampleInfo *inf { if (FileExists(exSrcPath) && IsFileExtension(exSrcPath, ".c")) { - char *fileText = LoadFileText(exSrcPath); - char *fileTextUpdated[6] = { 0 }; // Pointers to multiple updated text versions + char *exText = LoadFileText(exSrcPath); + char *exTextUpdated[6] = { 0 }; // Pointers to multiple updated text versions - char exName[64] = { 0 }; // Example name: fileName without extension - char exCategory[16] = { 0 }; // Example category: core, shapes, text, textures, models, audio, shaders - char exDescription[256] = { 0 }; // Example description: example text line #3 - char exTitle[64] = { 0 }; // Example title: fileName without extension, replacing underscores by spaces - - // TODO: Update source code metadata + char exNameFormated[256] = { 0 }; // Example name without category and using spaces // Update example header title (line #3 - ALWAYS) // String: "* raylib [shaders] example - texture drawing" - + exTextUpdated[0] = TextReplaceBetween(exSrcPath, + TextFormat("%s] example - %s", info->category, exNameFormated), "* raylib [", "\n"); // Update example complexity rating // String: "* Example complexity rating: [★★☆☆] 2/4" - fileTextUpdated[0] = TextReplaceBetween(exSrcPath, "★★☆☆] 2", "Example complexity rating: [", "/4\n"); - + // Get example difficulty stars text + char starsText[16] = { 0 }; + for (int i = 0; i < 4; i++) + { + // NOTE: Every UTF-8 star are 3 bytes + if (i < info->stars) strcpy(starsText + 3*i, "★"); + else strcpy(starsText + 3*i, "☆"); + } + exTextUpdated[1] = TextReplaceBetween(exTextUpdated[0], + TextFormat("%s] %i", starsText, info->stars), "* Example complexity rating: [", "/4\n"); // Update example creation/update raylib versions // String: "* Example originally created with raylib 2.0, last time updated with raylib 3.7 - + exTextUpdated[2] = TextReplaceBetween(exTextUpdated[1], + TextFormat("%s, last time updated with raylib %s", info->verCreated, info->verUpdated), "* Example originally created with raylib ", "\n"); // Update contributors names // String: "* Example contributed by Contributor Name (@github_user) and reviewed by Ramon Santamaria (@raysan5)" - + exTextUpdated[3] = TextReplaceBetween(exTextUpdated[2], + TextFormat("%s (@%s", info->author, info->authorGitHub), "* Example contributed by ", ")"); // Update copyright message // String: "* Copyright (c) 2019-2025 Contributor Name (@github_user) and Ramon Santamaria (@raysan5)" - fileTextUpdated[0] = TextReplaceBetween(exSrcPath, "★★☆☆] 2", "Copyright (c) ", ")"); + exTextUpdated[4] = TextReplaceBetween(exTextUpdated[3], + TextFormat("%i-%i %s (@%s", info->yearCreated, info->yearReviewed, info->author, info->authorGitHub), "Copyright (c) ", ")"); // Update window title - //"InitWindow(screenWidth, screenHeight, "raylib [shaders] example - texture drawing");" + // String: "InitWindow(screenWidth, screenHeight, "raylib [shaders] example - texture drawing");" + exTextUpdated[5] = TextReplaceBetween(exTextUpdated[4], + TextFormat("raylib [%s] example - %s", info->category, exNameFormated), "InitWindow(screenWidth, screenHeight, \"", "\");"); - /* - // Get example name: replace underscore by spaces - strcpy(exName, GetFileNameWithoutExt(exSrcPath)); - strcpy(exTitle, exName); - for (int i = 0; (i < 256) && (exTitle[i] != '\0'); i++) { if (exTitle[i] == '_') exTitle[i] = ' '; } + SaveFileText(exSrcPath, exTextUpdated[5]); - // Get example category from exName: copy until first underscore - for (int i = 0; (exName[i] != '_'); i++) exCategory[i] = exName[i]; + for (int i = 0; i < 6; i++) { MemFree(exTextUpdated[i]); exTextUpdated[i] = NULL; } - // Get example description: copy line #3 from example file - char *exText = LoadFileText(exFilePath); - int lineCount = 0; - char **lines = LoadTextLines(exText, &lineCount); - int lineLength = (int)strlen(lines[2]); - strncpy(exDescription, lines[2] + 4, lineLength - 4); - UnloadTextLines(lines); UnloadFileText(exText); - - // Update example.html required text - fileTextUpdated[0] = TextReplace(fileText, "raylib web game", exTitle); - fileTextUpdated[1] = TextReplace(fileTextUpdated[0], "New raylib web videogame, developed using raylib videogames library", exDescription); - fileTextUpdated[2] = TextReplace(fileTextUpdated[1], "https://www.raylib.com/common/raylib_logo.png", - TextFormat("https://raw.githubusercontent.com/raysan5/raylib/master/examples/%s/%s.png", exCategory, exName)); - fileTextUpdated[3] = TextReplace(fileTextUpdated[2], "https://www.raylib.com/games.html", - TextFormat("https://www.raylib.com/examples/%s/%s.html", exCategory, exName)); - fileTextUpdated[4] = TextReplace(fileTextUpdated[3], "raylib - example", TextFormat("raylib - %s", exName)); // og:site_name - fileTextUpdated[5] = TextReplace(fileTextUpdated[4], "https://github.com/raysan5/raylib", - TextFormat("https://github.com/raysan5/raylib/blob/master/examples/%s/%s.c", exCategory, exName)); - */ - - SaveFileText(exSrcPath, fileTextUpdated[5]); - - for (int i = 0; i < 6; i++) { MemFree(fileTextUpdated[i]); fileTextUpdated[i] = NULL; } - - UnloadFileText(fileText); } } @@ -2319,8 +2337,8 @@ static void UpdateWebMetadata(const char *exHtmlPath, const char *exFilePath) { if (FileExists(exHtmlPath) && IsFileExtension(exHtmlPath, ".html")) { - char *fileText = LoadFileText(exHtmlPath); - char *fileTextUpdated[6] = { 0 }; // Pointers to multiple updated text versions + char *exHtmlText = LoadFileText(exHtmlPath); + char *exHtmlTextUpdated[6] = { 0 }; // Pointers to multiple updated text versions char exName[64] = { 0 }; // Example name: fileName without extension char exCategory[16] = { 0 }; // Example category: core, shapes, text, textures, models, audio, shaders @@ -2345,17 +2363,17 @@ static void UpdateWebMetadata(const char *exHtmlPath, const char *exFilePath) UnloadFileText(exText); // Update example.html required text - fileTextUpdated[0] = TextReplace(fileText, "raylib web game", exTitle); - fileTextUpdated[1] = TextReplace(fileTextUpdated[0], "New raylib web videogame, developed using raylib videogames library", exDescription); - fileTextUpdated[2] = TextReplace(fileTextUpdated[1], "https://www.raylib.com/common/raylib_logo.png", + exHtmlTextUpdated[0] = TextReplace(exHtmlText, "raylib web game", exTitle); + exHtmlTextUpdated[1] = TextReplace(exHtmlTextUpdated[0], "New raylib web videogame, developed using raylib videogames library", exDescription); + exHtmlTextUpdated[2] = TextReplace(exHtmlTextUpdated[1], "https://www.raylib.com/common/raylib_logo.png", TextFormat("https://raw.githubusercontent.com/raysan5/raylib/master/examples/%s/%s.png", exCategory, exName)); - fileTextUpdated[3] = TextReplace(fileTextUpdated[2], "https://www.raylib.com/games.html", + exHtmlTextUpdated[3] = TextReplace(exHtmlTextUpdated[2], "https://www.raylib.com/games.html", TextFormat("https://www.raylib.com/examples/%s/%s.html", exCategory, exName)); - fileTextUpdated[4] = TextReplace(fileTextUpdated[3], "raylib - example", TextFormat("raylib - %s", exName)); // og:site_name - fileTextUpdated[5] = TextReplace(fileTextUpdated[4], "https://github.com/raysan5/raylib", + exHtmlTextUpdated[4] = TextReplace(exHtmlTextUpdated[3], "raylib - example", TextFormat("raylib - %s", exName)); // og:site_name + exHtmlTextUpdated[5] = TextReplace(exHtmlTextUpdated[4], "https://github.com/raysan5/raylib", TextFormat("https://github.com/raysan5/raylib/blob/master/examples/%s/%s.c", exCategory, exName)); - SaveFileText(exHtmlPath, fileTextUpdated[5]); + SaveFileText(exHtmlPath, exHtmlTextUpdated[5]); //LOG("INFO: [%s] Updated successfully\n",files.paths[i]); //LOG(" - Name / Title: %s / %s\n", exName, exTitle); @@ -2363,9 +2381,9 @@ static void UpdateWebMetadata(const char *exHtmlPath, const char *exFilePath) //LOG(" - URL: %s\n", TextFormat("https://www.raylib.com/examples/%s/%s.html", exCategory, exName)); //LOG(" - URL Source: %s\n", TextFormat("https://github.com/raysan5/raylib/blob/master/examples/%s/%s.c", exCategory, exName)); - for (int i = 0; i < 6; i++) { MemFree(fileTextUpdated[i]); fileTextUpdated[i] = NULL; } + for (int i = 0; i < 6; i++) { MemFree(exHtmlTextUpdated[i]); exHtmlTextUpdated[i] = NULL; } - UnloadFileText(fileText); + UnloadFileText(exHtmlText); } } From 1d4d8da3e9b5b1f96629ee945d035e0abaf139d9 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 5 Sep 2025 22:59:42 +0200 Subject: [PATCH 036/125] Removed temp code to generate updated examples_list.txt --- tools/rexm/rexm.c | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index e53e5eb15..151ec6497 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -217,35 +217,6 @@ int main(int argc, char *argv[]) int opCode = OP_NONE; // Operation code: 0-None(Help), 1-Create, 2-Add, 3-Rename, 4-Remove - /* - // Code used to update examples list, to be removed - int exListCount = 0; - rlExampleInfo *exCollection = LoadExamplesData(exCollectionFilePath, "ALL", false, &exListCount); - char *exColUpdated = (char *)RL_CALLOC(REXM_MAX_BUFFER_SIZE, 1); - char starsText[16] = { 0 }; - for (int i = 0, textOffset = 0; i < exListCount; i++) - { - rlExampleInfo *info = LoadExampleInfo(TextFormat("%s/%s/%s.c", exBasePath, exCollection[i].category, exCollection[i].name)); - - // Get stars as text - for (int s = 0; s < 4; s++) - { - // NOTE: Every UTF-8 star are 3 bytes - if (s < exCollection[i].stars) strcpy(starsText + 3*s, "★"); - else strcpy(starsText + 3*s, "☆"); - } - - //;;;;;;;""; - textOffset += sprintf(exColUpdated + textOffset, "%s;%s;%s;%s;%s;%i;%i;\"%s\";@%s\n", - exCollection[i].category, exCollection[i].name, starsText, exCollection[i].verCreated, exCollection[i].verUpdated, - info->yearCreated, info->yearReviewed, exCollection[i].author, exCollection[i].authorGitHub); - - UnloadExampleInfo(info); - } - UnloadExamplesData(exCollection); - SaveFileText(TextFormat("%s/examples_list_updated.txt", exBasePath), exColUpdated); - */ - // Command-line usage mode //-------------------------------------------------------------------------------------- if (argc > 1) From 84e606b8c74ecc6ffb5c0d233400049c9351be46 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 5 Sep 2025 23:00:36 +0200 Subject: [PATCH 037/125] Update rexm.c --- tools/rexm/rexm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index 151ec6497..4c1667dbe 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -1561,7 +1561,7 @@ static int UpdateRequiredFiles(void) mdIndex += sprintf(mdTextUpdated + mdListStartIndex + mdIndex, "| example | image | difficulty
level | version
created | last version
updated | original
developer |\n"); mdIndex += sprintf(mdTextUpdated + mdListStartIndex + mdIndex, "|-----------|--------|:-------------------:|:------------------:|:-----------------------:|:----------------------|\n"); - char starsTexts[16] = { 0 }; + char starsText[16] = { 0 }; for (int x = 0; x < exCollectionCount; x++) { for (int s = 0; s < 4; s++) @@ -1628,7 +1628,7 @@ static int UpdateRequiredFiles(void) else { jsIndex += sprintf(jsTextUpdated + jsListStartIndex + jsIndex, - TextFormat(" exampleEntry('%s', '%s', '%s'),\n", stars, exCollection[x].category, exCollection[x].name + strlen(exCollection[x].category) + 1)); + TextFormat(" exampleEntry('%s', '%s', '%s'),\n", starsText, exCollection[x].category, exCollection[x].name + strlen(exCollection[x].category) + 1)); } } From eb816898e595fde68a2576ad180bd3d313e48a06 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 5 Sep 2025 23:02:06 +0200 Subject: [PATCH 038/125] Revert "Added creation-review years to examples" This reverts commit b5e25916fc2219eec088dfa948474cca019096eb. --- examples/shaders/shaders_view_depth.c | 2 +- examples/shapes/shapes_digital_clock.c | 2 +- examples/shapes/shapes_double_pendulum.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/shaders/shaders_view_depth.c b/examples/shaders/shaders_view_depth.c index a11f52dc5..f4eecf7e2 100644 --- a/examples/shaders/shaders_view_depth.c +++ b/examples/shaders/shaders_view_depth.c @@ -11,7 +11,7 @@ * Example 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) 2025-2025 Luís Almeida (@luis605) +* Copyright (c) 2025 Luís Almeida (@luis605) * ********************************************************************************************/ diff --git a/examples/shapes/shapes_digital_clock.c b/examples/shapes/shapes_digital_clock.c index c8a573cd6..82b8ee6bd 100644 --- a/examples/shapes/shapes_digital_clock.c +++ b/examples/shapes/shapes_digital_clock.c @@ -11,7 +11,7 @@ * Example 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) 2025-2025 Hamza RAHAL (@hmz-rhl) +* Copyright (c) 2025 Hamza RAHAL (@hmz-rhl) * ********************************************************************************************/ diff --git a/examples/shapes/shapes_double_pendulum.c b/examples/shapes/shapes_double_pendulum.c index 1bc2ee4a2..200f9ad7e 100644 --- a/examples/shapes/shapes_double_pendulum.c +++ b/examples/shapes/shapes_double_pendulum.c @@ -11,7 +11,7 @@ * Example 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) 2025-2025 JoeCheong (@Joecheong2006) +* Copyright (c) 2025 JoeCheong (@Joecheong2006) * ********************************************************************************************/ From bd810368b0575a3ae125eee2739d40ba54489bdc Mon Sep 17 00:00:00 2001 From: Eike Decker Date: Fri, 5 Sep 2025 23:05:08 +0200 Subject: [PATCH 039/125] Fixing base64 decoding error when input string is bad (#5170) The following code would crash the previous version when calling MemFree: // 53 * A const char maliciousBase64Input[] = "AAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; int decodedSize = 0; unsigned char *decodedData = DecodeDataBase64( maliciousBase64Input, &decodedSize); if (decodedData) { MemFree(decodedData); } The reason is a lack of array bound checks in the decoding loop, which corrupted here the heap (though this is platform dependent). Adding the bound checks here prevents the memory corruption. Tested with encoding random data of sizes 0-1023 and comparing it with the decoded result. --- src/rcore.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/rcore.c b/src/rcore.c index 97fc9e799..898f60b3f 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -2671,13 +2671,24 @@ unsigned char *DecodeDataBase64(const char *text, int *outputSize) for (int i = 0; i < dataSize;) { // Every 4 sixtets must generate 3 octets + if (i + 2 >= dataSize) + { + TRACELOG(LOG_WARNING, "BASE64 decoding error: Input data size is not valid"); + break; + } + unsigned int sixtetA = base64DecodeTable[(unsigned char)text[i]]; unsigned int sixtetB = base64DecodeTable[(unsigned char)text[i + 1]]; - unsigned int sixtetC = ((unsigned char)text[i + 2] != '=')? base64DecodeTable[(unsigned char)text[i + 2]] : 0; - unsigned int sixtetD = ((unsigned char)text[i + 3] != '=')? base64DecodeTable[(unsigned char)text[i + 3]] : 0; + unsigned int sixtetC = (i + 2 < dataSize && (unsigned char)text[i + 2] != '=')? base64DecodeTable[(unsigned char)text[i + 2]] : 0; + unsigned int sixtetD = (i + 3 < dataSize && (unsigned char)text[i + 3] != '=')? base64DecodeTable[(unsigned char)text[i + 3]] : 0; unsigned int octetPack = (sixtetA << 18) | (sixtetB << 12) | (sixtetC << 6) | sixtetD; + if (outputCount + 3 > maxOutputSize) + { + TRACELOG(LOG_WARNING, "BASE64 decoding: Output data size is too small"); + break; + } decodedData[outputCount + 0] = (octetPack >> 16) & 0xff; decodedData[outputCount + 1] = (octetPack >> 8) & 0xff; decodedData[outputCount + 2] = octetPack & 0xff; From 86ec1c08c2bf41940512ad48538f8a9b9a1b5f1a Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 5 Sep 2025 23:07:29 +0200 Subject: [PATCH 040/125] Update rexm.c --- tools/rexm/rexm.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index 4c1667dbe..8eee12ba4 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -2287,8 +2287,16 @@ static void UpdateSourceMetadata(const char *exSrcPath, const rlExampleInfo *inf // Update copyright message // String: "* Copyright (c) 2019-2025 Contributor Name (@github_user) and Ramon Santamaria (@raysan5)" - exTextUpdated[4] = TextReplaceBetween(exTextUpdated[3], - TextFormat("%i-%i %s (@%s", info->yearCreated, info->yearReviewed, info->author, info->authorGitHub), "Copyright (c) ", ")"); + if (info->yearCreated == info->yearReviewed) + { + exTextUpdated[4] = TextReplaceBetween(exTextUpdated[3], + TextFormat("%i %s (@%s", info->yearCreated, info->author, info->authorGitHub), "Copyright (c) ", ")"); + } + else + { + exTextUpdated[4] = TextReplaceBetween(exTextUpdated[3], + TextFormat("%i-%i %s (@%s", info->yearCreated, info->yearReviewed, info->author, info->authorGitHub), "Copyright (c) ", ")"); + } // Update window title // String: "InitWindow(screenWidth, screenHeight, "raylib [shaders] example - texture drawing");" From 446f015ac52e26e80611af4f529189e6dd132141 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 5 Sep 2025 23:10:13 +0200 Subject: [PATCH 041/125] Review formating --- src/rcore.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/rcore.c b/src/rcore.c index 898f60b3f..8dd9fd82c 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -2671,24 +2671,25 @@ unsigned char *DecodeDataBase64(const char *text, int *outputSize) for (int i = 0; i < dataSize;) { // Every 4 sixtets must generate 3 octets - if (i + 2 >= dataSize) + if ((i + 2) >= dataSize) { - TRACELOG(LOG_WARNING, "BASE64 decoding error: Input data size is not valid"); + TRACELOG(LOG_WARNING, "BASE64: Decoding error: Input data size is not valid"); break; } unsigned int sixtetA = base64DecodeTable[(unsigned char)text[i]]; unsigned int sixtetB = base64DecodeTable[(unsigned char)text[i + 1]]; - unsigned int sixtetC = (i + 2 < dataSize && (unsigned char)text[i + 2] != '=')? base64DecodeTable[(unsigned char)text[i + 2]] : 0; - unsigned int sixtetD = (i + 3 < dataSize && (unsigned char)text[i + 3] != '=')? base64DecodeTable[(unsigned char)text[i + 3]] : 0; + unsigned int sixtetC = (((i + 2) < dataSize) && (unsigned char)text[i + 2] != '=')? base64DecodeTable[(unsigned char)text[i + 2]] : 0; + unsigned int sixtetD = (((i + 3) < dataSize) && (unsigned char)text[i + 3] != '=')? base64DecodeTable[(unsigned char)text[i + 3]] : 0; unsigned int octetPack = (sixtetA << 18) | (sixtetB << 12) | (sixtetC << 6) | sixtetD; - if (outputCount + 3 > maxOutputSize) + if ((outputCount + 3) > maxOutputSize) { - TRACELOG(LOG_WARNING, "BASE64 decoding: Output data size is too small"); + TRACELOG(LOG_WARNING, "BASE64: Decoding error: Output data size is too small"); break; } + decodedData[outputCount + 0] = (octetPack >> 16) & 0xff; decodedData[outputCount + 1] = (octetPack >> 8) & 0xff; decodedData[outputCount + 2] = octetPack & 0xff; From 4af48fba743d13295abe09af4256b2c9a285931f Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 6 Sep 2025 00:04:07 +0200 Subject: [PATCH 042/125] REXM: REVIEWED: `UpdateSourceMetadata()` and `TextReplaceBetween()` --- tools/rexm/rexm.c | 64 +++++++++++++++++++++++++++++++++-------------- 1 file changed, 45 insertions(+), 19 deletions(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index 8eee12ba4..5dc73efe5 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -216,6 +216,24 @@ int main(int argc, char *argv[]) char exRename[64] = { 0 }; // Example re-name, without extension int opCode = OP_NONE; // Operation code: 0-None(Help), 1-Create, 2-Add, 3-Rename, 4-Remove + + /* + // Testing code for UpdateSourceMetadata() + rlExampleInfo test = { 0 }; + strcpy(test.category, "core"); + strcpy(test.name, "core_boring_window"); + test.stars = 4; + strcpy(test.verCreated, "2.9"); + strcpy(test.verUpdated, "6.0"); + test.yearCreated = 2010; + test.yearReviewed = 2026; + strcpy(test.author, "John W. Smith"); + strcpy(test.authorGitHub, "littlejohnny"); + + char exSourcePath[512] = { 0 }; + strcpy(exSourcePath, TextFormat("%s/core/core_basic_window.c", exBasePath)); // WARNING: Cache path for saving + UpdateSourceMetadata(exSourcePath, &test); + */ // Command-line usage mode //-------------------------------------------------------------------------------------- @@ -1940,8 +1958,8 @@ static int ParseExampleInfoLine(const char *line, rlExampleInfo *entry) strcpy(entry->verUpdated, tokens[4]); // Get year created and year reviewed - strcpy(entry->yearCreated, tokens[5]); - strcpy(entry->yearReviewed, tokens[6]); + entry->yearCreated = TextToInteger(tokens[5]); + entry->yearReviewed = TextToInteger(tokens[6]); // Get author and github if (tokens[6][0] == '"') tokens[6] += 1; @@ -2256,10 +2274,14 @@ static void UpdateSourceMetadata(const char *exSrcPath, const rlExampleInfo *inf char *exTextUpdated[6] = { 0 }; // Pointers to multiple updated text versions char exNameFormated[256] = { 0 }; // Example name without category and using spaces + int exNameIndex = TextFindIndex(info->name, "_"); + strcpy(exNameFormated, info->name + exNameIndex + 1); + int exNameLen = strlen(exNameFormated); + for (int i = 0; i < exNameLen; i++) { if (exNameFormated[i] == '_') exNameFormated[i] = ' '; } // Update example header title (line #3 - ALWAYS) // String: "* raylib [shaders] example - texture drawing" - exTextUpdated[0] = TextReplaceBetween(exSrcPath, + exTextUpdated[0] = TextReplaceBetween(exText, TextFormat("%s] example - %s", info->category, exNameFormated), "* raylib [", "\n"); // Update example complexity rating @@ -2280,30 +2302,32 @@ static void UpdateSourceMetadata(const char *exSrcPath, const rlExampleInfo *inf exTextUpdated[2] = TextReplaceBetween(exTextUpdated[1], TextFormat("%s, last time updated with raylib %s", info->verCreated, info->verUpdated), "* Example originally created with raylib ", "\n"); - // Update contributors names - // String: "* Example contributed by Contributor Name (@github_user) and reviewed by Ramon Santamaria (@raysan5)" - exTextUpdated[3] = TextReplaceBetween(exTextUpdated[2], - TextFormat("%s (@%s", info->author, info->authorGitHub), "* Example contributed by ", ")"); - // Update copyright message // String: "* Copyright (c) 2019-2025 Contributor Name (@github_user) and Ramon Santamaria (@raysan5)" if (info->yearCreated == info->yearReviewed) { - exTextUpdated[4] = TextReplaceBetween(exTextUpdated[3], + exTextUpdated[3] = TextReplaceBetween(exTextUpdated[2], TextFormat("%i %s (@%s", info->yearCreated, info->author, info->authorGitHub), "Copyright (c) ", ")"); } else { - exTextUpdated[4] = TextReplaceBetween(exTextUpdated[3], + exTextUpdated[3] = TextReplaceBetween(exTextUpdated[2], TextFormat("%i-%i %s (@%s", info->yearCreated, info->yearReviewed, info->author, info->authorGitHub), "Copyright (c) ", ")"); } // Update window title // String: "InitWindow(screenWidth, screenHeight, "raylib [shaders] example - texture drawing");" - exTextUpdated[5] = TextReplaceBetween(exTextUpdated[4], + exTextUpdated[4] = TextReplaceBetween(exTextUpdated[3], TextFormat("raylib [%s] example - %s", info->category, exNameFormated), "InitWindow(screenWidth, screenHeight, \"", "\");"); - SaveFileText(exSrcPath, exTextUpdated[5]); + // Update contributors names + // String: "* Example contributed by Contributor Name (@github_user) and reviewed by Ramon Santamaria (@raysan5)" + // WARNING: Not all examples are contributed by someone, so the result of this replace can be NULL (string not found) + exTextUpdated[5] = TextReplaceBetween(exTextUpdated[4], + TextFormat("%s (@%s", info->author, info->authorGitHub), "* Example contributed by ", ")"); + + if (exTextUpdated[5] != NULL) SaveFileText(exSrcPath, exTextUpdated[5]); + else SaveFileText(exSrcPath, exTextUpdated[4]); for (int i = 0; i < 6; i++) { MemFree(exTextUpdated[i]); exTextUpdated[i] = NULL; } @@ -2403,19 +2427,21 @@ static char *TextReplaceBetween(const char *text, const char *replace, const cha if (beginIndex > -1) { - int endIndex = TextFindIndex(text + beginIndex, end); + int beginLen = strlen(begin); + int endIndex = TextFindIndex(text + beginIndex + beginLen, end); - if (beginIndex > -1) + if (endIndex > -1) { + endIndex += (beginIndex + beginLen); + int textLen = strlen(text); int replaceLen = strlen(replace); - int toreplaceLen = (endIndex + beginIndex) - (beginIndex + strlen(begin)); + int toreplaceLen = endIndex - beginIndex - beginLen; result = (char *)RL_CALLOC(textLen + replaceLen - toreplaceLen + 1, sizeof(char)); - int beginLen = strlen(begin); - strncpy(result, text, textLen - beginIndex + strlen(begin)); // Copy first text part - strncpy(result + textLen - beginIndex + beginLen, replace, replaceLen); // Copy replace - strncpy(result + textLen - beginIndex + beginLen + replaceLen, text + beginIndex + toreplaceLen, textLen - endIndex); // Copy end text part + strncpy(result, text, beginIndex + beginLen); // Copy first text part + strncpy(result + beginIndex + beginLen, replace, replaceLen); // Copy replace + strncpy(result + beginIndex + beginLen + replaceLen, text + endIndex, textLen - endIndex); // Copy end text part } } From 16a0b966c3640d679a9bce5c11164945cadd0783 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 6 Sep 2025 00:09:22 +0200 Subject: [PATCH 043/125] Update rexm.c --- tools/rexm/rexm.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index 5dc73efe5..b013646fa 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -526,6 +526,7 @@ int main(int argc, char *argv[]) else if (strcmp(exCategory, "others") == 0) nextCategoryIndex = -1; // Add to EOF // Get required example info from example file header (if provided) + // NOTE: If no example info is provided (other than category/name), just using some default values rlExampleInfo *exInfo = LoadExampleInfo(TextFormat("%s/%s/%s.c", exBasePath, exCategory, exName)); @@ -543,7 +544,7 @@ int main(int argc, char *argv[]) // Add example to collection at the EOF int endIndex = (int)strlen(exCollectionList); memcpy(exCollectionListUpdated, exCollectionList, endIndex); - sprintf(exCollectionListUpdated + endIndex, TextFormat("%s;%s;%s;%s;%s;%s;%s;\"%s\";@%s\n", + sprintf(exCollectionListUpdated + endIndex, TextFormat("%s;%s;%s;%s;%s;%i;%i;\"%s\";@%s\n", exInfo->category, exInfo->name, starsText, exInfo->verCreated, exInfo->verUpdated, exInfo->yearCreated, exInfo->yearReviewed, exInfo->author, exInfo->authorGitHub)); } else @@ -551,8 +552,8 @@ int main(int argc, char *argv[]) // Add example to collection, at the end of the category list int categoryIndex = TextFindIndex(exCollectionList, exCategories[nextCategoryIndex]); memcpy(exCollectionListUpdated, exCollectionList, categoryIndex); - int textWritenSize = sprintf(exCollectionListUpdated + categoryIndex, TextFormat("%s;%s;%s;%s;%s;\"%s\";@%s\n", - exInfo->category, exInfo->name, starsText, exInfo->verCreated, exInfo->verUpdated, exInfo->author, exInfo->authorGitHub)); + int textWritenSize = sprintf(exCollectionListUpdated + categoryIndex, TextFormat("%s;%s;%s;%s;%s;%i;%i\"%s\";@%s\n", + exInfo->category, exInfo->name, starsText, exInfo->verCreated, exInfo->verUpdated, exInfo->yearCreated, exInfo->yearReviewed, exInfo->author, exInfo->authorGitHub)); memcpy(exCollectionListUpdated + categoryIndex + textWritenSize, exCollectionList + categoryIndex, strlen(exCollectionList) - categoryIndex); } From 68a678a5497f0361e1d1f7857c364eb9f83eb814 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Sep 2025 10:18:41 +0200 Subject: [PATCH 044/125] Update rexm.c --- tools/rexm/rexm.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index b013646fa..9f3558745 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -1106,6 +1106,9 @@ int main(int argc, char *argv[]) exInfo->status &= ~VALID_MISSING_WEB_OUTPUT; exInfo->status &= ~VALID_MISSING_WEB_METADATA; + + // Update source code header info + UpdateSourceMetadata(TextFormat("%s/%s/%s.html", exBasePath, exInfo->category, exInfo->name), exInfo); } } } From e5cef3c0d8858e0161988682601296f97d9e2506 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Sep 2025 10:46:51 +0200 Subject: [PATCH 045/125] REXM: Reviewed examples source code headers metadata --- examples/README.md | 10 ++-- examples/others/rlgl_compute_shader.c | 4 +- examples/others/rlgl_standalone.c | 2 +- examples/shaders/shaders_view_depth.c | 4 +- examples/textures/textures_image_channel.c | 4 +- tools/rexm/rexm.c | 68 +++++++++++++--------- 6 files changed, 53 insertions(+), 39 deletions(-) diff --git a/examples/README.md b/examples/README.md index 46e995df0..05855670b 100644 --- a/examples/README.md +++ b/examples/README.md @@ -32,7 +32,7 @@ Examples using raylib[core](../src/rcore.c) platform functionality like window c | [core_input_gamepad](core/core_input_gamepad.c) | core_input_gamepad | ⭐☆☆☆ | 1.1 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | | [core_input_multitouch](core/core_input_multitouch.c) | core_input_multitouch | ⭐☆☆☆ | 2.1 | 2.5 | [Berni](https://github.com/Berni8k) | | [core_input_gestures](core/core_input_gestures.c) | core_input_gestures | ⭐⭐☆☆ | 1.4 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | -| [core_input_gestures_testbed](core/core_input_gestures_testbed.c) | core_input_gestures_testbed | ⭐⭐⭐☆ | 4.6 | 5.6 | [ubkp](https://github.com/ubkp) | +| [core_input_gestures_testbed](core/core_input_gestures_testbed.c) | core_input_gestures_testbed | ⭐⭐⭐☆ | 4.6-dev | 5.6-dev | [ubkp](https://github.com/ubkp) | | [core_input_virtual_controls](core/core_input_virtual_controls.c) | core_input_virtual_controls | ⭐⭐☆☆ | 5.0 | 5.0 | [oblerion](https://github.com/oblerion) | | [core_2d_camera](core/core_2d_camera.c) | core_2d_camera | ⭐⭐☆☆ | 1.5 | 3.0 | [Ramon Santamaria](https://github.com/raysan5) | | [core_2d_camera_mouse_zoom](core/core_2d_camera_mouse_zoom.c) | core_2d_camera_mouse_zoom | ⭐⭐☆☆ | 4.2 | 4.2 | [Jeffery Myers](https://github.com/JeffM2501) | @@ -117,7 +117,7 @@ Examples using raylib textures functionality, including image/textures loading/g | [textures_fog_of_war](textures/textures_fog_of_war.c) | textures_fog_of_war | ⭐⭐⭐☆ | 4.2 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | | [textures_gif_player](textures/textures_gif_player.c) | textures_gif_player | ⭐⭐⭐☆ | 4.2 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | | [textures_image_kernel](textures/textures_image_kernel.c) | textures_image_kernel | ⭐⭐⭐⭐️ | 1.3 | 1.3 | [Karim Salem](https://github.com/kimo-s) | -| [textures_image_channel](textures/textures_image_channel.c) | textures_image_channel | ⭐⭐☆☆ | 5.1 | 5.1 | [Bruno Cabral](https://github.com/brccabral) | +| [textures_image_channel](textures/textures_image_channel.c) | textures_image_channel | ⭐⭐☆☆ | 5.1-dev | 5.1-dev | [Bruno Cabral](https://github.com/brccabral) | | [textures_image_rotate](textures/textures_image_rotate.c) | textures_image_rotate | ⭐⭐☆☆ | 1.0 | 1.0 | [Ramon Santamaria](https://github.com/raysan5) | | [textures_textured_curve](textures/textures_textured_curve.c) | textures_textured_curve | ⭐⭐⭐☆ | 4.5 | 4.5 | [Jeffery Myers](https://github.com/JeffM2501) | @@ -169,7 +169,7 @@ Examples using raylib models functionality, including models loading/generation | [models_draw_cube_texture](models/models_draw_cube_texture.c) | models_draw_cube_texture | ⭐⭐☆☆ | 4.5 | 4.5 | [Ramon Santamaria](https://github.com/raysan5) | | [models_gpu_skinning](models/models_gpu_skinning.c) | models_gpu_skinning | ⭐⭐⭐☆ | 4.5 | 4.5 | [Daniel Holden](https://github.com/orangeduck) | | [models_bone_socket](models/models_bone_socket.c) | models_bone_socket | ⭐⭐⭐⭐️ | 4.5 | 4.5 | [iP](https://github.com/ipzaur) | -| [models_tesseract_view](models/models_tesseract_view.c) | models_tesseract_view | ⭐⭐☆☆ | 5.6 | 5.6 | [Timothy van der Valk](https://github.com/arceryz) | +| [models_tesseract_view](models/models_tesseract_view.c) | models_tesseract_view | ⭐⭐☆☆ | 5.6-dev | 5.6-dev | [Timothy van der Valk](https://github.com/arceryz) | ### category: shaders [29] @@ -202,10 +202,10 @@ Examples using raylib shaders functionality, including shaders loading, paramete | [shaders_shadowmap](shaders/shaders_shadowmap.c) | shaders_shadowmap | ⭐⭐⭐⭐️ | 5.0 | 5.0 | [TheManTheMythTheGameDev](https://github.com/TheManTheMythTheGameDev) | | [shaders_vertex_displacement](shaders/shaders_vertex_displacement.c) | shaders_vertex_displacement | ⭐⭐⭐☆ | 5.0 | 4.5 | [Alex ZH](https://github.com/ZzzhHe) | | [shaders_write_depth](shaders/shaders_write_depth.c) | shaders_write_depth | ⭐⭐☆☆ | 4.2 | 4.2 | [Buğra Alptekin Sarı](https://github.com/BugraAlptekinSari) | -| [shaders_basic_pbr](shaders/shaders_basic_pbr.c) | shaders_basic_pbr | ⭐⭐⭐⭐️ | 5.0 | 5.1 | [Afan OLOVCIC](https://github.com/_DevDad) | +| [shaders_basic_pbr](shaders/shaders_basic_pbr.c) | shaders_basic_pbr | ⭐⭐⭐⭐️ | 5.0 | 5.1-dev | [Afan OLOVCIC](https://github.com/_DevDad) | | [shaders_lightmap](shaders/shaders_lightmap.c) | shaders_lightmap | ⭐⭐⭐☆ | 4.5 | 4.5 | [Jussi Viitala](https://github.com/nullstare) | | [shaders_rounded_rectangle](shaders/shaders_rounded_rectangle.c) | shaders_rounded_rectangle | ⭐⭐⭐☆ | 5.5 | 5.5 | [Anstro Pleuton](https://github.com/anstropleuton) | -| [shaders_view_depth](shaders/shaders_view_depth.c) | shaders_view_depth | ⭐⭐⭐☆ | 5.6 | 5.6 | [Luís Almeida](https://github.com/luis605) | +| [shaders_view_depth](shaders/shaders_view_depth.c) | shaders_view_depth | ⭐⭐⭐☆ | 5.6-dev | 5.6-dev | [Luís Almeida](https://github.com/luis605) | ### category: audio [8] diff --git a/examples/others/rlgl_compute_shader.c b/examples/others/rlgl_compute_shader.c index e62f5abc0..4704b4a7c 100644 --- a/examples/others/rlgl_compute_shader.c +++ b/examples/others/rlgl_compute_shader.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [others] example - compute shader - game of life +* raylib [others] example - compute shader * * NOTE: This example requires raylib OpenGL 4.3 versions for compute shaders support, * shaders used in this example are #version 430 (OpenGL 4.3) @@ -57,7 +57,7 @@ int main(void) const int screenWidth = GOL_WIDTH; const int screenHeight = GOL_WIDTH; - InitWindow(screenWidth, screenHeight, "raylib [others] example - compute shader - game of life"); + InitWindow(screenWidth, screenHeight, "raylib [others] example - compute shader"); const Vector2 resolution = { screenWidth, screenHeight }; unsigned int brushSize = 8; diff --git a/examples/others/rlgl_standalone.c b/examples/others/rlgl_standalone.c index a022863fe..094884ffd 100644 --- a/examples/others/rlgl_standalone.c +++ b/examples/others/rlgl_standalone.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [others] example - Using rlgl module as standalone module +* raylib [others] example - standalone * * rlgl library is an abstraction layer for multiple OpenGL versions (1.1, 2.1, 3.3 Core, ES 2.0) * that provides a pseudo-OpenGL 1.1 immediate-mode style API (rlVertex, rlTranslate, rlRotate...) diff --git a/examples/shaders/shaders_view_depth.c b/examples/shaders/shaders_view_depth.c index f4eecf7e2..f75edde5b 100644 --- a/examples/shaders/shaders_view_depth.c +++ b/examples/shaders/shaders_view_depth.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - render depth texture +* raylib [shaders] example - view depth * * Example complexity rating: [★★★☆] 3/4 * @@ -36,7 +36,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - render depth texture"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - view depth"); // Init camera Camera camera = { 0 }; diff --git a/examples/textures/textures_image_channel.c b/examples/textures/textures_image_channel.c index 56e544142..6ebbe2f68 100644 --- a/examples/textures/textures_image_channel.c +++ b/examples/textures/textures_image_channel.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [textures] example - extract channel from image +* raylib [textures] example - image channel * * NOTE: Images are loaded in CPU memory (RAM); textures are loaded in GPU memory (VRAM) * @@ -29,7 +29,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [textures] example - extract channel from image"); + InitWindow(screenWidth, screenHeight, "raylib [textures] example - image channel"); Image fudesumiImage = LoadImage("resources/fudesumi.png"); diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index 9f3558745..e1ce5aa89 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -605,9 +605,8 @@ int main(int argc, char *argv[]) system(TextFormat("make -C %s -f Makefile.Web %s/%s PLATFORM=PLATFORM_WEB -B", exBasePath, exCategory, exName)); #endif // Update generated .html metadata - char exHtmlPath[512] = { 0 }; - strcpy(exHtmlPath, TextFormat("%s/%s/%s.html", exBasePath, exCategory, exName)); // WARNING: Cache path for saving - UpdateWebMetadata(exHtmlPath, TextFormat("%s/%s/%s.c", exBasePath, exCategory, exName)); + UpdateWebMetadata(TextFormat("%s/%s/%s.html", exBasePath, exCategory, exName), + TextFormat("%s/%s/%s.c", exBasePath, exCategory, exName)); // Copy results to web side FileCopy(TextFormat("%s/%s/%s.html", exBasePath, exCategory, exName), @@ -691,9 +690,8 @@ int main(int argc, char *argv[]) system(TextFormat("make -C %s -f Makefile.Web %s/%s PLATFORM=PLATFORM_WEB -B", exBasePath, exRecategory, exRename)); #endif // Update generated .html metadata - char exHtmlPath[512] = { 0 }; - strcpy(exHtmlPath, TextFormat("%s/%s/%s.html", exBasePath, exCategory, exRename)); // WARNING: Cache path for saving - UpdateWebMetadata(exHtmlPath, TextFormat("%s/%s/%s.c", exBasePath, exCategory, exRename)); + UpdateWebMetadata(TextFormat("%s/%s/%s.html", exBasePath, exCategory, exRename), + TextFormat("%s/%s/%s.c", exBasePath, exCategory, exRename)); // Copy results to web side FileCopy(TextFormat("%s/%s/%s.html", exBasePath, exRecategory, exRename), @@ -1091,12 +1089,12 @@ int main(int argc, char *argv[]) #endif // Update generated .html metadata - char exHtmlPath[512] = { 0 }; - strcpy(exHtmlPath, TextFormat("%s/%s/%s.html", exBasePath, exInfo->category, exInfo->name)); // WARNING: Cache path for saving - UpdateWebMetadata(exHtmlPath, TextFormat("%s/%s/%s.c", exBasePath, exInfo->category, exInfo->name)); + UpdateWebMetadata(TextFormat("%s/%s/%s.html", exBasePath, exInfo->category, exInfo->name), + TextFormat("%s/%s/%s.c", exBasePath, exInfo->category, exInfo->name)); // Copy results to web side - FileCopy(exHtmlPath, TextFormat("%s/%s/%s.html", exWebPath, exInfo->category, exInfo->name)); + FileCopy(TextFormat("%s/%s/%s.html", exBasePath, exInfo->category, exInfo->name), + TextFormat("%s/%s/%s.html", exWebPath, exInfo->category, exInfo->name)); FileCopy(TextFormat("%s/%s/%s.data", exBasePath, exInfo->category, exInfo->name), TextFormat("%s/%s/%s.data", exWebPath, exInfo->category, exInfo->name)); FileCopy(TextFormat("%s/%s/%s.wasm", exBasePath, exInfo->category, exInfo->name), @@ -1106,9 +1104,12 @@ int main(int argc, char *argv[]) exInfo->status &= ~VALID_MISSING_WEB_OUTPUT; exInfo->status &= ~VALID_MISSING_WEB_METADATA; + } + if (exInfo->status & VALID_INCONSISTENT_INFO) + { // Update source code header info - UpdateSourceMetadata(TextFormat("%s/%s/%s.html", exBasePath, exInfo->category, exInfo->name), exInfo); + UpdateSourceMetadata(TextFormat("%s/%s/%s.c", exBasePath, exInfo->category, exInfo->name), exInfo); } } } @@ -1285,9 +1286,8 @@ int main(int argc, char *argv[]) #endif // Update generated .html metadata - char exHtmlPath[512] = { 0 }; - strcpy(exHtmlPath, TextFormat("%s/%s/%s.html", exBasePath, exCategory, exName)); // WARNING: Cache path for saving - UpdateWebMetadata(exHtmlPath, TextFormat("%s/%s/%s.c", exBasePath, exCategory, exName)); + UpdateWebMetadata(TextFormat("%s/%s/%s.html", exBasePath, exCategory, exName), + TextFormat("%s/%s/%s.c", exBasePath, exCategory, exName)); // Copy results to web side FileCopy(TextFormat("%s/%s/%s.html", exBasePath, exCategory, exName), @@ -1936,7 +1936,7 @@ static int ParseExampleInfoLine(const char *line, rlExampleInfo *entry) int tokenCount = 0; char **tokens = TextSplit(line, ';', &tokenCount); - if (tokenCount != 7) LOG("REXM: WARNING: Example collection line contains invalid numbe of tokens: %i", tokenCount); + if (tokenCount != 9) LOG("REXM: WARNING: Example collection line contains invalid number of tokens: %i\n", tokenCount); // Get category and name strcpy(entry->category, tokens[0]); @@ -1966,10 +1966,10 @@ static int ParseExampleInfoLine(const char *line, rlExampleInfo *entry) entry->yearReviewed = TextToInteger(tokens[6]); // Get author and github - if (tokens[6][0] == '"') tokens[6] += 1; - if (tokens[6][strlen(tokens[6]) - 1] == '"') tokens[6][strlen(tokens[6]) - 1] = '\0'; - strcpy(entry->author, tokens[6]); - strcpy(entry->authorGitHub, tokens[7] + 1); // Skip '@' + if (tokens[7][0] == '"') tokens[7] += 1; + if (tokens[7][strlen(tokens[7]) - 1] == '"') tokens[7][strlen(tokens[7]) - 1] = '\0'; + strcpy(entry->author, tokens[7]); + strcpy(entry->authorGitHub, tokens[8] + 1); // Skip '@' return 1; } @@ -2274,8 +2274,13 @@ static void UpdateSourceMetadata(const char *exSrcPath, const rlExampleInfo *inf { if (FileExists(exSrcPath) && IsFileExtension(exSrcPath, ".c")) { - char *exText = LoadFileText(exSrcPath); + // WARNING: Cache a copy of exSrcPath to avoid modifications by TextFormat() + char exSourcePath[512] = { 0 }; + strcpy(exSourcePath, exSrcPath); + + char *exText = LoadFileText(exSourcePath); char *exTextUpdated[6] = { 0 }; // Pointers to multiple updated text versions + char *exTextUpdatedPtr = NULL; char exNameFormated[256] = { 0 }; // Example name without category and using spaces int exNameIndex = TextFindIndex(info->name, "_"); @@ -2327,11 +2332,16 @@ static void UpdateSourceMetadata(const char *exSrcPath, const rlExampleInfo *inf // Update contributors names // String: "* Example contributed by Contributor Name (@github_user) and reviewed by Ramon Santamaria (@raysan5)" // WARNING: Not all examples are contributed by someone, so the result of this replace can be NULL (string not found) - exTextUpdated[5] = TextReplaceBetween(exTextUpdated[4], - TextFormat("%s (@%s", info->author, info->authorGitHub), "* Example contributed by ", ")"); + if (exTextUpdated[4] != NULL) + { + exTextUpdated[5] = TextReplaceBetween(exTextUpdated[4], + TextFormat("%s (@%s", info->author, info->authorGitHub), "* Example contributed by ", ")"); + } + else exTextUpdatedPtr = exTextUpdated[3]; - if (exTextUpdated[5] != NULL) SaveFileText(exSrcPath, exTextUpdated[5]); - else SaveFileText(exSrcPath, exTextUpdated[4]); + if (exTextUpdated[5] != NULL) exTextUpdatedPtr = exTextUpdated[5]; + + SaveFileText(exSourcePath, exTextUpdatedPtr); for (int i = 0; i < 6; i++) { MemFree(exTextUpdated[i]); exTextUpdated[i] = NULL; } @@ -2344,7 +2354,11 @@ static void UpdateWebMetadata(const char *exHtmlPath, const char *exFilePath) { if (FileExists(exHtmlPath) && IsFileExtension(exHtmlPath, ".html")) { - char *exHtmlText = LoadFileText(exHtmlPath); + // WARNING: Cache a copy of exHtmlPath to avoid modifications by TextFormat() + char exHtmlPathCopy[512] = { 0 }; + strcpy(exHtmlPathCopy, exHtmlPath); + + char *exHtmlText = LoadFileText(exHtmlPathCopy); char *exHtmlTextUpdated[6] = { 0 }; // Pointers to multiple updated text versions char exName[64] = { 0 }; // Example name: fileName without extension @@ -2353,7 +2367,7 @@ static void UpdateWebMetadata(const char *exHtmlPath, const char *exFilePath) char exTitle[64] = { 0 }; // Example title: fileName without extension, replacing underscores by spaces // Get example name: replace underscore by spaces - strcpy(exName, GetFileNameWithoutExt(exHtmlPath)); + strcpy(exName, GetFileNameWithoutExt(exHtmlPathCopy)); strcpy(exTitle, exName); for (int i = 0; (i < 256) && (exTitle[i] != '\0'); i++) { if (exTitle[i] == '_') exTitle[i] = ' '; } @@ -2380,7 +2394,7 @@ static void UpdateWebMetadata(const char *exHtmlPath, const char *exFilePath) exHtmlTextUpdated[5] = TextReplace(exHtmlTextUpdated[4], "https://github.com/raysan5/raylib", TextFormat("https://github.com/raysan5/raylib/blob/master/examples/%s/%s.c", exCategory, exName)); - SaveFileText(exHtmlPath, exHtmlTextUpdated[5]); + SaveFileText(exHtmlPathCopy, exHtmlTextUpdated[5]); //LOG("INFO: [%s] Updated successfully\n",files.paths[i]); //LOG(" - Name / Title: %s / %s\n", exName, exTitle); From 2d19abb2cfa3e72c419bf94b845a2d1f6d7cfb8d Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Sep 2025 11:04:00 +0200 Subject: [PATCH 046/125] REXM: REVIEWED: Examples header info inconsistencies --- examples/README.md | 10 +++++----- examples/audio/audio_sound_multi.c | 6 +++--- examples/core/core_input_gestures_testbed.c | 2 +- examples/examples_list.txt | 10 +++++----- examples/others/embedded_files_loading.c | 2 +- examples/shaders/shaders_basic_pbr.c | 2 +- examples/shapes/shapes_digital_clock.c | 2 +- examples/textures/textures_image_channel.c | 2 +- tools/rexm/examples_report.md | 8 ++++---- tools/rexm/examples_report_issues.md | 8 ++++---- tools/rexm/rexm.c | 18 ++++++++++++------ 11 files changed, 38 insertions(+), 32 deletions(-) diff --git a/examples/README.md b/examples/README.md index 05855670b..829c7178a 100644 --- a/examples/README.md +++ b/examples/README.md @@ -32,7 +32,7 @@ Examples using raylib[core](../src/rcore.c) platform functionality like window c | [core_input_gamepad](core/core_input_gamepad.c) | core_input_gamepad | ⭐☆☆☆ | 1.1 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | | [core_input_multitouch](core/core_input_multitouch.c) | core_input_multitouch | ⭐☆☆☆ | 2.1 | 2.5 | [Berni](https://github.com/Berni8k) | | [core_input_gestures](core/core_input_gestures.c) | core_input_gestures | ⭐⭐☆☆ | 1.4 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | -| [core_input_gestures_testbed](core/core_input_gestures_testbed.c) | core_input_gestures_testbed | ⭐⭐⭐☆ | 4.6-dev | 5.6-dev | [ubkp](https://github.com/ubkp) | +| [core_input_gestures_testbed](core/core_input_gestures_testbed.c) | core_input_gestures_testbed | ⭐⭐⭐☆ | 5.0 | 5.6-dev | [ubkp](https://github.com/ubkp) | | [core_input_virtual_controls](core/core_input_virtual_controls.c) | core_input_virtual_controls | ⭐⭐☆☆ | 5.0 | 5.0 | [oblerion](https://github.com/oblerion) | | [core_2d_camera](core/core_2d_camera.c) | core_2d_camera | ⭐⭐☆☆ | 1.5 | 3.0 | [Ramon Santamaria](https://github.com/raysan5) | | [core_2d_camera_mouse_zoom](core/core_2d_camera_mouse_zoom.c) | core_2d_camera_mouse_zoom | ⭐⭐☆☆ | 4.2 | 4.2 | [Jeffery Myers](https://github.com/JeffM2501) | @@ -117,7 +117,7 @@ Examples using raylib textures functionality, including image/textures loading/g | [textures_fog_of_war](textures/textures_fog_of_war.c) | textures_fog_of_war | ⭐⭐⭐☆ | 4.2 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | | [textures_gif_player](textures/textures_gif_player.c) | textures_gif_player | ⭐⭐⭐☆ | 4.2 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | | [textures_image_kernel](textures/textures_image_kernel.c) | textures_image_kernel | ⭐⭐⭐⭐️ | 1.3 | 1.3 | [Karim Salem](https://github.com/kimo-s) | -| [textures_image_channel](textures/textures_image_channel.c) | textures_image_channel | ⭐⭐☆☆ | 5.1-dev | 5.1-dev | [Bruno Cabral](https://github.com/brccabral) | +| [textures_image_channel](textures/textures_image_channel.c) | textures_image_channel | ⭐⭐☆☆ | 5.5 | 5.5 | [Bruno Cabral](https://github.com/brccabral) | | [textures_image_rotate](textures/textures_image_rotate.c) | textures_image_rotate | ⭐⭐☆☆ | 1.0 | 1.0 | [Ramon Santamaria](https://github.com/raysan5) | | [textures_textured_curve](textures/textures_textured_curve.c) | textures_textured_curve | ⭐⭐⭐☆ | 4.5 | 4.5 | [Jeffery Myers](https://github.com/JeffM2501) | @@ -202,7 +202,7 @@ Examples using raylib shaders functionality, including shaders loading, paramete | [shaders_shadowmap](shaders/shaders_shadowmap.c) | shaders_shadowmap | ⭐⭐⭐⭐️ | 5.0 | 5.0 | [TheManTheMythTheGameDev](https://github.com/TheManTheMythTheGameDev) | | [shaders_vertex_displacement](shaders/shaders_vertex_displacement.c) | shaders_vertex_displacement | ⭐⭐⭐☆ | 5.0 | 4.5 | [Alex ZH](https://github.com/ZzzhHe) | | [shaders_write_depth](shaders/shaders_write_depth.c) | shaders_write_depth | ⭐⭐☆☆ | 4.2 | 4.2 | [Buğra Alptekin Sarı](https://github.com/BugraAlptekinSari) | -| [shaders_basic_pbr](shaders/shaders_basic_pbr.c) | shaders_basic_pbr | ⭐⭐⭐⭐️ | 5.0 | 5.1-dev | [Afan OLOVCIC](https://github.com/_DevDad) | +| [shaders_basic_pbr](shaders/shaders_basic_pbr.c) | shaders_basic_pbr | ⭐⭐⭐⭐️ | 5.0 | 5.5 | [Afan OLOVCIC](https://github.com/_DevDad) | | [shaders_lightmap](shaders/shaders_lightmap.c) | shaders_lightmap | ⭐⭐⭐☆ | 4.5 | 4.5 | [Jussi Viitala](https://github.com/nullstare) | | [shaders_rounded_rectangle](shaders/shaders_rounded_rectangle.c) | shaders_rounded_rectangle | ⭐⭐⭐☆ | 5.5 | 5.5 | [Anstro Pleuton](https://github.com/anstropleuton) | | [shaders_view_depth](shaders/shaders_view_depth.c) | shaders_view_depth | ⭐⭐⭐☆ | 5.6-dev | 5.6-dev | [Luís Almeida](https://github.com/luis605) | @@ -219,7 +219,7 @@ Examples using raylib audio functionality, including sound/music loading and pla | [audio_sound_loading](audio/audio_sound_loading.c) | audio_sound_loading | ⭐☆☆☆ | 1.1 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [audio_mixed_processor](audio/audio_mixed_processor.c) | audio_mixed_processor | ⭐⭐⭐⭐️ | 4.2 | 4.2 | [hkc](https://github.com/hatkidchan) | | [audio_stream_effects](audio/audio_stream_effects.c) | audio_stream_effects | ⭐⭐⭐⭐️ | 4.2 | 5.0 | [Ramon Santamaria](https://github.com/raysan5) | -| [audio_sound_multi](audio/audio_sound_multi.c) | audio_sound_multi | ⭐⭐☆☆ | 4.6 | 4.6 | [Jeffery Myers](https://github.com/JeffM2501) | +| [audio_sound_multi](audio/audio_sound_multi.c) | audio_sound_multi | ⭐⭐☆☆ | 5.0 | 5.0 | [Jeffery Myers](https://github.com/JeffM2501) | | [audio_sound_positioning](audio/audio_sound_positioning.c) | audio_sound_positioning | ⭐⭐☆☆ | 5.5 | 5.5 | [Le Juez Victor](https://github.com/Bigfoot71) | ### category: others [6] @@ -233,7 +233,7 @@ Examples showing raylib misc functionality that does not fit in other categories | [easings_testbed](others/easings_testbed.c) | easings_testbed | ⭐⭐⭐☆ | 2.5 | 3.0 | [Juan Miguel López](https://github.com/flashback-fx) | | [raylib_opengl_interop](others/raylib_opengl_interop.c) | raylib_opengl_interop | ⭐⭐⭐⭐️ | 3.8 | 4.0 | [Stephan Soller](https://github.com/arkanis) | | [embedded_files_loading](others/embedded_files_loading.c) | embedded_files_loading | ⭐⭐☆☆ | 3.0 | 3.5 | [Kristian Holmgren](https://github.com/defutura) | -| [raymath_vector_angle](others/raymath_vector_angle.c) | raymath_vector_angle | ⭐⭐☆☆ | 1.0 | 4.6 | [Ramon Santamaria](https://github.com/raysan5) | +| [raymath_vector_angle](others/raymath_vector_angle.c) | raymath_vector_angle | ⭐⭐☆☆ | 1.0 | 5.0 | [Ramon Santamaria](https://github.com/raysan5) | Some example missing? As always, contributions are welcome, feel free to send new examples! Here is an[examples template](examples_template.c) with instructions to start with! diff --git a/examples/audio/audio_sound_multi.c b/examples/audio/audio_sound_multi.c index 6f9aea3f9..79949ed3b 100644 --- a/examples/audio/audio_sound_multi.c +++ b/examples/audio/audio_sound_multi.c @@ -1,10 +1,10 @@ /******************************************************************************************* * -* raylib [audio] example - sound alias +* raylib [audio] example - sound multi * * Example complexity rating: [★★☆☆] 2/4 * -* Example originally created with raylib 4.6, last time updated with raylib 4.6 +* Example originally created with raylib 5.0, last time updated with raylib 5.0 * * Example contributed by Jeffery Myers (@JeffM2501) and reviewed by Ramon Santamaria (@raysan5) * @@ -31,7 +31,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [audio] example - sound alias"); + InitWindow(screenWidth, screenHeight, "raylib [audio] example - sound multi"); InitAudioDevice(); // Initialize audio device diff --git a/examples/core/core_input_gestures_testbed.c b/examples/core/core_input_gestures_testbed.c index 5776c9fff..6cea3b03e 100644 --- a/examples/core/core_input_gestures_testbed.c +++ b/examples/core/core_input_gestures_testbed.c @@ -4,7 +4,7 @@ * * Example complexity rating: [★★★☆] 3/4 * -* Example originally created with raylib 4.6-dev, last time updated with raylib 5.6-dev +* Example originally created with raylib 5.0, last time updated with raylib 5.6-dev * * Example contributed by ubkp (@ubkp) and reviewed by Ramon Santamaria (@raysan5) * diff --git a/examples/examples_list.txt b/examples/examples_list.txt index c3d3d3be2..3d7707623 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -14,7 +14,7 @@ core;core_input_mouse_wheel;★☆☆☆;1.1;1.3;2014;2025;"Ramon Santamaria";@r core;core_input_gamepad;★☆☆☆;1.1;4.2;2013;2025;"Ramon Santamaria";@raysan5 core;core_input_multitouch;★☆☆☆;2.1;2.5;2019;2025;"Berni";@Berni8k core;core_input_gestures;★★☆☆;1.4;4.2;2016;2025;"Ramon Santamaria";@raysan5 -core;core_input_gestures_testbed;★★★☆;4.6-dev;5.6-dev;2023;2025;"ubkp";@ubkp +core;core_input_gestures_testbed;★★★☆;5.0;5.6-dev;2023;2025;"ubkp";@ubkp core;core_input_virtual_controls;★★☆☆;5.0;5.0;2024;2025;"oblerion";@oblerion core;core_2d_camera;★★☆☆;1.5;3.0;2016;2025;"Ramon Santamaria";@raysan5 core;core_2d_camera_mouse_zoom;★★☆☆;4.2;4.2;2022;2025;"Jeffery Myers";@JeffM2501 @@ -85,7 +85,7 @@ textures;textures_polygon_drawing;★☆☆☆;3.7;3.7;2021;2025;"Chris Camacho" textures;textures_fog_of_war;★★★☆;4.2;4.2;2018;2025;"Ramon Santamaria";@raysan5 textures;textures_gif_player;★★★☆;4.2;4.2;2021;2025;"Ramon Santamaria";@raysan5 textures;textures_image_kernel;★★★★;1.3;1.3;2015;2025;"Karim Salem";@kimo-s -textures;textures_image_channel;★★☆☆;5.1-dev;5.1-dev;2024;2025;"Bruno Cabral";@brccabral +textures;textures_image_channel;★★☆☆;5.5;5.5;2024;2025;"Bruno Cabral";@brccabral textures;textures_image_rotate;★★☆☆;1.0;1.0;2014;2025;"Ramon Santamaria";@raysan5 textures;textures_textured_curve;★★★☆;4.5;4.5;2022;2025;"Jeffery Myers";@JeffM2501 text;text_sprite_fonts;★☆☆☆;1.7;3.7;2017;2025;"Ramon Santamaria";@raysan5 @@ -149,7 +149,7 @@ shaders;shaders_texture_tiling;★★☆☆;4.5;4.5;2023;2025;"Luis Almeida";@lu shaders;shaders_shadowmap;★★★★;5.0;5.0;2023;2025;"TheManTheMythTheGameDev";@TheManTheMythTheGameDev shaders;shaders_vertex_displacement;★★★☆;5.0;4.5;2023;2025;"Alex ZH";@ZzzhHe shaders;shaders_write_depth;★★☆☆;4.2;4.2;2022;2025;"Buğra Alptekin Sarı";@BugraAlptekinSari -shaders;shaders_basic_pbr;★★★★;5.0;5.1-dev;2023;2025;"Afan OLOVCIC";@_DevDad +shaders;shaders_basic_pbr;★★★★;5.0;5.5;2023;2025;"Afan OLOVCIC";@_DevDad shaders;shaders_lightmap;★★★☆;4.5;4.5;2019;2025;"Jussi Viitala";@nullstare shaders;shaders_rounded_rectangle;★★★☆;5.5;5.5;2025;2025;"Anstro Pleuton";@anstropleuton shaders;shaders_view_depth;★★★☆;5.6-dev;5.6-dev;2025;2025;"Luís Almeida";@luis605 @@ -159,11 +159,11 @@ audio;audio_raw_stream;★★★☆;1.6;4.2;2015;2025;"Ramon Santamaria";@raysan audio;audio_sound_loading;★☆☆☆;1.1;3.5;2014;2025;"Ramon Santamaria";@raysan5 audio;audio_mixed_processor;★★★★;4.2;4.2;2023;2025;"hkc";@hatkidchan audio;audio_stream_effects;★★★★;4.2;5.0;2022;2025;"Ramon Santamaria";@raysan5 -audio;audio_sound_multi;★★☆☆;4.6;4.6;2023;2025;"Jeffery Myers";@JeffM2501 +audio;audio_sound_multi;★★☆☆;5.0;5.0;2023;2025;"Jeffery Myers";@JeffM2501 audio;audio_sound_positioning;★★☆☆;5.5;5.5;2025;0;"Le Juez Victor";@Bigfoot71 others;rlgl_standalone;★★★★;1.6;4.0;2014;2025;"Ramon Santamaria";@raysan5 others;rlgl_compute_shader;★★★★;4.0;4.0;2021;2025;"Teddy Astie";@tsnake41 others;easings_testbed;★★★☆;2.5;3.0;2019;2025;"Juan Miguel López";@flashback-fx others;raylib_opengl_interop;★★★★;3.8;4.0;2021;2025;"Stephan Soller";@arkanis others;embedded_files_loading;★★☆☆;3.0;3.5;2020;2025;"Kristian Holmgren";@defutura -others;raymath_vector_angle;★★☆☆;1.0;4.6;2023;2025;"Ramon Santamaria";@raysan5 +others;raymath_vector_angle;★★☆☆;1.0;5.0;2023;2025;"Ramon Santamaria";@raysan5 diff --git a/examples/others/embedded_files_loading.c b/examples/others/embedded_files_loading.c index 10a094f84..b9c34f19e 100644 --- a/examples/others/embedded_files_loading.c +++ b/examples/others/embedded_files_loading.c @@ -4,7 +4,7 @@ * * Example complexity rating: [★★☆☆] 2/4 * -* Example originally created with raylib 3.0, last time updated with raylib 2.5 +* Example originally created with raylib 3.0, last time updated with raylib 3.5 * * Example contributed by Kristian Holmgren (@defutura) and reviewed by Ramon Santamaria (@raysan5) * diff --git a/examples/shaders/shaders_basic_pbr.c b/examples/shaders/shaders_basic_pbr.c index ec15ab206..75dacd5aa 100644 --- a/examples/shaders/shaders_basic_pbr.c +++ b/examples/shaders/shaders_basic_pbr.c @@ -4,7 +4,7 @@ * * Example complexity rating: [★★★★] 4/4 * -* Example originally created with raylib 5.0, last time updated with raylib 5.1-dev +* Example originally created with raylib 5.0, last time updated with raylib 5.5 * * Example contributed by Afan OLOVCIC (@_DevDad) and reviewed by Ramon Santamaria (@raysan5) * diff --git a/examples/shapes/shapes_digital_clock.c b/examples/shapes/shapes_digital_clock.c index 82b8ee6bd..aad933be0 100644 --- a/examples/shapes/shapes_digital_clock.c +++ b/examples/shapes/shapes_digital_clock.c @@ -4,7 +4,7 @@ * * Example complexity rating: [★★☆☆] 2/4 * -* Example originally created with raylib 5.5, last time updated with raylib 5.6-dev +* Example originally created with raylib 5.5, last time updated with raylib 5.6 * * Example contributed by Hamza RAHAL (@hmz-rhl) and reviewed by Ramon Santamaria (@raysan5) * diff --git a/examples/textures/textures_image_channel.c b/examples/textures/textures_image_channel.c index 6ebbe2f68..29622b74d 100644 --- a/examples/textures/textures_image_channel.c +++ b/examples/textures/textures_image_channel.c @@ -6,7 +6,7 @@ * * Example complexity rating: [★★☆☆] 2/4 * -* Example originally created with raylib 5.1-dev, last time updated with raylib 5.1-dev +* Example originally created with raylib 5.5, last time updated with raylib 5.5 * * Example contributed by Bruno Cabral (@brccabral) and reviewed by Ramon Santamaria (@raysan5) * diff --git a/tools/rexm/examples_report.md b/tools/rexm/examples_report.md index 9537449a5..9737aff45 100644 --- a/tools/rexm/examples_report.md +++ b/tools/rexm/examples_report.md @@ -174,9 +174,9 @@ Example elements validated: | audio_stream_effects | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | audio_sound_multi | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | audio_sound_positioning | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| rlgl_standalone | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| rlgl_compute_shader | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| easings_testbed | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| rlgl_standalone | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| rlgl_compute_shader | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| easings_testbed | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | raylib_opengl_interop | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | -| embedded_files_loading | ✔ | ❌ | ❌ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| embedded_files_loading | ✔ | ❌ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | raymath_vector_angle | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | diff --git a/tools/rexm/examples_report_issues.md b/tools/rexm/examples_report_issues.md index c9d6a2eb6..5c4df4202 100644 --- a/tools/rexm/examples_report_issues.md +++ b/tools/rexm/examples_report_issues.md @@ -20,9 +20,9 @@ Example elements validated: ``` | **EXAMPLE NAME** | [C] | [CAT]| [INFO]|[PNG]|[WPNG]| [RES]| [MK] |[MKWEB]| [VCX]| [SOL]|[RDME]|[JS] | [WOUT]|[WMETA]| |:---------------------------------|:---:|:----:|:-----:|:---:|:----:|:----:|:----:|:-----:|:----:|:----:|:----:|:---:|:-----:|:-----:| -| rlgl_standalone | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| rlgl_compute_shader | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| easings_testbed | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| rlgl_standalone | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| rlgl_compute_shader | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| easings_testbed | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | raylib_opengl_interop | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | -| embedded_files_loading | ✔ | ❌ | ❌ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| embedded_files_loading | ✔ | ❌ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | raymath_vector_angle | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index e1ce5aa89..01f6c69ad 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -1110,6 +1110,8 @@ int main(int argc, char *argv[]) { // Update source code header info UpdateSourceMetadata(TextFormat("%s/%s/%s.c", exBasePath, exInfo->category, exInfo->name), exInfo); + + exInfo->status &= ~VALID_INCONSISTENT_INFO; } } } @@ -1866,12 +1868,16 @@ static rlExampleInfo *LoadExampleInfo(const char *exFileName) // Get example create with raylib version int verCreateIndex = TextFindIndex(exText, "created with raylib "); // Version = index + 20 - if (verCreateIndex > 0) strncpy(exInfo->verCreated, exText + verCreateIndex + 20, 3); + int verCreatedLen = 0; + for (int i = verCreateIndex + 20; (exText[i] != ' ') && (exText[i] != '\n') && (exText[i] != ','); i++) verCreatedLen++; + if (verCreateIndex > 0) strncpy(exInfo->verCreated, exText + verCreateIndex + 20, verCreatedLen); else strncpy(exInfo->verCreated, RAYLIB_VERSION, 3); // Only pick MAJOR.MINOR // Get example update with raylib version int verUpdateIndex = TextFindIndex(exText, "updated with raylib "); // Version = index + 20 - if (verUpdateIndex > 0) strncpy(exInfo->verUpdated, exText + verUpdateIndex + 20, 3); + int verUpdateLen = 0; + for (int i = verUpdateIndex + 20; (exText[i] != ' ') && (exText[i] != '\n') && (exText[i] != ','); i++) verUpdateLen++; + if (verUpdateIndex > 0) strncpy(exInfo->verUpdated, exText + verUpdateIndex + 20, verUpdateLen); else strncpy(exInfo->verUpdated, RAYLIB_VERSION, 3); // Only pick MAJOR.MINOR // Get example years created/reviewed and creator and github user @@ -2007,8 +2013,7 @@ static char **ScanExampleResources(const char *filePath, int *resPathCount) if (code != NULL) { // Resources extensions to check - const char *exts[] = { ".png", ".bmp", ".jpg", ".qoi", ".gif", ".raw", ".hdr", ".ttf", ".fnt", - ".wav", ".ogg", ".mp3", ".flac", ".mod", ".qoa", ".qoa", ".obj", ".iqm", ".glb", ".m3d", ".vox", ".vs", ".fs", ".txt" }; + const char *exts[] = { ".png", ".bmp", ".jpg", ".qoi", ".gif", ".raw", ".hdr", ".ttf", ".fnt", ".wav", ".ogg", ".mp3", ".flac", ".mod", ".qoa", ".obj", ".iqm", ".glb", ".m3d", ".vox", ".vs", ".fs", ".txt" }; const int extCount = sizeof(exts)/sizeof(char *); char *ptr = code; @@ -2021,8 +2026,9 @@ static char **ScanExampleResources(const char *filePath, int *resPathCount) // WARNING: Some paths could be for saving files, not loading, those "resource" files must be omitted // HACK: Just check previous position from pointer for function name including the string... // This is a quick solution, the good one would be getting the data loading function names... - if ((TextFindIndex(ptr - 40, "ExportImage") == -1) && - (TextFindIndex(ptr - 10, "TraceLog") == -1)) // Avoid TraceLog() strings processing + //if ((TextFindIndex(ptr - 40, "ExportImage") == -1) && + // (TextFindIndex(ptr - 10, "TraceLog") == -1)) // Avoid TraceLog() strings processing + if (TextFindIndex(ptr - 40, "ExportImage") == -1) { int len = (int)(end - start); if ((len > 0) && (len < REXM_MAX_RESOURCE_PATH_LEN)) From 02d004274c57ca190e66ffc7a21129c17de4ab53 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Sep 2025 11:14:35 +0200 Subject: [PATCH 047/125] Update rexm.c --- tools/rexm/rexm.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index 01f6c69ad..e9b3a02c6 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -67,6 +67,10 @@ #define REXM_MAX_RESOURCE_PATHS 256 + +// Create local commit with changes on example renaming +#define RENAME_AUTO_COMMIT_CREATION + //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- @@ -703,7 +707,7 @@ int main(int argc, char *argv[]) FileCopy(TextFormat("%s/%s/%s.js", exBasePath, exRecategory, exRename), TextFormat("%s/%s/%s.js", exWebPath, exRecategory, exRename)); - /* +#if defined(RENAME_AUTO_COMMIT_CREATION) // Create GitHub commit with changes (local) putenv("PATH=%PATH%;C:\\Program Files\\Git\\bin"); ChangeDirectory("C:\\GitHub\\raylib"); @@ -718,7 +722,7 @@ int main(int argc, char *argv[]) if (result != 0) LOG("WARNING: Error committing changes\n"); //result = system("git push"); // Push to the remote (origin, current branch) //if (result != 0) LOG("WARNING: Error pushing changes\n"); - */ +#endif } break; case OP_REMOVE: // Remove @@ -1871,14 +1875,14 @@ static rlExampleInfo *LoadExampleInfo(const char *exFileName) int verCreatedLen = 0; for (int i = verCreateIndex + 20; (exText[i] != ' ') && (exText[i] != '\n') && (exText[i] != ','); i++) verCreatedLen++; if (verCreateIndex > 0) strncpy(exInfo->verCreated, exText + verCreateIndex + 20, verCreatedLen); - else strncpy(exInfo->verCreated, RAYLIB_VERSION, 3); // Only pick MAJOR.MINOR + else strcpy(exInfo->verCreated, RAYLIB_VERSION); // Use current raylib version // Get example update with raylib version int verUpdateIndex = TextFindIndex(exText, "updated with raylib "); // Version = index + 20 int verUpdateLen = 0; for (int i = verUpdateIndex + 20; (exText[i] != ' ') && (exText[i] != '\n') && (exText[i] != ','); i++) verUpdateLen++; if (verUpdateIndex > 0) strncpy(exInfo->verUpdated, exText + verUpdateIndex + 20, verUpdateLen); - else strncpy(exInfo->verUpdated, RAYLIB_VERSION, 3); // Only pick MAJOR.MINOR + else strcpy(exInfo->verUpdated, RAYLIB_VERSION); // Use current raylib version // Get example years created/reviewed and creator and github user // NOTE: Using copyright line instead of "Example contributed by " because From c0234e5e3d9f84d61415c9d8543bc12997d392e4 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Sep 2025 11:14:56 +0200 Subject: [PATCH 048/125] REXM: RENAME: example: `textures_sprite_anim` --> `textures_sprite_animation` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ...ite_anim.c => textures_sprite_animation.c} | 0 ...anim.png => textures_sprite_animation.png} | Bin ...proj => textures_sprite_animation.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 574 insertions(+), 574 deletions(-) rename examples/textures/{textures_sprite_anim.c => textures_sprite_animation.c} (100%) rename examples/textures/{textures_sprite_anim.png => textures_sprite_animation.png} (100%) rename projects/VS2022/examples/{textures_sprite_anim.vcxproj => textures_sprite_animation.vcxproj} (98%) diff --git a/examples/Makefile b/examples/Makefile index 89f0ea8b6..31aa1e293 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -577,7 +577,7 @@ TEXTURES = \ textures/textures_particles_blending \ textures/textures_polygon_drawing \ textures/textures_raw_data \ - textures/textures_sprite_anim \ + textures/textures_sprite_animation \ textures/textures_sprite_button \ textures/textures_sprite_explosion \ textures/textures_srcrec_dstrec \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 20a67b7ca..1c1824410 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -577,7 +577,7 @@ TEXTURES = \ textures/textures_particles_blending \ textures/textures_polygon_drawing \ textures/textures_raw_data \ - textures/textures_sprite_anim \ + textures/textures_sprite_animation \ textures/textures_sprite_button \ textures/textures_sprite_explosion \ textures/textures_srcrec_dstrec \ @@ -927,7 +927,7 @@ textures/textures_raw_data: textures/textures_raw_data.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file textures/resources/fudesumi.raw@resources/fudesumi.raw -textures/textures_sprite_anim: textures/textures_sprite_anim.c +textures/textures_sprite_animation: textures/textures_sprite_animation.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file textures/resources/scarfy.png@resources/scarfy.png diff --git a/examples/README.md b/examples/README.md index 829c7178a..9b3165c8d 100644 --- a/examples/README.md +++ b/examples/README.md @@ -106,7 +106,7 @@ Examples using raylib textures functionality, including image/textures loading/g | [textures_particles_blending](textures/textures_particles_blending.c) | textures_particles_blending | ⭐☆☆☆ | 1.7 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [textures_npatch_drawing](textures/textures_npatch_drawing.c) | textures_npatch_drawing | ⭐⭐⭐☆ | 2.0 | 2.5 | [Jorge A. Gomes](https://github.com/overdev) | | [textures_background_scrolling](textures/textures_background_scrolling.c) | textures_background_scrolling | ⭐☆☆☆ | 2.0 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | -| [textures_sprite_anim](textures/textures_sprite_anim.c) | textures_sprite_anim | ⭐⭐☆☆ | 1.3 | 1.3 | [Ramon Santamaria](https://github.com/raysan5) | +| [textures_sprite_animation](textures/textures_sprite_animation.c) | textures_sprite_animation | ⭐⭐☆☆ | 1.3 | 1.3 | [Ramon Santamaria](https://github.com/raysan5) | | [textures_sprite_button](textures/textures_sprite_button.c) | textures_sprite_button | ⭐⭐☆☆ | 2.5 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | | [textures_sprite_explosion](textures/textures_sprite_explosion.c) | textures_sprite_explosion | ⭐⭐☆☆ | 2.5 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [textures_bunnymark](textures/textures_bunnymark.c) | textures_bunnymark | ⭐⭐⭐☆ | 1.6 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 3d7707623..7fccd740b 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -74,7 +74,7 @@ textures;textures_raw_data;★★★☆;1.3;3.5;2015;2025;"Ramon Santamaria";@ra textures;textures_particles_blending;★☆☆☆;1.7;3.5;2017;2025;"Ramon Santamaria";@raysan5 textures;textures_npatch_drawing;★★★☆;2.0;2.5;2018;2025;"Jorge A. Gomes";@overdev textures;textures_background_scrolling;★☆☆☆;2.0;2.5;2019;2025;"Ramon Santamaria";@raysan5 -textures;textures_sprite_anim;★★☆☆;1.3;1.3;2014;2025;"Ramon Santamaria";@raysan5 +textures;textures_sprite_animation;★★☆☆;1.3;1.3;2014;2025;"Ramon Santamaria";@raysan5 textures;textures_sprite_button;★★☆☆;2.5;2.5;2019;2025;"Ramon Santamaria";@raysan5 textures;textures_sprite_explosion;★★☆☆;2.5;3.5;2019;2025;"Ramon Santamaria";@raysan5 textures;textures_bunnymark;★★★☆;1.6;2.5;2014;2025;"Ramon Santamaria";@raysan5 diff --git a/examples/textures/textures_sprite_anim.c b/examples/textures/textures_sprite_animation.c similarity index 100% rename from examples/textures/textures_sprite_anim.c rename to examples/textures/textures_sprite_animation.c diff --git a/examples/textures/textures_sprite_anim.png b/examples/textures/textures_sprite_animation.png similarity index 100% rename from examples/textures/textures_sprite_anim.png rename to examples/textures/textures_sprite_animation.png diff --git a/projects/VS2022/examples/textures_sprite_anim.vcxproj b/projects/VS2022/examples/textures_sprite_animation.vcxproj similarity index 98% rename from projects/VS2022/examples/textures_sprite_anim.vcxproj rename to projects/VS2022/examples/textures_sprite_animation.vcxproj index ee2259dfa..37b0926a9 100644 --- a/projects/VS2022/examples/textures_sprite_anim.vcxproj +++ b/projects/VS2022/examples/textures_sprite_animation.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {C25D2CC6-80CA-4C8A-BE3B-2E0F4EA5D0CC} - Win32Proj - textures_sprite_anim - 10.0 - textures_sprite_anim - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {C25D2CC6-80CA-4C8A-BE3B-2E0F4EA5D0CC} + Win32Proj + textures_sprite_animation + 10.0 + textures_sprite_animation + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\textures + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\textures + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\textures + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\textures + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\textures + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\textures + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\textures + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\textures + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\textures + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\textures + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\textures + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\textures + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 85af72256..546996972 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -25,7 +25,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "others", "others", "{E9D708 EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_basic_window", "examples\core_basic_window.vcxproj", "{0981CA98-E4A5-4DF1-987F-A41D09131EFC}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "textures_sprite_anim", "examples\textures_sprite_anim.vcxproj", "{C25D2CC6-80CA-4C8A-BE3B-2E0F4EA5D0CC}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "textures_sprite_animation", "examples\textures_sprite_animation.vcxproj", "{C25D2CC6-80CA-4C8A-BE3B-2E0F4EA5D0CC}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "textures_srcrec_dstrec", "examples\textures_srcrec_dstrec.vcxproj", "{103B292B-049B-4B15-85A1-9F902840DB2C}" EndProject From 1bbd4c35660767eeecc0c25b57fb7666ff266cc8 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Sep 2025 11:19:29 +0200 Subject: [PATCH 049/125] REXM: RENAME: example: `shapes_draw_ring` --> `shapes_ring_drawing` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ...apes_draw_ring.c => shapes_ring_drawing.c} | 0 ..._draw_ring.png => shapes_ring_drawing.png} | Bin ...ng.vcxproj => shapes_ring_drawing.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 574 insertions(+), 574 deletions(-) rename examples/shapes/{shapes_draw_ring.c => shapes_ring_drawing.c} (100%) rename examples/shapes/{shapes_draw_ring.png => shapes_ring_drawing.png} (100%) rename projects/VS2022/examples/{shapes_draw_ring.vcxproj => shapes_ring_drawing.vcxproj} (97%) diff --git a/examples/Makefile b/examples/Makefile index 31aa1e293..09abfea9c 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -544,7 +544,7 @@ SHAPES = \ shapes/shapes_double_pendulum \ shapes/shapes_draw_circle_sector \ shapes/shapes_draw_rectangle_rounded \ - shapes/shapes_draw_ring \ + shapes/shapes_ring_drawing \ shapes/shapes_easings_ball_anim \ shapes/shapes_easings_box_anim \ shapes/shapes_easings_rectangle_array \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 1c1824410..1d3a38933 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -544,7 +544,7 @@ SHAPES = \ shapes/shapes_double_pendulum \ shapes/shapes_draw_circle_sector \ shapes/shapes_draw_rectangle_rounded \ - shapes/shapes_draw_ring \ + shapes/shapes_ring_drawing \ shapes/shapes_easings_ball_anim \ shapes/shapes_easings_box_anim \ shapes/shapes_easings_rectangle_array \ @@ -811,7 +811,7 @@ shapes/shapes_draw_circle_sector: shapes/shapes_draw_circle_sector.c shapes/shapes_draw_rectangle_rounded: shapes/shapes_draw_rectangle_rounded.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -shapes/shapes_draw_ring: shapes/shapes_draw_ring.c +shapes/shapes_ring_drawing: shapes/shapes_ring_drawing.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) shapes/shapes_easings_ball_anim: shapes/shapes_easings_ball_anim.c diff --git a/examples/README.md b/examples/README.md index 9b3165c8d..832917ecd 100644 --- a/examples/README.md +++ b/examples/README.md @@ -79,7 +79,7 @@ Examples using raylib shapes drawing functionality, provided by raylib [shapes]( | [shapes_easings_ball_anim](shapes/shapes_easings_ball_anim.c) | shapes_easings_ball_anim | ⭐⭐☆☆ | 2.5 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shapes_easings_box_anim](shapes/shapes_easings_box_anim.c) | shapes_easings_box_anim | ⭐⭐☆☆ | 2.5 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shapes_easings_rectangle_array](shapes/shapes_easings_rectangle_array.c) | shapes_easings_rectangle_array | ⭐⭐⭐☆ | 2.0 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | -| [shapes_draw_ring](shapes/shapes_draw_ring.c) | shapes_draw_ring | ⭐⭐⭐☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | +| [shapes_ring_drawing](shapes/shapes_ring_drawing.c) | shapes_ring_drawing | ⭐⭐⭐☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | | [shapes_draw_circle_sector](shapes/shapes_draw_circle_sector.c) | shapes_draw_circle_sector | ⭐⭐⭐☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | | [shapes_draw_rectangle_rounded](shapes/shapes_draw_rectangle_rounded.c) | shapes_draw_rectangle_rounded | ⭐⭐⭐☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | | [shapes_top_down_lights](shapes/shapes_top_down_lights.c) | shapes_top_down_lights | ⭐⭐⭐⭐️ | 4.2 | 4.2 | [Jeffery Myers](https://github.com/JeffM2501) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 7fccd740b..04d44d164 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -54,7 +54,7 @@ shapes;shapes_following_eyes;★★☆☆;2.5;2.5;2013;2025;"Ramon Santamaria";@ shapes;shapes_easings_ball_anim;★★☆☆;2.5;2.5;2014;2025;"Ramon Santamaria";@raysan5 shapes;shapes_easings_box_anim;★★☆☆;2.5;2.5;2014;2025;"Ramon Santamaria";@raysan5 shapes;shapes_easings_rectangle_array;★★★☆;2.0;2.5;2014;2025;"Ramon Santamaria";@raysan5 -shapes;shapes_draw_ring;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor +shapes;shapes_ring_drawing;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor shapes;shapes_draw_circle_sector;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor shapes;shapes_draw_rectangle_rounded;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor shapes;shapes_top_down_lights;★★★★;4.2;4.2;2022;2025;"Jeffery Myers";@JeffM2501 diff --git a/examples/shapes/shapes_draw_ring.c b/examples/shapes/shapes_ring_drawing.c similarity index 100% rename from examples/shapes/shapes_draw_ring.c rename to examples/shapes/shapes_ring_drawing.c diff --git a/examples/shapes/shapes_draw_ring.png b/examples/shapes/shapes_ring_drawing.png similarity index 100% rename from examples/shapes/shapes_draw_ring.png rename to examples/shapes/shapes_ring_drawing.png diff --git a/projects/VS2022/examples/shapes_draw_ring.vcxproj b/projects/VS2022/examples/shapes_ring_drawing.vcxproj similarity index 97% rename from projects/VS2022/examples/shapes_draw_ring.vcxproj rename to projects/VS2022/examples/shapes_ring_drawing.vcxproj index a22feb5e4..cb9b30f35 100644 --- a/projects/VS2022/examples/shapes_draw_ring.vcxproj +++ b/projects/VS2022/examples/shapes_ring_drawing.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {C4416DA1-9E62-46BA-9CD3-F8963C79E1A1} - Win32Proj - shapes_draw_ring - 10.0 - shapes_draw_ring - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {C4416DA1-9E62-46BA-9CD3-F8963C79E1A1} + Win32Proj + shapes_ring_drawing + 10.0 + shapes_ring_drawing + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 546996972..72db31240 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -189,7 +189,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_draw_circle_sector", EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_draw_rectangle_rounded", "examples\shapes_draw_rectangle_rounded.vcxproj", "{48871156-181A-475A-BD8D-200086A09675}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_draw_ring", "examples\shapes_draw_ring.vcxproj", "{C4416DA1-9E62-46BA-9CD3-F8963C79E1A1}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_ring_drawing", "examples\shapes_ring_drawing.vcxproj", "{C4416DA1-9E62-46BA-9CD3-F8963C79E1A1}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_easings_ball_anim", "examples\shapes_easings_ball_anim.vcxproj", "{1C49E35A-2838-49D9-9D5F-4B8134960EF6}" EndProject From e1dfb4cd4e5da730a8d6a269ad7a2a0bc520364a Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Sep 2025 11:44:03 +0200 Subject: [PATCH 050/125] Update shaders_normal_map.c --- examples/shaders/shaders_normal_map.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/examples/shaders/shaders_normal_map.c b/examples/shaders/shaders_normal_map.c index 16806201b..d2d15e545 100644 --- a/examples/shaders/shaders_normal_map.c +++ b/examples/shaders/shaders_normal_map.c @@ -1,20 +1,20 @@ /******************************************************************************************* * -* raylib [shaders] example - normal map +* raylib [shaders] example - normal map * -* Example complexity rating: [★★★★] 4/4 +* Example complexity rating: [★★★★] 4/4 * -* NOTE: This example requires raylib OpenGL 3.3 or ES2 versions for shaders support, +* NOTE: This example requires raylib OpenGL 3.3 or ES2 versions for shaders support, * OpenGL 1.1 does not support shaders, recompile raylib to OpenGL 3.3 version * -* Example originally created with raylib 5.6, last time updated with raylib 5.6 +* Example originally created with raylib 5.6, last time updated with raylib 5.6 * -* Example contributed by Jeremy Montgomery (@Sir_Irk) and reviewed by Ramon Santamaria (@raysan5) +* Example contributed by Jeremy Montgomery (@Sir_Irk) and reviewed by Ramon Santamaria (@raysan5) * -* Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, -* BSD-like license that allows static linking with closed source software +* Example 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) 2025-2025 Jeremy Montgomery (@Sir_Irk) and Ramon Santamaria (@raysan5) +* Copyright (c) 2025-2025 Jeremy Montgomery (@Sir_Irk) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ From 5373ede25c1de6a36ce7c205b798c3430d019d8b Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Sep 2025 11:44:33 +0200 Subject: [PATCH 051/125] REXM: Review examples source code header metadata for consistency --- tools/rexm/rexm.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index e9b3a02c6..b81f391ed 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -67,7 +67,6 @@ #define REXM_MAX_RESOURCE_PATHS 256 - // Create local commit with changes on example renaming #define RENAME_AUTO_COMMIT_CREATION @@ -640,6 +639,10 @@ int main(int argc, char *argv[]) FileRename(TextFormat("%s/%s/%s.png", exBasePath, exCategory, exName), TextFormat("%s/%s/%s.png", exBasePath, exCategory, exRename)); + // TODO: Edit: Update example source code metadata + //rlExampleInfo *info = LoadExamplesData(exCollectionFilePath, exRename, false, NULL); // TODO: Load one example from collection + //UpdateSourceMetadata(TextFormat("%s/%s/%s.c", exBasePath, exCategory, exRename), info); + // NOTE: Example resource files do not need to be changed... // unless the example is moved from one caegory to another @@ -1358,6 +1361,18 @@ static int UpdateRequiredFiles(void) { int result = 0; + // Edit: Example source code metadata for consistency + //------------------------------------------------------------------------------------------------ + int exListCount = 0; + rlExampleInfo *exList = LoadExamplesData(exCollectionFilePath, "ALL", true, &exListCount); + for (int i = 0; i < exListCount; i++) + { + rlExampleInfo *info = &exList[i]; + UpdateSourceMetadata(TextFormat("%s/%s/%s.c", exBasePath, info->category, info->name), info); + } + UnloadExamplesData(exList); + //------------------------------------------------------------------------------------------------ + // Edit: raylib/examples/Makefile --> Update from collection //------------------------------------------------------------------------------------------------ char *mkText = LoadFileText(TextFormat("%s/Makefile", exBasePath)); From 8544020023694fac1379df915f5b2aadda1955e4 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Sep 2025 11:47:58 +0200 Subject: [PATCH 052/125] Update required files for example rename --- examples/Makefile | 2 +- examples/Makefile.Web | 8 ++++---- tools/rexm/examples_report.md | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/examples/Makefile b/examples/Makefile index 09abfea9c..b04a462ef 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -544,7 +544,6 @@ SHAPES = \ shapes/shapes_double_pendulum \ shapes/shapes_draw_circle_sector \ shapes/shapes_draw_rectangle_rounded \ - shapes/shapes_ring_drawing \ shapes/shapes_easings_ball_anim \ shapes/shapes_easings_box_anim \ shapes/shapes_easings_rectangle_array \ @@ -554,6 +553,7 @@ SHAPES = \ shapes/shapes_logo_raylib_anim \ shapes/shapes_rectangle_advanced \ shapes/shapes_rectangle_scaling \ + shapes/shapes_ring_drawing \ shapes/shapes_splines_drawing \ shapes/shapes_top_down_lights diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 1d3a38933..50bfd1fd7 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -544,7 +544,6 @@ SHAPES = \ shapes/shapes_double_pendulum \ shapes/shapes_draw_circle_sector \ shapes/shapes_draw_rectangle_rounded \ - shapes/shapes_ring_drawing \ shapes/shapes_easings_ball_anim \ shapes/shapes_easings_box_anim \ shapes/shapes_easings_rectangle_array \ @@ -554,6 +553,7 @@ SHAPES = \ shapes/shapes_logo_raylib_anim \ shapes/shapes_rectangle_advanced \ shapes/shapes_rectangle_scaling \ + shapes/shapes_ring_drawing \ shapes/shapes_splines_drawing \ shapes/shapes_top_down_lights @@ -811,9 +811,6 @@ shapes/shapes_draw_circle_sector: shapes/shapes_draw_circle_sector.c shapes/shapes_draw_rectangle_rounded: shapes/shapes_draw_rectangle_rounded.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -shapes/shapes_ring_drawing: shapes/shapes_ring_drawing.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) - shapes/shapes_easings_ball_anim: shapes/shapes_easings_ball_anim.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) @@ -841,6 +838,9 @@ shapes/shapes_rectangle_advanced: shapes/shapes_rectangle_advanced.c shapes/shapes_rectangle_scaling: shapes/shapes_rectangle_scaling.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) +shapes/shapes_ring_drawing: shapes/shapes_ring_drawing.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) + shapes/shapes_splines_drawing: shapes/shapes_splines_drawing.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) diff --git a/tools/rexm/examples_report.md b/tools/rexm/examples_report.md index 9737aff45..46e3ca125 100644 --- a/tools/rexm/examples_report.md +++ b/tools/rexm/examples_report.md @@ -67,7 +67,7 @@ Example elements validated: | shapes_easings_ball_anim | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_easings_box_anim | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_easings_rectangle_array | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shapes_draw_ring | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shapes_ring_drawing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_draw_circle_sector | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_draw_rectangle_rounded | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_top_down_lights | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -87,7 +87,7 @@ Example elements validated: | textures_particles_blending | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | textures_npatch_drawing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | textures_background_scrolling | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| textures_sprite_anim | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| textures_sprite_animation | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | textures_sprite_button | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | textures_sprite_explosion | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | textures_bunnymark | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | From 4020885c35ffb808b6828530dde8d6e633cba0c7 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Sep 2025 11:54:36 +0200 Subject: [PATCH 053/125] REXM: Reviewed `UpdateSourceMetadata()` --- tools/rexm/rexm.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index b81f391ed..e28efdf21 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -2305,7 +2305,7 @@ static void UpdateSourceMetadata(const char *exSrcPath, const rlExampleInfo *inf char *exText = LoadFileText(exSourcePath); char *exTextUpdated[6] = { 0 }; // Pointers to multiple updated text versions - char *exTextUpdatedPtr = NULL; + char *exTextUpdatedPtr = exText; // Pointer to current valid text version char exNameFormated[256] = { 0 }; // Example name without category and using spaces int exNameIndex = TextFindIndex(info->name, "_"); @@ -2315,8 +2315,9 @@ static void UpdateSourceMetadata(const char *exSrcPath, const rlExampleInfo *inf // Update example header title (line #3 - ALWAYS) // String: "* raylib [shaders] example - texture drawing" - exTextUpdated[0] = TextReplaceBetween(exText, + exTextUpdated[0] = TextReplaceBetween(exTextUpdatedPtr, TextFormat("%s] example - %s", info->category, exNameFormated), "* raylib [", "\n"); + if (exTextUpdated[0] != NULL) exTextUpdatedPtr = exTextUpdated[0]; // Update example complexity rating // String: "* Example complexity rating: [★★☆☆] 2/4" @@ -2328,45 +2329,45 @@ static void UpdateSourceMetadata(const char *exSrcPath, const rlExampleInfo *inf if (i < info->stars) strcpy(starsText + 3*i, "★"); else strcpy(starsText + 3*i, "☆"); } - exTextUpdated[1] = TextReplaceBetween(exTextUpdated[0], + exTextUpdated[1] = TextReplaceBetween(exTextUpdatedPtr, TextFormat("%s] %i", starsText, info->stars), "* Example complexity rating: [", "/4\n"); + if (exTextUpdated[1] != NULL) exTextUpdatedPtr = exTextUpdated[1]; // Update example creation/update raylib versions // String: "* Example originally created with raylib 2.0, last time updated with raylib 3.7 - exTextUpdated[2] = TextReplaceBetween(exTextUpdated[1], + exTextUpdated[2] = TextReplaceBetween(exTextUpdatedPtr, TextFormat("%s, last time updated with raylib %s", info->verCreated, info->verUpdated), "* Example originally created with raylib ", "\n"); + if (exTextUpdated[2] != NULL) exTextUpdatedPtr = exTextUpdated[2]; // Update copyright message // String: "* Copyright (c) 2019-2025 Contributor Name (@github_user) and Ramon Santamaria (@raysan5)" if (info->yearCreated == info->yearReviewed) { - exTextUpdated[3] = TextReplaceBetween(exTextUpdated[2], + exTextUpdated[3] = TextReplaceBetween(exTextUpdatedPtr, TextFormat("%i %s (@%s", info->yearCreated, info->author, info->authorGitHub), "Copyright (c) ", ")"); + if (exTextUpdated[3] != NULL) exTextUpdatedPtr = exTextUpdated[3]; } else { - exTextUpdated[3] = TextReplaceBetween(exTextUpdated[2], + exTextUpdated[3] = TextReplaceBetween(exTextUpdatedPtr, TextFormat("%i-%i %s (@%s", info->yearCreated, info->yearReviewed, info->author, info->authorGitHub), "Copyright (c) ", ")"); + if (exTextUpdated[3] != NULL) exTextUpdatedPtr = exTextUpdated[3]; } // Update window title // String: "InitWindow(screenWidth, screenHeight, "raylib [shaders] example - texture drawing");" exTextUpdated[4] = TextReplaceBetween(exTextUpdated[3], TextFormat("raylib [%s] example - %s", info->category, exNameFormated), "InitWindow(screenWidth, screenHeight, \"", "\");"); + if (exTextUpdated[4] != NULL) exTextUpdatedPtr = exTextUpdated[4]; // Update contributors names // String: "* Example contributed by Contributor Name (@github_user) and reviewed by Ramon Santamaria (@raysan5)" // WARNING: Not all examples are contributed by someone, so the result of this replace can be NULL (string not found) - if (exTextUpdated[4] != NULL) - { - exTextUpdated[5] = TextReplaceBetween(exTextUpdated[4], + exTextUpdated[5] = TextReplaceBetween(exTextUpdatedPtr, TextFormat("%s (@%s", info->author, info->authorGitHub), "* Example contributed by ", ")"); - } - else exTextUpdatedPtr = exTextUpdated[3]; - if (exTextUpdated[5] != NULL) exTextUpdatedPtr = exTextUpdated[5]; - SaveFileText(exSourcePath, exTextUpdatedPtr); + if (exTextUpdatedPtr != NULL) SaveFileText(exSourcePath, exTextUpdatedPtr); for (int i = 0; i < 6; i++) { MemFree(exTextUpdated[i]); exTextUpdated[i] = NULL; } From 25f4e544d1401e96d586d70b73147fb64a41b15e Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Sep 2025 12:01:51 +0200 Subject: [PATCH 054/125] REXM: UPDATED: Examples source code header info, aligned with name --- examples/audio/audio_mixed_processor.c | 4 ++-- examples/audio/audio_module_playing.c | 4 ++-- examples/audio/audio_music_stream.c | 4 ++-- examples/audio/audio_raw_stream.c | 4 ++-- examples/audio/audio_sound_loading.c | 4 ++-- examples/audio/audio_sound_positioning.c | 6 +++--- examples/core/core_3d_camera_fps.c | 6 +++--- examples/core/core_input_gamepad.c | 4 ++-- examples/core/core_input_keys.c | 4 ++-- examples/core/core_input_mouse.c | 4 ++-- examples/core/core_random_sequence.c | 4 ++-- examples/core/core_random_values.c | 4 ++-- examples/core/core_smooth_pixelperfect.c | 4 ++-- examples/core/core_storage_values.c | 4 ++-- examples/core/core_window_letterbox.c | 4 ++-- examples/core/core_world_screen.c | 4 ++-- examples/examples_list.txt | 6 +++--- examples/models/models_animation.c | 4 ++-- examples/models/models_billboard_rendering.c | 4 ++-- examples/models/models_cubicmap.c | 4 ++-- examples/models/models_heightmap.c | 4 ++-- examples/models/models_loading.c | 4 ++-- examples/models/models_loading_gltf.c | 4 ++-- examples/models/models_loading_m3d.c | 4 ++-- examples/models/models_loading_vox.c | 4 ++-- examples/models/models_yaw_pitch_roll.c | 4 ++-- examples/others/raymath_vector_angle.c | 6 +++--- examples/shaders/shaders_custom_uniform.c | 4 ++-- examples/shaders/shaders_eratosthenes.c | 4 ++-- examples/shaders/shaders_fog_rendering.c | 4 ++-- examples/shaders/shaders_hybrid_render.c | 4 ++-- examples/shaders/shaders_julia_set.c | 4 ++-- examples/shaders/shaders_multi_sample2d.c | 4 ++-- examples/shaders/shaders_normal_map.c | 2 +- examples/shaders/shaders_palette_switch.c | 4 ++-- examples/shaders/shaders_postprocessing.c | 4 ++-- examples/shaders/shaders_raymarching.c | 4 ++-- examples/shaders/shaders_rounded_rectangle.c | 2 +- examples/shaders/shaders_shapes_textures.c | 4 ++-- examples/shaders/shaders_simple_mask.c | 4 ++-- examples/shaders/shaders_spotlight.c | 4 ++-- examples/shaders/shaders_texture_rendering.c | 4 ++-- examples/shaders/shaders_write_depth.c | 4 ++-- examples/shapes/shapes_basic_shapes.c | 4 ++-- examples/shapes/shapes_lines_bezier.c | 4 ++-- examples/shapes/shapes_logo_raylib.c | 4 ++-- examples/shapes/shapes_logo_raylib_anim.c | 4 ++-- examples/shapes/shapes_rectangle_advanced.c | 4 ++-- examples/shapes/shapes_rectangle_scaling.c | 4 ++-- examples/shapes/shapes_ring_drawing.c | 4 ++-- examples/text/text_3d_drawing.c | 4 ++-- examples/text/text_font_filters.c | 4 ++-- examples/text/text_font_sdf.c | 4 ++-- examples/text/text_font_spritefont.c | 4 ++-- examples/text/text_format_text.c | 4 ++-- examples/text/text_writing_anim.c | 4 ++-- examples/textures/textures_gif_player.c | 4 ++-- examples/textures/textures_image_generation.c | 4 ++-- examples/textures/textures_image_kernel.c | 4 ++-- examples/textures/textures_image_rotate.c | 4 ++-- examples/textures/textures_image_text.c | 4 ++-- examples/textures/textures_logo_raylib.c | 4 ++-- examples/textures/textures_npatch_drawing.c | 4 ++-- examples/textures/textures_polygon_drawing.c | 4 ++-- examples/textures/textures_raw_data.c | 4 ++-- examples/textures/textures_srcrec_dstrec.c | 4 ++-- examples/textures/textures_tiled_drawing.c | 4 ++-- examples/textures/textures_to_image.c | 4 ++-- 68 files changed, 138 insertions(+), 138 deletions(-) diff --git a/examples/audio/audio_mixed_processor.c b/examples/audio/audio_mixed_processor.c index be6a3c8f9..b2d64642d 100644 --- a/examples/audio/audio_mixed_processor.c +++ b/examples/audio/audio_mixed_processor.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [audio] example - mixed audio processing +* raylib [audio] example - mixed processor * * Example complexity rating: [★★★★] 4/4 * @@ -55,7 +55,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [audio] example - mixed audio processing"); + InitWindow(screenWidth, screenHeight, "raylib [audio] example - mixed processor"); InitAudioDevice(); // Initialize audio device diff --git a/examples/audio/audio_module_playing.c b/examples/audio/audio_module_playing.c index 2d0834e2b..6cf888fcb 100644 --- a/examples/audio/audio_module_playing.c +++ b/examples/audio/audio_module_playing.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [audio] example - module playing (streaming) +* raylib [audio] example - module playing * * Example complexity rating: [★☆☆☆] 1/4 * @@ -37,7 +37,7 @@ int main(void) SetConfigFlags(FLAG_MSAA_4X_HINT); // NOTE: Try to enable MSAA 4X - InitWindow(screenWidth, screenHeight, "raylib [audio] example - module playing (streaming)"); + InitWindow(screenWidth, screenHeight, "raylib [audio] example - module playing"); InitAudioDevice(); // Initialize audio device diff --git a/examples/audio/audio_music_stream.c b/examples/audio/audio_music_stream.c index bfe99c575..48be49e42 100644 --- a/examples/audio/audio_music_stream.c +++ b/examples/audio/audio_music_stream.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [audio] example - music streaming +* raylib [audio] example - music stream * * Example complexity rating: [★☆☆☆] 1/4 * @@ -25,7 +25,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [audio] example - music streaming"); + InitWindow(screenWidth, screenHeight, "raylib [audio] example - music stream"); InitAudioDevice(); // Initialize audio device diff --git a/examples/audio/audio_raw_stream.c b/examples/audio/audio_raw_stream.c index 95505c3f6..4deae2090 100644 --- a/examples/audio/audio_raw_stream.c +++ b/examples/audio/audio_raw_stream.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [audio] example - raw audio streaming +* raylib [audio] example - raw stream * * Example complexity rating: [★★★☆] 3/4 * @@ -62,7 +62,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [audio] example - raw audio streaming"); + InitWindow(screenWidth, screenHeight, "raylib [audio] example - raw stream"); InitAudioDevice(); // Initialize audio device diff --git a/examples/audio/audio_sound_loading.c b/examples/audio/audio_sound_loading.c index 5fb356264..97e26a450 100644 --- a/examples/audio/audio_sound_loading.c +++ b/examples/audio/audio_sound_loading.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [audio] example - sound loading and playing +* raylib [audio] example - sound loading * * Example complexity rating: [★☆☆☆] 1/4 * @@ -25,7 +25,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [audio] example - sound loading and playing"); + InitWindow(screenWidth, screenHeight, "raylib [audio] example - sound loading"); InitAudioDevice(); // Initialize audio device diff --git a/examples/audio/audio_sound_positioning.c b/examples/audio/audio_sound_positioning.c index 9f09420a2..9f9de7bd4 100644 --- a/examples/audio/audio_sound_positioning.c +++ b/examples/audio/audio_sound_positioning.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [audio] example - 3d sound positioning +* raylib [audio] example - sound positioning * * Example complexity rating: [★★☆☆] 2/4 * @@ -11,7 +11,7 @@ * Example 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) 2025 Le Juez Victor (@Bigfoot71) +* Copyright (c) 2025-0 Le Juez Victor (@Bigfoot71) * ********************************************************************************************/ @@ -34,7 +34,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [audio] example - 3d sound positioning"); + InitWindow(screenWidth, screenHeight, "raylib [audio] example - sound positioning"); InitAudioDevice(); diff --git a/examples/core/core_3d_camera_fps.c b/examples/core/core_3d_camera_fps.c index 980660b30..0b1a5bdc5 100644 --- a/examples/core/core_3d_camera_fps.c +++ b/examples/core/core_3d_camera_fps.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [core] example - 3d first-person camera controller +* raylib [core] example - 3d camera fps * * Example complexity rating: [★★★☆] 3/4 * @@ -11,7 +11,7 @@ * Example 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) 2025-2025 Agnis Aldins (@nezvers) +* Copyright (c) 2025 Agnis Aldins (@nezvers) * ********************************************************************************************/ @@ -80,7 +80,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [core] example - 3d first-person camera controller"); + InitWindow(screenWidth, screenHeight, "raylib [core] example - 3d camera fps"); // Initialize camera variables // NOTE: UpdateCameraFPS() takes care of the rest diff --git a/examples/core/core_input_gamepad.c b/examples/core/core_input_gamepad.c index aae6e4b55..1da1c4ce0 100644 --- a/examples/core/core_input_gamepad.c +++ b/examples/core/core_input_gamepad.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [core] example - gamepad input +* raylib [core] example - input gamepad * * Example complexity rating: [★☆☆☆] 1/4 * @@ -38,7 +38,7 @@ int main(void) SetConfigFlags(FLAG_MSAA_4X_HINT); // Set MSAA 4X hint before windows creation - InitWindow(screenWidth, screenHeight, "raylib [core] example - gamepad input"); + InitWindow(screenWidth, screenHeight, "raylib [core] example - input gamepad"); Texture2D texPs3Pad = LoadTexture("resources/ps3.png"); Texture2D texXboxPad = LoadTexture("resources/xbox.png"); diff --git a/examples/core/core_input_keys.c b/examples/core/core_input_keys.c index 6ab099c4e..c5b526178 100644 --- a/examples/core/core_input_keys.c +++ b/examples/core/core_input_keys.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [core] example - keyboard input +* raylib [core] example - input keys * * Example complexity rating: [★☆☆☆] 1/4 * @@ -25,7 +25,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [core] example - keyboard input"); + InitWindow(screenWidth, screenHeight, "raylib [core] example - input keys"); Vector2 ballPosition = { (float)screenWidth/2, (float)screenHeight/2 }; diff --git a/examples/core/core_input_mouse.c b/examples/core/core_input_mouse.c index d892b4e9b..bbe519f82 100644 --- a/examples/core/core_input_mouse.c +++ b/examples/core/core_input_mouse.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [core] example - mouse input +* raylib [core] example - input mouse * * Example complexity rating: [★☆☆☆] 1/4 * @@ -25,7 +25,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [core] example - mouse input"); + InitWindow(screenWidth, screenHeight, "raylib [core] example - input mouse"); Vector2 ballPosition = { -100.0f, -100.0f }; Color ballColor = DARKBLUE; diff --git a/examples/core/core_random_sequence.c b/examples/core/core_random_sequence.c index e3b54976a..89753b649 100644 --- a/examples/core/core_random_sequence.c +++ b/examples/core/core_random_sequence.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [core] example - generate random sequence +* raylib [core] example - random sequence * * Example complexity rating: [★☆☆☆] 1/4 * @@ -45,7 +45,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [core] example - generate random sequence"); + InitWindow(screenWidth, screenHeight, "raylib [core] example - random sequence"); int rectCount = 20; float rectSize = (float)screenWidth/rectCount; diff --git a/examples/core/core_random_values.c b/examples/core/core_random_values.c index 911de2949..7bc976d24 100644 --- a/examples/core/core_random_values.c +++ b/examples/core/core_random_values.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [core] example - generate random values +* raylib [core] example - random values * * Example complexity rating: [★☆☆☆] 1/4 * @@ -25,7 +25,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [core] example - generate random values"); + InitWindow(screenWidth, screenHeight, "raylib [core] example - random values"); // SetRandomSeed(0xaabbccff); // Set a custom random seed if desired, by default: "time(NULL)" diff --git a/examples/core/core_smooth_pixelperfect.c b/examples/core/core_smooth_pixelperfect.c index 9570ce482..2b01f3fef 100644 --- a/examples/core/core_smooth_pixelperfect.c +++ b/examples/core/core_smooth_pixelperfect.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [core] example - smooth pixel-perfect camera +* raylib [core] example - smooth pixelperfect * * Example complexity rating: [★★★☆] 3/4 * @@ -35,7 +35,7 @@ int main(void) const float virtualRatio = (float)screenWidth/(float)virtualScreenWidth; - InitWindow(screenWidth, screenHeight, "raylib [core] example - smooth pixel-perfect camera"); + InitWindow(screenWidth, screenHeight, "raylib [core] example - smooth pixelperfect"); Camera2D worldSpaceCamera = { 0 }; // Game world camera worldSpaceCamera.zoom = 1.0f; diff --git a/examples/core/core_storage_values.c b/examples/core/core_storage_values.c index b4645bf72..a49dba57b 100644 --- a/examples/core/core_storage_values.c +++ b/examples/core/core_storage_values.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [core] example - storage save/load values +* raylib [core] example - storage values * * Example complexity rating: [★★☆☆] 2/4 * @@ -41,7 +41,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [core] example - storage save/load values"); + InitWindow(screenWidth, screenHeight, "raylib [core] example - storage values"); int score = 0; int hiscore = 0; diff --git a/examples/core/core_window_letterbox.c b/examples/core/core_window_letterbox.c index 4bbf12cfe..be8c3da4d 100644 --- a/examples/core/core_window_letterbox.c +++ b/examples/core/core_window_letterbox.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [core] example - window scale letterbox +* raylib [core] example - window letterbox * * Example complexity rating: [★★☆☆] 2/4 * @@ -32,7 +32,7 @@ int main(void) // Enable config flags for resizable window and vertical synchro SetConfigFlags(FLAG_WINDOW_RESIZABLE | FLAG_VSYNC_HINT); - InitWindow(screenWidth, screenHeight, "raylib [core] example - window scale letterbox"); + InitWindow(screenWidth, screenHeight, "raylib [core] example - window letterbox"); SetWindowMinSize(320, 240); int gameScreenWidth = 640; diff --git a/examples/core/core_world_screen.c b/examples/core/core_world_screen.c index 0d7d9242c..b7fada03e 100644 --- a/examples/core/core_world_screen.c +++ b/examples/core/core_world_screen.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [core] example - core world screen +* raylib [core] example - world screen * * Example complexity rating: [★★☆☆] 2/4 * @@ -25,7 +25,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [core] example - core world screen"); + InitWindow(screenWidth, screenHeight, "raylib [core] example - world screen"); // Define the camera to look into our 3d world Camera camera = { 0 }; diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 04d44d164..5c5732da5 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -41,7 +41,7 @@ core;core_custom_frame_control;★★★★;4.0;4.0;2021;2025;"Ramon Santamaria" core;core_smooth_pixelperfect;★★★☆;3.7;4.0;2021;2025;"Giancamillo Alessandroni";@NotManyIdeasDev core;core_random_sequence;★☆☆☆;5.0;5.0;2023;2025;"Dalton Overmyer";@REDl3east core;core_automation_events;★★★☆;5.0;5.0;2023;2025;"Ramon Santamaria";@raysan5 -core;core_high_dpi;★★☆☆;5.0;5.5;2025;0;"Jonathan Marler";@marler8997 +core;core_high_dpi;★★☆☆;5.0;5.5;2025;2025;"Jonathan Marler";@marler8997 shapes;shapes_basic_shapes;★☆☆☆;1.0;4.2;2014;2025;"Ramon Santamaria";@raysan5 shapes;shapes_bouncing_ball;★☆☆☆;2.5;2.5;2013;2025;"Ramon Santamaria";@raysan5 shapes;shapes_colors_palette;★★☆☆;1.0;2.5;2014;2025;"Ramon Santamaria";@raysan5 @@ -98,7 +98,7 @@ text;text_input_box;★★☆☆;1.7;3.5;2017;2025;"Ramon Santamaria";@raysan5 text;text_writing_anim;★★☆☆;1.4;1.4;2016;2025;"Ramon Santamaria";@raysan5 text;text_rectangle_bounds;★★★★;2.5;4.0;2018;2025;"Vlad Adrian";@demizdor text;text_unicode_emojis;★★★★;2.5;4.0;2019;2025;"Vlad Adrian";@demizdor -text;text_unicode_ranges;★★★★;5.5;5.6;2025;0;"Vlad Adrian";@demizdor +text;text_unicode_ranges;★★★★;5.5;5.6;2025;2025;"Vlad Adrian";@demizdor text;text_3d_drawing;★★★★;3.5;4.0;2021;2025;"Vlad Adrian";@demizdor text;text_codepoints_loading;★★★☆;4.2;4.2;2022;2025;"Ramon Santamaria";@raysan5 models;models_animation;★★☆☆;2.5;3.5;2019;2025;"Culacant";@culacant @@ -160,7 +160,7 @@ audio;audio_sound_loading;★☆☆☆;1.1;3.5;2014;2025;"Ramon Santamaria";@ray audio;audio_mixed_processor;★★★★;4.2;4.2;2023;2025;"hkc";@hatkidchan audio;audio_stream_effects;★★★★;4.2;5.0;2022;2025;"Ramon Santamaria";@raysan5 audio;audio_sound_multi;★★☆☆;5.0;5.0;2023;2025;"Jeffery Myers";@JeffM2501 -audio;audio_sound_positioning;★★☆☆;5.5;5.5;2025;0;"Le Juez Victor";@Bigfoot71 +audio;audio_sound_positioning;★★☆☆;5.5;5.5;2025;2025;"Le Juez Victor";@Bigfoot71 others;rlgl_standalone;★★★★;1.6;4.0;2014;2025;"Ramon Santamaria";@raysan5 others;rlgl_compute_shader;★★★★;4.0;4.0;2021;2025;"Teddy Astie";@tsnake41 others;easings_testbed;★★★☆;2.5;3.0;2019;2025;"Juan Miguel López";@flashback-fx diff --git a/examples/models/models_animation.c b/examples/models/models_animation.c index 1f456e5ea..accb9c8ff 100644 --- a/examples/models/models_animation.c +++ b/examples/models/models_animation.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [models] example - model animation +* raylib [models] example - animation * * Example complexity rating: [★★☆☆] 2/4 * @@ -33,7 +33,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [models] example - model animation"); + InitWindow(screenWidth, screenHeight, "raylib [models] example - animation"); // Define the camera to look into our 3d world Camera camera = { 0 }; diff --git a/examples/models/models_billboard_rendering.c b/examples/models/models_billboard_rendering.c index 40266c277..a637a4df4 100644 --- a/examples/models/models_billboard_rendering.c +++ b/examples/models/models_billboard_rendering.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [models] example - billboard render +* raylib [models] example - billboard rendering * * Example complexity rating: [★★★☆] 3/4 * @@ -26,7 +26,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [models] example - billboard render"); + InitWindow(screenWidth, screenHeight, "raylib [models] example - billboard rendering"); // Define the camera to look into our 3d world Camera camera = { 0 }; diff --git a/examples/models/models_cubicmap.c b/examples/models/models_cubicmap.c index fe6c6604f..d6e1e04eb 100644 --- a/examples/models/models_cubicmap.c +++ b/examples/models/models_cubicmap.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [models] example - cubicmap loading and drawing +* raylib [models] example - cubicmap * * Example complexity rating: [★★☆☆] 2/4 * @@ -25,7 +25,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [models] example - cubicmap loading and drawing"); + InitWindow(screenWidth, screenHeight, "raylib [models] example - cubicmap"); // Define the camera to look into our 3d world Camera camera = { 0 }; diff --git a/examples/models/models_heightmap.c b/examples/models/models_heightmap.c index a11f133af..89583fca0 100644 --- a/examples/models/models_heightmap.c +++ b/examples/models/models_heightmap.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [models] example - heightmap terrain +* raylib [models] example - heightmap * * Example complexity rating: [★☆☆☆] 1/4 * @@ -25,7 +25,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [models] example - heightmap terrain"); + InitWindow(screenWidth, screenHeight, "raylib [models] example - heightmap"); // Define our custom camera to look into our 3d world Camera camera = { 0 }; diff --git a/examples/models/models_loading.c b/examples/models/models_loading.c index 356043579..650b3126f 100644 --- a/examples/models/models_loading.c +++ b/examples/models/models_loading.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [models] example - models loading +* raylib [models] example - loading * * Example complexity rating: [★☆☆☆] 1/4 * @@ -38,7 +38,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [models] example - models loading"); + InitWindow(screenWidth, screenHeight, "raylib [models] example - loading"); // Define the camera to look into our 3d world Camera camera = { 0 }; diff --git a/examples/models/models_loading_gltf.c b/examples/models/models_loading_gltf.c index a827ec154..7729da13f 100644 --- a/examples/models/models_loading_gltf.c +++ b/examples/models/models_loading_gltf.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [models] example - loading gltf animations +* raylib [models] example - loading gltf * * Example complexity rating: [★☆☆☆] 1/4 * @@ -32,7 +32,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [models] example - loading gltf animations"); + InitWindow(screenWidth, screenHeight, "raylib [models] example - loading gltf"); // Define the camera to look into our 3d world Camera camera = { 0 }; diff --git a/examples/models/models_loading_m3d.c b/examples/models/models_loading_m3d.c index e8c779de8..452a21610 100644 --- a/examples/models/models_loading_m3d.c +++ b/examples/models/models_loading_m3d.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [models] example - models loading m3d +* raylib [models] example - loading m3d * * Example complexity rating: [★★☆☆] 2/4 * @@ -31,7 +31,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [models] example - models loading m3d"); + InitWindow(screenWidth, screenHeight, "raylib [models] example - loading m3d"); // Define the camera to look into our 3d world Camera camera = { 0 }; diff --git a/examples/models/models_loading_vox.c b/examples/models/models_loading_vox.c index cf54a1c25..956c181a0 100644 --- a/examples/models/models_loading_vox.c +++ b/examples/models/models_loading_vox.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [models] example - magicavoxel loading +* raylib [models] example - loading vox * * Example complexity rating: [★☆☆☆] 1/4 * @@ -47,7 +47,7 @@ int main(void) "resources/models/vox/fez.vox" }; - InitWindow(screenWidth, screenHeight, "raylib [models] example - magicavoxel loading"); + InitWindow(screenWidth, screenHeight, "raylib [models] example - loading vox"); // Define the camera to look into our 3d world Camera camera = { 0 }; diff --git a/examples/models/models_yaw_pitch_roll.c b/examples/models/models_yaw_pitch_roll.c index 954c99ded..c19aafdcd 100644 --- a/examples/models/models_yaw_pitch_roll.c +++ b/examples/models/models_yaw_pitch_roll.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [models] example - plane rotations (yaw, pitch, roll) +* raylib [models] example - yaw pitch roll * * Example complexity rating: [★★☆☆] 2/4 * @@ -30,7 +30,7 @@ int main(void) const int screenHeight = 450; //SetConfigFlags(FLAG_MSAA_4X_HINT | FLAG_WINDOW_HIGHDPI); - InitWindow(screenWidth, screenHeight, "raylib [models] example - plane rotations (yaw, pitch, roll)"); + InitWindow(screenWidth, screenHeight, "raylib [models] example - yaw pitch roll"); Camera camera = { 0 }; camera.position = (Vector3){ 0.0f, 50.0f, -120.0f };// Camera position perspective diff --git a/examples/others/raymath_vector_angle.c b/examples/others/raymath_vector_angle.c index d98b158ed..cded99e8b 100644 --- a/examples/others/raymath_vector_angle.c +++ b/examples/others/raymath_vector_angle.c @@ -1,10 +1,10 @@ /******************************************************************************************* * -* raylib [math] example - vector angle +* raylib [others] example - vector angle * * Example complexity rating: [★★☆☆] 2/4 * -* Example originally created with raylib 1.0, last time updated with raylib 4.6 +* Example originally created with raylib 1.0, last time updated with raylib 5.0 * * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software @@ -27,7 +27,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [math] example - vector angle"); + InitWindow(screenWidth, screenHeight, "raylib [others] example - vector angle"); Vector2 v0 = { screenWidth/2, screenHeight/2 }; Vector2 v1 = Vector2Add(v0, (Vector2){ 100.0f, 80.0f }); diff --git a/examples/shaders/shaders_custom_uniform.c b/examples/shaders/shaders_custom_uniform.c index f599a4a0f..24078c264 100644 --- a/examples/shaders/shaders_custom_uniform.c +++ b/examples/shaders/shaders_custom_uniform.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - custom uniform variable +* raylib [shaders] example - custom uniform * * Example complexity rating: [★★☆☆] 2/4 * @@ -40,7 +40,7 @@ int main(void) SetConfigFlags(FLAG_MSAA_4X_HINT); // Enable Multi Sampling Anti Aliasing 4x (if available) - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - custom uniform variable"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - custom uniform"); // Define the camera to look into our 3d world Camera camera = { 0 }; diff --git a/examples/shaders/shaders_eratosthenes.c b/examples/shaders/shaders_eratosthenes.c index 4a974c9c8..854bb5c66 100644 --- a/examples/shaders/shaders_eratosthenes.c +++ b/examples/shaders/shaders_eratosthenes.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - sieve of Eratosthenes +* raylib [shaders] example - eratosthenes * * Example complexity rating: [★★★☆] 3/4 * @@ -45,7 +45,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - sieve of Eratosthenes"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - eratosthenes"); RenderTexture2D target = LoadRenderTexture(screenWidth, screenHeight); diff --git a/examples/shaders/shaders_fog_rendering.c b/examples/shaders/shaders_fog_rendering.c index 3307f88f4..bc0e54ceb 100644 --- a/examples/shaders/shaders_fog_rendering.c +++ b/examples/shaders/shaders_fog_rendering.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - fog +* raylib [shaders] example - fog rendering * * Example complexity rating: [★★★☆] 3/4 * @@ -44,7 +44,7 @@ int main(void) const int screenHeight = 450; SetConfigFlags(FLAG_MSAA_4X_HINT); // Enable Multi Sampling Anti Aliasing 4x (if available) - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - fog"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - fog rendering"); // Define the camera to look into our 3d world Camera camera = { 0 }; diff --git a/examples/shaders/shaders_hybrid_render.c b/examples/shaders/shaders_hybrid_render.c index 9882306a0..066e6e0b6 100644 --- a/examples/shaders/shaders_hybrid_render.c +++ b/examples/shaders/shaders_hybrid_render.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - write depth buffer +* raylib [shaders] example - hybrid render * * Example complexity rating: [★★★★] 4/4 * @@ -55,7 +55,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - write depth buffer"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - hybrid render"); // This Shader calculates pixel depth and color using raymarch Shader shdrRaymarch = LoadShader(0, TextFormat("resources/shaders/glsl%i/hybrid_raymarch.fs", GLSL_VERSION)); diff --git a/examples/shaders/shaders_julia_set.c b/examples/shaders/shaders_julia_set.c index a9c5f5944..1b7b9fb90 100644 --- a/examples/shaders/shaders_julia_set.c +++ b/examples/shaders/shaders_julia_set.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - julia sets +* raylib [shaders] example - julia set * * Example complexity rating: [★★★☆] 3/4 * @@ -53,7 +53,7 @@ int main(void) { // Initialization //-------------------------------------------------------------------------------------- - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - julia sets"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - julia set"); // Load julia set shader // NOTE: Defining 0 (NULL) for vertex shader forces usage of internal default vertex shader diff --git a/examples/shaders/shaders_multi_sample2d.c b/examples/shaders/shaders_multi_sample2d.c index 4e732ce1a..41980a3f1 100644 --- a/examples/shaders/shaders_multi_sample2d.c +++ b/examples/shaders/shaders_multi_sample2d.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - multi sample2D +* raylib [shaders] example - multi sample2d * * Example complexity rating: [★★☆☆] 2/4 * @@ -38,7 +38,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - multi sample2D"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - multi sample2d"); Image imRed = GenImageColor(800, 450, (Color){ 255, 0, 0, 255 }); Texture texRed = LoadTextureFromImage(imRed); diff --git a/examples/shaders/shaders_normal_map.c b/examples/shaders/shaders_normal_map.c index d2d15e545..efdd6cb72 100644 --- a/examples/shaders/shaders_normal_map.c +++ b/examples/shaders/shaders_normal_map.c @@ -14,7 +14,7 @@ * Example 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) 2025-2025 Jeremy Montgomery (@Sir_Irk) and Ramon Santamaria (@raysan5) +* Copyright (c) 2025 Jeremy Montgomery (@Sir_Irk) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_palette_switch.c b/examples/shaders/shaders_palette_switch.c index 346bc171c..048fe7fbc 100644 --- a/examples/shaders/shaders_palette_switch.c +++ b/examples/shaders/shaders_palette_switch.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - color palette switch +* raylib [shaders] example - palette switch * * Example complexity rating: [★★★☆] 3/4 * @@ -86,7 +86,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - color palette switch"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - palette switch"); // Load shader to be used on some parts drawing // NOTE 1: Using GLSL 330 shader version, on OpenGL ES 2.0 use GLSL 100 shader version diff --git a/examples/shaders/shaders_postprocessing.c b/examples/shaders/shaders_postprocessing.c index 117fa3886..c30686a7a 100644 --- a/examples/shaders/shaders_postprocessing.c +++ b/examples/shaders/shaders_postprocessing.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - postprocessing shader +* raylib [shaders] example - postprocessing * * Example complexity rating: [★★★☆] 3/4 * @@ -77,7 +77,7 @@ int main(void) SetConfigFlags(FLAG_MSAA_4X_HINT); // Enable Multi Sampling Anti Aliasing 4x (if available) - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - postprocessing shader"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - postprocessing"); // Define the camera to look into our 3d world Camera camera = { 0 }; diff --git a/examples/shaders/shaders_raymarching.c b/examples/shaders/shaders_raymarching.c index 744181680..77e0442c4 100644 --- a/examples/shaders/shaders_raymarching.c +++ b/examples/shaders/shaders_raymarching.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - raymarching shapes +* raylib [shaders] example - raymarching * * Example complexity rating: [★★★★] 4/4 * @@ -35,7 +35,7 @@ int main(void) const int screenHeight = 450; SetConfigFlags(FLAG_WINDOW_RESIZABLE); - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - raymarching shapes"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - raymarching"); Camera camera = { 0 }; camera.position = (Vector3){ 2.5f, 2.5f, 3.0f }; // Camera position diff --git a/examples/shaders/shaders_rounded_rectangle.c b/examples/shaders/shaders_rounded_rectangle.c index ddfab299c..64814fe6e 100644 --- a/examples/shaders/shaders_rounded_rectangle.c +++ b/examples/shaders/shaders_rounded_rectangle.c @@ -11,7 +11,7 @@ * Example 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) 2025-2025 Anstro Pleuton (@anstropleuton) +* Copyright (c) 2025 Anstro Pleuton (@anstropleuton) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_shapes_textures.c b/examples/shaders/shaders_shapes_textures.c index 080cfabbd..1517f0de8 100644 --- a/examples/shaders/shaders_shapes_textures.c +++ b/examples/shaders/shaders_shapes_textures.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - shapes and texture shaders +* raylib [shaders] example - shapes textures * * Example complexity rating: [★★☆☆] 2/4 * @@ -38,7 +38,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - shapes and texture shaders"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - shapes textures"); Texture2D fudesumi = LoadTexture("resources/fudesumi.png"); diff --git a/examples/shaders/shaders_simple_mask.c b/examples/shaders/shaders_simple_mask.c index df8310a9d..9df870188 100644 --- a/examples/shaders/shaders_simple_mask.c +++ b/examples/shaders/shaders_simple_mask.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - simple shader mask +* raylib [shaders] example - simple mask * * Example complexity rating: [★★☆☆] 2/4 * @@ -41,7 +41,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - simple shader mask"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - simple mask"); // Define the camera to look into our 3d world Camera camera = { 0 }; diff --git a/examples/shaders/shaders_spotlight.c b/examples/shaders/shaders_spotlight.c index c7b35a262..4bff79e02 100644 --- a/examples/shaders/shaders_spotlight.c +++ b/examples/shaders/shaders_spotlight.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - shader spotlight +* raylib [shaders] example - spotlight * * Example complexity rating: [★★☆☆] 2/4 * @@ -81,7 +81,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - shader spotlight"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - spotlight"); HideCursor(); Texture texRay = LoadTexture("resources/raysan.png"); diff --git a/examples/shaders/shaders_texture_rendering.c b/examples/shaders/shaders_texture_rendering.c index 3720f1954..b89c2a756 100644 --- a/examples/shaders/shaders_texture_rendering.c +++ b/examples/shaders/shaders_texture_rendering.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - texture drawing +* raylib [shaders] example - texture rendering * * Example complexity rating: [★★☆☆] 2/4 * @@ -33,7 +33,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - texture drawing"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - texture rendering"); Image imBlank = GenImageColor(1024, 1024, BLANK); Texture2D texture = LoadTextureFromImage(imBlank); // Load blank texture to fill on shader diff --git a/examples/shaders/shaders_write_depth.c b/examples/shaders/shaders_write_depth.c index a80eb83e5..677d0fb03 100644 --- a/examples/shaders/shaders_write_depth.c +++ b/examples/shaders/shaders_write_depth.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - write depth buffer +* raylib [shaders] example - write depth * * Example complexity rating: [★★☆☆] 2/4 * @@ -44,7 +44,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - write depth buffer"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - write depth"); // The shader inverts the depth buffer by writing into it by `gl_FragDepth = 1 - gl_FragCoord.z;` Shader shader = LoadShader(0, TextFormat("resources/shaders/glsl%i/write_depth.fs", GLSL_VERSION)); diff --git a/examples/shapes/shapes_basic_shapes.c b/examples/shapes/shapes_basic_shapes.c index d0801ab0b..77f2246f0 100644 --- a/examples/shapes/shapes_basic_shapes.c +++ b/examples/shapes/shapes_basic_shapes.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shapes] example - basic shapes drawing +* raylib [shapes] example - basic shapes * * Example complexity rating: [★☆☆☆] 1/4 * @@ -25,7 +25,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shapes] example - basic shapes drawing"); + InitWindow(screenWidth, screenHeight, "raylib [shapes] example - basic shapes"); float rotation = 0.0f; diff --git a/examples/shapes/shapes_lines_bezier.c b/examples/shapes/shapes_lines_bezier.c index 1e0600edf..61def14b9 100644 --- a/examples/shapes/shapes_lines_bezier.c +++ b/examples/shapes/shapes_lines_bezier.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shapes] example - cubic-bezier lines +* raylib [shapes] example - lines bezier * * Example complexity rating: [★☆☆☆] 1/4 * @@ -26,7 +26,7 @@ int main(void) const int screenHeight = 450; SetConfigFlags(FLAG_MSAA_4X_HINT); - InitWindow(screenWidth, screenHeight, "raylib [shapes] example - cubic-bezier lines"); + InitWindow(screenWidth, screenHeight, "raylib [shapes] example - lines bezier"); Vector2 startPoint = { 30, 30 }; Vector2 endPoint = { (float)screenWidth - 30, (float)screenHeight - 30 }; diff --git a/examples/shapes/shapes_logo_raylib.c b/examples/shapes/shapes_logo_raylib.c index 48db5d78f..aa770860e 100644 --- a/examples/shapes/shapes_logo_raylib.c +++ b/examples/shapes/shapes_logo_raylib.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shapes] example - raylib logo using shapes +* raylib [shapes] example - logo raylib * * Example complexity rating: [★☆☆☆] 1/4 * @@ -25,7 +25,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shapes] example - raylib logo using shapes"); + InitWindow(screenWidth, screenHeight, "raylib [shapes] example - logo raylib"); SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/shapes/shapes_logo_raylib_anim.c b/examples/shapes/shapes_logo_raylib_anim.c index 81c1e6d3f..ec6b043f4 100644 --- a/examples/shapes/shapes_logo_raylib_anim.c +++ b/examples/shapes/shapes_logo_raylib_anim.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shapes] example - raylib logo animation +* raylib [shapes] example - logo raylib anim * * Example complexity rating: [★★☆☆] 2/4 * @@ -25,7 +25,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shapes] example - raylib logo animation"); + InitWindow(screenWidth, screenHeight, "raylib [shapes] example - logo raylib anim"); int logoPositionX = screenWidth/2 - 128; int logoPositionY = screenHeight/2 - 128; diff --git a/examples/shapes/shapes_rectangle_advanced.c b/examples/shapes/shapes_rectangle_advanced.c index 5bd15cc55..15487ee55 100644 --- a/examples/shapes/shapes_rectangle_advanced.c +++ b/examples/shapes/shapes_rectangle_advanced.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shapes] example - rectangle avanced +* raylib [shapes] example - rectangle advanced * * Example complexity rating: [★★★★] 4/4 * @@ -37,7 +37,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shapes] example - rectangle avanced"); + InitWindow(screenWidth, screenHeight, "raylib [shapes] example - rectangle advanced"); SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/shapes/shapes_rectangle_scaling.c b/examples/shapes/shapes_rectangle_scaling.c index 5ee03d7aa..530007f29 100644 --- a/examples/shapes/shapes_rectangle_scaling.c +++ b/examples/shapes/shapes_rectangle_scaling.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shapes] example - rectangle scaling mouse +* raylib [shapes] example - rectangle scaling * * Example complexity rating: [★★☆☆] 2/4 * @@ -29,7 +29,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shapes] example - rectangle scaling mouse"); + InitWindow(screenWidth, screenHeight, "raylib [shapes] example - rectangle scaling"); Rectangle rec = { 100, 100, 200, 80 }; diff --git a/examples/shapes/shapes_ring_drawing.c b/examples/shapes/shapes_ring_drawing.c index c3a13729d..890747b7a 100644 --- a/examples/shapes/shapes_ring_drawing.c +++ b/examples/shapes/shapes_ring_drawing.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shapes] example - draw ring +* raylib [shapes] example - ring drawing * * Example complexity rating: [★★★☆] 3/4 * @@ -30,7 +30,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shapes] example - draw ring"); + InitWindow(screenWidth, screenHeight, "raylib [shapes] example - ring drawing"); Vector2 center = {(GetScreenWidth() - 300)/2.0f, GetScreenHeight()/2.0f }; diff --git a/examples/text/text_3d_drawing.c b/examples/text/text_3d_drawing.c index 0202b49f7..202494bf7 100644 --- a/examples/text/text_3d_drawing.c +++ b/examples/text/text_3d_drawing.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [text] example - 3d text drawing +* raylib [text] example - 3d drawing * * Example complexity rating: [★★★★] 4/4 * @@ -87,7 +87,7 @@ int main(void) const int screenHeight = 450; SetConfigFlags(FLAG_MSAA_4X_HINT|FLAG_VSYNC_HINT); - InitWindow(screenWidth, screenHeight, "raylib [text] example - 3d text drawing"); + InitWindow(screenWidth, screenHeight, "raylib [text] example - 3d drawing"); bool spin = true; // Spin the camera? bool multicolor = false; // Multicolor mode diff --git a/examples/text/text_font_filters.c b/examples/text/text_font_filters.c index efd074c54..81a2e0394 100644 --- a/examples/text/text_font_filters.c +++ b/examples/text/text_font_filters.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [text] example - font texture filters +* raylib [text] example - font filters * * Example complexity rating: [★★☆☆] 2/4 * @@ -29,7 +29,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [text] example - font texture filters"); + InitWindow(screenWidth, screenHeight, "raylib [text] example - font filters"); const char msg[50] = "Loaded Font"; diff --git a/examples/text/text_font_sdf.c b/examples/text/text_font_sdf.c index d81e8b447..744450fa6 100644 --- a/examples/text/text_font_sdf.c +++ b/examples/text/text_font_sdf.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [text] example - font SDF loading +* raylib [text] example - font sdf * * Example complexity rating: [★★★☆] 3/4 * @@ -33,7 +33,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [text] example - font SDF loading"); + InitWindow(screenWidth, screenHeight, "raylib [text] example - font sdf"); // NOTE: Textures/Fonts MUST be loaded after Window initialization (OpenGL context is required) diff --git a/examples/text/text_font_spritefont.c b/examples/text/text_font_spritefont.c index 8c1a3b102..b78816ec9 100644 --- a/examples/text/text_font_spritefont.c +++ b/examples/text/text_font_spritefont.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [text] example - sprite font loading +* raylib [text] example - font spritefont * * Example complexity rating: [★☆☆☆] 1/4 * @@ -35,7 +35,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [text] example - sprite font loading"); + InitWindow(screenWidth, screenHeight, "raylib [text] example - font spritefont"); const char msg1[50] = "THIS IS A custom SPRITE FONT..."; const char msg2[50] = "...and this is ANOTHER CUSTOM font..."; diff --git a/examples/text/text_format_text.c b/examples/text/text_format_text.c index 2eadf05c2..7032a027b 100644 --- a/examples/text/text_format_text.c +++ b/examples/text/text_format_text.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [text] example - text formatting +* raylib [text] example - format text * * Example complexity rating: [★☆☆☆] 1/4 * @@ -25,7 +25,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [text] example - text formatting"); + InitWindow(screenWidth, screenHeight, "raylib [text] example - format text"); int score = 100020; int hiscore = 200450; diff --git a/examples/text/text_writing_anim.c b/examples/text/text_writing_anim.c index e52f96a03..c11d2399e 100644 --- a/examples/text/text_writing_anim.c +++ b/examples/text/text_writing_anim.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [text] example - text writing animation +* raylib [text] example - writing anim * * Example complexity rating: [★★☆☆] 2/4 * @@ -25,7 +25,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [text] example - text writing animation"); + InitWindow(screenWidth, screenHeight, "raylib [text] example - writing anim"); const char message[128] = "This sample illustrates a text writing\nanimation effect! Check it out! ;)"; diff --git a/examples/textures/textures_gif_player.c b/examples/textures/textures_gif_player.c index f62205b63..cdd95fde2 100644 --- a/examples/textures/textures_gif_player.c +++ b/examples/textures/textures_gif_player.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [textures] example - gif playing +* raylib [textures] example - gif player * * Example complexity rating: [★★★☆] 3/4 * @@ -28,7 +28,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [textures] example - gif playing"); + InitWindow(screenWidth, screenHeight, "raylib [textures] example - gif player"); int animFrames = 0; diff --git a/examples/textures/textures_image_generation.c b/examples/textures/textures_image_generation.c index f616c6bfe..8254d2e62 100644 --- a/examples/textures/textures_image_generation.c +++ b/examples/textures/textures_image_generation.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [textures] example - procedural images generation +* raylib [textures] example - image generation * * Example complexity rating: [★★☆☆] 2/4 * @@ -29,7 +29,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [textures] example - procedural images generation"); + InitWindow(screenWidth, screenHeight, "raylib [textures] example - image generation"); Image verticalGradient = GenImageGradientLinear(screenWidth, screenHeight, 0, RED, BLUE); Image horizontalGradient = GenImageGradientLinear(screenWidth, screenHeight, 90, RED, BLUE); diff --git a/examples/textures/textures_image_kernel.c b/examples/textures/textures_image_kernel.c index 3c89bd620..6ecb1966d 100644 --- a/examples/textures/textures_image_kernel.c +++ b/examples/textures/textures_image_kernel.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [textures] example - image convolution +* raylib [textures] example - image kernel * * Example complexity rating: [★★★★] 4/4 * @@ -34,7 +34,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [textures] example - image convolution"); + InitWindow(screenWidth, screenHeight, "raylib [textures] example - image kernel"); Image image = LoadImage("resources/cat.png"); // Loaded in CPU memory (RAM) diff --git a/examples/textures/textures_image_rotate.c b/examples/textures/textures_image_rotate.c index cf3278d22..f508adfc8 100644 --- a/examples/textures/textures_image_rotate.c +++ b/examples/textures/textures_image_rotate.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [textures] example - image rotation +* raylib [textures] example - image rotate * * Example complexity rating: [★★☆☆] 2/4 * @@ -27,7 +27,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [textures] example - image rotation"); + InitWindow(screenWidth, screenHeight, "raylib [textures] example - image rotate"); // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) Image image45 = LoadImage("resources/raylib_logo.png"); diff --git a/examples/textures/textures_image_text.c b/examples/textures/textures_image_text.c index 354e15fad..e6777261a 100644 --- a/examples/textures/textures_image_text.c +++ b/examples/textures/textures_image_text.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [textures] example - image text drawing +* raylib [textures] example - image text * * Example complexity rating: [★★☆☆] 2/4 * @@ -25,7 +25,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [textures] example - image text drawing"); + InitWindow(screenWidth, screenHeight, "raylib [textures] example - image text"); Image parrots = LoadImage("resources/parrots.png"); // Load image in CPU memory (RAM) diff --git a/examples/textures/textures_logo_raylib.c b/examples/textures/textures_logo_raylib.c index 4fb176217..cf767a631 100644 --- a/examples/textures/textures_logo_raylib.c +++ b/examples/textures/textures_logo_raylib.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [textures] example - texture loading and drawing +* raylib [textures] example - logo raylib * * Example complexity rating: [★☆☆☆] 1/4 * @@ -25,7 +25,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [textures] example - texture loading and drawing"); + InitWindow(screenWidth, screenHeight, "raylib [textures] example - logo raylib"); // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) Texture2D texture = LoadTexture("resources/raylib_logo.png"); // Texture loading diff --git a/examples/textures/textures_npatch_drawing.c b/examples/textures/textures_npatch_drawing.c index 005fc845e..9a7829a2b 100644 --- a/examples/textures/textures_npatch_drawing.c +++ b/examples/textures/textures_npatch_drawing.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [textures] example - N-patch drawing +* raylib [textures] example - npatch drawing * * Example complexity rating: [★★★☆] 3/4 * @@ -29,7 +29,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [textures] example - N-patch drawing"); + InitWindow(screenWidth, screenHeight, "raylib [textures] example - npatch drawing"); // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) Texture2D nPatchTexture = LoadTexture("resources/ninepatch_button.png"); diff --git a/examples/textures/textures_polygon_drawing.c b/examples/textures/textures_polygon_drawing.c index 6a9e357d8..8005ad1a1 100644 --- a/examples/textures/textures_polygon_drawing.c +++ b/examples/textures/textures_polygon_drawing.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [textures] example - textured polygon +* raylib [textures] example - polygon drawing * * Example complexity rating: [★☆☆☆] 1/4 * @@ -35,7 +35,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [textures] example - textured polygon"); + InitWindow(screenWidth, screenHeight, "raylib [textures] example - polygon drawing"); // Define texture coordinates to map our texture to poly Vector2 texcoords[MAX_POINTS] = { diff --git a/examples/textures/textures_raw_data.c b/examples/textures/textures_raw_data.c index 922ba575f..c38983b53 100644 --- a/examples/textures/textures_raw_data.c +++ b/examples/textures/textures_raw_data.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [textures] example - texture from raw data +* raylib [textures] example - raw data * * Example complexity rating: [★★★☆] 3/4 * @@ -29,7 +29,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [textures] example - texture from raw data"); + InitWindow(screenWidth, screenHeight, "raylib [textures] example - raw data"); // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) diff --git a/examples/textures/textures_srcrec_dstrec.c b/examples/textures/textures_srcrec_dstrec.c index 437587a79..8e9984009 100644 --- a/examples/textures/textures_srcrec_dstrec.c +++ b/examples/textures/textures_srcrec_dstrec.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [textures] example - texture source and destination rectangles +* raylib [textures] example - srcrec dstrec * * Example complexity rating: [★★★☆] 3/4 * @@ -25,7 +25,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [textures] example - texture source and destination rectangles"); + InitWindow(screenWidth, screenHeight, "raylib [textures] example - srcrec dstrec"); // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) diff --git a/examples/textures/textures_tiled_drawing.c b/examples/textures/textures_tiled_drawing.c index e3262be01..10bcad1ad 100644 --- a/examples/textures/textures_tiled_drawing.c +++ b/examples/textures/textures_tiled_drawing.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [textures] example - textures tiled drawing +* raylib [textures] example - tiled drawing * * Example complexity rating: [★★★☆] 3/4 * @@ -36,7 +36,7 @@ int main(void) const int screenHeight = 450; SetConfigFlags(FLAG_WINDOW_RESIZABLE); // Make the window resizable - InitWindow(screenWidth, screenHeight, "raylib [textures] example - textures tiled drawing"); + InitWindow(screenWidth, screenHeight, "raylib [textures] example - tiled drawing"); // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) Texture texPattern = LoadTexture("resources/patterns.png"); diff --git a/examples/textures/textures_to_image.c b/examples/textures/textures_to_image.c index 16d55f84c..4da7ed553 100644 --- a/examples/textures/textures_to_image.c +++ b/examples/textures/textures_to_image.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [textures] example - texture to image +* raylib [textures] example - to image * * Example complexity rating: [★☆☆☆] 1/4 * @@ -27,7 +27,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [textures] example - texture to image"); + InitWindow(screenWidth, screenHeight, "raylib [textures] example - to image"); // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) From 688cf680c0d7d3c10e265ef5bb3aa847698216ed Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Sep 2025 12:03:16 +0200 Subject: [PATCH 055/125] Update examples_list.txt --- examples/examples_list.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 5c5732da5..1a8407a48 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -15,7 +15,7 @@ core;core_input_gamepad;★☆☆☆;1.1;4.2;2013;2025;"Ramon Santamaria";@raysa core;core_input_multitouch;★☆☆☆;2.1;2.5;2019;2025;"Berni";@Berni8k core;core_input_gestures;★★☆☆;1.4;4.2;2016;2025;"Ramon Santamaria";@raysan5 core;core_input_gestures_testbed;★★★☆;5.0;5.6-dev;2023;2025;"ubkp";@ubkp -core;core_input_virtual_controls;★★☆☆;5.0;5.0;2024;2025;"oblerion";@oblerion +core;core_input_virtual_controls;★★☆☆;5.0;5.0;2024;2025;"GreenSnakeLinux";@GreenSnakeLinux core;core_2d_camera;★★☆☆;1.5;3.0;2016;2025;"Ramon Santamaria";@raysan5 core;core_2d_camera_mouse_zoom;★★☆☆;4.2;4.2;2022;2025;"Jeffery Myers";@JeffM2501 core;core_2d_camera_platformer;★★★☆;2.5;3.0;2019;2025;"arvyy";@arvyy From 266b8efbd6e21146a8c6aeefaaff4fa4e0af7aac Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Sep 2025 12:05:11 +0200 Subject: [PATCH 056/125] REXM: Reviewed examples inconsistencies --- examples/README.md | 2 +- examples/audio/audio_sound_positioning.c | 2 +- examples/core/core_input_virtual_controls.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/README.md b/examples/README.md index 832917ecd..a3c361913 100644 --- a/examples/README.md +++ b/examples/README.md @@ -33,7 +33,7 @@ Examples using raylib[core](../src/rcore.c) platform functionality like window c | [core_input_multitouch](core/core_input_multitouch.c) | core_input_multitouch | ⭐☆☆☆ | 2.1 | 2.5 | [Berni](https://github.com/Berni8k) | | [core_input_gestures](core/core_input_gestures.c) | core_input_gestures | ⭐⭐☆☆ | 1.4 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | | [core_input_gestures_testbed](core/core_input_gestures_testbed.c) | core_input_gestures_testbed | ⭐⭐⭐☆ | 5.0 | 5.6-dev | [ubkp](https://github.com/ubkp) | -| [core_input_virtual_controls](core/core_input_virtual_controls.c) | core_input_virtual_controls | ⭐⭐☆☆ | 5.0 | 5.0 | [oblerion](https://github.com/oblerion) | +| [core_input_virtual_controls](core/core_input_virtual_controls.c) | core_input_virtual_controls | ⭐⭐☆☆ | 5.0 | 5.0 | [GreenSnakeLinux](https://github.com/GreenSnakeLinux) | | [core_2d_camera](core/core_2d_camera.c) | core_2d_camera | ⭐⭐☆☆ | 1.5 | 3.0 | [Ramon Santamaria](https://github.com/raysan5) | | [core_2d_camera_mouse_zoom](core/core_2d_camera_mouse_zoom.c) | core_2d_camera_mouse_zoom | ⭐⭐☆☆ | 4.2 | 4.2 | [Jeffery Myers](https://github.com/JeffM2501) | | [core_2d_camera_platformer](core/core_2d_camera_platformer.c) | core_2d_camera_platformer | ⭐⭐⭐☆ | 2.5 | 3.0 | [arvyy](https://github.com/arvyy) | diff --git a/examples/audio/audio_sound_positioning.c b/examples/audio/audio_sound_positioning.c index 9f9de7bd4..69756fa23 100644 --- a/examples/audio/audio_sound_positioning.c +++ b/examples/audio/audio_sound_positioning.c @@ -11,7 +11,7 @@ * Example 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) 2025-0 Le Juez Victor (@Bigfoot71) +* Copyright (c) 2025 Le Juez Victor (@Bigfoot71) * ********************************************************************************************/ diff --git a/examples/core/core_input_virtual_controls.c b/examples/core/core_input_virtual_controls.c index 006629a2a..6cae4b6c7 100644 --- a/examples/core/core_input_virtual_controls.c +++ b/examples/core/core_input_virtual_controls.c @@ -2,7 +2,7 @@ * * raylib [core] example - input virtual controls * -* Example complexity rating: [★★☆☆] 3/4 +* Example complexity rating: [★★☆☆] 2/4 * * Example originally created with raylib 5.0, last time updated with raylib 5.0 * @@ -12,7 +12,7 @@ * Example 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) 2024-2025 oblerion (@oblerion) and Ramon Santamaria (@raysan5) +* Copyright (c) 2024-2025 GreenSnakeLinux (@GreenSnakeLinux) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ From 16fbca2e8bfad9940af0e1a0782c43808eee29ba Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 20:27:00 +0200 Subject: [PATCH 057/125] REXM: RENAME: example: `shapes_draw_rectangle_rounded` --> `shapes_rounded_rectangle_drawing` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ...d.c => shapes_rounded_rectangle_drawing.c} | 0 ...g => shapes_rounded_rectangle_drawing.png} | Bin ... shapes_rounded_rectangle_drawing.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 574 insertions(+), 574 deletions(-) rename examples/shapes/{shapes_draw_rectangle_rounded.c => shapes_rounded_rectangle_drawing.c} (100%) rename examples/shapes/{shapes_draw_rectangle_rounded.png => shapes_rounded_rectangle_drawing.png} (100%) rename projects/VS2022/examples/{shapes_draw_rectangle_rounded.vcxproj => shapes_rounded_rectangle_drawing.vcxproj} (97%) diff --git a/examples/Makefile b/examples/Makefile index b04a462ef..46138356d 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -543,7 +543,7 @@ SHAPES = \ shapes/shapes_digital_clock \ shapes/shapes_double_pendulum \ shapes/shapes_draw_circle_sector \ - shapes/shapes_draw_rectangle_rounded \ + shapes/shapes_rounded_rectangle_drawing \ shapes/shapes_easings_ball_anim \ shapes/shapes_easings_box_anim \ shapes/shapes_easings_rectangle_array \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 50bfd1fd7..ced681f62 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -543,7 +543,7 @@ SHAPES = \ shapes/shapes_digital_clock \ shapes/shapes_double_pendulum \ shapes/shapes_draw_circle_sector \ - shapes/shapes_draw_rectangle_rounded \ + shapes/shapes_rounded_rectangle_drawing \ shapes/shapes_easings_ball_anim \ shapes/shapes_easings_box_anim \ shapes/shapes_easings_rectangle_array \ @@ -808,7 +808,7 @@ shapes/shapes_double_pendulum: shapes/shapes_double_pendulum.c shapes/shapes_draw_circle_sector: shapes/shapes_draw_circle_sector.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -shapes/shapes_draw_rectangle_rounded: shapes/shapes_draw_rectangle_rounded.c +shapes/shapes_rounded_rectangle_drawing: shapes/shapes_rounded_rectangle_drawing.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) shapes/shapes_easings_ball_anim: shapes/shapes_easings_ball_anim.c diff --git a/examples/README.md b/examples/README.md index a3c361913..58012f926 100644 --- a/examples/README.md +++ b/examples/README.md @@ -81,7 +81,7 @@ Examples using raylib shapes drawing functionality, provided by raylib [shapes]( | [shapes_easings_rectangle_array](shapes/shapes_easings_rectangle_array.c) | shapes_easings_rectangle_array | ⭐⭐⭐☆ | 2.0 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shapes_ring_drawing](shapes/shapes_ring_drawing.c) | shapes_ring_drawing | ⭐⭐⭐☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | | [shapes_draw_circle_sector](shapes/shapes_draw_circle_sector.c) | shapes_draw_circle_sector | ⭐⭐⭐☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | -| [shapes_draw_rectangle_rounded](shapes/shapes_draw_rectangle_rounded.c) | shapes_draw_rectangle_rounded | ⭐⭐⭐☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | +| [shapes_rounded_rectangle_drawing](shapes/shapes_rounded_rectangle_drawing.c) | shapes_rounded_rectangle_drawing | ⭐⭐⭐☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | | [shapes_top_down_lights](shapes/shapes_top_down_lights.c) | shapes_top_down_lights | ⭐⭐⭐⭐️ | 4.2 | 4.2 | [Jeffery Myers](https://github.com/JeffM2501) | | [shapes_rectangle_advanced](shapes/shapes_rectangle_advanced.c) | shapes_rectangle_advanced | ⭐⭐⭐⭐️ | 5.5 | 5.5 | [Everton Jr.](https://github.com/evertonse) | | [shapes_splines_drawing](shapes/shapes_splines_drawing.c) | shapes_splines_drawing | ⭐⭐⭐☆ | 5.0 | 5.0 | [Ramon Santamaria](https://github.com/raysan5) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 1a8407a48..dd47cfd9c 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -56,7 +56,7 @@ shapes;shapes_easings_box_anim;★★☆☆;2.5;2.5;2014;2025;"Ramon Santamaria" shapes;shapes_easings_rectangle_array;★★★☆;2.0;2.5;2014;2025;"Ramon Santamaria";@raysan5 shapes;shapes_ring_drawing;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor shapes;shapes_draw_circle_sector;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor -shapes;shapes_draw_rectangle_rounded;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor +shapes;shapes_rounded_rectangle_drawing;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor shapes;shapes_top_down_lights;★★★★;4.2;4.2;2022;2025;"Jeffery Myers";@JeffM2501 shapes;shapes_rectangle_advanced;★★★★;5.5;5.5;2024;2025;"Everton Jr.";@evertonse shapes;shapes_splines_drawing;★★★☆;5.0;5.0;2023;2025;"Ramon Santamaria";@raysan5 diff --git a/examples/shapes/shapes_draw_rectangle_rounded.c b/examples/shapes/shapes_rounded_rectangle_drawing.c similarity index 100% rename from examples/shapes/shapes_draw_rectangle_rounded.c rename to examples/shapes/shapes_rounded_rectangle_drawing.c diff --git a/examples/shapes/shapes_draw_rectangle_rounded.png b/examples/shapes/shapes_rounded_rectangle_drawing.png similarity index 100% rename from examples/shapes/shapes_draw_rectangle_rounded.png rename to examples/shapes/shapes_rounded_rectangle_drawing.png diff --git a/projects/VS2022/examples/shapes_draw_rectangle_rounded.vcxproj b/projects/VS2022/examples/shapes_rounded_rectangle_drawing.vcxproj similarity index 97% rename from projects/VS2022/examples/shapes_draw_rectangle_rounded.vcxproj rename to projects/VS2022/examples/shapes_rounded_rectangle_drawing.vcxproj index 4317cb1cb..f86917fa3 100644 --- a/projects/VS2022/examples/shapes_draw_rectangle_rounded.vcxproj +++ b/projects/VS2022/examples/shapes_rounded_rectangle_drawing.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {48871156-181A-475A-BD8D-200086A09675} - Win32Proj - shapes_draw_rectangle_rounded - 10.0 - shapes_draw_rectangle_rounded - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {48871156-181A-475A-BD8D-200086A09675} + Win32Proj + shapes_rounded_rectangle_drawing + 10.0 + shapes_rounded_rectangle_drawing + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 72db31240..f1a0ab80d 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -187,7 +187,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_colors_palette", "ex EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_draw_circle_sector", "examples\shapes_draw_circle_sector.vcxproj", "{33459B4E-1839-4856-BF6B-22480D11FE31}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_draw_rectangle_rounded", "examples\shapes_draw_rectangle_rounded.vcxproj", "{48871156-181A-475A-BD8D-200086A09675}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_rounded_rectangle_drawing", "examples\shapes_rounded_rectangle_drawing.vcxproj", "{48871156-181A-475A-BD8D-200086A09675}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_ring_drawing", "examples\shapes_ring_drawing.vcxproj", "{C4416DA1-9E62-46BA-9CD3-F8963C79E1A1}" EndProject From b67e7ffc4473783f704d96d8d70dcc2630e2929d Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 20:28:17 +0200 Subject: [PATCH 058/125] REXM: RENAME: example: `shapes_draw_circle_sector` --> `shapes_circle_sector_drawing` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ...ector.c => shapes_circle_sector_drawing.c} | 0 ...r.png => shapes_circle_sector_drawing.png} | Bin ...j => shapes_circle_sector_drawing.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 574 insertions(+), 574 deletions(-) rename examples/shapes/{shapes_draw_circle_sector.c => shapes_circle_sector_drawing.c} (100%) rename examples/shapes/{shapes_draw_circle_sector.png => shapes_circle_sector_drawing.png} (100%) rename projects/VS2022/examples/{shapes_draw_circle_sector.vcxproj => shapes_circle_sector_drawing.vcxproj} (97%) diff --git a/examples/Makefile b/examples/Makefile index 46138356d..68c74875e 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -542,7 +542,7 @@ SHAPES = \ shapes/shapes_colors_palette \ shapes/shapes_digital_clock \ shapes/shapes_double_pendulum \ - shapes/shapes_draw_circle_sector \ + shapes/shapes_circle_sector_drawing \ shapes/shapes_rounded_rectangle_drawing \ shapes/shapes_easings_ball_anim \ shapes/shapes_easings_box_anim \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index ced681f62..c3af4d916 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -542,7 +542,7 @@ SHAPES = \ shapes/shapes_colors_palette \ shapes/shapes_digital_clock \ shapes/shapes_double_pendulum \ - shapes/shapes_draw_circle_sector \ + shapes/shapes_circle_sector_drawing \ shapes/shapes_rounded_rectangle_drawing \ shapes/shapes_easings_ball_anim \ shapes/shapes_easings_box_anim \ @@ -805,7 +805,7 @@ shapes/shapes_digital_clock: shapes/shapes_digital_clock.c shapes/shapes_double_pendulum: shapes/shapes_double_pendulum.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -shapes/shapes_draw_circle_sector: shapes/shapes_draw_circle_sector.c +shapes/shapes_circle_sector_drawing: shapes/shapes_circle_sector_drawing.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) shapes/shapes_rounded_rectangle_drawing: shapes/shapes_rounded_rectangle_drawing.c diff --git a/examples/README.md b/examples/README.md index 58012f926..fe60e1886 100644 --- a/examples/README.md +++ b/examples/README.md @@ -80,7 +80,7 @@ Examples using raylib shapes drawing functionality, provided by raylib [shapes]( | [shapes_easings_box_anim](shapes/shapes_easings_box_anim.c) | shapes_easings_box_anim | ⭐⭐☆☆ | 2.5 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shapes_easings_rectangle_array](shapes/shapes_easings_rectangle_array.c) | shapes_easings_rectangle_array | ⭐⭐⭐☆ | 2.0 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shapes_ring_drawing](shapes/shapes_ring_drawing.c) | shapes_ring_drawing | ⭐⭐⭐☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | -| [shapes_draw_circle_sector](shapes/shapes_draw_circle_sector.c) | shapes_draw_circle_sector | ⭐⭐⭐☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | +| [shapes_circle_sector_drawing](shapes/shapes_circle_sector_drawing.c) | shapes_circle_sector_drawing | ⭐⭐⭐☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | | [shapes_rounded_rectangle_drawing](shapes/shapes_rounded_rectangle_drawing.c) | shapes_rounded_rectangle_drawing | ⭐⭐⭐☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | | [shapes_top_down_lights](shapes/shapes_top_down_lights.c) | shapes_top_down_lights | ⭐⭐⭐⭐️ | 4.2 | 4.2 | [Jeffery Myers](https://github.com/JeffM2501) | | [shapes_rectangle_advanced](shapes/shapes_rectangle_advanced.c) | shapes_rectangle_advanced | ⭐⭐⭐⭐️ | 5.5 | 5.5 | [Everton Jr.](https://github.com/evertonse) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index dd47cfd9c..944d84b70 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -55,7 +55,7 @@ shapes;shapes_easings_ball_anim;★★☆☆;2.5;2.5;2014;2025;"Ramon Santamaria shapes;shapes_easings_box_anim;★★☆☆;2.5;2.5;2014;2025;"Ramon Santamaria";@raysan5 shapes;shapes_easings_rectangle_array;★★★☆;2.0;2.5;2014;2025;"Ramon Santamaria";@raysan5 shapes;shapes_ring_drawing;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor -shapes;shapes_draw_circle_sector;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor +shapes;shapes_circle_sector_drawing;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor shapes;shapes_rounded_rectangle_drawing;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor shapes;shapes_top_down_lights;★★★★;4.2;4.2;2022;2025;"Jeffery Myers";@JeffM2501 shapes;shapes_rectangle_advanced;★★★★;5.5;5.5;2024;2025;"Everton Jr.";@evertonse diff --git a/examples/shapes/shapes_draw_circle_sector.c b/examples/shapes/shapes_circle_sector_drawing.c similarity index 100% rename from examples/shapes/shapes_draw_circle_sector.c rename to examples/shapes/shapes_circle_sector_drawing.c diff --git a/examples/shapes/shapes_draw_circle_sector.png b/examples/shapes/shapes_circle_sector_drawing.png similarity index 100% rename from examples/shapes/shapes_draw_circle_sector.png rename to examples/shapes/shapes_circle_sector_drawing.png diff --git a/projects/VS2022/examples/shapes_draw_circle_sector.vcxproj b/projects/VS2022/examples/shapes_circle_sector_drawing.vcxproj similarity index 97% rename from projects/VS2022/examples/shapes_draw_circle_sector.vcxproj rename to projects/VS2022/examples/shapes_circle_sector_drawing.vcxproj index 7189288fd..f841dc6df 100644 --- a/projects/VS2022/examples/shapes_draw_circle_sector.vcxproj +++ b/projects/VS2022/examples/shapes_circle_sector_drawing.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {33459B4E-1839-4856-BF6B-22480D11FE31} - Win32Proj - shapes_draw_circle_sector - 10.0 - shapes_draw_circle_sector - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {33459B4E-1839-4856-BF6B-22480D11FE31} + Win32Proj + shapes_circle_sector_drawing + 10.0 + shapes_circle_sector_drawing + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index f1a0ab80d..1db714758 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -185,7 +185,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_collision_area", "ex EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_colors_palette", "examples\shapes_colors_palette.vcxproj", "{D91367C2-2189-4859-A7FE-D2CAB84FA15C}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_draw_circle_sector", "examples\shapes_draw_circle_sector.vcxproj", "{33459B4E-1839-4856-BF6B-22480D11FE31}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_circle_sector_drawing", "examples\shapes_circle_sector_drawing.vcxproj", "{33459B4E-1839-4856-BF6B-22480D11FE31}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_rounded_rectangle_drawing", "examples\shapes_rounded_rectangle_drawing.vcxproj", "{48871156-181A-475A-BD8D-200086A09675}" EndProject From 463d069eff38f3b5c5124b2d12d85124fd86259a Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 20:29:53 +0200 Subject: [PATCH 059/125] REXM: RENAME: example: `models_heightmap` --> `models_heightmap_rendering` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ...ightmap.c => models_heightmap_rendering.c} | 0 ...map.png => models_heightmap_rendering.png} | Bin ...roj => models_heightmap_rendering.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 574 insertions(+), 574 deletions(-) rename examples/models/{models_heightmap.c => models_heightmap_rendering.c} (100%) rename examples/models/{models_heightmap.png => models_heightmap_rendering.png} (100%) rename projects/VS2022/examples/{models_heightmap.vcxproj => models_heightmap_rendering.vcxproj} (98%) diff --git a/examples/Makefile b/examples/Makefile index 68c74875e..afa390cb1 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -610,7 +610,7 @@ MODELS = \ models/models_first_person_maze \ models/models_geometric_shapes \ models/models_gpu_skinning \ - models/models_heightmap \ + models/models_heightmap_rendering \ models/models_loading \ models/models_loading_gltf \ models/models_loading_m3d \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index c3af4d916..fa3ebfde1 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -610,7 +610,7 @@ MODELS = \ models/models_first_person_maze \ models/models_geometric_shapes \ models/models_gpu_skinning \ - models/models_heightmap \ + models/models_heightmap_rendering \ models/models_loading \ models/models_loading_gltf \ models/models_loading_m3d \ @@ -1061,7 +1061,7 @@ models/models_gpu_skinning: models/models_gpu_skinning.c --preload-file models/resources/shaders/glsl100/skinning.vs@resources/shaders/glsl100/skinning.vs \ --preload-file models/resources/shaders/glsl100/skinning.fs@resources/shaders/glsl100/skinning.fs -models/models_heightmap: models/models_heightmap.c +models/models_heightmap_rendering: models/models_heightmap_rendering.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file models/resources/heightmap.png@resources/heightmap.png diff --git a/examples/README.md b/examples/README.md index fe60e1886..0b8660787 100644 --- a/examples/README.md +++ b/examples/README.md @@ -164,7 +164,7 @@ Examples using raylib models functionality, including models loading/generation | [models_rlgl_solar_system](models/models_rlgl_solar_system.c) | models_rlgl_solar_system | ⭐⭐⭐⭐️ | 2.5 | 4.0 | [Ramon Santamaria](https://github.com/raysan5) | | [models_yaw_pitch_roll](models/models_yaw_pitch_roll.c) | models_yaw_pitch_roll | ⭐⭐☆☆ | 1.8 | 4.0 | [Berni](https://github.com/Berni8k) | | [models_waving_cubes](models/models_waving_cubes.c) | models_waving_cubes | ⭐⭐⭐☆ | 2.5 | 3.7 | [Codecat](https://github.com/codecat) | -| [models_heightmap](models/models_heightmap.c) | models_heightmap | ⭐☆☆☆ | 1.8 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | +| [models_heightmap_rendering](models/models_heightmap_rendering.c) | models_heightmap_rendering | ⭐☆☆☆ | 1.8 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [models_skybox_rendering](models/models_skybox_rendering.c) | models_skybox_rendering | ⭐⭐☆☆ | 1.8 | 4.0 | [Ramon Santamaria](https://github.com/raysan5) | | [models_draw_cube_texture](models/models_draw_cube_texture.c) | models_draw_cube_texture | ⭐⭐☆☆ | 4.5 | 4.5 | [Ramon Santamaria](https://github.com/raysan5) | | [models_gpu_skinning](models/models_gpu_skinning.c) | models_gpu_skinning | ⭐⭐⭐☆ | 4.5 | 4.5 | [Daniel Holden](https://github.com/orangeduck) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 944d84b70..369d8ff3e 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -118,7 +118,7 @@ models;models_point_rendering;★★★☆;5.0;5.0;2024;2025;"Reese Gallagher";@ models;models_rlgl_solar_system;★★★★;2.5;4.0;2018;2025;"Ramon Santamaria";@raysan5 models;models_yaw_pitch_roll;★★☆☆;1.8;4.0;2017;2025;"Berni";@Berni8k models;models_waving_cubes;★★★☆;2.5;3.7;2019;2025;"Codecat";@codecat -models;models_heightmap;★☆☆☆;1.8;3.5;2015;2025;"Ramon Santamaria";@raysan5 +models;models_heightmap_rendering;★☆☆☆;1.8;3.5;2015;2025;"Ramon Santamaria";@raysan5 models;models_skybox_rendering;★★☆☆;1.8;4.0;2017;2025;"Ramon Santamaria";@raysan5 models;models_draw_cube_texture;★★☆☆;4.5;4.5;2022;2025;"Ramon Santamaria";@raysan5 models;models_gpu_skinning;★★★☆;4.5;4.5;2024;2025;"Daniel Holden";@orangeduck diff --git a/examples/models/models_heightmap.c b/examples/models/models_heightmap_rendering.c similarity index 100% rename from examples/models/models_heightmap.c rename to examples/models/models_heightmap_rendering.c diff --git a/examples/models/models_heightmap.png b/examples/models/models_heightmap_rendering.png similarity index 100% rename from examples/models/models_heightmap.png rename to examples/models/models_heightmap_rendering.png diff --git a/projects/VS2022/examples/models_heightmap.vcxproj b/projects/VS2022/examples/models_heightmap_rendering.vcxproj similarity index 98% rename from projects/VS2022/examples/models_heightmap.vcxproj rename to projects/VS2022/examples/models_heightmap_rendering.vcxproj index 734d68565..ce6a7bc5c 100644 --- a/projects/VS2022/examples/models_heightmap.vcxproj +++ b/projects/VS2022/examples/models_heightmap_rendering.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {0859A973-E4FE-4688-8D16-0253163FDE24} - Win32Proj - models_heightmap - 10.0 - models_heightmap - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {0859A973-E4FE-4688-8D16-0253163FDE24} + Win32Proj + models_heightmap_rendering + 10.0 + models_heightmap_rendering + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 1db714758..e397ee0d0 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -97,7 +97,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_first_person_maze", EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_geometric_shapes", "examples\models_geometric_shapes.vcxproj", "{14BA7F98-02CC-4648-9236-676BFF9458AF}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_heightmap", "examples\models_heightmap.vcxproj", "{0859A973-E4FE-4688-8D16-0253163FDE24}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_heightmap_rendering", "examples\models_heightmap_rendering.vcxproj", "{0859A973-E4FE-4688-8D16-0253163FDE24}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_loading", "examples\models_loading.vcxproj", "{F3412853-2B6A-4334-8CF2-B796CDAE0850}" EndProject From ab3e99fd30f343b5639c251cdb29842b057fd2ec Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 20:30:07 +0200 Subject: [PATCH 060/125] REXM: RENAME: example: `models_cubicmap` --> `models_cubicmap_rendering` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ...cubicmap.c => models_cubicmap_rendering.c} | 0 ...cmap.png => models_cubicmap_rendering.png} | Bin ...proj => models_cubicmap_rendering.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 574 insertions(+), 574 deletions(-) rename examples/models/{models_cubicmap.c => models_cubicmap_rendering.c} (100%) rename examples/models/{models_cubicmap.png => models_cubicmap_rendering.png} (100%) rename projects/VS2022/examples/{models_cubicmap.vcxproj => models_cubicmap_rendering.vcxproj} (98%) diff --git a/examples/Makefile b/examples/Makefile index afa390cb1..8355d3570 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -605,7 +605,7 @@ MODELS = \ models/models_billboard_rendering \ models/models_bone_socket \ models/models_box_collisions \ - models/models_cubicmap \ + models/models_cubicmap_rendering \ models/models_draw_cube_texture \ models/models_first_person_maze \ models/models_geometric_shapes \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index fa3ebfde1..272b802ad 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -605,7 +605,7 @@ MODELS = \ models/models_billboard_rendering \ models/models_bone_socket \ models/models_box_collisions \ - models/models_cubicmap \ + models/models_cubicmap_rendering \ models/models_draw_cube_texture \ models/models_first_person_maze \ models/models_geometric_shapes \ @@ -1038,7 +1038,7 @@ models/models_bone_socket: models/models_bone_socket.c models/models_box_collisions: models/models_box_collisions.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -models/models_cubicmap: models/models_cubicmap.c +models/models_cubicmap_rendering: models/models_cubicmap_rendering.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file models/resources/cubicmap.png@resources/cubicmap.png \ --preload-file models/resources/cubicmap_atlas.png@resources/cubicmap_atlas.png diff --git a/examples/README.md b/examples/README.md index 0b8660787..14eae88f6 100644 --- a/examples/README.md +++ b/examples/README.md @@ -150,7 +150,7 @@ Examples using raylib models functionality, including models loading/generation | [models_animation](models/models_animation.c) | models_animation | ⭐⭐☆☆ | 2.5 | 3.5 | [Culacant](https://github.com/culacant) | | [models_billboard_rendering](models/models_billboard_rendering.c) | models_billboard_rendering | ⭐⭐⭐☆ | 1.3 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [models_box_collisions](models/models_box_collisions.c) | models_box_collisions | ⭐☆☆☆ | 1.3 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | -| [models_cubicmap](models/models_cubicmap.c) | models_cubicmap | ⭐⭐☆☆ | 1.8 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | +| [models_cubicmap_rendering](models/models_cubicmap_rendering.c) | models_cubicmap_rendering | ⭐⭐☆☆ | 1.8 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [models_first_person_maze](models/models_first_person_maze.c) | models_first_person_maze | ⭐⭐☆☆ | 2.5 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [models_geometric_shapes](models/models_geometric_shapes.c) | models_geometric_shapes | ⭐☆☆☆ | 1.0 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [models_mesh_generation](models/models_mesh_generation.c) | models_mesh_generation | ⭐⭐☆☆ | 1.8 | 4.0 | [Ramon Santamaria](https://github.com/raysan5) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 369d8ff3e..38c736c19 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -104,7 +104,7 @@ text;text_codepoints_loading;★★★☆;4.2;4.2;2022;2025;"Ramon Santamaria";@ models;models_animation;★★☆☆;2.5;3.5;2019;2025;"Culacant";@culacant models;models_billboard_rendering;★★★☆;1.3;3.5;2015;2025;"Ramon Santamaria";@raysan5 models;models_box_collisions;★☆☆☆;1.3;3.5;2015;2025;"Ramon Santamaria";@raysan5 -models;models_cubicmap;★★☆☆;1.8;3.5;2015;2025;"Ramon Santamaria";@raysan5 +models;models_cubicmap_rendering;★★☆☆;1.8;3.5;2015;2025;"Ramon Santamaria";@raysan5 models;models_first_person_maze;★★☆☆;2.5;3.5;2019;2025;"Ramon Santamaria";@raysan5 models;models_geometric_shapes;★☆☆☆;1.0;3.5;2014;2025;"Ramon Santamaria";@raysan5 models;models_mesh_generation;★★☆☆;1.8;4.0;2017;2025;"Ramon Santamaria";@raysan5 diff --git a/examples/models/models_cubicmap.c b/examples/models/models_cubicmap_rendering.c similarity index 100% rename from examples/models/models_cubicmap.c rename to examples/models/models_cubicmap_rendering.c diff --git a/examples/models/models_cubicmap.png b/examples/models/models_cubicmap_rendering.png similarity index 100% rename from examples/models/models_cubicmap.png rename to examples/models/models_cubicmap_rendering.png diff --git a/projects/VS2022/examples/models_cubicmap.vcxproj b/projects/VS2022/examples/models_cubicmap_rendering.vcxproj similarity index 98% rename from projects/VS2022/examples/models_cubicmap.vcxproj rename to projects/VS2022/examples/models_cubicmap_rendering.vcxproj index 1ef1738a0..31e9bb00a 100644 --- a/projects/VS2022/examples/models_cubicmap.vcxproj +++ b/projects/VS2022/examples/models_cubicmap_rendering.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {82F3D34B-8DB2-4C6A-98B1-132245DD9D99} - Win32Proj - models_cubicmap - 10.0 - models_cubicmap - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {82F3D34B-8DB2-4C6A-98B1-132245DD9D99} + Win32Proj + models_cubicmap_rendering + 10.0 + models_cubicmap_rendering + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index e397ee0d0..8439be7ef 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -91,7 +91,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_billboard_rendering" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_box_collisions", "examples\models_box_collisions.vcxproj", "{39DB56C7-05F8-492C-A8D4-F19E40FECB59}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_cubicmap", "examples\models_cubicmap.vcxproj", "{82F3D34B-8DB2-4C6A-98B1-132245DD9D99}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_cubicmap_rendering", "examples\models_cubicmap_rendering.vcxproj", "{82F3D34B-8DB2-4C6A-98B1-132245DD9D99}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_first_person_maze", "examples\models_first_person_maze.vcxproj", "{CBD6C0F8-8200-4E9A-9D7C-6505A2AA4A62}" EndProject From 14bef50464912969b9c34a6302e5da455a711a20 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 20:30:26 +0200 Subject: [PATCH 061/125] REXM: RENAME: example: `shaders_deferred_render` --> `shaders_deferred_rendering` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ..._render.c => shaders_deferred_rendering.c} | 0 ...der.png => shaders_deferred_rendering.png} | Bin ...roj => shaders_deferred_rendering.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 574 insertions(+), 574 deletions(-) rename examples/shaders/{shaders_deferred_render.c => shaders_deferred_rendering.c} (100%) rename examples/shaders/{shaders_deferred_render.png => shaders_deferred_rendering.png} (100%) rename projects/VS2022/examples/{shaders_deferred_render.vcxproj => shaders_deferred_rendering.vcxproj} (97%) diff --git a/examples/Makefile b/examples/Makefile index 8355d3570..284cb873b 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -629,7 +629,7 @@ SHADERS = \ shaders/shaders_basic_lighting \ shaders/shaders_basic_pbr \ shaders/shaders_custom_uniform \ - shaders/shaders_deferred_render \ + shaders/shaders_deferred_rendering \ shaders/shaders_eratosthenes \ shaders/shaders_fog_rendering \ shaders/shaders_hot_reloading \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 272b802ad..72a708c5e 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -629,7 +629,7 @@ SHADERS = \ shaders/shaders_basic_lighting \ shaders/shaders_basic_pbr \ shaders/shaders_custom_uniform \ - shaders/shaders_deferred_render \ + shaders/shaders_deferred_rendering \ shaders/shaders_eratosthenes \ shaders/shaders_fog_rendering \ shaders/shaders_hot_reloading \ @@ -1150,7 +1150,7 @@ shaders/shaders_custom_uniform: shaders/shaders_custom_uniform.c --preload-file shaders/resources/models/barracks_diffuse.png@resources/models/barracks_diffuse.png \ --preload-file shaders/resources/shaders/glsl100/swirl.fs@resources/shaders/glsl100/swirl.fs -shaders/shaders_deferred_render: shaders/shaders_deferred_render.c +shaders/shaders_deferred_rendering: shaders/shaders_deferred_rendering.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/shaders/glsl100/gbuffer.vs@resources/shaders/glsl100/gbuffer.vs \ --preload-file shaders/resources/shaders/glsl100/gbuffer.fs@resources/shaders/glsl100/gbuffer.fs \ diff --git a/examples/README.md b/examples/README.md index 14eae88f6..e90b0eea0 100644 --- a/examples/README.md +++ b/examples/README.md @@ -196,7 +196,7 @@ Examples using raylib shaders functionality, including shaders loading, paramete | [shaders_multi_sample2d](shaders/shaders_multi_sample2d.c) | shaders_multi_sample2d | ⭐⭐☆☆ | 3.5 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shaders_normal_map](shaders/shaders_normal_map.c) | shaders_normal_map | ⭐⭐⭐⭐️ | 5.6 | 5.6 | [Jeremy Montgomery](https://github.com/Sir_Irk) | | [shaders_spotlight](shaders/shaders_spotlight.c) | shaders_spotlight | ⭐⭐☆☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/chriscamacho) | -| [shaders_deferred_render](shaders/shaders_deferred_render.c) | shaders_deferred_render | ⭐⭐⭐⭐️ | 4.5 | 4.5 | [Justin Andreas Lacoste](https://github.com/27justin) | +| [shaders_deferred_rendering](shaders/shaders_deferred_rendering.c) | shaders_deferred_rendering | ⭐⭐⭐⭐️ | 4.5 | 4.5 | [Justin Andreas Lacoste](https://github.com/27justin) | | [shaders_hybrid_render](shaders/shaders_hybrid_render.c) | shaders_hybrid_render | ⭐⭐⭐⭐️ | 4.2 | 4.2 | [Buğra Alptekin Sarı](https://github.com/BugraAlptekinSari) | | [shaders_texture_tiling](shaders/shaders_texture_tiling.c) | shaders_texture_tiling | ⭐⭐☆☆ | 4.5 | 4.5 | [Luis Almeida](https://github.com/luis605) | | [shaders_shadowmap](shaders/shaders_shadowmap.c) | shaders_shadowmap | ⭐⭐⭐⭐️ | 5.0 | 5.0 | [TheManTheMythTheGameDev](https://github.com/TheManTheMythTheGameDev) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 38c736c19..52d220293 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -143,7 +143,7 @@ shaders;shaders_mesh_instancing;★★★★;3.7;4.2;2020;2025;"seanpringle";@se shaders;shaders_multi_sample2d;★★☆☆;3.5;3.5;2020;2025;"Ramon Santamaria";@raysan5 shaders;shaders_normal_map;★★★★;5.6;5.6;2025;2025;"Jeremy Montgomery";@Sir_Irk shaders;shaders_spotlight;★★☆☆;2.5;3.7;2019;2025;"Chris Camacho";@chriscamacho -shaders;shaders_deferred_render;★★★★;4.5;4.5;2023;2025;"Justin Andreas Lacoste";@27justin +shaders;shaders_deferred_rendering;★★★★;4.5;4.5;2023;2025;"Justin Andreas Lacoste";@27justin shaders;shaders_hybrid_render;★★★★;4.2;4.2;2022;2025;"Buğra Alptekin Sarı";@BugraAlptekinSari shaders;shaders_texture_tiling;★★☆☆;4.5;4.5;2023;2025;"Luis Almeida";@luis605 shaders;shaders_shadowmap;★★★★;5.0;5.0;2023;2025;"TheManTheMythTheGameDev";@TheManTheMythTheGameDev diff --git a/examples/shaders/shaders_deferred_render.c b/examples/shaders/shaders_deferred_rendering.c similarity index 100% rename from examples/shaders/shaders_deferred_render.c rename to examples/shaders/shaders_deferred_rendering.c diff --git a/examples/shaders/shaders_deferred_render.png b/examples/shaders/shaders_deferred_rendering.png similarity index 100% rename from examples/shaders/shaders_deferred_render.png rename to examples/shaders/shaders_deferred_rendering.png diff --git a/projects/VS2022/examples/shaders_deferred_render.vcxproj b/projects/VS2022/examples/shaders_deferred_rendering.vcxproj similarity index 97% rename from projects/VS2022/examples/shaders_deferred_render.vcxproj rename to projects/VS2022/examples/shaders_deferred_rendering.vcxproj index 1ac650091..f91679417 100644 --- a/projects/VS2022/examples/shaders_deferred_render.vcxproj +++ b/projects/VS2022/examples/shaders_deferred_rendering.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {88DE5AD6-0074-4A5A-BE22-C840153E35D5} - Win32Proj - shaders_deferred_render - 10.0 - shaders_deferred_render - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {88DE5AD6-0074-4A5A-BE22-C840153E35D5} + Win32Proj + shaders_deferred_rendering + 10.0 + shaders_deferred_rendering + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 8439be7ef..20ac97d7e 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -287,7 +287,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_smooth_pixelperfect", EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_draw_cube_texture", "examples\models_draw_cube_texture.vcxproj", "{4B39E5FC-0A96-4057-9AA5-8D5A52880DA7}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_deferred_render", "examples\shaders_deferred_render.vcxproj", "{88DE5AD6-0074-4A5A-BE22-C840153E35D5}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_deferred_rendering", "examples\shaders_deferred_rendering.vcxproj", "{88DE5AD6-0074-4A5A-BE22-C840153E35D5}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_texture_outline", "examples\shaders_texture_outline.vcxproj", "{A546E75A-5242-46E6-9A9E-6C91554EAB84}" EndProject From 4cf4c6645ed1e03f99f1b219702363dfe88174a9 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 20:30:45 +0200 Subject: [PATCH 062/125] REXM: RENAME: example: `shaders_hybrid_render` --> `shaders_hybrid_rendering` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ...id_render.c => shaders_hybrid_rendering.c} | 0 ...ender.png => shaders_hybrid_rendering.png} | Bin ...xproj => shaders_hybrid_rendering.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 574 insertions(+), 574 deletions(-) rename examples/shaders/{shaders_hybrid_render.c => shaders_hybrid_rendering.c} (100%) rename examples/shaders/{shaders_hybrid_render.png => shaders_hybrid_rendering.png} (100%) rename projects/VS2022/examples/{shaders_hybrid_render.vcxproj => shaders_hybrid_rendering.vcxproj} (98%) diff --git a/examples/Makefile b/examples/Makefile index 284cb873b..1fe6356fb 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -633,7 +633,7 @@ SHADERS = \ shaders/shaders_eratosthenes \ shaders/shaders_fog_rendering \ shaders/shaders_hot_reloading \ - shaders/shaders_hybrid_render \ + shaders/shaders_hybrid_rendering \ shaders/shaders_julia_set \ shaders/shaders_lightmap \ shaders/shaders_mesh_instancing \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 72a708c5e..5fe6e9e70 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -633,7 +633,7 @@ SHADERS = \ shaders/shaders_eratosthenes \ shaders/shaders_fog_rendering \ shaders/shaders_hot_reloading \ - shaders/shaders_hybrid_render \ + shaders/shaders_hybrid_rendering \ shaders/shaders_julia_set \ shaders/shaders_lightmap \ shaders/shaders_mesh_instancing \ @@ -1171,7 +1171,7 @@ shaders/shaders_hot_reloading: shaders/shaders_hot_reloading.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/shaders/glsl100/reload.fs@resources/shaders/glsl100/reload.fs -shaders/shaders_hybrid_render: shaders/shaders_hybrid_render.c +shaders/shaders_hybrid_rendering: shaders/shaders_hybrid_rendering.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/shaders/glsl100/hybrid_raymarch.fs@resources/shaders/glsl100/hybrid_raymarch.fs \ --preload-file shaders/resources/shaders/glsl100/hybrid_raster.fs@resources/shaders/glsl100/hybrid_raster.fs diff --git a/examples/README.md b/examples/README.md index e90b0eea0..9393175d0 100644 --- a/examples/README.md +++ b/examples/README.md @@ -197,7 +197,7 @@ Examples using raylib shaders functionality, including shaders loading, paramete | [shaders_normal_map](shaders/shaders_normal_map.c) | shaders_normal_map | ⭐⭐⭐⭐️ | 5.6 | 5.6 | [Jeremy Montgomery](https://github.com/Sir_Irk) | | [shaders_spotlight](shaders/shaders_spotlight.c) | shaders_spotlight | ⭐⭐☆☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/chriscamacho) | | [shaders_deferred_rendering](shaders/shaders_deferred_rendering.c) | shaders_deferred_rendering | ⭐⭐⭐⭐️ | 4.5 | 4.5 | [Justin Andreas Lacoste](https://github.com/27justin) | -| [shaders_hybrid_render](shaders/shaders_hybrid_render.c) | shaders_hybrid_render | ⭐⭐⭐⭐️ | 4.2 | 4.2 | [Buğra Alptekin Sarı](https://github.com/BugraAlptekinSari) | +| [shaders_hybrid_rendering](shaders/shaders_hybrid_rendering.c) | shaders_hybrid_rendering | ⭐⭐⭐⭐️ | 4.2 | 4.2 | [Buğra Alptekin Sarı](https://github.com/BugraAlptekinSari) | | [shaders_texture_tiling](shaders/shaders_texture_tiling.c) | shaders_texture_tiling | ⭐⭐☆☆ | 4.5 | 4.5 | [Luis Almeida](https://github.com/luis605) | | [shaders_shadowmap](shaders/shaders_shadowmap.c) | shaders_shadowmap | ⭐⭐⭐⭐️ | 5.0 | 5.0 | [TheManTheMythTheGameDev](https://github.com/TheManTheMythTheGameDev) | | [shaders_vertex_displacement](shaders/shaders_vertex_displacement.c) | shaders_vertex_displacement | ⭐⭐⭐☆ | 5.0 | 4.5 | [Alex ZH](https://github.com/ZzzhHe) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 52d220293..dc94d31a5 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -144,7 +144,7 @@ shaders;shaders_multi_sample2d;★★☆☆;3.5;3.5;2020;2025;"Ramon Santamaria" shaders;shaders_normal_map;★★★★;5.6;5.6;2025;2025;"Jeremy Montgomery";@Sir_Irk shaders;shaders_spotlight;★★☆☆;2.5;3.7;2019;2025;"Chris Camacho";@chriscamacho shaders;shaders_deferred_rendering;★★★★;4.5;4.5;2023;2025;"Justin Andreas Lacoste";@27justin -shaders;shaders_hybrid_render;★★★★;4.2;4.2;2022;2025;"Buğra Alptekin Sarı";@BugraAlptekinSari +shaders;shaders_hybrid_rendering;★★★★;4.2;4.2;2022;2025;"Buğra Alptekin Sarı";@BugraAlptekinSari shaders;shaders_texture_tiling;★★☆☆;4.5;4.5;2023;2025;"Luis Almeida";@luis605 shaders;shaders_shadowmap;★★★★;5.0;5.0;2023;2025;"TheManTheMythTheGameDev";@TheManTheMythTheGameDev shaders;shaders_vertex_displacement;★★★☆;5.0;4.5;2023;2025;"Alex ZH";@ZzzhHe diff --git a/examples/shaders/shaders_hybrid_render.c b/examples/shaders/shaders_hybrid_rendering.c similarity index 100% rename from examples/shaders/shaders_hybrid_render.c rename to examples/shaders/shaders_hybrid_rendering.c diff --git a/examples/shaders/shaders_hybrid_render.png b/examples/shaders/shaders_hybrid_rendering.png similarity index 100% rename from examples/shaders/shaders_hybrid_render.png rename to examples/shaders/shaders_hybrid_rendering.png diff --git a/projects/VS2022/examples/shaders_hybrid_render.vcxproj b/projects/VS2022/examples/shaders_hybrid_rendering.vcxproj similarity index 98% rename from projects/VS2022/examples/shaders_hybrid_render.vcxproj rename to projects/VS2022/examples/shaders_hybrid_rendering.vcxproj index 4072e3988..68c14c966 100644 --- a/projects/VS2022/examples/shaders_hybrid_render.vcxproj +++ b/projects/VS2022/examples/shaders_hybrid_rendering.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {3755E9F4-CB48-4EC3-B561-3B85964EBDEF} - Win32Proj - shaders_hybrid_render - 10.0 - shaders_hybrid_render - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {3755E9F4-CB48-4EC3-B561-3B85964EBDEF} + Win32Proj + shaders_hybrid_rendering + 10.0 + shaders_hybrid_rendering + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 20ac97d7e..183bb286a 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -271,7 +271,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_write_depth", "exam EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_view_depth", "examples\shaders_view_depth.vcxproj", "{DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_hybrid_render", "examples\shaders_hybrid_render.vcxproj", "{3755E9F4-CB48-4EC3-B561-3B85964EBDEF}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_hybrid_rendering", "examples\shaders_hybrid_rendering.vcxproj", "{3755E9F4-CB48-4EC3-B561-3B85964EBDEF}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "audio_sound_multi", "examples\audio_sound_multi.vcxproj", "{F81C5819-85B4-4D2E-B6DC-104A7634461B}" EndProject From 6afc608477ff0d7ececa901141bcb894dc3f9026 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 20:33:18 +0200 Subject: [PATCH 063/125] REXM: RENAME: example: `shaders_normal_map` --> `shaders_normalmap_rendering` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 ++-- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ...s_normal_map.c => shaders_normalmap_rendering.c} | 0 ...rmal_map.png => shaders_normalmap_rendering.png} | Bin ....vcxproj => shaders_normalmap_rendering.vcxproj} | 6 +++--- projects/VS2022/raylib.sln | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) rename examples/shaders/{shaders_normal_map.c => shaders_normalmap_rendering.c} (100%) rename examples/shaders/{shaders_normal_map.png => shaders_normalmap_rendering.png} (100%) rename projects/VS2022/examples/{shaders_normal_map.vcxproj => shaders_normalmap_rendering.vcxproj} (99%) diff --git a/examples/Makefile b/examples/Makefile index 1fe6356fb..291ebed9f 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -639,7 +639,7 @@ SHADERS = \ shaders/shaders_mesh_instancing \ shaders/shaders_model_shader \ shaders/shaders_multi_sample2d \ - shaders/shaders_normal_map \ + shaders/shaders_normalmap_rendering \ shaders/shaders_palette_switch \ shaders/shaders_postprocessing \ shaders/shaders_raymarching \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 5fe6e9e70..5575f580f 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -639,7 +639,7 @@ SHADERS = \ shaders/shaders_mesh_instancing \ shaders/shaders_model_shader \ shaders/shaders_multi_sample2d \ - shaders/shaders_normal_map \ + shaders/shaders_normalmap_rendering \ shaders/shaders_palette_switch \ shaders/shaders_postprocessing \ shaders/shaders_raymarching \ @@ -1202,7 +1202,7 @@ shaders/shaders_multi_sample2d: shaders/shaders_multi_sample2d.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/shaders/glsl100/color_mix.fs@resources/shaders/glsl100/color_mix.fs -shaders/shaders_normal_map: shaders/shaders_normal_map.c +shaders/shaders_normalmap_rendering: shaders/shaders_normalmap_rendering.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/shaders/glsl100/normalmap.vs@resources/shaders/glsl100/normalmap.vs \ --preload-file shaders/resources/shaders/glsl100/normalmap.fs@resources/shaders/glsl100/normalmap.fs \ diff --git a/examples/README.md b/examples/README.md index 9393175d0..6d3d23f41 100644 --- a/examples/README.md +++ b/examples/README.md @@ -194,7 +194,7 @@ Examples using raylib shaders functionality, including shaders loading, paramete | [shaders_hot_reloading](shaders/shaders_hot_reloading.c) | shaders_hot_reloading | ⭐⭐⭐☆ | 3.0 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shaders_mesh_instancing](shaders/shaders_mesh_instancing.c) | shaders_mesh_instancing | ⭐⭐⭐⭐️ | 3.7 | 4.2 | [seanpringle](https://github.com/seanpringle) | | [shaders_multi_sample2d](shaders/shaders_multi_sample2d.c) | shaders_multi_sample2d | ⭐⭐☆☆ | 3.5 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | -| [shaders_normal_map](shaders/shaders_normal_map.c) | shaders_normal_map | ⭐⭐⭐⭐️ | 5.6 | 5.6 | [Jeremy Montgomery](https://github.com/Sir_Irk) | +| [shaders_normalmap_rendering](shaders/shaders_normalmap_rendering.c) | shaders_normalmap_rendering | ⭐⭐⭐⭐️ | 5.6 | 5.6 | [Jeremy Montgomery](https://github.com/Sir_Irk) | | [shaders_spotlight](shaders/shaders_spotlight.c) | shaders_spotlight | ⭐⭐☆☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/chriscamacho) | | [shaders_deferred_rendering](shaders/shaders_deferred_rendering.c) | shaders_deferred_rendering | ⭐⭐⭐⭐️ | 4.5 | 4.5 | [Justin Andreas Lacoste](https://github.com/27justin) | | [shaders_hybrid_rendering](shaders/shaders_hybrid_rendering.c) | shaders_hybrid_rendering | ⭐⭐⭐⭐️ | 4.2 | 4.2 | [Buğra Alptekin Sarı](https://github.com/BugraAlptekinSari) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index dc94d31a5..32746ca45 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -141,7 +141,7 @@ shaders;shaders_simple_mask;★★☆☆;2.5;3.7;2019;2025;"Chris Camacho";@chri shaders;shaders_hot_reloading;★★★☆;3.0;3.5;2020;2025;"Ramon Santamaria";@raysan5 shaders;shaders_mesh_instancing;★★★★;3.7;4.2;2020;2025;"seanpringle";@seanpringle shaders;shaders_multi_sample2d;★★☆☆;3.5;3.5;2020;2025;"Ramon Santamaria";@raysan5 -shaders;shaders_normal_map;★★★★;5.6;5.6;2025;2025;"Jeremy Montgomery";@Sir_Irk +shaders;shaders_normalmap_rendering;★★★★;5.6;5.6;2025;2025;"Jeremy Montgomery";@Sir_Irk shaders;shaders_spotlight;★★☆☆;2.5;3.7;2019;2025;"Chris Camacho";@chriscamacho shaders;shaders_deferred_rendering;★★★★;4.5;4.5;2023;2025;"Justin Andreas Lacoste";@27justin shaders;shaders_hybrid_rendering;★★★★;4.2;4.2;2022;2025;"Buğra Alptekin Sarı";@BugraAlptekinSari diff --git a/examples/shaders/shaders_normal_map.c b/examples/shaders/shaders_normalmap_rendering.c similarity index 100% rename from examples/shaders/shaders_normal_map.c rename to examples/shaders/shaders_normalmap_rendering.c diff --git a/examples/shaders/shaders_normal_map.png b/examples/shaders/shaders_normalmap_rendering.png similarity index 100% rename from examples/shaders/shaders_normal_map.png rename to examples/shaders/shaders_normalmap_rendering.png diff --git a/projects/VS2022/examples/shaders_normal_map.vcxproj b/projects/VS2022/examples/shaders_normalmap_rendering.vcxproj similarity index 99% rename from projects/VS2022/examples/shaders_normal_map.vcxproj rename to projects/VS2022/examples/shaders_normalmap_rendering.vcxproj index a3e8e9981..a58992101 100644 --- a/projects/VS2022/examples/shaders_normal_map.vcxproj +++ b/projects/VS2022/examples/shaders_normalmap_rendering.vcxproj @@ -53,9 +53,9 @@ {6BFF72EA-7362-4A3B-B6E5-9A3655BBBDA3} Win32Proj - shaders_normal_map + shaders_normalmap_rendering 10.0 - shaders_normal_map + shaders_normalmap_rendering @@ -553,7 +553,7 @@ - + diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 183bb286a..e89b64836 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -333,7 +333,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_input_virtual_controls EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_3d_camera_fps", "examples\core_3d_camera_fps.vcxproj", "{6B1A933E-71B8-4C1F-9E79-02D98830E671}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_normal_map", "examples\shaders_normal_map.vcxproj", "{6BFF72EA-7362-4A3B-B6E5-9A3655BBBDA3}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_normalmap_rendering", "examples\shaders_normalmap_rendering.vcxproj", "{6BFF72EA-7362-4A3B-B6E5-9A3655BBBDA3}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "text_unicode_ranges", "examples\text_unicode_ranges.vcxproj", "{6777EC3C-077C-42FC-B4AD-B799CE55CCE4}" EndProject From 07070b81e8c0ce20da1ed92c77f8420ab1f0e400 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 20:33:36 +0200 Subject: [PATCH 064/125] REXM: RENAME: example: `shaders_shadowmap` --> `shaders_shadowmap_rendering` --- examples/Makefile | 2 +- examples/Makefile.Web | 6 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ...dowmap.c => shaders_shadowmap_rendering.c} | 0 ...ap.png => shaders_shadowmap_rendering.png} | Bin ...oj => shaders_shadowmap_rendering.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 575 insertions(+), 575 deletions(-) rename examples/shaders/{shaders_shadowmap.c => shaders_shadowmap_rendering.c} (100%) rename examples/shaders/{shaders_shadowmap.png => shaders_shadowmap_rendering.png} (100%) rename projects/VS2022/examples/{shaders_shadowmap.vcxproj => shaders_shadowmap_rendering.vcxproj} (98%) diff --git a/examples/Makefile b/examples/Makefile index 291ebed9f..52ace7b08 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -644,7 +644,7 @@ SHADERS = \ shaders/shaders_postprocessing \ shaders/shaders_raymarching \ shaders/shaders_rounded_rectangle \ - shaders/shaders_shadowmap \ + shaders/shaders_shadowmap_rendering \ shaders/shaders_shapes_textures \ shaders/shaders_simple_mask \ shaders/shaders_spotlight \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 5575f580f..e41d66a06 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -644,7 +644,7 @@ SHADERS = \ shaders/shaders_postprocessing \ shaders/shaders_raymarching \ shaders/shaders_rounded_rectangle \ - shaders/shaders_shadowmap \ + shaders/shaders_shadowmap_rendering \ shaders/shaders_shapes_textures \ shaders/shaders_simple_mask \ shaders/shaders_spotlight \ @@ -1240,12 +1240,12 @@ shaders/shaders_rounded_rectangle: shaders/shaders_rounded_rectangle.c --preload-file shaders/resources/shaders/glsl100/base.vs@resources/shaders/glsl100/base.vs \ --preload-file shaders/resources/shaders/glsl100/rounded_rectangle.fs@resources/shaders/glsl100/rounded_rectangle.fs -shaders/shaders_shadowmap: shaders/shaders_shadowmap.c +shaders/shaders_shadowmap_rendering: shaders/shaders_shadowmap_rendering.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/shaders/glsl100/shadowmap.vs@resources/shaders/glsl100/shadowmap.vs \ --preload-file shaders/resources/shaders/glsl100/shadowmap.fs@resources/shaders/glsl100/shadowmap.fs \ --preload-file shaders/resources/models/robot.glb@resources/models/robot.glb \ - --preload-file shaders/shaders_shadowmap.png@shaders_shadowmap.png + --preload-file shaders/shaders_shadowmap_rendering.png@shaders_shadowmap_rendering.png shaders/shaders_shapes_textures: shaders/shaders_shapes_textures.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ diff --git a/examples/README.md b/examples/README.md index 6d3d23f41..7f1dcb52f 100644 --- a/examples/README.md +++ b/examples/README.md @@ -199,7 +199,7 @@ Examples using raylib shaders functionality, including shaders loading, paramete | [shaders_deferred_rendering](shaders/shaders_deferred_rendering.c) | shaders_deferred_rendering | ⭐⭐⭐⭐️ | 4.5 | 4.5 | [Justin Andreas Lacoste](https://github.com/27justin) | | [shaders_hybrid_rendering](shaders/shaders_hybrid_rendering.c) | shaders_hybrid_rendering | ⭐⭐⭐⭐️ | 4.2 | 4.2 | [Buğra Alptekin Sarı](https://github.com/BugraAlptekinSari) | | [shaders_texture_tiling](shaders/shaders_texture_tiling.c) | shaders_texture_tiling | ⭐⭐☆☆ | 4.5 | 4.5 | [Luis Almeida](https://github.com/luis605) | -| [shaders_shadowmap](shaders/shaders_shadowmap.c) | shaders_shadowmap | ⭐⭐⭐⭐️ | 5.0 | 5.0 | [TheManTheMythTheGameDev](https://github.com/TheManTheMythTheGameDev) | +| [shaders_shadowmap_rendering](shaders/shaders_shadowmap_rendering.c) | shaders_shadowmap_rendering | ⭐⭐⭐⭐️ | 5.0 | 5.0 | [TheManTheMythTheGameDev](https://github.com/TheManTheMythTheGameDev) | | [shaders_vertex_displacement](shaders/shaders_vertex_displacement.c) | shaders_vertex_displacement | ⭐⭐⭐☆ | 5.0 | 4.5 | [Alex ZH](https://github.com/ZzzhHe) | | [shaders_write_depth](shaders/shaders_write_depth.c) | shaders_write_depth | ⭐⭐☆☆ | 4.2 | 4.2 | [Buğra Alptekin Sarı](https://github.com/BugraAlptekinSari) | | [shaders_basic_pbr](shaders/shaders_basic_pbr.c) | shaders_basic_pbr | ⭐⭐⭐⭐️ | 5.0 | 5.5 | [Afan OLOVCIC](https://github.com/_DevDad) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 32746ca45..c66648a63 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -146,7 +146,7 @@ shaders;shaders_spotlight;★★☆☆;2.5;3.7;2019;2025;"Chris Camacho";@chrisc shaders;shaders_deferred_rendering;★★★★;4.5;4.5;2023;2025;"Justin Andreas Lacoste";@27justin shaders;shaders_hybrid_rendering;★★★★;4.2;4.2;2022;2025;"Buğra Alptekin Sarı";@BugraAlptekinSari shaders;shaders_texture_tiling;★★☆☆;4.5;4.5;2023;2025;"Luis Almeida";@luis605 -shaders;shaders_shadowmap;★★★★;5.0;5.0;2023;2025;"TheManTheMythTheGameDev";@TheManTheMythTheGameDev +shaders;shaders_shadowmap_rendering;★★★★;5.0;5.0;2023;2025;"TheManTheMythTheGameDev";@TheManTheMythTheGameDev shaders;shaders_vertex_displacement;★★★☆;5.0;4.5;2023;2025;"Alex ZH";@ZzzhHe shaders;shaders_write_depth;★★☆☆;4.2;4.2;2022;2025;"Buğra Alptekin Sarı";@BugraAlptekinSari shaders;shaders_basic_pbr;★★★★;5.0;5.5;2023;2025;"Afan OLOVCIC";@_DevDad diff --git a/examples/shaders/shaders_shadowmap.c b/examples/shaders/shaders_shadowmap_rendering.c similarity index 100% rename from examples/shaders/shaders_shadowmap.c rename to examples/shaders/shaders_shadowmap_rendering.c diff --git a/examples/shaders/shaders_shadowmap.png b/examples/shaders/shaders_shadowmap_rendering.png similarity index 100% rename from examples/shaders/shaders_shadowmap.png rename to examples/shaders/shaders_shadowmap_rendering.png diff --git a/projects/VS2022/examples/shaders_shadowmap.vcxproj b/projects/VS2022/examples/shaders_shadowmap_rendering.vcxproj similarity index 98% rename from projects/VS2022/examples/shaders_shadowmap.vcxproj rename to projects/VS2022/examples/shaders_shadowmap_rendering.vcxproj index 48dbcb3e5..f5a2e13b8 100644 --- a/projects/VS2022/examples/shaders_shadowmap.vcxproj +++ b/projects/VS2022/examples/shaders_shadowmap_rendering.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {41BBCC10-6FDE-48A1-B2E0-A0EC6A668629} - Win32Proj - shaders_shadowmap - 10.0 - shaders_shadowmap - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {41BBCC10-6FDE-48A1-B2E0-A0EC6A668629} + Win32Proj + shaders_shadowmap_rendering + 10.0 + shaders_shadowmap_rendering + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index e89b64836..bab2b32a8 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -301,7 +301,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_rectangle_advanced", EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_gpu_skinning", "examples\models_gpu_skinning.vcxproj", "{8245DAD9-D402-4D5C-8F45-32229CD3B263}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_shadowmap", "examples\shaders_shadowmap.vcxproj", "{41BBCC10-6FDE-48A1-B2E0-A0EC6A668629}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_shadowmap_rendering", "examples\shaders_shadowmap_rendering.vcxproj", "{41BBCC10-6FDE-48A1-B2E0-A0EC6A668629}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_bone_socket", "examples\models_bone_socket.vcxproj", "{3A7FE53D-35F7-49DC-9C9A-A5204A53523F}" EndProject From 11ca32493af1b8a57bada7e8c714d663117be946 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 20:34:16 +0200 Subject: [PATCH 065/125] REXM: RENAME: example: `shaders_lightmap` --> `shaders_lightmap_rendering` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 ++-- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ...ders_lightmap.c => shaders_lightmap_rendering.c} | 0 ..._lightmap.png => shaders_lightmap_rendering.png} | Bin ...p.vcxproj => shaders_lightmap_rendering.vcxproj} | 6 +++--- projects/VS2022/raylib.sln | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) rename examples/shaders/{shaders_lightmap.c => shaders_lightmap_rendering.c} (100%) rename examples/shaders/{shaders_lightmap.png => shaders_lightmap_rendering.png} (100%) rename projects/VS2022/examples/{shaders_lightmap.vcxproj => shaders_lightmap_rendering.vcxproj} (99%) diff --git a/examples/Makefile b/examples/Makefile index 52ace7b08..179492c1d 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -635,7 +635,7 @@ SHADERS = \ shaders/shaders_hot_reloading \ shaders/shaders_hybrid_rendering \ shaders/shaders_julia_set \ - shaders/shaders_lightmap \ + shaders/shaders_lightmap_rendering \ shaders/shaders_mesh_instancing \ shaders/shaders_model_shader \ shaders/shaders_multi_sample2d \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index e41d66a06..a505b5f93 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -635,7 +635,7 @@ SHADERS = \ shaders/shaders_hot_reloading \ shaders/shaders_hybrid_rendering \ shaders/shaders_julia_set \ - shaders/shaders_lightmap \ + shaders/shaders_lightmap_rendering \ shaders/shaders_mesh_instancing \ shaders/shaders_model_shader \ shaders/shaders_multi_sample2d \ @@ -1180,7 +1180,7 @@ shaders/shaders_julia_set: shaders/shaders_julia_set.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/shaders/glsl100/julia_set.fs@resources/shaders/glsl100/julia_set.fs -shaders/shaders_lightmap: shaders/shaders_lightmap.c +shaders/shaders_lightmap_rendering: shaders/shaders_lightmap_rendering.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/shaders/glsl100/lightmap.vs@resources/shaders/glsl100/lightmap.vs \ --preload-file shaders/resources/shaders/glsl100/lightmap.fs@resources/shaders/glsl100/lightmap.fs \ diff --git a/examples/README.md b/examples/README.md index 7f1dcb52f..b09ef5114 100644 --- a/examples/README.md +++ b/examples/README.md @@ -203,7 +203,7 @@ Examples using raylib shaders functionality, including shaders loading, paramete | [shaders_vertex_displacement](shaders/shaders_vertex_displacement.c) | shaders_vertex_displacement | ⭐⭐⭐☆ | 5.0 | 4.5 | [Alex ZH](https://github.com/ZzzhHe) | | [shaders_write_depth](shaders/shaders_write_depth.c) | shaders_write_depth | ⭐⭐☆☆ | 4.2 | 4.2 | [Buğra Alptekin Sarı](https://github.com/BugraAlptekinSari) | | [shaders_basic_pbr](shaders/shaders_basic_pbr.c) | shaders_basic_pbr | ⭐⭐⭐⭐️ | 5.0 | 5.5 | [Afan OLOVCIC](https://github.com/_DevDad) | -| [shaders_lightmap](shaders/shaders_lightmap.c) | shaders_lightmap | ⭐⭐⭐☆ | 4.5 | 4.5 | [Jussi Viitala](https://github.com/nullstare) | +| [shaders_lightmap_rendering](shaders/shaders_lightmap_rendering.c) | shaders_lightmap_rendering | ⭐⭐⭐☆ | 4.5 | 4.5 | [Jussi Viitala](https://github.com/nullstare) | | [shaders_rounded_rectangle](shaders/shaders_rounded_rectangle.c) | shaders_rounded_rectangle | ⭐⭐⭐☆ | 5.5 | 5.5 | [Anstro Pleuton](https://github.com/anstropleuton) | | [shaders_view_depth](shaders/shaders_view_depth.c) | shaders_view_depth | ⭐⭐⭐☆ | 5.6-dev | 5.6-dev | [Luís Almeida](https://github.com/luis605) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index c66648a63..77bac81c7 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -150,7 +150,7 @@ shaders;shaders_shadowmap_rendering;★★★★;5.0;5.0;2023;2025;"TheManTheMyt shaders;shaders_vertex_displacement;★★★☆;5.0;4.5;2023;2025;"Alex ZH";@ZzzhHe shaders;shaders_write_depth;★★☆☆;4.2;4.2;2022;2025;"Buğra Alptekin Sarı";@BugraAlptekinSari shaders;shaders_basic_pbr;★★★★;5.0;5.5;2023;2025;"Afan OLOVCIC";@_DevDad -shaders;shaders_lightmap;★★★☆;4.5;4.5;2019;2025;"Jussi Viitala";@nullstare +shaders;shaders_lightmap_rendering;★★★☆;4.5;4.5;2019;2025;"Jussi Viitala";@nullstare shaders;shaders_rounded_rectangle;★★★☆;5.5;5.5;2025;2025;"Anstro Pleuton";@anstropleuton shaders;shaders_view_depth;★★★☆;5.6-dev;5.6-dev;2025;2025;"Luís Almeida";@luis605 audio;audio_module_playing;★☆☆☆;1.5;3.5;2016;2025;"Ramon Santamaria";@raysan5 diff --git a/examples/shaders/shaders_lightmap.c b/examples/shaders/shaders_lightmap_rendering.c similarity index 100% rename from examples/shaders/shaders_lightmap.c rename to examples/shaders/shaders_lightmap_rendering.c diff --git a/examples/shaders/shaders_lightmap.png b/examples/shaders/shaders_lightmap_rendering.png similarity index 100% rename from examples/shaders/shaders_lightmap.png rename to examples/shaders/shaders_lightmap_rendering.png diff --git a/projects/VS2022/examples/shaders_lightmap.vcxproj b/projects/VS2022/examples/shaders_lightmap_rendering.vcxproj similarity index 99% rename from projects/VS2022/examples/shaders_lightmap.vcxproj rename to projects/VS2022/examples/shaders_lightmap_rendering.vcxproj index d1be94f1c..245a321b1 100644 --- a/projects/VS2022/examples/shaders_lightmap.vcxproj +++ b/projects/VS2022/examples/shaders_lightmap_rendering.vcxproj @@ -53,9 +53,9 @@ {C54703BF-D68A-480D-BE27-49B62E45D582} Win32Proj - shaders_lightmap + shaders_lightmap_rendering 10.0 - shaders_lightmap + shaders_lightmap_rendering @@ -553,7 +553,7 @@ - + diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index bab2b32a8..221b8ea8c 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -325,7 +325,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_tesseract_view", "ex EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_basic_pbr", "examples\shaders_basic_pbr.vcxproj", "{4DF6D5E4-6796-4257-B466-BCD62DEBBCF8}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_lightmap", "examples\shaders_lightmap.vcxproj", "{C54703BF-D68A-480D-BE27-49B62E45D582}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_lightmap_rendering", "examples\shaders_lightmap_rendering.vcxproj", "{C54703BF-D68A-480D-BE27-49B62E45D582}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "audio_sound_positioning", "examples\audio_sound_positioning.vcxproj", "{9CD8BCAD-F212-4BCC-BA98-899743CE3279}" EndProject From f4f3325e1e1a43b6beb82ae81f600057180e590c Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 20:34:33 +0200 Subject: [PATCH 066/125] REXM: RENAME: example: `shaders_spotlight` --> `shaders_spotlight_rendering` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ...tlight.c => shaders_spotlight_rendering.c} | 0 ...ht.png => shaders_spotlight_rendering.png} | Bin ...oj => shaders_spotlight_rendering.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 574 insertions(+), 574 deletions(-) rename examples/shaders/{shaders_spotlight.c => shaders_spotlight_rendering.c} (100%) rename examples/shaders/{shaders_spotlight.png => shaders_spotlight_rendering.png} (100%) rename projects/VS2022/examples/{shaders_spotlight.vcxproj => shaders_spotlight_rendering.vcxproj} (98%) diff --git a/examples/Makefile b/examples/Makefile index 179492c1d..b9e9c92ca 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -647,7 +647,7 @@ SHADERS = \ shaders/shaders_shadowmap_rendering \ shaders/shaders_shapes_textures \ shaders/shaders_simple_mask \ - shaders/shaders_spotlight \ + shaders/shaders_spotlight_rendering \ shaders/shaders_texture_outline \ shaders/shaders_texture_rendering \ shaders/shaders_texture_tiling \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index a505b5f93..5950ff160 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -647,7 +647,7 @@ SHADERS = \ shaders/shaders_shadowmap_rendering \ shaders/shaders_shapes_textures \ shaders/shaders_simple_mask \ - shaders/shaders_spotlight \ + shaders/shaders_spotlight_rendering \ shaders/shaders_texture_outline \ shaders/shaders_texture_rendering \ shaders/shaders_texture_tiling \ @@ -1258,7 +1258,7 @@ shaders/shaders_simple_mask: shaders/shaders_simple_mask.c --preload-file shaders/resources/plasma.png@resources/plasma.png \ --preload-file shaders/resources/mask.png@resources/mask.png -shaders/shaders_spotlight: shaders/shaders_spotlight.c +shaders/shaders_spotlight_rendering: shaders/shaders_spotlight_rendering.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/raysan.png@resources/raysan.png \ --preload-file shaders/resources/shaders/glsl100/spotlight.fs@resources/shaders/glsl100/spotlight.fs diff --git a/examples/README.md b/examples/README.md index b09ef5114..cf41a4879 100644 --- a/examples/README.md +++ b/examples/README.md @@ -195,7 +195,7 @@ Examples using raylib shaders functionality, including shaders loading, paramete | [shaders_mesh_instancing](shaders/shaders_mesh_instancing.c) | shaders_mesh_instancing | ⭐⭐⭐⭐️ | 3.7 | 4.2 | [seanpringle](https://github.com/seanpringle) | | [shaders_multi_sample2d](shaders/shaders_multi_sample2d.c) | shaders_multi_sample2d | ⭐⭐☆☆ | 3.5 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shaders_normalmap_rendering](shaders/shaders_normalmap_rendering.c) | shaders_normalmap_rendering | ⭐⭐⭐⭐️ | 5.6 | 5.6 | [Jeremy Montgomery](https://github.com/Sir_Irk) | -| [shaders_spotlight](shaders/shaders_spotlight.c) | shaders_spotlight | ⭐⭐☆☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/chriscamacho) | +| [shaders_spotlight_rendering](shaders/shaders_spotlight_rendering.c) | shaders_spotlight_rendering | ⭐⭐☆☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/chriscamacho) | | [shaders_deferred_rendering](shaders/shaders_deferred_rendering.c) | shaders_deferred_rendering | ⭐⭐⭐⭐️ | 4.5 | 4.5 | [Justin Andreas Lacoste](https://github.com/27justin) | | [shaders_hybrid_rendering](shaders/shaders_hybrid_rendering.c) | shaders_hybrid_rendering | ⭐⭐⭐⭐️ | 4.2 | 4.2 | [Buğra Alptekin Sarı](https://github.com/BugraAlptekinSari) | | [shaders_texture_tiling](shaders/shaders_texture_tiling.c) | shaders_texture_tiling | ⭐⭐☆☆ | 4.5 | 4.5 | [Luis Almeida](https://github.com/luis605) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 77bac81c7..149388fc2 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -142,7 +142,7 @@ shaders;shaders_hot_reloading;★★★☆;3.0;3.5;2020;2025;"Ramon Santamaria"; shaders;shaders_mesh_instancing;★★★★;3.7;4.2;2020;2025;"seanpringle";@seanpringle shaders;shaders_multi_sample2d;★★☆☆;3.5;3.5;2020;2025;"Ramon Santamaria";@raysan5 shaders;shaders_normalmap_rendering;★★★★;5.6;5.6;2025;2025;"Jeremy Montgomery";@Sir_Irk -shaders;shaders_spotlight;★★☆☆;2.5;3.7;2019;2025;"Chris Camacho";@chriscamacho +shaders;shaders_spotlight_rendering;★★☆☆;2.5;3.7;2019;2025;"Chris Camacho";@chriscamacho shaders;shaders_deferred_rendering;★★★★;4.5;4.5;2023;2025;"Justin Andreas Lacoste";@27justin shaders;shaders_hybrid_rendering;★★★★;4.2;4.2;2022;2025;"Buğra Alptekin Sarı";@BugraAlptekinSari shaders;shaders_texture_tiling;★★☆☆;4.5;4.5;2023;2025;"Luis Almeida";@luis605 diff --git a/examples/shaders/shaders_spotlight.c b/examples/shaders/shaders_spotlight_rendering.c similarity index 100% rename from examples/shaders/shaders_spotlight.c rename to examples/shaders/shaders_spotlight_rendering.c diff --git a/examples/shaders/shaders_spotlight.png b/examples/shaders/shaders_spotlight_rendering.png similarity index 100% rename from examples/shaders/shaders_spotlight.png rename to examples/shaders/shaders_spotlight_rendering.png diff --git a/projects/VS2022/examples/shaders_spotlight.vcxproj b/projects/VS2022/examples/shaders_spotlight_rendering.vcxproj similarity index 98% rename from projects/VS2022/examples/shaders_spotlight.vcxproj rename to projects/VS2022/examples/shaders_spotlight_rendering.vcxproj index 39545d2a6..6048b7c99 100644 --- a/projects/VS2022/examples/shaders_spotlight.vcxproj +++ b/projects/VS2022/examples/shaders_spotlight_rendering.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {11F33A39-74B7-4018-B5F9-CC285A673A8F} - Win32Proj - shaders_spotlight - 10.0 - shaders_spotlight - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {11F33A39-74B7-4018-B5F9-CC285A673A8F} + Win32Proj + shaders_spotlight_rendering + 10.0 + shaders_spotlight_rendering + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 221b8ea8c..6865e4717 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -225,7 +225,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_shapes_textures", " EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_simple_mask", "examples\shaders_simple_mask.vcxproj", "{600C3D4F-0670-4DB4-B30F-520A729053B5}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_spotlight", "examples\shaders_spotlight.vcxproj", "{11F33A39-74B7-4018-B5F9-CC285A673A8F}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_spotlight_rendering", "examples\shaders_spotlight_rendering.vcxproj", "{11F33A39-74B7-4018-B5F9-CC285A673A8F}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_texture_rendering", "examples\shaders_texture_rendering.vcxproj", "{A6F5E35E-B4A7-41B3-853A-75558E6E0715}" EndProject From 4a23ed698fd939efaa30af4416ea0b3f7edd03a4 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 20:34:48 +0200 Subject: [PATCH 067/125] REXM: RENAME: example: `shaders_raymarching` --> `shaders_raymarching_rendering` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ...hing.c => shaders_raymarching_rendering.c} | 0 ....png => shaders_raymarching_rendering.png} | Bin ... => shaders_raymarching_rendering.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 574 insertions(+), 574 deletions(-) rename examples/shaders/{shaders_raymarching.c => shaders_raymarching_rendering.c} (100%) rename examples/shaders/{shaders_raymarching.png => shaders_raymarching_rendering.png} (100%) rename projects/VS2022/examples/{shaders_raymarching.vcxproj => shaders_raymarching_rendering.vcxproj} (98%) diff --git a/examples/Makefile b/examples/Makefile index b9e9c92ca..d0f06c37b 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -642,7 +642,7 @@ SHADERS = \ shaders/shaders_normalmap_rendering \ shaders/shaders_palette_switch \ shaders/shaders_postprocessing \ - shaders/shaders_raymarching \ + shaders/shaders_raymarching_rendering \ shaders/shaders_rounded_rectangle \ shaders/shaders_shadowmap_rendering \ shaders/shaders_shapes_textures \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 5950ff160..757f01a49 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -642,7 +642,7 @@ SHADERS = \ shaders/shaders_normalmap_rendering \ shaders/shaders_palette_switch \ shaders/shaders_postprocessing \ - shaders/shaders_raymarching \ + shaders/shaders_raymarching_rendering \ shaders/shaders_rounded_rectangle \ shaders/shaders_shadowmap_rendering \ shaders/shaders_shapes_textures \ @@ -1231,7 +1231,7 @@ shaders/shaders_postprocessing: shaders/shaders_postprocessing.c --preload-file shaders/resources/shaders/glsl100/bloom.fs@resources/shaders/glsl100/bloom.fs \ --preload-file shaders/resources/shaders/glsl100/blur.fs@resources/shaders/glsl100/blur.fs -shaders/shaders_raymarching: shaders/shaders_raymarching.c +shaders/shaders_raymarching_rendering: shaders/shaders_raymarching_rendering.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/shaders/glsl100/raymarching.fs@resources/shaders/glsl100/raymarching.fs diff --git a/examples/README.md b/examples/README.md index cf41a4879..a654f9804 100644 --- a/examples/README.md +++ b/examples/README.md @@ -183,7 +183,7 @@ Examples using raylib shaders functionality, including shaders loading, paramete | [shaders_custom_uniform](shaders/shaders_custom_uniform.c) | shaders_custom_uniform | ⭐⭐☆☆ | 1.3 | 4.0 | [Ramon Santamaria](https://github.com/raysan5) | | [shaders_postprocessing](shaders/shaders_postprocessing.c) | shaders_postprocessing | ⭐⭐⭐☆ | 1.3 | 4.0 | [Ramon Santamaria](https://github.com/raysan5) | | [shaders_palette_switch](shaders/shaders_palette_switch.c) | shaders_palette_switch | ⭐⭐⭐☆ | 2.5 | 3.7 | [Marco Lizza](https://github.com/MarcoLizza) | -| [shaders_raymarching](shaders/shaders_raymarching.c) | shaders_raymarching | ⭐⭐⭐⭐️ | 2.0 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | +| [shaders_raymarching_rendering](shaders/shaders_raymarching_rendering.c) | shaders_raymarching_rendering | ⭐⭐⭐⭐️ | 2.0 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | | [shaders_texture_rendering](shaders/shaders_texture_rendering.c) | shaders_texture_rendering | ⭐⭐☆☆ | 2.0 | 3.7 | [Michał Ciesielski](https://github.com/ciessielski) | | [shaders_texture_outline](shaders/shaders_texture_outline.c) | shaders_texture_outline | ⭐⭐⭐☆ | 4.0 | 4.0 | [Serenity Skiff](https://github.com/GoldenThumbs) | | [shaders_texture_waves](shaders/shaders_texture_waves.c) | shaders_texture_waves | ⭐⭐☆☆ | 2.5 | 3.7 | [Anata](https://github.com/anatagawa) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 149388fc2..d0d15894c 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -130,7 +130,7 @@ shaders;shaders_shapes_textures;★★☆☆;1.7;3.7;2015;2025;"Ramon Santamaria shaders;shaders_custom_uniform;★★☆☆;1.3;4.0;2015;2025;"Ramon Santamaria";@raysan5 shaders;shaders_postprocessing;★★★☆;1.3;4.0;2015;2025;"Ramon Santamaria";@raysan5 shaders;shaders_palette_switch;★★★☆;2.5;3.7;2019;2025;"Marco Lizza";@MarcoLizza -shaders;shaders_raymarching;★★★★;2.0;4.2;2018;2025;"Ramon Santamaria";@raysan5 +shaders;shaders_raymarching_rendering;★★★★;2.0;4.2;2018;2025;"Ramon Santamaria";@raysan5 shaders;shaders_texture_rendering;★★☆☆;2.0;3.7;2019;2025;"Michał Ciesielski";@ciessielski shaders;shaders_texture_outline;★★★☆;4.0;4.0;2021;2025;"Serenity Skiff";@GoldenThumbs shaders;shaders_texture_waves;★★☆☆;2.5;3.7;2019;2025;"Anata";@anatagawa diff --git a/examples/shaders/shaders_raymarching.c b/examples/shaders/shaders_raymarching_rendering.c similarity index 100% rename from examples/shaders/shaders_raymarching.c rename to examples/shaders/shaders_raymarching_rendering.c diff --git a/examples/shaders/shaders_raymarching.png b/examples/shaders/shaders_raymarching_rendering.png similarity index 100% rename from examples/shaders/shaders_raymarching.png rename to examples/shaders/shaders_raymarching_rendering.png diff --git a/projects/VS2022/examples/shaders_raymarching.vcxproj b/projects/VS2022/examples/shaders_raymarching_rendering.vcxproj similarity index 98% rename from projects/VS2022/examples/shaders_raymarching.vcxproj rename to projects/VS2022/examples/shaders_raymarching_rendering.vcxproj index c796134bc..c4e3557c0 100644 --- a/projects/VS2022/examples/shaders_raymarching.vcxproj +++ b/projects/VS2022/examples/shaders_raymarching_rendering.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {D36EC43E-B31F-4CF4-8285-93A7A9D90189} - Win32Proj - shaders_raymarching - 10.0 - shaders_raymarching - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {D36EC43E-B31F-4CF4-8285-93A7A9D90189} + Win32Proj + shaders_raymarching_rendering + 10.0 + shaders_raymarching_rendering + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 6865e4717..fe91cb599 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -217,7 +217,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_palette_switch", "e EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_postprocessing", "examples\shaders_postprocessing.vcxproj", "{7381D91E-5C72-48F0-AAB4-95C9B10D7484}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_raymarching", "examples\shaders_raymarching.vcxproj", "{D36EC43E-B31F-4CF4-8285-93A7A9D90189}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_raymarching_rendering", "examples\shaders_raymarching_rendering.vcxproj", "{D36EC43E-B31F-4CF4-8285-93A7A9D90189}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_mesh_instancing", "examples\shaders_mesh_instancing.vcxproj", "{274C0319-7E1E-4188-936B-8DF3331230B3}" EndProject From d8f3b51a3f157e33f853198441863bc0144a6f69 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 20:35:27 +0200 Subject: [PATCH 068/125] REXM: RENAME: example: `models_animation` --> `models_animation_playing` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ...animation.c => models_animation_playing.c} | 0 ...ation.png => models_animation_playing.png} | Bin ...xproj => models_animation_playing.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 574 insertions(+), 574 deletions(-) rename examples/models/{models_animation.c => models_animation_playing.c} (100%) rename examples/models/{models_animation.png => models_animation_playing.png} (100%) rename projects/VS2022/examples/{models_animation.vcxproj => models_animation_playing.vcxproj} (98%) diff --git a/examples/Makefile b/examples/Makefile index d0f06c37b..7d53b87d0 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -601,7 +601,7 @@ TEXT = \ text/text_writing_anim MODELS = \ - models/models_animation \ + models/models_animation_playing \ models/models_billboard_rendering \ models/models_bone_socket \ models/models_box_collisions \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 757f01a49..0d6bbc528 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -601,7 +601,7 @@ TEXT = \ text/text_writing_anim MODELS = \ - models/models_animation \ + models/models_animation_playing \ models/models_billboard_rendering \ models/models_bone_socket \ models/models_box_collisions \ @@ -1018,7 +1018,7 @@ text/text_writing_anim: text/text_writing_anim.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) # Compile MODELS examples -models/models_animation: models/models_animation.c +models/models_animation_playing: models/models_animation_playing.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file models/resources/models/iqm/guy.iqm@resources/models/iqm/guy.iqm \ --preload-file models/resources/models/iqm/guytex.png@resources/models/iqm/guytex.png \ diff --git a/examples/README.md b/examples/README.md index a654f9804..b35823b91 100644 --- a/examples/README.md +++ b/examples/README.md @@ -147,7 +147,7 @@ Examples using raylib models functionality, including models loading/generation | example | image | difficulty
level | version
created | last version
updated | original
developer | |-----------|--------|:-------------------:|:------------------:|:-----------------------:|:----------------------| -| [models_animation](models/models_animation.c) | models_animation | ⭐⭐☆☆ | 2.5 | 3.5 | [Culacant](https://github.com/culacant) | +| [models_animation_playing](models/models_animation_playing.c) | models_animation_playing | ⭐⭐☆☆ | 2.5 | 3.5 | [Culacant](https://github.com/culacant) | | [models_billboard_rendering](models/models_billboard_rendering.c) | models_billboard_rendering | ⭐⭐⭐☆ | 1.3 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [models_box_collisions](models/models_box_collisions.c) | models_box_collisions | ⭐☆☆☆ | 1.3 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [models_cubicmap_rendering](models/models_cubicmap_rendering.c) | models_cubicmap_rendering | ⭐⭐☆☆ | 1.8 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index d0d15894c..90014f633 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -101,7 +101,7 @@ text;text_unicode_emojis;★★★★;2.5;4.0;2019;2025;"Vlad Adrian";@demizdor text;text_unicode_ranges;★★★★;5.5;5.6;2025;2025;"Vlad Adrian";@demizdor text;text_3d_drawing;★★★★;3.5;4.0;2021;2025;"Vlad Adrian";@demizdor text;text_codepoints_loading;★★★☆;4.2;4.2;2022;2025;"Ramon Santamaria";@raysan5 -models;models_animation;★★☆☆;2.5;3.5;2019;2025;"Culacant";@culacant +models;models_animation_playing;★★☆☆;2.5;3.5;2019;2025;"Culacant";@culacant models;models_billboard_rendering;★★★☆;1.3;3.5;2015;2025;"Ramon Santamaria";@raysan5 models;models_box_collisions;★☆☆☆;1.3;3.5;2015;2025;"Ramon Santamaria";@raysan5 models;models_cubicmap_rendering;★★☆☆;1.8;3.5;2015;2025;"Ramon Santamaria";@raysan5 diff --git a/examples/models/models_animation.c b/examples/models/models_animation_playing.c similarity index 100% rename from examples/models/models_animation.c rename to examples/models/models_animation_playing.c diff --git a/examples/models/models_animation.png b/examples/models/models_animation_playing.png similarity index 100% rename from examples/models/models_animation.png rename to examples/models/models_animation_playing.png diff --git a/projects/VS2022/examples/models_animation.vcxproj b/projects/VS2022/examples/models_animation_playing.vcxproj similarity index 98% rename from projects/VS2022/examples/models_animation.vcxproj rename to projects/VS2022/examples/models_animation_playing.vcxproj index 5b9399265..292c45fb6 100644 --- a/projects/VS2022/examples/models_animation.vcxproj +++ b/projects/VS2022/examples/models_animation_playing.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {AFDDE100-2D36-4749-817D-12E54C56312F} - Win32Proj - models_animation - 10.0 - models_animation - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {AFDDE100-2D36-4749-817D-12E54C56312F} + Win32Proj + models_animation_playing + 10.0 + models_animation_playing + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index fe91cb599..56fe46e03 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -85,7 +85,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_window_letterbox", "ex EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_world_screen", "examples\core_world_screen.vcxproj", "{79417CE2-FEEB-42F0-BC53-62D5267B19B1}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_animation", "examples\models_animation.vcxproj", "{AFDDE100-2D36-4749-817D-12E54C56312F}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_animation_playing", "examples\models_animation_playing.vcxproj", "{AFDDE100-2D36-4749-817D-12E54C56312F}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_billboard_rendering", "examples\models_billboard_rendering.vcxproj", "{B7812167-50FB-4934-996F-DF6FE4CBBFDF}" EndProject From ede4547015bcc587472066bf0ac1d9f49e10e55b Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 20:35:37 +0200 Subject: [PATCH 069/125] REXM: RENAME: example: `models_draw_cube_texture` --> `models_textured_cube` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ..._cube_texture.c => models_textured_cube.c} | 0 ...e_texture.png => models_textured_cube.png} | Bin ...e.vcxproj => models_textured_cube.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 574 insertions(+), 574 deletions(-) rename examples/models/{models_draw_cube_texture.c => models_textured_cube.c} (100%) rename examples/models/{models_draw_cube_texture.png => models_textured_cube.png} (100%) rename projects/VS2022/examples/{models_draw_cube_texture.vcxproj => models_textured_cube.vcxproj} (97%) diff --git a/examples/Makefile b/examples/Makefile index 7d53b87d0..686810500 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -606,7 +606,7 @@ MODELS = \ models/models_bone_socket \ models/models_box_collisions \ models/models_cubicmap_rendering \ - models/models_draw_cube_texture \ + models/models_textured_cube \ models/models_first_person_maze \ models/models_geometric_shapes \ models/models_gpu_skinning \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 0d6bbc528..5065159d0 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -606,7 +606,7 @@ MODELS = \ models/models_bone_socket \ models/models_box_collisions \ models/models_cubicmap_rendering \ - models/models_draw_cube_texture \ + models/models_textured_cube \ models/models_first_person_maze \ models/models_geometric_shapes \ models/models_gpu_skinning \ @@ -1043,7 +1043,7 @@ models/models_cubicmap_rendering: models/models_cubicmap_rendering.c --preload-file models/resources/cubicmap.png@resources/cubicmap.png \ --preload-file models/resources/cubicmap_atlas.png@resources/cubicmap_atlas.png -models/models_draw_cube_texture: models/models_draw_cube_texture.c +models/models_textured_cube: models/models_textured_cube.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file models/resources/cubicmap_atlas.png@resources/cubicmap_atlas.png diff --git a/examples/README.md b/examples/README.md index b35823b91..72fd4d576 100644 --- a/examples/README.md +++ b/examples/README.md @@ -166,7 +166,7 @@ Examples using raylib models functionality, including models loading/generation | [models_waving_cubes](models/models_waving_cubes.c) | models_waving_cubes | ⭐⭐⭐☆ | 2.5 | 3.7 | [Codecat](https://github.com/codecat) | | [models_heightmap_rendering](models/models_heightmap_rendering.c) | models_heightmap_rendering | ⭐☆☆☆ | 1.8 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | | [models_skybox_rendering](models/models_skybox_rendering.c) | models_skybox_rendering | ⭐⭐☆☆ | 1.8 | 4.0 | [Ramon Santamaria](https://github.com/raysan5) | -| [models_draw_cube_texture](models/models_draw_cube_texture.c) | models_draw_cube_texture | ⭐⭐☆☆ | 4.5 | 4.5 | [Ramon Santamaria](https://github.com/raysan5) | +| [models_textured_cube](models/models_textured_cube.c) | models_textured_cube | ⭐⭐☆☆ | 4.5 | 4.5 | [Ramon Santamaria](https://github.com/raysan5) | | [models_gpu_skinning](models/models_gpu_skinning.c) | models_gpu_skinning | ⭐⭐⭐☆ | 4.5 | 4.5 | [Daniel Holden](https://github.com/orangeduck) | | [models_bone_socket](models/models_bone_socket.c) | models_bone_socket | ⭐⭐⭐⭐️ | 4.5 | 4.5 | [iP](https://github.com/ipzaur) | | [models_tesseract_view](models/models_tesseract_view.c) | models_tesseract_view | ⭐⭐☆☆ | 5.6-dev | 5.6-dev | [Timothy van der Valk](https://github.com/arceryz) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 90014f633..90f453d2a 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -120,7 +120,7 @@ models;models_yaw_pitch_roll;★★☆☆;1.8;4.0;2017;2025;"Berni";@Berni8k models;models_waving_cubes;★★★☆;2.5;3.7;2019;2025;"Codecat";@codecat models;models_heightmap_rendering;★☆☆☆;1.8;3.5;2015;2025;"Ramon Santamaria";@raysan5 models;models_skybox_rendering;★★☆☆;1.8;4.0;2017;2025;"Ramon Santamaria";@raysan5 -models;models_draw_cube_texture;★★☆☆;4.5;4.5;2022;2025;"Ramon Santamaria";@raysan5 +models;models_textured_cube;★★☆☆;4.5;4.5;2022;2025;"Ramon Santamaria";@raysan5 models;models_gpu_skinning;★★★☆;4.5;4.5;2024;2025;"Daniel Holden";@orangeduck models;models_bone_socket;★★★★;4.5;4.5;2024;2025;"iP";@ipzaur models;models_tesseract_view;★★☆☆;5.6-dev;5.6-dev;2024;2025;"Timothy van der Valk";@arceryz diff --git a/examples/models/models_draw_cube_texture.c b/examples/models/models_textured_cube.c similarity index 100% rename from examples/models/models_draw_cube_texture.c rename to examples/models/models_textured_cube.c diff --git a/examples/models/models_draw_cube_texture.png b/examples/models/models_textured_cube.png similarity index 100% rename from examples/models/models_draw_cube_texture.png rename to examples/models/models_textured_cube.png diff --git a/projects/VS2022/examples/models_draw_cube_texture.vcxproj b/projects/VS2022/examples/models_textured_cube.vcxproj similarity index 97% rename from projects/VS2022/examples/models_draw_cube_texture.vcxproj rename to projects/VS2022/examples/models_textured_cube.vcxproj index a2ca31eb2..1e75df771 100644 --- a/projects/VS2022/examples/models_draw_cube_texture.vcxproj +++ b/projects/VS2022/examples/models_textured_cube.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {4B39E5FC-0A96-4057-9AA5-8D5A52880DA7} - Win32Proj - models_draw_cube_texture - 10.0 - models_draw_cube_texture - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\models - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {4B39E5FC-0A96-4057-9AA5-8D5A52880DA7} + Win32Proj + models_textured_cube + 10.0 + models_textured_cube + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 56fe46e03..1c13b9e6d 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -285,7 +285,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_input_mouse_wheel", "e EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_smooth_pixelperfect", "examples\core_smooth_pixelperfect.vcxproj", "{71DB4284-5B1C-4E86-9AF5-B91542D44A6F}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_draw_cube_texture", "examples\models_draw_cube_texture.vcxproj", "{4B39E5FC-0A96-4057-9AA5-8D5A52880DA7}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_textured_cube", "examples\models_textured_cube.vcxproj", "{4B39E5FC-0A96-4057-9AA5-8D5A52880DA7}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_deferred_rendering", "examples\shaders_deferred_rendering.vcxproj", "{88DE5AD6-0074-4A5A-BE22-C840153E35D5}" EndProject From 84baaa6ee7b32be27243d3833190d46c2856c4e0 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 20:36:29 +0200 Subject: [PATCH 070/125] REXM: RENAME: example: `shapes_easings_ball_anim` --> `shapes_easings_ball` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ...ings_ball_anim.c => shapes_easings_ball.c} | 0 ..._ball_anim.png => shapes_easings_ball.png} | Bin ...im.vcxproj => shapes_easings_ball.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 574 insertions(+), 574 deletions(-) rename examples/shapes/{shapes_easings_ball_anim.c => shapes_easings_ball.c} (100%) rename examples/shapes/{shapes_easings_ball_anim.png => shapes_easings_ball.png} (100%) rename projects/VS2022/examples/{shapes_easings_ball_anim.vcxproj => shapes_easings_ball.vcxproj} (97%) diff --git a/examples/Makefile b/examples/Makefile index 686810500..9a56f3bc2 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -544,7 +544,7 @@ SHAPES = \ shapes/shapes_double_pendulum \ shapes/shapes_circle_sector_drawing \ shapes/shapes_rounded_rectangle_drawing \ - shapes/shapes_easings_ball_anim \ + shapes/shapes_easings_ball \ shapes/shapes_easings_box_anim \ shapes/shapes_easings_rectangle_array \ shapes/shapes_following_eyes \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 5065159d0..4bb7bf993 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -544,7 +544,7 @@ SHAPES = \ shapes/shapes_double_pendulum \ shapes/shapes_circle_sector_drawing \ shapes/shapes_rounded_rectangle_drawing \ - shapes/shapes_easings_ball_anim \ + shapes/shapes_easings_ball \ shapes/shapes_easings_box_anim \ shapes/shapes_easings_rectangle_array \ shapes/shapes_following_eyes \ @@ -811,7 +811,7 @@ shapes/shapes_circle_sector_drawing: shapes/shapes_circle_sector_drawing.c shapes/shapes_rounded_rectangle_drawing: shapes/shapes_rounded_rectangle_drawing.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -shapes/shapes_easings_ball_anim: shapes/shapes_easings_ball_anim.c +shapes/shapes_easings_ball: shapes/shapes_easings_ball.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) shapes/shapes_easings_box_anim: shapes/shapes_easings_box_anim.c diff --git a/examples/README.md b/examples/README.md index 72fd4d576..badb7f14a 100644 --- a/examples/README.md +++ b/examples/README.md @@ -76,7 +76,7 @@ Examples using raylib shapes drawing functionality, provided by raylib [shapes]( | [shapes_lines_bezier](shapes/shapes_lines_bezier.c) | shapes_lines_bezier | ⭐☆☆☆ | 1.7 | 1.7 | [Ramon Santamaria](https://github.com/raysan5) | | [shapes_collision_area](shapes/shapes_collision_area.c) | shapes_collision_area | ⭐⭐☆☆ | 2.5 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shapes_following_eyes](shapes/shapes_following_eyes.c) | shapes_following_eyes | ⭐⭐☆☆ | 2.5 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | -| [shapes_easings_ball_anim](shapes/shapes_easings_ball_anim.c) | shapes_easings_ball_anim | ⭐⭐☆☆ | 2.5 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | +| [shapes_easings_ball](shapes/shapes_easings_ball.c) | shapes_easings_ball | ⭐⭐☆☆ | 2.5 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shapes_easings_box_anim](shapes/shapes_easings_box_anim.c) | shapes_easings_box_anim | ⭐⭐☆☆ | 2.5 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shapes_easings_rectangle_array](shapes/shapes_easings_rectangle_array.c) | shapes_easings_rectangle_array | ⭐⭐⭐☆ | 2.0 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shapes_ring_drawing](shapes/shapes_ring_drawing.c) | shapes_ring_drawing | ⭐⭐⭐☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 90f453d2a..e50d597ca 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -51,7 +51,7 @@ shapes;shapes_rectangle_scaling;★★☆☆;2.5;2.5;2018;2025;"Vlad Adrian";@de shapes;shapes_lines_bezier;★☆☆☆;1.7;1.7;2017;2025;"Ramon Santamaria";@raysan5 shapes;shapes_collision_area;★★☆☆;2.5;2.5;2013;2025;"Ramon Santamaria";@raysan5 shapes;shapes_following_eyes;★★☆☆;2.5;2.5;2013;2025;"Ramon Santamaria";@raysan5 -shapes;shapes_easings_ball_anim;★★☆☆;2.5;2.5;2014;2025;"Ramon Santamaria";@raysan5 +shapes;shapes_easings_ball;★★☆☆;2.5;2.5;2014;2025;"Ramon Santamaria";@raysan5 shapes;shapes_easings_box_anim;★★☆☆;2.5;2.5;2014;2025;"Ramon Santamaria";@raysan5 shapes;shapes_easings_rectangle_array;★★★☆;2.0;2.5;2014;2025;"Ramon Santamaria";@raysan5 shapes;shapes_ring_drawing;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor diff --git a/examples/shapes/shapes_easings_ball_anim.c b/examples/shapes/shapes_easings_ball.c similarity index 100% rename from examples/shapes/shapes_easings_ball_anim.c rename to examples/shapes/shapes_easings_ball.c diff --git a/examples/shapes/shapes_easings_ball_anim.png b/examples/shapes/shapes_easings_ball.png similarity index 100% rename from examples/shapes/shapes_easings_ball_anim.png rename to examples/shapes/shapes_easings_ball.png diff --git a/projects/VS2022/examples/shapes_easings_ball_anim.vcxproj b/projects/VS2022/examples/shapes_easings_ball.vcxproj similarity index 97% rename from projects/VS2022/examples/shapes_easings_ball_anim.vcxproj rename to projects/VS2022/examples/shapes_easings_ball.vcxproj index 682d29c96..bd3b24e50 100644 --- a/projects/VS2022/examples/shapes_easings_ball_anim.vcxproj +++ b/projects/VS2022/examples/shapes_easings_ball.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {1C49E35A-2838-49D9-9D5F-4B8134960EF6} - Win32Proj - shapes_easings_ball_anim - 10.0 - shapes_easings_ball_anim - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {1C49E35A-2838-49D9-9D5F-4B8134960EF6} + Win32Proj + shapes_easings_ball + 10.0 + shapes_easings_ball + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 1c13b9e6d..79a6e8d60 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -191,7 +191,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_rounded_rectangle_dr EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_ring_drawing", "examples\shapes_ring_drawing.vcxproj", "{C4416DA1-9E62-46BA-9CD3-F8963C79E1A1}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_easings_ball_anim", "examples\shapes_easings_ball_anim.vcxproj", "{1C49E35A-2838-49D9-9D5F-4B8134960EF6}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_easings_ball", "examples\shapes_easings_ball.vcxproj", "{1C49E35A-2838-49D9-9D5F-4B8134960EF6}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_easings_box_anim", "examples\shapes_easings_box_anim.vcxproj", "{F91142E2-A999-47F0-9E74-38C1E2930EBE}" EndProject From 5ac0539481d7b3c2802add07f924f8dad915cd81 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 20:36:41 +0200 Subject: [PATCH 071/125] REXM: RENAME: example: `shapes_easings_box_anim` --> `shapes_easings_box` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ...asings_box_anim.c => shapes_easings_box.c} | 0 ...gs_box_anim.png => shapes_easings_box.png} | Bin ...nim.vcxproj => shapes_easings_box.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 574 insertions(+), 574 deletions(-) rename examples/shapes/{shapes_easings_box_anim.c => shapes_easings_box.c} (100%) rename examples/shapes/{shapes_easings_box_anim.png => shapes_easings_box.png} (100%) rename projects/VS2022/examples/{shapes_easings_box_anim.vcxproj => shapes_easings_box.vcxproj} (97%) diff --git a/examples/Makefile b/examples/Makefile index 9a56f3bc2..6f49b148f 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -545,7 +545,7 @@ SHAPES = \ shapes/shapes_circle_sector_drawing \ shapes/shapes_rounded_rectangle_drawing \ shapes/shapes_easings_ball \ - shapes/shapes_easings_box_anim \ + shapes/shapes_easings_box \ shapes/shapes_easings_rectangle_array \ shapes/shapes_following_eyes \ shapes/shapes_lines_bezier \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 4bb7bf993..15c8fd341 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -545,7 +545,7 @@ SHAPES = \ shapes/shapes_circle_sector_drawing \ shapes/shapes_rounded_rectangle_drawing \ shapes/shapes_easings_ball \ - shapes/shapes_easings_box_anim \ + shapes/shapes_easings_box \ shapes/shapes_easings_rectangle_array \ shapes/shapes_following_eyes \ shapes/shapes_lines_bezier \ @@ -814,7 +814,7 @@ shapes/shapes_rounded_rectangle_drawing: shapes/shapes_rounded_rectangle_drawing shapes/shapes_easings_ball: shapes/shapes_easings_ball.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -shapes/shapes_easings_box_anim: shapes/shapes_easings_box_anim.c +shapes/shapes_easings_box: shapes/shapes_easings_box.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) shapes/shapes_easings_rectangle_array: shapes/shapes_easings_rectangle_array.c diff --git a/examples/README.md b/examples/README.md index badb7f14a..5d4794e95 100644 --- a/examples/README.md +++ b/examples/README.md @@ -77,7 +77,7 @@ Examples using raylib shapes drawing functionality, provided by raylib [shapes]( | [shapes_collision_area](shapes/shapes_collision_area.c) | shapes_collision_area | ⭐⭐☆☆ | 2.5 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shapes_following_eyes](shapes/shapes_following_eyes.c) | shapes_following_eyes | ⭐⭐☆☆ | 2.5 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shapes_easings_ball](shapes/shapes_easings_ball.c) | shapes_easings_ball | ⭐⭐☆☆ | 2.5 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | -| [shapes_easings_box_anim](shapes/shapes_easings_box_anim.c) | shapes_easings_box_anim | ⭐⭐☆☆ | 2.5 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | +| [shapes_easings_box](shapes/shapes_easings_box.c) | shapes_easings_box | ⭐⭐☆☆ | 2.5 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shapes_easings_rectangle_array](shapes/shapes_easings_rectangle_array.c) | shapes_easings_rectangle_array | ⭐⭐⭐☆ | 2.0 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shapes_ring_drawing](shapes/shapes_ring_drawing.c) | shapes_ring_drawing | ⭐⭐⭐☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | | [shapes_circle_sector_drawing](shapes/shapes_circle_sector_drawing.c) | shapes_circle_sector_drawing | ⭐⭐⭐☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index e50d597ca..7545c00b1 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -52,7 +52,7 @@ shapes;shapes_lines_bezier;★☆☆☆;1.7;1.7;2017;2025;"Ramon Santamaria";@ra shapes;shapes_collision_area;★★☆☆;2.5;2.5;2013;2025;"Ramon Santamaria";@raysan5 shapes;shapes_following_eyes;★★☆☆;2.5;2.5;2013;2025;"Ramon Santamaria";@raysan5 shapes;shapes_easings_ball;★★☆☆;2.5;2.5;2014;2025;"Ramon Santamaria";@raysan5 -shapes;shapes_easings_box_anim;★★☆☆;2.5;2.5;2014;2025;"Ramon Santamaria";@raysan5 +shapes;shapes_easings_box;★★☆☆;2.5;2.5;2014;2025;"Ramon Santamaria";@raysan5 shapes;shapes_easings_rectangle_array;★★★☆;2.0;2.5;2014;2025;"Ramon Santamaria";@raysan5 shapes;shapes_ring_drawing;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor shapes;shapes_circle_sector_drawing;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor diff --git a/examples/shapes/shapes_easings_box_anim.c b/examples/shapes/shapes_easings_box.c similarity index 100% rename from examples/shapes/shapes_easings_box_anim.c rename to examples/shapes/shapes_easings_box.c diff --git a/examples/shapes/shapes_easings_box_anim.png b/examples/shapes/shapes_easings_box.png similarity index 100% rename from examples/shapes/shapes_easings_box_anim.png rename to examples/shapes/shapes_easings_box.png diff --git a/projects/VS2022/examples/shapes_easings_box_anim.vcxproj b/projects/VS2022/examples/shapes_easings_box.vcxproj similarity index 97% rename from projects/VS2022/examples/shapes_easings_box_anim.vcxproj rename to projects/VS2022/examples/shapes_easings_box.vcxproj index 27b85b82b..e536eacaa 100644 --- a/projects/VS2022/examples/shapes_easings_box_anim.vcxproj +++ b/projects/VS2022/examples/shapes_easings_box.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {F91142E2-A999-47F0-9E74-38C1E2930EBE} - Win32Proj - shapes_easings_box_anim - 10.0 - shapes_easings_box_anim - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {F91142E2-A999-47F0-9E74-38C1E2930EBE} + Win32Proj + shapes_easings_box + 10.0 + shapes_easings_box + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 79a6e8d60..9aca65c76 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -193,7 +193,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_ring_drawing", "exam EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_easings_ball", "examples\shapes_easings_ball.vcxproj", "{1C49E35A-2838-49D9-9D5F-4B8134960EF6}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_easings_box_anim", "examples\shapes_easings_box_anim.vcxproj", "{F91142E2-A999-47F0-9E74-38C1E2930EBE}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_easings_box", "examples\shapes_easings_box.vcxproj", "{F91142E2-A999-47F0-9E74-38C1E2930EBE}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_easings_rectangle_array", "examples\shapes_easings_rectangle_array.vcxproj", "{1EDD4BCF-345C-4065-8CBD-7285224293C3}" EndProject From adda398e6578612b083552f8cf176d771591784a Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 20:36:48 +0200 Subject: [PATCH 072/125] REXM: RENAME: example: `shapes_easings_rectangle_array` --> `shapes_easings_rectangles` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ...le_array.c => shapes_easings_rectangles.c} | 0 ...rray.png => shapes_easings_rectangles.png} | Bin ...proj => shapes_easings_rectangles.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 574 insertions(+), 574 deletions(-) rename examples/shapes/{shapes_easings_rectangle_array.c => shapes_easings_rectangles.c} (100%) rename examples/shapes/{shapes_easings_rectangle_array.png => shapes_easings_rectangles.png} (100%) rename projects/VS2022/examples/{shapes_easings_rectangle_array.vcxproj => shapes_easings_rectangles.vcxproj} (97%) diff --git a/examples/Makefile b/examples/Makefile index 6f49b148f..93e08995c 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -546,7 +546,7 @@ SHAPES = \ shapes/shapes_rounded_rectangle_drawing \ shapes/shapes_easings_ball \ shapes/shapes_easings_box \ - shapes/shapes_easings_rectangle_array \ + shapes/shapes_easings_rectangles \ shapes/shapes_following_eyes \ shapes/shapes_lines_bezier \ shapes/shapes_logo_raylib \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 15c8fd341..d2eb6633e 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -546,7 +546,7 @@ SHAPES = \ shapes/shapes_rounded_rectangle_drawing \ shapes/shapes_easings_ball \ shapes/shapes_easings_box \ - shapes/shapes_easings_rectangle_array \ + shapes/shapes_easings_rectangles \ shapes/shapes_following_eyes \ shapes/shapes_lines_bezier \ shapes/shapes_logo_raylib \ @@ -817,7 +817,7 @@ shapes/shapes_easings_ball: shapes/shapes_easings_ball.c shapes/shapes_easings_box: shapes/shapes_easings_box.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -shapes/shapes_easings_rectangle_array: shapes/shapes_easings_rectangle_array.c +shapes/shapes_easings_rectangles: shapes/shapes_easings_rectangles.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) shapes/shapes_following_eyes: shapes/shapes_following_eyes.c diff --git a/examples/README.md b/examples/README.md index 5d4794e95..89953c494 100644 --- a/examples/README.md +++ b/examples/README.md @@ -78,7 +78,7 @@ Examples using raylib shapes drawing functionality, provided by raylib [shapes]( | [shapes_following_eyes](shapes/shapes_following_eyes.c) | shapes_following_eyes | ⭐⭐☆☆ | 2.5 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shapes_easings_ball](shapes/shapes_easings_ball.c) | shapes_easings_ball | ⭐⭐☆☆ | 2.5 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shapes_easings_box](shapes/shapes_easings_box.c) | shapes_easings_box | ⭐⭐☆☆ | 2.5 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | -| [shapes_easings_rectangle_array](shapes/shapes_easings_rectangle_array.c) | shapes_easings_rectangle_array | ⭐⭐⭐☆ | 2.0 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | +| [shapes_easings_rectangles](shapes/shapes_easings_rectangles.c) | shapes_easings_rectangles | ⭐⭐⭐☆ | 2.0 | 2.5 | [Ramon Santamaria](https://github.com/raysan5) | | [shapes_ring_drawing](shapes/shapes_ring_drawing.c) | shapes_ring_drawing | ⭐⭐⭐☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | | [shapes_circle_sector_drawing](shapes/shapes_circle_sector_drawing.c) | shapes_circle_sector_drawing | ⭐⭐⭐☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | | [shapes_rounded_rectangle_drawing](shapes/shapes_rounded_rectangle_drawing.c) | shapes_rounded_rectangle_drawing | ⭐⭐⭐☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 7545c00b1..aa3c9e368 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -53,7 +53,7 @@ shapes;shapes_collision_area;★★☆☆;2.5;2.5;2013;2025;"Ramon Santamaria";@ shapes;shapes_following_eyes;★★☆☆;2.5;2.5;2013;2025;"Ramon Santamaria";@raysan5 shapes;shapes_easings_ball;★★☆☆;2.5;2.5;2014;2025;"Ramon Santamaria";@raysan5 shapes;shapes_easings_box;★★☆☆;2.5;2.5;2014;2025;"Ramon Santamaria";@raysan5 -shapes;shapes_easings_rectangle_array;★★★☆;2.0;2.5;2014;2025;"Ramon Santamaria";@raysan5 +shapes;shapes_easings_rectangles;★★★☆;2.0;2.5;2014;2025;"Ramon Santamaria";@raysan5 shapes;shapes_ring_drawing;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor shapes;shapes_circle_sector_drawing;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor shapes;shapes_rounded_rectangle_drawing;★★★☆;2.5;2.5;2018;2025;"Vlad Adrian";@demizdor diff --git a/examples/shapes/shapes_easings_rectangle_array.c b/examples/shapes/shapes_easings_rectangles.c similarity index 100% rename from examples/shapes/shapes_easings_rectangle_array.c rename to examples/shapes/shapes_easings_rectangles.c diff --git a/examples/shapes/shapes_easings_rectangle_array.png b/examples/shapes/shapes_easings_rectangles.png similarity index 100% rename from examples/shapes/shapes_easings_rectangle_array.png rename to examples/shapes/shapes_easings_rectangles.png diff --git a/projects/VS2022/examples/shapes_easings_rectangle_array.vcxproj b/projects/VS2022/examples/shapes_easings_rectangles.vcxproj similarity index 97% rename from projects/VS2022/examples/shapes_easings_rectangle_array.vcxproj rename to projects/VS2022/examples/shapes_easings_rectangles.vcxproj index cf14665b8..ef7c7a8f9 100644 --- a/projects/VS2022/examples/shapes_easings_rectangle_array.vcxproj +++ b/projects/VS2022/examples/shapes_easings_rectangles.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {1EDD4BCF-345C-4065-8CBD-7285224293C3} - Win32Proj - shapes_easings_rectangle_array - 10.0 - shapes_easings_rectangle_array - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shapes - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {1EDD4BCF-345C-4065-8CBD-7285224293C3} + Win32Proj + shapes_easings_rectangles + 10.0 + shapes_easings_rectangles + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 9aca65c76..dab68398f 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -195,7 +195,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_easings_ball", "exam EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_easings_box", "examples\shapes_easings_box.vcxproj", "{F91142E2-A999-47F0-9E74-38C1E2930EBE}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_easings_rectangle_array", "examples\shapes_easings_rectangle_array.vcxproj", "{1EDD4BCF-345C-4065-8CBD-7285224293C3}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_easings_rectangles", "examples\shapes_easings_rectangles.vcxproj", "{1EDD4BCF-345C-4065-8CBD-7285224293C3}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_basic_lighting", "examples\shaders_basic_lighting.vcxproj", "{A6B2A11B-0669-4AF5-A025-8DD02DBBE5EA}" EndProject From 851bb3120d48fd0c0241269cc1883f7bd5cdad64 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 20:37:11 +0200 Subject: [PATCH 073/125] REXM: RENAME: example: `shaders_view_depth` --> `shaders_depth_rendering` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ...view_depth.c => shaders_depth_rendering.c} | 0 ..._depth.png => shaders_depth_rendering.png} | Bin ...cxproj => shaders_depth_rendering.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 574 insertions(+), 574 deletions(-) rename examples/shaders/{shaders_view_depth.c => shaders_depth_rendering.c} (100%) rename examples/shaders/{shaders_view_depth.png => shaders_depth_rendering.png} (100%) rename projects/VS2022/examples/{shaders_view_depth.vcxproj => shaders_depth_rendering.vcxproj} (97%) diff --git a/examples/Makefile b/examples/Makefile index 93e08995c..275d96e6e 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -653,7 +653,7 @@ SHADERS = \ shaders/shaders_texture_tiling \ shaders/shaders_texture_waves \ shaders/shaders_vertex_displacement \ - shaders/shaders_view_depth \ + shaders/shaders_depth_rendering \ shaders/shaders_write_depth AUDIO = \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index d2eb6633e..9a8a6a4aa 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -653,7 +653,7 @@ SHADERS = \ shaders/shaders_texture_tiling \ shaders/shaders_texture_waves \ shaders/shaders_vertex_displacement \ - shaders/shaders_view_depth \ + shaders/shaders_depth_rendering \ shaders/shaders_write_depth AUDIO = \ @@ -1287,7 +1287,7 @@ shaders/shaders_vertex_displacement: shaders/shaders_vertex_displacement.c --preload-file shaders/resources/shaders/glsl100/vertex_displacement.vs@resources/shaders/glsl100/vertex_displacement.vs \ --preload-file shaders/resources/shaders/glsl100/vertex_displacement.fs@resources/shaders/glsl100/vertex_displacement.fs -shaders/shaders_view_depth: shaders/shaders_view_depth.c +shaders/shaders_depth_rendering: shaders/shaders_depth_rendering.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/shaders/glsl100/depth.fs@resources/shaders/glsl100/depth.fs diff --git a/examples/README.md b/examples/README.md index 89953c494..9e0b1e462 100644 --- a/examples/README.md +++ b/examples/README.md @@ -205,7 +205,7 @@ Examples using raylib shaders functionality, including shaders loading, paramete | [shaders_basic_pbr](shaders/shaders_basic_pbr.c) | shaders_basic_pbr | ⭐⭐⭐⭐️ | 5.0 | 5.5 | [Afan OLOVCIC](https://github.com/_DevDad) | | [shaders_lightmap_rendering](shaders/shaders_lightmap_rendering.c) | shaders_lightmap_rendering | ⭐⭐⭐☆ | 4.5 | 4.5 | [Jussi Viitala](https://github.com/nullstare) | | [shaders_rounded_rectangle](shaders/shaders_rounded_rectangle.c) | shaders_rounded_rectangle | ⭐⭐⭐☆ | 5.5 | 5.5 | [Anstro Pleuton](https://github.com/anstropleuton) | -| [shaders_view_depth](shaders/shaders_view_depth.c) | shaders_view_depth | ⭐⭐⭐☆ | 5.6-dev | 5.6-dev | [Luís Almeida](https://github.com/luis605) | +| [shaders_depth_rendering](shaders/shaders_depth_rendering.c) | shaders_depth_rendering | ⭐⭐⭐☆ | 5.6-dev | 5.6-dev | [Luís Almeida](https://github.com/luis605) | ### category: audio [8] diff --git a/examples/examples_list.txt b/examples/examples_list.txt index aa3c9e368..25786ff22 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -152,7 +152,7 @@ shaders;shaders_write_depth;★★☆☆;4.2;4.2;2022;2025;"Buğra Alptekin Sar shaders;shaders_basic_pbr;★★★★;5.0;5.5;2023;2025;"Afan OLOVCIC";@_DevDad shaders;shaders_lightmap_rendering;★★★☆;4.5;4.5;2019;2025;"Jussi Viitala";@nullstare shaders;shaders_rounded_rectangle;★★★☆;5.5;5.5;2025;2025;"Anstro Pleuton";@anstropleuton -shaders;shaders_view_depth;★★★☆;5.6-dev;5.6-dev;2025;2025;"Luís Almeida";@luis605 +shaders;shaders_depth_rendering;★★★☆;5.6-dev;5.6-dev;2025;2025;"Luís Almeida";@luis605 audio;audio_module_playing;★☆☆☆;1.5;3.5;2016;2025;"Ramon Santamaria";@raysan5 audio;audio_music_stream;★☆☆☆;1.3;4.2;2015;2025;"Ramon Santamaria";@raysan5 audio;audio_raw_stream;★★★☆;1.6;4.2;2015;2025;"Ramon Santamaria";@raysan5 diff --git a/examples/shaders/shaders_view_depth.c b/examples/shaders/shaders_depth_rendering.c similarity index 100% rename from examples/shaders/shaders_view_depth.c rename to examples/shaders/shaders_depth_rendering.c diff --git a/examples/shaders/shaders_view_depth.png b/examples/shaders/shaders_depth_rendering.png similarity index 100% rename from examples/shaders/shaders_view_depth.png rename to examples/shaders/shaders_depth_rendering.png diff --git a/projects/VS2022/examples/shaders_view_depth.vcxproj b/projects/VS2022/examples/shaders_depth_rendering.vcxproj similarity index 97% rename from projects/VS2022/examples/shaders_view_depth.vcxproj rename to projects/VS2022/examples/shaders_depth_rendering.vcxproj index 859628de8..21e73f1ee 100644 --- a/projects/VS2022/examples/shaders_view_depth.vcxproj +++ b/projects/VS2022/examples/shaders_depth_rendering.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7} - Win32Proj - shaders_view_depth - 10.0 - shaders_view_depth - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7} + Win32Proj + shaders_depth_rendering + 10.0 + shaders_depth_rendering + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index dab68398f..067a7c3e1 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -269,7 +269,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_loading_m3d", "examp EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_write_depth", "examples\shaders_write_depth.vcxproj", "{70B35F59-AFC2-4D8F-8833-5314D2047A81}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_view_depth", "examples\shaders_view_depth.vcxproj", "{DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_depth_rendering", "examples\shaders_depth_rendering.vcxproj", "{DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_hybrid_rendering", "examples\shaders_hybrid_rendering.vcxproj", "{3755E9F4-CB48-4EC3-B561-3B85964EBDEF}" EndProject From c7f8843200f7acd02dc30e6d243cd2840a9c21c6 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 20:37:27 +0200 Subject: [PATCH 074/125] REXM: RENAME: example: `shaders_eratosthenes` --> `shaders_eratosthenes_sieve` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- ...sthenes.c => shaders_eratosthenes_sieve.c} | 0 ...nes.png => shaders_eratosthenes_sieve.png} | Bin ...roj => shaders_eratosthenes_sieve.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 8 files changed, 574 insertions(+), 574 deletions(-) rename examples/shaders/{shaders_eratosthenes.c => shaders_eratosthenes_sieve.c} (100%) rename examples/shaders/{shaders_eratosthenes.png => shaders_eratosthenes_sieve.png} (100%) rename projects/VS2022/examples/{shaders_eratosthenes.vcxproj => shaders_eratosthenes_sieve.vcxproj} (98%) diff --git a/examples/Makefile b/examples/Makefile index 275d96e6e..8c2b1305a 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -630,7 +630,7 @@ SHADERS = \ shaders/shaders_basic_pbr \ shaders/shaders_custom_uniform \ shaders/shaders_deferred_rendering \ - shaders/shaders_eratosthenes \ + shaders/shaders_eratosthenes_sieve \ shaders/shaders_fog_rendering \ shaders/shaders_hot_reloading \ shaders/shaders_hybrid_rendering \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 9a8a6a4aa..ca3ddabb8 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -630,7 +630,7 @@ SHADERS = \ shaders/shaders_basic_pbr \ shaders/shaders_custom_uniform \ shaders/shaders_deferred_rendering \ - shaders/shaders_eratosthenes \ + shaders/shaders_eratosthenes_sieve \ shaders/shaders_fog_rendering \ shaders/shaders_hot_reloading \ shaders/shaders_hybrid_rendering \ @@ -1157,7 +1157,7 @@ shaders/shaders_deferred_rendering: shaders/shaders_deferred_rendering.c --preload-file shaders/resources/shaders/glsl100/deferred_shading.vs@resources/shaders/glsl100/deferred_shading.vs \ --preload-file shaders/resources/shaders/glsl100/deferred_shading.fs@resources/shaders/glsl100/deferred_shading.fs -shaders/shaders_eratosthenes: shaders/shaders_eratosthenes.c +shaders/shaders_eratosthenes_sieve: shaders/shaders_eratosthenes_sieve.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/shaders/glsl100/eratosthenes.fs@resources/shaders/glsl100/eratosthenes.fs diff --git a/examples/README.md b/examples/README.md index 9e0b1e462..608d9d3d7 100644 --- a/examples/README.md +++ b/examples/README.md @@ -188,7 +188,7 @@ Examples using raylib shaders functionality, including shaders loading, paramete | [shaders_texture_outline](shaders/shaders_texture_outline.c) | shaders_texture_outline | ⭐⭐⭐☆ | 4.0 | 4.0 | [Serenity Skiff](https://github.com/GoldenThumbs) | | [shaders_texture_waves](shaders/shaders_texture_waves.c) | shaders_texture_waves | ⭐⭐☆☆ | 2.5 | 3.7 | [Anata](https://github.com/anatagawa) | | [shaders_julia_set](shaders/shaders_julia_set.c) | shaders_julia_set | ⭐⭐⭐☆ | 2.5 | 4.0 | [Josh Colclough](https://github.com/joshcol9232) | -| [shaders_eratosthenes](shaders/shaders_eratosthenes.c) | shaders_eratosthenes | ⭐⭐⭐☆ | 2.5 | 4.0 | [ProfJski](https://github.com/ProfJski) | +| [shaders_eratosthenes_sieve](shaders/shaders_eratosthenes_sieve.c) | shaders_eratosthenes_sieve | ⭐⭐⭐☆ | 2.5 | 4.0 | [ProfJski](https://github.com/ProfJski) | | [shaders_fog_rendering](shaders/shaders_fog_rendering.c) | shaders_fog_rendering | ⭐⭐⭐☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/chriscamacho) | | [shaders_simple_mask](shaders/shaders_simple_mask.c) | shaders_simple_mask | ⭐⭐☆☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/chriscamacho) | | [shaders_hot_reloading](shaders/shaders_hot_reloading.c) | shaders_hot_reloading | ⭐⭐⭐☆ | 3.0 | 3.5 | [Ramon Santamaria](https://github.com/raysan5) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 25786ff22..ed8cc3ff6 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -135,7 +135,7 @@ shaders;shaders_texture_rendering;★★☆☆;2.0;3.7;2019;2025;"Michał Ciesie shaders;shaders_texture_outline;★★★☆;4.0;4.0;2021;2025;"Serenity Skiff";@GoldenThumbs shaders;shaders_texture_waves;★★☆☆;2.5;3.7;2019;2025;"Anata";@anatagawa shaders;shaders_julia_set;★★★☆;2.5;4.0;2019;2025;"Josh Colclough";@joshcol9232 -shaders;shaders_eratosthenes;★★★☆;2.5;4.0;2019;2025;"ProfJski";@ProfJski +shaders;shaders_eratosthenes_sieve;★★★☆;2.5;4.0;2019;2025;"ProfJski";@ProfJski shaders;shaders_fog_rendering;★★★☆;2.5;3.7;2019;2025;"Chris Camacho";@chriscamacho shaders;shaders_simple_mask;★★☆☆;2.5;3.7;2019;2025;"Chris Camacho";@chriscamacho shaders;shaders_hot_reloading;★★★☆;3.0;3.5;2020;2025;"Ramon Santamaria";@raysan5 diff --git a/examples/shaders/shaders_eratosthenes.c b/examples/shaders/shaders_eratosthenes_sieve.c similarity index 100% rename from examples/shaders/shaders_eratosthenes.c rename to examples/shaders/shaders_eratosthenes_sieve.c diff --git a/examples/shaders/shaders_eratosthenes.png b/examples/shaders/shaders_eratosthenes_sieve.png similarity index 100% rename from examples/shaders/shaders_eratosthenes.png rename to examples/shaders/shaders_eratosthenes_sieve.png diff --git a/projects/VS2022/examples/shaders_eratosthenes.vcxproj b/projects/VS2022/examples/shaders_eratosthenes_sieve.vcxproj similarity index 98% rename from projects/VS2022/examples/shaders_eratosthenes.vcxproj rename to projects/VS2022/examples/shaders_eratosthenes_sieve.vcxproj index a8050804c..507db0d88 100644 --- a/projects/VS2022/examples/shaders_eratosthenes.vcxproj +++ b/projects/VS2022/examples/shaders_eratosthenes_sieve.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {D08AA2A0-2F94-4BF5-B42D-E92450F03FD1} - Win32Proj - shaders_eratosthenes - 10.0 - shaders_eratosthenes - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {D08AA2A0-2F94-4BF5-B42D-E92450F03FD1} + Win32Proj + shaders_eratosthenes_sieve + 10.0 + shaders_eratosthenes_sieve + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 067a7c3e1..24f02766f 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -201,7 +201,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_basic_lighting", "e EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_custom_uniform", "examples\shaders_custom_uniform.vcxproj", "{B176BB4A-CA31-4E2A-B790-3EA0ED2EE870}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_eratosthenes", "examples\shaders_eratosthenes.vcxproj", "{D08AA2A0-2F94-4BF5-B42D-E92450F03FD1}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_eratosthenes_sieve", "examples\shaders_eratosthenes_sieve.vcxproj", "{D08AA2A0-2F94-4BF5-B42D-E92450F03FD1}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_fog_rendering", "examples\shaders_fog_rendering.vcxproj", "{4A7D0ECA-D7CC-4E66-B741-C92E9C1B42FF}" EndProject From ef0dd5f774499ab2296cbbe0eec218d50c0dcdfc Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 21:01:59 +0200 Subject: [PATCH 075/125] REXM: Updated examples after some renames --- examples/Makefile | 8 ++-- examples/Makefile.Web | 38 +++++++++---------- examples/models/models_animation_playing.c | 4 +- examples/models/models_cubicmap_rendering.c | 4 +- examples/models/models_heightmap_rendering.c | 4 +- examples/models/models_textured_cube.c | 4 +- examples/shaders/shaders_deferred_rendering.c | 4 +- examples/shaders/shaders_depth_rendering.c | 4 +- examples/shaders/shaders_eratosthenes_sieve.c | 4 +- examples/shaders/shaders_hybrid_rendering.c | 4 +- examples/shaders/shaders_lightmap_rendering.c | 4 +- .../shaders/shaders_normalmap_rendering.c | 4 +- .../shaders/shaders_raymarching_rendering.c | 4 +- .../shaders/shaders_spotlight_rendering.c | 4 +- .../shapes/shapes_circle_sector_drawing.c | 4 +- examples/shapes/shapes_easings_ball.c | 4 +- examples/shapes/shapes_easings_box.c | 4 +- examples/shapes/shapes_easings_rectangles.c | 4 +- .../shapes/shapes_rounded_rectangle_drawing.c | 4 +- tools/rexm/examples_report.md | 36 +++++++++--------- tools/rexm/examples_report_issues.md | 1 + 21 files changed, 76 insertions(+), 75 deletions(-) diff --git a/examples/Makefile b/examples/Makefile index 8c2b1305a..4c0320e2e 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -538,12 +538,11 @@ CORE = \ SHAPES = \ shapes/shapes_basic_shapes \ shapes/shapes_bouncing_ball \ + shapes/shapes_circle_sector_drawing \ shapes/shapes_collision_area \ shapes/shapes_colors_palette \ shapes/shapes_digital_clock \ shapes/shapes_double_pendulum \ - shapes/shapes_circle_sector_drawing \ - shapes/shapes_rounded_rectangle_drawing \ shapes/shapes_easings_ball \ shapes/shapes_easings_box \ shapes/shapes_easings_rectangles \ @@ -554,6 +553,7 @@ SHAPES = \ shapes/shapes_rectangle_advanced \ shapes/shapes_rectangle_scaling \ shapes/shapes_ring_drawing \ + shapes/shapes_rounded_rectangle_drawing \ shapes/shapes_splines_drawing \ shapes/shapes_top_down_lights @@ -606,7 +606,6 @@ MODELS = \ models/models_bone_socket \ models/models_box_collisions \ models/models_cubicmap_rendering \ - models/models_textured_cube \ models/models_first_person_maze \ models/models_geometric_shapes \ models/models_gpu_skinning \ @@ -622,6 +621,7 @@ MODELS = \ models/models_rlgl_solar_system \ models/models_skybox_rendering \ models/models_tesseract_view \ + models/models_textured_cube \ models/models_waving_cubes \ models/models_yaw_pitch_roll @@ -630,6 +630,7 @@ SHADERS = \ shaders/shaders_basic_pbr \ shaders/shaders_custom_uniform \ shaders/shaders_deferred_rendering \ + shaders/shaders_depth_rendering \ shaders/shaders_eratosthenes_sieve \ shaders/shaders_fog_rendering \ shaders/shaders_hot_reloading \ @@ -653,7 +654,6 @@ SHADERS = \ shaders/shaders_texture_tiling \ shaders/shaders_texture_waves \ shaders/shaders_vertex_displacement \ - shaders/shaders_depth_rendering \ shaders/shaders_write_depth AUDIO = \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index ca3ddabb8..744645e81 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -538,12 +538,11 @@ CORE = \ SHAPES = \ shapes/shapes_basic_shapes \ shapes/shapes_bouncing_ball \ + shapes/shapes_circle_sector_drawing \ shapes/shapes_collision_area \ shapes/shapes_colors_palette \ shapes/shapes_digital_clock \ shapes/shapes_double_pendulum \ - shapes/shapes_circle_sector_drawing \ - shapes/shapes_rounded_rectangle_drawing \ shapes/shapes_easings_ball \ shapes/shapes_easings_box \ shapes/shapes_easings_rectangles \ @@ -554,6 +553,7 @@ SHAPES = \ shapes/shapes_rectangle_advanced \ shapes/shapes_rectangle_scaling \ shapes/shapes_ring_drawing \ + shapes/shapes_rounded_rectangle_drawing \ shapes/shapes_splines_drawing \ shapes/shapes_top_down_lights @@ -606,7 +606,6 @@ MODELS = \ models/models_bone_socket \ models/models_box_collisions \ models/models_cubicmap_rendering \ - models/models_textured_cube \ models/models_first_person_maze \ models/models_geometric_shapes \ models/models_gpu_skinning \ @@ -622,6 +621,7 @@ MODELS = \ models/models_rlgl_solar_system \ models/models_skybox_rendering \ models/models_tesseract_view \ + models/models_textured_cube \ models/models_waving_cubes \ models/models_yaw_pitch_roll @@ -630,6 +630,7 @@ SHADERS = \ shaders/shaders_basic_pbr \ shaders/shaders_custom_uniform \ shaders/shaders_deferred_rendering \ + shaders/shaders_depth_rendering \ shaders/shaders_eratosthenes_sieve \ shaders/shaders_fog_rendering \ shaders/shaders_hot_reloading \ @@ -653,7 +654,6 @@ SHADERS = \ shaders/shaders_texture_tiling \ shaders/shaders_texture_waves \ shaders/shaders_vertex_displacement \ - shaders/shaders_depth_rendering \ shaders/shaders_write_depth AUDIO = \ @@ -793,6 +793,9 @@ shapes/shapes_basic_shapes: shapes/shapes_basic_shapes.c shapes/shapes_bouncing_ball: shapes/shapes_bouncing_ball.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) +shapes/shapes_circle_sector_drawing: shapes/shapes_circle_sector_drawing.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) + shapes/shapes_collision_area: shapes/shapes_collision_area.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) @@ -805,12 +808,6 @@ shapes/shapes_digital_clock: shapes/shapes_digital_clock.c shapes/shapes_double_pendulum: shapes/shapes_double_pendulum.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -shapes/shapes_circle_sector_drawing: shapes/shapes_circle_sector_drawing.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) - -shapes/shapes_rounded_rectangle_drawing: shapes/shapes_rounded_rectangle_drawing.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) - shapes/shapes_easings_ball: shapes/shapes_easings_ball.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) @@ -841,6 +838,9 @@ shapes/shapes_rectangle_scaling: shapes/shapes_rectangle_scaling.c shapes/shapes_ring_drawing: shapes/shapes_ring_drawing.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) +shapes/shapes_rounded_rectangle_drawing: shapes/shapes_rounded_rectangle_drawing.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) + shapes/shapes_splines_drawing: shapes/shapes_splines_drawing.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) @@ -1043,10 +1043,6 @@ models/models_cubicmap_rendering: models/models_cubicmap_rendering.c --preload-file models/resources/cubicmap.png@resources/cubicmap.png \ --preload-file models/resources/cubicmap_atlas.png@resources/cubicmap_atlas.png -models/models_textured_cube: models/models_textured_cube.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ - --preload-file models/resources/cubicmap_atlas.png@resources/cubicmap_atlas.png - models/models_first_person_maze: models/models_first_person_maze.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file models/resources/cubicmap.png@resources/cubicmap.png \ @@ -1116,6 +1112,10 @@ models/models_skybox_rendering: models/models_skybox_rendering.c models/models_tesseract_view: models/models_tesseract_view.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) +models/models_textured_cube: models/models_textured_cube.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ + --preload-file models/resources/cubicmap_atlas.png@resources/cubicmap_atlas.png + models/models_waving_cubes: models/models_waving_cubes.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) @@ -1157,6 +1157,10 @@ shaders/shaders_deferred_rendering: shaders/shaders_deferred_rendering.c --preload-file shaders/resources/shaders/glsl100/deferred_shading.vs@resources/shaders/glsl100/deferred_shading.vs \ --preload-file shaders/resources/shaders/glsl100/deferred_shading.fs@resources/shaders/glsl100/deferred_shading.fs +shaders/shaders_depth_rendering: shaders/shaders_depth_rendering.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ + --preload-file shaders/resources/shaders/glsl100/depth.fs@resources/shaders/glsl100/depth.fs + shaders/shaders_eratosthenes_sieve: shaders/shaders_eratosthenes_sieve.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/shaders/glsl100/eratosthenes.fs@resources/shaders/glsl100/eratosthenes.fs @@ -1245,7 +1249,7 @@ shaders/shaders_shadowmap_rendering: shaders/shaders_shadowmap_rendering.c --preload-file shaders/resources/shaders/glsl100/shadowmap.vs@resources/shaders/glsl100/shadowmap.vs \ --preload-file shaders/resources/shaders/glsl100/shadowmap.fs@resources/shaders/glsl100/shadowmap.fs \ --preload-file shaders/resources/models/robot.glb@resources/models/robot.glb \ - --preload-file shaders/shaders_shadowmap_rendering.png@shaders_shadowmap_rendering.png + --preload-file shaders/shaders_shadowmap.png@shaders_shadowmap.png shaders/shaders_shapes_textures: shaders/shaders_shapes_textures.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ @@ -1287,10 +1291,6 @@ shaders/shaders_vertex_displacement: shaders/shaders_vertex_displacement.c --preload-file shaders/resources/shaders/glsl100/vertex_displacement.vs@resources/shaders/glsl100/vertex_displacement.vs \ --preload-file shaders/resources/shaders/glsl100/vertex_displacement.fs@resources/shaders/glsl100/vertex_displacement.fs -shaders/shaders_depth_rendering: shaders/shaders_depth_rendering.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ - --preload-file shaders/resources/shaders/glsl100/depth.fs@resources/shaders/glsl100/depth.fs - shaders/shaders_write_depth: shaders/shaders_write_depth.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/shaders/glsl100/write_depth.fs@resources/shaders/glsl100/write_depth.fs diff --git a/examples/models/models_animation_playing.c b/examples/models/models_animation_playing.c index accb9c8ff..fd708b7dd 100644 --- a/examples/models/models_animation_playing.c +++ b/examples/models/models_animation_playing.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [models] example - animation +* raylib [models] example - animation playing * * Example complexity rating: [★★☆☆] 2/4 * @@ -33,7 +33,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [models] example - animation"); + InitWindow(screenWidth, screenHeight, "raylib [models] example - animation playing"); // Define the camera to look into our 3d world Camera camera = { 0 }; diff --git a/examples/models/models_cubicmap_rendering.c b/examples/models/models_cubicmap_rendering.c index d6e1e04eb..55a8e2a47 100644 --- a/examples/models/models_cubicmap_rendering.c +++ b/examples/models/models_cubicmap_rendering.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [models] example - cubicmap +* raylib [models] example - cubicmap rendering * * Example complexity rating: [★★☆☆] 2/4 * @@ -25,7 +25,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [models] example - cubicmap"); + InitWindow(screenWidth, screenHeight, "raylib [models] example - cubicmap rendering"); // Define the camera to look into our 3d world Camera camera = { 0 }; diff --git a/examples/models/models_heightmap_rendering.c b/examples/models/models_heightmap_rendering.c index 89583fca0..f2b1d702a 100644 --- a/examples/models/models_heightmap_rendering.c +++ b/examples/models/models_heightmap_rendering.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [models] example - heightmap +* raylib [models] example - heightmap rendering * * Example complexity rating: [★☆☆☆] 1/4 * @@ -25,7 +25,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [models] example - heightmap"); + InitWindow(screenWidth, screenHeight, "raylib [models] example - heightmap rendering"); // Define our custom camera to look into our 3d world Camera camera = { 0 }; diff --git a/examples/models/models_textured_cube.c b/examples/models/models_textured_cube.c index bc55b4c15..c9f66bcaf 100644 --- a/examples/models/models_textured_cube.c +++ b/examples/models/models_textured_cube.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [models] example - draw cube texture +* raylib [models] example - textured cube * * Example complexity rating: [★★☆☆] 2/4 * @@ -33,7 +33,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [models] example - draw cube texture"); + InitWindow(screenWidth, screenHeight, "raylib [models] example - textured cube"); // Define the camera to look into our 3d world Camera camera = { 0 }; diff --git a/examples/shaders/shaders_deferred_rendering.c b/examples/shaders/shaders_deferred_rendering.c index c5801bbeb..811566917 100644 --- a/examples/shaders/shaders_deferred_rendering.c +++ b/examples/shaders/shaders_deferred_rendering.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - deferred render +* raylib [shaders] example - deferred rendering * * Example complexity rating: [★★★★] 4/4 * @@ -67,7 +67,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - deferred render"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - deferred rendering"); Camera camera = { 0 }; camera.position = (Vector3){ 5.0f, 4.0f, 5.0f }; // Camera position diff --git a/examples/shaders/shaders_depth_rendering.c b/examples/shaders/shaders_depth_rendering.c index f75edde5b..849aaed8b 100644 --- a/examples/shaders/shaders_depth_rendering.c +++ b/examples/shaders/shaders_depth_rendering.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - view depth +* raylib [shaders] example - depth rendering * * Example complexity rating: [★★★☆] 3/4 * @@ -36,7 +36,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - view depth"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - depth rendering"); // Init camera Camera camera = { 0 }; diff --git a/examples/shaders/shaders_eratosthenes_sieve.c b/examples/shaders/shaders_eratosthenes_sieve.c index 854bb5c66..3ab293e93 100644 --- a/examples/shaders/shaders_eratosthenes_sieve.c +++ b/examples/shaders/shaders_eratosthenes_sieve.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - eratosthenes +* raylib [shaders] example - eratosthenes sieve * * Example complexity rating: [★★★☆] 3/4 * @@ -45,7 +45,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - eratosthenes"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - eratosthenes sieve"); RenderTexture2D target = LoadRenderTexture(screenWidth, screenHeight); diff --git a/examples/shaders/shaders_hybrid_rendering.c b/examples/shaders/shaders_hybrid_rendering.c index 066e6e0b6..ec6b8b0a6 100644 --- a/examples/shaders/shaders_hybrid_rendering.c +++ b/examples/shaders/shaders_hybrid_rendering.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - hybrid render +* raylib [shaders] example - hybrid rendering * * Example complexity rating: [★★★★] 4/4 * @@ -55,7 +55,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - hybrid render"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - hybrid rendering"); // This Shader calculates pixel depth and color using raymarch Shader shdrRaymarch = LoadShader(0, TextFormat("resources/shaders/glsl%i/hybrid_raymarch.fs", GLSL_VERSION)); diff --git a/examples/shaders/shaders_lightmap_rendering.c b/examples/shaders/shaders_lightmap_rendering.c index 3da900921..232e0901b 100644 --- a/examples/shaders/shaders_lightmap_rendering.c +++ b/examples/shaders/shaders_lightmap_rendering.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - lightmap +* raylib [shaders] example - lightmap rendering * * Example complexity rating: [★★★☆] 3/4 * @@ -46,7 +46,7 @@ int main(void) const int screenHeight = 450; SetConfigFlags(FLAG_MSAA_4X_HINT); // Enable Multi Sampling Anti Aliasing 4x (if available) - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - lightmap"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - lightmap rendering"); // Define the camera to look into our 3d world Camera camera = { 0 }; diff --git a/examples/shaders/shaders_normalmap_rendering.c b/examples/shaders/shaders_normalmap_rendering.c index efdd6cb72..e1c57fd0f 100644 --- a/examples/shaders/shaders_normalmap_rendering.c +++ b/examples/shaders/shaders_normalmap_rendering.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - normal map +* raylib [shaders] example - normalmap rendering * * Example complexity rating: [★★★★] 4/4 * @@ -39,7 +39,7 @@ int main(void) const int screenHeight = 450; SetConfigFlags(FLAG_MSAA_4X_HINT); - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - normal map"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - normalmap rendering"); Camera camera = { 0 }; camera.position = (Vector3){ 0.0f, 2.0f, -4.0f }; diff --git a/examples/shaders/shaders_raymarching_rendering.c b/examples/shaders/shaders_raymarching_rendering.c index 77e0442c4..50a776382 100644 --- a/examples/shaders/shaders_raymarching_rendering.c +++ b/examples/shaders/shaders_raymarching_rendering.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - raymarching +* raylib [shaders] example - raymarching rendering * * Example complexity rating: [★★★★] 4/4 * @@ -35,7 +35,7 @@ int main(void) const int screenHeight = 450; SetConfigFlags(FLAG_WINDOW_RESIZABLE); - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - raymarching"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - raymarching rendering"); Camera camera = { 0 }; camera.position = (Vector3){ 2.5f, 2.5f, 3.0f }; // Camera position diff --git a/examples/shaders/shaders_spotlight_rendering.c b/examples/shaders/shaders_spotlight_rendering.c index 4bff79e02..c9ee950c1 100644 --- a/examples/shaders/shaders_spotlight_rendering.c +++ b/examples/shaders/shaders_spotlight_rendering.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - spotlight +* raylib [shaders] example - spotlight rendering * * Example complexity rating: [★★☆☆] 2/4 * @@ -81,7 +81,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - spotlight"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - spotlight rendering"); HideCursor(); Texture texRay = LoadTexture("resources/raysan.png"); diff --git a/examples/shapes/shapes_circle_sector_drawing.c b/examples/shapes/shapes_circle_sector_drawing.c index becd35228..4db470e04 100644 --- a/examples/shapes/shapes_circle_sector_drawing.c +++ b/examples/shapes/shapes_circle_sector_drawing.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shapes] example - draw circle sector +* raylib [shapes] example - circle sector drawing * * Example complexity rating: [★★★☆] 3/4 * @@ -30,7 +30,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shapes] example - draw circle sector"); + InitWindow(screenWidth, screenHeight, "raylib [shapes] example - circle sector drawing"); Vector2 center = {(GetScreenWidth() - 300)/2.0f, GetScreenHeight()/2.0f }; diff --git a/examples/shapes/shapes_easings_ball.c b/examples/shapes/shapes_easings_ball.c index d7f0bb72e..b501a188c 100644 --- a/examples/shapes/shapes_easings_ball.c +++ b/examples/shapes/shapes_easings_ball.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shapes] example - easings ball anim +* raylib [shapes] example - easings ball * * Example complexity rating: [★★☆☆] 2/4 * @@ -27,7 +27,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shapes] example - easings ball anim"); + InitWindow(screenWidth, screenHeight, "raylib [shapes] example - easings ball"); // Ball variable value to be animated with easings int ballPositionX = -100; diff --git a/examples/shapes/shapes_easings_box.c b/examples/shapes/shapes_easings_box.c index 4a76e7ef3..4be03c7f0 100644 --- a/examples/shapes/shapes_easings_box.c +++ b/examples/shapes/shapes_easings_box.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shapes] example - easings box anim +* raylib [shapes] example - easings box * * Example complexity rating: [★★☆☆] 2/4 * @@ -27,7 +27,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shapes] example - easings box anim"); + InitWindow(screenWidth, screenHeight, "raylib [shapes] example - easings box"); // Box variables to be animated with easings Rectangle rec = { GetScreenWidth()/2.0f, -100, 100, 100 }; diff --git a/examples/shapes/shapes_easings_rectangles.c b/examples/shapes/shapes_easings_rectangles.c index c55c07979..7c72a85ae 100644 --- a/examples/shapes/shapes_easings_rectangles.c +++ b/examples/shapes/shapes_easings_rectangles.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shapes] example - easings rectangle array +* raylib [shapes] example - easings rectangles * * Example complexity rating: [★★★☆] 3/4 * @@ -38,7 +38,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shapes] example - easings rectangle array"); + InitWindow(screenWidth, screenHeight, "raylib [shapes] example - easings rectangles"); Rectangle recs[MAX_RECS_X*MAX_RECS_Y] = { 0 }; diff --git a/examples/shapes/shapes_rounded_rectangle_drawing.c b/examples/shapes/shapes_rounded_rectangle_drawing.c index ebefe055f..3cd723391 100644 --- a/examples/shapes/shapes_rounded_rectangle_drawing.c +++ b/examples/shapes/shapes_rounded_rectangle_drawing.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shapes] example - draw rectangle rounded +* raylib [shapes] example - rounded rectangle drawing * * Example complexity rating: [★★★☆] 3/4 * @@ -30,7 +30,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shapes] example - draw rectangle rounded"); + InitWindow(screenWidth, screenHeight, "raylib [shapes] example - rounded rectangle drawing"); float roundness = 0.2f; float width = 200.0f; diff --git a/tools/rexm/examples_report.md b/tools/rexm/examples_report.md index 46e3ca125..87ff57c4d 100644 --- a/tools/rexm/examples_report.md +++ b/tools/rexm/examples_report.md @@ -64,12 +64,12 @@ Example elements validated: | shapes_lines_bezier | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_collision_area | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_following_eyes | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shapes_easings_ball_anim | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shapes_easings_box_anim | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shapes_easings_rectangle_array | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shapes_easings_ball | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shapes_easings_box | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shapes_easings_rectangles | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_ring_drawing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shapes_draw_circle_sector | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shapes_draw_rectangle_rounded | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shapes_circle_sector_drawing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shapes_rounded_rectangle_drawing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_top_down_lights | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_rectangle_advanced | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_splines_drawing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -114,10 +114,10 @@ Example elements validated: | text_unicode_ranges | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_3d_drawing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_codepoints_loading | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| models_animation | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| models_animation_playing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_billboard_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_box_collisions | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| models_cubicmap | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| models_cubicmap_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_first_person_maze | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_geometric_shapes | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_mesh_generation | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -131,9 +131,9 @@ Example elements validated: | models_rlgl_solar_system | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_yaw_pitch_roll | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_waving_cubes | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| models_heightmap | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| models_heightmap_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_skybox_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| models_draw_cube_texture | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| models_textured_cube | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_gpu_skinning | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_bone_socket | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_tesseract_view | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -143,29 +143,29 @@ Example elements validated: | shaders_custom_uniform | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_postprocessing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_palette_switch | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shaders_raymarching | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shaders_raymarching_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_texture_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_texture_outline | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_texture_waves | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_julia_set | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shaders_eratosthenes | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shaders_eratosthenes_sieve | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_fog_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_simple_mask | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_hot_reloading | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_mesh_instancing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_multi_sample2d | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shaders_normal_map | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shaders_spotlight | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shaders_deferred_render | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shaders_hybrid_render | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shaders_normalmap_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shaders_spotlight_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shaders_deferred_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shaders_hybrid_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_texture_tiling | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shaders_shadowmap | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shaders_shadowmap_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_vertex_displacement | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_write_depth | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_basic_pbr | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shaders_lightmap | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shaders_lightmap_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_rounded_rectangle | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shaders_view_depth | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shaders_depth_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | audio_module_playing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | audio_music_stream | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | audio_raw_stream | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | diff --git a/tools/rexm/examples_report_issues.md b/tools/rexm/examples_report_issues.md index 5c4df4202..f1c8a8725 100644 --- a/tools/rexm/examples_report_issues.md +++ b/tools/rexm/examples_report_issues.md @@ -20,6 +20,7 @@ Example elements validated: ``` | **EXAMPLE NAME** | [C] | [CAT]| [INFO]|[PNG]|[WPNG]| [RES]| [MK] |[MKWEB]| [VCX]| [SOL]|[RDME]|[JS] | [WOUT]|[WMETA]| |:---------------------------------|:---:|:----:|:-----:|:---:|:----:|:----:|:----:|:-----:|:----:|:----:|:----:|:---:|:-----:|:-----:| +| shaders_shadowmap_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | rlgl_standalone | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | rlgl_compute_shader | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | easings_testbed | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | From 811ec4fb1e2d5613bbf1122469889510184911ef Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Sep 2025 21:02:58 +0200 Subject: [PATCH 076/125] REVIEWED: `shaders_shadowmap_rendering` example --- .../shaders/shaders_shadowmap_rendering.c | 158 +++++++++--------- 1 file changed, 79 insertions(+), 79 deletions(-) diff --git a/examples/shaders/shaders_shadowmap_rendering.c b/examples/shaders/shaders_shadowmap_rendering.c index 2c6abf66d..493541054 100644 --- a/examples/shaders/shaders_shadowmap_rendering.c +++ b/examples/shaders/shaders_shadowmap_rendering.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - shadowmap +* raylib [shaders] example - shadowmap rendering * * Example complexity rating: [★★★★] 4/4 * @@ -16,20 +16,21 @@ ********************************************************************************************/ #include "raylib.h" + #include "raymath.h" #include "rlgl.h" #if defined(PLATFORM_DESKTOP) -#define GLSL_VERSION 330 + #define GLSL_VERSION 330 #else // PLATFORM_ANDROID, PLATFORM_WEB -#define GLSL_VERSION 120 + #define GLSL_VERSION 100 #endif #define SHADOWMAP_RESOLUTION 1024 -RenderTexture2D LoadShadowmapRenderTexture(int width, int height); -void UnloadShadowmapRenderTexture(RenderTexture2D target); -void DrawScene(Model cube, Model robot); +static RenderTexture2D LoadShadowmapRenderTexture(int width, int height); +static void UnloadShadowmapRenderTexture(RenderTexture2D target); +static void DrawScene(Model cube, Model robot); //------------------------------------------------------------------------------------ // Program main entry point @@ -45,18 +46,19 @@ int main(void) // Shadows are a HUGE topic, and this example shows an extremely simple implementation of the shadowmapping algorithm, // which is the industry standard for shadows. This algorithm can be extended in a ridiculous number of ways to improve // realism and also adapt it for different scenes. This is pretty much the simplest possible implementation - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - shadowmap"); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - shadowmap rendering"); - Camera3D cam = (Camera3D){ 0 }; - cam.position = (Vector3){ 10.0f, 10.0f, 10.0f }; - cam.target = Vector3Zero(); - cam.projection = CAMERA_PERSPECTIVE; - cam.up = (Vector3){ 0.0f, 1.0f, 0.0f }; - cam.fovy = 45.0f; + Camera3D camera = (Camera3D){ 0 }; + camera.position = (Vector3){ 10.0f, 10.0f, 10.0f }; + camera.target = Vector3Zero(); + camera.projection = CAMERA_PERSPECTIVE; + camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; + camera.fovy = 45.0f; Shader shadowShader = LoadShader(TextFormat("resources/shaders/glsl%i/shadowmap.vs", GLSL_VERSION), TextFormat("resources/shaders/glsl%i/shadowmap.fs", GLSL_VERSION)); shadowShader.locs[SHADER_LOC_VECTOR_VIEW] = GetShaderLocation(shadowShader, "viewPos"); + Vector3 lightDir = Vector3Normalize((Vector3){ 0.35f, -1.0f, -0.35f }); Color lightColor = WHITE; Vector4 lightColorNormalized = ColorNormalize(lightColor); @@ -75,122 +77,115 @@ int main(void) Model cube = LoadModelFromMesh(GenMeshCube(1.0f, 1.0f, 1.0f)); cube.materials[0].shader = shadowShader; Model robot = LoadModel("resources/models/robot.glb"); - for (int i = 0; i < robot.materialCount; i++) - { - robot.materials[i].shader = shadowShader; - } + for (int i = 0; i < robot.materialCount; i++) robot.materials[i].shader = shadowShader; int animCount = 0; - ModelAnimation* robotAnimations = LoadModelAnimations("resources/models/robot.glb", &animCount); + ModelAnimation *robotAnimations = LoadModelAnimations("resources/models/robot.glb", &animCount); RenderTexture2D shadowMap = LoadShadowmapRenderTexture(SHADOWMAP_RESOLUTION, SHADOWMAP_RESOLUTION); + // For the shadowmapping algorithm, we will be rendering everything from the light's point of view - Camera3D lightCam = (Camera3D){ 0 }; - lightCam.position = Vector3Scale(lightDir, -15.0f); - lightCam.target = Vector3Zero(); - // Use an orthographic projection for directional lights - lightCam.projection = CAMERA_ORTHOGRAPHIC; - lightCam.up = (Vector3){ 0.0f, 1.0f, 0.0f }; - lightCam.fovy = 20.0f; + Camera3D lightCamera = { 0 }; + lightCamera.position = Vector3Scale(lightDir, -15.0f); + lightCamera.target = Vector3Zero(); + lightCamera.projection = CAMERA_ORTHOGRAPHIC; // Use an orthographic projection for directional lights + lightCamera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; + lightCamera.fovy = 20.0f; + + int frameCounter = 0; + + // Store the light matrices + Matrix lightView = { 0 }; + Matrix lightProj = { 0 }; + Matrix lightViewProj = { 0 }; + int textureActiveSlot = 10; // Can be anything 0 to 15, but 0 will probably be taken up SetTargetFPS(60); //-------------------------------------------------------------------------------------- - int fc = 0; // Main game loop while (!WindowShouldClose()) // Detect window close button or ESC key { // Update //---------------------------------------------------------------------------------- - float dt = GetFrameTime(); + float deltaTime = GetFrameTime(); - Vector3 cameraPos = cam.position; + Vector3 cameraPos = camera.position; SetShaderValue(shadowShader, shadowShader.locs[SHADER_LOC_VECTOR_VIEW], &cameraPos, SHADER_UNIFORM_VEC3); - UpdateCamera(&cam, CAMERA_ORBITAL); + UpdateCamera(&camera, CAMERA_ORBITAL); - fc++; - fc %= (robotAnimations[0].frameCount); - UpdateModelAnimation(robot, robotAnimations[0], fc); + frameCounter++; + frameCounter %= (robotAnimations[0].frameCount); + UpdateModelAnimation(robot, robotAnimations[0], frameCounter); + // Move light with arrow keys const float cameraSpeed = 0.05f; if (IsKeyDown(KEY_LEFT)) { - if (lightDir.x < 0.6f) - lightDir.x += cameraSpeed*60.0f*dt; + if (lightDir.x < 0.6f) lightDir.x += cameraSpeed*60.0f*deltaTime; } if (IsKeyDown(KEY_RIGHT)) { - if (lightDir.x > -0.6f) - lightDir.x -= cameraSpeed*60.0f*dt; + if (lightDir.x > -0.6f) lightDir.x -= cameraSpeed*60.0f*deltaTime; } if (IsKeyDown(KEY_UP)) { - if (lightDir.z < 0.6f) - lightDir.z += cameraSpeed*60.0f*dt; + if (lightDir.z < 0.6f) lightDir.z += cameraSpeed*60.0f*deltaTime; } if (IsKeyDown(KEY_DOWN)) { - if (lightDir.z > -0.6f) - lightDir.z -= cameraSpeed*60.0f*dt; + if (lightDir.z > -0.6f) lightDir.z -= cameraSpeed*60.0f*deltaTime; } + lightDir = Vector3Normalize(lightDir); - lightCam.position = Vector3Scale(lightDir, -15.0f); + lightCamera.position = Vector3Scale(lightDir, -15.0f); SetShaderValue(shadowShader, lightDirLoc, &lightDir, SHADER_UNIFORM_VEC3); + //---------------------------------------------------------------------------------- // Draw //---------------------------------------------------------------------------------- - BeginDrawing(); - // First, render all objects into the shadowmap // The idea is, we record all the objects' depths (as rendered from the light source's point of view) in a buffer // Anything that is "visible" to the light is in light, anything that isn't is in shadow // We can later use the depth buffer when rendering everything from the player's point of view // to determine whether a given point is "visible" to the light - - // Record the light matrices for future use! - Matrix lightView; - Matrix lightProj; BeginTextureMode(shadowMap); - ClearBackground(WHITE); - BeginMode3D(lightCam); - lightView = rlGetMatrixModelview(); - lightProj = rlGetMatrixProjection(); - DrawScene(cube, robot); - EndMode3D(); + ClearBackground(WHITE); + + BeginMode3D(lightCamera); + lightView = rlGetMatrixModelview(); + lightProj = rlGetMatrixProjection(); + DrawScene(cube, robot); + EndMode3D(); + EndTextureMode(); - Matrix lightViewProj = MatrixMultiply(lightView, lightProj); + lightViewProj = MatrixMultiply(lightView, lightProj); - ClearBackground(RAYWHITE); + // Draw the scene using the generated shadowmap + BeginDrawing(); + ClearBackground(RAYWHITE); - SetShaderValueMatrix(shadowShader, lightVPLoc, lightViewProj); + SetShaderValueMatrix(shadowShader, lightVPLoc, lightViewProj); + rlEnableShader(shadowShader.id); + + rlActiveTextureSlot(textureActiveSlot); + rlEnableTexture(shadowMap.depth.id); + rlSetUniform(shadowMapLoc, &textureActiveSlot, SHADER_UNIFORM_INT, 1); - rlEnableShader(shadowShader.id); - int slot = 10; // Can be anything 0 to 15, but 0 will probably be taken up - rlActiveTextureSlot(10); - rlEnableTexture(shadowMap.depth.id); - rlSetUniform(shadowMapLoc, &slot, SHADER_UNIFORM_INT, 1); - - BeginMode3D(cam); - - // Draw the same exact things as we drew in the shadowmap! - DrawScene(cube, robot); - - EndMode3D(); - - DrawText("Shadows in raylib using the shadowmapping algorithm!", screenWidth - 320, screenHeight - 20, 10, GRAY); - DrawText("Use the arrow keys to rotate the light!", 10, 10, 30, RED); + BeginMode3D(camera); + DrawScene(cube, robot); // Draw the same exact things as we drew in the shadowmap! + EndMode3D(); + DrawText("Use the arrow keys to rotate the light!", 10, 10, 30, RED); + DrawText("Shadows in raylib using the shadowmapping algorithm!", screenWidth - 280, screenHeight - 20, 10, GRAY); + EndDrawing(); - if (IsKeyPressed(KEY_F)) - { - TakeScreenshot("shaders_shadowmap.png"); - } + if (IsKeyPressed(KEY_F)) TakeScreenshot("shaders_shadowmap.png"); //---------------------------------------------------------------------------------- } // De-Initialization //-------------------------------------------------------------------------------------- - UnloadShader(shadowShader); UnloadModel(cube); UnloadModel(robot); @@ -203,7 +198,10 @@ int main(void) return 0; } -RenderTexture2D LoadShadowmapRenderTexture(int width, int height) +// Load render texture for shadowmap projection +// NOTE: Load frmaebuffer with only a texture depth attachment, +// no color attachment required for shadowmap +static RenderTexture2D LoadShadowmapRenderTexture(int width, int height) { RenderTexture2D target = { 0 }; @@ -237,7 +235,7 @@ RenderTexture2D LoadShadowmapRenderTexture(int width, int height) } // Unload shadowmap render texture from GPU memory (VRAM) -void UnloadShadowmapRenderTexture(RenderTexture2D target) +static void UnloadShadowmapRenderTexture(RenderTexture2D target) { if (target.id > 0) { @@ -247,7 +245,9 @@ void UnloadShadowmapRenderTexture(RenderTexture2D target) } } -void DrawScene(Model cube, Model robot) +// Draw scene +// NOTE: Required several calls to generate shadowmap +static void DrawScene(Model cube, Model robot) { DrawModelEx(cube, Vector3Zero(), (Vector3) { 0.0f, 1.0f, 0.0f }, 0.0f, (Vector3) { 10.0f, 1.0f, 10.0f }, BLUE); DrawModelEx(cube, (Vector3) { 1.5f, 1.0f, -1.5f }, (Vector3) { 0.0f, 1.0f, 0.0f }, 0.0f, Vector3One(), WHITE); From 28c5d160004a7b71167060536db142c40538ef10 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 9 Sep 2025 00:15:26 +0200 Subject: [PATCH 077/125] Update shaders_shadowmap_rendering.c --- .../shaders/shaders_shadowmap_rendering.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/examples/shaders/shaders_shadowmap_rendering.c b/examples/shaders/shaders_shadowmap_rendering.c index 493541054..7b75b80e0 100644 --- a/examples/shaders/shaders_shadowmap_rendering.c +++ b/examples/shaders/shaders_shadowmap_rendering.c @@ -42,10 +42,11 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - SetConfigFlags(FLAG_MSAA_4X_HINT); // Shadows are a HUGE topic, and this example shows an extremely simple implementation of the shadowmapping algorithm, // which is the industry standard for shadows. This algorithm can be extended in a ridiculous number of ways to improve // realism and also adapt it for different scenes. This is pretty much the simplest possible implementation + + SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "raylib [shaders] example - shadowmap rendering"); Camera3D camera = (Camera3D){ 0 }; @@ -143,8 +144,8 @@ int main(void) // Draw //---------------------------------------------------------------------------------- - // First, render all objects into the shadowmap - // The idea is, we record all the objects' depths (as rendered from the light source's point of view) in a buffer + // PASS 01: Render all objects into the shadowmap render texture + // We record all the objects' depths (as rendered from the light source's point of view) in a buffer // Anything that is "visible" to the light is in light, anything that isn't is in shadow // We can later use the depth buffer when rendering everything from the player's point of view // to determine whether a given point is "visible" to the light @@ -160,7 +161,7 @@ int main(void) EndTextureMode(); lightViewProj = MatrixMultiply(lightView, lightProj); - // Draw the scene using the generated shadowmap + // PASS 02: Draw the scene into main framebuffer, using the generated shadowmap BeginDrawing(); ClearBackground(RAYWHITE); @@ -199,7 +200,7 @@ int main(void) } // Load render texture for shadowmap projection -// NOTE: Load frmaebuffer with only a texture depth attachment, +// NOTE: Load framebuffer with only a texture depth attachment, // no color attachment required for shadowmap static RenderTexture2D LoadShadowmapRenderTexture(int width, int height) { @@ -214,11 +215,11 @@ static RenderTexture2D LoadShadowmapRenderTexture(int width, int height) rlEnableFramebuffer(target.id); // Create depth texture - // We don't need a color texture for the shadowmap + // NOTE: No need a color texture attachment for the shadowmap target.depth.id = rlLoadTextureDepth(width, height, false); target.depth.width = width; target.depth.height = height; - target.depth.format = 19; //DEPTH_COMPONENT_24BIT? + target.depth.format = 19; // DEPTH_COMPONENT_24BIT? target.depth.mipmaps = 1; // Attach depth texture to FBO @@ -245,8 +246,8 @@ static void UnloadShadowmapRenderTexture(RenderTexture2D target) } } -// Draw scene -// NOTE: Required several calls to generate shadowmap +// Draw full scene projecting shadows +// NOTE: Required to be called several time to generate shadowmap static void DrawScene(Model cube, Model robot) { DrawModelEx(cube, Vector3Zero(), (Vector3) { 0.0f, 1.0f, 0.0f }, 0.0f, (Vector3) { 10.0f, 1.0f, 10.0f }, BLUE); From adb078128b07638bd5b16f43d7b0e37130487739 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 9 Sep 2025 00:15:30 +0200 Subject: [PATCH 078/125] Update rexm.c --- tools/rexm/rexm.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index e28efdf21..3489990fd 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -2045,9 +2045,14 @@ static char **ScanExampleResources(const char *filePath, int *resPathCount) // WARNING: Some paths could be for saving files, not loading, those "resource" files must be omitted // HACK: Just check previous position from pointer for function name including the string... // This is a quick solution, the good one would be getting the data loading function names... - //if ((TextFindIndex(ptr - 40, "ExportImage") == -1) && - // (TextFindIndex(ptr - 10, "TraceLog") == -1)) // Avoid TraceLog() strings processing - if (TextFindIndex(ptr - 40, "ExportImage") == -1) + int functionIndex01 = TextFindIndex(ptr - 40, "ExportImage"); // Check ExportImage() + int functionIndex02 = TextFindIndex(ptr - 10, "TraceLog"); // Check TraceLog() + int functionIndex03 = TextFindIndex(ptr - 40, "TakeScreenshot"); // Check TakeScreenshot() + + + if (!((functionIndex01 != -1) && (functionIndex01 < 40)) && // Not found ExportImage() before "" + !((functionIndex02 != -1) && (functionIndex02 < 10)) && // Not found TraceLog() before "" + !((functionIndex03 != -1) && (functionIndex03 < 40))) // Not found TakeScreenshot() before "" { int len = (int)(end - start); if ((len > 0) && (len < REXM_MAX_RESOURCE_PATH_LEN)) From 4447868c60cbb6874d68c92e0de5e2819f1857e6 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 9 Sep 2025 00:16:47 +0200 Subject: [PATCH 079/125] REXM: Updated examples, resources checking --- examples/Makefile.Web | 3 +-- tools/rexm/examples_report.md | 2 +- tools/rexm/examples_report_issues.md | 1 - 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 744645e81..0a3cf24f7 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -1248,8 +1248,7 @@ shaders/shaders_shadowmap_rendering: shaders/shaders_shadowmap_rendering.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/shaders/glsl100/shadowmap.vs@resources/shaders/glsl100/shadowmap.vs \ --preload-file shaders/resources/shaders/glsl100/shadowmap.fs@resources/shaders/glsl100/shadowmap.fs \ - --preload-file shaders/resources/models/robot.glb@resources/models/robot.glb \ - --preload-file shaders/shaders_shadowmap.png@shaders_shadowmap.png + --preload-file shaders/resources/models/robot.glb@resources/models/robot.glb shaders/shaders_shapes_textures: shaders/shaders_shapes_textures.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ diff --git a/tools/rexm/examples_report.md b/tools/rexm/examples_report.md index 87ff57c4d..b3aac08b9 100644 --- a/tools/rexm/examples_report.md +++ b/tools/rexm/examples_report.md @@ -159,7 +159,7 @@ Example elements validated: | shaders_deferred_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_hybrid_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_texture_tiling | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shaders_shadowmap_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shaders_shadowmap_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_vertex_displacement | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_write_depth | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_basic_pbr | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | diff --git a/tools/rexm/examples_report_issues.md b/tools/rexm/examples_report_issues.md index f1c8a8725..5c4df4202 100644 --- a/tools/rexm/examples_report_issues.md +++ b/tools/rexm/examples_report_issues.md @@ -20,7 +20,6 @@ Example elements validated: ``` | **EXAMPLE NAME** | [C] | [CAT]| [INFO]|[PNG]|[WPNG]| [RES]| [MK] |[MKWEB]| [VCX]| [SOL]|[RDME]|[JS] | [WOUT]|[WMETA]| |:---------------------------------|:---:|:----:|:-----:|:---:|:----:|:----:|:----:|:-----:|:----:|:----:|:----:|:---:|:-----:|:-----:| -| shaders_shadowmap_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | rlgl_standalone | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | rlgl_compute_shader | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | easings_testbed | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | From 0da5bc1e17f0de79f767b529800d8cb23bd14968 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 9 Sep 2025 00:26:38 +0200 Subject: [PATCH 080/125] REXM: REVIEWED: `TextReplaceBetween()` --- tools/rexm/rexm.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index 3489990fd..8b95c7094 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -187,7 +187,7 @@ static void UpdateWebMetadata(const char *exHtmlPath, const char *exFilePath); // Get text between two strings static char *GetTextBetween(const char *text, const char *begin, const char *end); // Replace text between two specific strings -static char *TextReplaceBetween(const char *text, const char *replace, const char *begin, const char *end); +static char *TextReplaceBetween(const char *text, const char *begin, const char *end, const char *replace); //------------------------------------------------------------------------------------ // Program main entry point @@ -2320,8 +2320,8 @@ static void UpdateSourceMetadata(const char *exSrcPath, const rlExampleInfo *inf // Update example header title (line #3 - ALWAYS) // String: "* raylib [shaders] example - texture drawing" - exTextUpdated[0] = TextReplaceBetween(exTextUpdatedPtr, - TextFormat("%s] example - %s", info->category, exNameFormated), "* raylib [", "\n"); + exTextUpdated[0] = TextReplaceBetween(exTextUpdatedPtr, "* raylib [", "\n", + TextFormat("%s] example - %s", info->category, exNameFormated)); if (exTextUpdated[0] != NULL) exTextUpdatedPtr = exTextUpdated[0]; // Update example complexity rating @@ -2334,42 +2334,42 @@ static void UpdateSourceMetadata(const char *exSrcPath, const rlExampleInfo *inf if (i < info->stars) strcpy(starsText + 3*i, "★"); else strcpy(starsText + 3*i, "☆"); } - exTextUpdated[1] = TextReplaceBetween(exTextUpdatedPtr, - TextFormat("%s] %i", starsText, info->stars), "* Example complexity rating: [", "/4\n"); + exTextUpdated[1] = TextReplaceBetween(exTextUpdatedPtr, "* Example complexity rating: [", "/4\n", + TextFormat("%s] %i", starsText, info->stars)); if (exTextUpdated[1] != NULL) exTextUpdatedPtr = exTextUpdated[1]; // Update example creation/update raylib versions // String: "* Example originally created with raylib 2.0, last time updated with raylib 3.7 - exTextUpdated[2] = TextReplaceBetween(exTextUpdatedPtr, - TextFormat("%s, last time updated with raylib %s", info->verCreated, info->verUpdated), "* Example originally created with raylib ", "\n"); + exTextUpdated[2] = TextReplaceBetween(exTextUpdatedPtr, "* Example originally created with raylib ", "\n", + TextFormat("%s, last time updated with raylib %s", info->verCreated, info->verUpdated)); if (exTextUpdated[2] != NULL) exTextUpdatedPtr = exTextUpdated[2]; // Update copyright message // String: "* Copyright (c) 2019-2025 Contributor Name (@github_user) and Ramon Santamaria (@raysan5)" if (info->yearCreated == info->yearReviewed) { - exTextUpdated[3] = TextReplaceBetween(exTextUpdatedPtr, - TextFormat("%i %s (@%s", info->yearCreated, info->author, info->authorGitHub), "Copyright (c) ", ")"); + exTextUpdated[3] = TextReplaceBetween(exTextUpdatedPtr, "Copyright (c) ", ")", + TextFormat("%i %s (@%s", info->yearCreated, info->author, info->authorGitHub)); if (exTextUpdated[3] != NULL) exTextUpdatedPtr = exTextUpdated[3]; } else { - exTextUpdated[3] = TextReplaceBetween(exTextUpdatedPtr, - TextFormat("%i-%i %s (@%s", info->yearCreated, info->yearReviewed, info->author, info->authorGitHub), "Copyright (c) ", ")"); + exTextUpdated[3] = TextReplaceBetween(exTextUpdatedPtr, "Copyright (c) ", ")", + TextFormat("%i-%i %s (@%s", info->yearCreated, info->yearReviewed, info->author, info->authorGitHub)); if (exTextUpdated[3] != NULL) exTextUpdatedPtr = exTextUpdated[3]; } // Update window title // String: "InitWindow(screenWidth, screenHeight, "raylib [shaders] example - texture drawing");" - exTextUpdated[4] = TextReplaceBetween(exTextUpdated[3], - TextFormat("raylib [%s] example - %s", info->category, exNameFormated), "InitWindow(screenWidth, screenHeight, \"", "\");"); + exTextUpdated[4] = TextReplaceBetween(exTextUpdated[3], "InitWindow(screenWidth, screenHeight, \"", "\");", + TextFormat("raylib [%s] example - %s", info->category, exNameFormated)); if (exTextUpdated[4] != NULL) exTextUpdatedPtr = exTextUpdated[4]; // Update contributors names // String: "* Example contributed by Contributor Name (@github_user) and reviewed by Ramon Santamaria (@raysan5)" // WARNING: Not all examples are contributed by someone, so the result of this replace can be NULL (string not found) - exTextUpdated[5] = TextReplaceBetween(exTextUpdatedPtr, - TextFormat("%s (@%s", info->author, info->authorGitHub), "* Example contributed by ", ")"); + exTextUpdated[5] = TextReplaceBetween(exTextUpdatedPtr, "* Example contributed by ", ")", + TextFormat("%s (@%s", info->author, info->authorGitHub)); if (exTextUpdated[5] != NULL) exTextUpdatedPtr = exTextUpdated[5]; if (exTextUpdatedPtr != NULL) SaveFileText(exSourcePath, exTextUpdatedPtr); @@ -2469,7 +2469,7 @@ static char *GetTextBetween(const char *text, const char *begin, const char *end // Replace text between two specific strings // WARNING: Returned string must be freed by user -static char *TextReplaceBetween(const char *text, const char *replace, const char *begin, const char *end) +static char *TextReplaceBetween(const char *text, const char *begin, const char *end, const char *replace) { char *result = NULL; int beginIndex = TextFindIndex(text, begin); From f6ae596a1d6ed4637092f9497a2df92f21334047 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 9 Sep 2025 00:47:12 +0200 Subject: [PATCH 081/125] Update rexm.c --- tools/rexm/rexm.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index 8b95c7094..61a65f889 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -639,9 +639,15 @@ int main(int argc, char *argv[]) FileRename(TextFormat("%s/%s/%s.png", exBasePath, exCategory, exName), TextFormat("%s/%s/%s.png", exBasePath, exCategory, exRename)); - // TODO: Edit: Update example source code metadata - //rlExampleInfo *info = LoadExamplesData(exCollectionFilePath, exRename, false, NULL); // TODO: Load one example from collection - //UpdateSourceMetadata(TextFormat("%s/%s/%s.c", exBasePath, exCategory, exRename), info); + // Edit: Update example source code metadata + int exListCount = 0; + rlExampleInfo *exList = LoadExamplesData(exCollectionFilePath, exCategory, false, &exListCount); + for (int i = 0; i < exListCount; i++) + { + if (strcmp(exList[i].name, exRename) == 0) + UpdateSourceMetadata(TextFormat("%s/%s/%s.c", exBasePath, exCategory, exRename), &exList[i]); + } + UnloadExamplesData(exList); // NOTE: Example resource files do not need to be changed... // unless the example is moved from one caegory to another @@ -860,7 +866,8 @@ int main(int argc, char *argv[]) for (unsigned int i = 0; i < list.count; i++) { - if ((strcmp("examples_template", GetFileNameWithoutExt(list.paths[i])) != 0) && // HACK: Skip "examples_template" + // NOTE: Skipping "examples_template" from checks + if ((strcmp("examples_template", GetFileNameWithoutExt(list.paths[i])) != 0) && (TextFindIndex(exList, GetFileNameWithoutExt(list.paths[i])) == -1)) { // Add example to the examples collection list @@ -2043,7 +2050,7 @@ static char **ScanExampleResources(const char *filePath, int *resPathCount) if (!end) break; // WARNING: Some paths could be for saving files, not loading, those "resource" files must be omitted - // HACK: Just check previous position from pointer for function name including the string... + // HACK: Just check previous position from pointer for function name including the string and the index "distance" // This is a quick solution, the good one would be getting the data loading function names... int functionIndex01 = TextFindIndex(ptr - 40, "ExportImage"); // Check ExportImage() int functionIndex02 = TextFindIndex(ptr - 10, "TraceLog"); // Check TraceLog() From f4250da042be051b1b117831946e380d62596c02 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 9 Sep 2025 09:37:06 +0200 Subject: [PATCH 082/125] Update text_unicode_ranges.c --- examples/text/text_unicode_ranges.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/text/text_unicode_ranges.c b/examples/text/text_unicode_ranges.c index 90853942b..473bee64f 100644 --- a/examples/text/text_unicode_ranges.c +++ b/examples/text/text_unicode_ranges.c @@ -150,6 +150,7 @@ int main(void) DrawRectangleLines(400, 16, 380, 380, RED); DrawText(TextFormat("ATLAS SIZE: %ix%i px (x%02.2f)", font.texture.width, font.texture.height, atlasScale), 20, 380, 20, BLUE); + DrawText(TextFormat("CODEPOINTS GLYPHS LOADED: %i", font.glyphCount), 20, 410, 20, LIME); // Display font attribution DrawText("Font: Noto Sans TC. License: SIL Open Font License 1.1", screenWidth - 300, screenHeight - 20, 10, GRAY); @@ -158,7 +159,7 @@ int main(void) { DrawRectangle(0, 0, screenWidth, screenHeight, Fade(WHITE, 0.8f)); DrawRectangle(0, 125, screenWidth, 200, GRAY); - DrawText("LOADING CODEPOINTS...", 150, 210, 40, BLACK); + DrawText("GENERATING FONT ATLAS...", 120, 210, 40, BLACK); } EndDrawing(); From 1b9aa0bcf3acc8e59a1ede08ff4e6a390e6e7b2a Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 9 Sep 2025 17:30:18 +0200 Subject: [PATCH 083/125] Update rmodels.c --- src/rmodels.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rmodels.c b/src/rmodels.c index 912bab081..111df133b 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -3865,7 +3865,7 @@ void DrawBillboard(Camera camera, Texture2D texture, Vector3 position, float sca { Rectangle source = { 0.0f, 0.0f, (float)texture.width, (float)texture.height }; - DrawBillboardRec(camera, texture, source, position, (Vector2) { scale*fabsf((float)source.width/source.height), scale }, tint); + DrawBillboardRec(camera, texture, source, position, (Vector2){ scale*fabsf((float)source.width/source.height), scale }, tint); } // Draw a billboard (part of a texture defined by a rectangle) From 698d37c57a7f5f8d37b3eec598b3720d5aa44b72 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 9 Sep 2025 17:30:25 +0200 Subject: [PATCH 084/125] Update shaders_normalmap_rendering.c --- examples/shaders/shaders_normalmap_rendering.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/shaders/shaders_normalmap_rendering.c b/examples/shaders/shaders_normalmap_rendering.c index e1c57fd0f..e66362c07 100644 --- a/examples/shaders/shaders_normalmap_rendering.c +++ b/examples/shaders/shaders_normalmap_rendering.c @@ -18,9 +18,9 @@ * ********************************************************************************************/ -#include +#include "raylib.h" -#include +#include "raymath.h" #if defined(PLATFORM_DESKTOP) #define GLSL_VERSION 330 @@ -155,7 +155,7 @@ int main(void) DrawText("Use keys [Up][Down] to change specular exponent", 10, 10 + yOffset*2, 10, BLACK); DrawText(TextFormat("Specular Exponent: %.2f", specularExponent), 10, 10 + yOffset*3, 10, BLUE); - DrawFPS(screenWidth - 80, 10); + DrawFPS(screenWidth - 90, 10); EndDrawing(); //-------------------------------------------------------------------------------------- From 866e7238bfca4492cbf5d75b076546f19d2e9005 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 9 Sep 2025 17:30:54 +0200 Subject: [PATCH 085/125] Remove projects from solution --- .../examples/rlgl_compute_shader.vcxproj | 2 +- .../examples/rlgl_compute_shaders.vcxproj | 570 ------------------ .../examples/textures_svg_loading.vcxproj | 390 ------------ projects/VS2022/raylib.sln | 2 +- 4 files changed, 2 insertions(+), 962 deletions(-) delete mode 100644 projects/VS2022/examples/rlgl_compute_shaders.vcxproj delete mode 100644 projects/VS2022/examples/textures_svg_loading.vcxproj diff --git a/projects/VS2022/examples/rlgl_compute_shader.vcxproj b/projects/VS2022/examples/rlgl_compute_shader.vcxproj index 84e267623..1e2436c1a 100644 --- a/projects/VS2022/examples/rlgl_compute_shader.vcxproj +++ b/projects/VS2022/examples/rlgl_compute_shader.vcxproj @@ -51,7 +51,7 @@
- {0981CA98-E4A5-4DF1-987F-A41D09131EFC} + {07CA51AD-72AE-46A2-AAED-DC3E3F807976} Win32Proj rlgl_compute_shader 10.0 diff --git a/projects/VS2022/examples/rlgl_compute_shaders.vcxproj b/projects/VS2022/examples/rlgl_compute_shaders.vcxproj deleted file mode 100644 index 48e5b20f6..000000000 --- a/projects/VS2022/examples/rlgl_compute_shaders.vcxproj +++ /dev/null @@ -1,570 +0,0 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {07CA51AD-72AE-46A2-AAED-DC3E3F807976} - Win32Proj - rlgl_compute_shaders - 10.0 - rlgl_compute_shaders - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\others - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\others - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\others - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\others - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\others - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\others - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\others - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\others - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\others - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\others - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\others - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\others - WindowsLocalDebugger - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;$(SolutionDir)..\..\examples\others\external\include;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;$(SolutionDir)..\..\examples\others\external\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;$(SolutionDir)..\..\examples\others\external\include;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;$(SolutionDir)..\..\examples\others\external\include;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;$(SolutionDir)..\..\examples\others\external\include;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;$(SolutionDir)..\..\examples\others\external\include;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;$(SolutionDir)..\..\examples\others\external\include;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;$(SolutionDir)..\..\examples\others\external\include;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;$(SolutionDir)..\..\examples\others\external\include;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;$(SolutionDir)..\..\examples\others\external\include;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;$(SolutionDir)..\..\examples\others\external\include;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;$(SolutionDir)..\..\examples\others\external\include;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - - \ No newline at end of file diff --git a/projects/VS2022/examples/textures_svg_loading.vcxproj b/projects/VS2022/examples/textures_svg_loading.vcxproj deleted file mode 100644 index fc2375aff..000000000 --- a/projects/VS2022/examples/textures_svg_loading.vcxproj +++ /dev/null @@ -1,390 +0,0 @@ - - - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - Win32 - - - Release - x64 - - - - {D8026C60-CCBC-45DF-9085-BF21569EB414} - Win32Proj - textures_svg_loading - 10.0 - textures_svg_loading - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\textures - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - - \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 24f02766f..d6a14886e 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -255,7 +255,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_basic_screen_manager", EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_custom_frame_control", "examples\core_custom_frame_control.vcxproj", "{658A1B85-554E-4A5D-973A-FFE592CDD5F2}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rlgl_compute_shaders", "examples\rlgl_compute_shaders.vcxproj", "{07CA51AD-72AE-46A2-AAED-DC3E3F807976}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rlgl_compute_shader", "examples\rlgl_compute_shader.vcxproj", "{07CA51AD-72AE-46A2-AAED-DC3E3F807976}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "text_3d_drawing", "examples\text_3d_drawing.vcxproj", "{27B110CC-43C0-400A-89D9-245E681647D7}" EndProject From a42eb2f79b807c9a7fb0d91228fc6b90b509af6e Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 9 Sep 2025 17:32:13 +0200 Subject: [PATCH 086/125] REDESIGNED: example: `shapes_digital_clock` --- examples/shapes/shapes_digital_clock.c | 217 ++++++++++++++++++----- examples/shapes/shapes_digital_clock.png | Bin 3651 -> 18697 bytes 2 files changed, 174 insertions(+), 43 deletions(-) diff --git a/examples/shapes/shapes_digital_clock.c b/examples/shapes/shapes_digital_clock.c index aad933be0..48e19e2be 100644 --- a/examples/shapes/shapes_digital_clock.c +++ b/examples/shapes/shapes_digital_clock.c @@ -11,7 +11,7 @@ * Example 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) 2025 Hamza RAHAL (@hmz-rhl) +* Copyright (c) 2025 Hamza RAHAL (@hmz-rhl) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ @@ -20,37 +20,40 @@ #include // Required for: cosf(), sinf() #include // Required for: time(), localtime() -#define DIGIT_SIZE 30 +#define CLOCK_ANALOG 0 +#define CLOCK_DIGITAL 1 //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- -typedef enum { - MODE_NORMAL = 0, - MODE_HANDS_FREE, -} ClockMode; - +// Clock hand type typedef struct { - int value; - Vector2 origin; - float angle; - int length; - int thickness; - Color color; + int value; // Time value + + // Visual elements + float angle; // Hand angle + int length; // Hand length + int thickness; // Hand thickness + Color color; // Hand color } ClockHand; +// Clock hands typedef struct { - ClockMode mode; - ClockHand second; - ClockHand minute; - ClockHand hour; + ClockHand second; // Clock hand for seconds + ClockHand minute; // Clock hand for minutes + ClockHand hour; // Clock hand for hours } Clock; //---------------------------------------------------------------------------------- // Module Functions Declaration //---------------------------------------------------------------------------------- static void UpdateClock(Clock *clock); // Update clock time -static void DrawClock(Clock clock, Vector2 centerPos); // Draw clock at desired position +static void DrawClockAnalog(Clock clock, Vector2 position); // Draw analog clock at desired center position +static void DrawClockDigital(Clock clock, Vector2 position); // Draw digital clock at desired position + +static void DrawDisplayValue(Vector2 position, int value, Color colorOn, Color colorOff); +static void Draw7SDisplay(Vector2 position, char segments, Color colorOn, Color colorOff); +static void DrawDisplaySegment(Vector2 center, int length, int thick, bool vertical, Color color); //------------------------------------------------------------------------------------ // Program main entry point @@ -62,16 +65,18 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; + SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "raylib [shapes] example - digital clock"); - // Initialize clock - Clock myClock = { - .mode = MODE_NORMAL, + int clockMode = CLOCK_DIGITAL; + // Initialize clock + // NOTE: Includes visual info for anlaog clock + Clock clock = { .second.angle = 45, .second.length = 140, .second.thickness = 3, - .second.color = BEIGE, + .second.color = MAROON, .minute.angle = 10, .minute.length = 130, @@ -94,11 +99,12 @@ int main(void) //---------------------------------------------------------------------------------- if (IsKeyPressed(KEY_SPACE)) { - if (myClock.mode == MODE_HANDS_FREE) myClock.mode = MODE_NORMAL; - else if (myClock.mode == MODE_NORMAL) myClock.mode = MODE_HANDS_FREE; + // Toggle clock mode + if (clockMode == CLOCK_DIGITAL) clockMode = CLOCK_ANALOG; + else if (clockMode == CLOCK_ANALOG) clockMode = CLOCK_DIGITAL; } - UpdateClock(&myClock); + UpdateClock(&clock); // Update clock required data: value and angle //---------------------------------------------------------------------------------- // Draw @@ -107,11 +113,21 @@ int main(void) ClearBackground(RAYWHITE); - DrawCircle(400, 225, 5, BLACK); // Clock center dot + // Draw clock in selected mode + if (clockMode == CLOCK_ANALOG) DrawClockAnalog(clock, (Vector2){ 400, 240 }); + else if (clockMode == CLOCK_DIGITAL) + { + DrawClockDigital(clock, (Vector2){ 30, 60 }); - DrawClock(myClock, (Vector2){ 400, 225 }); // Clock in selected mode + // Draw clock using default raylib font + // Get pointer to formated clock time string + // WARNING: Pointing to an internal static string that is reused between TextFormat() calls + const char *clockTime = TextFormat("%02i:%02i:%02i", clock.hour.value, clock.minute.value, clock.second.value); + DrawText(clockTime, GetScreenWidth()/2 - MeasureText(clockTime, 150)/2, 300, 150, BLACK); + } - DrawText("Press [SPACE] to switch clock mode", 10, 10, 20, DARKGRAY); + DrawText(TextFormat("Press [SPACE] to switch clock mode: %s", + (clockMode == CLOCK_DIGITAL)? "DIGITAL CLOCK" : "ANALOGUE CLOCK"), 10, 10, 20, DARKGRAY); EndDrawing(); //---------------------------------------------------------------------------------- @@ -154,31 +170,146 @@ static void UpdateClock(Clock *clock) clock->second.angle -= 90; } -// Draw clock -static void DrawClock(Clock clock, Vector2 centerPosition) +// Draw analog clock +// Parameter: position, refers to center position +static void DrawClockAnalog(Clock clock, Vector2 position) { - if (clock.mode == MODE_HANDS_FREE) - { - DrawCircleLinesV(centerPosition, clock.minute.length, LIGHTGRAY); + // Draw clock base + DrawCircleV(position, clock.second.length + 40, LIGHTGRAY); + DrawCircleV(position, 12, GRAY); - DrawText(TextFormat("%i", clock.second.value), centerPosition.x + (clock.second.length - 10)*cosf(clock.second.angle*(float)(PI/180)) - DIGIT_SIZE/2, centerPosition.y + clock.second.length*sinf(clock.second.angle*(float)(PI/180)) - DIGIT_SIZE/2, DIGIT_SIZE, GRAY); + // Draw clock minutes/seconds lines + for (int i = 0; i < 60; i++) + { + DrawLineEx((Vector2){ position.x + (clock.second.length + ((i%5)? 10 : 6))*cosf((6.0f*i - 90.0f)*DEG2RAD), + position.y + (clock.second.length + ((i%5)? 10 : 6))*sinf((6.0f*i - 90.0f)*DEG2RAD) }, + (Vector2){ position.x + (clock.second.length + 20)*cosf((6.0f*i - 90.0f)*DEG2RAD), + position.y + (clock.second.length + 20)*sinf((6.0f*i - 90.0f)*DEG2RAD) }, ((i%5)? 1.0f : 3.0f), DARKGRAY); + + // Draw seconds numbers + //DrawText(TextFormat("%02i", i), centerPosition.x + (clock.second.length + 50)*cosf((6.0f*i - 90.0f)*DEG2RAD) - 10/2, + // centerPosition.y + (clock.second.length + 50)*sinf((6.0f*i - 90.0f)*DEG2RAD) - 10/2, 10, GRAY); + } - DrawText(TextFormat("%i", clock.minute.value), centerPosition.x + clock.minute.length*cosf(clock.minute.angle*(float)(PI/180)) - DIGIT_SIZE/2, centerPosition.y + clock.minute.length*sinf(clock.minute.angle*(float)(PI/180)) - DIGIT_SIZE/2, DIGIT_SIZE, RED); - - DrawText(TextFormat("%i", clock.hour.value), centerPosition.x + clock.hour.length*cosf(clock.hour.angle*(float)(PI/180)) - DIGIT_SIZE/2, centerPosition.y + clock.hour.length*sinf(clock.hour.angle*(float)(PI/180)) - DIGIT_SIZE/2, DIGIT_SIZE, GOLD); - } - else if (clock.mode == MODE_NORMAL) - { // Draw hand seconds - DrawRectanglePro((Rectangle){ centerPosition.x, centerPosition.y, clock.second.length, clock.second.thickness }, + DrawRectanglePro((Rectangle){ position.x, position.y, clock.second.length, clock.second.thickness }, (Vector2){ 0.0f, clock.second.thickness/2.0f }, clock.second.angle, clock.second.color); // Draw hand minutes - DrawRectanglePro((Rectangle){ centerPosition.x, centerPosition.y, clock.minute.length, clock.minute.thickness }, + DrawRectanglePro((Rectangle){ position.x, position.y, clock.minute.length, clock.minute.thickness }, (Vector2){ 0.0f, clock.minute.thickness/2.0f }, clock.minute.angle, clock.minute.color); // Draw hand hours - DrawRectanglePro((Rectangle){ centerPosition.x, centerPosition.y, clock.hour.length, clock.hour.thickness }, + DrawRectanglePro((Rectangle){ position.x, position.y, clock.hour.length, clock.hour.thickness }, (Vector2){ 0.0f, clock.hour.thickness/2.0f }, clock.hour.angle, clock.hour.color); +} + +// Draw digital clock +// PARAM: position, refers to top-left corner +static void DrawClockDigital(Clock clock, Vector2 position) +{ + // Draw clock using custom 7-segments display (made of shapes) + DrawDisplayValue((Vector2){ position.x, position.y }, clock.hour.value/10, RED, Fade(LIGHTGRAY, 0.3f)); + DrawDisplayValue((Vector2){ position.x + 120, position.y }, clock.hour.value%10, RED, Fade(LIGHTGRAY, 0.3f)); + + DrawCircle(position.x + 240, position.y + 70, 12, (clock.second.value%2)? RED : Fade(LIGHTGRAY, 0.3f)); + DrawCircle(position.x + 240, position.y + 150, 12, (clock.second.value%2)? RED : Fade(LIGHTGRAY, 0.3f)); + + DrawDisplayValue((Vector2){ position.x + 260, position.y }, clock.minute.value/10, RED, Fade(LIGHTGRAY, 0.3f)); + DrawDisplayValue((Vector2){ position.x + 380, position.y }, clock.minute.value%10, RED, Fade(LIGHTGRAY, 0.3f)); + + DrawCircle(position.x + 500, position.y + 70, 12, (clock.second.value%2)? RED : Fade(LIGHTGRAY, 0.3f)); + DrawCircle(position.x + 500, position.y + 150, 12, (clock.second.value%2)? RED : Fade(LIGHTGRAY, 0.3f)); + + DrawDisplayValue((Vector2){ position.x + 520, position.y }, clock.second.value/10, RED, Fade(LIGHTGRAY, 0.3f)); + DrawDisplayValue((Vector2){ position.x + 640, position.y }, clock.second.value%10, RED, Fade(LIGHTGRAY, 0.3f)); +} + +// Draw 7-segment display with value +static void DrawDisplayValue(Vector2 position, int value, Color colorOn, Color colorOff) +{ + switch (value) + { + case 0: Draw7SDisplay(position, 0b00111111, colorOn, colorOff); break; + case 1: Draw7SDisplay(position, 0b00000110, colorOn, colorOff); break; + case 2: Draw7SDisplay(position, 0b01011011, colorOn, colorOff); break; + case 3: Draw7SDisplay(position, 0b01001111, colorOn, colorOff); break; + case 4: Draw7SDisplay(position, 0b01100110, colorOn, colorOff); break; + case 5: Draw7SDisplay(position, 0b01101101, colorOn, colorOff); break; + case 6: Draw7SDisplay(position, 0b01111101, colorOn, colorOff); break; + case 7: Draw7SDisplay(position, 0b00000111, colorOn, colorOff); break; + case 8: Draw7SDisplay(position, 0b01111111, colorOn, colorOff); break; + case 9: Draw7SDisplay(position, 0b01101111, colorOn, colorOff); break; + default: break; + } +} + +// Draw seven segments display +// Parameter: position, refers to top-left corner of display +// Parameter: segments, defines in binary the segments to be activated +static void Draw7SDisplay(Vector2 position, char segments, Color colorOn, Color colorOff) +{ + int segmentLen = 60; + int segmentThick = 20; + float offsetYAdjust = segmentThick*0.3f; // HACK: Adjust gap space between segment limits + + // Segment A + DrawDisplaySegment((Vector2){ position.x + segmentThick + segmentLen/2.0f, position.y + segmentThick }, + segmentLen, segmentThick, false, (segments & 0b00000001)? colorOn : colorOff); + // Segment B + DrawDisplaySegment((Vector2){ position.x + segmentThick + segmentLen + segmentThick/2.0f, position.y + 2*segmentThick + segmentLen/2.0f - offsetYAdjust }, + segmentLen, segmentThick, true, (segments & 0b00000010)? colorOn : colorOff); + // Segment C + DrawDisplaySegment((Vector2){ position.x + segmentThick + segmentLen + segmentThick/2.0f, position.y + 4*segmentThick + segmentLen + segmentLen/2.0f - 3*offsetYAdjust }, + segmentLen, segmentThick, true, (segments & 0b00000100)? colorOn : colorOff); + // Segment D + DrawDisplaySegment((Vector2){ position.x + segmentThick + segmentLen/2.0f, position.y + 5*segmentThick + 2*segmentLen - 4*offsetYAdjust }, + segmentLen, segmentThick, false, (segments & 0b00001000)? colorOn : colorOff); + // Segment E + DrawDisplaySegment((Vector2){ position.x + segmentThick/2.0f, position.y + 4*segmentThick + segmentLen + segmentLen/2.0f - 3*offsetYAdjust }, + segmentLen, segmentThick, true, (segments & 0b00010000)? colorOn : colorOff); + // Segment F + DrawDisplaySegment((Vector2){ position.x + segmentThick/2.0f, position.y + 2*segmentThick + segmentLen/2.0f - offsetYAdjust }, + segmentLen, segmentThick, true, (segments & 0b00100000)? colorOn : colorOff); + // Segment G + DrawDisplaySegment((Vector2){ position.x + segmentThick + segmentLen/2.0f, position.y + 3*segmentThick + segmentLen - 2*offsetYAdjust }, + segmentLen, segmentThick, false, (segments & 0b01000000)? colorOn : colorOff); +} + +// Draw one 7-segment display segment, horizontal or vertical +static void DrawDisplaySegment(Vector2 center, int length, int thick, bool vertical, Color color) +{ + if (!vertical) + { + // Horizontal segment points + // 3___________________________5 + // / \ + // /1 x 6\ + // \ / + // \2___________________________4/ + Vector2 segmentPointsH[6] = { + (Vector2){ center.x - length/2.0f - thick/2.0f, center.y }, // Point 1 + (Vector2){ center.x - length/2.0f, center.y + thick/2.0f }, // Point 2 + (Vector2){ center.x - length/2.0f, center.y - thick/2.0f }, // Point 3 + (Vector2){ center.x + length/2.0f, center.y + thick/2.0f }, // Point 4 + (Vector2){ center.x + length/2.0f, center.y - thick/2.0f }, // Point 5 + (Vector2){ center.x + length/2.0f + thick/2.0f, center.y }, // Point 6 + }; + + DrawTriangleStrip(segmentPointsH, 6, color); + } + else + { + // Vertical segment points + Vector2 segmentPointsV[6] = { + (Vector2){ center.x, center.y - length/2.0f - thick/2.0f }, // Point 1 + (Vector2){ center.x - thick/2.0f, center.y - length/2.0f }, // Point 2 + (Vector2){ center.x + thick/2.0f, center.y - length/2.0f }, // Point 3 + (Vector2){ center.x - thick/2.0f, center.y + length/2.0f }, // Point 4 + (Vector2){ center.x + thick/2.0f, center.y + length/2.0f }, // Point 5 + (Vector2){ center.x, center.y + length/2 + thick/2.0f }, // Point 6 + }; + + DrawTriangleStrip(segmentPointsV, 6, color); } } diff --git a/examples/shapes/shapes_digital_clock.png b/examples/shapes/shapes_digital_clock.png index 22939253176be52b334d781d99a2e7c23a750ddd..35ac56b93ba45b3d2b725c19f345a48305c50bce 100644 GIT binary patch literal 18697 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 literal 3651 zcmeHKYfzI{8h$^b35r3~ibA*qC|gB9z(5fMQ$(&SQe<|iS`8o&7KBIu5k)=)(bkGc zYu5`4$yP9ojJ8%jMG*ucD~^Jf0#(t<#eLGw{@9=FuboaandHqm@8x;k z%Q;^@iHryqPPLp$M8eRJz$hY~B@xqL%*RUUWpcsSBxOKov@u@Wj5qATZ;Q<3F`28< z6Eio*W+YHjTKdKW7iD}#LPDBSo}M|tYxIZGJcH7*jD*n34gl)Vzz?Ex%AVb;Io#<*MX^5neK#KPk3Y6~z$GIq zDDv-v?{qk>(PV$xWa|Mzl5#7PrUQU{KZnoz zg&<<~o`i_?Rx?CRQ-nm~2sySk1webxEYOvf{igbVlz~@6PZ?5_HI9$=j#T82zpR@T zY$SbhO-`8`Ea$ZL5i6NcB{}!q!;EH*n&A%j_v^_ZO`s1rb-y|2k{GoDbFTiq4>Pa|;2%^Sg-{|n``ONxKq zyKZAdlI3!`H)3uP$D@owK3A)&Hxp5borG+<(%!$wkZ6ifwMOY~=S4C z+W}$6no}hI3xrSFNtF=5(+7I$idru+?E!Kst9l5mwS|1?WMGu0Kv-@N7C=bo3Y#o7 zfv^if{)oX zDH8A%AA-Ir5j*#>;|bV8@AzOR%E7rRFU%6rtw1?R0-;29m08J0?#_u#O`5!utu zgpty*X6U=hp2oKw>OA_w%#xhTI}}=5QWo;*l3V@0sfG^JZa(fCmG|aF@?5@2Gn2DI zPJ;!GXqA?2b9F;cItobT-;%hXyt(<$3)dIVHKjT6K|I#JI?>HPe|+0u2-O?G$Ew!O z%7f3K2r0k?%Cw3g8ZHl3JV=p1^&)TVPH%I!&IG$>{ zc>zx`RWQPw|Nb*RRcgjuq@Bo6C0g_u*pwl$=dW4{>Fa;Vma^H0Zjj0n1(w5H-#&*)lnCOAvEOiiG-#3dX3|P{OqK15@?hFh2wH zc;x1SgBJ}aA-5kZ+xS|4RE+b)Kt45? zlClR=^GybiaKs9m_*y00dZD$Jo(HY31A)}_F~)ch+{ZCR{stv zfpI+fK~yr5L1&zHhvV7c$XVjdJ~(fmaFL~UHiDnLvNmwfG`$l_#fJHH+dF!&3kzh9T*w&?;3b@Zud~ZYTaaQu5F7AkuG=ZR#8!G&X(A> z!^7FH;|Kh* z!*Inh<$0^$K3+BY;7&@(TwPtyKtso&r0VD0Bc5a9NsBDP*F7Jqag3jDJE%gV{6}}*KTlD zE=~F2AIiG-S1fycyXD@GS!^)wh^XTgP78mE&ii5Lrb%b%%KPE#mFX$H51nk1))nXa zv3NRAMLAZSY`k!#sy}Y<+O8(g#)b1+xh41W(p+w_W4QGToExs>4Tp}FZhh3+8#>xm z`|9=5qsj9v@~_5(b+^`@3sUxOF`p8iboNC4`dOmzw<~M?mrZ)`pW8+Lu}f!xP2SNJ zr+&^R&IzBWC%d+t?lqG6VTMWC^(**OQs2n57yR{ZR>lqw{C%R( Date: Tue, 9 Sep 2025 17:33:19 +0200 Subject: [PATCH 087/125] Update complexity level for `shapes_digital_clock` --- examples/examples_list.txt | 2 +- examples/shapes/shapes_digital_clock.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/examples_list.txt b/examples/examples_list.txt index ed8cc3ff6..18c2e7e42 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -60,7 +60,7 @@ shapes;shapes_rounded_rectangle_drawing;★★★☆;2.5;2.5;2018;2025;"Vlad Adr shapes;shapes_top_down_lights;★★★★;4.2;4.2;2022;2025;"Jeffery Myers";@JeffM2501 shapes;shapes_rectangle_advanced;★★★★;5.5;5.5;2024;2025;"Everton Jr.";@evertonse shapes;shapes_splines_drawing;★★★☆;5.0;5.0;2023;2025;"Ramon Santamaria";@raysan5 -shapes;shapes_digital_clock;★★☆☆;5.5;5.6;2025;2025;"Hamza RAHAL";@hmz-rhl +shapes;shapes_digital_clock;★★★★;5.5;5.6;2025;2025;"Hamza RAHAL";@hmz-rhl shapes;shapes_double_pendulum;★★☆☆;5.5;5.5;2025;2025;"JoeCheong";@Joecheong2006 textures;textures_logo_raylib;★☆☆☆;1.0;1.0;2014;2025;"Ramon Santamaria";@raysan5 textures;textures_srcrec_dstrec;★★★☆;1.3;1.3;2015;2025;"Ramon Santamaria";@raysan5 diff --git a/examples/shapes/shapes_digital_clock.c b/examples/shapes/shapes_digital_clock.c index 48e19e2be..3317202b8 100644 --- a/examples/shapes/shapes_digital_clock.c +++ b/examples/shapes/shapes_digital_clock.c @@ -2,7 +2,7 @@ * * raylib [shapes] example - digital clock * -* Example complexity rating: [★★☆☆] 2/4 +* Example complexity rating: [★★★★] 4/4 * * Example originally created with raylib 5.5, last time updated with raylib 5.6 * From ffe74658abec0e3b9f95d226972b219f710ffc9d Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 10 Sep 2025 18:26:43 +0200 Subject: [PATCH 088/125] REXM: ADDED: example: `core_render_texture` --- examples/Makefile | 1 + examples/Makefile.Web | 4 + examples/README.md | 7 +- examples/core/core_render_texture.c | 99 +++ examples/core/core_render_texture.png | Bin 0 -> 17334 bytes examples/examples_list.txt | 1 + .../examples/core_render_texture.vcxproj | 569 ++++++++++++++++++ projects/VS2022/raylib.sln | 27 + 8 files changed, 705 insertions(+), 3 deletions(-) create mode 100644 examples/core/core_render_texture.c create mode 100644 examples/core/core_render_texture.png create mode 100644 projects/VS2022/examples/core_render_texture.vcxproj diff --git a/examples/Makefile b/examples/Makefile index 4c0320e2e..d7c9dcb81 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -526,6 +526,7 @@ CORE = \ core/core_input_virtual_controls \ core/core_random_sequence \ core/core_random_values \ + core/core_render_texture \ core/core_scissor_test \ core/core_smooth_pixelperfect \ core/core_storage_values \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 0a3cf24f7..d9c27b19d 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -526,6 +526,7 @@ CORE = \ core/core_input_virtual_controls \ core/core_random_sequence \ core/core_random_values \ + core/core_render_texture \ core/core_scissor_test \ core/core_smooth_pixelperfect \ core/core_storage_values \ @@ -761,6 +762,9 @@ core/core_random_sequence: core/core_random_sequence.c core/core_random_values: core/core_random_values.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) +core/core_render_texture: core/core_render_texture.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) + core/core_scissor_test: core/core_scissor_test.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) diff --git a/examples/README.md b/examples/README.md index 608d9d3d7..0f20913e2 100644 --- a/examples/README.md +++ b/examples/README.md @@ -17,9 +17,9 @@ You may find it easier to use than other toolchains, especially when it comes to - `zig build [module]` to compile all examples for a module (e.g. `zig build core`) - `zig build [example]` to compile _and run_ a particular example (e.g. `zig build core_basic_window`) -## EXAMPLES COLLECTION [TOTAL: 160] +## EXAMPLES COLLECTION [TOTAL: 161] -### category: core [35] +### category: core [36] Examples using raylib[core](../src/rcore.c) platform functionality like window creation, inputs, drawing modes and system functionality. @@ -60,6 +60,7 @@ Examples using raylib[core](../src/rcore.c) platform functionality like window c | [core_random_sequence](core/core_random_sequence.c) | core_random_sequence | ⭐☆☆☆ | 5.0 | 5.0 | [Dalton Overmyer](https://github.com/REDl3east) | | [core_automation_events](core/core_automation_events.c) | core_automation_events | ⭐⭐⭐☆ | 5.0 | 5.0 | [Ramon Santamaria](https://github.com/raysan5) | | [core_high_dpi](core/core_high_dpi.c) | core_high_dpi | ⭐⭐☆☆ | 5.0 | 5.5 | [Jonathan Marler](https://github.com/marler8997) | +| [core_render_texture](core/core_render_texture.c) | core_render_texture | ⭐☆☆☆ | 5.6-dev | 5.6-dev | [@raysan5](https://github.com/ Santamaria") | ### category: shapes [20] @@ -85,7 +86,7 @@ Examples using raylib shapes drawing functionality, provided by raylib [shapes]( | [shapes_top_down_lights](shapes/shapes_top_down_lights.c) | shapes_top_down_lights | ⭐⭐⭐⭐️ | 4.2 | 4.2 | [Jeffery Myers](https://github.com/JeffM2501) | | [shapes_rectangle_advanced](shapes/shapes_rectangle_advanced.c) | shapes_rectangle_advanced | ⭐⭐⭐⭐️ | 5.5 | 5.5 | [Everton Jr.](https://github.com/evertonse) | | [shapes_splines_drawing](shapes/shapes_splines_drawing.c) | shapes_splines_drawing | ⭐⭐⭐☆ | 5.0 | 5.0 | [Ramon Santamaria](https://github.com/raysan5) | -| [shapes_digital_clock](shapes/shapes_digital_clock.c) | shapes_digital_clock | ⭐⭐☆☆ | 5.5 | 5.6 | [Hamza RAHAL](https://github.com/hmz-rhl) | +| [shapes_digital_clock](shapes/shapes_digital_clock.c) | shapes_digital_clock | ⭐⭐⭐⭐️ | 5.5 | 5.6 | [Hamza RAHAL](https://github.com/hmz-rhl) | | [shapes_double_pendulum](shapes/shapes_double_pendulum.c) | shapes_double_pendulum | ⭐⭐☆☆ | 5.5 | 5.5 | [JoeCheong](https://github.com/Joecheong2006) | ### category: textures [26] diff --git a/examples/core/core_render_texture.c b/examples/core/core_render_texture.c new file mode 100644 index 000000000..f08d3afe0 --- /dev/null +++ b/examples/core/core_render_texture.c @@ -0,0 +1,99 @@ +/******************************************************************************************* +* +* raylib [core] example - render texture +* +* Example complexity rating: [★☆☆☆] 1/4 +* +* Example originally created with raylib 5.6-dev, last time updated with raylib 5.6-dev +* +* Example 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) 2025 @raysan5 (@ Santamaria") +* +********************************************************************************************/ + +#include "raylib.h" + +//------------------------------------------------------------------------------------ +// Program main entry point +//------------------------------------------------------------------------------------ +int main(void) +{ + // Initialization + //--------------------------------------------------------- + const int screenWidth = 800; + const int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [core] example - render texture"); + + // Define a render texture to render + int renderTextureWidth = 300; + int renderTextureHeight = 300; + RenderTexture2D target = LoadRenderTexture(renderTextureWidth, renderTextureHeight); + + Vector2 ballPosition = { renderTextureWidth/2.0f, renderTextureHeight/2.0f }; + Vector2 ballSpeed = { 5.0f, 4.0f }; + int ballRadius = 20; + + float rotation = 0.0f; + + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //---------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //----------------------------------------------------- + // Ball movement logic + ballPosition.x += ballSpeed.x; + ballPosition.y += ballSpeed.y; + + // Check walls collision for bouncing + if ((ballPosition.x >= (renderTextureWidth - ballRadius)) || (ballPosition.x <= ballRadius)) ballSpeed.x *= -1.0f; + if ((ballPosition.y >= (renderTextureHeight - ballRadius)) || (ballPosition.y <= ballRadius)) ballSpeed.y *= -1.0f; + + // Render texture rotation + rotation += 0.5f; + //----------------------------------------------------- + + // Draw + //----------------------------------------------------- + // Draw our scene to the render texture + BeginTextureMode(target); + + ClearBackground(SKYBLUE); + + DrawCircleV(ballPosition, (float)ballRadius, MAROON); + + EndTextureMode(); + + // Draw render texture to main framebuffer + BeginDrawing(); + + ClearBackground(RAYWHITE); + + // Draw our render texture with rotation applied + // NOTE: We set the origin of the texture to the center of the render texture + DrawTexturePro(target.texture, + (Rectangle){ 0, 0, target.texture.width, -target.texture.height }, + (Rectangle){ screenWidth/2, screenHeight/2, target.texture.width, -target.texture.height }, + (Vector2){ target.texture.width/2, target.texture.height/2 }, rotation, WHITE); + + DrawText("DRAWING BOUNCING BALL INSIDE RENDER TEXTURE!", 10, screenHeight - 40, 20, BLACK); + + + DrawFPS(10, 10); + + EndDrawing(); + //----------------------------------------------------- + } + + // De-Initialization + //--------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //---------------------------------------------------------- + + return 0; +} \ No newline at end of file diff --git a/examples/core/core_render_texture.png b/examples/core/core_render_texture.png new file mode 100644 index 0000000000000000000000000000000000000000..312efdb399e3f00b822b08a36a3f12f825006c14 GIT binary patch literal 17334 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 literal 0 HcmV?d00001 diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 18c2e7e42..1cbc5b80b 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -42,6 +42,7 @@ core;core_smooth_pixelperfect;★★★☆;3.7;4.0;2021;2025;"Giancamillo Alessa core;core_random_sequence;★☆☆☆;5.0;5.0;2023;2025;"Dalton Overmyer";@REDl3east core;core_automation_events;★★★☆;5.0;5.0;2023;2025;"Ramon Santamaria";@raysan5 core;core_high_dpi;★★☆☆;5.0;5.5;2025;2025;"Jonathan Marler";@marler8997 +core;core_render_texture;★☆☆☆;5.6-dev;5.6-dev;2025;2025;"Ramon Santamaria";@raysan5 shapes;shapes_basic_shapes;★☆☆☆;1.0;4.2;2014;2025;"Ramon Santamaria";@raysan5 shapes;shapes_bouncing_ball;★☆☆☆;2.5;2.5;2013;2025;"Ramon Santamaria";@raysan5 shapes;shapes_colors_palette;★★☆☆;1.0;2.5;2014;2025;"Ramon Santamaria";@raysan5 diff --git a/projects/VS2022/examples/core_render_texture.vcxproj b/projects/VS2022/examples/core_render_texture.vcxproj new file mode 100644 index 000000000..faa53557b --- /dev/null +++ b/projects/VS2022/examples/core_render_texture.vcxproj @@ -0,0 +1,569 @@ + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {6B1A933E-71B8-4C1F-9E79-02D98830E671} + Win32Proj + core_render_texture + 10.0 + core_render_texture + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index d6a14886e..4d9486e43 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -339,6 +339,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "text_unicode_ranges", "exam EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_input_gestures_testbed", "examples\core_input_gestures_testbed.vcxproj", "{A61DAD9C-271C-4E95-81AA-DB4CD58564D4}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_render_texture", "examples\core_render_texture.vcxproj", "{6B1A933E-71B8-4C1F-9E79-02D98830E671}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug.DLL|ARM64 = Debug.DLL|ARM64 @@ -4169,6 +4171,30 @@ Global {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Release|x64.Build.0 = Release|x64 {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Release|x86.ActiveCfg = Release|Win32 {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Release|x86.Build.0 = Release|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.Build.0 = Debug.DLL|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.Build.0 = Debug|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.ActiveCfg = Debug|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.Build.0 = Debug|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.ActiveCfg = Debug|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.Build.0 = Debug|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.ActiveCfg = Release.DLL|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.Build.0 = Release.DLL|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.ActiveCfg = Release.DLL|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.Build.0 = Release.DLL|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.Build.0 = Release.DLL|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.ActiveCfg = Release|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.Build.0 = Release|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.ActiveCfg = Release|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.Build.0 = Release|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.ActiveCfg = Release|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -4340,6 +4366,7 @@ Global {6BFF72EA-7362-4A3B-B6E5-9A3655BBBDA3} = {5317807F-61D4-4E0F-B6DC-2D9F12621ED9} {6777EC3C-077C-42FC-B4AD-B799CE55CCE4} = {8D3C83B7-F1E0-4C2E-9E34-EE5F6AB2502A} {A61DAD9C-271C-4E95-81AA-DB4CD58564D4} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} + {6B1A933E-71B8-4C1F-9E79-02D98830E671} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {E926C768-6307-4423-A1EC-57E95B1FAB29} From 9e14faffcc1c22319f8806a467628466c448bd94 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 10 Sep 2025 18:27:19 +0200 Subject: [PATCH 089/125] REXM: REVIEWED: example addition logic --- tools/rexm/rexm.c | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index 61a65f889..5d124315d 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -288,14 +288,14 @@ int main(int argc, char *argv[]) { if (IsFileExtension(argv[2], ".c")) // Check for valid file extension: input { - if (FileExists(inFileName)) + if (FileExists(argv[2])) { // Security checks for file name to verify category is included - int catIndex = TextFindIndex(argv[2], "_"); + int catIndex = TextFindIndex(GetFileName(argv[2]), "_"); if (catIndex > 3) { char cat[12] = { 0 }; - strncpy(cat, argv[2], catIndex); + strncpy(cat, GetFileName(argv[2]), catIndex); bool catFound = false; for (int i = 0; i < REXM_MAX_EXAMPLE_CATEGORIES; i++) { @@ -305,7 +305,7 @@ int main(int argc, char *argv[]) if (catFound) { strcpy(inFileName, argv[2]); // Register filename for addition - strcpy(exName, GetFileNameWithoutExt(argv[2])); // Register example name + strcpy(exName, GetFileNameWithoutExt(inFileName)); // Register example name strncpy(exCategory, exName, TextFindIndex(exName, "_")); opCode = OP_ADD; } @@ -439,16 +439,26 @@ int main(int argc, char *argv[]) case OP_ADD: // Add: Example from command-line input filename { // Add: raylib/examples//_example_name.c - if (opCode != 1) FileCopy(inFileName, TextFormat("%s/%s/%s.c", exBasePath, exCategory, exName)); + if (opCode != OP_CREATE) FileCopy(inFileName, TextFormat("%s/%s/%s.c", exBasePath, exCategory, exName)); // Create: raylib/examples//_example_name.png - FileCopy(exTemplateScreenshot, TextFormat("%s/%s/%s.png", exBasePath, exCategory, exName)); // WARNING: To be updated manually! + if (FileExists(TextFormat("%s/%s.png", GetDirectoryPath(inFileName), exName))) + { + FileCopy(TextFormat("%s/%s.png", GetDirectoryPath(inFileName), exName), + TextFormat("%s/%s/%s.png", exBasePath, exCategory, exName)); + } + else // No screenshot available next to source file + { + // Copy screenshot template + FileCopy(exTemplateScreenshot, TextFormat("%s/%s/%s.png", exBasePath, exCategory, exName)); + } // Copy: raylib/examples//resources/... // ----------------------------------------------------------------------------------------- // Scan resources used in example to copy + // NOTE: resources path will be relative to example source file directory int resPathCount = 0; - char **resPaths = ScanExampleResources(TextFormat("%s/%s/%s.c", exBasePath, exCategory, exName), &resPathCount); + char **resPaths = ScanExampleResources(TextFormat("%s/%s.c", GetDirectoryPath(inFileName), exName), &resPathCount); if (resPathCount > 0) { @@ -508,7 +518,7 @@ int main(int argc, char *argv[]) // ----------------------------------------------------------------------------------------- // Add example to the collection list, if not already there - // NOTE: Required format: shapes;shapes_basic_shapes;★☆☆☆;1.0;4.2;"Ray";@raysan5 + // NOTE: Required format: shapes;shapes_basic_shapes;★☆☆☆;1.0;4.2;2014;2025;"Ray";@raysan5 //------------------------------------------------------------------------------------------------ char *exCollectionList = LoadFileText(exCollectionFilePath); if (TextFindIndex(exCollectionList, exName) == -1) // Example not found @@ -555,7 +565,7 @@ int main(int argc, char *argv[]) // Add example to collection, at the end of the category list int categoryIndex = TextFindIndex(exCollectionList, exCategories[nextCategoryIndex]); memcpy(exCollectionListUpdated, exCollectionList, categoryIndex); - int textWritenSize = sprintf(exCollectionListUpdated + categoryIndex, TextFormat("%s;%s;%s;%s;%s;%i;%i\"%s\";@%s\n", + int textWritenSize = sprintf(exCollectionListUpdated + categoryIndex, TextFormat("%s;%s;%s;%s;%s;%i;%i;\"%s\";@%s\n", exInfo->category, exInfo->name, starsText, exInfo->verCreated, exInfo->verUpdated, exInfo->yearCreated, exInfo->yearReviewed, exInfo->author, exInfo->authorGitHub)); memcpy(exCollectionListUpdated + categoryIndex + textWritenSize, exCollectionList + categoryIndex, strlen(exCollectionList) - categoryIndex); } From 109b3b2d2e5832fbce00dbe2513c3fbfc0013c92 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 10 Sep 2025 18:31:49 +0200 Subject: [PATCH 090/125] REXM: ADDED: example: `text_inline_styling` --- examples/Makefile | 1 + examples/Makefile.Web | 4 + examples/README.md | 7 +- examples/examples_list.txt | 1 + examples/text/text_inline_styling.c | 273 +++++++++ examples/text/text_inline_styling.png | Bin 0 -> 16596 bytes .../examples/text_inline_styling.vcxproj | 569 ++++++++++++++++++ projects/VS2022/raylib.sln | 27 + 8 files changed, 879 insertions(+), 3 deletions(-) create mode 100644 examples/text/text_inline_styling.c create mode 100644 examples/text/text_inline_styling.png create mode 100644 projects/VS2022/examples/text_inline_styling.vcxproj diff --git a/examples/Makefile b/examples/Makefile index d7c9dcb81..23c976681 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -594,6 +594,7 @@ TEXT = \ text/text_font_sdf \ text/text_font_spritefont \ text/text_format_text \ + text/text_inline_styling \ text/text_input_box \ text/text_rectangle_bounds \ text/text_sprite_fonts \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index d9c27b19d..0b2fdec0b 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -594,6 +594,7 @@ TEXT = \ text/text_font_sdf \ text/text_font_spritefont \ text/text_format_text \ + text/text_inline_styling \ text/text_input_box \ text/text_rectangle_bounds \ text/text_sprite_fonts \ @@ -991,6 +992,9 @@ text/text_font_spritefont: text/text_font_spritefont.c text/text_format_text: text/text_format_text.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) +text/text_inline_styling: text/text_inline_styling.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) + text/text_input_box: text/text_input_box.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) diff --git a/examples/README.md b/examples/README.md index 0f20913e2..bc50cfc1d 100644 --- a/examples/README.md +++ b/examples/README.md @@ -17,7 +17,7 @@ You may find it easier to use than other toolchains, especially when it comes to - `zig build [module]` to compile all examples for a module (e.g. `zig build core`) - `zig build [example]` to compile _and run_ a particular example (e.g. `zig build core_basic_window`) -## EXAMPLES COLLECTION [TOTAL: 161] +## EXAMPLES COLLECTION [TOTAL: 162] ### category: core [36] @@ -60,7 +60,7 @@ Examples using raylib[core](../src/rcore.c) platform functionality like window c | [core_random_sequence](core/core_random_sequence.c) | core_random_sequence | ⭐☆☆☆ | 5.0 | 5.0 | [Dalton Overmyer](https://github.com/REDl3east) | | [core_automation_events](core/core_automation_events.c) | core_automation_events | ⭐⭐⭐☆ | 5.0 | 5.0 | [Ramon Santamaria](https://github.com/raysan5) | | [core_high_dpi](core/core_high_dpi.c) | core_high_dpi | ⭐⭐☆☆ | 5.0 | 5.5 | [Jonathan Marler](https://github.com/marler8997) | -| [core_render_texture](core/core_render_texture.c) | core_render_texture | ⭐☆☆☆ | 5.6-dev | 5.6-dev | [@raysan5](https://github.com/ Santamaria") | +| [core_render_texture](core/core_render_texture.c) | core_render_texture | ⭐☆☆☆ | 5.6-dev | 5.6-dev | [Ramon Santamaria](https://github.com/raysan5) | ### category: shapes [20] @@ -122,7 +122,7 @@ Examples using raylib textures functionality, including image/textures loading/g | [textures_image_rotate](textures/textures_image_rotate.c) | textures_image_rotate | ⭐⭐☆☆ | 1.0 | 1.0 | [Ramon Santamaria](https://github.com/raysan5) | | [textures_textured_curve](textures/textures_textured_curve.c) | textures_textured_curve | ⭐⭐⭐☆ | 4.5 | 4.5 | [Jeffery Myers](https://github.com/JeffM2501) | -### category: text [13] +### category: text [14] Examples using raylib text functionality, including sprite fonts loading/generation and text drawing, provided by raylib [text](../src/rtext.c) module. @@ -141,6 +141,7 @@ Examples using raylib text functionality, including sprite fonts loading/generat | [text_unicode_ranges](text/text_unicode_ranges.c) | text_unicode_ranges | ⭐⭐⭐⭐️ | 5.5 | 5.6 | [Vlad Adrian](https://github.com/demizdor) | | [text_3d_drawing](text/text_3d_drawing.c) | text_3d_drawing | ⭐⭐⭐⭐️ | 3.5 | 4.0 | [Vlad Adrian](https://github.com/demizdor) | | [text_codepoints_loading](text/text_codepoints_loading.c) | text_codepoints_loading | ⭐⭐⭐☆ | 4.2 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | +| [text_inline_styling](text/text_inline_styling.c) | text_inline_styling | ⭐⭐⭐☆ | 5.6-dev | 5.6-dev | [Wagner Barongello](https://github.com/SultansOfCode) | ### category: models [23] diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 1cbc5b80b..c76176c86 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -102,6 +102,7 @@ text;text_unicode_emojis;★★★★;2.5;4.0;2019;2025;"Vlad Adrian";@demizdor text;text_unicode_ranges;★★★★;5.5;5.6;2025;2025;"Vlad Adrian";@demizdor text;text_3d_drawing;★★★★;3.5;4.0;2021;2025;"Vlad Adrian";@demizdor text;text_codepoints_loading;★★★☆;4.2;4.2;2022;2025;"Ramon Santamaria";@raysan5 +text;text_inline_styling;★★★☆;5.6-dev;5.6-dev;2025;2025;"Wagner Barongello";@SultansOfCode models;models_animation_playing;★★☆☆;2.5;3.5;2019;2025;"Culacant";@culacant models;models_billboard_rendering;★★★☆;1.3;3.5;2015;2025;"Ramon Santamaria";@raysan5 models;models_box_collisions;★☆☆☆;1.3;3.5;2015;2025;"Ramon Santamaria";@raysan5 diff --git a/examples/text/text_inline_styling.c b/examples/text/text_inline_styling.c new file mode 100644 index 000000000..865b1c5d0 --- /dev/null +++ b/examples/text/text_inline_styling.c @@ -0,0 +1,273 @@ +/******************************************************************************************* +* +* raylib [text] example - inline styling +* +* Example complexity rating: [★★★☆] 3/4 +* +* Example originally created with raylib 5.6-dev, last time updated with raylib 5.6-dev +* +* Example contributed by Wagner Barongello (@SultansOfCode) and reviewed by Ramon Santamaria (@raysan5) +* +* Example 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) 2025 Wagner Barongello (@SultansOfCode) and Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#include // Required for: strtoul(), NULL + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +static void DrawTextStyled(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color color); +static Vector2 MeasureTextStyled(Font font, const char *text, float fontSize, float spacing); + +//------------------------------------------------------------------------------------ +// Program main entry point +//------------------------------------------------------------------------------------ +int main(void) +{ + // Initialization + //-------------------------------------------------------------------------------------- + const int screenWidth = 800; + const int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [text] example - inline styling"); + + Vector2 textSize = { 0 }; // Measure text box for provided font and text + Color colRandom = RED; // Random color used on text + int frameCounter = 0; // Used to generate a new random color every certain frames + + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + frameCounter++; + + if ((frameCounter%20) == 0) + { + colRandom.r = (unsigned char)GetRandomValue(0, 255); + colRandom.g = (unsigned char)GetRandomValue(0, 255); + colRandom.b = (unsigned char)GetRandomValue(0, 255); + colRandom.a = 255; + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + // Text inline styling strategy used: [ ] delimiters for format + // - Define foreground color: [cRRGGBBAA] + // - Define background color: [bRRGGBBAA] + // - Reset formating: [r] + // Example: [bAA00AAFF][cFF0000FF]red text on gray background[r] normal text + + DrawTextStyled(GetFontDefault(), "This changes the [cFF0000FF]foreground color[r] of provided text!!!", + (Vector2){ 100, 80 }, 20.0f, 2.0f, BLACK); + + DrawTextStyled(GetFontDefault(), "This changes the [bFF00FFFF]background color[r] of provided text!!!", + (Vector2){ 100, 120 }, 20.0f, 2.0f, BLACK); + + DrawTextStyled(GetFontDefault(), "This changes the [c00ff00ff][bff0000ff]foreground and background colors[r]!!!", + (Vector2){ 100, 160 }, 20.0f, 2.0f, BLACK); + + // Get pointer to formated text + const char *text = TextFormat("Let's be [c%02x%02x%02xFF]CREATIVE[r] !!!", colRandom.r, colRandom.g, colRandom.b); + DrawTextStyled(GetFontDefault(), text, (Vector2){ 100, 220 }, 40.0f, 2.0f, BLACK); + + textSize = MeasureTextStyled(GetFontDefault(), text, 40.0f, 2.0f); + DrawRectangleLines(100, 220, textSize.x, textSize.y, GREEN); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +// Draw text using inline styling +// PARAM: color is the default text color, background color is BLANK by default +static void DrawTextStyled(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color color) +{ + // Text inline styling strategy used: [ ] delimiters for format + // - Define foreground color: [cRRGGBBAA] + // - Define background color: [bRRGGBBAA] + // - Reset formating: [r] + // Example: [bAA00AAFF][cFF0000FF]red text on gray background[r] normal text + + if (font.texture.id == 0) font = GetFontDefault(); + + int textLen = TextLength(text); + + Color colFront = color; + Color colBack = BLANK; + int backRecPadding = 4; // Background rectangle padding + + float textOffsetY = 0.0f; + float textOffsetX = 0.0f; + float textLineSpacing = 0.0f; + float scaleFactor = fontSize/font.baseSize; + + for (int i = 0; i < textLen;) + { + int codepointByteCount = 0; + int codepoint = GetCodepointNext(&text[i], &codepointByteCount); + + if (codepoint == '\n') + { + textOffsetY += (fontSize + textLineSpacing); + textOffsetX = 0.0f; + } + else + { + if (codepoint == '[') // Process pipe styling + { + if (((i + 2) < textLen) && (text[i + 1] == 'r') && (text[i + 2] == ']')) // Reset styling + { + colFront = color; + colBack = BLANK; + + i += 3; // Skip "[r]" + continue; // Do not draw characters + } + else if (((i + 1) < textLen) && ((text[i + 1] == 'c') || (text[i + 1] == 'b'))) + { + i += 2; // Skip "[c" or "[b" to start parsing color + + // Parse following color + char colHexText[9] = { 0 }; + char *textPtr = &text[i]; // Color should start here, let's see... + + int colHexCount = 0; + while ((textPtr != NULL) && (textPtr[colHexCount] != '\0') && (textPtr[colHexCount] != ']')) + { + if (((textPtr[colHexCount] >= '0') && (textPtr[colHexCount] <= '9')) || + ((textPtr[colHexCount] >= 'A') && (textPtr[colHexCount] <= 'F')) || + ((textPtr[colHexCount] >= 'a') && (textPtr[colHexCount] <= 'f'))) + { + colHexText[colHexCount] = textPtr[colHexCount]; + colHexCount++; + } + else break; // Only affects while loop + } + + // Convert hex color text into actual Color + unsigned int colHexValue = strtoul(colHexText, NULL, 16); + if (text[i - 1] == 'c') colFront = GetColor(colHexValue); + else if (text[i - 1] == 'b') colBack = GetColor(colHexValue); + + i += (colHexCount + 1); // Skip color value retrieved and ']' + continue; // Do not draw characters + } + } + + int index = GetGlyphIndex(font, codepoint); + float increaseX = 0.0f; + + if (font.glyphs[index].advanceX == 0) increaseX = ((float)font.recs[index].width*scaleFactor + spacing); + else increaseX += ((float)font.glyphs[index].advanceX*scaleFactor + spacing); + + // Draw background rectangle color (if required) + if (colBack.a > 0) DrawRectangle(position.x + textOffsetX, position.y + textOffsetY - backRecPadding, increaseX, fontSize + 2*backRecPadding, colBack); + + if ((codepoint != ' ') && (codepoint != '\t')) + { + DrawTextCodepoint(font, codepoint, (Vector2){ position.x + textOffsetX, position.y + textOffsetY }, fontSize, colFront); + } + + textOffsetX += increaseX; + } + + i += codepointByteCount; + } +} + +// Measure inline styled text +// NOTE: Measuring styled text requires skipping styling data +// WARNING: Not considering line breaks +static Vector2 MeasureTextStyled(Font font, const char *text, float fontSize, float spacing) +{ + Vector2 textSize = { 0 }; + + if ((font.texture.id == 0) || (text == NULL) || (text[0] == '\0')) return textSize; // Security check + + int textLen = TextLength(text); // Get size in bytes of text + float textLineSpacing = fontSize*1.5f; + + float textWidth = 0.0f; + float textHeight = fontSize; + float scaleFactor = fontSize/(float)font.baseSize; + + int codepoint = 0; // Current character + int index = 0; // Index position in sprite font + int validCodepointCounter = 0; + + for (int i = 0; i < textLen;) + { + int codepointByteCount = 0; + codepoint = GetCodepointNext(&text[i], &codepointByteCount); + + if (codepoint == '[') // Ignore pipe inline styling + { + if (((i + 2) < textLen) && (text[i + 1] == 'r') && (text[i + 2] == ']')) // Reset styling + { + i += 3; // Skip "[r]" + continue; // Do not measure characters + } + else if (((i + 1) < textLen) && ((text[i + 1] == 'c') || (text[i + 1] == 'b'))) + { + i += 2; // Skip "[c" or "[b" to start parsing color + + char *textPtr = &text[i]; // Color should start here, let's see... + + int colHexCount = 0; + while ((textPtr != NULL) && (textPtr[colHexCount] != '\0') && (textPtr[colHexCount] != ']')) + { + if (((textPtr[colHexCount] >= '0') && (textPtr[colHexCount] <= '9')) || + ((textPtr[colHexCount] >= 'A') && (textPtr[colHexCount] <= 'F')) || + ((textPtr[colHexCount] >= 'a') && (textPtr[colHexCount] <= 'f'))) + { + colHexCount++; + } + else break; // Only affects while loop + } + + i += (colHexCount + 1); // Skip color value retrieved and ']' + continue; // Do not measure characters + } + } + else if (codepoint != '\n') + { + index = GetGlyphIndex(font, codepoint); + + if (font.glyphs[index].advanceX > 0) textWidth += font.glyphs[index].advanceX; + else textWidth += (font.recs[index].width + font.glyphs[index].offsetX); + + validCodepointCounter++; + i += codepointByteCount; + } + } + + textSize.x = textWidth*scaleFactor + (validCodepointCounter - 1)*spacing; + textSize.y = textHeight; + + return textSize; +} diff --git a/examples/text/text_inline_styling.png b/examples/text/text_inline_styling.png new file mode 100644 index 0000000000000000000000000000000000000000..fac734d4921e7086429f2115f8d793d3d1a5b214 GIT binary patch literal 16596 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 + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {6B1A933E-71B8-4C1F-9E79-02D98830E671} + Win32Proj + text_inline_styling + 10.0 + text_inline_styling + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\text + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\text + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\text + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\text + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\text + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\text + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\text + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\text + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\text + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\text + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\text + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\text + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 4d9486e43..7ccb1b704 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -341,6 +341,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_input_gestures_testbed EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_render_texture", "examples\core_render_texture.vcxproj", "{6B1A933E-71B8-4C1F-9E79-02D98830E671}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "text_inline_styling", "examples\text_inline_styling.vcxproj", "{6B1A933E-71B8-4C1F-9E79-02D98830E671}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug.DLL|ARM64 = Debug.DLL|ARM64 @@ -4195,6 +4197,30 @@ Global {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.Build.0 = Release|x64 {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.ActiveCfg = Release|Win32 {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.Build.0 = Release|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.Build.0 = Debug.DLL|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.Build.0 = Debug|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.ActiveCfg = Debug|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.Build.0 = Debug|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.ActiveCfg = Debug|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.Build.0 = Debug|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.ActiveCfg = Release.DLL|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.Build.0 = Release.DLL|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.ActiveCfg = Release.DLL|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.Build.0 = Release.DLL|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.Build.0 = Release.DLL|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.ActiveCfg = Release|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.Build.0 = Release|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.ActiveCfg = Release|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.Build.0 = Release|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.ActiveCfg = Release|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -4367,6 +4393,7 @@ Global {6777EC3C-077C-42FC-B4AD-B799CE55CCE4} = {8D3C83B7-F1E0-4C2E-9E34-EE5F6AB2502A} {A61DAD9C-271C-4E95-81AA-DB4CD58564D4} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} {6B1A933E-71B8-4C1F-9E79-02D98830E671} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} + {6B1A933E-71B8-4C1F-9E79-02D98830E671} = {8D3C83B7-F1E0-4C2E-9E34-EE5F6AB2502A} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {E926C768-6307-4423-A1EC-57E95B1FAB29} From 2550a45821dfedf29f23d3a0bfa04960d9dcc868 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 10 Sep 2025 18:31:52 +0200 Subject: [PATCH 091/125] Update core_render_texture.c --- examples/core/core_render_texture.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/core/core_render_texture.c b/examples/core/core_render_texture.c index f08d3afe0..a48982b3d 100644 --- a/examples/core/core_render_texture.c +++ b/examples/core/core_render_texture.c @@ -9,7 +9,7 @@ * Example 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) 2025 @raysan5 (@ Santamaria") +* Copyright (c) 2025 Ramon Santamaria (@raysan5) * ********************************************************************************************/ From 8a1468c0c7db17307fb8248fafd7d785e0d26d65 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 10 Sep 2025 21:02:26 +0200 Subject: [PATCH 092/125] Update examples_report.md --- tools/rexm/examples_report.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/rexm/examples_report.md b/tools/rexm/examples_report.md index b3aac08b9..2c1555049 100644 --- a/tools/rexm/examples_report.md +++ b/tools/rexm/examples_report.md @@ -55,6 +55,7 @@ Example elements validated: | core_random_sequence | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_automation_events | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_high_dpi | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| core_render_texture | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_basic_shapes | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_bouncing_ball | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_colors_palette | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -114,6 +115,7 @@ Example elements validated: | text_unicode_ranges | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_3d_drawing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | text_codepoints_loading | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| text_inline_styling | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_animation_playing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_billboard_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | models_box_collisions | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | From 5a54fc12a25a451a3db2c1abd0cd3d2bb45231e3 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 10 Sep 2025 21:03:06 +0200 Subject: [PATCH 093/125] REVIEWED: Prioritize `calloc()` calls than `malloc()` on some cases --- src/platforms/rcore_desktop_glfw.c | 6 +++--- src/rcore.c | 4 ++-- src/rlgl.h | 24 ++++++++++++------------ src/utils.c | 4 ++-- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/platforms/rcore_desktop_glfw.c b/src/platforms/rcore_desktop_glfw.c index 9d1f64771..6cf5ffb84 100644 --- a/src/platforms/rcore_desktop_glfw.c +++ b/src/platforms/rcore_desktop_glfw.c @@ -148,8 +148,8 @@ static void CursorEnterCallback(GLFWwindow *window, int enter); static void JoystickCallback(int jid, int event); // GLFW3 Joystick Connected/Disconnected Callback // Wrappers used by glfwInitAllocator -static void *AllocateWrapper(size_t size, void *user); // GLFW3 GLFWallocatefun, wrapps around RL_MALLOC macro -static void *ReallocateWrapper(void *block, size_t size, void *user); // GLFW3 GLFWreallocatefun, wrapps around RL_MALLOC macro +static void *AllocateWrapper(size_t size, void *user); // GLFW3 GLFWallocatefun, wrapps around RL_CALLOC macro +static void *ReallocateWrapper(void *block, size_t size, void *user); // GLFW3 GLFWreallocatefun, wrapps around RL_REALLOC macro static void DeallocateWrapper(void *block, void *user); // GLFW3 GLFWdeallocatefun, wraps around RL_FREE macro //---------------------------------------------------------------------------------- @@ -1342,7 +1342,7 @@ static void SetDimensionsFromMonitor(GLFWmonitor *monitor) static void *AllocateWrapper(size_t size, void *user) { (void)user; - return RL_MALLOC(size); + return RL_CALLOC(size, 1); } static void *ReallocateWrapper(void *block, size_t size, void *user) { diff --git a/src/rcore.c b/src/rcore.c index 8dd9fd82c..3455ff8c3 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -2318,8 +2318,8 @@ FilePathList LoadDirectoryFiles(const char *dirPath) // Memory allocation for dirFileCount files.capacity = fileCounter; - files.paths = (char **)RL_MALLOC(files.capacity*sizeof(char *)); - for (unsigned int i = 0; i < files.capacity; i++) files.paths[i] = (char *)RL_MALLOC(MAX_FILEPATH_LENGTH*sizeof(char)); + files.paths = (char **)RL_CALLOC(files.capacity, sizeof(char *)); + for (unsigned int i = 0; i < files.capacity; i++) files.paths[i] = (char *)RL_CALLOC(MAX_FILEPATH_LENGTH, sizeof(char)); closedir(dir); diff --git a/src/rlgl.h b/src/rlgl.h index 884110c56..ec581fcdc 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -889,7 +889,7 @@ RLAPI void rlLoadDrawQuad(void); // Load and draw a quad #endif #endif -#include // Required for: malloc(), free() +#include // Required for: calloc(), free() #include // Required for: strcmp(), strlen() [Used in rlglInit(), on extensions loading] #include // Required for: sqrtf(), sinf(), cosf(), floor(), log() @@ -2429,7 +2429,7 @@ void rlLoadExtensions(void *loader) // Get supported extensions list GLint numExt = 0; - const char **extList = (const char **)RL_MALLOC(512*sizeof(const char *)); // Allocate 512 strings pointers (2 KB) + const char **extList = (const char **)RL_CALLOC(512, sizeof(const char *)); // Allocate 512 strings pointers (2 KB) const char *extensions = (const char *)glGetString(GL_EXTENSIONS); // One big const string // NOTE: We have to duplicate string because glGetString() returns a const string @@ -2741,21 +2741,21 @@ rlRenderBatch rlLoadRenderBatch(int numBuffers, int bufferElements) #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) // Initialize CPU (RAM) vertex buffers (position, texcoord, color data and indexes) //-------------------------------------------------------------------------------------------- - batch.vertexBuffer = (rlVertexBuffer *)RL_MALLOC(numBuffers*sizeof(rlVertexBuffer)); + batch.vertexBuffer = (rlVertexBuffer *)RL_CALLOC(numBuffers, sizeof(rlVertexBuffer)); for (int i = 0; i < numBuffers; i++) { batch.vertexBuffer[i].elementCount = bufferElements; - batch.vertexBuffer[i].vertices = (float *)RL_MALLOC(bufferElements*3*4*sizeof(float)); // 3 float by vertex, 4 vertex by quad - batch.vertexBuffer[i].texcoords = (float *)RL_MALLOC(bufferElements*2*4*sizeof(float)); // 2 float by texcoord, 4 texcoord by quad - batch.vertexBuffer[i].normals = (float *)RL_MALLOC(bufferElements*3*4*sizeof(float)); // 3 float by vertex, 4 vertex by quad - batch.vertexBuffer[i].colors = (unsigned char *)RL_MALLOC(bufferElements*4*4*sizeof(unsigned char)); // 4 float by color, 4 colors by quad + batch.vertexBuffer[i].vertices = (float *)RL_CALLOC(bufferElements*3*4, sizeof(float)); // 3 float by vertex, 4 vertex by quad + batch.vertexBuffer[i].texcoords = (float *)RL_CALLOC(bufferElements*2*4, sizeof(float)); // 2 float by texcoord, 4 texcoord by quad + batch.vertexBuffer[i].normals = (float *)RL_CALLOC(bufferElements*3*4, sizeof(float)); // 3 float by vertex, 4 vertex by quad + batch.vertexBuffer[i].colors = (unsigned char *)RL_CALLOC(bufferElements*4*4, sizeof(unsigned char)); // 4 float by color, 4 colors by quad #if defined(GRAPHICS_API_OPENGL_33) - batch.vertexBuffer[i].indices = (unsigned int *)RL_MALLOC(bufferElements*6*sizeof(unsigned int)); // 6 int by quad (indices) + batch.vertexBuffer[i].indices = (unsigned int *)RL_CALLOC(bufferElements*6, sizeof(unsigned int)); // 6 int by quad (indices) #endif #if defined(GRAPHICS_API_OPENGL_ES2) - batch.vertexBuffer[i].indices = (unsigned short *)RL_MALLOC(bufferElements*6*sizeof(unsigned short)); // 6 int by quad (indices) + batch.vertexBuffer[i].indices = (unsigned short *)RL_CALLOC(bufferElements*6, sizeof(unsigned short)); // 6 int by quad (indices) #endif for (int j = 0; j < (3*4*bufferElements); j++) batch.vertexBuffer[i].vertices[j] = 0.0f; @@ -2843,7 +2843,7 @@ rlRenderBatch rlLoadRenderBatch(int numBuffers, int bufferElements) // Init draw calls tracking system //-------------------------------------------------------------------------------------------- - batch.draws = (rlDrawCall *)RL_MALLOC(RL_DEFAULT_BATCH_DRAWCALLS*sizeof(rlDrawCall)); + batch.draws = (rlDrawCall *)RL_CALLOC(RL_DEFAULT_BATCH_DRAWCALLS, sizeof(rlDrawCall)); for (int i = 0; i < RL_DEFAULT_BATCH_DRAWCALLS; i++) { @@ -3649,7 +3649,7 @@ void *rlReadTexturePixels(unsigned int id, int width, int height, int format) if ((glInternalFormat != 0) && (format < RL_PIXELFORMAT_COMPRESSED_DXT1_RGB)) { - pixels = RL_MALLOC(size); + pixels = RL_CALLOC(size, 1); glGetTexImage(GL_TEXTURE_2D, 0, glFormat, glType, pixels); } else TRACELOG(RL_LOG_WARNING, "TEXTURE: [ID %i] Data retrieval not suported for pixel format (%i)", id, format); @@ -3674,7 +3674,7 @@ void *rlReadTexturePixels(unsigned int id, int width, int height, int format) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, id, 0); // We read data as RGBA because FBO texture is configured as RGBA, despite binding another texture format - pixels = (unsigned char *)RL_MALLOC(rlGetPixelDataSize(width, height, RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8)); + pixels = RL_CALLOC(rlGetPixelDataSize(width, height, RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8), 1); glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, pixels); glBindFramebuffer(GL_FRAMEBUFFER, 0); diff --git a/src/utils.c b/src/utils.c index 971ed5b6e..5ccbc4fa9 100644 --- a/src/utils.c +++ b/src/utils.c @@ -203,7 +203,7 @@ unsigned char *LoadFileData(const char *fileName, int *dataSize) if (size > 0) { - data = (unsigned char *)RL_MALLOC(size*sizeof(unsigned char)); + data = (unsigned char *)RL_CALLOC(size, sizeof(unsigned char)); if (data != NULL) { @@ -366,7 +366,7 @@ char *LoadFileText(const char *fileName) if (size > 0) { - text = (char *)RL_MALLOC((size + 1)*sizeof(char)); + text = (char *)RL_CALLOC(size + 1, sizeof(char)); if (text != NULL) { From d0c39db6c2c996c716ab97e7e486f6e6ac920162 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 12 Sep 2025 13:02:13 +0200 Subject: [PATCH 094/125] Update rlgl.h --- src/rlgl.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/rlgl.h b/src/rlgl.h index ec581fcdc..9038e2a48 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -870,6 +870,7 @@ RLAPI void rlLoadDrawQuad(void); // Load and draw a quad #elif defined(GRAPHICS_API_OPENGL_ES2) // NOTE: OpenGL ES 2.0 can be enabled on Desktop platforms, // in that case, functions are loaded from a custom glad for OpenGL ES 2.0 + // TODO: OpenGL ES 2.0 support shouldn't be platform-dependant, neither require GLAD #if defined(PLATFORM_DESKTOP_GLFW) || defined(PLATFORM_DESKTOP_SDL) #define GLAD_GLES2_IMPLEMENTATION #include "external/glad_gles2.h" From 8d3a4b8dd5483c96b04c603569a3c7c0c406c8bc Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 12 Sep 2025 13:03:28 +0200 Subject: [PATCH 095/125] REVIEWED: Renamed `PLATFORM_DESKTOP_SDL3` to `USING_VERSION_SDL3` #5175 Avoid using a new platform flag to address one platform version --- src/platforms/rcore_desktop_sdl.c | 52 +++++++++++++++---------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c index 33788d720..f07554762 100644 --- a/src/platforms/rcore_desktop_sdl.c +++ b/src/platforms/rcore_desktop_sdl.c @@ -85,8 +85,8 @@ #endif #if ((defined(SDL_MAJOR_VERSION) && (SDL_MAJOR_VERSION == 3)) && (defined(SDL_MINOR_VERSION) && (SDL_MINOR_VERSION >= 1))) - #ifndef PLATFORM_DESKTOP_SDL3 - #define PLATFORM_DESKTOP_SDL3 + #ifndef USING_VERSION_SDL3 + #define USING_VERSION_SDL3 #endif #endif @@ -255,7 +255,7 @@ static const int CursorsLUT[] = { }; // SDL3 Migration Layer made to avoid 'ifdefs' inside functions when we can -#if defined(PLATFORM_DESKTOP_SDL3) +#if defined(USING_VERSION_SDL3) // SDL3 Migration: // SDL_WINDOW_FULLSCREEN_DESKTOP has been removed, @@ -429,7 +429,7 @@ void *SDL_GetClipboardData(const char *mime_type, size_t *size) return NULL; } -#endif // PLATFORM_DESKTOP_SDL3 +#endif // USING_VERSION_SDL3 //---------------------------------------------------------------------------------- // Module Internal Functions Declaration @@ -463,7 +463,7 @@ void ToggleFullscreen(void) const int monitor = SDL_GetWindowDisplayIndex(platform.window); const int monitorCount = SDL_GetNumVideoDisplays(); -#if defined(PLATFORM_DESKTOP_SDL3) // SDL3 Migration: Monitor is an id instead of index now, returns 0 on failure +#if defined(USING_VERSION_SDL3) // SDL3 Migration: Monitor is an id instead of index now, returns 0 on failure if ((monitor > 0) && (monitor <= monitorCount)) #else if ((monitor >= 0) && (monitor < monitorCount)) @@ -491,7 +491,7 @@ void ToggleBorderlessWindowed(void) const int monitor = SDL_GetWindowDisplayIndex(platform.window); const int monitorCount = SDL_GetNumVideoDisplays(); -#if defined(PLATFORM_DESKTOP_SDL3) // SDL3 Migration: Monitor is an id instead of index now, returns 0 on failure +#if defined(USING_VERSION_SDL3) // SDL3 Migration: Monitor is an id instead of index now, returns 0 on failure if ((monitor > 0) && (monitor <= monitorCount)) #else if ((monitor >= 0) && (monitor < monitorCount)) @@ -548,7 +548,7 @@ void SetWindowState(unsigned int flags) const int monitor = SDL_GetWindowDisplayIndex(platform.window); const int monitorCount = SDL_GetNumVideoDisplays(); - #if defined(PLATFORM_DESKTOP_SDL3) // SDL3 Migration: Monitor is an id instead of index now, returns 0 on failure + #if defined(USING_VERSION_SDL3) // SDL3 Migration: Monitor is an id instead of index now, returns 0 on failure if ((monitor > 0) && (monitor <= monitorCount)) #else if ((monitor >= 0) && (monitor < monitorCount)) @@ -612,7 +612,7 @@ void SetWindowState(unsigned int flags) const int monitor = SDL_GetWindowDisplayIndex(platform.window); const int monitorCount = SDL_GetNumVideoDisplays(); - #if defined(PLATFORM_DESKTOP_SDL3) // SDL3 Migration: Monitor is an id instead of index now, returns 0 on failure + #if defined(USING_VERSION_SDL3) // SDL3 Migration: Monitor is an id instead of index now, returns 0 on failure if ((monitor > 0) && (monitor <= monitorCount)) #else if ((monitor >= 0) && (monitor < monitorCount)) @@ -850,7 +850,7 @@ void SetWindowMonitor(int monitor) const int screenHeight = CORE.Window.screen.height; SDL_Rect usableBounds; - #if defined(PLATFORM_DESKTOP_SDL3) // Different style for success checking + #if defined(USING_VERSION_SDL3) // Different style for success checking if (SDL_GetDisplayUsableBounds(monitor, &usableBounds)) #else if (SDL_GetDisplayUsableBounds(monitor, &usableBounds) == 0) @@ -966,7 +966,7 @@ Vector2 GetMonitorPosition(int monitor) { SDL_Rect displayBounds; - #if defined(PLATFORM_DESKTOP_SDL3) + #if defined(USING_VERSION_SDL3) if (SDL_GetDisplayUsableBounds(monitor, &displayBounds)) #else if (SDL_GetDisplayUsableBounds(monitor, &displayBounds) == 0) @@ -1098,7 +1098,7 @@ Vector2 GetWindowScaleDPI(void) { Vector2 scale = { 1.0f, 1.0f }; -#ifndef PLATFORM_DESKTOP_SDL3 +#ifndef USING_VERSION_SDL3 // NOTE: SDL_GetWindowDisplayScale was only added on SDL3 // see https://wiki.libsdl.org/SDL3/SDL_GetWindowDisplayScale // TODO: Implement the window scale factor calculation manually @@ -1184,7 +1184,7 @@ Image GetClipboardImage(void) // Show mouse cursor void ShowCursor(void) { -#if defined(PLATFORM_DESKTOP_SDL3) +#if defined(USING_VERSION_SDL3) SDL_ShowCursor(); #else SDL_ShowCursor(SDL_ENABLE); @@ -1195,7 +1195,7 @@ void ShowCursor(void) // Hides mouse cursor void HideCursor(void) { -#if defined(PLATFORM_DESKTOP_SDL3) +#if defined(USING_VERSION_SDL3) SDL_HideCursor(); #else SDL_ShowCursor(SDL_DISABLE); @@ -1208,7 +1208,7 @@ void EnableCursor(void) { SDL_SetRelativeMouseMode(SDL_FALSE); -#if defined(PLATFORM_DESKTOP_SDL3) +#if defined(USING_VERSION_SDL3) // SDL_ShowCursor() has been split into three functions: SDL_ShowCursor(), SDL_HideCursor(), and SDL_CursorVisible() SDL_ShowCursor(); #else @@ -1309,7 +1309,7 @@ const char *GetKeyName(int key) static void UpdateTouchPointsSDL(SDL_TouchFingerEvent event) { -#if defined(PLATFORM_DESKTOP_SDL3) // SDL3 +#if defined(USING_VERSION_SDL3) // SDL3 int count = 0; SDL_Finger **fingers = SDL_GetTouchFingers(event.touchID, &count); CORE.Input.Touch.pointCount = count; @@ -1436,7 +1436,7 @@ void PollInputEvents(void) CORE.Window.dropFilepaths[CORE.Window.dropFileCount] = (char *)RL_CALLOC(MAX_FILEPATH_LENGTH, sizeof(char)); - #if defined(PLATFORM_DESKTOP_SDL3) + #if defined(USING_VERSION_SDL3) // const char *data; /**< The text for SDL_EVENT_DROP_TEXT and the file name for SDL_EVENT_DROP_FILE, NULL for other events */ // Event memory is now managed by SDL, so you should not free the data in SDL_EVENT_DROP_FILE, and if you want to hold onto the text in SDL_EVENT_TEXT_EDITING and SDL_EVENT_TEXT_INPUT events, you should make a copy of it. SDL_TEXTINPUTEVENT_TEXT_SIZE is no longer necessary and has been removed. strcpy(CORE.Window.dropFilepaths[CORE.Window.dropFileCount], event.drop.data); @@ -1451,7 +1451,7 @@ void PollInputEvents(void) { CORE.Window.dropFilepaths[CORE.Window.dropFileCount] = (char *)RL_CALLOC(MAX_FILEPATH_LENGTH, sizeof(char)); - #if defined(PLATFORM_DESKTOP_SDL3) + #if defined(USING_VERSION_SDL3) strcpy(CORE.Window.dropFilepaths[CORE.Window.dropFileCount], event.drop.data); #else strcpy(CORE.Window.dropFilepaths[CORE.Window.dropFileCount], event.drop.file); @@ -1466,7 +1466,7 @@ void PollInputEvents(void) // Window events are also polled (Minimized, maximized, close...) - #ifndef PLATFORM_DESKTOP_SDL3 + #ifndef USING_VERSION_SDL3 // SDL3 states: // The SDL_WINDOWEVENT_* events have been moved to top level events, and SDL_WINDOWEVENT has been removed // In general, handling this change just means checking for the individual events instead of first checking for SDL_WINDOWEVENT @@ -1497,7 +1497,7 @@ void PollInputEvents(void) CORE.Window.currentFbo.height = height; CORE.Window.resizedLastFrame = true; - #ifndef PLATFORM_DESKTOP_SDL3 + #ifndef USING_VERSION_SDL3 // Manually detect if the window was maximized (due to SDL2 restore being unreliable on some platforms) to remove the FLAG_WINDOW_MAXIMIZED accordingly if ((CORE.Window.flags & FLAG_WINDOW_MAXIMIZED) > 0) { @@ -1538,7 +1538,7 @@ void PollInputEvents(void) if ((CORE.Window.flags & FLAG_WINDOW_MINIMIZED) > 0) CORE.Window.flags &= ~FLAG_WINDOW_MINIMIZED; } - #ifdef PLATFORM_DESKTOP_SDL3 + #ifdef USING_VERSION_SDL3 if ((SDL_GetWindowFlags(platform.window) & SDL_WINDOW_MAXIMIZED) == 0) { if ((CORE.Window.flags & SDL_WINDOW_MAXIMIZED) > 0) CORE.Window.flags &= ~SDL_WINDOW_MAXIMIZED; @@ -1564,7 +1564,7 @@ void PollInputEvents(void) if ((CORE.Window.flags & FLAG_WINDOW_UNFOCUSED) == 0) CORE.Window.flags |= FLAG_WINDOW_UNFOCUSED; } break; - #ifndef PLATFORM_DESKTOP_SDL3 + #ifndef USING_VERSION_SDL3 default: break; } } break; @@ -1573,7 +1573,7 @@ void PollInputEvents(void) // Keyboard events case SDL_KEYDOWN: { - #if defined(PLATFORM_DESKTOP_SDL3) + #if defined(USING_VERSION_SDL3) // SDL3 Migration: The following structures have been removed: * SDL_Keysym KeyboardKey key = ConvertScancodeToKey(event.key.scancode); #else @@ -1604,7 +1604,7 @@ void PollInputEvents(void) case SDL_KEYUP: { - #if defined(PLATFORM_DESKTOP_SDL3) + #if defined(USING_VERSION_SDL3) KeyboardKey key = ConvertScancodeToKey(event.key.scancode); #else KeyboardKey key = ConvertScancodeToKey(event.key.keysym.scancode); @@ -1620,7 +1620,7 @@ void PollInputEvents(void) if (CORE.Input.Keyboard.charPressedQueueCount < MAX_CHAR_PRESSED_QUEUE) { // Add character (codepoint) to the queue - #if defined(PLATFORM_DESKTOP_SDL3) + #if defined(USING_VERSION_SDL3) size_t textLen = strlen(event.text.text); unsigned int codepoint = (unsigned int)SDL_StepUTF8(&event.text.text, &textLen); #else @@ -1991,7 +1991,7 @@ int InitPlatform(void) } // Init window -#if defined(PLATFORM_DESKTOP_SDL3) +#if defined(USING_VERSION_SDL3) platform.window = SDL_CreateWindow(CORE.Window.title, CORE.Window.screen.width, CORE.Window.screen.height, flags); #else platform.window = SDL_CreateWindow(CORE.Window.title, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, CORE.Window.screen.width, CORE.Window.screen.height, flags); @@ -2085,7 +2085,7 @@ int InitPlatform(void) CORE.Storage.basePath = SDL_GetBasePath(); // Alternative: GetWorkingDirectory(); //---------------------------------------------------------------------------- -#if defined(PLATFORM_DESKTOP_SDL3) +#if defined(USING_VERSION_SDL3) TRACELOG(LOG_INFO, "PLATFORM: DESKTOP (SDL3): Initialized successfully"); #else TRACELOG(LOG_INFO, "PLATFORM: DESKTOP (SDL2): Initialized successfully"); From 7db5f56e814c7e91948580e61a9610ff417c3cb1 Mon Sep 17 00:00:00 2001 From: Bruno Cabral Date: Fri, 12 Sep 2025 04:07:46 -0700 Subject: [PATCH 096/125] [cmake] export automatically raylib definitions and compile/link options (#5179) --- cmake/InstallConfigurations.cmake | 11 +++- cmake/raylib-config.cmake | 83 +------------------------------ src/CMakeLists.txt | 2 +- 3 files changed, 13 insertions(+), 83 deletions(-) diff --git a/cmake/InstallConfigurations.cmake b/cmake/InstallConfigurations.cmake index 6c606e565..84caea2c0 100644 --- a/cmake/InstallConfigurations.cmake +++ b/cmake/InstallConfigurations.cmake @@ -19,9 +19,18 @@ join_paths(libdir_for_pc_file "\${exec_prefix}" "${CMAKE_INSTALL_LIBDIR}") join_paths(includedir_for_pc_file "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}") configure_file(../raylib.pc.in raylib.pc @ONLY) configure_file(../cmake/raylib-config-version.cmake raylib-config-version.cmake @ONLY) +configure_file(../cmake/raylib-config.cmake raylib-config.cmake @ONLY) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/raylib.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") install(FILES ${CMAKE_CURRENT_BINARY_DIR}/raylib-config-version.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/raylib") -install(FILES ${PROJECT_SOURCE_DIR}/../cmake/raylib-config.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/raylib") +install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/raylib-config-version.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/raylib-config.cmake" + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/raylib +) +install(EXPORT raylib-targets + FILE raylib-targets.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/raylib +) # populates raylib_{FOUND, INCLUDE_DIRS, LIBRARIES, LDFLAGS, DEFINITIONS} include(PopulateConfigVariablesLocally) diff --git a/cmake/raylib-config.cmake b/cmake/raylib-config.cmake index 8906ae4d4..f34087ccd 100644 --- a/cmake/raylib-config.cmake +++ b/cmake/raylib-config.cmake @@ -1,81 +1,2 @@ -# - Try to find raylib -# Options: -# raylib_USE_STATIC_LIBS - ON by default -# raylib_VERBOSE - OFF by default -# Once done, this defines a raylib target that can be passed to -# target_link_libraries as well as following variables: -# -# raylib_FOUND - System has raylib installed -# raylib_INCLUDE_DIRS - The include directories for the raylib header(s) -# raylib_LIBRARIES - The libraries needed to use raylib -# raylib_LDFLAGS - The linker flags needed with raylib -# raylib_DEFINITIONS - Compiler switches required for using raylib - -option(raylib_USE_STATIC_LIBS "Use static libs" ON) -option(raylib_VERBOSE "Show raylib verbose messages" OFF) - -if (NOT TARGET raylib) - set(XPREFIX PC_RAYLIB) - - find_package(PkgConfig QUIET) - pkg_check_modules(${XPREFIX} QUIET raylib) - - if (raylib_USE_STATIC_LIBS) - set(XPREFIX ${XPREFIX}_STATIC) - endif() - - set(raylib_DEFINITIONS ${${XPREFIX}_CFLAGS}) - - find_path(raylib_INCLUDE_DIR - NAMES raylib.h - HINTS ${${XPREFIX}_INCLUDE_DIRS} ${raylib_DIR}/../../../include/ - ) - - - if (raylib_USE_STATIC_LIBS) - set(RAYLIB_NAMES libraylib.a raylib.lib) - else () - set(RAYLIB_NAMES raylib) - endif () - - find_library(raylib_LIBRARY - NAMES ${RAYLIB_NAMES} - HINTS ${${XPREFIX}_LIBRARY_DIRS} ${raylib_DIR}/../../ - ) - - set(raylib_LIBRARIES ${raylib_LIBRARY}) - set(raylib_INCLUDE_DIRS ${raylib_INCLUDE_DIR}) - set(raylib_LDFLAGS ${${XPREFIX}_LDFLAGS}) - - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(raylib DEFAULT_MSG - raylib_LIBRARY - raylib_INCLUDE_DIR - ) - - mark_as_advanced(raylib_LIBRARY raylib_INCLUDE_DIR) - - if (raylib_USE_STATIC_LIBS) - add_library(raylib STATIC IMPORTED GLOBAL) - else() - add_library(raylib SHARED IMPORTED GLOBAL) - endif() - string (REPLACE ";" " " raylib_LDFLAGS "${raylib_LDFLAGS}") - - set_target_properties(raylib - PROPERTIES - IMPORTED_LOCATION "${raylib_LIBRARIES}" - IMPORTED_IMPLIB "${raylib_LIBRARIES}" - INTERFACE_INCLUDE_DIRECTORIES "${raylib_INCLUDE_DIRS}" - INTERFACE_LINK_LIBRARIES "${raylib_LDFLAGS}" - INTERFACE_COMPILE_OPTIONS "${raylib_DEFINITIONS}" - ) - - if (raylib_VERBOSE) - message(STATUS "raylib_FOUND: ${raylib_FOUND}") - message(STATUS "raylib_INCLUDE_DIRS: ${raylib_INCLUDE_DIRS}") - message(STATUS "raylib_LIBRARIES: ${raylib_LIBRARIES}") - message(STATUS "raylib_LDFLAGS: ${raylib_LDFLAGS}") - message(STATUS "raylib_DEFINITIONS: ${raylib_DEFINITIONS}") - endif() -endif() +@PACKAGE_INIT@ +include("${CMAKE_CURRENT_LIST_DIR}/raylib-targets.cmake") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4ce6cb81a..dc8ca3a9b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -91,7 +91,7 @@ if (BUILD_SHARED_LIBS) set_property(TARGET raylib PROPERTY C_VISIBILITY_PRESET hidden) endif () -target_link_libraries(raylib "${LIBS_PRIVATE}") +target_link_libraries(raylib PRIVATE $) # Sets some compile time definitions for the pre-processor # If CUSTOMIZE_BUILD option is on you will not use config.h by default From 71321d179b9742253169c7d17feaa69e37e64ee2 Mon Sep 17 00:00:00 2001 From: Bruno Cabral Date: Fri, 12 Sep 2025 12:42:50 -0700 Subject: [PATCH 097/125] [build][cmake] Added emscripten build options (#5180) * [cmake] export automatically raylib definitions and compile/link options * [cmake] pass emscripten options to consumer project --- CMakeLists.txt | 2 +- src/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f7597694c..ee095b844 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,7 +29,7 @@ include(CompilerFlags) # Registers build options that are exposed to cmake include(CMakeOptions.txt) -if (UNIX AND NOT APPLE AND NOT "${PLATFORM}" MATCHES "DRM") +if (UNIX AND NOT APPLE AND NOT "${PLATFORM}" MATCHES "DRM" AND NOT "${PLATFORM}" MATCHES "Web") if (NOT GLFW_BUILD_WAYLAND AND NOT GLFW_BUILD_X11) MESSAGE(FATAL_ERROR "Cannot disable both Wayland and X11") endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index dc8ca3a9b..4b3f87016 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -69,7 +69,7 @@ else() endif() if (${PLATFORM} MATCHES "Web") - target_link_options(raylib PUBLIC "-sUSE_GLFW=3") + target_link_options(raylib PUBLIC "-sUSE_GLFW=3" -sEXPORTED_RUNTIME_METHODS=ccall -sASYNCIFY) if(${GRAPHICS} MATCHES "GRAPHICS_API_OPENGL_ES3") target_link_options(raylib PUBLIC "-sMIN_WEBGL_VERSION=2") target_link_options(raylib PUBLIC "-sMAX_WEBGL_VERSION=2") From 28ce99b5398326260c35f5af8b63002a2f0044b7 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 12 Sep 2025 21:44:56 +0200 Subject: [PATCH 098/125] Update core_3d_camera_fps.c --- examples/core/core_3d_camera_fps.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/examples/core/core_3d_camera_fps.c b/examples/core/core_3d_camera_fps.c index 0b1a5bdc5..c3c779431 100644 --- a/examples/core/core_3d_camera_fps.c +++ b/examples/core/core_3d_camera_fps.c @@ -261,8 +261,7 @@ static void UpdateCameraFPS(Camera *camera) Vector3 right = Vector3Normalize(Vector3CrossProduct(yaw, up)); // Rotate view vector around right axis - float pitchAngle = -lookRotation.y - - lean.y; + float pitchAngle = -lookRotation.y - lean.y; pitchAngle = Clamp(pitchAngle, -PI/2 + 0.0001f, PI/2 - 0.0001f); // Clamp angle so it doesn't go past straight up or straight down Vector3 pitch = Vector3RotateByAxisAngle(yaw, right, pitchAngle); From 6cf38b62928830c4fd42422b41fdf855070eb21a Mon Sep 17 00:00:00 2001 From: Bruno Cabral Date: Sat, 13 Sep 2025 01:17:17 -0700 Subject: [PATCH 099/125] fix SDL3 gamepad detection (#5176) --- src/platforms/rcore_desktop_sdl.c | 78 ++++++++++++++++++++----------- 1 file changed, 50 insertions(+), 28 deletions(-) diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c index f07554762..a0ddac075 100644 --- a/src/platforms/rcore_desktop_sdl.c +++ b/src/platforms/rcore_desktop_sdl.c @@ -98,7 +98,7 @@ typedef struct { SDL_GLContext glContext; SDL_GameController *gamepad[MAX_GAMEPADS]; - SDL_JoystickID gamepadId[MAX_GAMEPADS]; // Joystick instance ids + SDL_JoystickID gamepadId[MAX_GAMEPADS]; // Joystick instance ids, they do not start from 0 SDL_Cursor *cursor; bool cursorRelative; } PlatformData; @@ -1706,19 +1706,34 @@ void PollInputEvents(void) { int jid = event.jdevice.which; // Joystick device index - if (CORE.Input.Gamepad.ready[jid] && (jid < MAX_GAMEPADS)) + // check if already added at InitPlatform + for (int i = 0; i < MAX_GAMEPADS; ++i) { - platform.gamepad[jid] = SDL_GameControllerOpen(jid); - platform.gamepadId[jid] = SDL_JoystickInstanceID(SDL_GameControllerGetJoystick(platform.gamepad[jid])); - - if (platform.gamepad[jid]) + if (jid == platform.gamepadId[i]) { - CORE.Input.Gamepad.ready[jid] = true; - CORE.Input.Gamepad.axisCount[jid] = SDL_JoystickNumAxes(SDL_GameControllerGetJoystick(platform.gamepad[jid])); - CORE.Input.Gamepad.axisState[jid][GAMEPAD_AXIS_LEFT_TRIGGER] = -1.0f; - CORE.Input.Gamepad.axisState[jid][GAMEPAD_AXIS_RIGHT_TRIGGER] = -1.0f; - memset(CORE.Input.Gamepad.name[jid], 0, MAX_GAMEPAD_NAME_LENGTH); - strncpy(CORE.Input.Gamepad.name[jid], SDL_GameControllerNameForIndex(jid), MAX_GAMEPAD_NAME_LENGTH - 1); + return; + } + } + + int nextAvailableSlot = 0; + while (nextAvailableSlot < MAX_GAMEPADS && CORE.Input.Gamepad.ready[nextAvailableSlot]) + { + ++nextAvailableSlot; + } + + if ((nextAvailableSlot < MAX_GAMEPADS) && !CORE.Input.Gamepad.ready[nextAvailableSlot]) + { + platform.gamepad[nextAvailableSlot] = SDL_GameControllerOpen(jid); + platform.gamepadId[nextAvailableSlot] = SDL_JoystickInstanceID(SDL_GameControllerGetJoystick(platform.gamepad[nextAvailableSlot])); + + if (platform.gamepad[nextAvailableSlot]) + { + CORE.Input.Gamepad.ready[nextAvailableSlot] = true; + CORE.Input.Gamepad.axisCount[nextAvailableSlot] = SDL_JoystickNumAxes(SDL_GameControllerGetJoystick(platform.gamepad[nextAvailableSlot])); + CORE.Input.Gamepad.axisState[nextAvailableSlot][GAMEPAD_AXIS_LEFT_TRIGGER] = -1.0f; + CORE.Input.Gamepad.axisState[nextAvailableSlot][GAMEPAD_AXIS_RIGHT_TRIGGER] = -1.0f; + memset(CORE.Input.Gamepad.name[nextAvailableSlot], 0, MAX_GAMEPAD_NAME_LENGTH); + strncpy(CORE.Input.Gamepad.name[nextAvailableSlot], SDL_GameControllerNameForIndex(nextAvailableSlot), MAX_GAMEPAD_NAME_LENGTH - 1); } else { @@ -1746,7 +1761,7 @@ void PollInputEvents(void) { int button = -1; - switch (event.jbutton.button) + switch (event.gbutton.button) { case SDL_CONTROLLER_BUTTON_Y: button = GAMEPAD_BUTTON_RIGHT_FACE_UP; break; case SDL_CONTROLLER_BUTTON_B: button = GAMEPAD_BUTTON_RIGHT_FACE_RIGHT; break; @@ -1774,7 +1789,7 @@ void PollInputEvents(void) { for (int i = 0; i < MAX_GAMEPADS; i++) { - if (platform.gamepadId[i] == event.jbutton.which) + if (platform.gamepadId[i] == event.gbutton.which) { CORE.Input.Gamepad.currentButtonState[i][button] = 1; CORE.Input.Gamepad.lastButtonPressed = button; @@ -1787,7 +1802,7 @@ void PollInputEvents(void) { int button = -1; - switch (event.jbutton.button) + switch (event.gbutton.button) { case SDL_CONTROLLER_BUTTON_Y: button = GAMEPAD_BUTTON_RIGHT_FACE_UP; break; case SDL_CONTROLLER_BUTTON_B: button = GAMEPAD_BUTTON_RIGHT_FACE_RIGHT; break; @@ -1815,7 +1830,7 @@ void PollInputEvents(void) { for (int i = 0; i < MAX_GAMEPADS; i++) { - if (platform.gamepadId[i] == event.jbutton.which) + if (platform.gamepadId[i] == event.gbutton.which) { CORE.Input.Gamepad.currentButtonState[i][button] = 0; if (CORE.Input.Gamepad.lastButtonPressed == button) CORE.Input.Gamepad.lastButtonPressed = 0; @@ -2044,21 +2059,28 @@ int InitPlatform(void) platform.gamepadId[i] = -1; // Set all gamepad initial instance ids as invalid to not conflict with instance id zero } - for (int i = 0; (i < SDL_NumJoysticks()) && (i < MAX_GAMEPADS); i++) - { - platform.gamepad[i] = SDL_GameControllerOpen(i); - platform.gamepadId[i] = SDL_JoystickInstanceID(SDL_GameControllerGetJoystick(platform.gamepad[i])); + int numJoysticks = 0; + SDL_JoystickID *joysticks = SDL_GetJoysticks(&numJoysticks); // array of joystick IDs, they do not start from 0 - if (platform.gamepad[i]) + if (joysticks) + { + for (int i = 0; (i < numJoysticks) && (i < MAX_GAMEPADS); i++) { - CORE.Input.Gamepad.ready[i] = true; - CORE.Input.Gamepad.axisCount[i] = SDL_JoystickNumAxes(SDL_GameControllerGetJoystick(platform.gamepad[i])); - CORE.Input.Gamepad.axisState[i][GAMEPAD_AXIS_LEFT_TRIGGER] = -1.0f; - CORE.Input.Gamepad.axisState[i][GAMEPAD_AXIS_RIGHT_TRIGGER] = -1.0f; - strncpy(CORE.Input.Gamepad.name[i], SDL_GameControllerNameForIndex(i), MAX_GAMEPAD_NAME_LENGTH - 1); - CORE.Input.Gamepad.name[i][MAX_GAMEPAD_NAME_LENGTH - 1] = '\0'; + platform.gamepad[i] = SDL_GameControllerOpen(joysticks[i]); + platform.gamepadId[i] = SDL_JoystickInstanceID(SDL_GameControllerGetJoystick(platform.gamepad[i])); + + if (platform.gamepad[i]) + { + CORE.Input.Gamepad.ready[i] = true; + CORE.Input.Gamepad.axisCount[i] = SDL_JoystickNumAxes(SDL_GameControllerGetJoystick(platform.gamepad[i])); + CORE.Input.Gamepad.axisState[i][GAMEPAD_AXIS_LEFT_TRIGGER] = -1.0f; + CORE.Input.Gamepad.axisState[i][GAMEPAD_AXIS_RIGHT_TRIGGER] = -1.0f; + strncpy(CORE.Input.Gamepad.name[i], SDL_GameControllerNameForIndex(i), MAX_GAMEPAD_NAME_LENGTH - 1); + CORE.Input.Gamepad.name[i][MAX_GAMEPAD_NAME_LENGTH - 1] = '\0'; + } + else TRACELOG(LOG_WARNING, "PLATFORM: Unable to open game controller [ERROR: %s]", SDL_GetError()); } - else TRACELOG(LOG_WARNING, "PLATFORM: Unable to open game controller [ERROR: %s]", SDL_GetError()); + SDL_free(joysticks); } // Disable mouse events being interpreted as touch events From bb0c78476c32bca08fd4db515bd33ea3b6dfc1f1 Mon Sep 17 00:00:00 2001 From: Bruno Cabral Date: Sat, 13 Sep 2025 01:19:44 -0700 Subject: [PATCH 100/125] [build][cmake] Fix definition to use SDL3 (#5175) * fix definition to use SDL3 * [cmake] fix definition to use SDL3 * [build][cmake] prefer USING_VERSION_SDL3 over PLATFORM_DESKTOP_SDL3 * [build][cmake] when libs are added externally, consumer needs to import them too --- cmake/LibraryConfigurations.cmake | 8 ++++++-- cmake/raylib-config.cmake | 2 ++ src/CMakeLists.txt | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/cmake/LibraryConfigurations.cmake b/cmake/LibraryConfigurations.cmake index e4655500e..c0a7e3d4b 100644 --- a/cmake/LibraryConfigurations.cmake +++ b/cmake/LibraryConfigurations.cmake @@ -7,6 +7,8 @@ if(POLICY CMP0072) cmake_policy(SET CMP0072 NEW) endif() +set(RAYLIB_DEPENDENCIES "include(CMakeFindDependencyMacro)") + if (${PLATFORM} MATCHES "Desktop") set(PLATFORM_CPP "PLATFORM_DESKTOP") @@ -120,15 +122,17 @@ elseif ("${PLATFORM}" MATCHES "SDL") find_package(SDL3 QUIET) if(SDL3_FOUND) message(STATUS "Found SDL3 via find_package()") + set(LIBS_PUBLIC SDL3::SDL3) + set(RAYLIB_DEPENDENCIES "${RAYLIB_DEPENDENCIES}\nfind_dependency(SDL3 REQUIRED)") set(PLATFORM_CPP "PLATFORM_DESKTOP_SDL") - set(LIBS_PRIVATE SDL3::SDL3) add_compile_definitions(USING_SDL3_PACKAGE) else() # Fallback to SDL2 find_package(SDL2 REQUIRED) message(STATUS "Found SDL2 via find_package()") set(PLATFORM_CPP "PLATFORM_DESKTOP_SDL") - set(LIBS_PRIVATE SDL2::SDL2) + set(LIBS_PUBLIC SDL2::SDL2) + set(RAYLIB_DEPENDENCIES "${RAYLIB_DEPENDENCIES}\nfind_dependency(SDL3 REQUIRED)") add_compile_definitions(USING_SDL2_PACKAGE) endif() endif() diff --git a/cmake/raylib-config.cmake b/cmake/raylib-config.cmake index f34087ccd..16e677513 100644 --- a/cmake/raylib-config.cmake +++ b/cmake/raylib-config.cmake @@ -1,2 +1,4 @@ @PACKAGE_INIT@ +@RAYLIB_DEPENDENCIES@ + include("${CMAKE_CURRENT_LIST_DIR}/raylib-targets.cmake") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4b3f87016..eb37f1a8e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -92,6 +92,7 @@ if (BUILD_SHARED_LIBS) endif () target_link_libraries(raylib PRIVATE $) +target_link_libraries(raylib PUBLIC ${LIBS_PUBLIC}) # Sets some compile time definitions for the pre-processor # If CUSTOMIZE_BUILD option is on you will not use config.h by default From adac5f77707712410def0600f4c06426d2108839 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 13 Sep 2025 10:41:25 +0200 Subject: [PATCH 101/125] REXM: RENAME: example: `shaders_write_depth` --> `shaders_depth_writing` --- examples/Makefile | 2 +- examples/Makefile.Web | 4 +- examples/README.md | 2 +- examples/examples_list.txt | 2 +- examples/shaders/shaders_depth_rendering.c | 56 +- ..._write_depth.c => shaders_depth_writing.c} | 29 +- ...te_depth.png => shaders_depth_writing.png} | Bin ....vcxproj => shaders_depth_writing.vcxproj} | 1136 ++++++++--------- projects/VS2022/raylib.sln | 2 +- 9 files changed, 632 insertions(+), 601 deletions(-) rename examples/shaders/{shaders_write_depth.c => shaders_depth_writing.c} (92%) rename examples/shaders/{shaders_write_depth.png => shaders_depth_writing.png} (100%) rename projects/VS2022/examples/{shaders_write_depth.vcxproj => shaders_depth_writing.vcxproj} (97%) diff --git a/examples/Makefile b/examples/Makefile index 23c976681..68111fa41 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -656,7 +656,7 @@ SHADERS = \ shaders/shaders_texture_tiling \ shaders/shaders_texture_waves \ shaders/shaders_vertex_displacement \ - shaders/shaders_write_depth + shaders/shaders_depth_writing AUDIO = \ audio/audio_mixed_processor \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 0b2fdec0b..79fc04a78 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -656,7 +656,7 @@ SHADERS = \ shaders/shaders_texture_tiling \ shaders/shaders_texture_waves \ shaders/shaders_vertex_displacement \ - shaders/shaders_write_depth + shaders/shaders_depth_writing AUDIO = \ audio/audio_mixed_processor \ @@ -1298,7 +1298,7 @@ shaders/shaders_vertex_displacement: shaders/shaders_vertex_displacement.c --preload-file shaders/resources/shaders/glsl100/vertex_displacement.vs@resources/shaders/glsl100/vertex_displacement.vs \ --preload-file shaders/resources/shaders/glsl100/vertex_displacement.fs@resources/shaders/glsl100/vertex_displacement.fs -shaders/shaders_write_depth: shaders/shaders_write_depth.c +shaders/shaders_depth_writing: shaders/shaders_depth_writing.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file shaders/resources/shaders/glsl100/write_depth.fs@resources/shaders/glsl100/write_depth.fs diff --git a/examples/README.md b/examples/README.md index bc50cfc1d..fd6c9fcf3 100644 --- a/examples/README.md +++ b/examples/README.md @@ -203,7 +203,7 @@ Examples using raylib shaders functionality, including shaders loading, paramete | [shaders_texture_tiling](shaders/shaders_texture_tiling.c) | shaders_texture_tiling | ⭐⭐☆☆ | 4.5 | 4.5 | [Luis Almeida](https://github.com/luis605) | | [shaders_shadowmap_rendering](shaders/shaders_shadowmap_rendering.c) | shaders_shadowmap_rendering | ⭐⭐⭐⭐️ | 5.0 | 5.0 | [TheManTheMythTheGameDev](https://github.com/TheManTheMythTheGameDev) | | [shaders_vertex_displacement](shaders/shaders_vertex_displacement.c) | shaders_vertex_displacement | ⭐⭐⭐☆ | 5.0 | 4.5 | [Alex ZH](https://github.com/ZzzhHe) | -| [shaders_write_depth](shaders/shaders_write_depth.c) | shaders_write_depth | ⭐⭐☆☆ | 4.2 | 4.2 | [Buğra Alptekin Sarı](https://github.com/BugraAlptekinSari) | +| [shaders_depth_writing](shaders/shaders_depth_writing.c) | shaders_depth_writing | ⭐⭐☆☆ | 4.2 | 4.2 | [Buğra Alptekin Sarı](https://github.com/BugraAlptekinSari) | | [shaders_basic_pbr](shaders/shaders_basic_pbr.c) | shaders_basic_pbr | ⭐⭐⭐⭐️ | 5.0 | 5.5 | [Afan OLOVCIC](https://github.com/_DevDad) | | [shaders_lightmap_rendering](shaders/shaders_lightmap_rendering.c) | shaders_lightmap_rendering | ⭐⭐⭐☆ | 4.5 | 4.5 | [Jussi Viitala](https://github.com/nullstare) | | [shaders_rounded_rectangle](shaders/shaders_rounded_rectangle.c) | shaders_rounded_rectangle | ⭐⭐⭐☆ | 5.5 | 5.5 | [Anstro Pleuton](https://github.com/anstropleuton) | diff --git a/examples/examples_list.txt b/examples/examples_list.txt index c76176c86..ecbc3e2cc 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -150,7 +150,7 @@ shaders;shaders_hybrid_rendering;★★★★;4.2;4.2;2022;2025;"Buğra Alptekin shaders;shaders_texture_tiling;★★☆☆;4.5;4.5;2023;2025;"Luis Almeida";@luis605 shaders;shaders_shadowmap_rendering;★★★★;5.0;5.0;2023;2025;"TheManTheMythTheGameDev";@TheManTheMythTheGameDev shaders;shaders_vertex_displacement;★★★☆;5.0;4.5;2023;2025;"Alex ZH";@ZzzhHe -shaders;shaders_write_depth;★★☆☆;4.2;4.2;2022;2025;"Buğra Alptekin Sarı";@BugraAlptekinSari +shaders;shaders_depth_writing;★★☆☆;4.2;4.2;2022;2025;"Buğra Alptekin Sarı";@BugraAlptekinSari shaders;shaders_basic_pbr;★★★★;5.0;5.5;2023;2025;"Afan OLOVCIC";@_DevDad shaders;shaders_lightmap_rendering;★★★☆;4.5;4.5;2019;2025;"Jussi Viitala";@nullstare shaders;shaders_rounded_rectangle;★★★☆;5.5;5.5;2025;2025;"Anstro Pleuton";@anstropleuton diff --git a/examples/shaders/shaders_depth_rendering.c b/examples/shaders/shaders_depth_rendering.c index 849aaed8b..0e69dba88 100644 --- a/examples/shaders/shaders_depth_rendering.c +++ b/examples/shaders/shaders_depth_rendering.c @@ -6,7 +6,7 @@ * * Example originally created with raylib 5.6-dev, last time updated with raylib 5.6-dev * -* Example contributed by Luís Almeida (@luis605) +* Example contributed by Luís Almeida (@luis605) and reviewed by Ramon Santamaria (@raysan5) * * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software @@ -16,6 +16,7 @@ ********************************************************************************************/ #include "raylib.h" + #include "rlgl.h" #if defined(PLATFORM_DESKTOP) @@ -24,7 +25,14 @@ #define GLSL_VERSION 100 #endif -RenderTexture2D LoadRenderTextureWithDepth(int width, int height); +//-------------------------------------------------------------------------------------- +// Module Functions Declaration +//-------------------------------------------------------------------------------------- +// Load custom render texture with depth texture attached +static RenderTexture2D LoadRenderTextureDepthTex(int width, int height); + +// Unload render texture from GPU memory (VRAM) +static void UnloadRenderTextureDepthTex(RenderTexture2D target); //------------------------------------------------------------------------------------ // Program main entry point @@ -38,7 +46,7 @@ int main(void) InitWindow(screenWidth, screenHeight, "raylib [shaders] example - depth rendering"); - // Init camera + // Define the camera to look into our 3d world Camera camera = { 0 }; camera.position = (Vector3){ 4.0f, 1.0f, 5.0f }; camera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; @@ -46,8 +54,8 @@ int main(void) camera.fovy = 45.0f; camera.projection = CAMERA_PERSPECTIVE; - // Load an empty render texture with a depth texture - RenderTexture2D target = LoadRenderTextureWithDepth(screenWidth, screenHeight); + // Load render texture with a depth texture attached + RenderTexture2D target = LoadRenderTextureDepthTex(screenWidth, screenHeight); // Load depth shader and get depth texture shader location Shader depthShader = LoadShader(0, TextFormat("resources/shaders/glsl%i/depth.fs", GLSL_VERSION)); @@ -55,7 +63,7 @@ int main(void) int flipTextureLoc = GetShaderLocation(depthShader, "flipY"); SetShaderValue(depthShader, flipTextureLoc, (int[]){ 1 }, SHADER_UNIFORM_INT); // Flip Y texture - // Load models + // Load scene models Model cube = LoadModelFromMesh(GenMeshCube(1.0f, 1.0f, 1.0f)); Model floor = LoadModelFromMesh(GenMeshPlane(20.0f, 20.0f, 1, 1)); @@ -78,12 +86,14 @@ int main(void) ClearBackground(WHITE); BeginMode3D(camera); - DrawModel(cube, (Vector3){ 0.0f, 0.0f, 0.0f }, 3.0f, YELLOW); + DrawModel(cube, (Vector3){ 0.0f, 0.0f, 0.0f }, 3.0f, YELLOW); DrawModel(floor, (Vector3){ 10.0f, 0.0f, 2.0f }, 2.0f, RED); EndMode3D(); EndTextureMode(); + // Draw into screen (main framebuffer) BeginDrawing(); + ClearBackground(RAYWHITE); BeginShaderMode(depthShader); SetShaderValueTexture(depthShader, depthLoc, target.depth); @@ -106,19 +116,24 @@ int main(void) //-------------------------------------------------------------------------------------- UnloadModel(cube); // Unload model UnloadModel(floor); // Unload model - UnloadRenderTexture(target); // Unload render texture + UnloadRenderTextureDepthTex(target); UnloadShader(depthShader); // Unload shader CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- + return 0; } -RenderTexture2D LoadRenderTextureWithDepth(int width, int height) +//-------------------------------------------------------------------------------------- +// Module Functions Definition +//-------------------------------------------------------------------------------------- +// Load custom render texture, create a writable depth texture buffer +static RenderTexture2D LoadRenderTextureDepthTex(int width, int height) { - RenderTexture2D target = {0}; + RenderTexture2D target = { 0 }; - target.id = rlLoadFramebuffer(); // Load an empty framebuffer + target.id = rlLoadFramebuffer(); // Load an empty framebuffer if (target.id > 0) { @@ -131,11 +146,11 @@ RenderTexture2D LoadRenderTextureWithDepth(int width, int height) target.texture.format = PIXELFORMAT_UNCOMPRESSED_R8G8B8A8; target.texture.mipmaps = 1; - // Create depth texture + // Create depth texture buffer (instead of raylib default renderbuffer) target.depth.id = rlLoadTextureDepth(width, height, false); target.depth.width = width; target.depth.height = height; - target.depth.format = 19; //DEPTH_COMPONENT_24BIT? THIS DOESN'T EXIST IN RAYLIB + target.depth.format = 19; // DEPTH_COMPONENT_24BIT: Not defined in raylib target.depth.mipmaps = 1; // Attach color texture and depth texture to FBO @@ -150,4 +165,19 @@ RenderTexture2D LoadRenderTextureWithDepth(int width, int height) else TRACELOG(LOG_WARNING, "FBO: Framebuffer object can not be created"); return target; +} + +// Unload render texture from GPU memory (VRAM) +void UnloadRenderTextureDepthTex(RenderTexture2D target) +{ + if (target.id > 0) + { + // Color texture attached to FBO is deleted + rlUnloadTexture(target.texture.id); + rlUnloadTexture(target.depth.id); + + // NOTE: Depth texture is automatically + // queried and deleted before deleting framebuffer + rlUnloadFramebuffer(target.id); + } } \ No newline at end of file diff --git a/examples/shaders/shaders_write_depth.c b/examples/shaders/shaders_depth_writing.c similarity index 92% rename from examples/shaders/shaders_write_depth.c rename to examples/shaders/shaders_depth_writing.c index 677d0fb03..6934dc2c0 100644 --- a/examples/shaders/shaders_write_depth.c +++ b/examples/shaders/shaders_depth_writing.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [shaders] example - write depth +* raylib [shaders] example - depth writing * * Example complexity rating: [★★☆☆] 2/4 * @@ -20,9 +20,9 @@ #include "rlgl.h" #if defined(PLATFORM_DESKTOP) -#define GLSL_VERSION 330 + #define GLSL_VERSION 330 #else // PLATFORM_ANDROID, PLATFORM_WEB -#define GLSL_VERSION 100 + #define GLSL_VERSION 100 #endif //-------------------------------------------------------------------------------------- @@ -44,13 +44,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [shaders] example - write depth"); - - // The shader inverts the depth buffer by writing into it by `gl_FragDepth = 1 - gl_FragCoord.z;` - Shader shader = LoadShader(0, TextFormat("resources/shaders/glsl%i/write_depth.fs", GLSL_VERSION)); - - // Use Customized function to create writable depth texture buffer - RenderTexture2D target = LoadRenderTextureDepthTex(screenWidth, screenHeight); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - depth writing"); // Define the camera to look into our 3d world Camera camera = { @@ -61,6 +55,12 @@ int main(void) .projection = CAMERA_PERSPECTIVE // Camera projection type }; + // Load custom render texture with writable depth texture buffer + RenderTexture2D target = LoadRenderTextureDepthTex(screenWidth, screenHeight); + + // Load depth writting shader + // NOTE: The shader inverts the depth buffer by writing into it by `gl_FragDepth = 1 - gl_FragCoord.z;` + Shader shader = LoadShader(0, TextFormat("resources/shaders/glsl%i/write_depth.fs", GLSL_VERSION)); SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- @@ -74,7 +74,7 @@ int main(void) // Draw //---------------------------------------------------------------------------------- - // Draw into our custom render texture (framebuffer) + // Draw into our custom render texture BeginTextureMode(target); ClearBackground(WHITE); @@ -92,7 +92,9 @@ int main(void) // Draw into screen our custom render texture BeginDrawing(); ClearBackground(RAYWHITE); + DrawTextureRec(target.texture, (Rectangle) { 0, 0, (float)screenWidth, (float)-screenHeight }, (Vector2) { 0, 0 }, WHITE); + DrawFPS(10, 10); EndDrawing(); //---------------------------------------------------------------------------------- @@ -112,9 +114,8 @@ int main(void) //-------------------------------------------------------------------------------------- // Module Functions Definition //-------------------------------------------------------------------------------------- - // Load custom render texture, create a writable depth texture buffer -RenderTexture2D LoadRenderTextureDepthTex(int width, int height) +static RenderTexture2D LoadRenderTextureDepthTex(int width, int height) { RenderTexture2D target = { 0 }; @@ -135,7 +136,7 @@ RenderTexture2D LoadRenderTextureDepthTex(int width, int height) target.depth.id = rlLoadTextureDepth(width, height, false); target.depth.width = width; target.depth.height = height; - target.depth.format = 19; //DEPTH_COMPONENT_24BIT? + target.depth.format = 19; // DEPTH_COMPONENT_24BIT: Not defined in raylib target.depth.mipmaps = 1; // Attach color texture and depth texture to FBO diff --git a/examples/shaders/shaders_write_depth.png b/examples/shaders/shaders_depth_writing.png similarity index 100% rename from examples/shaders/shaders_write_depth.png rename to examples/shaders/shaders_depth_writing.png diff --git a/projects/VS2022/examples/shaders_write_depth.vcxproj b/projects/VS2022/examples/shaders_depth_writing.vcxproj similarity index 97% rename from projects/VS2022/examples/shaders_write_depth.vcxproj rename to projects/VS2022/examples/shaders_depth_writing.vcxproj index 4c19cd4b2..a411b2c52 100644 --- a/projects/VS2022/examples/shaders_write_depth.vcxproj +++ b/projects/VS2022/examples/shaders_depth_writing.vcxproj @@ -1,569 +1,569 @@ - - - - - Debug.DLL - ARM64 - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - ARM64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {70B35F59-AFC2-4D8F-8833-5314D2047A81} - Win32Proj - shaders_write_depth - 10.0 - shaders_write_depth - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\shaders - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {70B35F59-AFC2-4D8F-8833-5314D2047A81} + Win32Proj + shaders_depth_writing + 10.0 + shaders_depth_writing + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shaders + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 7ccb1b704..3eacc34ec 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -267,7 +267,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "textures_textured_curve", " EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_loading_m3d", "examples\models_loading_m3d.vcxproj", "{6D9E00D8-2893-45E4-9363-3F7F61D416BD}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_write_depth", "examples\shaders_write_depth.vcxproj", "{70B35F59-AFC2-4D8F-8833-5314D2047A81}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_depth_writing", "examples\shaders_depth_writing.vcxproj", "{70B35F59-AFC2-4D8F-8833-5314D2047A81}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_depth_rendering", "examples\shaders_depth_rendering.vcxproj", "{DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}" EndProject From 314820675843f52ead4292d25e86896eb4ebb3bf Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 13 Sep 2025 10:44:12 +0200 Subject: [PATCH 102/125] Renamed shaders for consistency --- .../resources/shaders/glsl100/{depth.fs => depth_render.fs} | 0 .../shaders/glsl100/{write_depth.fs => depth_write.fs} | 0 .../resources/shaders/glsl120/{depth.fs => depth_render.fs} | 0 .../shaders/glsl120/{write_depth.fs => depth_write.fs} | 0 .../resources/shaders/glsl330/{depth.fs => depth_render.fs} | 0 .../shaders/glsl330/{write_depth.fs => depth_write.fs} | 0 examples/shaders/shaders_depth_rendering.c | 2 +- examples/shaders/shaders_depth_writing.c | 2 +- 8 files changed, 2 insertions(+), 2 deletions(-) rename examples/shaders/resources/shaders/glsl100/{depth.fs => depth_render.fs} (100%) rename examples/shaders/resources/shaders/glsl100/{write_depth.fs => depth_write.fs} (100%) rename examples/shaders/resources/shaders/glsl120/{depth.fs => depth_render.fs} (100%) rename examples/shaders/resources/shaders/glsl120/{write_depth.fs => depth_write.fs} (100%) rename examples/shaders/resources/shaders/glsl330/{depth.fs => depth_render.fs} (100%) rename examples/shaders/resources/shaders/glsl330/{write_depth.fs => depth_write.fs} (100%) diff --git a/examples/shaders/resources/shaders/glsl100/depth.fs b/examples/shaders/resources/shaders/glsl100/depth_render.fs similarity index 100% rename from examples/shaders/resources/shaders/glsl100/depth.fs rename to examples/shaders/resources/shaders/glsl100/depth_render.fs diff --git a/examples/shaders/resources/shaders/glsl100/write_depth.fs b/examples/shaders/resources/shaders/glsl100/depth_write.fs similarity index 100% rename from examples/shaders/resources/shaders/glsl100/write_depth.fs rename to examples/shaders/resources/shaders/glsl100/depth_write.fs diff --git a/examples/shaders/resources/shaders/glsl120/depth.fs b/examples/shaders/resources/shaders/glsl120/depth_render.fs similarity index 100% rename from examples/shaders/resources/shaders/glsl120/depth.fs rename to examples/shaders/resources/shaders/glsl120/depth_render.fs diff --git a/examples/shaders/resources/shaders/glsl120/write_depth.fs b/examples/shaders/resources/shaders/glsl120/depth_write.fs similarity index 100% rename from examples/shaders/resources/shaders/glsl120/write_depth.fs rename to examples/shaders/resources/shaders/glsl120/depth_write.fs diff --git a/examples/shaders/resources/shaders/glsl330/depth.fs b/examples/shaders/resources/shaders/glsl330/depth_render.fs similarity index 100% rename from examples/shaders/resources/shaders/glsl330/depth.fs rename to examples/shaders/resources/shaders/glsl330/depth_render.fs diff --git a/examples/shaders/resources/shaders/glsl330/write_depth.fs b/examples/shaders/resources/shaders/glsl330/depth_write.fs similarity index 100% rename from examples/shaders/resources/shaders/glsl330/write_depth.fs rename to examples/shaders/resources/shaders/glsl330/depth_write.fs diff --git a/examples/shaders/shaders_depth_rendering.c b/examples/shaders/shaders_depth_rendering.c index 0e69dba88..866135020 100644 --- a/examples/shaders/shaders_depth_rendering.c +++ b/examples/shaders/shaders_depth_rendering.c @@ -58,7 +58,7 @@ int main(void) RenderTexture2D target = LoadRenderTextureDepthTex(screenWidth, screenHeight); // Load depth shader and get depth texture shader location - Shader depthShader = LoadShader(0, TextFormat("resources/shaders/glsl%i/depth.fs", GLSL_VERSION)); + Shader depthShader = LoadShader(0, TextFormat("resources/shaders/glsl%i/depth_render.fs", GLSL_VERSION)); int depthLoc = GetShaderLocation(depthShader, "depthTexture"); int flipTextureLoc = GetShaderLocation(depthShader, "flipY"); SetShaderValue(depthShader, flipTextureLoc, (int[]){ 1 }, SHADER_UNIFORM_INT); // Flip Y texture diff --git a/examples/shaders/shaders_depth_writing.c b/examples/shaders/shaders_depth_writing.c index 6934dc2c0..e1112e9c2 100644 --- a/examples/shaders/shaders_depth_writing.c +++ b/examples/shaders/shaders_depth_writing.c @@ -60,7 +60,7 @@ int main(void) // Load depth writting shader // NOTE: The shader inverts the depth buffer by writing into it by `gl_FragDepth = 1 - gl_FragCoord.z;` - Shader shader = LoadShader(0, TextFormat("resources/shaders/glsl%i/write_depth.fs", GLSL_VERSION)); + Shader shader = LoadShader(0, TextFormat("resources/shaders/glsl%i/depth_write.fs", GLSL_VERSION)); SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- From b8420d48219ada274fdde5ac07cd406edc3ca878 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 13 Sep 2025 10:46:14 +0200 Subject: [PATCH 103/125] REXM: Update examples --- examples/Makefile | 4 ++-- examples/Makefile.Web | 14 +++++++------- examples/shaders/shaders_depth_writing.c | 2 +- src/platforms/rcore_desktop_glfw.c | 2 +- tools/rexm/examples_report.md | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/examples/Makefile b/examples/Makefile index 68111fa41..c15a70c5b 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -633,6 +633,7 @@ SHADERS = \ shaders/shaders_custom_uniform \ shaders/shaders_deferred_rendering \ shaders/shaders_depth_rendering \ + shaders/shaders_depth_writing \ shaders/shaders_eratosthenes_sieve \ shaders/shaders_fog_rendering \ shaders/shaders_hot_reloading \ @@ -655,8 +656,7 @@ SHADERS = \ shaders/shaders_texture_rendering \ shaders/shaders_texture_tiling \ shaders/shaders_texture_waves \ - shaders/shaders_vertex_displacement \ - shaders/shaders_depth_writing + shaders/shaders_vertex_displacement AUDIO = \ audio/audio_mixed_processor \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 79fc04a78..9c5863471 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -633,6 +633,7 @@ SHADERS = \ shaders/shaders_custom_uniform \ shaders/shaders_deferred_rendering \ shaders/shaders_depth_rendering \ + shaders/shaders_depth_writing \ shaders/shaders_eratosthenes_sieve \ shaders/shaders_fog_rendering \ shaders/shaders_hot_reloading \ @@ -655,8 +656,7 @@ SHADERS = \ shaders/shaders_texture_rendering \ shaders/shaders_texture_tiling \ shaders/shaders_texture_waves \ - shaders/shaders_vertex_displacement \ - shaders/shaders_depth_writing + shaders/shaders_vertex_displacement AUDIO = \ audio/audio_mixed_processor \ @@ -1167,7 +1167,11 @@ shaders/shaders_deferred_rendering: shaders/shaders_deferred_rendering.c shaders/shaders_depth_rendering: shaders/shaders_depth_rendering.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ - --preload-file shaders/resources/shaders/glsl100/depth.fs@resources/shaders/glsl100/depth.fs + --preload-file shaders/resources/shaders/glsl100/depth_render.fs@resources/shaders/glsl100/depth_render.fs + +shaders/shaders_depth_writing: shaders/shaders_depth_writing.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ + --preload-file shaders/resources/shaders/glsl100/depth_write.fs@resources/shaders/glsl100/depth_write.fs shaders/shaders_eratosthenes_sieve: shaders/shaders_eratosthenes_sieve.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ @@ -1298,10 +1302,6 @@ shaders/shaders_vertex_displacement: shaders/shaders_vertex_displacement.c --preload-file shaders/resources/shaders/glsl100/vertex_displacement.vs@resources/shaders/glsl100/vertex_displacement.vs \ --preload-file shaders/resources/shaders/glsl100/vertex_displacement.fs@resources/shaders/glsl100/vertex_displacement.fs -shaders/shaders_depth_writing: shaders/shaders_depth_writing.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ - --preload-file shaders/resources/shaders/glsl100/write_depth.fs@resources/shaders/glsl100/write_depth.fs - # Compile AUDIO examples audio/audio_mixed_processor: audio/audio_mixed_processor.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ diff --git a/examples/shaders/shaders_depth_writing.c b/examples/shaders/shaders_depth_writing.c index e1112e9c2..ec887ae09 100644 --- a/examples/shaders/shaders_depth_writing.c +++ b/examples/shaders/shaders_depth_writing.c @@ -58,7 +58,7 @@ int main(void) // Load custom render texture with writable depth texture buffer RenderTexture2D target = LoadRenderTextureDepthTex(screenWidth, screenHeight); - // Load depth writting shader + // Load depth writing shader // NOTE: The shader inverts the depth buffer by writing into it by `gl_FragDepth = 1 - gl_FragCoord.z;` Shader shader = LoadShader(0, TextFormat("resources/shaders/glsl%i/depth_write.fs", GLSL_VERSION)); SetTargetFPS(60); // Set our game to run at 60 frames-per-second diff --git a/src/platforms/rcore_desktop_glfw.c b/src/platforms/rcore_desktop_glfw.c index 6cf5ffb84..cfddf75b7 100644 --- a/src/platforms/rcore_desktop_glfw.c +++ b/src/platforms/rcore_desktop_glfw.c @@ -81,7 +81,7 @@ #define Font X11Font // Hack to fix 'Font' name collision // The definition and references to the X11 Font type will be replaced by 'X11Font' // Works as long as the current file consistently references any X11 Font as X11Font - // Since it is never referenced (as of writting), this does not pose an issue + // Since it is never referenced (as of writing), this does not pose an issue #endif #if defined(_GLFW_WAYLAND) diff --git a/tools/rexm/examples_report.md b/tools/rexm/examples_report.md index 2c1555049..df515917a 100644 --- a/tools/rexm/examples_report.md +++ b/tools/rexm/examples_report.md @@ -163,7 +163,7 @@ Example elements validated: | shaders_texture_tiling | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_shadowmap_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_vertex_displacement | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shaders_write_depth | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shaders_depth_writing | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_basic_pbr | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_lightmap_rendering | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shaders_rounded_rectangle | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | From 6f01f3c06def68d94ab1da536a3bcd5ea6b2f6dd Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 13 Sep 2025 20:57:00 +0200 Subject: [PATCH 104/125] Update rexm.c --- tools/rexm/rexm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/rexm/rexm.c b/tools/rexm/rexm.c index 5d124315d..03b62e639 100644 --- a/tools/rexm/rexm.c +++ b/tools/rexm/rexm.c @@ -597,6 +597,8 @@ int main(int argc, char *argv[]) // Edit: raylib/projects/VS2022/raylib.sln --> Add new example project // WARNING: This function uses TextFormat() extensively inside, // we must store provided file paths because pointers will be overwriten + // TODO: It seems projects are added to solution BUT not to required solution folder, + // that process still requires to be done manually AddVSProjectToSolution(exVSProjectSolutionFile, TextFormat("%s/../projects/VS2022/examples/%s.vcxproj", exBasePath, exName), exCategory); //------------------------------------------------------------------------------------------------ From 161cab24da4430839414f8f4ea39ab1b8e43b44d Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 13 Sep 2025 20:57:20 +0200 Subject: [PATCH 105/125] Update core_random_sequence.c --- examples/core/core_random_sequence.c | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/core/core_random_sequence.c b/examples/core/core_random_sequence.c index 89753b649..580c2bb26 100644 --- a/examples/core/core_random_sequence.c +++ b/examples/core/core_random_sequence.c @@ -16,6 +16,7 @@ ********************************************************************************************/ #include "raylib.h" + #include "raymath.h" #include // Required for: malloc(), free() From 865b3310f8deb39b72d5823be86dcd4eed6a4cf9 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 13 Sep 2025 20:57:39 +0200 Subject: [PATCH 106/125] Updated project GUIDs --- projects/VS2022/examples/core_render_texture.vcxproj | 2 +- projects/VS2022/examples/text_inline_styling.vcxproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/VS2022/examples/core_render_texture.vcxproj b/projects/VS2022/examples/core_render_texture.vcxproj index faa53557b..3c80255a2 100644 --- a/projects/VS2022/examples/core_render_texture.vcxproj +++ b/projects/VS2022/examples/core_render_texture.vcxproj @@ -51,7 +51,7 @@
- {6B1A933E-71B8-4C1F-9E79-02D98830E671} + {49C67F03-1A56-4F96-B278-39B66EC93678} Win32Proj core_render_texture 10.0 diff --git a/projects/VS2022/examples/text_inline_styling.vcxproj b/projects/VS2022/examples/text_inline_styling.vcxproj index f0716dca2..88c6de7e5 100644 --- a/projects/VS2022/examples/text_inline_styling.vcxproj +++ b/projects/VS2022/examples/text_inline_styling.vcxproj @@ -51,7 +51,7 @@ - {6B1A933E-71B8-4C1F-9E79-02D98830E671} + {D496308F-3C3C-40B3-A3ED-EA327D244B3E} Win32Proj text_inline_styling 10.0 From 36824b6c0a0b5ec0eeb47b873c3bd9e328be3af5 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 13 Sep 2025 20:58:27 +0200 Subject: [PATCH 107/125] REXM: ADDED: example: `core_undo_redo` --- examples/Makefile | 1 + examples/Makefile.Web | 4 + examples/README.md | 5 +- examples/core/core_undo_redo.c | 313 ++++++++++ examples/core/core_undo_redo.png | Bin 0 -> 16180 bytes examples/examples_list.txt | 1 + .../VS2022/examples/core_undo_redo.vcxproj | 569 ++++++++++++++++++ projects/VS2022/raylib.sln | 131 ++-- 8 files changed, 970 insertions(+), 54 deletions(-) create mode 100644 examples/core/core_undo_redo.c create mode 100644 examples/core/core_undo_redo.png create mode 100644 projects/VS2022/examples/core_undo_redo.vcxproj diff --git a/examples/Makefile b/examples/Makefile index c15a70c5b..0f5af45fa 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -530,6 +530,7 @@ CORE = \ core/core_scissor_test \ core/core_smooth_pixelperfect \ core/core_storage_values \ + core/core_undo_redo \ core/core_vr_simulator \ core/core_window_flags \ core/core_window_letterbox \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 9c5863471..943ddb42a 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -530,6 +530,7 @@ CORE = \ core/core_scissor_test \ core/core_smooth_pixelperfect \ core/core_storage_values \ + core/core_undo_redo \ core/core_vr_simulator \ core/core_window_flags \ core/core_window_letterbox \ @@ -775,6 +776,9 @@ core/core_smooth_pixelperfect: core/core_smooth_pixelperfect.c core/core_storage_values: core/core_storage_values.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) +core/core_undo_redo: core/core_undo_redo.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) + core/core_vr_simulator: core/core_vr_simulator.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ --preload-file core/resources/shaders/glsl100/distortion.fs@resources/shaders/glsl100/distortion.fs diff --git a/examples/README.md b/examples/README.md index fd6c9fcf3..52dab85e1 100644 --- a/examples/README.md +++ b/examples/README.md @@ -17,9 +17,9 @@ You may find it easier to use than other toolchains, especially when it comes to - `zig build [module]` to compile all examples for a module (e.g. `zig build core`) - `zig build [example]` to compile _and run_ a particular example (e.g. `zig build core_basic_window`) -## EXAMPLES COLLECTION [TOTAL: 162] +## EXAMPLES COLLECTION [TOTAL: 163] -### category: core [36] +### category: core [37] Examples using raylib[core](../src/rcore.c) platform functionality like window creation, inputs, drawing modes and system functionality. @@ -61,6 +61,7 @@ Examples using raylib[core](../src/rcore.c) platform functionality like window c | [core_automation_events](core/core_automation_events.c) | core_automation_events | ⭐⭐⭐☆ | 5.0 | 5.0 | [Ramon Santamaria](https://github.com/raysan5) | | [core_high_dpi](core/core_high_dpi.c) | core_high_dpi | ⭐⭐☆☆ | 5.0 | 5.5 | [Jonathan Marler](https://github.com/marler8997) | | [core_render_texture](core/core_render_texture.c) | core_render_texture | ⭐☆☆☆ | 5.6-dev | 5.6-dev | [Ramon Santamaria](https://github.com/raysan5) | +| [core_undo_redo](core/core_undo_redo.c) | core_undo_redo | ⭐☆☆☆ | 5.5 | 5.6 | [](https://github.com/) | ### category: shapes [20] diff --git a/examples/core/core_undo_redo.c b/examples/core/core_undo_redo.c new file mode 100644 index 000000000..01de35e3a --- /dev/null +++ b/examples/core/core_undo_redo.c @@ -0,0 +1,313 @@ +/******************************************************************************************* +* +* raylib [core] example - undo redo +* +* Example complexity rating: [★★★☆] 3/4 +* +* Example originally created with raylib 5.5, last time updated with raylib 5.6 +* +* Example contributed by Reamon Santamaria (@raysan5) +* +* Example 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) 2025 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#include // Required for: calloc(), free() +#include // Required for: memcpy(), strcmp() + +#define MAX_UNDO_STATES 26 // Maximum undo states supported for the ring buffer + +#define GRID_CELL_SIZE 24 +#define MAX_GRID_CELLS_X 30 +#define MAX_GRID_CELLS_Y 13 + +//---------------------------------------------------------------------------------- +// Types and Structures Definition +//---------------------------------------------------------------------------------- +// Point struct, like Vector2 but using int +typedef struct { + int x; + int y; +} Point; + +// Player state struct +// NOTE: Contains all player data that needs to be affected by undo/redo +typedef struct { + Point cell; + Color color; +} PlayerState; + +//------------------------------------------------------------------------------------ +// Module Functions Declaration +//------------------------------------------------------------------------------------ +// Draw undo system visualization logic +static void DrawUndoBuffer(Vector2 position, int firstUndoIndex, int lastUndoIndex, int currentUndoIndex, int slotSize); + +//------------------------------------------------------------------------------------ +// Program main entry point +//------------------------------------------------------------------------------------ +int main(void) +{ + // Initialization + //-------------------------------------------------------------------------------------- + const int screenWidth = 800; + const int screenHeight = 450; + + // We have multiple options to implement an Undo/Redo system + // Probably the most professional one is using the Command pattern to + // define Actions and store those actions into an array as the events happen, + // raylib internal Automation System actually uses a similar approach, + // but in this example we are using another more simple solution, + // just record PlayerState changes when detected, checking for changes every certain frames + // This approach requires more memory and is more performance costly but it is quite simple to implement + + InitWindow(screenWidth, screenHeight, "raylib [core] example - undo redo"); + + // Undo/redo system variables + int currentUndoIndex = 0; + int firstUndoIndex = 0; + int lastUndoIndex = 0; + int undoFrameCounter = 0; + Vector2 undoInfoPos = { 110, 400 }; + + // Init current player state and undo/redo recorded states array + PlayerState player = { 0 }; + player.cell = (Point){ 10, 10 }; + player.color = RED; + + // Init undo buffer to store MAX_UNDO_STATES states + PlayerState *states = (PlayerState *)RL_CALLOC(MAX_UNDO_STATES, sizeof(PlayerState)); + // Init all undo states to current state + for (int i = 0; i < MAX_UNDO_STATES; i++) memcpy(&states[i], &player, sizeof(PlayerState)); + + // Grid variables + Vector2 gridPosition = { 40, 60 }; + + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + // Player movement logic + if (IsKeyPressed(KEY_RIGHT)) player.cell.x++; + else if (IsKeyPressed(KEY_LEFT)) player.cell.x--; + else if (IsKeyPressed(KEY_UP)) player.cell.y--; + else if (IsKeyPressed(KEY_DOWN)) player.cell.y++; + + // Make sure player does not go out of bounds + if (player.cell.x < 0) player.cell.x = 0; + else if (player.cell.x >= MAX_GRID_CELLS_X) player.cell.x = MAX_GRID_CELLS_X - 1; + if (player.cell.y < 0) player.cell.y = 0; + else if (player.cell.y >= MAX_GRID_CELLS_Y) player.cell.y = MAX_GRID_CELLS_Y - 1; + + // Player color change logic + if (IsKeyPressed(KEY_SPACE)) + { + player.color.r = (unsigned char)GetRandomValue(20, 255); + player.color.g = (unsigned char)GetRandomValue(20, 220); + player.color.b = (unsigned char)GetRandomValue(20, 240); + } + + // Undo layout change logic + undoFrameCounter++; + + // Waiting a number of frames before checking if we should store a new state snapshot + if (undoFrameCounter >= 2) // Checking every 2 frames + { + if (memcmp(&states[currentUndoIndex], &player, sizeof(PlayerState)) != 0) + { + // Move cursor to next available position of the undo ring buffer to record state + currentUndoIndex++; + if (currentUndoIndex >= MAX_UNDO_STATES) currentUndoIndex = 0; + if (currentUndoIndex == firstUndoIndex) firstUndoIndex++; + if (firstUndoIndex >= MAX_UNDO_STATES) firstUndoIndex = 0; + + memcpy(&states[currentUndoIndex], &player, sizeof(PlayerState)); + lastUndoIndex = currentUndoIndex; + } + + undoFrameCounter = 0; + } + + // Recover previous state from buffer: CTRL+Z + if (IsKeyDown(KEY_LEFT_CONTROL) && IsKeyPressed(KEY_Z)) + { + if (currentUndoIndex != firstUndoIndex) + { + currentUndoIndex--; + if (currentUndoIndex < 0) currentUndoIndex = MAX_UNDO_STATES - 1; + + if (memcmp(&states[currentUndoIndex], &player, sizeof(PlayerState)) != 0) + { + memcpy(&player, &states[currentUndoIndex], sizeof(PlayerState)); + } + } + } + + // Recover next state from buffer: CTRL+Y + if (IsKeyDown(KEY_LEFT_CONTROL) && IsKeyPressed(KEY_Y)) + { + if (currentUndoIndex != lastUndoIndex) + { + int nextUndoIndex = currentUndoIndex + 1; + if (nextUndoIndex >= MAX_UNDO_STATES) nextUndoIndex = 0; + + if (nextUndoIndex != firstUndoIndex) + { + currentUndoIndex = nextUndoIndex; + + if (memcmp(&states[currentUndoIndex], &player, sizeof(PlayerState)) != 0) + { + memcpy(&player, &states[currentUndoIndex], sizeof(PlayerState)); + } + } + } + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + // Draw controls info + DrawText("[ARROWS] MOVE PLAYER - [SPACE] CHANGE PLAYER COLOR", 40, 20, 20, DARKGRAY); + + // Draw player visited cells recorded by undo + // NOTE: Remember we are using a ring buffer approach so, + // some cells info could start at the end of the array and end at the beginning + if (lastUndoIndex > firstUndoIndex) + { + for (int i = firstUndoIndex; i < currentUndoIndex; i++) + DrawRectangle(gridPosition.x + states[i].cell.x*GRID_CELL_SIZE, gridPosition.y + states[i].cell.y*GRID_CELL_SIZE, + GRID_CELL_SIZE, GRID_CELL_SIZE, LIGHTGRAY); + } + else if (firstUndoIndex > lastUndoIndex) + { + if ((currentUndoIndex < MAX_UNDO_STATES) && (currentUndoIndex > lastUndoIndex)) + { + for (int i = firstUndoIndex; i < currentUndoIndex; i++) + DrawRectangle(gridPosition.x + states[i].cell.x*GRID_CELL_SIZE, gridPosition.y + states[i].cell.y*GRID_CELL_SIZE, + GRID_CELL_SIZE, GRID_CELL_SIZE, LIGHTGRAY); + } + else + { + for (int i = firstUndoIndex; i < MAX_UNDO_STATES; i++) + DrawRectangle(gridPosition.x + states[i].cell.x*GRID_CELL_SIZE, gridPosition.y + states[i].cell.y*GRID_CELL_SIZE, + GRID_CELL_SIZE, GRID_CELL_SIZE, LIGHTGRAY); + for (int i = 0; i < currentUndoIndex; i++) + DrawRectangle(gridPosition.x + states[i].cell.x*GRID_CELL_SIZE, gridPosition.y + states[i].cell.y*GRID_CELL_SIZE, + GRID_CELL_SIZE, GRID_CELL_SIZE, LIGHTGRAY); + } + } + + // Draw game grid + for (int y = 0; y <= MAX_GRID_CELLS_Y; y++) + DrawLine(gridPosition.x, gridPosition.y + y*GRID_CELL_SIZE, + gridPosition.x + MAX_GRID_CELLS_X*GRID_CELL_SIZE, gridPosition.y + y*GRID_CELL_SIZE, GRAY); + for (int x = 0; x <= MAX_GRID_CELLS_X; x++) + DrawLine(gridPosition.x + x*GRID_CELL_SIZE, gridPosition.y, + gridPosition.x + x*GRID_CELL_SIZE, gridPosition.y + MAX_GRID_CELLS_Y*GRID_CELL_SIZE, GRAY); + + // Draw player + DrawRectangle(gridPosition.x + player.cell.x*GRID_CELL_SIZE, gridPosition.y + player.cell.y*GRID_CELL_SIZE, + GRID_CELL_SIZE + 1, GRID_CELL_SIZE + 1, player.color); + + // Draw undo system buffer info + DrawText("UNDO STATES:", undoInfoPos.x - 85, undoInfoPos.y + 9, 10, DARKGRAY); + DrawUndoBuffer(undoInfoPos, firstUndoIndex, lastUndoIndex, currentUndoIndex, 24); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + RL_FREE(states); // Free undo states array + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +//------------------------------------------------------------------------------------ +// Module Functions Definition +//------------------------------------------------------------------------------------ +// Draw undo system visualization logic +// NOTE: Visualizing the ring buffer array, every square can store a player state +static void DrawUndoBuffer(Vector2 position, int firstUndoIndex, int lastUndoIndex, int currentUndoIndex, int slotSize) +{ + // Draw index marks + DrawRectangle(position.x + 8 + slotSize*currentUndoIndex, position.y - 10, 8, 8, RED); + DrawRectangleLines(position.x + 2 + slotSize*firstUndoIndex, position.y + 27, 8, 8, BLACK); + DrawRectangle(position.x + 14 + slotSize*lastUndoIndex, position.y + 27, 8, 8, BLACK); + + // Draw background gray slots + for (int i = 0; i < MAX_UNDO_STATES; i++) + { + DrawRectangle(position.x + slotSize*i, position.y, slotSize, slotSize, LIGHTGRAY); + DrawRectangleLines(position.x + slotSize*i, position.y, slotSize, slotSize, GRAY); + } + + // Draw occupied slots: firstUndoIndex --> lastUndoIndex + if (firstUndoIndex <= lastUndoIndex) + { + for (int i = firstUndoIndex; i < lastUndoIndex + 1; i++) + { + DrawRectangle(position.x + slotSize*i, position.y, slotSize, slotSize, SKYBLUE); + DrawRectangleLines(position.x + slotSize*i, position.y, slotSize, slotSize, BLUE); + } + } + else if (lastUndoIndex < firstUndoIndex) + { + for (int i = firstUndoIndex; i < MAX_UNDO_STATES; i++) + { + DrawRectangle(position.x + slotSize*i, position.y, slotSize, slotSize, SKYBLUE); + DrawRectangleLines(position.x + slotSize*i, position.y, slotSize, slotSize, BLUE); + } + + for (int i = 0; i < lastUndoIndex + 1; i++) + { + DrawRectangle(position.x + slotSize*i, position.y, slotSize, slotSize, SKYBLUE); + DrawRectangleLines(position.x + slotSize*i, position.y, slotSize, slotSize, BLUE); + } + } + + // Draw occupied slots: firstUndoIndex --> currentUndoIndex + if (firstUndoIndex < currentUndoIndex) + { + for (int i = firstUndoIndex; i < currentUndoIndex; i++) + { + DrawRectangle(position.x + slotSize*i, position.y, slotSize, slotSize, GREEN); + DrawRectangleLines(position.x + slotSize*i, position.y, slotSize, slotSize, LIME); + } + } + else if (currentUndoIndex < firstUndoIndex) + { + for (int i = firstUndoIndex; i < MAX_UNDO_STATES; i++) + { + DrawRectangle(position.x + slotSize*i, position.y, slotSize, slotSize, GREEN); + DrawRectangleLines(position.x + slotSize*i, position.y, slotSize, slotSize, LIME); + } + + for (int i = 0; i < currentUndoIndex; i++) + { + DrawRectangle(position.x + slotSize*i, position.y, slotSize, slotSize, GREEN); + DrawRectangleLines(position.x + slotSize*i, position.y, slotSize, slotSize, LIME); + } + } + + // Draw current selected UNDO slot + DrawRectangle(position.x + slotSize*currentUndoIndex, position.y, slotSize, slotSize, GOLD); + DrawRectangleLines(position.x + slotSize*currentUndoIndex, position.y, slotSize, slotSize, ORANGE); +} \ No newline at end of file diff --git a/examples/core/core_undo_redo.png b/examples/core/core_undo_redo.png new file mode 100644 index 0000000000000000000000000000000000000000..b125b8435e5b3a72c3f68eb9262762a3ce25a2b6 GIT binary patch literal 16180 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 literal 0 HcmV?d00001 diff --git a/examples/examples_list.txt b/examples/examples_list.txt index ecbc3e2cc..ec00f3961 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -43,6 +43,7 @@ core;core_random_sequence;★☆☆☆;5.0;5.0;2023;2025;"Dalton Overmyer";@REDl core;core_automation_events;★★★☆;5.0;5.0;2023;2025;"Ramon Santamaria";@raysan5 core;core_high_dpi;★★☆☆;5.0;5.5;2025;2025;"Jonathan Marler";@marler8997 core;core_render_texture;★☆☆☆;5.6-dev;5.6-dev;2025;2025;"Ramon Santamaria";@raysan5 +core;core_undo_redo;★★★☆;5.5;5.6;2025;2025;"Ramon Santamaria";@raysan5 shapes;shapes_basic_shapes;★☆☆☆;1.0;4.2;2014;2025;"Ramon Santamaria";@raysan5 shapes;shapes_bouncing_ball;★☆☆☆;2.5;2.5;2013;2025;"Ramon Santamaria";@raysan5 shapes;shapes_colors_palette;★★☆☆;1.0;2.5;2014;2025;"Ramon Santamaria";@raysan5 diff --git a/projects/VS2022/examples/core_undo_redo.vcxproj b/projects/VS2022/examples/core_undo_redo.vcxproj new file mode 100644 index 000000000..ff621a8a7 --- /dev/null +++ b/projects/VS2022/examples/core_undo_redo.vcxproj @@ -0,0 +1,569 @@ + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {3B27F358-2679-4F38-B297-17B536F580BB} + Win32Proj + core_undo_redo + 10.0 + core_undo_redo + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 3eacc34ec..9fb624a20 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -339,9 +339,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "text_unicode_ranges", "exam EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_input_gestures_testbed", "examples\core_input_gestures_testbed.vcxproj", "{A61DAD9C-271C-4E95-81AA-DB4CD58564D4}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_render_texture", "examples\core_render_texture.vcxproj", "{6B1A933E-71B8-4C1F-9E79-02D98830E671}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_render_texture", "examples\core_render_texture.vcxproj", "{49C67F03-1A56-4F96-B278-39B66EC93678}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "text_inline_styling", "examples\text_inline_styling.vcxproj", "{6B1A933E-71B8-4C1F-9E79-02D98830E671}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "text_inline_styling", "examples\text_inline_styling.vcxproj", "{D496308F-3C3C-40B3-A3ED-EA327D244B3E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_undo_redo", "examples\core_undo_redo.vcxproj", "{3B27F358-2679-4F38-B297-17B536F580BB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -4173,54 +4175,78 @@ Global {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Release|x64.Build.0 = Release|x64 {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Release|x86.ActiveCfg = Release|Win32 {A61DAD9C-271C-4E95-81AA-DB4CD58564D4}.Release|x86.Build.0 = Release|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.Build.0 = Debug.DLL|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.Build.0 = Debug|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.ActiveCfg = Debug|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.Build.0 = Debug|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.ActiveCfg = Debug|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.Build.0 = Debug|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.ActiveCfg = Release.DLL|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.Build.0 = Release.DLL|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.ActiveCfg = Release.DLL|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.Build.0 = Release.DLL|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.Build.0 = Release.DLL|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.ActiveCfg = Release|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.Build.0 = Release|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.ActiveCfg = Release|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.Build.0 = Release|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.ActiveCfg = Release|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.Build.0 = Release|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.Build.0 = Debug.DLL|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.Build.0 = Debug|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.ActiveCfg = Debug|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.Build.0 = Debug|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.ActiveCfg = Debug|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.Build.0 = Debug|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.ActiveCfg = Release.DLL|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.Build.0 = Release.DLL|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.ActiveCfg = Release.DLL|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.Build.0 = Release.DLL|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.Build.0 = Release.DLL|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.ActiveCfg = Release|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.Build.0 = Release|ARM64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.ActiveCfg = Release|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.Build.0 = Release|x64 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.ActiveCfg = Release|Win32 - {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.Build.0 = Release|Win32 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Debug.DLL|x64.Build.0 = Debug.DLL|x64 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Debug|ARM64.Build.0 = Debug|ARM64 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Debug|x64.ActiveCfg = Debug|x64 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Debug|x64.Build.0 = Debug|x64 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Debug|x86.ActiveCfg = Debug|Win32 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Debug|x86.Build.0 = Debug|Win32 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Release.DLL|ARM64.ActiveCfg = Release.DLL|ARM64 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Release.DLL|ARM64.Build.0 = Release.DLL|ARM64 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Release.DLL|x64.ActiveCfg = Release.DLL|x64 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Release.DLL|x64.Build.0 = Release.DLL|x64 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Release.DLL|x86.Build.0 = Release.DLL|Win32 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Release|ARM64.ActiveCfg = Release|ARM64 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Release|ARM64.Build.0 = Release|ARM64 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Release|x64.ActiveCfg = Release|x64 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Release|x64.Build.0 = Release|x64 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Release|x86.ActiveCfg = Release|Win32 + {49C67F03-1A56-4F96-B278-39B66EC93678}.Release|x86.Build.0 = Release|Win32 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Debug.DLL|x64.Build.0 = Debug.DLL|x64 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Debug|ARM64.Build.0 = Debug|ARM64 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Debug|x64.ActiveCfg = Debug|x64 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Debug|x64.Build.0 = Debug|x64 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Debug|x86.ActiveCfg = Debug|Win32 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Debug|x86.Build.0 = Debug|Win32 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Release.DLL|ARM64.ActiveCfg = Release.DLL|ARM64 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Release.DLL|ARM64.Build.0 = Release.DLL|ARM64 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Release.DLL|x64.ActiveCfg = Release.DLL|x64 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Release.DLL|x64.Build.0 = Release.DLL|x64 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Release.DLL|x86.Build.0 = Release.DLL|Win32 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Release|ARM64.ActiveCfg = Release|ARM64 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Release|ARM64.Build.0 = Release|ARM64 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Release|x64.ActiveCfg = Release|x64 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Release|x64.Build.0 = Release|x64 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Release|x86.ActiveCfg = Release|Win32 + {D496308F-3C3C-40B3-A3ED-EA327D244B3E}.Release|x86.Build.0 = Release|Win32 + {3B27F358-2679-4F38-B297-17B536F580BB}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64 + {3B27F358-2679-4F38-B297-17B536F580BB}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64 + {3B27F358-2679-4F38-B297-17B536F580BB}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64 + {3B27F358-2679-4F38-B297-17B536F580BB}.Debug.DLL|x64.Build.0 = Debug.DLL|x64 + {3B27F358-2679-4F38-B297-17B536F580BB}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32 + {3B27F358-2679-4F38-B297-17B536F580BB}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32 + {3B27F358-2679-4F38-B297-17B536F580BB}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {3B27F358-2679-4F38-B297-17B536F580BB}.Debug|ARM64.Build.0 = Debug|ARM64 + {3B27F358-2679-4F38-B297-17B536F580BB}.Debug|x64.ActiveCfg = Debug|x64 + {3B27F358-2679-4F38-B297-17B536F580BB}.Debug|x64.Build.0 = Debug|x64 + {3B27F358-2679-4F38-B297-17B536F580BB}.Debug|x86.ActiveCfg = Debug|Win32 + {3B27F358-2679-4F38-B297-17B536F580BB}.Debug|x86.Build.0 = Debug|Win32 + {3B27F358-2679-4F38-B297-17B536F580BB}.Release.DLL|ARM64.ActiveCfg = Release.DLL|ARM64 + {3B27F358-2679-4F38-B297-17B536F580BB}.Release.DLL|ARM64.Build.0 = Release.DLL|ARM64 + {3B27F358-2679-4F38-B297-17B536F580BB}.Release.DLL|x64.ActiveCfg = Release.DLL|x64 + {3B27F358-2679-4F38-B297-17B536F580BB}.Release.DLL|x64.Build.0 = Release.DLL|x64 + {3B27F358-2679-4F38-B297-17B536F580BB}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32 + {3B27F358-2679-4F38-B297-17B536F580BB}.Release.DLL|x86.Build.0 = Release.DLL|Win32 + {3B27F358-2679-4F38-B297-17B536F580BB}.Release|ARM64.ActiveCfg = Release|ARM64 + {3B27F358-2679-4F38-B297-17B536F580BB}.Release|ARM64.Build.0 = Release|ARM64 + {3B27F358-2679-4F38-B297-17B536F580BB}.Release|x64.ActiveCfg = Release|x64 + {3B27F358-2679-4F38-B297-17B536F580BB}.Release|x64.Build.0 = Release|x64 + {3B27F358-2679-4F38-B297-17B536F580BB}.Release|x86.ActiveCfg = Release|Win32 + {3B27F358-2679-4F38-B297-17B536F580BB}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -4392,8 +4418,9 @@ Global {6BFF72EA-7362-4A3B-B6E5-9A3655BBBDA3} = {5317807F-61D4-4E0F-B6DC-2D9F12621ED9} {6777EC3C-077C-42FC-B4AD-B799CE55CCE4} = {8D3C83B7-F1E0-4C2E-9E34-EE5F6AB2502A} {A61DAD9C-271C-4E95-81AA-DB4CD58564D4} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} - {6B1A933E-71B8-4C1F-9E79-02D98830E671} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} - {6B1A933E-71B8-4C1F-9E79-02D98830E671} = {8D3C83B7-F1E0-4C2E-9E34-EE5F6AB2502A} + {49C67F03-1A56-4F96-B278-39B66EC93678} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} + {D496308F-3C3C-40B3-A3ED-EA327D244B3E} = {8D3C83B7-F1E0-4C2E-9E34-EE5F6AB2502A} + {3B27F358-2679-4F38-B297-17B536F580BB} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {E926C768-6307-4423-A1EC-57E95B1FAB29} From 36ad7127c2d05cee97ec09d1679ead02293a070b Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 13 Sep 2025 21:09:59 +0200 Subject: [PATCH 108/125] REXM: Update --- examples/README.md | 2 +- examples/core/core_undo_redo.c | 2 +- tools/rexm/examples_report.md | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/examples/README.md b/examples/README.md index 52dab85e1..56cf8fb3e 100644 --- a/examples/README.md +++ b/examples/README.md @@ -61,7 +61,7 @@ Examples using raylib[core](../src/rcore.c) platform functionality like window c | [core_automation_events](core/core_automation_events.c) | core_automation_events | ⭐⭐⭐☆ | 5.0 | 5.0 | [Ramon Santamaria](https://github.com/raysan5) | | [core_high_dpi](core/core_high_dpi.c) | core_high_dpi | ⭐⭐☆☆ | 5.0 | 5.5 | [Jonathan Marler](https://github.com/marler8997) | | [core_render_texture](core/core_render_texture.c) | core_render_texture | ⭐☆☆☆ | 5.6-dev | 5.6-dev | [Ramon Santamaria](https://github.com/raysan5) | -| [core_undo_redo](core/core_undo_redo.c) | core_undo_redo | ⭐☆☆☆ | 5.5 | 5.6 | [](https://github.com/) | +| [core_undo_redo](core/core_undo_redo.c) | core_undo_redo | ⭐⭐⭐☆ | 5.5 | 5.6 | [Ramon Santamaria](https://github.com/raysan5) | ### category: shapes [20] diff --git a/examples/core/core_undo_redo.c b/examples/core/core_undo_redo.c index 01de35e3a..dc0590a69 100644 --- a/examples/core/core_undo_redo.c +++ b/examples/core/core_undo_redo.c @@ -6,7 +6,7 @@ * * Example originally created with raylib 5.5, last time updated with raylib 5.6 * -* Example contributed by Reamon Santamaria (@raysan5) +* Example contributed by Ramon Santamaria (@raysan5) * * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software diff --git a/tools/rexm/examples_report.md b/tools/rexm/examples_report.md index df515917a..384a89902 100644 --- a/tools/rexm/examples_report.md +++ b/tools/rexm/examples_report.md @@ -56,6 +56,7 @@ Example elements validated: | core_automation_events | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_high_dpi | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | core_render_texture | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| core_undo_redo | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_basic_shapes | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_bouncing_ball | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | shapes_colors_palette | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | From 9931ddd27a8db307c0194095e98dfeb526b1ef62 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 13 Sep 2025 21:17:16 +0200 Subject: [PATCH 109/125] Update core_undo_redo.c --- examples/core/core_undo_redo.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/examples/core/core_undo_redo.c b/examples/core/core_undo_redo.c index dc0590a69..874f68800 100644 --- a/examples/core/core_undo_redo.c +++ b/examples/core/core_undo_redo.c @@ -116,7 +116,7 @@ int main(void) player.color.b = (unsigned char)GetRandomValue(20, 240); } - // Undo layout change logic + // Undo state change logic undoFrameCounter++; // Waiting a number of frames before checking if we should store a new state snapshot @@ -176,7 +176,6 @@ int main(void) // Draw //---------------------------------------------------------------------------------- BeginDrawing(); - ClearBackground(RAYWHITE); // Draw controls info @@ -310,4 +309,4 @@ static void DrawUndoBuffer(Vector2 position, int firstUndoIndex, int lastUndoInd // Draw current selected UNDO slot DrawRectangle(position.x + slotSize*currentUndoIndex, position.y, slotSize, slotSize, GOLD); DrawRectangleLines(position.x + slotSize*currentUndoIndex, position.y, slotSize, slotSize, ORANGE); -} \ No newline at end of file +} From c9b1f2ce54e41c5daa72a5c867fcdd4ac1615a0c Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 14 Sep 2025 10:04:24 +0200 Subject: [PATCH 110/125] REVIEWED: example: `core_input_gestures_testbed`, follow default structure --- examples/core/core_input_gestures_testbed.c | 525 ++++++++++---------- 1 file changed, 252 insertions(+), 273 deletions(-) diff --git a/examples/core/core_input_gestures_testbed.c b/examples/core/core_input_gestures_testbed.c index 6cea3b03e..07b2ceece 100644 --- a/examples/core/core_input_gestures_testbed.c +++ b/examples/core/core_input_gestures_testbed.c @@ -19,56 +19,14 @@ #include // Required for the protractor angle graphic drawing -#if defined(PLATFORM_WEB) - #include // Required for the Web/HTML5 -#endif - #define GESTURE_LOG_SIZE 20 #define MAX_TOUCH_COUNT 32 -//-------------------------------------------------------------------------------------- -// Global Variables Definition -//-------------------------------------------------------------------------------------- -static int screenWidth = 800; // Update depending on web canvas -static const int screenHeight = 450; -static Vector2 messagePosition = { 160, 7 }; - -// Last gesture variables definitions -static int lastGesture = 0; -static Vector2 lastGesturePosition = { 165, 130 }; - -// Gesture log variables definitions -// NOTE: The gesture log uses an array (as an inverted circular queue) to store the performed gestures -static char gestureLog[GESTURE_LOG_SIZE][12] = { "" }; -// NOTE: The index for the inverted circular queue (moving from last to first direction, then looping around) -static int gestureLogIndex = GESTURE_LOG_SIZE; -static int previousGesture = 0; - -// Log mode values: -// - 0 shows repeated events -// - 1 hides repeated events -// - 2 shows repeated events but hide hold events -// - 3 hides repeated events and hide hold events -static int logMode = 1; - -static Color gestureColor = { 0, 0, 0, 255 }; -static Rectangle logButton1 = { 53, 7, 48, 26 }; -static Rectangle logButton2 = { 108, 7, 36, 26 }; -static Vector2 gestureLogPosition = { 10, 10 }; - -// Protractor variables definitions -static float angleLength = 90.0f; -static float currentAngleDegrees = 0.0f; -static Vector2 finalVector = { 0.0f, 0.0f }; -static char currentAngleStr[7] = ""; -static Vector2 protractorPosition = { 266.0f, 315.0f }; - //---------------------------------------------------------------------------------- // Module Functions Declaration //---------------------------------------------------------------------------------- -static void UpdateDrawFrame(void); // Update and Draw one frame -static char const *GetGestureName(int i); -static Color GetGestureColor(int i); +static char const *GetGestureName(int gesture); // Get text string for gesture value +static Color GetGestureColor(int gesture); // Get color for gesture value //------------------------------------------------------------------------------------ // Program main entry point @@ -77,20 +35,234 @@ int main(void) { // Initialization //-------------------------------------------------------------------------------------- - InitWindow(screenWidth, screenHeight, "raylib [core] example - input gestures testbed"); + const int screenWidth = 800; + const int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [core] example - input gestures testbed"); + + Vector2 messagePosition = { 160, 7 }; + + // Last gesture variables definitions + int lastGesture = 0; + Vector2 lastGesturePosition = { 165, 130 }; + + // Gesture log variables definitions + // NOTE: The gesture log uses an array (as an inverted circular queue) to store the performed gestures + char gestureLog[GESTURE_LOG_SIZE][12] = { "" }; + // NOTE: The index for the inverted circular queue (moving from last to first direction, then looping around) + int gestureLogIndex = GESTURE_LOG_SIZE; + int previousGesture = 0; + + // Log mode values: + // - 0 shows repeated events + // - 1 hides repeated events + // - 2 shows repeated events but hide hold events + // - 3 hides repeated events and hide hold events + int logMode = 1; + + Color gestureColor = { 0, 0, 0, 255 }; + Rectangle logButton1 = { 53, 7, 48, 26 }; + Rectangle logButton2 = { 108, 7, 36, 26 }; + Vector2 gestureLogPosition = { 10, 10 }; + + // Protractor variables definitions + float angleLength = 90.0f; + float currentAngleDegrees = 0.0f; + Vector2 finalVector = { 0.0f, 0.0f }; + char currentAngleStr[7] = ""; + Vector2 protractorPosition = { 266.0f, 315.0f }; -#if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); -#else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- // Main game loop while (!WindowShouldClose()) // Detect window close button or ESC key { - UpdateDrawFrame(); + // Update + //-------------------------------------------------------------------------------------- + // Handle common gestures data + int i, ii; // Iterators that will be reused by all for loops + const int currentGesture = GetGestureDetected(); + const float currentDragDegrees = GetGestureDragAngle(); + const float currentPitchDegrees = GetGesturePinchAngle(); + const int touchCount = GetTouchPointCount(); + + // Handle last gesture + if ((currentGesture != 0) && (currentGesture != 4) && (currentGesture != previousGesture)) + lastGesture = currentGesture; // Filter the meaningful gestures (1, 2, 8 to 512) for the display + + // Handle gesture log + if (IsMouseButtonReleased(MOUSE_BUTTON_LEFT)) + { + if (CheckCollisionPointRec(GetMousePosition(), logButton1)) + { + switch (logMode) + { + case 3: logMode = 2; break; + case 2: logMode = 3; break; + case 1: logMode = 0; break; + default: logMode = 1; break; + } + } + else if (CheckCollisionPointRec(GetMousePosition(), logButton2)) + { + switch (logMode) + { + case 3: logMode = 1; break; + case 2: logMode = 0; break; + case 1: logMode = 3; break; + default: logMode = 2; break; + } + } + } + + int fillLog = 0; // Gate variable to be used to allow or not the gesture log to be filled + if (currentGesture !=0) + { + if (logMode == 3) // 3 hides repeated events and hide hold events + { + if (((currentGesture != 4) && (currentGesture != previousGesture)) || (currentGesture < 3)) fillLog = 1; + } + else if (logMode == 2) // 2 shows repeated events but hide hold events + { + if (currentGesture != 4) fillLog = 1; + } + else if (logMode == 1) // 1 hides repeated events + { + if (currentGesture != previousGesture) fillLog = 1; + } + else // 0 shows repeated events + { + fillLog = 1; + } + } + + if (fillLog) // If one of the conditions from logMode was met, fill the gesture log + { + previousGesture = currentGesture; + gestureColor = GetGestureColor(currentGesture); + if (gestureLogIndex <= 0) gestureLogIndex = GESTURE_LOG_SIZE; + gestureLogIndex--; + + // Copy the gesture respective name to the gesture log array + TextCopy(gestureLog[gestureLogIndex], GetGestureName(currentGesture)); + } + + // Handle protractor + if (currentGesture > 255) currentAngleDegrees = currentPitchDegrees; // Pinch In and Pinch Out + else if (currentGesture > 15) currentAngleDegrees = currentDragDegrees; // Swipe Right, Swipe Left, Swipe Up and Swipe Down + else if (currentGesture > 0) currentAngleDegrees = 0.0f; // Tap, Doubletap, Hold and Grab + + float currentAngleRadians = ((currentAngleDegrees + 90.0f)*PI/180); // Convert the current angle to Radians + // Calculate the final vector for display + finalVector = (Vector2){ (angleLength*sinf(currentAngleRadians)) + protractorPosition.x, + (angleLength*cosf(currentAngleRadians)) + protractorPosition.y }; + + // Handle touch and mouse pointer points + Vector2 touchPosition[MAX_TOUCH_COUNT] = { 0 }; + Vector2 mousePosition = { 0 }; + if (currentGesture != GESTURE_NONE) + { + if (touchCount != 0) + { + for (i = 0; i < touchCount; i++) touchPosition[i] = GetTouchPosition(i); // Fill the touch positions + } + else mousePosition = GetMousePosition(); + } + //-------------------------------------------------------------------------------------- + + // Draw + //-------------------------------------------------------------------------------------- + BeginDrawing(); + ClearBackground(RAYWHITE); + + // Draw common elements + DrawText("*", messagePosition.x + 5, messagePosition.y + 5, 10, BLACK); + DrawText("Example optimized for Web/HTML5\non Smartphones with Touch Screen.", messagePosition.x + 15, messagePosition.y + 5, 10, BLACK); + DrawText("*", messagePosition.x + 5, messagePosition.y + 35, 10, BLACK); + DrawText("While running on Desktop Web Browsers,\ninspect and turn on Touch Emulation.", messagePosition.x + 15, messagePosition.y + 35, 10, BLACK); + + // Draw last gesture + DrawText("Last gesture", lastGesturePosition.x + 33, lastGesturePosition.y - 47, 20, BLACK); + DrawText("Swipe Tap Pinch Touch", lastGesturePosition.x + 17, lastGesturePosition.y - 18, 10, BLACK); + DrawRectangle(lastGesturePosition.x + 20, lastGesturePosition.y, 20, 20, lastGesture == GESTURE_SWIPE_UP ? RED : LIGHTGRAY); + DrawRectangle(lastGesturePosition.x, lastGesturePosition.y + 20, 20, 20, lastGesture == GESTURE_SWIPE_LEFT ? RED : LIGHTGRAY); + DrawRectangle(lastGesturePosition.x + 40, lastGesturePosition.y + 20, 20, 20, lastGesture == GESTURE_SWIPE_RIGHT ? RED : LIGHTGRAY); + DrawRectangle(lastGesturePosition.x + 20, lastGesturePosition.y + 40, 20, 20, lastGesture == GESTURE_SWIPE_DOWN ? RED : LIGHTGRAY); + DrawCircle(lastGesturePosition.x + 80, lastGesturePosition.y + 16, 10, lastGesture == GESTURE_TAP ? BLUE : LIGHTGRAY); + DrawRing( (Vector2){lastGesturePosition.x + 103, lastGesturePosition.y + 16}, 6.0f, 11.0f, 0.0f, 360.0f, 0, lastGesture == GESTURE_DRAG ? LIME : LIGHTGRAY); + DrawCircle(lastGesturePosition.x + 80, lastGesturePosition.y + 43, 10, lastGesture == GESTURE_DOUBLETAP ? SKYBLUE : LIGHTGRAY); + DrawCircle(lastGesturePosition.x + 103, lastGesturePosition.y + 43, 10, lastGesture == GESTURE_DOUBLETAP ? SKYBLUE : LIGHTGRAY); + DrawTriangle((Vector2){ lastGesturePosition.x + 122, lastGesturePosition.y + 16 }, (Vector2){ lastGesturePosition.x + 137, lastGesturePosition.y + 26 }, (Vector2){ lastGesturePosition.x + 137, lastGesturePosition.y + 6 }, lastGesture == GESTURE_PINCH_OUT? ORANGE : LIGHTGRAY); + DrawTriangle((Vector2){ lastGesturePosition.x + 147, lastGesturePosition.y + 6 }, (Vector2){ lastGesturePosition.x + 147, lastGesturePosition.y + 26 }, (Vector2){ lastGesturePosition.x + 162, lastGesturePosition.y + 16 }, lastGesture == GESTURE_PINCH_OUT? ORANGE : LIGHTGRAY); + DrawTriangle((Vector2){ lastGesturePosition.x + 125, lastGesturePosition.y + 33 }, (Vector2){ lastGesturePosition.x + 125, lastGesturePosition.y + 53 }, (Vector2){ lastGesturePosition.x + 140, lastGesturePosition.y + 43 }, lastGesture == GESTURE_PINCH_IN? VIOLET : LIGHTGRAY); + DrawTriangle((Vector2){ lastGesturePosition.x + 144, lastGesturePosition.y + 43 }, (Vector2){ lastGesturePosition.x + 159, lastGesturePosition.y + 53 }, (Vector2){ lastGesturePosition.x + 159, lastGesturePosition.y + 33 }, lastGesture == GESTURE_PINCH_IN? VIOLET : LIGHTGRAY); + for (i = 0; i < 4; i++) DrawCircle(lastGesturePosition.x + 180, lastGesturePosition.y + 7 + i*15, 5, touchCount <= i? LIGHTGRAY : gestureColor); + + // Draw gesture log + DrawText("Log", gestureLogPosition.x, gestureLogPosition.y, 20, BLACK); + + // Loop in both directions to print the gesture log array in the inverted order (and looping around if the index started somewhere in the middle) + for (i = 0, ii = gestureLogIndex; i < GESTURE_LOG_SIZE; i++, ii = (ii + 1) % GESTURE_LOG_SIZE) DrawText(gestureLog[ii], gestureLogPosition.x, gestureLogPosition.y + 410 - i*20, 20, (i == 0 ? gestureColor : LIGHTGRAY)); + Color logButton1Color, logButton2Color; + switch (logMode) + { + case 3: logButton1Color=MAROON; logButton2Color=MAROON; break; + case 2: logButton1Color=GRAY; logButton2Color=MAROON; break; + case 1: logButton1Color=MAROON; logButton2Color=GRAY; break; + default: logButton1Color=GRAY; logButton2Color=GRAY; break; + } + DrawRectangleRec(logButton1, logButton1Color); + DrawText("Hide", logButton1.x + 7, logButton1.y + 3, 10, WHITE); + DrawText("Repeat", logButton1.x + 7, logButton1.y + 13, 10, WHITE); + DrawRectangleRec(logButton2, logButton2Color); + DrawText("Hide", logButton1.x + 62, logButton1.y + 3, 10, WHITE); + DrawText("Hold", logButton1.x + 62, logButton1.y + 13, 10, WHITE); + + // Draw protractor + DrawText("Angle", protractorPosition.x + 55, protractorPosition.y + 76, 10, BLACK); + const char *angleString = TextFormat("%f", currentAngleDegrees); + const int angleStringDot = TextFindIndex(angleString, "."); + const char *angleStringTrim = TextSubtext(angleString, 0, angleStringDot + 3); + DrawText( angleStringTrim, protractorPosition.x + 55, protractorPosition.y + 92, 20, gestureColor); + DrawCircle(protractorPosition.x, protractorPosition.y, 80.0f, WHITE); + DrawLineEx((Vector2){ protractorPosition.x - 90, protractorPosition.y }, (Vector2){ protractorPosition.x + 90, protractorPosition.y }, 3.0f, LIGHTGRAY); + DrawLineEx((Vector2){ protractorPosition.x, protractorPosition.y - 90 }, (Vector2){ protractorPosition.x, protractorPosition.y + 90 }, 3.0f, LIGHTGRAY); + DrawLineEx((Vector2){ protractorPosition.x - 80, protractorPosition.y - 45 }, (Vector2){ protractorPosition.x + 80, protractorPosition.y + 45 }, 3.0f, GREEN); + DrawLineEx((Vector2){ protractorPosition.x - 80, protractorPosition.y + 45 }, (Vector2){ protractorPosition.x + 80, protractorPosition.y - 45 }, 3.0f, GREEN); + DrawText("0", protractorPosition.x + 96, protractorPosition.y - 9, 20, BLACK); + DrawText("30", protractorPosition.x + 74, protractorPosition.y - 68, 20, BLACK); + DrawText("90", protractorPosition.x - 11, protractorPosition.y - 110, 20, BLACK); + DrawText("150", protractorPosition.x - 100, protractorPosition.y - 68, 20, BLACK); + DrawText("180", protractorPosition.x - 124, protractorPosition.y - 9, 20, BLACK); + DrawText("210", protractorPosition.x - 100, protractorPosition.y + 50, 20, BLACK); + DrawText("270", protractorPosition.x - 18, protractorPosition.y + 92, 20, BLACK); + DrawText("330", protractorPosition.x + 72, protractorPosition.y + 50, 20, BLACK); + if (currentAngleDegrees != 0.0f) DrawLineEx(protractorPosition, finalVector, 3.0f, gestureColor); + + // Draw touch and mouse pointer points + if (currentGesture != GESTURE_NONE) + { + if ( touchCount != 0 ) + { + for (i = 0; i < touchCount; i++) + { + DrawCircleV(touchPosition[i], 50.0f, Fade(gestureColor, 0.5f)); + DrawCircleV(touchPosition[i], 5.0f, gestureColor); + } + + if (touchCount == 2) DrawLineEx(touchPosition[0], touchPosition[1], ((currentGesture == 512)? 8 : 12), gestureColor); + } + else + { + DrawCircleV(mousePosition, 35.0f, Fade(gestureColor, 0.5f)); + DrawCircleV(mousePosition, 5.0f, gestureColor); + } + } + + EndDrawing(); + //-------------------------------------------------------------------------------------- } -#endif // De-Initialization //-------------------------------------------------------------------------------------- @@ -103,235 +275,42 @@ int main(void) //---------------------------------------------------------------------------------- // Module Functions Definition //---------------------------------------------------------------------------------- -static void UpdateDrawFrame(void) +// Get text string for gesture value +static char const *GetGestureName(int gesture) { - // Update - //-------------------------------------------------------------------------------------- - // Handle common gestures data - int i, ii; // Iterators that will be reused by all for loops - const int currentGesture = GetGestureDetected(); - const float currentDragDegrees = GetGestureDragAngle(); - const float currentPitchDegrees = GetGesturePinchAngle(); - const int touchCount = GetTouchPointCount(); - - // Handle last gesture - if ((currentGesture != 0) && (currentGesture != 4) && (currentGesture != previousGesture)) - lastGesture = currentGesture; // Filter the meaningful gestures (1, 2, 8 to 512) for the display - - // Handle gesture log - if (IsMouseButtonReleased(MOUSE_BUTTON_LEFT)) + switch (gesture) { - if (CheckCollisionPointRec(GetMousePosition(), logButton1)) - { - switch (logMode) - { - case 3: logMode=2; break; - case 2: logMode=3; break; - case 1: logMode=0; break; - default: logMode=1; break; - } - } - else if (CheckCollisionPointRec(GetMousePosition(), logButton2)) - { - switch (logMode) - { - case 3: logMode=1; break; - case 2: logMode=0; break; - case 1: logMode=3; break; - default: logMode=2; break; - } - } - } - - int fillLog = 0; // Gate variable to be used to allow or not the gesture log to be filled - if (currentGesture !=0) - { - if (logMode == 3) // 3 hides repeated events and hide hold events - { - if (((currentGesture != 4) && (currentGesture != previousGesture)) || (currentGesture < 3)) fillLog = 1; - } - else if (logMode == 2) // 2 shows repeated events but hide hold events - { - if (currentGesture != 4) fillLog = 1; - } - else if (logMode == 1) // 1 hides repeated events - { - if (currentGesture != previousGesture) fillLog = 1; - } - else // 0 shows repeated events - { - fillLog = 1; - } - } - - if (fillLog) // If one of the conditions from logMode was met, fill the gesture log - { - previousGesture = currentGesture; - gestureColor = GetGestureColor(currentGesture); - if (gestureLogIndex <= 0) gestureLogIndex = GESTURE_LOG_SIZE; - gestureLogIndex--; - - // Copy the gesture respective name to the gesture log array - TextCopy(gestureLog[gestureLogIndex], GetGestureName(currentGesture)); - } - - // Handle protractor - if (currentGesture > 255) // aka Pinch In and Pinch Out - { - currentAngleDegrees = currentPitchDegrees; - } - else if (currentGesture > 15) // aka Swipe Right, Swipe Left, Swipe Up and Swipe Down - { - currentAngleDegrees = currentDragDegrees; - } - else if (currentGesture > 0) // aka Tap, Doubletap, Hold and Grab - { - currentAngleDegrees = 0.0f; - } - - float currentAngleRadians = ((currentAngleDegrees +90.0f)*PI/180); // Convert the current angle to Radians - finalVector = (Vector2){ (angleLength*sinf(currentAngleRadians)) + protractorPosition.x, (angleLength*cosf(currentAngleRadians)) + protractorPosition.y }; // Calculate the final vector for display - - // Handle touch and mouse pointer points - Vector2 touchPosition[MAX_TOUCH_COUNT] = { 0 }; - Vector2 mousePosition = {0, 0}; - if (currentGesture != GESTURE_NONE) - { - if (touchCount != 0) - { - for (i = 0; i < touchCount; i++) touchPosition[i] = GetTouchPosition(i); // Fill the touch positions - } - else mousePosition = GetMousePosition(); - } - //-------------------------------------------------------------------------------------- - - // Draw - //-------------------------------------------------------------------------------------- - BeginDrawing(); - ClearBackground(RAYWHITE); - - // Draw common elements - DrawText("*", messagePosition.x + 5, messagePosition.y + 5, 10, BLACK); - DrawText("Example optimized for Web/HTML5\non Smartphones with Touch Screen.", messagePosition.x + 15, messagePosition.y + 5, 10, BLACK); - DrawText("*", messagePosition.x + 5, messagePosition.y + 35, 10, BLACK); - DrawText("While running on Desktop Web Browsers,\ninspect and turn on Touch Emulation.", messagePosition.x + 15, messagePosition.y + 35, 10, BLACK); - - // Draw last gesture - DrawText("Last gesture", lastGesturePosition.x + 33, lastGesturePosition.y - 47, 20, BLACK); - DrawText("Swipe Tap Pinch Touch", lastGesturePosition.x + 17, lastGesturePosition.y - 18, 10, BLACK); - DrawRectangle(lastGesturePosition.x + 20, lastGesturePosition.y, 20, 20, lastGesture == GESTURE_SWIPE_UP ? RED : LIGHTGRAY); - DrawRectangle(lastGesturePosition.x, lastGesturePosition.y + 20, 20, 20, lastGesture == GESTURE_SWIPE_LEFT ? RED : LIGHTGRAY); - DrawRectangle(lastGesturePosition.x + 40, lastGesturePosition.y + 20, 20, 20, lastGesture == GESTURE_SWIPE_RIGHT ? RED : LIGHTGRAY); - DrawRectangle(lastGesturePosition.x + 20, lastGesturePosition.y + 40, 20, 20, lastGesture == GESTURE_SWIPE_DOWN ? RED : LIGHTGRAY); - DrawCircle(lastGesturePosition.x + 80, lastGesturePosition.y + 16, 10, lastGesture == GESTURE_TAP ? BLUE : LIGHTGRAY); - DrawRing( (Vector2){lastGesturePosition.x + 103, lastGesturePosition.y + 16}, 6.0f, 11.0f, 0.0f, 360.0f, 0, lastGesture == GESTURE_DRAG ? LIME : LIGHTGRAY); - DrawCircle(lastGesturePosition.x + 80, lastGesturePosition.y + 43, 10, lastGesture == GESTURE_DOUBLETAP ? SKYBLUE : LIGHTGRAY); - DrawCircle(lastGesturePosition.x + 103, lastGesturePosition.y + 43, 10, lastGesture == GESTURE_DOUBLETAP ? SKYBLUE : LIGHTGRAY); - DrawTriangle((Vector2){ lastGesturePosition.x + 122, lastGesturePosition.y + 16 }, (Vector2){ lastGesturePosition.x + 137, lastGesturePosition.y + 26 }, (Vector2){ lastGesturePosition.x + 137, lastGesturePosition.y + 6 }, lastGesture == GESTURE_PINCH_OUT? ORANGE : LIGHTGRAY); - DrawTriangle((Vector2){ lastGesturePosition.x + 147, lastGesturePosition.y + 6 }, (Vector2){ lastGesturePosition.x + 147, lastGesturePosition.y + 26 }, (Vector2){ lastGesturePosition.x + 162, lastGesturePosition.y + 16 }, lastGesture == GESTURE_PINCH_OUT? ORANGE : LIGHTGRAY); - DrawTriangle((Vector2){ lastGesturePosition.x + 125, lastGesturePosition.y + 33 }, (Vector2){ lastGesturePosition.x + 125, lastGesturePosition.y + 53 }, (Vector2){ lastGesturePosition.x + 140, lastGesturePosition.y + 43 }, lastGesture == GESTURE_PINCH_IN? VIOLET : LIGHTGRAY); - DrawTriangle((Vector2){ lastGesturePosition.x + 144, lastGesturePosition.y + 43 }, (Vector2){ lastGesturePosition.x + 159, lastGesturePosition.y + 53 }, (Vector2){ lastGesturePosition.x + 159, lastGesturePosition.y + 33 }, lastGesture == GESTURE_PINCH_IN? VIOLET : LIGHTGRAY); - for (i = 0; i < 4; i++) DrawCircle(lastGesturePosition.x + 180, lastGesturePosition.y + 7 + i*15, 5, touchCount <= i? LIGHTGRAY : gestureColor); - - // Draw gesture log - DrawText("Log", gestureLogPosition.x, gestureLogPosition.y, 20, BLACK); - - // Loop in both directions to print the gesture log array in the inverted order (and looping around if the index started somewhere in the middle) - for (i = 0, ii = gestureLogIndex; i < GESTURE_LOG_SIZE; i++, ii = (ii + 1) % GESTURE_LOG_SIZE) DrawText(gestureLog[ii], gestureLogPosition.x, gestureLogPosition.y + 410 - i*20, 20, (i == 0 ? gestureColor : LIGHTGRAY)); - Color logButton1Color, logButton2Color; - switch (logMode) - { - case 3: logButton1Color=MAROON; logButton2Color=MAROON; break; - case 2: logButton1Color=GRAY; logButton2Color=MAROON; break; - case 1: logButton1Color=MAROON; logButton2Color=GRAY; break; - default: logButton1Color=GRAY; logButton2Color=GRAY; break; - } - DrawRectangleRec(logButton1, logButton1Color); - DrawText("Hide", logButton1.x + 7, logButton1.y + 3, 10, WHITE); - DrawText("Repeat", logButton1.x + 7, logButton1.y + 13, 10, WHITE); - DrawRectangleRec(logButton2, logButton2Color); - DrawText("Hide", logButton1.x + 62, logButton1.y + 3, 10, WHITE); - DrawText("Hold", logButton1.x + 62, logButton1.y + 13, 10, WHITE); - - // Draw protractor - DrawText("Angle", protractorPosition.x + 55, protractorPosition.y + 76, 10, BLACK); - const char *angleString = TextFormat("%f", currentAngleDegrees); - const int angleStringDot = TextFindIndex(angleString, "."); - const char *angleStringTrim = TextSubtext(angleString, 0, angleStringDot + 3); - DrawText( angleStringTrim, protractorPosition.x + 55, protractorPosition.y + 92, 20, gestureColor); - DrawCircle(protractorPosition.x, protractorPosition.y, 80.0f, WHITE); - DrawLineEx((Vector2){ protractorPosition.x - 90, protractorPosition.y }, (Vector2){ protractorPosition.x + 90, protractorPosition.y }, 3.0f, LIGHTGRAY); - DrawLineEx((Vector2){ protractorPosition.x, protractorPosition.y - 90 }, (Vector2){ protractorPosition.x, protractorPosition.y + 90 }, 3.0f, LIGHTGRAY); - DrawLineEx((Vector2){ protractorPosition.x - 80, protractorPosition.y - 45 }, (Vector2){ protractorPosition.x + 80, protractorPosition.y + 45 }, 3.0f, GREEN); - DrawLineEx((Vector2){ protractorPosition.x - 80, protractorPosition.y + 45 }, (Vector2){ protractorPosition.x + 80, protractorPosition.y - 45 }, 3.0f, GREEN); - DrawText("0", protractorPosition.x + 96, protractorPosition.y - 9, 20, BLACK); - DrawText("30", protractorPosition.x + 74, protractorPosition.y - 68, 20, BLACK); - DrawText("90", protractorPosition.x - 11, protractorPosition.y - 110, 20, BLACK); - DrawText("150", protractorPosition.x - 100, protractorPosition.y - 68, 20, BLACK); - DrawText("180", protractorPosition.x - 124, protractorPosition.y - 9, 20, BLACK); - DrawText("210", protractorPosition.x - 100, protractorPosition.y + 50, 20, BLACK); - DrawText("270", protractorPosition.x - 18, protractorPosition.y + 92, 20, BLACK); - DrawText("330", protractorPosition.x + 72, protractorPosition.y + 50, 20, BLACK); - if (currentAngleDegrees != 0.0f) DrawLineEx(protractorPosition, finalVector, 3.0f, gestureColor); - - // Draw touch and mouse pointer points - if (currentGesture != GESTURE_NONE) - { - if ( touchCount != 0 ) - { - for (i = 0; i < touchCount; i++) - { - DrawCircleV(touchPosition[i], 50.0f, Fade(gestureColor, 0.5f)); - DrawCircleV(touchPosition[i], 5.0f, gestureColor); - } - - if (touchCount == 2) DrawLineEx(touchPosition[0], touchPosition[1], ((currentGesture == 512)? 8 : 12), gestureColor); - } - else - { - DrawCircleV(mousePosition, 35.0f, Fade(gestureColor, 0.5f)); - DrawCircleV(mousePosition, 5.0f, gestureColor); - } - } - - EndDrawing(); - //-------------------------------------------------------------------------------------- -} - -static char const *GetGestureName(int i) -{ - switch (i) - { - case 0: return "None"; break; - case 1: return "Tap"; break; - case 2: return "Double Tap"; break; - case 4: return "Hold"; break; - case 8: return "Drag"; break; - case 16: return "Swipe Right"; break; - case 32: return "Swipe Left"; break; - case 64: return "Swipe Up"; break; - case 128: return "Swipe Down"; break; - case 256: return "Pinch In"; break; - case 512: return "Pinch Out"; break; - default: return "Unknown"; break; + case 0: return "None"; break; + case 1: return "Tap"; break; + case 2: return "Double Tap"; break; + case 4: return "Hold"; break; + case 8: return "Drag"; break; + case 16: return "Swipe Right"; break; + case 32: return "Swipe Left"; break; + case 64: return "Swipe Up"; break; + case 128: return "Swipe Down"; break; + case 256: return "Pinch In"; break; + case 512: return "Pinch Out"; break; + default: return "Unknown"; break; } } -static Color GetGestureColor(int i) +// Get color for gesture value +static Color GetGestureColor(int gesture) { - switch (i) + switch (gesture) { - case 0: return BLACK; break; - case 1: return BLUE; break; - case 2: return SKYBLUE; break; - case 4: return BLACK; break; - case 8: return LIME; break; - case 16: return RED; break; - case 32: return RED; break; - case 64: return RED; break; - case 128: return RED; break; - case 256: return VIOLET; break; - case 512: return ORANGE; break; - default: return BLACK; break; + case 0: return BLACK; break; + case 1: return BLUE; break; + case 2: return SKYBLUE; break; + case 4: return BLACK; break; + case 8: return LIME; break; + case 16: return RED; break; + case 32: return RED; break; + case 64: return RED; break; + case 128: return RED; break; + case 256: return VIOLET; break; + case 512: return ORANGE; break; + default: return BLACK; break; } } From b2811010015e613c58b66eb3c640950fb815bb14 Mon Sep 17 00:00:00 2001 From: Bruno Cabral Date: Sun, 14 Sep 2025 01:05:07 -0700 Subject: [PATCH 111/125] [build][cmake] Review web compilation system (#5181) * [cmake] export automatically raylib definitions and compile/link options * [cmake] pass emscripten options to consumer project * [web] compile for web * [web] canvas width 100% --- examples/CMakeLists.txt | 46 +++++++++++++------ .../others/web_basic_window.c | 4 +- projects/CMake/CMakeLists.txt | 41 ----------------- projects/CMake/README.md | 27 ----------- src/CMakeLists.txt | 8 ---- src/shell.html | 2 +- 6 files changed, 34 insertions(+), 94 deletions(-) rename projects/CMake/core_basic_window.c => examples/others/web_basic_window.c (95%) delete mode 100644 projects/CMake/CMakeLists.txt delete mode 100644 projects/CMake/README.md diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 135db49f5..e63c1a7c8 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -97,17 +97,9 @@ if (${PLATFORM} MATCHES "Android") list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/shaders/shaders_basic_lighting.c) elseif (${PLATFORM} MATCHES "Web") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Os") - # Since WASM is used, ALLOW_MEMORY_GROWTH has no extra overheads - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s WASM=1 -s ASYNCIFY -s ALLOW_MEMORY_GROWTH=1 --shell-file ${CMAKE_SOURCE_DIR}/src/shell.html") - set(CMAKE_EXECUTABLE_SUFFIX ".html") - - list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/raylib_opengl_interop.c) - - # Remove the -rdynamic flag because otherwise emscripten - # does not generate HTML+JS+WASM files, only a non-working - # and fat HTML - string(REPLACE "-rdynamic" "" CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS}") + set(example_sources) # clear example_sources + list(APPEND example_sources others/web_basic_window.c) + list(APPEND example_sources core/core_input_gestures_testbed.c) elseif ("${PLATFORM}" STREQUAL "DRM") list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/rlgl_standalone.c) @@ -165,10 +157,34 @@ foreach (example_source ${example_sources}) string(REGEX MATCH ".*/.*/" resources_dir ${example_source}) string(APPEND resources_dir "resources") - if (${PLATFORM} MATCHES "Web" AND EXISTS ${resources_dir}) - # The local resources path needs to be mapped to /resources virtual path - string(APPEND resources_dir "@resources") - set_target_properties(${example_name} PROPERTIES LINK_FLAGS "--preload-file ${resources_dir}") + if (${PLATFORM} MATCHES "Web") + target_compile_options(${example_name} PRIVATE -Os) + target_link_options(${example_name} PRIVATE + -sALLOW_MEMORY_GROWTH=1 + -sEXPORTED_RUNTIME_METHODS=[requestFullscreen] + -sUSE_GLFW=3 + --shell-file "${CMAKE_SOURCE_DIR}/src/shell.html" + ) + set_target_properties(${example_name} PROPERTIES SUFFIX ".html") + + if (EXISTS ${resources_dir}) + # The local resources path needs to be mapped to /resources virtual path + string(APPEND resources_dir "@resources") + set_target_properties(${example_name} PROPERTIES LINK_FLAGS "--preload-file ${resources_dir}") + endif () + + if(${GRAPHICS} MATCHES "GRAPHICS_API_OPENGL_ES3") + target_link_options(${example_name} PUBLIC "-sMIN_WEBGL_VERSION=2") + target_link_options(${example_name} PUBLIC "-sMAX_WEBGL_VERSION=2") + endif() + + # Checks if OSX and links appropriate frameworks (Only required on MacOS) + if (APPLE) + target_link_libraries(${example_name} "-framework IOKit") + target_link_libraries(${example_name} "-framework Cocoa") + target_link_libraries(${example_name} "-framework OpenGL") + endif() + endif () endforeach () diff --git a/projects/CMake/core_basic_window.c b/examples/others/web_basic_window.c similarity index 95% rename from projects/CMake/core_basic_window.c rename to examples/others/web_basic_window.c index cb23a6f87..8aeebf414 100644 --- a/projects/CMake/core_basic_window.c +++ b/examples/others/web_basic_window.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [core] example - Basic window (adapted for HTML5 platform) +* raylib [others] example - Basic window (adapted for HTML5 platform) * * This example is prepared to compile for PLATFORM_WEB and PLATFORM_DESKTOP * As you will notice, code structure is slightly different to the other examples... @@ -37,7 +37,7 @@ int main() { // Initialization //-------------------------------------------------------------------------------------- - InitWindow(screenWidth, screenHeight, "raylib [core] example - basic window"); + InitWindow(screenWidth, screenHeight, "raylib [others] example - web basic window"); #if defined(PLATFORM_WEB) emscripten_set_main_loop(UpdateDrawFrame, 0, 1); diff --git a/projects/CMake/CMakeLists.txt b/projects/CMake/CMakeLists.txt deleted file mode 100644 index 56a5a5f51..000000000 --- a/projects/CMake/CMakeLists.txt +++ /dev/null @@ -1,41 +0,0 @@ -cmake_minimum_required(VERSION 3.11) # FetchContent is available in 3.11+ -project(example) - -# Generate compile_commands.json -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Dependencies -set(RAYLIB_VERSION 5.5) -find_package(raylib ${RAYLIB_VERSION} QUIET) # QUIET or REQUIRED -if (NOT raylib_FOUND) # If there's none, fetch and build raylib - include(FetchContent) - FetchContent_Declare( - raylib - DOWNLOAD_EXTRACT_TIMESTAMP OFF - URL https://github.com/raysan5/raylib/archive/refs/tags/${RAYLIB_VERSION}.tar.gz - ) - FetchContent_GetProperties(raylib) - if (NOT raylib_POPULATED) # Have we downloaded raylib yet? - set(FETCHCONTENT_QUIET NO) - FetchContent_MakeAvailable(raylib) - endif() -endif() - -# Our Project - -add_executable(${PROJECT_NAME} core_basic_window.c) -#set(raylib_VERBOSE 1) -target_link_libraries(${PROJECT_NAME} raylib) - -# Web Configurations -if (${PLATFORM} STREQUAL "Web") - set_target_properties(${PROJECT_NAME} PROPERTIES SUFFIX ".html") # Tell Emscripten to build an example.html file. - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s USE_GLFW=3 -s ASSERTIONS=1 -s WASM=1 -s ASYNCIFY -s GL_ENABLE_GET_PROC_ADDRESS=1") -endif() - -# Checks if OSX and links appropriate frameworks (Only required on MacOS) -if (APPLE) - target_link_libraries(${PROJECT_NAME} "-framework IOKit") - target_link_libraries(${PROJECT_NAME} "-framework Cocoa") - target_link_libraries(${PROJECT_NAME} "-framework OpenGL") -endif() diff --git a/projects/CMake/README.md b/projects/CMake/README.md deleted file mode 100644 index fc4fe5542..000000000 --- a/projects/CMake/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# raylib CMake Project - -This provides a base project template which builds with [CMake](https://cmake.org). - -## Usage - -To compile the example, use one of the following dependending on your build target... - -### Desktop - -Use the following to build for desktop: - -``` bash -cmake -B build -cmake --build build -``` - -### Web - -Compiling for the web requires the [Emscripten SDK](https://emscripten.org/docs/getting_started/downloads.html): - -``` bash -mkdir build -cd build -emcmake cmake .. -DPLATFORM=Web -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXECUTABLE_SUFFIX=".html" -emmake make -``` diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index eb37f1a8e..f31c4e578 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -68,14 +68,6 @@ else() ) endif() -if (${PLATFORM} MATCHES "Web") - target_link_options(raylib PUBLIC "-sUSE_GLFW=3" -sEXPORTED_RUNTIME_METHODS=ccall -sASYNCIFY) - if(${GRAPHICS} MATCHES "GRAPHICS_API_OPENGL_ES3") - target_link_options(raylib PUBLIC "-sMIN_WEBGL_VERSION=2") - target_link_options(raylib PUBLIC "-sMAX_WEBGL_VERSION=2") - endif() -endif() - set_target_properties(raylib PROPERTIES PUBLIC_HEADER "${raylib_public_headers}" VERSION ${PROJECT_VERSION} diff --git a/src/shell.html b/src/shell.html index 9483c47fd..e6c80a39b 100644 --- a/src/shell.html +++ b/src/shell.html @@ -34,7 +34,7 @@