From ebfd1aaa0e2d002621d2dc6fe2a3d5230fad628c Mon Sep 17 00:00:00 2001 From: Cole Barker Date: Sun, 10 May 2026 22:00:38 -0400 Subject: d_t_beetle --- include/d/t/d_t_beetle.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'include') 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 -- cgit v1.2.3