diff options
| author | robojumper <robojumper@gmail.com> | 2026-09-13 15:14:22 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-13 15:14:22 +0200 |
| commit | 83a06ced84253a3136210f4d43f1e50f1f1303b2 (patch) | |
| tree | 486b09ac0bb9da838dcb3b6cbbb1b1118118d00f /include/toBeSorted | |
| parent | 9481f3ab62d690bd6534cb0adf7e02db5579b333 (diff) | |
| parent | ae87d5a5b1f99fa73b3541f8d01dbdc51a99eb10 (diff) | |
Salvage mgr 99%
Diffstat (limited to 'include/toBeSorted')
| -rw-r--r-- | include/toBeSorted/salvage_mgr.h | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/include/toBeSorted/salvage_mgr.h b/include/toBeSorted/salvage_mgr.h index 3e268936..a30633ff 100644 --- a/include/toBeSorted/salvage_mgr.h +++ b/include/toBeSorted/salvage_mgr.h @@ -3,6 +3,8 @@ #include "common.h" #include "d/a/d_a_base.h" +#include "d/a/d_a_salbage_obj.h" +#include "d/a/npc/d_a_npc_salbage_robot.h" #include "m/m_mtx.h" class dAcSalbageObj_c; @@ -15,8 +17,11 @@ public: // return sInstance; // } - bool checkDeliveredStoryflag(const s32& id) const; - bool startedQuestForSalvageObj(const dAcSalbageObj_c *obj) const; + // TODO a fun theory is that all those `const s32 &`s are just `const SalvageObj_e &`s. + + bool checkDeliveredStoryflag(const s32 &id) const; + bool checkPickupStoryflag(const s32 &id) const; + bool hasStartedQuestForSalvageObj(const dAcSalbageObj_c *obj) const; bool hasDowsingForSalvageObj(const dAcSalbageObj_c *obj) const; mMtx_c getCarryRotMtx(const s32 &id) const; mMtx_c getCarryRotMtx2(const s32 &id) const { @@ -26,13 +31,46 @@ public: void deleteObjAndSlb(); static dSalvageMgr_c *sInstance; + static void create(); + static void remove(); + + void init(); + void execute(); + + void setPickupIndex(const s32 &id); + void unsetPickupStoryflag(const s32 &id); + void handlePickupIndex(); + void setupDeliverToTarget(); + bool checkIsOnDeliveryStage() const; + bool checkIsOnDeliveryStage2() const; + u16 getDeliverToActorId(s32 id); + dAcObjBase_c *findDeliveryTarget(); + bool hasStartedQuestForId(const s32 &id) const; + bool hasDowsingForId(const s32 &id) const; + + void noop(); + + bool triggerDeliveryEvent(); + + u16 getTalkEntryPoint1ForPickup(dAcObjBase_c *obj); + u16 getTalkEntryPoint2ForPickup(dAcObjBase_c *obj); + u16 getTalkEntryPoint3ForPickup(dAcObjBase_c *obj); bool hasObjAndSlb() const { return mObjRef.isLinked() && mSlbRef.isLinked(); } + bool checkPickupMask(const s32 &id) const { + return (mCurrentPickupMaskBit & (1 << id)) != 0; + } + /* 0x00 */ dAcRef_c<dAcSalbageObj_c> mObjRef; /* 0x0C */ dAcRef_c<dAcNpcSlb_c> mSlbRef; + /* 0x18 */ dAcRef_c<dAcObjBase_c> mDeliverToRef; + /* 0x24 */ s32 mCurrentPickupIdx; + /* 0x28 */ s32 mCurrentPickupMaskBit; + /* 0x2C */ s16 field_0x2C; + private: }; |
