diff --git a/CMakeLists.txt b/CMakeLists.txt index b1a20e67..fbc8550c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,6 +13,8 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) add_executable(uking + src/Game/Action/actionSetInstEventFlag.cpp + src/Game/Action/actionSetInstEventFlag.h src/Game/Action/actionSetLinkTagBasic.cpp src/Game/Action/actionSetLinkTagBasic.h @@ -31,6 +33,8 @@ add_executable(uking src/KingSystem/ActorSystem/actAiParam.h src/KingSystem/ActorSystem/actBaseProc.cpp src/KingSystem/ActorSystem/actBaseProc.h + src/KingSystem/ActorSystem/actBaseProcHandle.cpp + src/KingSystem/ActorSystem/actBaseProcHandle.h src/KingSystem/ActorSystem/actBaseProcJob.cpp src/KingSystem/ActorSystem/actBaseProcJob.h src/KingSystem/ActorSystem/actBaseProcJobHandler.cpp diff --git a/data/uking_functions.csv b/data/uking_functions.csv index 22875bca..eb1ae88f 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -15405,9 +15405,9 @@ 0x0000007100249614,AI_Action_SetInstantTemperture::loadParams,4, 0x0000007100249618,AI_Action_SetInstantTemperture::rtti1,288, 0x0000007100249738,AI_Action_SetInstantTemperture::rtti2,92, -0x0000007100249794,AI_Action_SetInstEventFlag::ctor,48, -0x00000071002497c4,AI_Action_SetInstEventFlag::dtor,20, -0x00000071002497d8,AI_Action_SetInstEventFlag::dtorDelete,52, +0x0000007100249794,AI_Action_SetInstEventFlag::ctor,48,_ZN5uking6action22SetInstEventFlagActionC1ERKN4ksys3act2ai8ClassArgE +0x00000071002497c4,AI_Action_SetInstEventFlag::dtor,20,_ZN5uking6action22SetInstEventFlagActionD1Ev +0x00000071002497d8,AI_Action_SetInstEventFlag::dtorDelete,52,_ZN5uking6action22SetInstEventFlagActionD0Ev 0x000000710024980c,AI_Action_SetInstEventFlag::init,8, 0x0000007100249814,AI_Action_SetInstEventFlag::oneShot,28, 0x0000007100249830,AI_Action_SetInstEventFlag::loadParams,4, diff --git a/src/Game/Action/actionSetInstEventFlag.cpp b/src/Game/Action/actionSetInstEventFlag.cpp new file mode 100644 index 00000000..bc179765 --- /dev/null +++ b/src/Game/Action/actionSetInstEventFlag.cpp @@ -0,0 +1,11 @@ +#include "Game/Action/actionSetInstEventFlag.h" +#include "KingSystem/ActorSystem/actActor.h" + +namespace uking::action { + +SetInstEventFlagAction::SetInstEventFlagAction(const ksys::act::ai::ClassArg& arg) + : ksys::act::ai::Action(arg) {} + +SetInstEventFlagAction::~SetInstEventFlagAction() = default; + +} // namespace uking::action \ No newline at end of file diff --git a/src/Game/Action/actionSetInstEventFlag.h b/src/Game/Action/actionSetInstEventFlag.h new file mode 100644 index 00000000..e37778d3 --- /dev/null +++ b/src/Game/Action/actionSetInstEventFlag.h @@ -0,0 +1,19 @@ +#pragma once + +#include "KingSystem/ActorSystem/actAiAction.h" +#include "KingSystem/ActorSystem/actAiParam.h" +#include "KingSystem/Utils/Types.h" + +namespace uking::action { + +class SetInstEventFlagAction : public ksys::act::ai::Action { +public: + SetInstEventFlagAction(const ksys::act::ai::ClassArg& arg); + ~SetInstEventFlagAction() override; + + void oneShot() override; + +}; +KSYS_CHECK_SIZE_NX150(SetInstEventFlagAction, 0x20); + +} // namespace uking::action \ No newline at end of file diff --git a/src/KingSystem/ActorSystem/actAiAction.h b/src/KingSystem/ActorSystem/actAiAction.h index be96de6d..ba0bf61d 100644 --- a/src/KingSystem/ActorSystem/actAiAction.h +++ b/src/KingSystem/ActorSystem/actAiAction.h @@ -11,6 +11,8 @@ public: virtual void enter() {} virtual void loadParams() {} + + virtual void oneShot() {} }; KSYS_CHECK_SIZE_NX150(Action, 0x20);