summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorCole Barker <coleslawscout@gmail.com>2026-05-10 22:00:38 -0400
committerCole Barker <coleslawscout@gmail.com>2026-05-10 22:00:38 -0400
commitebfd1aaa0e2d002621d2dc6fe2a3d5230fad628c (patch)
treec8d36f77b54eb30c0178eac88d498d00b2d06d27 /include
parentf637091a32c55307b99ff665cf5bac20294ddc46 (diff)
d_t_beetle
Diffstat (limited to 'include')
-rw-r--r--include/d/t/d_t_beetle.h37
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 &param) const;
+ u32 isWithinCylinder(const mVec3_c &param) 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