From af57c8854f14511a85a4c7c30e877a84f8a174c3 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 5 Nov 2025 20:53:14 +0100 Subject: [PATCH] REXM: ADDED: `core_compute_hash` --- examples/Makefile | 1 + examples/Makefile.Web | 7 + examples/core/core_compute_hash.c | 143 +++++ examples/core/core_compute_hash.png | Bin 0 -> 19367 bytes examples/examples_list.txt | 1 + .../VS2022/examples/core_compute_hash.vcxproj | 569 ++++++++++++++++++ projects/VS2022/raylib.sln | 29 +- projects/VS2022/raylib/raylib.vcxproj | 9 +- 8 files changed, 754 insertions(+), 5 deletions(-) create mode 100644 examples/core/core_compute_hash.c create mode 100644 examples/core/core_compute_hash.png create mode 100644 projects/VS2022/examples/core_compute_hash.vcxproj diff --git a/examples/Makefile b/examples/Makefile index 6fcf218ee..729459de4 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -525,6 +525,7 @@ CORE = \ core/core_basic_screen_manager \ core/core_basic_window \ core/core_clipboard_text \ + core/core_compute_hash \ core/core_custom_frame_control \ core/core_custom_logging \ core/core_delta_time \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 3ac776435..d2336e7df 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -513,6 +513,7 @@ CORE = \ core/core_basic_screen_manager \ core/core_basic_window \ core/core_clipboard_text \ + core/core_compute_hash \ core/core_custom_frame_control \ core/core_custom_logging \ core/core_delta_time \ @@ -753,6 +754,9 @@ core/core_basic_window: core/core_basic_window.c core/core_clipboard_text: core/core_clipboard_text.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) +core/core_compute_hash: core/core_compute_hash.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) @@ -834,6 +838,9 @@ core/core_text_file_loading: core/core_text_file_loading.c core/core_undo_redo: core/core_undo_redo.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) +core/core_viewport_scaling: core/core_viewport_scaling.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/core/core_compute_hash.c b/examples/core/core_compute_hash.c new file mode 100644 index 000000000..376e2d65c --- /dev/null +++ b/examples/core/core_compute_hash.c @@ -0,0 +1,143 @@ +/******************************************************************************************* +* +* raylib [core] example - compute hash +* +* Example complexity rating: [★★☆☆] 2/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 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#define RAYGUI_IMPLEMENTATION +#include "raygui.h" + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +static char *GetDataAsHexText(const unsigned int *data, int dataSize); + +//------------------------------------------------------------------------------------ +// Program main entry point +//------------------------------------------------------------------------------------ +int main(void) +{ + // Initialization + //-------------------------------------------------------------------------------------- + const int screenWidth = 800; + const int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [core] example - compute hash"); + + // UI controls variables + char textInput[96] = "The quick brown fox jumps over the lazy dog."; + bool textBoxEditMode = false; + bool btnComputeHashes = false; + + // Data hash values + unsigned int hashCRC32 = 0; + unsigned int *hashMD5 = NULL; + unsigned int *hashSHA1 = NULL; + unsigned int *hashSHA256 = NULL; + + // Base64 encoded data + char *base64Text = NULL; + int base64TextSize = 0; + + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + if (btnComputeHashes) + { + int textInputLen = strlen(textInput); + + // Encode data to Base64 string (includes NULL terminator), memory must be MemFree() + base64Text = EncodeDataBase64((unsigned char *)textInput, textInputLen, &base64TextSize); + + hashCRC32 = ComputeCRC32((unsigned char *)textInput, textInputLen); // Compute CRC32 hash code (4 bytes) + hashMD5 = ComputeMD5((unsigned char *)textInput, textInputLen); // Compute MD5 hash code, returns static int[4] (16 bytes) + hashSHA1 = ComputeSHA1((unsigned char *)textInput, textInputLen); // Compute SHA1 hash code, returns static int[5] (20 bytes) + hashSHA256 = ComputeSHA256((unsigned char *)textInput, textInputLen); // Compute SHA256 hash code, returns static int[8] (32 bytes) + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + GuiSetStyle(DEFAULT, TEXT_SIZE, 20); + GuiSetStyle(DEFAULT, TEXT_SPACING, 2); + GuiLabel((Rectangle){ 40, 26, 720, 32 }, "INPUT DATA (TEXT):"); + GuiSetStyle(DEFAULT, TEXT_SPACING, 1); + GuiSetStyle(DEFAULT, TEXT_SIZE, 10); + + if (GuiTextBox((Rectangle){ 40, 64, 720, 32 }, textInput, 95, textBoxEditMode)) textBoxEditMode = !textBoxEditMode; + + btnComputeHashes = GuiButton((Rectangle){ 40, 64 + 40, 720, 32 }, "COMPUTE INPUT DATA HASHES"); + + GuiSetStyle(DEFAULT, TEXT_SIZE, 20); + GuiSetStyle(DEFAULT, TEXT_SPACING, 2); + GuiLabel((Rectangle){ 40, 160, 720, 32 }, "INPUT DATA HASH VALUES:"); + GuiSetStyle(DEFAULT, TEXT_SPACING, 1); + GuiSetStyle(DEFAULT, TEXT_SIZE, 10); + + GuiSetStyle(TEXTBOX, TEXT_READONLY, 1); + GuiLabel((Rectangle){ 40, 200, 120, 32 }, "CRC32 [32 bit]:"); + GuiTextBox((Rectangle){ 40 + 120, 200, 720 - 120, 32 }, GetDataAsHexText(&hashCRC32, 1), 120, false); + GuiLabel((Rectangle){ 40, 200 + 36, 120, 32 }, "MD5 [128 bit]:"); + GuiTextBox((Rectangle){ 40 + 120, 200 + 36, 720 - 120, 32 }, GetDataAsHexText(hashMD5, 4), 120, false); + GuiLabel((Rectangle){ 40, 200 + 36*2, 120, 32 }, "SHA1 [160 bit]:"); + GuiTextBox((Rectangle){ 40 + 120, 200 + 36*2, 720 - 120, 32 }, GetDataAsHexText(hashSHA1, 5), 120, false); + GuiLabel((Rectangle){ 40, 200 + 36*3, 120, 32 }, "SHA256 [256 bit]:"); + GuiTextBox((Rectangle){ 40 + 120, 200 + 36*3, 720 - 120, 32 }, GetDataAsHexText(hashSHA256, 8), 120, false); + + GuiSetState(STATE_FOCUSED); + GuiLabel((Rectangle){ 40, 200 + 36*5 - 30, 320, 32 }, "BONUS - BAS64 ENCODED STRING:"); + GuiSetState(STATE_NORMAL); + GuiLabel((Rectangle){ 40, 200 + 36*5, 120, 32 }, "BASE64 ENCODING:"); + GuiTextBox((Rectangle){ 40 + 120, 200 + 36*5, 720 - 120, 32 }, base64Text, 120, false); + GuiSetStyle(TEXTBOX, TEXT_READONLY, 0); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + MemFree(base64Text); // Free Base64 text data + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +static char *GetDataAsHexText(const unsigned int *data, int dataSize) +{ + static char text[128] = { 0 }; + memset(text, 0, 128); + + if ((data != NULL) && (dataSize > 0) && (dataSize < ((128/8) - 1))) + { + for (int i = 0; i < dataSize; i++) TextCopy(text + i*8, TextFormat("%08X", data[i])); + } + else TextCopy(text, "00000000"); + + return text; +} diff --git a/examples/core/core_compute_hash.png b/examples/core/core_compute_hash.png new file mode 100644 index 0000000000000000000000000000000000000000..19a5d0b1cff66831f997ce43d809b1256d550f9c GIT binary patch literal 19367 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 V{zjPu@CRI=ZH5+GFJSNy{|_IH5&r-H literal 0 HcmV?d00001 diff --git a/examples/examples_list.txt b/examples/examples_list.txt index f22a0892f..1804d7edc 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -53,6 +53,7 @@ core;core_highdpi_testbed;★☆☆☆;5.6-dev;5.6-dev;2025;2025;"Ramon Santamar core;core_screen_recording;★☆☆☆;5.6-dev;5.6-dev;2025;2025;"Ramon Santamaria";@raysan5 core;core_clipboard_text;★☆☆☆;5.6-dev;5.6-dev;2025;2025;"Robin";@RobinsAviary core;core_text_file_loading;★☆☆☆;5.5;5.6;0;0;"Aanjishnu Bhattacharyya";@NimComPoo-04 +core;core_compute_hash;★★☆☆;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_bullet_hell;★☆☆☆;5.6;5.6;2025;2025;"Zero";@zerohorsepower diff --git a/projects/VS2022/examples/core_compute_hash.vcxproj b/projects/VS2022/examples/core_compute_hash.vcxproj new file mode 100644 index 000000000..bbca36d86 --- /dev/null +++ b/projects/VS2022/examples/core_compute_hash.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 + + + + {6C897101-BE52-4387-8AA2-062123A76BA1} + Win32Proj + core_compute_hash + 10.0 + core_compute_hash + + + + 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 8ace665a9..34c696ffe 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -407,6 +407,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_lines_drawing", "exa EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_viewport_scaling", "examples\core_viewport_scaling.vcxproj", "{AD66AA6A-1E36-4FF0-8670-4F9834BCDB91}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_compute_hash", "examples\core_compute_hash.vcxproj", "{6C897101-BE52-4387-8AA2-062123A76BA1}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug.DLL|ARM64 = Debug.DLL|ARM64 @@ -5053,6 +5055,30 @@ Global {AD66AA6A-1E36-4FF0-8670-4F9834BCDB91}.Release|x64.Build.0 = Release|x64 {AD66AA6A-1E36-4FF0-8670-4F9834BCDB91}.Release|x86.ActiveCfg = Release|Win32 {AD66AA6A-1E36-4FF0-8670-4F9834BCDB91}.Release|x86.Build.0 = Release|Win32 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Debug.DLL|x64.Build.0 = Debug.DLL|x64 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Debug|ARM64.Build.0 = Debug|ARM64 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Debug|x64.ActiveCfg = Debug|x64 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Debug|x64.Build.0 = Debug|x64 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Debug|x86.ActiveCfg = Debug|Win32 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Debug|x86.Build.0 = Debug|Win32 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Release.DLL|ARM64.ActiveCfg = Release.DLL|ARM64 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Release.DLL|ARM64.Build.0 = Release.DLL|ARM64 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Release.DLL|x64.ActiveCfg = Release.DLL|x64 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Release.DLL|x64.Build.0 = Release.DLL|x64 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Release.DLL|x86.Build.0 = Release.DLL|Win32 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Release|ARM64.ActiveCfg = Release|ARM64 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Release|ARM64.Build.0 = Release|ARM64 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Release|x64.ActiveCfg = Release|x64 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Release|x64.Build.0 = Release|x64 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Release|x86.ActiveCfg = Release|Win32 + {6C897101-BE52-4387-8AA2-062123A76BA1}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -5220,7 +5246,7 @@ Global {C54703BF-D68A-480D-BE27-49B62E45D582} = {5317807F-61D4-4E0F-B6DC-2D9F12621ED9} {9CD8BCAD-F212-4BCC-BA98-899743CE3279} = {CC132A4D-D081-4C26-BFB9-AB11984054F8} {0981CA28-E4A5-4DF1-987F-A41D09131EFC} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} - {6B1A933E-71B8-4C1F-9E79-02D98830E671} = {278D8859-20B1-428F-8448-064F46E1F021} + {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} {A61DAD9C-271C-4E95-81AA-DB4CD58564D4} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} @@ -5258,6 +5284,7 @@ Global {028F0967-B253-45DA-B1C4-FACCE45D0D8D} = {AF5BEC5C-1F2B-4DA8-B12D-D09FE569237C} {666346D7-C84B-498D-AE17-53B20C62DB1A} = {278D8859-20B1-428F-8448-064F46E1F021} {AD66AA6A-1E36-4FF0-8670-4F9834BCDB91} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} + {6C897101-BE52-4387-8AA2-062123A76BA1} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {E926C768-6307-4423-A1EC-57E95B1FAB29} diff --git a/projects/VS2022/raylib/raylib.vcxproj b/projects/VS2022/raylib/raylib.vcxproj index 7721a669a..cf254761e 100644 --- a/projects/VS2022/raylib/raylib.vcxproj +++ b/projects/VS2022/raylib/raylib.vcxproj @@ -242,7 +242,7 @@ Level3 Disabled - _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);GRAPHICS_API_OPENGL_33;PLATFORM_DESKTOP + _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;GRAPHICS_API_OPENGL_33;PLATFORM_DESKTOP;%(PreprocessorDefinitions) CompileAsC $(ProjectDir)..\..\..\src\external\glfw\include @@ -295,7 +295,7 @@ Level3 Disabled - _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);GRAPHICS_API_OPENGL_33;PLATFORM_DESKTOP;BUILD_LIBTYPE_SHARED + _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;GRAPHICS_API_OPENGL_33;PLATFORM_DESKTOP;BUILD_LIBTYPE_SHARED;%(PreprocessorDefinitions) CompileAsC $(ProjectDir)..\..\..\src\external\glfw\include MultiThreadedDebug @@ -353,10 +353,11 @@ MaxSpeed true true - _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);GRAPHICS_API_OPENGL_33;PLATFORM_DESKTOP + _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;GRAPHICS_API_OPENGL_33;PLATFORM_DESKTOP;%(PreprocessorDefinitions) $(ProjectDir)..\..\..\src\external\glfw\include CompileAsC + AdvancedVectorExtensions2 Windows @@ -412,7 +413,7 @@ MaxSpeed true true - _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);GRAPHICS_API_OPENGL_33;PLATFORM_DESKTOP;BUILD_LIBTYPE_SHARED + _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;GRAPHICS_API_OPENGL_33;PLATFORM_DESKTOP;BUILD_LIBTYPE_SHARED;%(PreprocessorDefinitions) $(ProjectDir)..\..\..\src\external\glfw\include CompileAsC MultiThreaded