Add initial Visual Studio solution and project files

- Created a new Visual Studio solution file (YAZE.sln) to manage the project structure.
- Added a project file (YAZE.vcxproj) with configurations for Debug and Release builds across multiple platforms (Win32, x64, ARM64).
- Established initial project structure with relevant source and header files included for compilation.
- Updated theme manager to remove unnecessary logging statements, streamlining the code for better readability.
This commit is contained in:
scawful
2025-09-28 12:08:11 -04:00
parent cb107ae69c
commit 4b01d7be1d
3 changed files with 466 additions and 25 deletions

92
YAZE.sln Normal file
View File

@@ -0,0 +1,92 @@
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
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yaze_test", "test\yaze_test.vcxproj", "{B2C3D4E5-F6G7-8901-BCDE-F23456789012}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yaze_core", "yaze_core.vcxproj", "{C3D4E5F6-G7H8-9012-CDEF-345678901234}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yaze_c", "yaze_c.vcxproj", "{D4E5F6G7-H8I9-0123-DEF0-456789012345}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "z3ed", "cli\z3ed.vcxproj", "{E5F6G7H8-I9J0-1234-EF01-567890123456}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Release|x64 = Release|x64
Debug|x86 = Debug|x86
Release|x86 = Release|x86
Debug|ARM64 = Debug|ARM64
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}.Release|x64.ActiveCfg = Release|x64
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x64.Build.0 = Release|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}.Release|x86.ActiveCfg = Release|Win32
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x86.Build.0 = Release|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|ARM64.ActiveCfg = Release|ARM64
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|ARM64.Build.0 = Release|ARM64
{B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Debug|x64.ActiveCfg = Debug|x64
{B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Debug|x64.Build.0 = Debug|x64
{B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Release|x64.ActiveCfg = Release|x64
{B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Release|x64.Build.0 = Release|x64
{B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Debug|x86.ActiveCfg = Debug|Win32
{B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Debug|x86.Build.0 = Debug|Win32
{B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Release|x86.ActiveCfg = Release|Win32
{B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Release|x86.Build.0 = Release|Win32
{B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Debug|ARM64.ActiveCfg = Debug|ARM64
{B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Debug|ARM64.Build.0 = Debug|ARM64
{B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Release|ARM64.ActiveCfg = Release|ARM64
{B2C3D4E5-F6G7-8901-BCDE-F23456789012}.Release|ARM64.Build.0 = Release|ARM64
{C3D4E5F6-G7H8-9012-CDEF-345678901234}.Debug|x64.ActiveCfg = Debug|x64
{C3D4E5F6-G7H8-9012-CDEF-345678901234}.Debug|x64.Build.0 = Debug|x64
{C3D4E5F6-G7H8-9012-CDEF-345678901234}.Release|x64.ActiveCfg = Release|x64
{C3D4E5F6-G7H8-9012-CDEF-345678901234}.Release|x64.Build.0 = Release|x64
{C3D4E5F6-G7H8-9012-CDEF-345678901234}.Debug|x86.ActiveCfg = Debug|Win32
{C3D4E5F6-G7H8-9012-CDEF-345678901234}.Debug|x86.Build.0 = Debug|Win32
{C3D4E5F6-G7H8-9012-CDEF-345678901234}.Release|x86.ActiveCfg = Release|Win32
{C3D4E5F6-G7H8-9012-CDEF-345678901234}.Release|x86.Build.0 = Release|Win32
{C3D4E5F6-G7H8-9012-CDEF-345678901234}.Debug|ARM64.ActiveCfg = Debug|ARM64
{C3D4E5F6-G7H8-9012-CDEF-345678901234}.Debug|ARM64.Build.0 = Debug|ARM64
{C3D4E5F6-G7H8-9012-CDEF-345678901234}.Release|ARM64.ActiveCfg = Release|ARM64
{C3D4E5F6-G7H8-9012-CDEF-345678901234}.Release|ARM64.Build.0 = Release|ARM64
{D4E5F6G7-H8I9-0123-DEF0-456789012345}.Debug|x64.ActiveCfg = Debug|x64
{D4E5F6G7-H8I9-0123-DEF0-456789012345}.Debug|x64.Build.0 = Debug|x64
{D4E5F6G7-H8I9-0123-DEF0-456789012345}.Release|x64.ActiveCfg = Release|x64
{D4E5F6G7-H8I9-0123-DEF0-456789012345}.Release|x64.Build.0 = Release|x64
{D4E5F6G7-H8I9-0123-DEF0-456789012345}.Debug|x86.ActiveCfg = Debug|Win32
{D4E5F6G7-H8I9-0123-DEF0-456789012345}.Debug|x86.Build.0 = Debug|Win32
{D4E5F6G7-H8I9-0123-DEF0-456789012345}.Release|x86.ActiveCfg = Release|Win32
{D4E5F6G7-H8I9-0123-DEF0-456789012345}.Release|x86.Build.0 = Release|Win32
{D4E5F6G7-H8I9-0123-DEF0-456789012345}.Debug|ARM64.ActiveCfg = Debug|ARM64
{D4E5F6G7-H8I9-0123-DEF0-456789012345}.Debug|ARM64.Build.0 = Debug|ARM64
{D4E5F6G7-H8I9-0123-DEF0-456789012345}.Release|ARM64.ActiveCfg = Release|ARM64
{D4E5F6G7-H8I9-0123-DEF0-456789012345}.Release|ARM64.Build.0 = Release|ARM64
{E5F6G7H8-I9J0-1234-EF01-567890123456}.Debug|x64.ActiveCfg = Debug|x64
{E5F6G7H8-I9J0-1234-EF01-567890123456}.Debug|x64.Build.0 = Debug|x64
{E5F6G7H8-I9J0-1234-EF01-567890123456}.Release|x64.ActiveCfg = Release|x64
{E5F6G7H8-I9J0-1234-EF01-567890123456}.Release|x64.Build.0 = Release|x64
{E5F6G7H8-I9J0-1234-EF01-567890123456}.Debug|x86.ActiveCfg = Debug|Win32
{E5F6G7H8-I9J0-1234-EF01-567890123456}.Debug|x86.Build.0 = Debug|Win32
{E5F6G7H8-I9J0-1234-EF01-567890123456}.Release|x86.ActiveCfg = Release|Win32
{E5F6G7H8-I9J0-1234-EF01-567890123456}.Release|x86.Build.0 = Release|Win32
{E5F6G7H8-I9J0-1234-EF01-567890123456}.Debug|ARM64.ActiveCfg = Debug|ARM64
{E5F6G7H8-I9J0-1234-EF01-567890123456}.Debug|ARM64.Build.0 = Debug|ARM64
{E5F6G7H8-I9J0-1234-EF01-567890123456}.Release|ARM64.ActiveCfg = Release|ARM64
{E5F6G7H8-I9J0-1234-EF01-567890123456}.Release|ARM64.Build.0 = Release|ARM64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {F6G7H8I9-J0K1-2345-F012-678901234567}
EndGlobalSection
EndGlobal

374
YAZE.vcxproj Normal file
View File

@@ -0,0 +1,374 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}</ProjectGuid>
<RootNamespace>YAZE</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)build\bin\$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)build\bin\$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)build\bin\$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)build\bin\$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)build\bin\$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)build\bin\$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp23</LanguageStandard>
<AdditionalIncludeDirectories>src\lib;src\app;src\lib\asar\src;src\lib\asar\src\asar;src\lib\asar\src\asar-dll-bindings\c;incl;src;src\lib\imgui;src\lib\imgui_test_engine;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>SDL2.lib;SDL2main.lib;absl_base.lib;absl_strings.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp23</LanguageStandard>
<AdditionalIncludeDirectories>src\lib;src\app;src\lib\asar\src;src\lib\asar\src\asar;src\lib\asar\src\asar-dll-bindings\c;incl;src;src\lib\imgui;src\lib\imgui_test_engine;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>SDL2.lib;SDL2main.lib;absl_base.lib;absl_strings.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp23</LanguageStandard>
<AdditionalIncludeDirectories>src\lib;src\app;src\lib\asar\src;src\lib\asar\src\asar;src\lib\asar\src\asar-dll-bindings\c;incl;src;src\lib\imgui;src\lib\imgui_test_engine;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>SDL2.lib;SDL2main.lib;absl_base.lib;absl_strings.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp23</LanguageStandard>
<AdditionalIncludeDirectories>src\lib;src\app;src\lib\asar\src;src\lib\asar\src\asar;src\lib\asar\src\asar-dll-bindings\c;incl;src;src\lib\imgui;src\lib\imgui_test_engine;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>SDL2.lib;SDL2main.lib;absl_base.lib;absl_strings.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp23</LanguageStandard>
<AdditionalIncludeDirectories>src\lib;src\app;src\lib\asar\src;src\lib\asar\src\asar;src\lib\asar\src\asar-dll-bindings\c;incl;src;src\lib\imgui;src\lib\imgui_test_engine;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>SDL2.lib;SDL2main.lib;absl_base.lib;absl_strings.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp23</LanguageStandard>
<AdditionalIncludeDirectories>src\lib;src\app;src\lib\asar\src;src\lib\asar\src\asar;src\lib\asar\src\asar-dll-bindings\c;incl;src;src\lib\imgui;src\lib\imgui_test_engine;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>SDL2.lib;SDL2main.lib;absl_base.lib;absl_strings.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="incl\yaze.h" />
<ClInclude Include="incl\zelda.h" />
<ClInclude Include="src\app\rom.h" />
<ClInclude Include="src\app\snes.h" />
<ClInclude Include="src\app\transaction.h" />
<ClInclude Include="src\app\core\asar_wrapper.h" />
<ClInclude Include="src\app\core\controller.h" />
<ClInclude Include="src\app\core\features.h" />
<ClInclude Include="src\app\core\project.h" />
<ClInclude Include="src\app\core\window.h" />
<ClInclude Include="src\app\core\platform\clipboard.h" />
<ClInclude Include="src\app\gfx\arena.h" />
<ClInclude Include="src\app\gfx\background_buffer.h" />
<ClInclude Include="src\app\gfx\bitmap.h" />
<ClInclude Include="src\app\gfx\compression.h" />
<ClInclude Include="src\app\gfx\scad_format.h" />
<ClInclude Include="src\app\gfx\snes_color.h" />
<ClInclude Include="src\app\gfx\snes_palette.h" />
<ClInclude Include="src\app\gfx\snes_tile.h" />
<ClInclude Include="src\app\gfx\tilemap.h" />
<ClInclude Include="src\app\editor\editor.h" />
<ClInclude Include="src\app\editor\editor_manager.h" />
<ClInclude Include="src\app\editor\editor_safeguards.h" />
<ClInclude Include="src\app\editor\overworld\overworld_editor.h" />
<ClInclude Include="src\app\editor\overworld\overworld_editor_manager.h" />
<ClInclude Include="src\app\editor\overworld\map_properties.h" />
<ClInclude Include="src\app\editor\overworld\tile16_editor.h" />
<ClInclude Include="src\app\editor\graphics\gfx_group_editor.h" />
<ClInclude Include="src\app\editor\graphics\graphics_editor.h" />
<ClInclude Include="src\app\editor\graphics\palette_editor.h" />
<ClInclude Include="src\app\editor\dungeon\dungeon_editor.h" />
<ClInclude Include="src\app\editor\sprite\sprite_editor.h" />
<ClInclude Include="src\app\editor\music\music_editor.h" />
<ClInclude Include="src\app\editor\message\message_editor.h" />
<ClInclude Include="src\app\editor\system\system_editor.h" />
<ClInclude Include="src\app\editor\code\code_editor.h" />
<ClInclude Include="src\app\gui\canvas.h" />
<ClInclude Include="src\app\gui\canvas_utils.h" />
<ClInclude Include="src\app\gui\color.h" />
<ClInclude Include="src\app\gui\enhanced_palette_editor.h" />
<ClInclude Include="src\app\gui\icons.h" />
<ClInclude Include="src\app\gui\input.h" />
<ClInclude Include="src\app\gui\style.h" />
<ClInclude Include="src\app\gui\theme_manager.h" />
<ClInclude Include="src\app\gui\zeml.h" />
<ClInclude Include="src\app\gui\background_renderer.h" />
<ClInclude Include="src\app\gui\modules\module_manager.h" />
<ClInclude Include="src\app\emu\emulator.h" />
<ClInclude Include="src\app\emu\snes.h" />
<ClInclude Include="src\app\emu\audio\apu.h" />
<ClInclude Include="src\app\emu\audio\dsp.h" />
<ClInclude Include="src\app\emu\audio\spc700.h" />
<ClInclude Include="src\app\emu\cpu\cpu.h" />
<ClInclude Include="src\app\emu\memory\memory.h" />
<ClInclude Include="src\app\emu\memory\dma.h" />
<ClInclude Include="src\app\emu\video\ppu.h" />
<ClInclude Include="src\app\zelda3\common.h" />
<ClInclude Include="src\app\zelda3\hyrule_magic.h" />
<ClInclude Include="src\app\zelda3\overworld\overworld.h" />
<ClInclude Include="src\app\zelda3\dungeon\dungeon.h" />
<ClInclude Include="src\app\zelda3\sprite\sprite.h" />
<ClInclude Include="src\app\zelda3\screen\screen.h" />
<ClInclude Include="src\app\zelda3\music\music.h" />
<ClInclude Include="src\util\bps.h" />
<ClInclude Include="src\util\flag.h" />
<ClInclude Include="src\util\hex.h" />
<ClInclude Include="src\util\log.h" />
<ClInclude Include="src\util\macro.h" />
<ClInclude Include="src\util\notify.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\yaze.cc" />
<ClCompile Include="src\app\rom.cc" />
<ClCompile Include="src\app\main.cc" />
<ClCompile Include="src\app\core\asar_wrapper.cc" />
<ClCompile Include="src\app\core\controller.cc" />
<ClCompile Include="src\app\core\project.cc" />
<ClCompile Include="src\app\core\window.cc" />
<ClCompile Include="src\app\core\platform\clipboard.cc" />
<ClCompile Include="src\app\gfx\arena.cc" />
<ClCompile Include="src\app\gfx\background_buffer.cc" />
<ClCompile Include="src\app\gfx\bitmap.cc" />
<ClCompile Include="src\app\gfx\compression.cc" />
<ClCompile Include="src\app\gfx\scad_format.cc" />
<ClCompile Include="src\app\gfx\snes_color.cc" />
<ClCompile Include="src\app\gfx\snes_palette.cc" />
<ClCompile Include="src\app\gfx\snes_tile.cc" />
<ClCompile Include="src\app\gfx\tilemap.cc" />
<ClCompile Include="src\app\editor\editor.cc" />
<ClCompile Include="src\app\editor\editor_manager.cc" />
<ClCompile Include="src\app\editor\overworld\overworld_editor.cc" />
<ClCompile Include="src\app\editor\overworld\overworld_editor_manager.cc" />
<ClCompile Include="src\app\editor\overworld\map_properties.cc" />
<ClCompile Include="src\app\editor\overworld\tile16_editor.cc" />
<ClCompile Include="src\app\editor\graphics\gfx_group_editor.cc" />
<ClCompile Include="src\app\editor\graphics\graphics_editor.cc" />
<ClCompile Include="src\app\editor\graphics\palette_editor.cc" />
<ClCompile Include="src\app\editor\dungeon\dungeon_editor.cc" />
<ClCompile Include="src\app\editor\sprite\sprite_editor.cc" />
<ClCompile Include="src\app\editor\music\music_editor.cc" />
<ClCompile Include="src\app\editor\message\message_editor.cc" />
<ClCompile Include="src\app\editor\system\system_editor.cc" />
<ClCompile Include="src\app\editor\code\code_editor.cc" />
<ClCompile Include="src\app\gui\canvas.cc" />
<ClCompile Include="src\app\gui\canvas_utils.cc" />
<ClCompile Include="src\app\gui\color.cc" />
<ClCompile Include="src\app\gui\enhanced_palette_editor.cc" />
<ClCompile Include="src\app\gui\input.cc" />
<ClCompile Include="src\app\gui\style.cc" />
<ClCompile Include="src\app\gui\theme_manager.cc" />
<ClCompile Include="src\app\gui\zeml.cc" />
<ClCompile Include="src\app\gui\background_renderer.cc" />
<ClCompile Include="src\app\gui\modules\module_manager.cc" />
<ClCompile Include="src\app\emu\emu.cc" />
<ClCompile Include="src\app\emu\emulator.cc" />
<ClCompile Include="src\app\emu\snes.cc" />
<ClCompile Include="src\app\emu\audio\apu.cc" />
<ClCompile Include="src\app\emu\audio\dsp.cc" />
<ClCompile Include="src\app\emu\audio\spc700.cc" />
<ClCompile Include="src\app\emu\cpu\cpu.cc" />
<ClCompile Include="src\app\emu\memory\memory.cc" />
<ClCompile Include="src\app\emu\memory\dma.cc" />
<ClCompile Include="src\app\emu\video\ppu.cc" />
<ClCompile Include="src\app\zelda3\hyrule_magic.cc" />
<ClCompile Include="src\app\zelda3\overworld\overworld.cc" />
<ClCompile Include="src\app\zelda3\dungeon\dungeon.cc" />
<ClCompile Include="src\app\zelda3\sprite\sprite.cc" />
<ClCompile Include="src\app\zelda3\screen\screen.cc" />
<ClCompile Include="src\app\zelda3\music\music.cc" />
<ClCompile Include="src\util\bps.cc" />
<ClCompile Include="src\util\flag.cc" />
<ClCompile Include="src\util\hex.cc" />
</ItemGroup>
<ItemGroup>
<None Include="vcpkg.json" />
<None Include="CMakeLists.txt" />
<None Include="README.md" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -270,14 +270,11 @@ absl::Status ThemeManager::LoadThemeFromFile(const std::string& filepath) {
std::string successful_path;
for (const auto& path : possible_paths) {
util::logf("Trying to open theme file: %s", path.c_str());
file.open(path);
if (file.is_open()) {
successful_path = path;
util::logf("✅ Successfully opened theme file: %s", path.c_str());
break;
} else {
util::logf("❌ Failed to open theme file: %s", path.c_str());
file.clear(); // Clear any error flags before trying next path
}
}
@@ -838,7 +835,6 @@ absl::Status ThemeManager::SaveThemeToFile(const EnhancedTheme& theme, const std
return absl::InternalError(absl::StrFormat("Failed to write theme file: %s", filepath));
}
util::logf("✅ Successfully saved theme '%s' to file: %s", theme.name.c_str(), filepath.c_str());
return absl::OkStatus();
}
@@ -1834,7 +1830,6 @@ void ThemeManager::ShowSimpleThemeEditor(bool* p_open) {
themes_[edit_theme.name] = edit_theme;
ApplyTheme(edit_theme);
theme_backup_made = false; // Reset backup state since theme is now applied
util::logf("Theme saved over current file: %s", current_file_path.c_str());
} else {
util::logf("Failed to save over current theme: %s", status.message().data());
}
@@ -1877,7 +1872,6 @@ void ThemeManager::ShowSimpleThemeEditor(bool* p_open) {
// Also add to themes map for immediate use
themes_[edit_theme.name] = edit_theme;
ApplyTheme(edit_theme);
util::logf("Theme saved successfully to: %s", file_path.c_str());
} else {
util::logf("Failed to save theme: %s", status.message().data());
}
@@ -1905,14 +1899,12 @@ std::vector<std::string> ThemeManager::GetThemeSearchPaths() const {
#ifdef __APPLE__
// macOS bundle resource path (this should be the primary path for bundled apps)
std::string bundle_themes = core::GetResourcePath("assets/themes/");
util::logf("🔍 Bundle themes path from GetResourcePath: '%s'", bundle_themes.c_str());
if (!bundle_themes.empty()) {
search_paths.push_back(bundle_themes);
}
// Alternative bundle locations
std::string bundle_root = core::GetBundleResourcePath();
util::logf("🔍 Bundle root path: '%s'", bundle_root.c_str());
search_paths.push_back(bundle_root + "Contents/Resources/themes/");
search_paths.push_back(bundle_root + "Contents/Resources/assets/themes/");
@@ -1928,12 +1920,6 @@ std::vector<std::string> ThemeManager::GetThemeSearchPaths() const {
std::string config_themes = core::GetConfigDirectory() + "/themes/";
search_paths.push_back(config_themes);
// Debug: Print all search paths
util::logf("🔍 Theme search paths (%zu total):", search_paths.size());
for (size_t i = 0; i < search_paths.size(); ++i) {
util::logf(" [%zu]: '%s'", i, search_paths[i].c_str());
}
return search_paths;
}
@@ -1944,7 +1930,6 @@ std::string ThemeManager::GetThemesDirectory() const {
for (const auto& path : search_paths) {
std::ifstream test_file(path + "."); // Test if directory exists by trying to access it
if (test_file.good()) {
util::logf("Found themes directory: %s", path.c_str());
return path;
}
@@ -1956,12 +1941,10 @@ std::string ThemeManager::GetThemesDirectory() const {
std::ifstream test_file2(normalized_path + ".");
if (test_file2.good()) {
util::logf("Found themes directory: %s", normalized_path.c_str());
return normalized_path;
}
}
util::logf("No themes directory found in search paths");
return search_paths.empty() ? "assets/themes/" : search_paths[0];
}
@@ -1970,7 +1953,6 @@ std::vector<std::string> ThemeManager::DiscoverAvailableThemeFiles() const {
auto search_paths = GetThemeSearchPaths();
for (const auto& search_path : search_paths) {
util::logf("Searching for theme files in: %s", search_path.c_str());
try {
// Use platform-specific file discovery instead of glob
@@ -1979,7 +1961,6 @@ std::vector<std::string> ThemeManager::DiscoverAvailableThemeFiles() const {
for (const auto& file : files_in_folder) {
if (file.length() > 6 && file.substr(file.length() - 6) == ".theme") {
std::string full_path = search_path + file;
util::logf("Found theme file: %s", full_path.c_str());
theme_files.push_back(full_path);
}
}
@@ -1995,7 +1976,6 @@ std::vector<std::string> ThemeManager::DiscoverAvailableThemeFiles() const {
std::string full_path = search_path + theme_name;
std::ifstream test_file(full_path);
if (test_file.good()) {
util::logf("Found theme file: %s", full_path.c_str());
theme_files.push_back(full_path);
}
}
@@ -2017,7 +1997,6 @@ std::vector<std::string> ThemeManager::DiscoverAvailableThemeFiles() const {
}
}
util::logf("Discovered %zu unique theme files", unique_files.size());
return unique_files;
}
@@ -2031,14 +2010,11 @@ absl::Status ThemeManager::LoadAllAvailableThemes() {
auto status = LoadThemeFromFile(theme_file);
if (status.ok()) {
successful_loads++;
util::logf("✅ Successfully loaded theme: %s", theme_file.c_str());
} else {
failed_loads++;
util::logf("❌ Failed to load theme %s: %s", theme_file.c_str(), status.message().data());
}
}
util::logf("Theme loading complete: %d successful, %d failed", successful_loads, failed_loads);
if (successful_loads == 0 && failed_loads > 0) {
return absl::InternalError(absl::StrFormat("Failed to load any themes (%d failures)", failed_loads));
@@ -2048,7 +2024,6 @@ absl::Status ThemeManager::LoadAllAvailableThemes() {
}
absl::Status ThemeManager::RefreshAvailableThemes() {
util::logf("Refreshing available themes...");
return LoadAllAvailableThemes();
}