Port some actors over to headers

This commit is contained in:
Jasper St. Pierre
2023-11-24 13:01:26 -08:00
parent 6e3c8bd46f
commit 40b189068f
18 changed files with 199 additions and 268 deletions
+2 -1
View File
@@ -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 */
+25 -15
View File
@@ -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 */
+7 -9
View File
@@ -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 */
+9 -9
View File
@@ -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 */
+4 -2
View File
@@ -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 */
+2 -1
View File
@@ -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 */
+5 -3
View File
@@ -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 */
+91 -9
View File
@@ -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<Prm_e>(this, PRM_SWITCH_W, PRM_SWITCH_S); }
u8 prm_get_Type() { return daObj::PrmAbstract<Prm_e>(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 */
+19 -1
View File
@@ -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 */
+1 -6
View File
@@ -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; }
+1 -29
View File
@@ -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 */
+1 -18
View File
@@ -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 */
+1 -12
View File
@@ -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;
}
+2 -8
View File
@@ -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;
}
+1 -6
View File
@@ -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;
}
+26 -25
View File
@@ -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<daMagma_c*>(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 = {
+1 -93
View File
@@ -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<Prm_e>(this, PRM_SWITCH_W, PRM_SWITCH_S); }
u8 prm_get_Type() { return daObj::PrmAbstract<Prm_e>(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 */
+1 -21
View File
@@ -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);