diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Game/Actor/Action/actionForceSetCameraPos.cpp | 8 | ||||
| -rw-r--r-- | src/Game/Actor/Action/actionInWaterSelForkASPlay.cpp | 8 | ||||
| -rw-r--r-- | src/KingSystem/ActorSystem/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/KingSystem/ActorSystem/actActor.h | 1 | ||||
| -rw-r--r-- | src/KingSystem/ActorSystem/actBaseProc.cpp | 3 | ||||
| -rw-r--r-- | src/KingSystem/ActorSystem/actBaseProc.h | 43 | ||||
| -rw-r--r-- | src/KingSystem/ActorSystem/actBaseProcJobHandler.cpp | 8 | ||||
| -rw-r--r-- | src/KingSystem/ActorSystem/actBaseProcJobHandler.h | 51 | ||||
| -rw-r--r-- | src/KingSystem/ActorSystem/actBaseProcMgr.cpp | 2 | ||||
| -rw-r--r-- | src/KingSystem/Map/mapRail.cpp | 4 |
10 files changed, 56 insertions, 74 deletions
diff --git a/src/Game/Actor/Action/actionForceSetCameraPos.cpp b/src/Game/Actor/Action/actionForceSetCameraPos.cpp index ade0b7de..61e5b345 100644 --- a/src/Game/Actor/Action/actionForceSetCameraPos.cpp +++ b/src/Game/Actor/Action/actionForceSetCameraPos.cpp @@ -14,14 +14,14 @@ void ForceSetCameraPos::enter_(ksys::act::ai::InlineParamPack* params) { ksys::act::ai::Action::enter_(params); } +void ForceSetCameraPos::calc_() { + ksys::act::ai::Action::calc_(); +} + void ForceSetCameraPos::leave_() { ksys::act::ai::Action::leave_(); } void ForceSetCameraPos::loadParams_() {} -void ForceSetCameraPos::calc_() { - ksys::act::ai::Action::calc_(); -} - } // namespace uking::action diff --git a/src/Game/Actor/Action/actionInWaterSelForkASPlay.cpp b/src/Game/Actor/Action/actionInWaterSelForkASPlay.cpp index 7296f05c..791ff4f1 100644 --- a/src/Game/Actor/Action/actionInWaterSelForkASPlay.cpp +++ b/src/Game/Actor/Action/actionInWaterSelForkASPlay.cpp @@ -14,6 +14,10 @@ void InWaterSelForkASPlay::enter_(ksys::act::ai::InlineParamPack* params) { ksys::act::ai::Action::enter_(params); } +void InWaterSelForkASPlay::calc_() { + ksys::act::ai::Action::calc_(); +} + void InWaterSelForkASPlay::leave_() { ksys::act::ai::Action::leave_(); } @@ -28,8 +32,4 @@ void InWaterSelForkASPlay::loadParams_() { getStaticParam(&mASName_s, "ASName"); } -void InWaterSelForkASPlay::calc_() { - ksys::act::ai::Action::calc_(); -} - } // namespace uking::action diff --git a/src/KingSystem/ActorSystem/CMakeLists.txt b/src/KingSystem/ActorSystem/CMakeLists.txt index e0b70bfd..71080f19 100644 --- a/src/KingSystem/ActorSystem/CMakeLists.txt +++ b/src/KingSystem/ActorSystem/CMakeLists.txt @@ -77,8 +77,6 @@ target_sources(uking PRIVATE actBaseProcInitializer.h actBaseProcJob.cpp actBaseProcJob.h - actBaseProcJobHandler.cpp - actBaseProcJobHandler.h actBaseProcJobQue.cpp actBaseProcJobQue.h actBaseProcLink.cpp diff --git a/src/KingSystem/ActorSystem/actActor.h b/src/KingSystem/ActorSystem/actActor.h index 2749d091..dcd0515d 100644 --- a/src/KingSystem/ActorSystem/actActor.h +++ b/src/KingSystem/ActorSystem/actActor.h @@ -11,7 +11,6 @@ #include <xlink2/xlink2Handle.h> #include "KingSystem/ActorSystem/actActorEditorNode.h" #include "KingSystem/ActorSystem/actBaseProc.h" -#include "KingSystem/ActorSystem/actBaseProcJobHandler.h" #include "KingSystem/ActorSystem/actBaseProcLink.h" #include "KingSystem/ActorSystem/actPhysicsConstraints.h" #include "KingSystem/ActorSystem/actPhysicsUserTag.h" diff --git a/src/KingSystem/ActorSystem/actBaseProc.cpp b/src/KingSystem/ActorSystem/actBaseProc.cpp index cce31c21..97b1b5b1 100644 --- a/src/KingSystem/ActorSystem/actBaseProc.cpp +++ b/src/KingSystem/ActorSystem/actBaseProc.cpp @@ -3,7 +3,6 @@ #include <time/seadTickSpan.h> #include "KingSystem/ActorSystem/actBaseProcAccessor.h" #include "KingSystem/ActorSystem/actBaseProcHandle.h" -#include "KingSystem/ActorSystem/actBaseProcJobHandler.h" #include "KingSystem/ActorSystem/actBaseProcLink.h" #include "KingSystem/ActorSystem/actBaseProcMgr.h" #include "KingSystem/Terrain/teraSystem.h" @@ -13,6 +12,8 @@ namespace ksys::act { static util::InitTimeInfo sInfo; +BaseProcJobHandler::BaseProcJobHandler(BaseProc* proc) : mLink(proc, proc->getPriority()) {} + BaseProc::BaseProc(const CreateArg& arg) : mName(arg.actor_name), mPriority(arg.class_info->priority) { BaseProcMgr* mgr = BaseProcMgr::instance(); diff --git a/src/KingSystem/ActorSystem/actBaseProc.h b/src/KingSystem/ActorSystem/actBaseProc.h index 48c99176..7e76335f 100644 --- a/src/KingSystem/ActorSystem/actBaseProc.h +++ b/src/KingSystem/ActorSystem/actBaseProc.h @@ -5,6 +5,7 @@ #include <container/seadSafeArray.h> #include <math/seadMathCalcCommon.h> #include <prim/seadBitFlag.h> +#include <prim/seadDelegate.h> #include <prim/seadRuntimeTypeInfo.h> #include <prim/seadSafeString.h> #include <prim/seadTypedBitFlag.h> @@ -332,4 +333,46 @@ private: }; KSYS_CHECK_SIZE_NX150(BaseProc, 0x180); +class BaseProcJobHandler { +public: + explicit BaseProcJobHandler(BaseProc* proc); + virtual ~BaseProcJobHandler() = default; + virtual void invoke() = 0; + virtual void invokeSpecial() {} + + BaseProcJobLink& getLink() { return mLink; } + const BaseProcJobLink& getLink() const { return mLink; } + +protected: + BaseProcJobLink mLink; +}; +KSYS_CHECK_SIZE_NX150(BaseProcJobHandler, 0x30); + +/// For binding actor member functions. +template <typename T> +class BaseProcJobHandlerT : public BaseProcJobHandler { +public: + BaseProcJobHandlerT(T* proc, void (T::*fn)()) : BaseProcJobHandler(proc), mDelegate(proc, fn) {} + + void invoke() override { mDelegate.invoke(); } + +private: + sead::Delegate<T> mDelegate; +}; + +/// For binding two actor member functions. +template <typename T> +class BaseProcJobHandlerDualT : public BaseProcJobHandler { +public: + BaseProcJobHandlerDualT(T* proc, void (T::*fn)(), void (T::*fn_special)()) + : BaseProcJobHandler(proc), mDelegate(proc, fn), mDelegateSpecial(proc, fn_special) {} + + void invoke() override { mDelegate.invoke(); } + void invokeSpecial() override { mDelegateSpecial.invoke(); } + +private: + sead::Delegate<T> mDelegate; + sead::Delegate<T> mDelegateSpecial; +}; + } // namespace ksys::act diff --git a/src/KingSystem/ActorSystem/actBaseProcJobHandler.cpp b/src/KingSystem/ActorSystem/actBaseProcJobHandler.cpp deleted file mode 100644 index b74fcb1f..00000000 --- a/src/KingSystem/ActorSystem/actBaseProcJobHandler.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include "KingSystem/ActorSystem/actBaseProcJobHandler.h" -#include "KingSystem/ActorSystem/actBaseProc.h" - -namespace ksys::act { - -BaseProcJobHandler::BaseProcJobHandler(BaseProc* proc) : mLink(proc, proc->getPriority()) {} - -} // namespace ksys::act diff --git a/src/KingSystem/ActorSystem/actBaseProcJobHandler.h b/src/KingSystem/ActorSystem/actBaseProcJobHandler.h deleted file mode 100644 index 4ba4c1d4..00000000 --- a/src/KingSystem/ActorSystem/actBaseProcJobHandler.h +++ /dev/null @@ -1,51 +0,0 @@ -#pragma once - -#include <prim/seadDelegate.h> -#include "KingSystem/ActorSystem/actBaseProcJob.h" -#include "KingSystem/Utils/Types.h" - -namespace ksys::act { - -class BaseProcJobHandler { -public: - explicit BaseProcJobHandler(BaseProc* proc); - virtual ~BaseProcJobHandler() = default; - virtual void invoke() = 0; - virtual void invokeSpecial() {} - - BaseProcJobLink& getLink() { return mLink; } - const BaseProcJobLink& getLink() const { return mLink; } - -protected: - BaseProcJobLink mLink; -}; -KSYS_CHECK_SIZE_NX150(BaseProcJobHandler, 0x30); - -/// For binding actor member functions. -template <typename T> -class BaseProcJobHandlerT : public BaseProcJobHandler { -public: - BaseProcJobHandlerT(T* proc, void (T::*fn)()) : BaseProcJobHandler(proc), mDelegate(proc, fn) {} - - void invoke() override { mDelegate.invoke(); } - -private: - sead::Delegate<T> mDelegate; -}; - -/// For binding two actor member functions. -template <typename T> -class BaseProcJobHandlerDualT : public BaseProcJobHandler { -public: - BaseProcJobHandlerDualT(T* proc, void (T::*fn)(), void (T::*fn_special)()) - : BaseProcJobHandler(proc), mDelegate(proc, fn), mDelegateSpecial(proc, fn_special) {} - - void invoke() override { mDelegate.invoke(); } - void invokeSpecial() override { mDelegateSpecial.invoke(); } - -private: - sead::Delegate<T> mDelegate; - sead::Delegate<T> mDelegateSpecial; -}; - -} // namespace ksys::act diff --git a/src/KingSystem/ActorSystem/actBaseProcMgr.cpp b/src/KingSystem/ActorSystem/actBaseProcMgr.cpp index 7d9b3120..73502ab7 100644 --- a/src/KingSystem/ActorSystem/actBaseProcMgr.cpp +++ b/src/KingSystem/ActorSystem/actBaseProcMgr.cpp @@ -3,10 +3,10 @@ #include <prim/seadScopedLock.h> #include <thread/seadThread.h> #include "KingSystem/ActorSystem/actActorSystem.h" +#include "KingSystem/ActorSystem/actBaseProc.h" #include "KingSystem/ActorSystem/actBaseProcDeleter.h" #include "KingSystem/ActorSystem/actBaseProcHeapMgr.h" #include "KingSystem/ActorSystem/actBaseProcInitializer.h" -#include "KingSystem/ActorSystem/actBaseProcJobHandler.h" #include "KingSystem/ActorSystem/actBaseProcJobQue.h" #include "KingSystem/ActorSystem/actBaseProcLink.h" diff --git a/src/KingSystem/Map/mapRail.cpp b/src/KingSystem/Map/mapRail.cpp index 2ddf960c..b279c3c1 100644 --- a/src/KingSystem/Map/mapRail.cpp +++ b/src/KingSystem/Map/mapRail.cpp @@ -226,8 +226,6 @@ RailRoute::RailRoute() { mFlags.set(Flag::Walkable); } -RailRoute::~RailRoute() = default; - bool RailRoute::isRenderEnabled() const { return mFlags.isOn(Flag::RenderEnabled); } @@ -252,6 +250,8 @@ const char* RailRoute::getCheckPointName(s32 idx) const { return static_cast<RailRoutePoint*>(mRailPoints[idx])->mCheckPointName; } +RailRoute::~RailRoute() = default; + bool RailRoute::parse(MubinIter* iter) { int success = Rail::parse(iter); |
