diff options
| author | Jeff Padgham <jeff.ookami@gmail.com> | 2024-03-08 22:55:53 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-09 08:55:53 +0200 |
| commit | 6698b38726ea3ed1a51b60320ced78238fb69a4c (patch) | |
| tree | 9cb12f4d4a6398b4f3247a733026ca960e7162a0 /include | |
| parent | 2f935526dc44d8f5deb84f7c699a7b455ad71315 (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.h | 4 | ||||
| -rw-r--r-- | include/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h | 36 |
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 */ |
