diff --git a/data/uking_functions.csv b/data/uking_functions.csv index a402f9f6..41792f30 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -74437,7 +74437,7 @@ 0x0000007100d6c46c,aocManager::Version::ready,384,_ZN5uking3aoc7Manager11VersionFile11readVersionEv 0x0000007100d6c5ec,aocManager::initApp,48,_ZN5uking3aoc7Manager12initGameDataEv 0x0000007100d6c61c,aocManager::initFlags,460,_ZN5uking3aoc7Manager11reinitFlagsEv -0x0000007100d6c7e8,aocManager::setLatestPlayedGameDataFlags,220, +0x0000007100d6c7e8,aocManager::setLatestPlayedGameDataFlags,220,_ZNK5uking3aoc7Manager16setGameDataFlagsEv 0x0000007100d6c8c4,getAocFlagString,428,_ZN5uking3aoc7Manager12GameDataFlag5text_Ei 0x0000007100d6ca70,j__ZdlPv_858,4,_ZN4sead19FixedSafeStringBaseIcLi73EED0Ev 0x0000007100d6ca74,_ZN4sead19FixedSafeStringBaseIcLi73EEaSERKNS_14SafeStringBaseIcEE,240,_ZN4sead19FixedSafeStringBaseIcLi73EEaSERKNS_14SafeStringBaseIcEE diff --git a/src/Game/DLC/aocManager.cpp b/src/Game/DLC/aocManager.cpp index 62e09255..41e4fdd3 100644 --- a/src/Game/DLC/aocManager.cpp +++ b/src/Game/DLC/aocManager.cpp @@ -524,6 +524,21 @@ void Manager::reinitFlags() { } } +void Manager::setGameDataFlags() const { + ksys::gdt::Manager::instance()->setS32(mVersion, mFlagAocVerAtLastPlay); + + s32 latest_ver; + if (ksys::gdt::Manager::instance()->getS32(mFlagLatestAocVerPlayed, &latest_ver)) { + if (u32(latest_ver) < mVersion) + ksys::gdt::Manager::instance()->setS32(mVersion, mFlagLatestAocVerPlayed); + } + + const auto ver = mVersion; + ksys::gdt::Manager::instance()->setBool(ver >= 0x100, mFlagHasAocVer1); + ksys::gdt::Manager::instance()->setBool(ver >= 0x200, mFlagHasAocVer2); + ksys::gdt::Manager::instance()->setBool(ver >= 0x300, mFlagHasAocVer3); +} + void Manager::onGdtReinit(ksys::gdt::Manager::ReinitEvent* event) { reinitFlags(); }