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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 + + + + 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