diff options
| author | lepelog <25211966+lepelog@users.noreply.github.com> | 2025-12-02 17:44:48 +0100 |
|---|---|---|
| committer | lepelog <25211966+lepelog@users.noreply.github.com> | 2025-12-02 17:44:48 +0100 |
| commit | 08844fb5da445344613971b66e7fdc9ff55290ac (patch) | |
| tree | b7c7f69b697349fd267e67fa7a482bb16038cf3a /include/d | |
| parent | 4e39bcca32c51cc0fb109d1a6918828499da8309 (diff) | |
start with d_t_insect
Diffstat (limited to 'include/d')
| -rw-r--r-- | include/d/a/obj/d_a_obj_base.h | 7 | ||||
| -rw-r--r-- | include/d/t/d_t_insect.h | 28 |
2 files changed, 33 insertions, 2 deletions
diff --git a/include/d/a/obj/d_a_obj_base.h b/include/d/a/obj/d_a_obj_base.h index 1faa9589..b41b517a 100644 --- a/include/d/a/obj/d_a_obj_base.h +++ b/include/d/a/obj/d_a_obj_base.h @@ -220,7 +220,14 @@ public: fProfile::PROFILE_NAME_e actorId, u32 params1, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, u32 params2, u32 roomId ); + // These may not belong here + // fn_8002F190 + // TODO: return type is probably a superclass for all insects + static dAcBase_c* createInsectActor( + dAcBase_c* parent, + fProfile::PROFILE_NAME_e actorId, u32 params1, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, u32 params2, s32 roomId + ); static dAcBase_c *createActorUnkGroup3( fProfile::PROFILE_NAME_e actorId, u32 roomId, u32 params1, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, u32 params2 diff --git a/include/d/t/d_t_insect.h b/include/d/t/d_t_insect.h index 25287d12..cd3b4e0b 100644 --- a/include/d/t/d_t_insect.h +++ b/include/d/t/d_t_insect.h @@ -2,12 +2,13 @@ #define D_T_INSECT_H #include "d/a/d_a_base.h" +#include "m/m_vec.h" #include "s/s_State.hpp" #include "s/s_StateMgr.hpp" class dTgInsect_c : public dAcBase_c { public: - dTgInsect_c() : mStateMgr(*this, sStateID::null) {} + dTgInsect_c() : mStateMgr(*this, sStateID::null), unk26C(0), unk270(0), unk274(0) {} virtual ~dTgInsect_c() {} STATE_FUNC_DECLARE(dTgInsect_c, Wait); @@ -16,7 +17,30 @@ public: STATE_FUNC_DECLARE(dTgInsect_c, End); private: - /* 0x??? */ STATE_MGR_DECLARE(dTgInsect_c); + /* 0x0FC */ STATE_MGR_DECLARE(dTgInsect_c); + /* 0x138 */ dAcRef_c<dAcBase_c> mLinks[16]; + /* 0x1F8 */ u8 unk1F8[0x208-0x1F8]; + /* 0x208 */ s32 unk208[16]; + /* 0x248 */ s32 mInsectCount; + /* 0x24C */ u8 unk24C; + /* 0x24D */ u8 unk24D; + /* 0x24E */ u8 unk24E; + /* 0x24F */ u8 unk24F; + /* 0x250 */ u8 unk250[16]; + /* 0x260 */ u8 unk260[0x26C-0x260]; + /* 0x26C */ s32 unk26C; + /* 0x270 */ s32 unk270; + /* 0x274 */ s32 unk274; + + s32 getSpawnSubtype() const { + return (mParams >> 8 & 0xF); + } + s32 getSubtype() const { + return (mParams >> 4 & 0xF); + } + void spawnInsect(s32 index); + bool shouldSpawn(); + bool someGroundCheck(const mVec3_c &pos,s32 param_3); }; #endif |
