From eb986259f27e2ba563b8f98e8f4b6ec2892fe893 Mon Sep 17 00:00:00 2001 From: zilmar Date: Mon, 18 Jan 2021 17:07:06 +1030 Subject: [PATCH] Enhancements: Load Active --- .../Project64-core/N64System/Enhancement/Enhancements.cpp | 8 +++++++- .../Project64-core/N64System/Enhancement/Enhancements.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Source/Project64-core/N64System/Enhancement/Enhancements.cpp b/Source/Project64-core/N64System/Enhancement/Enhancements.cpp index 83eee0be5..c2f4beeee 100644 --- a/Source/Project64-core/N64System/Enhancement/Enhancements.cpp +++ b/Source/Project64-core/N64System/Enhancement/Enhancements.cpp @@ -226,7 +226,13 @@ void CEnhancements::LoadCheats(CMipsMemoryVM * MMU) LoadEnhancements("Enhancement", m_EnhancementFiles, m_EnhancementFile, m_Enhancements); ResetCodes(MMU); - for (CEnhancementList::const_iterator itr = m_Cheats.begin(); itr != m_Cheats.end(); itr++) + LoadActive(m_Cheats); + LoadActive(m_Enhancements); +} + +void CEnhancements::LoadActive(CEnhancementList & List) +{ + for (CEnhancementList::const_iterator itr = List.begin(); itr != List.end(); itr++) { const CEnhancement & Enhancement = itr->second; if (!Enhancement.Valid() || !Enhancement.Active()) diff --git a/Source/Project64-core/N64System/Enhancement/Enhancements.h b/Source/Project64-core/N64System/Enhancement/Enhancements.h index c0e8804cf..ad5878c02 100644 --- a/Source/Project64-core/N64System/Enhancement/Enhancements.h +++ b/Source/Project64-core/N64System/Enhancement/Enhancements.h @@ -65,6 +65,7 @@ private: void ResetCodes(CMipsMemoryVM * MMU); void LoadCheats(CMipsMemoryVM * MMU); + void LoadActive(CEnhancementList & List); void LoadEnhancements(const char * Ident, SectionFiles & Files, std::unique_ptr & File, CEnhancementList & EnhancementList); void ApplyGameSharkCodes(CMipsMemoryVM & MMU, CODES & CodeEntry, uint32_t CurrentEntry); uint32_t EntrySize(const CODES & CodeEntry, uint32_t CurrentEntry);