summaryrefslogtreecommitdiff
path: root/src/KingSystem/ActorSystem/actBaseProcJobHandler.h
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2026-10-13 10:39:03 +0200
committerLéo Lam <leo@leolam.fr>2026-10-15 01:59:46 +0200
commit8eca2642b01591ccbfbee98e66181d8ad5982cd3 (patch)
treedeede94dd7b37cea5ccc651b22dd7cc58a7b77c5 /src/KingSystem/ActorSystem/actBaseProcJobHandler.h
parente78c02499d0f108ae9c00158198289764c5980fe (diff)
ksys, uking: move four definitions to match link order
calc_ goes before leave_ in ForceSetCameraPos and InWaterSelForkASPlay, and RailRoute's dtor goes after getCheckPointName (an unnamed row there is likely its D0). BaseProcJobHandler's ctor is linked right before BaseProc's ctor, so it moves into actBaseProc.cpp, and the class moves into actBaseProc.h so that its declaration stays with its definition. (AI assisted using Claude Opus 5.5)
Diffstat (limited to 'src/KingSystem/ActorSystem/actBaseProcJobHandler.h')
-rw-r--r--src/KingSystem/ActorSystem/actBaseProcJobHandler.h51
1 files changed, 0 insertions, 51 deletions
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