diff options
| author | Léo Lam <leo@leolam.fr> | 2022-06-20 22:17:51 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-20 22:17:51 +0200 |
| commit | 83ae6b5d522e669c4f543223e4e4921a252bcd06 (patch) | |
| tree | 7b371b7ea2b0049d87e4eb472c560d1b37c055c4 | |
| parent | e1c1cfe79e025e108715923ec01af06c27ddb067 (diff) | |
| parent | 4424bcfb510fe23c1199d11cf6456658ee7b78db (diff) | |
Merge pull request #94 from ConorBobbleHat/master
Switch ProductReporter::incrementSceneAndRomWorkTime to using lambdas
| -rw-r--r-- | data/uking_functions.csv | 2 | ||||
| -rw-r--r-- | src/KingSystem/System/ProductReporter.cpp | 14 | ||||
| -rw-r--r-- | src/KingSystem/System/ProductReporter.h | 13 |
3 files changed, 14 insertions, 15 deletions
diff --git a/data/uking_functions.csv b/data/uking_functions.csv index 92167986..c1a519f9 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -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 diff --git a/src/KingSystem/System/ProductReporter.cpp b/src/KingSystem/System/ProductReporter.cpp index c6589b8b..24ddb8c8 100644 --- a/src/KingSystem/System/ProductReporter.cpp +++ b/src/KingSystem/System/ProductReporter.cpp @@ -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; diff --git a/src/KingSystem/System/ProductReporter.h b/src/KingSystem/System/ProductReporter.h index 3bd27c3a..1ee42f6d 100644 --- a/src/KingSystem/System/ProductReporter.h +++ b/src/KingSystem/System/ProductReporter.h @@ -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) { |
