From c05a489d605c554a28064cf9b92549d6a4965988 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 6e40a442..cc7e62bc 100644 --- a/src/port/Engine.cpp +++ b/src/port/Engine.cpp @@ -46,6 +46,7 @@ namespace fs = std::filesystem; extern "C" { +bool prevAltAssets = false; float gInterpolationStep = 0.0f; #include #include @@ -176,6 +177,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() { @@ -195,8 +199,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(); @@ -205,8 +207,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: @@ -328,9 +329,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 c05d5078..69c1a43c 100644 --- a/src/port/ui/ImguiUI.cpp +++ b/src/port/ui/ImguiUI.cpp @@ -374,6 +374,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)");