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