Begin moving existing actor class defs to headers

This commit is contained in:
LagoLunatic
2023-11-24 13:53:54 -05:00
parent 6c9b6c3c00
commit e69d6ae3f6
26 changed files with 327 additions and 437 deletions
+15 -7
View File
@@ -3,19 +3,27 @@
#include "f_op/f_op_actor.h"
class daAndsw2_c : public fopAc_ac_c {
struct daAndsw2_c : public fopAc_ac_c {
public:
void create() {}
void draw() {}
void execute() {}
void setActio(unsigned char) {}
void setActio(u8 action) { mAction = action; }
u8 getEventNo();
u8 getSwbit();
u8 getSwbit2();
u8 getType();
u8 getTimer();
u8 getNum();
u8 getTopSw();
BOOL chkAllSw2();
inline BOOL execute();
inline s32 create();
inline BOOL draw();
public:
/* 0x290 */ u8 mAction;
/* 0x291 */ u8 m291[0x292 - 0x291];
/* 0x292 */ s16 mTimer;
/* 0x294 */ s16 mEventIdx;
/* 0x296 */ u8 m296[0x298 - 0x296];
};
#endif /* D_A_ANDSW2_H */
+40 -8
View File
@@ -3,23 +3,55 @@
#include "f_op/f_op_actor.h"
#include "d/d_bg_w.h"
#include "m_Do/m_Do_ext.h"
#include "SSystem/SComponent/c_phase.h"
class daBg_btkAnm_c {
public:
BOOL create(J3DModelData*, J3DAnmTextureSRTKey*);
void entry(J3DModelData*);
void play();
public:
/* 0x00 */ mDoExt_btkAnm * anm;
/* 0x04 */ u8 special;
};
class daBg_brkAnm_c {
public:
BOOL create(J3DModelData*, J3DAnmTevRegKey*);
void entry(J3DModelData*);
void play();
public:
/* 0x00 */ mDoExt_brkAnm * anm;
/* 0x04 */ u8 special;
};
class daBg_c : public fopAc_ac_c {
public:
void calcRoomMemory(char**, long*, char**, long*) {}
void draw() {}
void execute() {}
void getRoomMemory(int) {}
void initRoomMemory() {}
void isDelete() {}
~daBg_c();
const char * setArcName();
inline BOOL createHeap();
s32 create();
inline BOOL execute();
inline BOOL draw();
inline BOOL isDelete();
public:
/* 0x290 */ void* m290;
/* 0x294 */ void* m294;
/* 0x298 */ daBg___Bg mBg[4];
/* 0x2D8 */ dBgW* mpBgW;
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ struct BgModel {
J3DModel * model;
daBg_btkAnm_c * btk;
daBg_brkAnm_c * brk;
dKy_tevstr_c * mpTevStr;
} bg[4];
/* 0x2D8 */ dBgW * bgw;
/* 0x2DC */ u8 mUnloadTimer;
/* 0x2DD */ u8 m2DD[0x2E0 - 0x2DD];
};
#endif /* D_A_BG_H */
+16
View File
@@ -9,8 +9,22 @@
#include "m_Do/m_Do_ext.h"
#include "SSystem/SComponent/c_phase.h"
struct ke_c_s {
};
class daBoko_c : public fopAc_ac_c {
public:
static Vec m_top_offset[6];
static Vec m_blur_root_offset[6];
static Vec m_root_offset[6];
static f32 m_cps_r[6];
static s32 m_at_point[6];
static u32 m_at_type[6];
static f32 m_jump_blur_rate[6];
static f32 m_blur_rate[6];
static u8 m_se_type[6];
void getAtPoint() {}
void getAtType() {}
void getBlurRate() {}
@@ -26,6 +40,8 @@ public:
void setRotAngleSpeed(short) {}
void setThrow(short) {}
void getTopPos(cXyz *);
void getBlurRootPos(cXyz *);
void keDraw();
void keCalc1(ke_c_s*, int);
void keCalc();
+12 -3
View File
@@ -6,7 +6,15 @@
class daDaiocta_c : public fopAc_ac_c {
public:
void getSw() {}
enum Proc_e {
};
enum Mode_e {
};
u8 getSw() { return mSwitchNo; }
void _coHit(fopAc_ac_c*);
void _nodeControl(J3DNode*, J3DModel*);
@@ -43,7 +51,7 @@ public:
void modeDemo();
void modeDeleteInit();
void modeDelete();
void modeProc(daDaiocta_c::Proc_e, daDaiocta_c::Mode_e);
void modeProc(Proc_e, Mode_e);
void setAnm();
void setWater();
void _execute();
@@ -57,7 +65,8 @@ public:
void _delete();
public:
/* Place member variables here */
/* 0x290 */ u8 field_0x290[0x574 - 0x290];
/* 0x574 */ u8 mSwitchNo;
};
#endif /* D_A_DAIOCTA_H */
+15 -6
View File
@@ -2,18 +2,27 @@
#define D_A_KAJI_H
#include "f_op/f_op_actor.h"
#include "SSystem/SComponent/c_phase.h"
#include "m_Do/m_Do_ext.h"
class daKaji_c : public fopAc_ac_c {
public:
void _create() {}
void _delete() {}
void _draw() {}
void _execute() {}
void setAnm(int, float) {}
static const char M_arcname[];
inline s32 _create();
inline BOOL _delete();
inline BOOL _execute();
inline bool _draw();
void setAnm(int, f32) {}
void set_mtx() {}
BOOL CreateHeap();
public:
/* Place member variables here */
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ u8 pad[0x29C - 0x298];
/* 0x29C */ mDoExt_McaMorf* mpMorf;
/* 0x2A0 */ Mtx mMtx;
};
#endif /* D_A_KAJI_H */
+90 -6
View File
@@ -2,6 +2,7 @@
#define D_A_NH_H
#include "f_op/f_op_actor.h"
#include "m_Do/m_Do_hostIO.h"
#include "d/d_cc_d.h"
#include "d/d_bg_s_acch.h"
#include "d/d_bg_s_acch.h"
@@ -10,24 +11,107 @@
class daNh_c : public fopAc_ac_c {
public:
void isTypeBottle() {}
enum Type {
TYPE_BOTTLE = 0x01,
// Any other value besides 0x01 will behave as the normal, non-bottled type.
// All three of the Forest Fireflies placed in stages have their type set to 0xFF.
// TYPE_BOTTLE (0x01) is spawned via daPy_lk_c::procBottleOpen.
};
enum ActionStatus {
ACTION_STARTING = 0,
ACTION_ONGOING = 1,
ACTION_ENDING = -1,
};
typedef BOOL (daNh_c::*daNh_c_ActionFunc)(void*);
bool isTypeBottle() { return mType == TYPE_BOTTLE; }
~daNh_c();
void setBaseMtx();
void action(void* arg);
BOOL createHeap();
s32 create();
BOOL init();
void action(void*);
BOOL setAction(daNh_c_ActionFunc, void*);
BOOL checkBinCatch();
BOOL searchPlayer();
BOOL moveProc(f32, f32, s16);
f32 getHomeDistance();
BOOL checkTimer();
void BGCheck();
void airMove();
BOOL waitAction(void*);
BOOL checkEscapeEnd();
BOOL escapeAction(void*);
BOOL returnAction(void*);
BOOL execute();
BOOL initBrkAnm(bool);
void playBrkAnm();
BOOL draw();
public:
/* 0x290 */ u8 m290[0x29C - 0x290];
/* 0x290 */ u8 temp1[0x298 - 0x290];
/* 0x298 */ J3DModel* mpModel;
/* 0x29C */ dBgS_ObjAcch mAcch;
/* 0x460 */ dBgS_AcchCir mAcchCir;
/* 0x4A0 */ dCcD_Stts mStts;
/* 0x4DC */ dCcD_Cyl mCyl;
/* 0x60C */ mDoExt_brkAnm mBrkAnm;
/* 0x624 */ u8 m624[0x630 - 0x624];
/* 0x624 */ u8 temp2[0x630 - 0x624];
/* 0x630 */ cBgS_PolyInfo mPolyInfo;
/* 0x640 */ u8 m640[0x6A8 - 0x640];
/* 0x640 */ daNh_c_ActionFunc mCurrActionFunc;
/* 0x64C */ Mtx mGlowMtx;
/* 0x67C */ f32 mPlayerDist;
/* 0x680 */ f32 mGroundY;
/* 0x684 */ int mBottleTimer;
/* 0x688 */ s32 mAlpha;
/* 0x68C */ u8 unk68C;
/* 0x68D */ s8 mActionStatus;
/* 0x68E */ u8 mGlowAlpha;
/* 0x68F */ u8 mWobbleDir;
/* 0x690 */ u8 mWobbleTimer;
/* 0x691 */ u8 mType;
/* 0x692 */ u8 temp5[0x694 - 0x692];
/* 0x694 */ s16 mEscapeTimer;
/* 0x696 */ s16 unk696;
/* 0x698 */ s16 unk698;
/* 0x69A */ s16 unk69A;
/* 0x69C */ u8 temp6[0x6A0 - 0x69C];
/* 0x6A0 */ f32 unk6A0;
/* 0x6A4 */ u8 temp7[0x6A8 - 0x6A4];
};
class daNh_HIO_c : public JORReflexible {
struct hio_prm_c {
// Note: Offsets are relative to daNh_HIO_c instead of hio_prm_c for convenience.
/* 0x08 */ f32 field_0x08;
/* 0x0C */ f32 field_0x0c;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ f32 mGlowOffsetY;
/* 0x18 */ f32 mGlowScale;
/* 0x1C */ f32 mMinFrightenSpeed;
/* 0x20 */ f32 mHeightAboveGround;
/* 0x24 */ f32 mAscentSpeed;
/* 0x28 */ f32 mDescentSpeed;
/* 0x2C */ f32 mGravity;
/* 0x30 */ f32 mMaxHomeDist;
/* 0x34 */ f32 field_0x34;
/* 0x38 */ f32 mModelScale;
/* 0x3C */ s16 field_0x3c;
/* 0x3E */ s16 mDefaultGlowAlpha;
/* 0x40 */ s16 mBottleLifetime;
}; // Size: 0x3C
public:
daNh_HIO_c();
virtual ~daNh_HIO_c();
public:
/* 0x04 */ s8 mChildID;
/* 0x08 */ hio_prm_c prm;
/* 0x44 */ daNh_c* mpActor;
}; // Size: 0x48
#endif /* D_A_NH_H */
+21 -7
View File
@@ -3,20 +3,34 @@
#include "f_op/f_op_actor.h"
#include "SSystem/SComponent/c_phase.h"
#include "m_Do/m_Do_hostIO.h"
class daObj_Bscurtain_c : public fopAc_ac_c {
public:
void _create() {}
void _delete() {}
void _draw() {}
void _execute() {}
BOOL CreateHeap();
s32 CreateInit();
inline s32 _create();
inline bool _delete();
inline bool _execute();
inline bool _draw();
void set_mtx();
static const char M_arcname[4];
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ u8 m298[0x29C - 0x298];
/* 0x29C */ J3DModel* mpModel;
/* 0x298 */ u32 field_0x298;
/* 0x29C */ J3DModel * mpModel;
};
class daObj_Bscurtain_HIO_c : public mDoHIO_entry_c {
public:
daObj_Bscurtain_HIO_c();
virtual ~daObj_Bscurtain_HIO_c() {}
public:
/* 0x04 */ s8 field_0x04;
/* 0x08 */ f32 field_0x08;
/* 0x0C */ u16 field_0x0c;
};
#endif /* D_A_OBJ_BSCURTAIN_H */
+15 -2
View File
@@ -2,15 +2,28 @@
#define D_A_OBJ_GONG_H
#include "f_op/f_op_actor.h"
#include "SSystem/SComponent/c_phase.h"
#include "m_Do/m_Do_ext.h"
namespace daObjGong {
class Act_c : public fopAc_ac_c {
public:
void set_mtx();
static BOOL solidHeapCB(fopAc_ac_c *i_this);
static const char M_arcname[6];
s32 _create();
bool _execute();
bool _draw();
bool _delete();
bool create_heap();
void init_mtx();
void set_mtx();
bool demo_move();
public:
/* Place member variables here */
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ mDoExt_McaMorf * mpMorf;
};
};
+40 -2
View File
@@ -2,15 +2,53 @@
#define D_A_OBJ_MONUMENT_H
#include "f_op/f_op_actor.h"
#include "SSystem/SComponent/c_phase.h"
#include "d/d_bg_w.h"
#include "d/d_a_obj.h"
namespace daObjMonument {
namespace {
enum Type_e {
ONE_e,
TWO_e,
};
struct Attr_c {
/* 0x00 */ s16 mModelId;
/* 0x01 */ s16 mBgWId;
};
}
class Act_c : public fopAc_ac_c {
public:
void set_mtx();
enum Prm_e {
PRM_TYPE_W = 0x01,
PRM_TYPE_S = 0x00,
PRM_SWSAVE_W = 0x08,
PRM_SWSAVE_S = 0x08,
};
static BOOL solidHeapCB(fopAc_ac_c *i_this);
static const char M_arcname[6];
Type_e prm_get_type() const { return (Type_e)daObj::PrmAbstract<Prm_e>(this, PRM_TYPE_W, PRM_TYPE_S); }
u32 prm_get_swSave() const { return daObj::PrmAbstract<Prm_e>(this, PRM_SWSAVE_W, PRM_SWSAVE_S); }
s32 _create();
bool _execute();
bool _draw();
bool _delete();
bool create_heap();
void init_mtx();
void set_mtx();
public:
/* Place member variables here */
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel * mpModel;
/* 0x29C */ Type_e mType;
/* 0x2A0 */ dBgW * mpBgW;
/* 0x2A4 */ Mtx mtx;
};
};
+1 -4
View File
@@ -3,9 +3,6 @@
#include "f_op/f_op_actor.h"
class RECTANGLE_class : public fopAc_ac_c {
public:
/* Place member variables here */
};
class RECTANGLE_class : public fopAc_ac_c {};
#endif /* D_A_RECTANGLE_H */
+4 -1
View File
@@ -94,7 +94,10 @@ public:
static f32 BASE_HEIGHT;
};
class sea_class;
class sea_class : public fopAc_ac_c {
/* 0x290 */ u32 field_0x290;
/* 0x294 */ u32 field_0x294;
};
void daSea_Init();
void daSea_ChkAreaBeforePos(f32, f32);
+7 -7
View File
@@ -3,15 +3,15 @@
#include "f_op/f_op_actor.h"
class daSpotbox_c : public fopAc_ac_c {
struct daSpotbox_c : public fopAc_ac_c {
public:
void create() {}
void draw() {}
void execute() {}
void getType() {}
inline s32 create();
inline BOOL draw();
inline BOOL execute();
inline u32 getType();
public:
/* Place member variables here */
};
/* 0x290 */ Mtx mMtx;
}; // Size: 0x2C0
#endif /* D_A_SPOTBOX_H */
+13 -2
View File
@@ -2,17 +2,28 @@
#define D_A_SWATTACK_H
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_cc_d.h"
class daSwAt_c : public fopAc_ac_c {
public:
s32 _create();
bool _execute();
bool _draw();
bool _delete();
void CreateInit();
public:
/* 0x290 */ u8 m290[0x29C - 0x290];
/* 0x290 */ u32 field_0x290[3];
/* 0x29C */ dCcD_Stts mStts;
/* 0x2D8 */ dCcD_Cyl mCyl;
/* 0x408 */ u8 m408[0x410 - 0x408];
/* 0x408 */ u8 mAtType;
/* 0x40C */ u32 mSwitchNo;
};
namespace daSwAt_prm {
inline u8 getAtType(daSwAt_c* ac) { return (fopAcM_GetParam(ac) >> 0) & 0xFF; }
inline u8 getSwitchNo(daSwAt_c* ac) { return (fopAcM_GetParam(ac) >> 8) & 0xFF; }
};
#endif /* D_A_SWATTACK_H */
+21 -40
View File
@@ -3,13 +3,14 @@
// Translation Unit: d_a_andsw2.cpp
//
#include "d/actor/d_a_andsw2.h"
#include "f_op/f_op_actor_mng.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "d/d_com_inf_game.h"
#include "d/d_procname.h"
#include "dolphin/types.h"
enum {
enum Action {
ACT_ON_ALL,
ACT_TIMER,
ACT_ORDER,
@@ -18,31 +19,11 @@ enum {
ACT_WAIT,
};
enum {
enum Type {
TYPE_ONE_OFF,
TYPE_CONTINUOUS,
};
struct daAndsw2_c : public fopAc_ac_c {
public:
u8 getEventNo();
u8 getSwbit();
u8 getSwbit2();
u8 getType();
u8 getTimer();
u8 getNum();
u8 getTopSw();
BOOL chkAllSw2();
inline BOOL execute();
inline s32 create();
public:
u8 mAction;
s16 mTimer;
s16 mEventIdx;
};
/* 00000078-00000084 .text getEventNo__10daAndsw2_cFv */
u8 daAndsw2_c::getEventNo() {
return (orig.angle.x & 0x00FF) >> 0;
@@ -109,18 +90,18 @@ static BOOL daAndsw2_actionOnAll(daAndsw2_c* i_this) {
if (i_this->chkAllSw2()) {
if (i_this->getTimer() != 0xFF) {
i_this->mTimer = i_this->getTimer()*15;
i_this->mAction = ACT_TIMER;
i_this->setActio(ACT_TIMER);
} else if (i_this->mEventIdx != -1) {
i_this->mAction = ACT_ORDER;
i_this->setActio(ACT_ORDER);
} else {
int room = i_this->current.roomNo;
int sw = i_this->getSwbit();
dComIfGs_onSwitch(sw, room);
if (i_this->getType() == TYPE_CONTINUOUS) {
i_this->mAction = ACT_OFF;
i_this->setActio(ACT_OFF);
} else {
i_this->mAction = ACT_WAIT;
i_this->setActio(ACT_WAIT);
}
}
}
@@ -130,18 +111,18 @@ static BOOL daAndsw2_actionOnAll(daAndsw2_c* i_this) {
/* 000002B0-00000380 .text daAndsw2_actionTimer__FP10daAndsw2_c */
static BOOL daAndsw2_actionTimer(daAndsw2_c* i_this) {
if (i_this->getType() == TYPE_CONTINUOUS && !i_this->chkAllSw2()) {
i_this->mAction = ACT_ON_ALL;
i_this->setActio(ACT_ON_ALL);
} else if (i_this->mTimer > 0) {
i_this->mTimer -= 1;
} else if (i_this->mEventIdx != -1) {
i_this->mAction = ACT_ORDER;
i_this->setActio(ACT_ORDER);
} else {
int room = i_this->current.roomNo;
int sw = i_this->getSwbit();
dComIfGs_onSwitch(sw, room);
if (i_this->getType() == TYPE_CONTINUOUS) {
i_this->mAction = ACT_WAIT;
i_this->setActio(ACT_WAIT);
}
}
return TRUE;
@@ -150,12 +131,12 @@ static BOOL daAndsw2_actionTimer(daAndsw2_c* i_this) {
/* 00000380-00000438 .text daAndsw2_actionOrder__FP10daAndsw2_c */
static BOOL daAndsw2_actionOrder(daAndsw2_c* i_this) {
if (i_this->mEvtInfo.checkCommandDemoAccrpt()) {
i_this->mAction = ACT_EVENT;
i_this->setActio(ACT_EVENT);
int room = i_this->current.roomNo;
int sw = i_this->getSwbit();
dComIfGs_onSwitch(sw, room);
} else if (i_this->getType() == TYPE_CONTINUOUS && !i_this->chkAllSw2()) {
i_this->mAction = ACT_ON_ALL;
i_this->setActio(ACT_ON_ALL);
} else {
fopAcM_orderOtherEventId(i_this, i_this->mEventIdx, i_this->getEventNo(), 0xFFFF, 0, 1);
}
@@ -166,9 +147,9 @@ static BOOL daAndsw2_actionOrder(daAndsw2_c* i_this) {
static BOOL daAndsw2_actionEvent(daAndsw2_c* i_this) {
if (dComIfGp_evmng_endCheck(i_this->mEventIdx)) {
if (i_this->getType() == TYPE_CONTINUOUS) {
i_this->mAction = ACT_OFF;
i_this->setActio(ACT_OFF);
} else {
i_this->mAction = ACT_WAIT;
i_this->setActio(ACT_WAIT);
}
dComIfGp_event_reset();
}
@@ -178,7 +159,7 @@ static BOOL daAndsw2_actionEvent(daAndsw2_c* i_this) {
/* 000004BC-00000528 .text daAndsw2_actionOff__FP10daAndsw2_c */
static BOOL daAndsw2_actionOff(daAndsw2_c* i_this) {
if (!i_this->chkAllSw2()) {
i_this->mAction = ACT_ON_ALL;
i_this->setActio(ACT_ON_ALL);
int room = i_this->current.roomNo;
int sw = i_this->getSwbit();
dComIfGs_offSwitch(sw, room);
@@ -213,29 +194,29 @@ s32 daAndsw2_c::create() {
case TYPE_ONE_OFF:
if (sw == 0xFF || dComIfGs_isSwitch(sw, current.roomNo)) {
// Switch invalid or already set.
mAction = ACT_WAIT;
setActio(ACT_WAIT);
} else {
// Switch not yet set, check for the condition to be met.
mAction = ACT_ON_ALL;
setActio(ACT_ON_ALL);
}
mEventIdx = dComIfGp_evmng_getEventIdx(NULL, getEventNo());
break;
case TYPE_CONTINUOUS:
if (sw == 0xFF) {
// Switch invalid.
mAction = ACT_WAIT;
setActio(ACT_WAIT);
} else if (dComIfGs_isSwitch(sw, current.roomNo)) {
// Switch already set, wait for the condition to no longer be met.
mAction = ACT_OFF;
setActio(ACT_OFF);
} else {
// Switch not yet set, check for the condition to be met.
mAction = ACT_ON_ALL;
setActio(ACT_ON_ALL);
}
mEventIdx = dComIfGp_evmng_getEventIdx(NULL, getEventNo());
break;
default:
// Invalid type, do nothing.
mAction = ACT_WAIT;
setActio(ACT_WAIT);
break;
}
+1 -44
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_bg.cpp
//
#include "d/actor/d_a_bg.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_com_inf_game.h"
#include "d/d_procname.h"
@@ -21,50 +22,6 @@
#include "JSystem/JKernel/JKRSolidHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
class daBg_btkAnm_c {
public:
BOOL create(J3DModelData*, J3DAnmTextureSRTKey*);
void entry(J3DModelData*);
void play();
public:
/* 0x00 */ mDoExt_btkAnm * anm;
/* 0x04 */ u8 special;
};
class daBg_brkAnm_c {
public:
BOOL create(J3DModelData*, J3DAnmTevRegKey*);
void entry(J3DModelData*);
void play();
public:
/* 0x00 */ mDoExt_brkAnm * anm;
/* 0x04 */ u8 special;
};
class daBg_c : public fopAc_ac_c {
public:
~daBg_c();
const char * setArcName();
inline BOOL createHeap();
s32 create();
inline BOOL execute();
inline BOOL draw();
inline BOOL isDelete();
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ struct BgModel {
J3DModel * model;
daBg_btkAnm_c * btk;
daBg_brkAnm_c * brk;
dKy_tevstr_c * mpTevStr;
} bg[4];
/* 0x2D8 */ dBgW * bgw;
/* 0x2DC */ u8 mUnloadTimer;
};
/* 800D8434-800D8478 .text setArcName__6daBg_cFv */
const char* daBg_c::setArcName() {
static char arcName[32];
+1 -20
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_kaji.cpp
//
#include "d/actor/d_a_kaji.h"
#include "f_op/f_op_actor_mng.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
@@ -13,26 +14,6 @@
#include "d/d_procname.h"
#include "dolphin/types.h"
struct daKaji_c : fopAc_ac_c {
public:
BOOL CreateHeap();
inline s32 _create();
inline BOOL _delete();
inline BOOL _execute();
inline bool _draw();
void setAnm(int, f32) {}
void set_mtx() {}
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ u8 pad[0x29C - 0x298];
/* 0x29C */ mDoExt_McaMorf* mpMorf;
/* 0x2A0 */ Mtx mMtx;
static const char M_arcname[];
};
static daObjPirateship::Act_c* l_p_ship;
const char daKaji_c::M_arcname[] = "Kaji";
+1 -107
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_nh.cpp
//
#include "d/actor/d_a_nh.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_com_inf_game.h"
@@ -16,39 +17,6 @@
#include "m_Do/m_Do_mtx.h"
#include "JSystem/JUtility/JUTAssert.h"
class daNh_c;
class daNh_HIO_c : public JORReflexible {
struct hio_prm_c {
// Note: Offsets are relative to daNh_HIO_c instead of hio_prm_c for convenience.
/* 0x08 */ f32 field_0x08;
/* 0x0C */ f32 field_0x0c;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ f32 mGlowOffsetY;
/* 0x18 */ f32 mGlowScale;
/* 0x1C */ f32 mMinFrightenSpeed;
/* 0x20 */ f32 mHeightAboveGround;
/* 0x24 */ f32 mAscentSpeed;
/* 0x28 */ f32 mDescentSpeed;
/* 0x2C */ f32 mGravity;
/* 0x30 */ f32 mMaxHomeDist;
/* 0x34 */ f32 field_0x34;
/* 0x38 */ f32 mModelScale;
/* 0x3C */ s16 field_0x3c;
/* 0x3E */ s16 mDefaultGlowAlpha;
/* 0x40 */ s16 mBottleLifetime;
}; // Size: 0x3C
public:
daNh_HIO_c();
virtual ~daNh_HIO_c();
public:
/* 0x04 */ s8 mChildID;
/* 0x08 */ hio_prm_c prm;
/* 0x44 */ daNh_c* mpActor;
}; // Size: 0x48
static daNh_HIO_c l_HIO;
static dCcD_SrcCyl l_cyl_src = {
@@ -81,80 +49,6 @@ static dCcD_SrcCyl l_cyl_src = {
},
};
class daNh_c : fopAc_ac_c {
public:
enum Type {
TYPE_BOTTLE = 0x01,
// Any other value besides 0x01 will behave as the normal, non-bottled type.
// All three of the Forest Fireflies placed in stages have their type set to 0xFF.
// TYPE_BOTTLE (0x01) is spawned via daPy_lk_c::procBottleOpen.
};
enum ActionStatus {
ACTION_STARTING = 0,
ACTION_ONGOING = 1,
ACTION_ENDING = -1,
};
typedef BOOL (daNh_c::*daNh_c_ActionFunc)(void*);
bool isTypeBottle() { return mType == TYPE_BOTTLE; }
~daNh_c();
void setBaseMtx();
BOOL createHeap();
s32 create();
BOOL init();
void action(void*);
BOOL setAction(daNh_c_ActionFunc, void*);
BOOL checkBinCatch();
BOOL searchPlayer();
BOOL moveProc(f32, f32, s16);
f32 getHomeDistance();
BOOL checkTimer();
void BGCheck();
void airMove();
BOOL waitAction(void*);
BOOL checkEscapeEnd();
BOOL escapeAction(void*);
BOOL returnAction(void*);
BOOL execute();
BOOL initBrkAnm(bool);
void playBrkAnm();
BOOL draw();
public:
/* 0x290 */ u8 temp1[0x298 - 0x290];
/* 0x298 */ J3DModel* mpModel;
/* 0x29C */ dBgS_ObjAcch mAcch;
/* 0x460 */ dBgS_AcchCir mAcchCir;
/* 0x4A0 */ dCcD_Stts mStts;
/* 0x4DC */ dCcD_Cyl mCyl;
/* 0x60C */ mDoExt_brkAnm mBrkAnm;
/* 0x624 */ u8 temp2[0x630 - 0x624];
/* 0x630 */ cBgS_PolyInfo mPolyInfo;
/* 0x640 */ daNh_c_ActionFunc mCurrActionFunc;
/* 0x64C */ Mtx mGlowMtx;
/* 0x67C */ f32 mPlayerDist;
/* 0x680 */ f32 mGroundY;
/* 0x684 */ int mBottleTimer;
/* 0x688 */ s32 mAlpha;
/* 0x68C */ u8 unk68C;
/* 0x68D */ s8 mActionStatus;
/* 0x68E */ u8 mGlowAlpha;
/* 0x68F */ u8 mWobbleDir;
/* 0x690 */ u8 mWobbleTimer;
/* 0x691 */ u8 mType;
/* 0x692 */ u8 temp5[0x694 - 0x692];
/* 0x694 */ s16 mEscapeTimer;
/* 0x696 */ s16 unk696;
/* 0x698 */ s16 unk698;
/* 0x69A */ s16 unk69A;
/* 0x69C */ u8 temp6[0x6A0 - 0x69C];
/* 0x6A0 */ f32 unk6A0;
/* 0x6A4 */ u8 temp7[0x6A8 - 0x6A4];
};
/* 800F95B8-800F9654 .text __ct__10daNh_HIO_cFv */
daNh_HIO_c::daNh_HIO_c() {
mChildID = -1;
+1 -28
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_obj_bscurtain.cpp
//
#include "d/actor/d_a_obj_bscurtain.h"
#include "f_op/f_op_actor_mng.h"
#include "JSystem/JParticle/JPAParticle.h"
#include "JSystem/JKernel/JKRHeap.h"
@@ -14,34 +15,6 @@
#include "m_Do/m_Do_hostIO.h"
#include "m_Do/m_Do_mtx.h"
class daObj_Bscurtain_c : fopAc_ac_c {
public:
BOOL CreateHeap();
s32 CreateInit();
inline s32 _create();
inline bool _delete();
inline bool _execute();
inline bool _draw();
void set_mtx();
static const char M_arcname[4];
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ u32 field_0x298;
/* 0x29C */ J3DModel * mpModel;
};
class daObj_Bscurtain_HIO_c : public mDoHIO_entry_c {
public:
daObj_Bscurtain_HIO_c();
virtual ~daObj_Bscurtain_HIO_c() {}
public:
/* 0x04 */ s8 field_0x04;
/* 0x08 */ f32 field_0x08;
/* 0x0C */ u16 field_0x0c;
};
daObj_Bscurtain_HIO_c l_HIO;
const char daObj_Bscurtain_c::M_arcname[4] = "Ptc";
+4 -21
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_obj_gong.cpp
//
#include "d/actor/d_a_obj_gong.h"
#include "f_op/f_op_actor_mng.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
@@ -16,35 +17,17 @@
namespace daObjGong {
namespace {
struct L_attr_entry {
struct Attr_c {
/* 0x00 */ f32 spec;
/* 0x04 */ f32 offsetY;
};
static const L_attr_entry L_attr = {
static const Attr_c L_attr = {
0.75f, 125.0f,
};
inline const L_attr_entry & attr() { return L_attr; }
inline const Attr_c & attr() { return L_attr; }
}
class Act_c : fopAc_ac_c {
public:
s32 _create();
bool _execute();
bool _draw();
bool _delete();
bool create_heap();
void init_mtx();
void set_mtx();
bool demo_move();
static BOOL solidHeapCB(fopAc_ac_c *i_this);
static const char M_arcname[6];
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ mDoExt_McaMorf * mpMorf;
};
}
const char daObjGong::Act_c::M_arcname[6] = "Vdora";
+1 -41
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_obj_monument.cpp
//
#include "d/actor/d_a_obj_monument.h"
#include "f_op/f_op_actor_mng.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
@@ -15,16 +16,6 @@
namespace daObjMonument {
namespace {
enum Type_e {
ONE_e,
TWO_e,
};
struct Attr_c {
/* 0x00 */ s16 mModelId;
/* 0x01 */ s16 mBgWId;
};
static Attr_c L_attr[2] = {
{ 0x04, 0x08 },
{ 0x05, 0x09 },
@@ -32,37 +23,6 @@ namespace daObjMonument {
inline const Attr_c & attr(Type_e type) { return L_attr[type]; }
}
class Act_c : fopAc_ac_c {
public:
s32 _create();
bool _execute();
bool _draw();
bool _delete();
bool create_heap();
void init_mtx();
void set_mtx();
static BOOL solidHeapCB(fopAc_ac_c *i_this);
static const char M_arcname[6];
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel * mpModel;
/* 0x29C */ Type_e mType;
/* 0x2A0 */ dBgW * mpBgW;
/* 0x2A4 */ Mtx mtx;
enum Prm_e {
PRM_TYPE_W = 0x01,
PRM_TYPE_S = 0x00,
PRM_SWSAVE_W = 0x08,
PRM_SWSAVE_S = 0x08,
};
Type_e prm_get_type() const { return (Type_e)daObj::PrmAbstract<Prm_e>(this, PRM_TYPE_W, PRM_TYPE_S); }
u32 prm_get_swSave() const { return daObj::PrmAbstract<Prm_e>(this, PRM_SWSAVE_W, PRM_SWSAVE_S); }
};
}
const char daObjMonument::Act_c::M_arcname[6] = "Esekh";
+2 -5
View File
@@ -1,12 +1,9 @@
/**
* d_a_rectangle.cpp
*/
#include "d/actor/d_a_rectangle.h"
#include "f_op/f_op_actor.h"
#include "d/d_procname.h"
#include "dolphin/types.h"
struct RECTANGLE_class : fopAc_ac_c {};
/* 00000078-00000080 .text daRct_Draw__FP15RECTANGLE_class */
static BOOL daRct_Draw(RECTANGLE_class*) {
return true;
+2 -12
View File
@@ -9,11 +9,7 @@
#include "d/d_stage.h"
#include "m_Do/m_Do_lib.h"
#include "JSystem/JKernel/JKRHeap.h"
class sea_class : public fopAc_ac_c {
/* 0x290 */ u32 field_0x290;
/* 0x294 */ u32 field_0x294;
};
#include "d/actor/d_a_daiocta.h"
daSea_packet_c l_cloth;
@@ -318,12 +314,6 @@ void daSea_packet_c::SetCullStopFlag() {
}
}
class daDaiocta_c : public fopAc_ac_c {
public:
/* 0x298 */ u32 field_0x298[0xB9];
/* 0x574 */ u8 mSwitchNo;
};
/* 8015C11C-8015C1DC .text CheckRoomChange__14daSea_packet_cFv */
void daSea_packet_c::CheckRoomChange() {
dStage_roomDt_c * room = dComIfGp_roomControl_getStatusRoomDt(dComIfGp_roomControl_getStayNo());
@@ -336,7 +326,7 @@ void daSea_packet_c::CheckRoomChange() {
ClrFlat();
}
} else {
if (!dComIfGs_isSwitch(octa->mSwitchNo, fopAcM_GetHomeRoomNo(octa))) {
if (!dComIfGs_isSwitch(octa->getSw(), fopAcM_GetHomeRoomNo(octa))) {
SetFlat();
} else {
ClrFlat();
+1 -10
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_spotbox.cpp
//
#include "d/actor/d_a_spotbox.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_com_inf_game.h"
@@ -10,16 +11,6 @@
#include "dolphin/types.h"
#include "d/d_procname.h"
struct daSpotbox_c : public fopAc_ac_c {
public:
inline s32 create();
inline BOOL draw();
inline BOOL execute();
inline u32 getType();
public:
/* 0x290 */ Mtx mMtx;
}; // Size: 0x2C0
s32 daSpotbox_c::create() {
fopAcM_SetupActor(this, daSpotbox_c);
f32 baseScale = getType() != 0 ? 1000.0f : 100.0f;
+1 -21
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_swattack.cpp
//
#include "d/actor/d_a_swattack.h"
#include "f_op/f_op_actor_mng.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
@@ -10,27 +11,6 @@
#include "d/d_com_inf_game.h"
#include "d/d_procname.h"
class daSwAt_c : public fopAc_ac_c {
public:
s32 _create();
bool _execute();
bool _draw();
bool _delete();
void CreateInit();
public:
/* 0x290 */ u32 field_0x290[3];
/* 0x29C */ dCcD_Stts mStts;
/* 0x2D8 */ dCcD_Cyl mCyl;
/* 0x408 */ u8 mAtType;
/* 0x40C */ u32 mSwitchNo;
};
namespace daSwAt_prm {
inline u8 getAtType(daSwAt_c* ac) { return (fopAcM_GetParam(ac) >> 0) & 0xFF; }
inline u8 getSwitchNo(daSwAt_c* ac) { return (fopAcM_GetParam(ac) >> 8) & 0xFF; }
};
static dCcD_SrcCyl l_cyl_src = {
// dCcD_SrcGObjInf
{
+1 -11
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_vrbox2.cpp
//
#include "d/actor/d_a_vrbox2.h"
#include "f_op/f_op_actor_mng.h"
#include "f_op/f_op_camera_mng.h"
#include "d/d_com_inf_game.h"
@@ -14,17 +15,6 @@
#include "JSystem/J3DGraphBase/J3DMatBlock.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
class vrbox2_class : public fopAc_ac_c {
public:
/* 0x290 */ void * field_0x290;
/* 0x294 */ J3DModel* mpBackCloud;
/* 0x298 */ void * field_0x298;
/* 0x29C */ J3DModel* mpKasumiMae;
/* 0x2A0 */ void * field_0x2a0;
/* 0x2A4 */ J3DModel* mpUsoUmi;
/* 0x2A4 */ void * field_0x2a8;
};
/* 8015EA14-8015EA5C .text texScrollCheck__FRf */
void texScrollCheck(float& v) {
while (v < 0.0f)
+1 -22
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_boko_static.cpp
//
#include "d/actor/d_a_boko.h"
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_cc_d.h"
@@ -11,28 +12,6 @@
#include "JSystem/J3DGraphAnimator/J3DModel.h"
#include "m_Do/m_Do_mtx.h"
class daBoko_c : fopAc_ac_c {
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel * mpModel;
/* TODO The entire rest of daBoko_c */
public:
void getTopPos(cXyz *);
void getBlurRootPos(cXyz *);
static Vec m_top_offset[6];
static Vec m_blur_root_offset[6];
static Vec m_root_offset[6];
static f32 m_cps_r[6];
static s32 m_at_point[6];
static u32 m_at_type[6];
static f32 m_jump_blur_rate[6];
static f32 m_blur_rate[6];
static u8 m_se_type[6];
};
Vec daBoko_c::m_top_offset[6] = {
{ 0.0f, 0.0f, 85.0f },
{ 16.0f, 0.0f, 77.0f },