diff options
| author | hatal175 <hatal175@users.noreply.github.com> | 2024-10-17 07:57:17 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-16 21:57:17 -0700 |
| commit | 2aa441e40bcc0a8fd369e41a69729e6c34d8c3b2 (patch) | |
| tree | dc3bd12acf53f3a1bd6af28ebc6f18871975a04e /include | |
| parent | ec07abb09bc40293ca18b673678348520bf0473d (diff) | |
daObjFPillar2_c OK (#2214)
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_obj_firepillar2.h | 65 |
1 files changed, 58 insertions, 7 deletions
diff --git a/include/d/actor/d_a_obj_firepillar2.h b/include/d/actor/d_a_obj_firepillar2.h index 8b81ff07d5..f90067a746 100644 --- a/include/d/actor/d_a_obj_firepillar2.h +++ b/include/d/actor/d_a_obj_firepillar2.h @@ -1,6 +1,10 @@ #ifndef D_A_OBJ_FIREPILLAR2_H #define D_A_OBJ_FIREPILLAR2_H +#include "JSystem/JParticle/JPAEmitter.h" +#include "SSystem/SComponent/c_phase.h" +#include "d/d_bg_s_acch.h" +#include "d/d_cc_d.h" #include "f_op/f_op_actor_mng.h" /** @@ -13,12 +17,25 @@ */ class daObjFPillar2_c : public fopAc_ac_c { public: + typedef void (daObjFPillar2_c::*actionFunc)(); + + enum Kind { + KIND_PIPE_FIRE, + KIND_MAGMA_POLE, + }; + + enum Action { + ACTION_OFF, + ACTION_ON_WAIT, + ACTION_ON, + }; + /* 80BE9CD8 */ void initBaseMtx(); /* 80BE9D5C */ void setBaseMtx(); - /* 80BE9DDC */ void Create(); - /* 80BEA034 */ void CreateHeap(); - /* 80BEA228 */ void create(); - /* 80BEA584 */ void execute(); + /* 80BE9DDC */ int Create(); + /* 80BEA034 */ int CreateHeap(); + /* 80BEA228 */ int create(); + /* 80BEA584 */ int execute(); /* 80BEA734 */ void action(); /* 80BEA808 */ void actionOffInit(); /* 80BEA854 */ void actionOff(); @@ -26,11 +43,45 @@ public: /* 80BEAAE4 */ void actionOnWait(); /* 80BEAC68 */ void actionOnInit(); /* 80BEADD0 */ void actionOn(); - /* 80BEB1B4 */ void draw(); - /* 80BEB278 */ void _delete(); + /* 80BEB1B4 */ int draw(); + /* 80BEB278 */ int _delete(); + + u8 getKind() { return (field_0x97a >> 4) & 0xf; } + u8 getSize() { return (field_0x97a) & 0xf; } + u8 getArg0() { return fopAcM_GetParamBit(this,8,8); } + u8 getSwNo() { return fopAcM_GetParamBit(this,0,8); } private: - /* 0x568 */ u8 field_0x568[0x9ec - 0x568]; + /* 0x568 */ request_of_phase_process_class mPhase; + /* 0x570 */ J3DModel* mModel; + /* 0x574 */ mDoExt_bckAnm* mBck; + /* 0x578 */ mDoExt_btkAnm* mBtk; + /* 0x57C */ dBgS_ObjAcch mAcch; + /* 0x754 */ dBgS_AcchCir mAcchCir; + /* 0x794 */ dCcD_Stts mStts; + /* 0x7D0 */ dCcD_Cps mCps; + /* 0x914 */ Mtx mMtx; + /* 0x944 */ cXyz field_0x944; + /* 0x950 */ cXyz field_0x950; + /* 0x95C */ cM3dGCpsS field_0x95c; + /* 0x978 */ u16 mActionTimer; + /* 0x97A */ u16 field_0x97a; + /* 0x97C */ s16 field_0x97c; + /* 0x97E */ bool mInitAngles; + /* 0x97F */ u8 mAction; + /* 0x980 */ JPABaseEmitter* field_0x980; + /* 0x984 */ JPABaseEmitter* field_0x984; + /* 0x988 */ JPABaseEmitter* mPipeFireEmitters[3]; + /* 0x994 */ f32 mPipeFireRate; + /* 0x998 */ f32 mPipeFireDirectionalSpeed; + /* 0x99C */ f32 mPipeFireScale; + /* 0x9A0 */ f32 mPipeFireLifeTime; + /* 0x9A4 */ JPABaseEmitter* mMagmaPoleEmitters[3]; + /* 0x9B0 */ cXyz mYoganScale; + /* 0x9BC */ Z2SoundObjSimple mSoundObj; + /* 0x9DC */ cXyz mSoundPos; + /* 0x9E8 */ s8 mSoundDir; + /* 0x9E9 */ u8 mFirePipeTimer; }; STATIC_ASSERT(sizeof(daObjFPillar2_c) == 0x9ec); |
