From d0fb09f25ce180fcee46997cecf7899c6e41f13f Mon Sep 17 00:00:00 2001 From: KiritoDv Date: Fri, 27 Dec 2024 23:07:06 -0600 Subject: [PATCH] Added alt assets --- src/port/Engine.cpp | 15 +++++++++------ src/port/ui/ImguiUI.cpp | 2 ++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/port/Engine.cpp b/src/port/Engine.cpp index 4c6962dc..b0056bb3 100644 --- a/src/port/Engine.cpp +++ b/src/port/Engine.cpp @@ -45,6 +45,7 @@ namespace fs = std::filesystem; extern "C" { +bool prevAltAssets = false; float gInterpolationStep = 0.0f; #include #include @@ -172,6 +173,9 @@ GameEngine::GameEngine() { loader->RegisterResourceFactory(std::make_shared(), RESOURCE_FORMAT_BINARY, "SoundFont", static_cast(SF64::ResourceType::SoundFont), 0); + + prevAltAssets = CVarGetInteger("gEnhancements.Mods.AlternateAssets", 0); + context->GetResourceManager()->SetAltAssetsEnabled(prevAltAssets); } void GameEngine::Create() { @@ -191,8 +195,6 @@ void GameEngine::Destroy() { free(MemoryPool.memory); } -bool ShouldClearTextureCacheAtEndOfFrame = false; - void GameEngine::StartFrame() const { using Ship::KbScancode; const int32_t dwScancode = this->context->GetWindow()->GetLastScancode(); @@ -201,8 +203,7 @@ void GameEngine::StartFrame() const { switch (dwScancode) { case KbScancode::LUS_KB_TAB: { // Toggle HD Assets - CVarSetInteger("gAltAssets", !CVarGetInteger("gAltAssets", 0)); - ShouldClearTextureCacheAtEndOfFrame = true; + CVarSetInteger("gEnhancements.Mods.AlternateAssets", !CVarGetInteger("gEnhancements.Mods.AlternateAssets", 0)); break; } default: @@ -326,9 +327,11 @@ void GameEngine::RunCommands(Gfx* Commands, const std::vectorGetResourceManager()->SetAltAssetsEnabled(curAltAssets); gfx_texture_cache_clear(); - ShouldClearTextureCacheAtEndOfFrame = false; } } diff --git a/src/port/ui/ImguiUI.cpp b/src/port/ui/ImguiUI.cpp index 99dd148d..bdd60910 100644 --- a/src/port/ui/ImguiUI.cpp +++ b/src/port/ui/ImguiUI.cpp @@ -371,6 +371,8 @@ void DrawSettingsMenu(){ UIWidgets::Tooltip("Allows windows to be able to be dragged off of the main game window. Requires a reload to take effect."); } + UIWidgets::PaddedEnhancementCheckbox("Enable Alternative Assets", "gEnhancements.Mods.AlternateAssets"); + // If more filters are added to LUS, make sure to add them to the filters list here ImGui::Text("Texture Filter (Needs reload)");