From ad95be2d0802bb9789db8cf47be50b2fcb7ee794 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Fri, 22 Jan 2021 16:33:50 +0100 Subject: [PATCH] ksys/act: Fix missing parameter for InfoData::getStringByKey Callers in actInfoData.cpp still matched because LLVM detected that the last argument is unused and optimized it out (or inlined the function entirely) --- data/uking_functions.csv | 2 +- src/KingSystem/ActorSystem/actInfoData.cpp | 2 +- src/KingSystem/ActorSystem/actInfoData.h | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/data/uking_functions.csv b/data/uking_functions.csv index 65731573..d1e50a60 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -73367,7 +73367,7 @@ 0x0000007100d2e950,ActorInfoData::isNotMergedGrudgeOrArmor50OrWeaponSwordDemoCheck,348,_ZNK4ksys3act8InfoData10logFailureERKN4sead14SafeStringBaseIcEE 0x0000007100d2eaac,ActorInfoData::x,1484,_ZNK4ksys3act8InfoData13getRecipeInfoEPKcRNS1_10RecipeInfoE 0x0000007100d2f078,act::getActorInfoInt,56,_ZN4ksys3act8InfoData11getIntByKeyERKN2al9ByamlIterEPKcib -0x0000007100d2f0b0,bymlGetString,84,_ZN4ksys3act8InfoData14getStringByKeyERKN2al9ByamlIterEPKcRKN4sead14SafeStringBaseIcEE +0x0000007100d2f0b0,bymlGetString,84,_ZN4ksys3act8InfoData14getStringByKeyERKN2al9ByamlIterEPKcRKN4sead14SafeStringBaseIcEEb 0x0000007100d2f104,sub_7100D2F104,608,_ZNK4ksys3act8InfoData11getLocatorsEPKcRNS1_8LocatorsE 0x0000007100d2f364,sub_7100D2F364,348,_ZNK4ksys3act8InfoData12getHomeAreasEPKcRNS1_9HomeAreasE 0x0000007100d2f4c0,ActorInfoData::x_1,560,_ZNK4ksys3act8InfoData24getInvalidLifeConditionsEPKcRNS1_21InvalidLifeConditionsE diff --git a/src/KingSystem/ActorSystem/actInfoData.cpp b/src/KingSystem/ActorSystem/actInfoData.cpp index c23a94de..028cb26e 100644 --- a/src/KingSystem/ActorSystem/actInfoData.cpp +++ b/src/KingSystem/ActorSystem/actInfoData.cpp @@ -210,7 +210,7 @@ s32 InfoData::getIntByKey(const al::ByamlIter& iter, const char* key, s32 defaul } const char* InfoData::getStringByKey(const al::ByamlIter& iter, const char* key, - const sead::SafeString& default_) { + const sead::SafeString& default_, bool) { const char* value; return iter.tryGetStringByKey(&value, key) ? value : default_.cstr(); } diff --git a/src/KingSystem/ActorSystem/actInfoData.h b/src/KingSystem/ActorSystem/actInfoData.h index 7295ad10..bdaf24eb 100644 --- a/src/KingSystem/ActorSystem/actInfoData.h +++ b/src/KingSystem/ActorSystem/actInfoData.h @@ -142,7 +142,8 @@ public: bool x = true); static const char* getStringByKey(const al::ByamlIter& iter, const char* key, - const sead::SafeString& default_ = sead::SafeString::cEmptyString); + const sead::SafeString& default_ = sead::SafeString::cEmptyString, + bool x = true); private: struct DebugEntry {