start with d_t_insect

This commit is contained in:
lepelog
2025-12-02 17:44:48 +01:00
parent 4e39bcca32
commit 08844fb5da
5 changed files with 218 additions and 4 deletions
+1
View File
@@ -8,6 +8,7 @@ namespace cLib {
s16 targetAngleY(const mVec3_c &target, const mVec3_c &source);
s16 targetAngleX(const mVec3_c &target, const mVec3_c &source);
s16 offsetPos(mVec3_c &target, const mVec3_c &v1, s16 angle, const mVec3_c &v2);
void addCalcPos2(mVec3_c *src, const mVec3_c &target, f32 scale, f32 maxStep);
f32 addCalcPosXZ(mVec3_c *src, const mVec3_c &target, f32 scale, f32 maxStep, f32 minStep);
f32 addCalcPos(mVec3_c *src, const mVec3_c &target, f32 scale, f32 maxStep, f32 minStep);
+7
View File
@@ -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
+26 -2
View File
@@ -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