summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJeff Padgham <jeff.ookami@gmail.com>2024-03-08 22:55:53 -0800
committerGitHub <noreply@github.com>2024-03-09 08:55:53 +0200
commit6698b38726ea3ed1a51b60320ced78238fb69a4c (patch)
tree9cb12f4d4a6398b4f3247a733026ca960e7162a0 /include
parent2f935526dc44d8f5deb84f7c699a7b455ad71315 (diff)
d_a_obj_rock OK (#2088)
* ~99% matching, few regalloc and ordering issues * Decomp OK * Format pass and remove asms * Updating progress --------- Co-authored-by: GinNoOokami <noreply>
Diffstat (limited to 'include')
-rw-r--r--include/d/com/d_com_inf_game.h4
-rw-r--r--include/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h36
2 files changed, 40 insertions, 0 deletions
diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h
index 0de93bcaeb..465b3accbc 100644
--- a/include/d/com/d_com_inf_game.h
+++ b/include/d/com/d_com_inf_game.h
@@ -1614,6 +1614,10 @@ inline void dComIfGs_removeZone(int i_zoneNo) {
g_dComIfG_gameInfo.info.removeZone(i_zoneNo);
}
+inline void dComIfGp_addSimpleModel(J3DModelData* i_modelData, int roomNo, u8 i_drawBG) {
+ g_dComIfG_gameInfo.play.addSimpleModel(i_modelData, roomNo, i_drawBG);
+}
+
inline void dComIfGp_removeSimpleModel(J3DModelData* i_modelData, int roomNo) {
g_dComIfG_gameInfo.play.removeSimpleModel(i_modelData, roomNo);
}
diff --git a/include/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h b/include/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h
index 3a205709ee..404d1dfc6a 100644
--- a/include/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h
+++ b/include/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h
@@ -1,6 +1,42 @@
#ifndef D_A_OBJ_ROCK_H
#define D_A_OBJ_ROCK_H
+#include "SSystem/SComponent/c_phase.h"
+#include "d/cc/d_cc_d.h"
#include "dolphin/types.h"
+#include "f_op/f_op_actor.h"
+
+class J3DModel;
+
+struct rock_ss {
+ /* 80CBE5A4 */ ~rock_ss();
+ /* 80CBE678 */ rock_ss();
+
+ /* 0x00 */ J3DModel* mpModel;
+ /* 0x04 */ cXyz mPos;
+ /* 0x10 */ cXyz mScale;
+ /* 0x1C */ f32 mOffsetY;
+ /* 0x20 */ s16 mRot;
+ /* 0x24 */ dCcD_Sph mCollider;
+ /* 0x15C */ s8 mActive;
+}; // Size: 0x160
+
+STATIC_ASSERT(sizeof(rock_ss) == 0x160);
+
+class obj_rock_class : public fopAc_ac_c {
+public:
+ /* 0x568 */ request_of_phase_process_class mPhaseReq;
+ /* 0x570 */ u8 field_0x570;
+ /* 0x571 */ u8 field_0x571;
+ /* 0x572 */ u8 field_0x572;
+ /* 0x574 */ s16 field_0x574;
+ /* 0x578 */ rock_ss mRocks[0x10];
+ /* 0x1B78 */ s32 mCount;
+ /* 0x1B7C */ dCcD_Stts mStts;
+ /* 0x1BB9 */ u8 field_0x1bb8;
+ /* 0x1BB9 */ bool mInitialized;
+}; // Size: 0x1BBC
+
+STATIC_ASSERT(sizeof(obj_rock_class) == 0x1BBC);
#endif /* D_A_OBJ_ROCK_H */