Merge pull request #94 from ConorBobbleHat/master

Switch ProductReporter::incrementSceneAndRomWorkTime to using lambdas
This commit is contained in:
Léo Lam 2022-06-20 22:17:51 +02:00 committed by GitHub
commit 83ae6b5d52
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 15 deletions

View File

@ -84392,7 +84392,7 @@ Address,Quality,Size,Name
0x0000007100fd1cc8,O,000380,_ZN4ksys15ProductReporter4initEPN4sead4HeapE
0x0000007100fd1e44,O,000060,_ZN4ksys15ProductReporter9terminateEv
0x0000007100fd1e80,O,000280,_ZN4ksys15ProductReporter12updateTimersEv
0x0000007100fd1f98,m,001672,_ZN4ksys15ProductReporter28incrementSceneAndRomWorkTimeEv
0x0000007100fd1f98,O,001672,_ZN4ksys15ProductReporter28incrementSceneAndRomWorkTimeEv
0x0000007100fd2620,U,000076,
0x0000007100fd266c,U,000620,playReportEmergencyHeapUse
0x0000007100fd28d8,U,001436,PlayReport::Report::addRomVersions

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

View File

@ -110,8 +110,20 @@ bool ProductReporter::saveReport(PlayReport* playReport) const {
return false;
}
// NON_MATCHING: minor reordering & deduplication
bool ProductReporter::incrementSceneAndRomWorkTime() {
const auto get_flag = [this](auto key, s32* value) {
gdt::Manager::instance()->getS32(mGameDataHandles[key], value);
};
const auto set_flag = [this](auto key, s32 value) {
gdt::Manager::instance()->setS32(value, mGameDataHandles[key]);
};
const auto increment = [this, &get_flag, &set_flag](auto key, s32* value) {
get_flag(key, value);
set_flag(key, *value + 1);
};
if (map::PlacementMgr::instance() == nullptr)
return false;

View File

@ -65,19 +65,6 @@ public:
s32 getCtrlModePlayTimeHandheld() const;
s32 getPlayTimeConsole() const;
void getFlag(u32 key, s32* value) {
gdt::Manager::instance()->getS32(mGameDataHandles[key], value);
}
void setFlag(u32 key, s32 value) {
gdt::Manager::instance()->setS32(value, mGameDataHandles[key]);
}
void increment(u32 key, s32* value) {
getFlag(key, value);
setFlag(key, *value + 1);
}
class Container {
public:
void init(sead::Heap* heap, u64 capacity, u64 itemSize) {