diff options
| author | Cole Barker <coleslawscout@gmail.com> | 2026-05-10 22:00:38 -0400 |
|---|---|---|
| committer | Cole Barker <coleslawscout@gmail.com> | 2026-05-10 22:00:38 -0400 |
| commit | ebfd1aaa0e2d002621d2dc6fe2a3d5230fad628c (patch) | |
| tree | c8d36f77b54eb30c0178eac88d498d00b2d06d27 /include | |
| parent | f637091a32c55307b99ff665cf5bac20294ddc46 (diff) | |
d_t_beetle
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/t/d_t_beetle.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/include/d/t/d_t_beetle.h b/include/d/t/d_t_beetle.h index fab00d6d..56fb505e 100644 --- a/include/d/t/d_t_beetle.h +++ b/include/d/t/d_t_beetle.h @@ -1,14 +1,51 @@ #ifndef D_T_BEETLE_H #define D_T_BEETLE_H +#include "d/a/obj/d_a_obj_boomerang.h" #include "d/t/d_tg.h" +#include "m/m_mtx.h" + +// This is a tag actor for controlling where the beetle can fly +// BtlTgC is leaves (beetle plays leaf animation as it passes through) class dTgBeetle_c : public dTg_c { public: dTgBeetle_c() {} virtual ~dTgBeetle_c() {} + virtual int create() override; + virtual int doDelete() override; + virtual int actorExecute() override; + u32 isWithinSphere(const mVec3_c ¶m) const; + u32 isWithinCylinder(const mVec3_c ¶m) const; + void updateBeetle(dAcBoomerang_c &boomerang); + virtual int draw() override; + + enum Variant_e { + BtlTg, + BtlTgA, // is this even used? + BtlTgB, // is this even used? + BtlTgC, // spherical leaf object + }; + + enum ZoneType_e { + LeafZone = 1, + BorderZone = 2, + UnknownZone = 3, + }; + + enum ZoneShape_e { + RectangularPrismShape, + CylinderShape, + SphereShape, + }; private: + /* 0xFC */ mMtx_c mMatrix1; + /* 0x12C*/ u8 mZoneType; // defines what this object does + /* 0x12D*/ u8 mZoneShape; // the shape created inside the object that it checks + /* 0x12E*/ u8 mUnknown; // unused + /* 0x12F*/ u8 mBeetleFlag; + /* 0x130*/ u8 mPastOnly; // object only exists in past state }; #endif |
