summaryrefslogtreecommitdiff
path: root/include/d
diff options
context:
space:
mode:
Diffstat (limited to 'include/d')
-rw-r--r--include/d/a/obj/d_a_obj_base.h4
-rw-r--r--include/d/tg/d_t_sound_area.h33
2 files changed, 35 insertions, 2 deletions
diff --git a/include/d/a/obj/d_a_obj_base.h b/include/d/a/obj/d_a_obj_base.h
index ed6d5abd..1f074499 100644
--- a/include/d/a/obj/d_a_obj_base.h
+++ b/include/d/a/obj/d_a_obj_base.h
@@ -81,9 +81,9 @@ public:
/* 8002f190 */ void createChildAttached2(fProfile::PROFILE_NAME_e actorId, u32 params1, mVec3_c *pos, mAng3_c *rot,
mVec3_c *scale, u32 params2, u32 roomId);
// These may not belong here
- /* 8002f1c0 */ static dAcBase_c createActorUnkGroup3(fProfile::PROFILE_NAME_e actorId, u32 roomId, u32 params1,
+ /* 8002f1c0 */ static dAcBase_c *createActorUnkGroup3(fProfile::PROFILE_NAME_e actorId, u32 roomId, u32 params1,
mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, u32 params2);
- /* 8002f260 */ static dAcBase_c createActorUnkGroup3(char *name, u32 roomId, u32 params1, mVec3_c *pos,
+ /* 8002f260 */ static dAcBase_c *createActorUnkGroup3(char *name, u32 roomId, u32 params1, mVec3_c *pos,
mAng3_c *rot, mVec3_c *scale, u32 params2, u16 id, u8 viewclipId);
};
diff --git a/include/d/tg/d_t_sound_area.h b/include/d/tg/d_t_sound_area.h
new file mode 100644
index 00000000..949249c7
--- /dev/null
+++ b/include/d/tg/d_t_sound_area.h
@@ -0,0 +1,33 @@
+#ifndef D_T_SOUND_AREA_H
+#define D_T_SOUND_AREA_H
+
+#include <d/tg/d_tg.h>
+#include <m/m_vec.h>
+#include <m/m_mtx.h>
+#include <toBeSorted/actor_on_rail.h>
+
+class dTgSndAr_c : public dTg_c {
+public:
+ dTgSndAr_c() {}
+ virtual ~dTgSndAr_c() {}
+ virtual int draw() override;
+ virtual int actorExecute() override;
+ virtual int doDelete() override;
+ virtual int create() override;
+
+private:
+ int getTypeFromParams() {
+ return params >> 0x1C;
+ }
+ bool checkPosInArea(mVec3_c &pos);
+
+ bool checkAlg0(mVec3_c &pos);
+ bool checkAlg1(mVec3_c &pos);
+ bool checkAlg2(mVec3_c &pos);
+ bool checkAlg3(mVec3_c &pos);
+
+ mMtx_c mtx;
+ ActorOnRail mRail;
+};
+
+#endif