diff --git a/data/status_action.yml b/data/status_action.yml index 152913c7..af4510be 100644 --- a/data/status_action.yml +++ b/data/status_action.yml @@ -3145,7 +3145,7 @@ action::Search: action::SellPictureBookUIDemo: status: pending action::SendMessage: - status: pending + status: done action::SendMessage4YunBoCannon: status: pending action::SendMessageBroadCast: diff --git a/data/uking_functions.csv b/data/uking_functions.csv index c9ea1f30..cf5ee891 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -15499,13 +15499,13 @@ 0x00000071002430ec,_ZN5uking6action11SendMessageD1Ev,20,_ZN5uking6action11SendMessageD1Ev 0x0000007100243100,_ZN5uking6action11SendMessageD0Ev,52,_ZN5uking6action11SendMessageD0Ev 0x0000007100243134,_ZN5uking6action11SendMessage5init_EPN4sead4HeapE,8,_ZN5uking6action11SendMessage5init_EPN4sead4HeapE -0x000000710024313c,_ZN5uking6action11SendMessage6enter_EPN4ksys3act2ai15InlineParamPackE,72, +0x000000710024313c,_ZN5uking6action11SendMessage6enter_EPN4ksys3act2ai15InlineParamPackE,72,_ZN5uking6action11SendMessage6enter_EPN4ksys3act2ai15InlineParamPackE 0x0000007100243184,_ZN5uking6action11SendMessage5calc_Ev,4,_ZN5uking6action11SendMessage5calc_Ev -0x0000007100243188,_ZN5uking6action11SendMessage6leave_Ev,32, +0x0000007100243188,_ZN5uking6action11SendMessage6leave_Ev,32,_ZN5uking6action11SendMessage6leave_Ev 0x00000071002431a8,_ZN5uking6action11SendMessage11loadParams_Ev,64,_ZN5uking6action11SendMessage11loadParams_Ev 0x00000071002431e8,_ZNK5uking6action11SendMessage27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE,288,_ZNK5uking6action11SendMessage27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE 0x0000007100243308,_ZNK5uking6action11SendMessage18getRuntimeTypeInfoEv,92,_ZNK5uking6action11SendMessage18getRuntimeTypeInfoEv -0x0000007100243364,uking::action::SendMessage::m32,4, +0x0000007100243364,uking::action::SendMessage::m32,4,_ZN5uking6action11SendMessage13doSendMessageEv 0x0000007100243368,AI_Action_SendMessage4YunBoCannon::ctor,52,_ZN5uking6action23SendMessage4YunBoCannonC1ERKN4ksys3act2ai10ActionBase7InitArgE 0x000000710024339c,_ZN5uking6action23SendMessage4YunBoCannonD1Ev,4,_ZN5uking6action23SendMessage4YunBoCannonD1Ev 0x00000071002433a0,_ZN5uking6action23SendMessage4YunBoCannonD0Ev,36,_ZN5uking6action23SendMessage4YunBoCannonD0Ev diff --git a/src/Game/AI/Action/actionSendMessage.cpp b/src/Game/AI/Action/actionSendMessage.cpp index 9495f451..84f6ffb0 100644 --- a/src/Game/AI/Action/actionSendMessage.cpp +++ b/src/Game/AI/Action/actionSendMessage.cpp @@ -12,10 +12,17 @@ bool SendMessage::init_(sead::Heap* heap) { void SendMessage::enter_(ksys::act::ai::InlineParamPack* params) { ksys::act::ai::Action::enter_(params); + if (*mSendTiming_s == 0) + doSendMessage(); + + mFlags.set(Flag::_4); + setFinished(); } void SendMessage::leave_() { ksys::act::ai::Action::leave_(); + if (*mSendTiming_s == 1) + doSendMessage(); } void SendMessage::loadParams_() { diff --git a/src/Game/AI/Action/actionSendMessage.h b/src/Game/AI/Action/actionSendMessage.h index 9a9bb4a4..454997c9 100644 --- a/src/Game/AI/Action/actionSendMessage.h +++ b/src/Game/AI/Action/actionSendMessage.h @@ -17,6 +17,7 @@ public: protected: void calc_() override; + virtual void doSendMessage() {} // static_param at offset 0x20 const int* mSendTiming_s{};