diff options
| author | hatal175 <hatal175@users.noreply.github.com> | 2024-12-28 05:16:59 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-27 19:16:59 -0800 |
| commit | c429ce21eb7cf4687da596c51fbc47249fbe4c13 (patch) | |
| tree | cefe2fbec93fb91fd9f51ad92611aa5803cdc301 /include/d/actor/d_a_obj_cwall.h | |
| parent | ad2badcd29f53cb6788455d2e7cf12717453770a (diff) | |
d_a_obj_cwall almost matching (#2270)
* d_a_obj_cwall almost matching
* d_a_obj_pdoor OK
Diffstat (limited to 'include/d/actor/d_a_obj_cwall.h')
| -rw-r--r-- | include/d/actor/d_a_obj_cwall.h | 73 |
1 files changed, 62 insertions, 11 deletions
diff --git a/include/d/actor/d_a_obj_cwall.h b/include/d/actor/d_a_obj_cwall.h index 211775286f..5867f80d3d 100644 --- a/include/d/actor/d_a_obj_cwall.h +++ b/include/d/actor/d_a_obj_cwall.h @@ -1,6 +1,8 @@ #ifndef D_A_OBJ_CWALL_H #define D_A_OBJ_CWALL_H +#include "d/d_bg_s_movebg_actor.h" +#include "d/d_cc_d.h" #include "f_op/f_op_actor_mng.h" /** @@ -11,21 +13,30 @@ * @details * */ -class daObjCwall_c : public fopAc_ac_c { +class daObjCwall_c : public dBgS_MoveBgActor { public: struct chain_s { public: /* 80BD6E94 */ ~chain_s(); /* 80BD6ED0 */ chain_s(); + + J3DModel* mModel; + cXyz mPos; + }; + + enum Type { + TYPE_0, + TYPE_1, }; + typedef void (daObjCwall_c::*modeFunc)(); /* 80BD6A4C */ void initBaseMtx(); /* 80BD6A88 */ void setBaseMtx(); - /* 80BD6AEC */ void Create(); - /* 80BD6D08 */ void CreateHeap(); - /* 80BD6ED4 */ void create1st(); - /* 80BD6F80 */ void Execute(f32 (**)[3][4]); + /* 80BD6AEC */ int Create(); + /* 80BD6D08 */ int CreateHeap(); + /* 80BD6ED4 */ int create1st(); + /* 80BD6F80 */ int Execute(Mtx**); /* 80BD7288 */ void setTension(); /* 80BD7718 */ void calcSePos(); /* 80BD7788 */ void getChainBasePos(cXyz*); @@ -40,14 +51,54 @@ public: /* 80BD8BC8 */ void initClose(); /* 80BD8BF0 */ void modeClose(); /* 80BD935C */ void setPower(f32, s16*); - /* 80BD9414 */ void checkWall(); - /* 80BD95A0 */ void checkPullNow(); - /* 80BD977C */ void checkPull(); - /* 80BD9848 */ void Draw(); - /* 80BD9948 */ void Delete(); + /* 80BD9414 */ BOOL checkWall(); + /* 80BD95A0 */ BOOL checkPullNow(); + /* 80BD977C */ BOOL checkPull(); + /* 80BD9848 */ int Draw(); + /* 80BD9948 */ int Delete(); + + u8 getArg0() { return fopAcM_GetParamBit(this, 0, 4); } + u8 getType() { return fopAcM_GetParamBit(this, 4, 4); } + u8 getSwbit() { return fopAcM_GetParamBit(this, 8, 8); } private: - /* 0x568 */ u8 field_0x568[0xf5c - 0x568]; + /* 0x5A0 */ request_of_phase_process_class mPhase; + /* 0x5A8 */ J3DModel* mWallModel; + /* 0x5AC */ dCcD_Stts mStts; + /* 0x5E8 */ dCcD_Cyl mCyl; + /* 0x724 */ dCcD_Sph mSph; + /* 0x85C */ dCcD_Cyl mCyls[4]; + /* 0xD4C */ dCcD_Cyl mCyl2; + /* 0xE88 */ J3DModel* mHandleModel; + /* 0xE8C */ chain_s* mChains; + /* 0xE90 */ u8 field_0xe90; + /* 0xE91 */ u8 field_0xe91; + /* 0xE92 */ u8 field_0xe92; + /* 0xE93 */ u8 field_0xe93; + /* 0xE94 */ cXyz field_0xe94[7]; + /* 0xEE8*/ f32 field_0xee8[7]; + /* 0xF04 */ u8 field_0xf04[7]; + /* 0xF0B */ u8 field_0xf0b; + /* 0xF0C */ u8 field_0xf0c; + /* 0xF0D */ u8 field_0xf0d; + /* 0xF0E */ u8 field_0xf0e; + /* 0xF0F */ u8 field_0xf0f; + /* 0xF10 */ u8 field_0xf10; + /* 0xF11 */ u8 mType; + /* 0xF12 */ u8 field_0xf12; + /* 0xF14 */ s16 field_0xf14; + /* 0xF16 */ s16 field_0xf16; + /* 0xF18 */ s16 field_0xf18; + /* 0xF1A */ s16 field_0xf1a; + /* 0xF1C */ s16 field_0xf1c; + /* 0xF20 */ cXyz field_0xf20; + /* 0xF2C */ cXyz field_0xf2c; + /* 0xF38 */ cXyz field_0xf38; + /* 0xF44 */ cXyz field_0xf44; + /* 0xF50 */ f32 field_0xf50; + /* 0xF54 */ f32 field_0xf54; + /* 0xF58 */ u8 field_0xf58; + /* 0xF58 */ u8 field_0xf59; }; STATIC_ASSERT(sizeof(daObjCwall_c) == 0xf5c); |
