From 40b189068f1ab3e93ee009fe9b0a816346b28c30 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Fri, 24 Nov 2023 13:01:26 -0800 Subject: [PATCH] Port some actors over to headers --- include/d/actor/d_a_grass.h | 3 +- include/d/actor/d_a_hot_floor.h | 40 ++++++++----- include/d/actor/d_a_kytag00.h | 16 +++-- include/d/actor/d_a_kytag04.h | 18 +++--- include/d/actor/d_a_kytag05.h | 6 +- include/d/actor/d_a_kytag06.h | 3 +- include/d/actor/d_a_magma.h | 8 ++- include/d/actor/d_a_obj_mknjd.h | 100 +++++++++++++++++++++++++++++--- include/d/actor/d_a_tag_ret.h | 20 ++++++- src/d/actor/d_a_grass.cpp | 7 +-- src/d/actor/d_a_hot_floor.cpp | 30 +--------- src/d/actor/d_a_kytag00.cpp | 19 +----- src/d/actor/d_a_kytag04.cpp | 13 +---- src/d/actor/d_a_kytag05.cpp | 10 +--- src/d/actor/d_a_kytag06.cpp | 7 +-- src/d/actor/d_a_magma.cpp | 51 ++++++++-------- src/d/actor/d_a_obj_mknjd.cpp | 94 +----------------------------- src/d/actor/d_a_tag_ret.cpp | 22 +------ 18 files changed, 199 insertions(+), 268 deletions(-) diff --git a/include/d/actor/d_a_grass.h b/include/d/actor/d_a_grass.h index c46c2f5c6..a412a09ee 100644 --- a/include/d/actor/d_a_grass.h +++ b/include/d/actor/d_a_grass.h @@ -5,7 +5,8 @@ class grass_class : public fopAc_ac_c { public: - /* Place member variables here */ + /* 0x290 */ u32 field_0x00; + /* 0x294 */ u32 field_0x04; }; #endif /* D_A_GRASS_H */ diff --git a/include/d/actor/d_a_hot_floor.h b/include/d/actor/d_a_hot_floor.h index b907f36bc..7cfca4d29 100644 --- a/include/d/actor/d_a_hot_floor.h +++ b/include/d/actor/d_a_hot_floor.h @@ -2,28 +2,38 @@ #define D_A_HOT_FLOOR_H #include "f_op/f_op_actor.h" -#include "JSystem/JParticle/JPAEmitter.h" +#include "m_Do/m_Do_ext.h" +#include "SSystem/SComponent/c_phase.h" + +class JPABaseEmitter; class daHot_Floor_c : public fopAc_ac_c { public: - void _create() {} - void _delete() {} - void _draw() {} - void _execute() {} - void setAimMtx(float(*)[4]) {} - void set_mtx_init(); void set_mtx(); + s32 CreateInit(); + inline s32 _create(); + inline bool _execute(); + inline bool _draw(); + inline bool _delete(); + inline bool create_heap(); + + static const char M_arcname[]; public: - /* 0x290 */ u8 m290[0x2B8 - 0x290]; - /* 0x2B8 */ f32 m2B8; - /* 0x2BC */ u8 m2BC[0x2D4 - 0x2BC]; - /* 0x2D4 */ JPABaseEmitter* m2D4; - /* 0x2D8 */ JPABaseEmitter* m2D8; - /* 0x2DC */ u8 m2DC[0x2E0 - 0x2DC]; - /* 0x2E0 */ Mtx m2E0; - /* 0x310 */ u8 m310[0x3D4 - 0x310]; + /* 0x290 */ request_of_phase_process_class mPhs; + /* 0x298 */ u32 field_0x298; + /* 0x298 */ u32 field_0x29c; + /* 0x2A0 */ mDoExt_brkAnm mBrkAnm; + /* 0x2B8 */ f32 mSpawnTimer; + /* 0x2BC */ u32 field_0x2bc; + /* 0x2C0 */ mDoExt_btkAnm mBtkAnm; + /* 0x2D4 */ JPABaseEmitter * mEmitter1; + /* 0x2D8 */ JPABaseEmitter * mEmitter2; + /* 0x2DC */ bool mbSpawnParticle; + /* 0x2E0 */ Mtx mtx[5]; + /* 0x3D0 */ Mtx * mtx_p; + /* 0x3D4 */ u32 field_0x3d4; }; #endif /* D_A_HOT_FLOOR_H */ diff --git a/include/d/actor/d_a_kytag00.h b/include/d/actor/d_a_kytag00.h index 6e20e619a..895001ad3 100644 --- a/include/d/actor/d_a_kytag00.h +++ b/include/d/actor/d_a_kytag00.h @@ -5,22 +5,20 @@ class kytag00_class : public fopAc_ac_c { public: - /* 0x290 */ u8 m290[0x294 - 0x290]; + /* 0x290 */ u32 field_0x290; /* 0x294 */ u8 mbEfSet; /* 0x295 */ u8 mbPselSet; - /* 0x296 */ u8 m296; + /* 0x296 */ u8 field_0x296; /* 0x297 */ u8 mPselIdx; - /* 0x298 */ u8 mEffectMode; - /* 0x299 */ u8 m299[0x29C - 0x299]; - /* 0x29C */ u32 mParamRadius; - /* 0x2A0 */ int mInnerFadeY; + /* 0x298 */ u8 mEfMode; + /* 0x29C */ s32 mThickness; + /* 0x2A0 */ s32 mInnerFadeY; /* 0x2A4 */ f32 mInnerRadius; /* 0x2A8 */ f32 mOuterRadius; /* 0x2AC */ f32 mTarget; - /* 0x2B0 */ u8 mSwitchID; + /* 0x2B0 */ u8 mSwitchNo; /* 0x2B1 */ u8 mbInvert; - /* 0x2B2 */ u8 mbAlwaysCheckPlayerPos; - /* 0x2B3 */ u8 m2B3[0x2B4 - 0x2B3]; + /* 0x2B2 */ u8 mMode; }; #endif /* D_A_KYTAG00_H */ diff --git a/include/d/actor/d_a_kytag04.h b/include/d/actor/d_a_kytag04.h index 879a1f20e..d32762e35 100644 --- a/include/d/actor/d_a_kytag04.h +++ b/include/d/actor/d_a_kytag04.h @@ -5,14 +5,14 @@ class kytag04_class : public fopAc_ac_c { public: - /* 0x290 */ u8 mState; - /* 0x291 */ u8 mOffColPat; - /* 0x292 */ u8 mOnColPat; - /* 0x293 */ u8 mSwitchID; - /* 0x294 */ int mTimer; - /* 0x298 */ int mTimerThresh; - /* 0x29C */ f32 m29C; - /* 0x2A0 */ f32 m2A0; -}; + /* 0x00 */ u8 mState; + /* 0x01 */ u8 mOffColPat; + /* 0x02 */ u8 mOnColPat; + /* 0x03 */ u8 mSwitchId; + /* 0x04 */ int mTimer; + /* 0x08 */ int mTimerThreshold; + /* 0x0C */ f32 mScaleX; + /* 0x10 */ f32 mScaleY; +}; /* size = 0x2A0 */ #endif /* D_A_KYTAG04_H */ diff --git a/include/d/actor/d_a_kytag05.h b/include/d/actor/d_a_kytag05.h index 5535fa2b7..d7115a104 100644 --- a/include/d/actor/d_a_kytag05.h +++ b/include/d/actor/d_a_kytag05.h @@ -5,7 +5,9 @@ class kytag05_class : public fopAc_ac_c { public: - /* Place member variables here */ -}; + /* 0x290 */ u8 mIndex; + /* 0x294 */ int mTimer; + /* 0x298 */ int mUnknownParam; +}; /* size = 0x29C */ #endif /* D_A_KYTAG05_H */ diff --git a/include/d/actor/d_a_kytag06.h b/include/d/actor/d_a_kytag06.h index facb64338..79e225b47 100644 --- a/include/d/actor/d_a_kytag06.h +++ b/include/d/actor/d_a_kytag06.h @@ -5,7 +5,8 @@ class kytag06_class : public fopAc_ac_c { public: - /* Place member variables here */ + /* 0x290 */ int field_0x290; + /* 0x294 */ float field_0x294; }; #endif /* D_A_KYTAG06_H */ diff --git a/include/d/actor/d_a_magma.h b/include/d/actor/d_a_magma.h index 087c82cd7..5447c0b73 100644 --- a/include/d/actor/d_a_magma.h +++ b/include/d/actor/d_a_magma.h @@ -2,14 +2,16 @@ #define D_A_MAGMA_H #include "f_op/f_op_actor.h" +#include "SSystem/SComponent/c_phase.h" class daMagma_c : public fopAc_ac_c { public: - void create() {} - void getPathNo() {} + inline ~daMagma_c(); + inline s32 create(); + inline s32 getPathNo(); public: - /* Place member variables here */ + /* 0x290 */ request_of_phase_process_class mPhs; }; #endif /* D_A_MAGMA_H */ diff --git a/include/d/actor/d_a_obj_mknjd.h b/include/d/actor/d_a_obj_mknjd.h index 7f6f4af5b..998501814 100644 --- a/include/d/actor/d_a_obj_mknjd.h +++ b/include/d/actor/d_a_obj_mknjd.h @@ -2,22 +2,104 @@ #define D_A_OBJ_MKNJD_H #include "f_op/f_op_actor.h" +#include "d/d_a_obj.h" +#include "d/d_bg_s_movebg_actor.h" +#include "d/d_particle.h" +#include "SSystem/SComponent/c_phase.h" + +class msg_class; namespace daObjMknjD { - class Act_c : public fopAc_ac_c { + class Act_c : public dBgS_MoveBgActor { public: - void anmAtr(unsigned short) {} - void getMsg() {} - + s32 Mthd_Create(); + s32 Mthd_Delete(); + + s16 XyCheckCB(int); + s16 XyEventCB(int); + + int CreateHeap(); + int Create(); + + int Delete(); + void set_mtx(); void init_mtx(); - void setGoal(int i_staffIdx); - void setPlayerAngle(int i_staffIdx); + + void setGoal(int); + void setPlayerAngle(int); + u16 talk(int); void privateCut(); - - public: - /* Place member variables here */ + bool daObjMknjD_break(); + + int Execute(Mtx**); + int Draw(); + + static const char M_arcname[]; + //static Mtx M_tmp_mtx; + + /* 0x02C8 */ cXyz mLeftHalfPos; + /* 0x02D4 */ cXyz mRightHalfPos; + + /* 0x02E0 */ cXyz mShardPositions[0x14]; + /* 0x03D0 */ float mShardHeights[0x14]; + + /* 0x0420 */ request_of_phase_process_class mPhs; + + /* 0x0428 */ J3DModel* mMainMdl; + /* 0x042C */ J3DModel* mBreakMdl; + + /* 0x0430 */ u16 m0430; + /* 0x0432 */ u16 m0432; + /* 0x0434 */ u16 m0434; + /* 0x0438 */ s32 mBreakTimer; + + /* 0x043C */ u8 mMainMdlAlpha; + /* 0x043D */ bool m043D; + /* 0x043E */ u8 m043E; + /* 0x043F */ u8 m043F; + + /* 0x0440 */ JPABaseEmitter* mEmitters[4]; + /* 0x0450 */ dPa_smokeEcallBack mSmokeCBs[4]; + + /* 0x04D0 */ cXyz mBrokenPos; + + /* 0x04DC */ s16 mCheckEventIdx; + /* 0x04DE */ s16 mDemoEventIdx; + /* 0x04E0 */ s16 mErrorEventIdx; + /* 0x04E2 */ s16 mLessonEventIdx; + + /* 0x04E4 */ s8 mActionIdx; + /* 0x04E5 */ u8 mTactMode; + /* 0x04E6 */ u8 mGiveItemNo; + + /* 0x04E8 */ cXyz mGoalPos; + + /* 0x04F4 */ u32 mMsgNo; + /* 0x04F8 */ u32 mMsgPID; + /* 0x04FC */ msg_class* mMsgPtr; + + /* 0x0500 */ s32 m0500; + /* 0x0504 */ bool m0504; + + enum Prm_e { + PRM_SWITCH_W = 0x08, + PRM_SWITCH_S = 0x00, + + PRM_TYPE_W = 0x01, + PRM_TYPE_S = 0x10, + }; + + int prm_get_swSave() { return daObj::PrmAbstract(this, PRM_SWITCH_W, PRM_SWITCH_S); } + u8 prm_get_Type() { return daObj::PrmAbstract(this, PRM_TYPE_W, PRM_TYPE_S); } + + static Mtx M_tmp_mtx; }; + + const char Act_c::M_arcname[] = "MknjD"; + + static void manage_friend_draw(int); + static void setMaterial(J3DMaterial*, u8); }; #endif /* D_A_OBJ_MKNJD_H */ diff --git a/include/d/actor/d_a_tag_ret.h b/include/d/actor/d_a_tag_ret.h index 03a90224b..cd669e16f 100644 --- a/include/d/actor/d_a_tag_ret.h +++ b/include/d/actor/d_a_tag_ret.h @@ -2,12 +2,30 @@ #define D_A_TAG_RET_H #include "f_op/f_op_actor.h" +#include "d/d_a_obj.h" namespace daTagRet { class Act_c : public fopAc_ac_c { public: - /* Place member variables here */ + enum Prm_e { + PRM_LINK_ID_W = 8, + PRM_LINK_ID_S = 0, + }; + + s32 _create(); + bool _delete(); + void set_mtx(); + bool _execute(); + bool _draw(); + + u32 prm_get_linkID() const { return daObj::PrmAbstract(this, PRM_LINK_ID_W, PRM_LINK_ID_S); } + + public: + /* 0x290 */ u8 m290[0x29C - 0x290]; + /* 0x29C */ dCcD_Stts mStts; + /* 0x2D8 */ dCcD_Cyl mCyl; }; + }; #endif /* D_A_TAG_RET_H */ diff --git a/src/d/actor/d_a_grass.cpp b/src/d/actor/d_a_grass.cpp index a2e708079..2baa962b5 100644 --- a/src/d/actor/d_a_grass.cpp +++ b/src/d/actor/d_a_grass.cpp @@ -3,6 +3,7 @@ // Translation Unit: d_a_grass.cpp // +#include "d/actor/d_a_grass.h" #include "f_op/f_op_actor.h" #include "f_op/f_op_actor_mng.h" #include "d/d_com_inf_game.h" @@ -14,12 +15,6 @@ #include "JSystem/JKernel/JKRHeap.h" #include "SSystem/SComponent/c_sxyz.h" -class grass_class : public fopAc_ac_c { -public: - /* 0x290 */ u32 field_0x00; - /* 0x294 */ u32 field_0x04; -}; - namespace daGrass_prm { inline s8 getItemNo(grass_class* ac) { return (fopAcM_GetParam(ac) >> 6) & 0x3F; } inline u8 getKind(grass_class* ac) { return (fopAcM_GetParam(ac) >> 4) & 0x03; } diff --git a/src/d/actor/d_a_hot_floor.cpp b/src/d/actor/d_a_hot_floor.cpp index 1f158924c..ee9906daa 100644 --- a/src/d/actor/d_a_hot_floor.cpp +++ b/src/d/actor/d_a_hot_floor.cpp @@ -3,6 +3,7 @@ // Translation Unit: d_a_hot_floor.cpp // +#include "d/actor/d_a_hot_floor.h" #include "f_op/f_op_actor_mng.h" #include "JSystem/JParticle/JPAParticle.h" #include "JSystem/JKernel/JKRHeap.h" @@ -13,35 +14,6 @@ #include "m_Do/m_Do_ext.h" #include "m_Do/m_Do_mtx.h" -class daHot_Floor_c : public fopAc_ac_c { -public: - void set_mtx_init(); - void set_mtx(); - s32 CreateInit(); - inline s32 _create(); - inline bool _execute(); - inline bool _draw(); - inline bool _delete(); - inline bool create_heap(); - - static const char M_arcname[]; - -public: - /* 0x290 */ request_of_phase_process_class mPhs; - /* 0x298 */ u32 field_0x298; - /* 0x298 */ u32 field_0x29c; - /* 0x2A0 */ mDoExt_brkAnm mBrkAnm; - /* 0x2B8 */ f32 mSpawnTimer; - /* 0x2BC */ u32 field_0x2bc; - /* 0x2C0 */ mDoExt_btkAnm mBtkAnm; - /* 0x2D4 */ JPABaseEmitter * mEmitter1; - /* 0x2D8 */ JPABaseEmitter * mEmitter2; - /* 0x2DC */ bool mbSpawnParticle; - /* 0x2E0 */ Mtx mtx[5]; - /* 0x3D0 */ Mtx * mtx_p; - /* 0x3D4 */ u32 field_0x3d4; -}; - const char daHot_Floor_c::M_arcname[8] = "Ylesr00"; /* 00000078-00000108 .text set_mtx_init__13daHot_Floor_cFv */ diff --git a/src/d/actor/d_a_kytag00.cpp b/src/d/actor/d_a_kytag00.cpp index da2756f25..cb9e3d709 100644 --- a/src/d/actor/d_a_kytag00.cpp +++ b/src/d/actor/d_a_kytag00.cpp @@ -3,6 +3,7 @@ // Translation Unit: d_a_kytag00.cpp // +#include "d/actor/d_a_kytag00.h" #include "f_op/f_op_actor_mng.h" #include "f_op/f_op_camera.h" #include "d/d_com_inf_game.h" @@ -15,24 +16,6 @@ #include "JSystem/JKernel/JKRHeap.h" #include "JSystem/JUtility/JUTAssert.h" -class kytag00_class : public fopAc_ac_c { -public: - /* 0x290 */ u32 field_0x290; - /* 0x294 */ u8 mbEfSet; - /* 0x295 */ u8 mbPselSet; - /* 0x296 */ u8 field_0x296; - /* 0x297 */ u8 mPselIdx; - /* 0x298 */ u8 mEfMode; - /* 0x29C */ s32 mThickness; - /* 0x2A0 */ s32 mInnerFadeY; - /* 0x2A4 */ f32 mInnerRadius; - /* 0x2A8 */ f32 mOuterRadius; - /* 0x2AC */ f32 mTarget; - /* 0x2B0 */ u8 mSwitchNo; - /* 0x2B1 */ u8 mbInvert; - /* 0x2B2 */ u8 mMode; -}; - /* 00000078-0000024C .text get_check_pos__FP13kytag00_class */ cXyz get_check_pos(kytag00_class* i_this) { /* Nonmatching - regswap */ diff --git a/src/d/actor/d_a_kytag04.cpp b/src/d/actor/d_a_kytag04.cpp index 9683d93b0..68f84920c 100644 --- a/src/d/actor/d_a_kytag04.cpp +++ b/src/d/actor/d_a_kytag04.cpp @@ -2,24 +2,13 @@ * d_a_kytag04.cpp */ +#include "d/actor/d_a_kytag04.h" #include "JSystem/JKernel/JKRHeap.h" #include "f_op/f_op_actor_mng.h" #include "d/d_com_inf_game.h" #include "d/d_procname.h" #include "dolphin/types.h" -struct kytag04_class : public fopAc_ac_c { -public: - /* 0x00 */ u8 mState; - /* 0x01 */ u8 mOffColPat; - /* 0x02 */ u8 mOnColPat; - /* 0x03 */ u8 mSwitchId; - /* 0x04 */ int mTimer; - /* 0x08 */ int mTimerThreshold; - /* 0x0C */ f32 mScaleX; - /* 0x10 */ f32 mScaleY; -}; /* size = 0x2A0 */ - static BOOL daKytag04_Draw(kytag04_class*) { return true; } diff --git a/src/d/actor/d_a_kytag05.cpp b/src/d/actor/d_a_kytag05.cpp index 6157c3c62..af2df86af 100644 --- a/src/d/actor/d_a_kytag05.cpp +++ b/src/d/actor/d_a_kytag05.cpp @@ -2,6 +2,8 @@ // Generated by dtk // Translation Unit: d_a_kytag05.cpp // + +#include "d/actor/d_a_kytag05.h" #include "JSystem/JKernel/JKRHeap.h" #include "JAZelAudio/JAIZelBasic.h" #include "d/actor/d_a_player.h" @@ -14,14 +16,6 @@ #include "m_Do/m_Do_audio.h" #include "d/d_procname.h" - -class kytag05_class : public fopAc_ac_c { -public: - /* 0x290 */ u8 mIndex; - /* 0x294 */ int mTimer; - /* 0x298 */ int mUnknownParam; -}; /* size = 0x29C */ - static BOOL daKytag05_Draw(kytag05_class*) { return TRUE; } diff --git a/src/d/actor/d_a_kytag06.cpp b/src/d/actor/d_a_kytag06.cpp index a280b5d68..4344e7ee5 100644 --- a/src/d/actor/d_a_kytag06.cpp +++ b/src/d/actor/d_a_kytag06.cpp @@ -2,6 +2,7 @@ * d_a_kytag06.cpp */ +#include "d/actor/d_a_kytag06.h" #include "JSystem/JKernel/JKRHeap.h" #include "f_op/f_op_actor.h" #include "f_op/f_op_actor_mng.h" @@ -11,12 +12,6 @@ #include "d/d_procname.h" #include "dolphin/types.h" -class kytag06_class : public fopAc_ac_c { -public: - /* 0x290 */ int field_0x290; - /* 0x294 */ float field_0x294; -}; - static bool daKytag06_Draw(kytag06_class*) { return true; } diff --git a/src/d/actor/d_a_magma.cpp b/src/d/actor/d_a_magma.cpp index fe32449c3..aa68e1f03 100644 --- a/src/d/actor/d_a_magma.cpp +++ b/src/d/actor/d_a_magma.cpp @@ -3,6 +3,7 @@ // Translation Unit: d_a_magma.cpp // +#include "d/actor/d_a_magma.h" #include "JSystem/JKernel/JKRHeap.h" #include "f_op/f_op_actor_mng.h" #include "d/d_procname.h" @@ -10,15 +11,33 @@ #include "d/d_magma.h" #include "dolphin/types.h" +daMagma_c::~daMagma_c() { + dComIfG_resDelete(&mPhs, "Magma"); +} -class daMagma_c : public fopAc_ac_c { -public: - ~daMagma_c() { - dComIfG_resDelete(&mPhs, "Magma"); +s32 daMagma_c::getPathNo() { + return fopAcM_GetParam(this); +} + +s32 daMagma_c::create() { + fopAcM_SetupActor(this, daMagma_c); + + int result = dComIfG_resLoad(&mPhs, "Magma"); + if (result != cPhs_COMPLEATE_e) { + return result; } - request_of_phase_process_class mPhs; -}; + if (g_dComIfG_gameInfo.play.createMagma()) { + g_dComIfG_gameInfo.play.mpMagmaPacket->newFloor( + current.pos, + mScale, + current.roomNo, + getPathNo() + ); + } + + return cPhs_ERROR_e; +} /* 00000078-00000080 .text daMagma_IsDelete__FP9daMagma_c */ BOOL daMagma_IsDelete(daMagma_c* i_this) { @@ -33,25 +52,7 @@ BOOL daMagma_Delete(daMagma_c* i_this) { /* 000000CC-00000178 .text daMagma_Create__FP10fopAc_ac_c */ s32 daMagma_Create(fopAc_ac_c* i_this) { - daMagma_c* magma = static_cast(i_this); - - fopAcM_SetupActor(magma, daMagma_c); - - int result = dComIfG_resLoad(&magma->mPhs, "Magma"); - if (result != cPhs_COMPLEATE_e) { - return result; - } - - if (g_dComIfG_gameInfo.play.createMagma()) { - g_dComIfG_gameInfo.play.mpMagmaPacket->newFloor( - magma->current.pos, - magma->mScale, - magma->current.roomNo, - magma->mBase.mParameters - ); - } - - return cPhs_ERROR_e; + return ((daMagma_c*)i_this)->create(); } static actor_method_class l_daMagma_Method = { diff --git a/src/d/actor/d_a_obj_mknjd.cpp b/src/d/actor/d_a_obj_mknjd.cpp index 6c2007ae9..b249035de 100644 --- a/src/d/actor/d_a_obj_mknjd.cpp +++ b/src/d/actor/d_a_obj_mknjd.cpp @@ -3,6 +3,7 @@ // Translation Unit: d_a_obj_mknjd.cpp // +#include "d/actor/d_a_obj_mknjd.h" #include "f_op/f_op_actor_mng.h" #include "f_pc/f_pc_manager.h" #include "f_op/f_op_msg.h" @@ -82,99 +83,6 @@ char* daObjMknjD_EventName[] = { static u16 joint_number_table[20]; -namespace daObjMknjD { - class Act_c : public dBgS_MoveBgActor { - public: - s32 Mthd_Create(); - s32 Mthd_Delete(); - - s16 XyCheckCB(int); - s16 XyEventCB(int); - - int CreateHeap(); - int Create(); - - int Delete(); - - void set_mtx(); - void init_mtx(); - - void setGoal(int); - void setPlayerAngle(int); - u16 talk(int); - void privateCut(); - bool daObjMknjD_break(); - - int Execute(Mtx**); - int Draw(); - - static const char M_arcname[]; - //static Mtx M_tmp_mtx; - - /* 0x02C8 */ cXyz mLeftHalfPos; - /* 0x02D4 */ cXyz mRightHalfPos; - - /* 0x02E0 */ cXyz mShardPositions[0x14]; - /* 0x03D0 */ float mShardHeights[0x14]; - - /* 0x0420 */ request_of_phase_process_class mPhs; - - /* 0x0428 */ J3DModel* mMainMdl; - /* 0x042C */ J3DModel* mBreakMdl; - - /* 0x0430 */ u16 m0430; - /* 0x0432 */ u16 m0432; - /* 0x0434 */ u16 m0434; - /* 0x0438 */ s32 mBreakTimer; - - /* 0x043C */ u8 mMainMdlAlpha; - /* 0x043D */ bool m043D; - /* 0x043E */ u8 m043E; - /* 0x043F */ u8 m043F; - - /* 0x0440 */ JPABaseEmitter* mEmitters[4]; - /* 0x0450 */ dPa_smokeEcallBack mSmokeCBs[4]; - - /* 0x04D0 */ cXyz mBrokenPos; - - /* 0x04DC */ s16 mCheckEventIdx; - /* 0x04DE */ s16 mDemoEventIdx; - /* 0x04E0 */ s16 mErrorEventIdx; - /* 0x04E2 */ s16 mLessonEventIdx; - - /* 0x04E4 */ s8 mActionIdx; - /* 0x04E5 */ u8 mTactMode; - /* 0x04E6 */ u8 mGiveItemNo; - - /* 0x04E8 */ cXyz mGoalPos; - - /* 0x04F4 */ u32 mMsgNo; - /* 0x04F8 */ u32 mMsgPID; - /* 0x04FC */ msg_class* mMsgPtr; - - /* 0x0500 */ s32 m0500; - /* 0x0504 */ bool m0504; - - enum Prm_e { - PRM_SWITCH_W = 0x08, - PRM_SWITCH_S = 0x00, - - PRM_TYPE_W = 0x01, - PRM_TYPE_S = 0x10, - }; - - int prm_get_swSave() { return daObj::PrmAbstract(this, PRM_SWITCH_W, PRM_SWITCH_S); } - u8 prm_get_Type() { return daObj::PrmAbstract(this, PRM_TYPE_W, PRM_TYPE_S); } - - static Mtx M_tmp_mtx; - }; - - const char Act_c::M_arcname[] = "MknjD"; - - static void manage_friend_draw(int); - static void setMaterial(J3DMaterial*, u8); -} - Mtx daObjMknjD::Act_c::M_tmp_mtx; /* 00000078-0000012C .text nodeCallBackL__FP7J3DNodei */ diff --git a/src/d/actor/d_a_tag_ret.cpp b/src/d/actor/d_a_tag_ret.cpp index 8ecb6316f..499ebd578 100644 --- a/src/d/actor/d_a_tag_ret.cpp +++ b/src/d/actor/d_a_tag_ret.cpp @@ -3,6 +3,7 @@ // Translation Unit: d_a_tag_ret.cpp // +#include "d/actor/d_a_tag_ret.h" #include "d/d_a_obj.h" #include "d/d_item.h" #include "d/d_item_data.h" @@ -44,27 +45,6 @@ static dCcD_SrcCyl cyl_check_src = { }; namespace daTagRet { - struct Act_c : public fopAc_ac_c { - public: - enum Prm_e { - PRM_LINK_ID_W = 8, - PRM_LINK_ID_S = 0, - }; - - s32 _create(); - bool _delete(); - void set_mtx(); - bool _execute(); - bool _draw(); - - u32 prm_get_linkID() const { return daObj::PrmAbstract(this, PRM_LINK_ID_W, PRM_LINK_ID_S); } - - public: - /* 0x290 */ u8 m290[0x29C - 0x290]; - /* 0x29C */ dCcD_Stts mStts; - /* 0x2D8 */ dCcD_Cyl mCyl; - }; - /* 00000078-000001D4 .text _create__Q28daTagRet5Act_cFv */ s32 Act_c::_create() { fopAcM_SetupActor(this, daTagRet::Act_c);