Implement aoc::Manager::setGameDataFlags

This commit is contained in:
Léo Lam
2021-03-28 21:55:19 +02:00
parent c3528b3911
commit a7868ad340
2 changed files with 16 additions and 1 deletions
+15
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();
}