diff options
| author | robojumper <robojumper@gmail.com> | 2026-05-12 09:54:02 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-12 09:54:02 +0200 |
| commit | 388abef134a6c7156f1309d6453ac2eb260642e1 (patch) | |
| tree | b691a600f863bfdb9aacd6c656cc19b91aac2631 /include | |
| parent | f7b4c029fd5176e817e3de7209727480c445a3d2 (diff) | |
| parent | 65b4f57fae58bbad95a4f77b3057665e98f1c876 (diff) | |
Merge pull request #306 from coleslaw456/main
beetle tag actor
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 |
