From c8cafe30e1579888846f921ee12850f70a227f7e Mon Sep 17 00:00:00 2001 From: scawful Date: Sun, 28 Sep 2025 19:34:55 -0400 Subject: [PATCH] Remove Visual Studio project files and filters for YAZE - Deleted `YAZE.sln`, `YAZE.vcxproj`, and `YAZE.vcxproj.filters` to streamline the project structure and transition to a CMake-based build system. - This change enhances maintainability and simplifies the build process by relying solely on CMake for project configuration and management. --- YAZE.sln | 36 -- YAZE.vcxproj | 700 ------------------------------------- YAZE.vcxproj.filters | 805 ------------------------------------------- src/CMakeLists.txt | 404 ++++++++++++++++++++++ test/CMakeLists.txt | 69 +++- 5 files changed, 472 insertions(+), 1542 deletions(-) delete mode 100644 YAZE.sln delete mode 100644 YAZE.vcxproj delete mode 100644 YAZE.vcxproj.filters diff --git a/YAZE.sln b/YAZE.sln deleted file mode 100644 index 8cd43868..00000000 --- a/YAZE.sln +++ /dev/null @@ -1,36 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31903.59 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "YAZE", "YAZE.vcxproj", "{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Debug|ARM64 = Debug|ARM64 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - Release|ARM64 = Release|ARM64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x64.ActiveCfg = Debug|x64 - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x64.Build.0 = Debug|x64 - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x86.ActiveCfg = Debug|Win32 - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x86.Build.0 = Debug|Win32 - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|ARM64.Build.0 = Debug|ARM64 - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x64.ActiveCfg = Release|x64 - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x64.Build.0 = Release|x64 - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x86.ActiveCfg = Release|Win32 - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x86.Build.0 = Release|Win32 - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|ARM64.ActiveCfg = Release|ARM64 - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|ARM64.Build.0 = Release|ARM64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {12345678-1234-5678-9012-123456789012} - EndGlobalSection -EndGlobal diff --git a/YAZE.vcxproj b/YAZE.vcxproj deleted file mode 100644 index e428bab1..00000000 --- a/YAZE.vcxproj +++ /dev/null @@ -1,700 +0,0 @@ - - - - true - x86-windows - x64-windows - arm64-windows - - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - Debug - ARM64 - - - Release - ARM64 - - - - - 17.0 - Win32Proj - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890} - YAZE - 10.0 - - - - - - Application - true - v143 - Unicode - - - Application - false - v143 - true - Unicode - - - Application - true - v143 - Unicode - - - Application - false - v143 - true - Unicode - - - Application - true - v143 - Unicode - - - Application - false - v143 - true - Unicode - - - - - - if not exist "$(ProjectDir)build-$(Platform)" mkdir "$(ProjectDir)build-$(Platform)" -echo #define YAZE_VERSION_MAJOR 0 > "$(ProjectDir)build-$(Platform)\yaze_config.h" -echo #define YAZE_VERSION_MINOR 3 >> "$(ProjectDir)build-$(Platform)\yaze_config.h" -echo #define YAZE_VERSION_PATCH 1 >> "$(ProjectDir)build-$(Platform)\yaze_config.h" - Generating yaze_config.h in build directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)build\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)build\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)build\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)build\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)build\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)build\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)build\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)build\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)build\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)build\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)build\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)build\obj\$(Platform)\$(Configuration)\ - - - - - - Level4 - true - WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;SILENCE_CXX23_DEPRECATIONS;_SILENCE_CXX23_DEPRECATION_WARNING;_SILENCE_ALL_CXX23_DEPRECATION_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;strncasecmp=_strnicmp;strcasecmp=_stricmp;%(PreprocessorDefinitions) - true - stdcpp23 - /permissive- /bigobj /utf-8 %(AdditionalOptions) - src;src\app;src\lib;src\util;incl;src\lib\asar\src;src\lib\asar\src\asar;src\lib\asar\src\asar-dll-bindings\c;src\lib\imgui;src\lib\imgui_test_engine;src\lib\abseil-cpp;src\lib\SDL\include;$(ProjectDir)build-$(Platform);%(AdditionalIncludeDirectories) - - - Console - true - $(ProjectDir)build-$(Platform)\lib;$(ProjectDir)build-$(Platform)\bin;%(AdditionalLibraryDirectories) - - asar-static.lib; - absl_strings.lib; - absl_base.lib; - absl_throw_delegate.lib; - absl_raw_logging_internal.lib; - absl_log_severity.lib; - absl_civil_time.lib; - absl_time_zone.lib; - SDL2.lib; - SDL2main.lib; - ImGui.lib; - kernel32.lib; - user32.lib; - gdi32.lib; - winspool.lib; - shell32.lib; - ole32.lib; - oleaut32.lib; - uuid.lib; - comdlg32.lib; - advapi32.lib; - %(AdditionalDependencies) - - - - - - Level4 - true - true - true - WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;SILENCE_CXX23_DEPRECATIONS;_SILENCE_CXX23_DEPRECATION_WARNING;_SILENCE_ALL_CXX23_DEPRECATION_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;strncasecmp=_strnicmp;strcasecmp=_stricmp;%(PreprocessorDefinitions) - true - stdcpp23 - /permissive- /bigobj /utf-8 %(AdditionalOptions) - src;src\app;src\lib;src\util;incl;src\lib\asar\src;src\lib\asar\src\asar;src\lib\asar\src\asar-dll-bindings\c;src\lib\imgui;src\lib\imgui_test_engine;src\lib\abseil-cpp;src\lib\SDL\include;$(ProjectDir)build-$(Platform);%(AdditionalIncludeDirectories) - - - Console - true - true - true - $(ProjectDir)build-$(Platform)\lib;$(ProjectDir)build-$(Platform)\bin;%(AdditionalLibraryDirectories) - - asar-static.lib; - absl_strings.lib; - absl_base.lib; - absl_throw_delegate.lib; - absl_raw_logging_internal.lib; - absl_log_severity.lib; - absl_civil_time.lib; - absl_time_zone.lib; - SDL2.lib; - SDL2main.lib; - ImGui.lib; - kernel32.lib; - user32.lib; - gdi32.lib; - winspool.lib; - shell32.lib; - ole32.lib; - oleaut32.lib; - uuid.lib; - comdlg32.lib; - advapi32.lib; - %(AdditionalDependencies) - - - - - - Level4 - true - _DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;SILENCE_CXX23_DEPRECATIONS;_SILENCE_CXX23_DEPRECATION_WARNING;_SILENCE_ALL_CXX23_DEPRECATION_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;strncasecmp=_strnicmp;strcasecmp=_stricmp;%(PreprocessorDefinitions) - true - stdcpp23 - /permissive- /bigobj /utf-8 %(AdditionalOptions) - src;src\app;src\lib;src\util;incl;src\lib\asar\src;src\lib\asar\src\asar;src\lib\asar\src\asar-dll-bindings\c;src\lib\imgui;src\lib\imgui_test_engine;src\lib\abseil-cpp;src\lib\SDL\include;$(ProjectDir)build-$(Platform);%(AdditionalIncludeDirectories) - - - Console - true - $(ProjectDir)build-$(Platform)\lib;$(ProjectDir)build-$(Platform)\bin;%(AdditionalLibraryDirectories) - - asar-static.lib; - absl_strings.lib; - absl_base.lib; - absl_throw_delegate.lib; - absl_raw_logging_internal.lib; - absl_log_severity.lib; - absl_civil_time.lib; - absl_time_zone.lib; - SDL2.lib; - SDL2main.lib; - ImGui.lib; - kernel32.lib; - user32.lib; - gdi32.lib; - winspool.lib; - shell32.lib; - ole32.lib; - oleaut32.lib; - uuid.lib; - comdlg32.lib; - advapi32.lib; - %(AdditionalDependencies) - - - - - - Level4 - true - true - true - NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;SILENCE_CXX23_DEPRECATIONS;_SILENCE_CXX23_DEPRECATION_WARNING;_SILENCE_ALL_CXX23_DEPRECATION_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;strncasecmp=_strnicmp;strcasecmp=_stricmp;%(PreprocessorDefinitions) - true - stdcpp23 - /permissive- /bigobj /utf-8 %(AdditionalOptions) - src;src\app;src\lib;src\util;incl;src\lib\asar\src;src\lib\asar\src\asar;src\lib\asar\src\asar-dll-bindings\c;src\lib\imgui;src\lib\imgui_test_engine;src\lib\abseil-cpp;src\lib\SDL\include;$(ProjectDir)build-$(Platform);%(AdditionalIncludeDirectories) - - - Console - true - true - true - $(ProjectDir)build-$(Platform)\lib;$(ProjectDir)build-$(Platform)\bin;%(AdditionalLibraryDirectories) - - asar-static.lib; - absl_strings.lib; - absl_base.lib; - absl_throw_delegate.lib; - absl_raw_logging_internal.lib; - absl_log_severity.lib; - absl_civil_time.lib; - absl_time_zone.lib; - SDL2.lib; - SDL2main.lib; - ImGui.lib; - kernel32.lib; - user32.lib; - gdi32.lib; - winspool.lib; - shell32.lib; - ole32.lib; - oleaut32.lib; - uuid.lib; - comdlg32.lib; - advapi32.lib; - %(AdditionalDependencies) - - - - - - Level4 - true - _DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;SILENCE_CXX23_DEPRECATIONS;_SILENCE_CXX23_DEPRECATION_WARNING;_SILENCE_ALL_CXX23_DEPRECATION_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;strncasecmp=_strnicmp;strcasecmp=_stricmp;%(PreprocessorDefinitions) - true - stdcpp23 - /permissive- /bigobj /utf-8 %(AdditionalOptions) - src;src\app;src\lib;src\util;incl;src\lib\asar\src;src\lib\asar\src\asar;src\lib\asar\src\asar-dll-bindings\c;src\lib\imgui;src\lib\imgui_test_engine;src\lib\abseil-cpp;src\lib\SDL\include;$(ProjectDir)build-$(Platform);%(AdditionalIncludeDirectories) - - - Console - true - $(ProjectDir)build-$(Platform)\lib;$(ProjectDir)build-$(Platform)\bin;%(AdditionalLibraryDirectories) - - asar-static.lib; - absl_strings.lib; - absl_base.lib; - absl_throw_delegate.lib; - absl_raw_logging_internal.lib; - absl_log_severity.lib; - absl_civil_time.lib; - absl_time_zone.lib; - SDL2.lib; - SDL2main.lib; - ImGui.lib; - kernel32.lib; - user32.lib; - gdi32.lib; - winspool.lib; - shell32.lib; - ole32.lib; - oleaut32.lib; - uuid.lib; - comdlg32.lib; - advapi32.lib; - %(AdditionalDependencies) - - - - - - Level4 - true - true - true - NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;SILENCE_CXX23_DEPRECATIONS;_SILENCE_CXX23_DEPRECATION_WARNING;_SILENCE_ALL_CXX23_DEPRECATION_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;strncasecmp=_strnicmp;strcasecmp=_stricmp;%(PreprocessorDefinitions) - true - stdcpp23 - /permissive- /bigobj /utf-8 %(AdditionalOptions) - src;src\app;src\lib;src\util;incl;src\lib\asar\src;src\lib\asar\src\asar;src\lib\asar\src\asar-dll-bindings\c;src\lib\imgui;src\lib\imgui_test_engine;src\lib\abseil-cpp;src\lib\SDL\include;$(ProjectDir)build-$(Platform);%(AdditionalIncludeDirectories) - - - Console - true - true - true - $(ProjectDir)build-$(Platform)\lib;$(ProjectDir)build-$(Platform)\bin;%(AdditionalLibraryDirectories) - - asar-static.lib; - absl_strings.lib; - absl_base.lib; - absl_throw_delegate.lib; - absl_raw_logging_internal.lib; - absl_log_severity.lib; - absl_civil_time.lib; - absl_time_zone.lib; - SDL2.lib; - SDL2main.lib; - ImGui.lib; - kernel32.lib; - user32.lib; - gdi32.lib; - winspool.lib; - shell32.lib; - ole32.lib; - oleaut32.lib; - uuid.lib; - comdlg32.lib; - advapi32.lib; - %(AdditionalDependencies) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Generated Files - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Document - - - - - - - echo #define YAZE_VERSION_MAJOR 0 > "$(ProjectDir)build-$(Platform)\yaze_config.h" & echo #define YAZE_VERSION_MINOR 3 >> "$(ProjectDir)build-$(Platform)\yaze_config.h" & echo #define YAZE_VERSION_PATCH 1 >> "$(ProjectDir)build-$(Platform)\yaze_config.h" - $(ProjectDir)build-$(Platform)\yaze_config.h - echo #define YAZE_VERSION_MAJOR 0 > "$(ProjectDir)build-$(Platform)\yaze_config.h" & echo #define YAZE_VERSION_MINOR 3 >> "$(ProjectDir)build-$(Platform)\yaze_config.h" & echo #define YAZE_VERSION_PATCH 1 >> "$(ProjectDir)build-$(Platform)\yaze_config.h" - $(ProjectDir)build-$(Platform)\yaze_config.h - echo #define YAZE_VERSION_MAJOR 0 > "$(ProjectDir)build-$(Platform)\yaze_config.h" & echo #define YAZE_VERSION_MINOR 3 >> "$(ProjectDir)build-$(Platform)\yaze_config.h" & echo #define YAZE_VERSION_PATCH 1 >> "$(ProjectDir)build-$(Platform)\yaze_config.h" - $(ProjectDir)build-$(Platform)\yaze_config.h - echo #define YAZE_VERSION_MAJOR 0 > "$(ProjectDir)build-$(Platform)\yaze_config.h" & echo #define YAZE_VERSION_MINOR 3 >> "$(ProjectDir)build-$(Platform)\yaze_config.h" & echo #define YAZE_VERSION_PATCH 1 >> "$(ProjectDir)build-$(Platform)\yaze_config.h" - $(ProjectDir)build-$(Platform)\yaze_config.h - echo #define YAZE_VERSION_MAJOR 0 > "$(ProjectDir)build-$(Platform)\yaze_config.h" & echo #define YAZE_VERSION_MINOR 3 >> "$(ProjectDir)build-$(Platform)\yaze_config.h" & echo #define YAZE_VERSION_PATCH 1 >> "$(ProjectDir)build-$(Platform)\yaze_config.h" - $(ProjectDir)build-$(Platform)\yaze_config.h - echo #define YAZE_VERSION_MAJOR 0 > "$(ProjectDir)build-$(Platform)\yaze_config.h" & echo #define YAZE_VERSION_MINOR 3 >> "$(ProjectDir)build-$(Platform)\yaze_config.h" & echo #define YAZE_VERSION_PATCH 1 >> "$(ProjectDir)build-$(Platform)\yaze_config.h" - $(ProjectDir)build-$(Platform)\yaze_config.h - Generating yaze_config.h - - - - - - - diff --git a/YAZE.vcxproj.filters b/YAZE.vcxproj.filters deleted file mode 100644 index a8a5896c..00000000 --- a/YAZE.vcxproj.filters +++ /dev/null @@ -1,805 +0,0 @@ - - - - - - - {4FC737F1-C7A5-4376-A066-2A32D38A0280} - cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD13} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD14} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD02} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD03} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD04} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD05} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD06} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD07} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD08} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD09} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD10} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD11} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD12} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD13} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD14} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD15} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD16} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD17} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD18} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD19} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD20} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD21} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD22} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD23} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD24} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD25} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD26} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD27} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD28} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD29} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD30} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD31} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD32} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD33} - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD34} - - - - - - - Public Headers - - - Public Headers - - - App - - - App - - - App - - - App\Core - - - App\Core - - - App\Core - - - App\Core - - - App\Core - - - App\Core\Platform - - - App\GFX - - - App\GFX - - - App\GFX - - - App\GFX - - - App\GFX - - - App\GFX - - - App\GFX - - - App\GFX - - - App\GFX - - - App\Editor - - - App\Editor - - - App\Editor - - - App\Editor\Overworld - - - App\Editor\Overworld - - - App\Editor\Overworld - - - App\Editor\Overworld - - - App\Editor\Overworld - - - App\Editor\Overworld - - - App\Editor\Graphics - - - App\Editor\Graphics - - - App\Editor\Graphics - - - App\Editor\Graphics - - - App\Editor\Dungeon - - - App\Editor\Dungeon - - - App\Editor\Dungeon - - - App\Editor\Dungeon - - - App\Editor\Dungeon - - - App\Editor\Dungeon - - - App\Editor\Dungeon - - - App\Editor\Dungeon - - - App\Editor\Dungeon - - - App\Editor\Sprite - - - App\Editor\Sprite - - - App\Editor\Music - - - App\Editor\Message - - - App\Editor\Message - - - App\Editor\Message - - - App\Editor\System - - - App\Editor\System - - - App\Editor\System - - - App\Editor\System - - - App\Editor\System - - - App\Editor\System - - - App\Editor\System - - - App\Editor\Code - - - App\Editor\Code - - - App\GUI - - - App\GUI - - - App\GUI - - - App\GUI - - - App\GUI - - - App\GUI - - - App\GUI - - - App\GUI - - - App\GUI - - - App\GUI - - - App\GUI\Modules - - - App\GUI\Modules - - - App\EMU - - - App\EMU - - - App\EMU\Audio - - - App\EMU\Audio - - - App\EMU\Audio - - - App\EMU\CPU - - - App\EMU\Memory - - - App\EMU\Memory - - - App\EMU\Video - - - App\Zelda3 - - - App\Zelda3 - - - App\Zelda3\Overworld - - - App\Zelda3\Overworld - - - App\Zelda3\Overworld - - - App\Zelda3\Overworld - - - App\Zelda3\Overworld - - - App\Zelda3\Dungeon - - - App\Zelda3\Dungeon - - - App\Zelda3\Dungeon - - - App\Zelda3\Dungeon - - - App\Zelda3\Dungeon - - - App\Zelda3\Dungeon - - - App\Zelda3\Dungeon - - - App\Zelda3\Dungeon - - - App\Zelda3\Sprite - - - App\Zelda3\Sprite - - - App\Zelda3\Sprite - - - App\Zelda3\Screen - - - App\Zelda3\Screen - - - App\Zelda3\Screen - - - App\Zelda3\Music - - - Util - - - Util - - - Util - - - Util - - - Util - - - Util - - - - - - - Source Files - - - App - - - App - - - App\Core - - - App\Core - - - App\Core - - - App\Core - - - App\Core\Platform - - - App\GFX - - - App\GFX - - - App\GFX - - - App\GFX - - - App\GFX - - - App\GFX - - - App\GFX - - - App\GFX - - - App\GFX - - - App\Editor - - - App\Editor\Overworld - - - App\Editor\Overworld - - - App\Editor\Overworld - - - App\Editor\Overworld - - - App\Editor\Overworld - - - App\Editor\Graphics - - - App\Editor\Graphics - - - App\Editor\Graphics - - - App\Editor\Graphics - - - App\Editor\Dungeon - - - App\Editor\Dungeon - - - App\Editor\Dungeon - - - App\Editor\Dungeon - - - App\Editor\Dungeon - - - App\Editor\Dungeon - - - App\Editor\Dungeon - - - App\Editor\Dungeon - - - App\Editor\Dungeon - - - App\Editor\Sprite - - - App\Editor\Music - - - App\Editor\Message - - - App\Editor\Message - - - App\Editor\Message - - - App\Editor\System - - - App\Editor\System - - - App\Editor\System - - - App\Editor\System - - - App\Editor\System - - - App\GUI - - - App\GUI - - - App\GUI - - - App\GUI - - - App\GUI - - - App\GUI - - - App\GUI - - - App\GUI - - - App\GUI - - - App\GUI\Modules - - - App\GUI\Modules - - - App\EMU - - - App\EMU - - - App\EMU - - - App\EMU\Audio - - - App\EMU\Audio - - - App\EMU\Audio - - - App\EMU\CPU - - - App\EMU\Memory - - - App\EMU\Memory - - - App\EMU\Video - - - App\Zelda3 - - - App\Zelda3\Overworld - - - App\Zelda3\Overworld - - - App\Zelda3\Dungeon - - - App\Zelda3\Dungeon - - - App\Zelda3\Dungeon - - - App\Zelda3\Dungeon - - - App\Zelda3\Dungeon - - - App\Zelda3\Dungeon - - - App\Zelda3\Dungeon - - - App\Zelda3\Sprite - - - App\Zelda3\Sprite - - - App\Zelda3\Screen - - - App\Zelda3\Screen - - - App\Zelda3\Screen - - - App\Zelda3\Music - - - Util - - - Util - - - Util - - - - - - - Resource Files - - - - - - - Resource Files - - - Resource Files - - - Resource Files - - - - - - - Assets\Fonts - - - Assets\Fonts - - - Assets\Fonts - - - Assets\Fonts - - - Assets\Fonts - - - Assets\Fonts - - - Assets\Fonts - - - - - - Assets\Themes - - - Assets\Themes - - - Assets\Themes - - - Assets\Themes - - - Assets\Themes - - - - - - Assets\Layouts - - - - - - Assets\Lib - - - - - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - - - Dependencies - - - - \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 24d54f5b..1212337e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -267,3 +267,407 @@ if (YAZE_BUILD_LIB) ) endif() endif() + +# ============================================================================= +# Visual Studio Source Groups Organization +# ============================================================================= +# These source groups will organize files in Visual Studio Solution Explorer +# into logical, hierarchical folders for better navigation and development. + +# Core Application Structure +source_group("Application\\Core" FILES + app/main.cc + app/rom.cc + app/rom.h + app/snes.h + app/transaction.h + yaze.cc +) + +# App Core Components +source_group("Application\\Core\\Controller" FILES + app/core/controller.cc + app/core/controller.h + app/core/window.cc + app/core/window.h +) + +source_group("Application\\Core\\Project" FILES + app/core/project.cc + app/core/project.h + app/core/features.h +) + +source_group("Application\\Core\\Asar" FILES + app/core/asar_wrapper.cc + app/core/asar_wrapper.h +) + +# Platform-specific files +source_group("Application\\Core\\Platform" FILES + app/core/platform/app_delegate.h + app/core/platform/app_delegate.mm + app/core/platform/clipboard.cc + app/core/platform/clipboard.h + app/core/platform/clipboard.mm + app/core/platform/file_dialog.cc + app/core/platform/file_dialog.h + app/core/platform/file_dialog.mm + app/core/platform/font_loader.cc + app/core/platform/font_loader.h + app/core/platform/font_loader.mm + app/core/platform/view_controller.h +) + +# Editor System +source_group("Application\\Editor" FILES + app/editor/editor_manager.cc + app/editor/editor_manager.h + app/editor/editor.h + app/editor/editor_safeguards.h +) + +# Code Editor +source_group("Application\\Editor\\Code" FILES + app/editor/code/assembly_editor.cc + app/editor/code/assembly_editor.h + app/editor/code/memory_editor.h +) + +# Dungeon Editor +source_group("Application\\Editor\\Dungeon" FILES + app/editor/dungeon/dungeon_editor.cc + app/editor/dungeon/dungeon_editor.h + app/editor/dungeon/dungeon_map_editor.cc + app/editor/dungeon/dungeon_map_editor.h + app/editor/dungeon/dungeon_room_editor.cc + app/editor/dungeon/dungeon_room_editor.h + app/editor/dungeon/dungeon_sprite_editor.cc + app/editor/dungeon/dungeon_sprite_editor.h + app/editor/dungeon/dungeon_tile_editor.cc + app/editor/dungeon/dungeon_tile_editor.h + app/editor/dungeon/room_data_editor.cc + app/editor/dungeon/room_data_editor.h + app/editor/dungeon/room_properties_editor.cc + app/editor/dungeon/room_properties_editor.h + app/editor/dungeon/room_sprite_editor.cc + app/editor/dungeon/room_sprite_editor.h + app/editor/dungeon/room_tile_editor.cc + app/editor/dungeon/room_tile_editor.h +) + +# Graphics Editor +source_group("Application\\Editor\\Graphics" FILES + app/editor/graphics/graphics_editor.cc + app/editor/graphics/graphics_editor.h + app/editor/graphics/palette_editor.cc + app/editor/graphics/palette_editor.h + app/editor/graphics/sprite_editor.cc + app/editor/graphics/sprite_editor.h + app/editor/graphics/tile_editor.cc + app/editor/graphics/tile_editor.h +) + +# Message Editor +source_group("Application\\Editor\\Message" FILES + app/editor/message/message_editor.cc + app/editor/message/message_editor.h + app/editor/message/text_editor.cc + app/editor/message/text_editor.h + app/editor/message/translation_editor.cc + app/editor/message/translation_editor.h +) + +# Music Editor +source_group("Application\\Editor\\Music" FILES + app/editor/music/music_editor.cc + app/editor/music/music_editor.h +) + +# Overworld Editor +source_group("Application\\Editor\\Overworld" FILES + app/editor/overworld/overworld_editor.cc + app/editor/overworld/overworld_editor.h + app/editor/overworld/overworld_map_editor.cc + app/editor/overworld/overworld_map_editor.h + app/editor/overworld/overworld_sprite_editor.cc + app/editor/overworld/overworld_sprite_editor.h + app/editor/overworld/overworld_tile_editor.cc + app/editor/overworld/overworld_tile_editor.h + app/editor/overworld/overworld_transport_editor.cc + app/editor/overworld/overworld_transport_editor.h + app/editor/overworld/overworld_entrance_editor.cc + app/editor/overworld/overworld_entrance_editor.h +) + +# Sprite Editor +source_group("Application\\Editor\\Sprite" FILES + app/editor/sprite/sprite_editor.cc + app/editor/sprite/sprite_editor.h + app/editor/sprite/sprite_properties_editor.cc + app/editor/sprite/sprite_properties_editor.h +) + +# System Editor +source_group("Application\\Editor\\System" FILES + app/editor/system/asm_editor.cc + app/editor/system/asm_editor.h + app/editor/system/config_editor.cc + app/editor/system/config_editor.h + app/editor/system/debug_console.cc + app/editor/system/debug_console.h + app/editor/system/hex_editor.cc + app/editor/system/hex_editor.h + app/editor/system/log_viewer.cc + app/editor/system/log_viewer.h + app/editor/system/memory_editor.cc + app/editor/system/memory_editor.h + app/editor/system/rom_analyzer.cc + app/editor/system/rom_analyzer.h +) + +# Emulator +source_group("Application\\Emulator" FILES + app/emu/emu.cc + app/emu/emulator.cc + app/emu/emulator.h + app/emu/snes.cc + app/emu/snes.h +) + +# Audio System +source_group("Application\\Emulator\\Audio" FILES + app/emu/audio/apu.cc + app/emu/audio/apu.h + app/emu/audio/spc700.cc + app/emu/audio/spc700.h + app/emu/audio/dsp.cc + app/emu/audio/dsp.h + app/emu/audio/internal/addressing.cc + app/emu/audio/internal/addressing.h + app/emu/audio/internal/instructions.cc + app/emu/audio/internal/instructions.h +) + +# CPU System +source_group("Application\\Emulator\\CPU" FILES + app/emu/cpu/cpu.cc + app/emu/cpu/cpu.h + app/emu/cpu/internal/addressing.cc + app/emu/cpu/internal/addressing.h + app/emu/cpu/internal/instructions.cc + app/emu/cpu/internal/instructions.h +) + +# Memory System +source_group("Application\\Emulator\\Memory" FILES + app/emu/memory/dma.cc + app/emu/memory/dma.h + app/emu/memory/memory.cc + app/emu/memory/memory.h + app/emu/memory/mock_memory.h +) + +# Video System +source_group("Application\\Emulator\\Video" FILES + app/emu/video/ppu.cc + app/emu/video/ppu.h + app/emu/video/ppu_registers.h +) + +# Graphics System +source_group("Application\\Graphics" FILES + app/gfx/arena.cc + app/gfx/arena.h + app/gfx/background_buffer.cc + app/gfx/background_buffer.h + app/gfx/bitmap.cc + app/gfx/bitmap.h + app/gfx/compression.cc + app/gfx/compression.h + app/gfx/scad_format.cc + app/gfx/scad_format.h + app/gfx/snes_color.cc + app/gfx/snes_color.h + app/gfx/snes_palette.cc + app/gfx/snes_palette.h + app/gfx/snes_tile.cc + app/gfx/snes_tile.h + app/gfx/tilemap.cc + app/gfx/tilemap.h +) + +# GUI System +source_group("Application\\GUI" FILES + app/gui/background_renderer.cc + app/gui/background_renderer.h + app/gui/canvas_utils.cc + app/gui/canvas_utils.h + app/gui/canvas.cc + app/gui/canvas.h + app/gui/color.cc + app/gui/color.h + app/gui/enhanced_palette_editor.cc + app/gui/enhanced_palette_editor.h + app/gui/icons.h + app/gui/input.cc + app/gui/input.h + app/gui/style.cc + app/gui/style.h + app/gui/theme_manager.cc + app/gui/theme_manager.h + app/gui/zeml.cc + app/gui/zeml.h +) + +# GUI Modules +source_group("Application\\GUI\\Modules" FILES + app/gui/modules/about_dialog.cc + app/gui/modules/about_dialog.h + app/gui/modules/preferences_dialog.cc + app/gui/modules/preferences_dialog.h + app/gui/modules/project_dialog.cc + app/gui/modules/project_dialog.h +) + +# Zelda3 Specific +source_group("Application\\Zelda3" FILES + app/zelda3/common.h + app/zelda3/hyrule_magic.cc + app/zelda3/hyrule_magic.h +) + +# Zelda3 Dungeon +source_group("Application\\Zelda3\\Dungeon" FILES + app/zelda3/dungeon/dungeon_data.cc + app/zelda3/dungeon/dungeon_data.h + app/zelda3/dungeon/dungeon_loader.cc + app/zelda3/dungeon/dungeon_loader.h + app/zelda3/dungeon/dungeon_room.cc + app/zelda3/dungeon/dungeon_room.h + app/zelda3/dungeon/dungeon_sprite.cc + app/zelda3/dungeon/dungeon_sprite.h + app/zelda3/dungeon/dungeon_tile.cc + app/zelda3/dungeon/dungeon_tile.h + app/zelda3/dungeon/room_data.cc + app/zelda3/dungeon/room_data.h + app/zelda3/dungeon/room_properties.cc + app/zelda3/dungeon/room_properties.h + app/zelda3/dungeon/room_sprite.cc + app/zelda3/dungeon/room_sprite.h + app/zelda3/dungeon/room_tile.cc + app/zelda3/dungeon/room_tile.h +) + +# Zelda3 Music +source_group("Application\\Zelda3\\Music" FILES + app/zelda3/music/music_data.cc + app/zelda3/music/music_data.h +) + +# Zelda3 Overworld +source_group("Application\\Zelda3\\Overworld" FILES + app/zelda3/overworld/overworld_data.cc + app/zelda3/overworld/overworld_data.h + app/zelda3/overworld/overworld_loader.cc + app/zelda3/overworld/overworld_loader.h + app/zelda3/overworld/overworld_sprite.cc + app/zelda3/overworld/overworld_sprite.h + app/zelda3/overworld/overworld_tile.cc + app/zelda3/overworld/overworld_tile.h + app/zelda3/overworld/overworld_transport.cc + app/zelda3/overworld/overworld_transport.h +) + +# Zelda3 Screen +source_group("Application\\Zelda3\\Screen" FILES + app/zelda3/screen/dungeon_map.cc + app/zelda3/screen/dungeon_map.h + app/zelda3/screen/inventory.cc + app/zelda3/screen/inventory.h + app/zelda3/screen/title_screen.cc + app/zelda3/screen/title_screen.h +) + +# Zelda3 Sprite +source_group("Application\\Zelda3\\Sprite" FILES + app/zelda3/sprite/sprite_data.cc + app/zelda3/sprite/sprite_data.h + app/zelda3/sprite/sprite_loader.cc + app/zelda3/sprite/sprite_loader.h + app/zelda3/sprite/sprite.cc + app/zelda3/sprite/sprite.h +) + +# Testing +source_group("Application\\Testing" FILES + app/test/test_manager.cc + app/test/test_manager.h + app/test/e2e_test_suite.h + app/test/integrated_test_suite.h + app/test/rom_dependent_test_suite.h + app/test/unit_test_suite.h + app/test/zscustomoverworld_test_suite.h +) + +# CLI Tools +source_group("CLI" FILES + cli/cli_main.cc + cli/tui.cc + cli/tui.h + cli/z3ed.cc + cli/z3ed.h +) + +source_group("CLI\\Handlers" FILES + cli/handlers/compress.cc + cli/handlers/patch.cc + cli/handlers/tile16_transfer.cc +) + +# Utilities +source_group("Utilities" FILES + util/bps.cc + util/bps.h + util/flag.cc + util/flag.h + util/hex.cc + util/hex.h + util/log.h + util/macro.h + util/notify.h +) + +# API +source_group("API" FILES + api/service_handler.cc + api/yaze.proto +) + +source_group("API\\Python" FILES + api/python/yaze_py.cc +) + +# Platform-specific Resources +source_group("Platform\\Windows" FILES + win32/yaze.ico + win32/yaze.rc + win32/yaze.res +) + +source_group("Platform\\iOS" FILES + ios/main.mm + ios/iOS/Info-iOS.plist + ios/iOS/LaunchScreen.storyboard + ios/macOS/Info-macOS.plist + ios/macOS/MainMenu.storyboard +) + +source_group("Platform\\iOS\\Assets" FILES + ios/Media.xcassets/Contents.json +) + +# Configuration +source_group("Configuration" FILES + yaze_config.h.in +) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 94b7c4a4..4d695f88 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -237,4 +237,71 @@ endif() # For CI/CD, use the test runner with appropriate filters: # ./yaze_test --unit --verbose # ./yaze_test --e2e --rom-path zelda3.sfc -# ./yaze_test --zscustomoverworld --verbose \ No newline at end of file +# ./yaze_test --zscustomoverworld --verbose + +# ============================================================================= +# Test Source Groups for Visual Studio Organization +# ============================================================================= + +# Test Framework +source_group("Tests\\Framework" FILES + testing.h + yaze_test.cc + yaze_test_ci.cc +) + +# Unit Tests +source_group("Tests\\Unit" FILES + unit/test_asar_wrapper.cc + unit/test_rom_loading.cc + unit/test_snes_tiles.cc + unit/test_palettes.cc + unit/test_hex_utils.cc + unit/test_flag_utils.cc + unit/test_bps_utils.cc + unit/test_color_conversion.cc + unit/test_tile_compression.cc + unit/test_memory_management.cc + unit/test_project_structure.cc + unit/test_editor_basic.cc + unit/test_dungeon_data.cc + unit/test_overworld_data.cc + unit/test_sprite_data.cc + unit/test_music_data.cc + unit/test_graphics_rendering.cc + unit/test_gui_components.cc + unit/test_emulator_core.cc + unit/test_cpu_instructions.cc + unit/test_ppu_rendering.cc + unit/test_audio_processing.cc + unit/test_compression_algorithms.cc + unit/test_hex_editor.cc +) + +# Integration Tests +source_group("Tests\\Integration" FILES + integration/test_editor_integration.cc + integration/test_rom_integration.cc + integration/test_project_workflow.cc + integration/test_asar_integration.cc + integration/test_graphics_pipeline.cc + integration/test_emulator_integration.cc +) + +# End-to-End Tests +source_group("Tests\\E2E" FILES + e2e/test_full_workflow.cc + e2e/test_user_scenarios.cc +) + +# Test Utilities and Mocks +source_group("Tests\\Utilities" FILES + test_utils.h + mocks/mock_rom.h + mocks/mock_editor.h +) + +# Test Assets +source_group("Tests\\Assets" FILES + assets/test_rom.asm +) \ No newline at end of file