summaryrefslogtreecommitdiff
path: root/include/d/actor/d_a_obj_key.h
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2025-08-13 12:47:18 -0700
committerGitHub <noreply@github.com>2025-08-13 22:47:18 +0300
commitc724824c5c74df5a02f65fee82aa67219b96e5b2 (patch)
tree9cdf0f0fc58c3c08c0d38e56de3d6da1317a0cef /include/d/actor/d_a_obj_key.h
parent3de1f91acb6737ae4d9da49b924f54300cdcc0e6 (diff)
d_a_obj_key / d_a_obj_keyhole / d_a_obj_smallkey (#2584)
* obj_key equivalent * obj_keyhole done * obj_smallkey done * use macro
Diffstat (limited to 'include/d/actor/d_a_obj_key.h')
-rw-r--r--include/d/actor/d_a_obj_key.h41
1 files changed, 37 insertions, 4 deletions
diff --git a/include/d/actor/d_a_obj_key.h b/include/d/actor/d_a_obj_key.h
index f518b458bf..78b5f9e985 100644
--- a/include/d/actor/d_a_obj_key.h
+++ b/include/d/actor/d_a_obj_key.h
@@ -2,6 +2,17 @@
#define D_A_OBJ_KEY_H
#include "f_op/f_op_actor_mng.h"
+#include "d/d_bg_s_acch.h"
+#include "d/d_cc_d.h"
+
+struct obj_key_s {
+ /* 0x00 */ J3DModel* model[3];
+ /* 0x0C */ cXyz pos[3];
+ /* 0x30 */ cXyz field_0x30[3];
+ /* 0x54 */ csXyz angle[3];
+ /* 0x68 */ f32 ground_y[3];
+ /* 0x74 */ fpc_ProcID key_actor_id;
+};
/**
* @ingroup actors-objects
@@ -11,9 +22,27 @@
* @details
*
*/
-class obj_key_class : public fopAc_ac_c {
-private:
- /* 0x568 */ u8 field_0x568[0x9b8 - 0x568];
+class obj_key_class {
+public:
+ /* 0x000 */ fopAc_ac_c actor;
+ /* 0x568 */ request_of_phase_process_class phase;
+ /* 0x570 */ obj_key_s key_s;
+ /* 0x5E8 */ Z2SoundObjSimple sound;
+ /* 0x608 */ u8 field_0x608[0x60A - 0x608];
+ /* 0x60A */ s16 action;
+ /* 0x60C */ s16 field_0x60c;
+ /* 0x60E */ s16 timers[2];
+ /* 0x612 */ s16 field_0x612;
+ /* 0x614 */ s16 field_0x614;
+ /* 0x616 */ s16 field_0x616;
+ /* 0x618 */ f32 field_0x618;
+ /* 0x61C */ u8 hide;
+ /* 0x620 */ dBgS_AcchCir acchcir;
+ /* 0x660 */ dBgS_ObjAcch acch;
+ /* 0x838 */ dCcD_Stts ccStts;
+ /* 0x874 */ dCcD_Sph ccSph;
+ /* 0x9AC */ u32 field_0x9ac[2];
+ /* 0x9B4 */ u8 HIOInit;
};
STATIC_ASSERT(sizeof(obj_key_class) == 0x9b8);
@@ -21,7 +50,11 @@ STATIC_ASSERT(sizeof(obj_key_class) == 0x9b8);
class daObj_Key_HIO_c {
public:
/* 80C3F40C */ daObj_Key_HIO_c();
- /* 80C40F28 */ ~daObj_Key_HIO_c();
+ /* 80C40F28 */ virtual ~daObj_Key_HIO_c() {}
+
+ /* 0x4 */ s8 id;
+ /* 0x8 */ f32 size;
+ /* 0xC */ f32 chain_size;
};