Implement aoc::Manager::setGameDataFlags

This commit is contained in:
Léo Lam 2021-03-28 21:55:19 +02:00
parent c3528b3911
commit a7868ad340
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
2 changed files with 16 additions and 1 deletions

View File

@ -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

Can't render this file because it is too large.

View File

@ -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();
}