summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorrobojumper <robojumper@gmail.com>2026-05-12 09:54:02 +0200
committerGitHub <noreply@github.com>2026-05-12 09:54:02 +0200
commit388abef134a6c7156f1309d6453ac2eb260642e1 (patch)
treeb691a600f863bfdb9aacd6c656cc19b91aac2631 /include
parentf7b4c029fd5176e817e3de7209727480c445a3d2 (diff)
parent65b4f57fae58bbad95a4f77b3057665e98f1c876 (diff)
Merge pull request #306 from coleslaw456/main
beetle tag actor
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