From 399cde127151506c9d40b3de9a42f67eaa93a572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Wed, 23 Dec 2020 20:48:36 +0100 Subject: [PATCH] ksys/act: Give more meaningful names to ai::ActionBase functions --- data/uking_functions.csv | 6 +++--- src/KingSystem/ActorSystem/actAiActionBase.h | 22 ++++++++++++++++---- src/KingSystem/ActorSystem/actAiAi.h | 4 ++-- src/KingSystem/ActorSystem/actAiRoot.h | 2 +- 4 files changed, 24 insertions(+), 10 deletions(-) diff --git a/data/uking_functions.csv b/data/uking_functions.csv index 146c7d7e..0697671c 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -1317,11 +1317,11 @@ 0x000000710004c1b4,AI_AIOrActionBase::ret0_2,8,_ZN4ksys3act2ai10ActionBase23hasUpdateForPreDeleteCbEv 0x000000710004c1bc,AI_AIOrActionBase::m9_null,4,_ZN4ksys3act2ai10ActionBase2m9Ev 0x000000710004c1c0,AI_AIOrActionBase::ret1,8,_ZN4ksys3act2ai10ActionBase8oneShot_Ev -0x000000710004c1c8,AI_AIOrActionBase::ret0_3,8,_ZN4ksys3act2ai10ActionBase3m16Ev -0x000000710004c1d0,AI_AIOrActionBase::ret0_4,8,_ZN4ksys3act2ai10ActionBase3m17Ev +0x000000710004c1c8,AI_AIOrActionBase::ret0_3,8,_ZN4ksys3act2ai10ActionBase14handleMessage_EPNS_3mes7MessageE +0x000000710004c1d0,AI_AIOrActionBase::ret0_4,8,_ZN4ksys3act2ai10ActionBase15handleMessage2_EPNS_3mes7MessageE 0x000000710004c1d8,AI_AIOrActionBase::ret1_0,8,_ZN4ksys3act2ai10ActionBase18updateForPreDeleteEv 0x000000710004c1e0,AI_AIOrActionBase::m19_null,4,_ZN4ksys3act2ai10ActionBase11onPreDeleteEv -0x000000710004c1e4,AI_AIOrActionBase::ret0_0,8,_ZN4ksys3act2ai10ActionBase3m22Ev +0x000000710004c1e4,AI_AIOrActionBase::ret0_0,8,_ZN4ksys3act2ai10ActionBase11changeChildERKN4sead14SafeStringBaseIcEE 0x000000710004c1ec,AI_AIOrActionBase::ret0_1,8,_ZNK4ksys3act2ai10ActionBase14getNumChildrenEv 0x000000710004c1f4,AI_AIOrActionBase::ret1_1,8,_ZN4ksys3act2ai10ActionBase12initChildrenERKNS_8AIDefSetEPN4sead4HeapE 0x000000710004c1fc,AI_AIOrActionBase::ret0_5,8,_ZNK4ksys3act2ai10ActionBase15getCurrentChildEv diff --git a/src/KingSystem/ActorSystem/actAiActionBase.h b/src/KingSystem/ActorSystem/actAiActionBase.h index a75280e4..f035b572 100644 --- a/src/KingSystem/ActorSystem/actAiActionBase.h +++ b/src/KingSystem/ActorSystem/actAiActionBase.h @@ -7,6 +7,10 @@ #include "KingSystem/ActorSystem/actAiParam.h" #include "KingSystem/Utils/Types.h" +namespace ksys::mes { +class Message; +} + namespace ksys::res { class AIProgram; class GParamList; @@ -61,7 +65,6 @@ public: bool oneShot(InlineParamPack* params); Action* getCurrentAction(); - Actor* getActor() const { return mActor; } s32 getDefinitionIdx() const { return mDefinitionIdx; } const char* getClassName() const; @@ -73,29 +76,40 @@ public: virtual bool hasPreDeleteCb() { return false; } virtual bool hasUpdateForPreDeleteCb() { return false; } + virtual void m9() {} + +protected: virtual bool oneShot_() { return true; } virtual bool init_(sead::Heap* heap) { return true; } virtual void enter_(InlineParamPack* params) {} virtual bool reenter_(ActionBase* other, bool x); virtual void leave_() {} virtual void loadParams_() {} - virtual bool m16() { return false; } - virtual bool m17() { return false; } + virtual bool handleMessage_(mes::Message* message) { return false; } + // TODO: rename + virtual bool handleMessage2_(mes::Message* message) { return false; } + +public: virtual bool updateForPreDelete() { return true; } virtual void onPreDelete() {} virtual void calc() {} virtual void getCurrentName(sead::BufferedSafeString* name, ActionBase* last) const; - virtual void* m22() { return nullptr; } + + virtual ActionBase* changeChild(const sead::SafeString& name) { return nullptr; } virtual void getParams(ParamNameTypePairs* pairs, bool update_use_count) const; virtual s32 getNumChildren() const { return 0; } virtual bool initChildren(const AIDefSet& set, sead::Heap* heap) { return true; } virtual ActionBase* getCurrentChild() const { return nullptr; } + virtual ActionType getType() const = 0; + virtual bool reenter(ActionBase* other, const sead::SafeString& context) { return reenter_(other, false); } + virtual void postLeave() {} + virtual ActionBase* getChild(s32 idx) const { return nullptr; } protected: diff --git a/src/KingSystem/ActorSystem/actAiAi.h b/src/KingSystem/ActorSystem/actAiAi.h index 75b1bc0c..b4d9e46e 100644 --- a/src/KingSystem/ActorSystem/actAiAi.h +++ b/src/KingSystem/ActorSystem/actAiAi.h @@ -14,7 +14,7 @@ public: bool isFlag4Set() const override; bool reenter_(ActionBase* other, bool x) override; void calc() override; - void* m22() override; + ActionBase* changeChild(const sead::SafeString& name) override; void getParams(ParamNameTypePairs* pairs, bool update_use_count) const override; s32 getNumChildren() const override { return mChildren.size(); } bool initChildren(const AIDefSet& set, sead::Heap* heap) override; @@ -23,7 +23,7 @@ public: bool reenter(ActionBase* other, const sead::SafeString& context) override; void postLeave() override { updateChildIdx(InvalidIdx); } ActionBase* getChild(s32 idx) const override { return mChildren[idx]; } - virtual const char* getPreviousName(); + virtual void getNames(sead::BufferedSafeString* out); bool gatherParamsFromChildren(sead::Heap* heap); diff --git a/src/KingSystem/ActorSystem/actAiRoot.h b/src/KingSystem/ActorSystem/actAiRoot.h index 64f942a7..6566d2b3 100644 --- a/src/KingSystem/ActorSystem/actAiRoot.h +++ b/src/KingSystem/ActorSystem/actAiRoot.h @@ -33,7 +33,7 @@ public: bool init_(sead::Heap* heap) override; void enter_(InlineParamPack* params) override; void leave_() override; - bool m16() override; + bool handleMessage_(mes::Message* message) override; void calc() override; const ParamPack& getMapUnitParams() const { return mMapUnitParams; }