Finished porting all actor classes to headers

This commit is contained in:
LagoLunatic
2023-11-25 23:53:05 -05:00
parent 30357c1712
commit 5039fe661c
59 changed files with 499 additions and 637 deletions
+1 -1
View File
@@ -87,7 +87,7 @@ namespace daBomb2 {
void set_no_hit();
bool chk_explode();
static int solidHeapCB(fopAc_ac_c*);
static BOOL solidHeapCB(fopAc_ac_c*);
bool create_heap_nut();
bool create_heap();
void crr_init();
+4
View File
@@ -8,6 +8,10 @@
#include "JSystem/JParticle/JPAEmitter.h"
#include "SSystem/SComponent/c_phase.h"
struct ep_ga_s {
};
class ep_class : public fopAc_ac_c {
public:
/* 0x290 */ request_of_phase_process_class mPhsLoad_Ep;
+14
View File
@@ -9,6 +9,20 @@
#include "m_Do/m_Do_ext.h"
#include "SSystem/SComponent/c_phase.h"
struct mo_ga_s {
/* 0x00 */ J3DModel* mpModel;
/* 0x04 */ cXyz mPos;
/* 0x10 */ cXyz m10;
/* 0x1C */ s16 mRotX;
/* 0x1E */ s16 mRotY;
/* 0x20 */ u8 m20[0x24 - 0x20];
/* 0x24 */ f32 mScale;
/* 0x28 */ f32 mScaleY;
/* 0x2C */ s16 m2C;
/* 0x2E */ u8 m2E;
/* 0x2F */ u8 m2F;
};
class kantera_class : public fopAc_ac_c {
public:
/* 0x290 */ request_of_phase_process_class mPhs;
+50 -7
View File
@@ -2,28 +2,71 @@
#define D_A_MOZO_H
#include "f_op/f_op_actor.h"
#include "SSystem/SComponent/c_phase.h"
#include "m_Do/m_Do_ext.h"
#include "d/d_cc_d.h"
class daMozo_c : public fopAc_ac_c {
public:
typedef void(daMozo_c::*proc_t)(void);
void setProcess(void (daMozo_c::*)()) {}
void set_mtx();
s32 _create();
bool _delete();
bool _draw();
bool _execute();
void anime_proc();
void wait_proc_init();
void wait_proc();
void checkRange(int);
BOOL CreateHeap();
s32 CreateInit();
void event_move();
void getBeamActor(u32);
void search_beam_proc_init();
void search_beam_proc();
void search_fire_proc_init();
void search_fire_proc();
void towait_proc_init();
void towait_proc();
void checkRange(int);
void wait_proc_init();
void wait_proc();
void set_mtx();
void setAnm(int, float);
void getBeamActor(u32);
void event_move();
public:
/* Place member variables here */
// TODO: add offset comments
proc_t mCurrentProc;
request_of_phase_process_class mPhs;
mDoExt_McaMorf* mAnimMorf;
mDoExt_brkAnm mBrkAnm;
J3DAnmTevRegKey* m_brk;
mDoExt_btkAnm mBtkAnm;
J3DAnmTextureSRTKey* m_btk;
// TODO: insert missing members
Quaternion mQuatRotation;
dCcD_Stts mColStatus;
dCcD_Cps mCapsuleCol;
};
class daMozo_HIO_c {
public:
daMozo_HIO_c();
~daMozo_HIO_c() {}
};
class daMozo_childHIO_c {
public:
~daMozo_childHIO_c() {}
};
class daMozo_FireChildHIO_c {
public:
~daMozo_FireChildHIO_c() {}
};
class daMozo_BeamChildHIO_c {
public:
~daMozo_BeamChildHIO_c() {}
};
#endif /* D_A_MOZO_H */
+1 -1
View File
@@ -106,7 +106,7 @@ class daNh_HIO_c : public JORReflexible {
public:
daNh_HIO_c();
virtual ~daNh_HIO_c();
virtual ~daNh_HIO_c() {}
public:
/* 0x04 */ s8 mChildID;
+11 -3
View File
@@ -7,11 +7,19 @@
#include "SSystem/SComponent/c_phase.h"
class daObjAjavW_c : public fopAc_ac_c {
public:
s32 _create();
bool _execute();
bool _draw();
bool _delete();
bool create_heap();
static BOOL solidHeapCB(fopAc_ac_c *i_this);
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel* mModel;
/* 0x29C */ mDoExt_btkAnm mBtk;
/* 0x2B0 */ dBgW* mBgW;
/* 0x298 */ J3DModel * mpModel;
/* 0x29C */ mDoExt_btkAnm mBtkAnm;
/* 0x2B0 */ dBgW * mpBgW;
};
#endif /* D_A_OBJ_AJAVW_H */
+8 -1
View File
@@ -9,13 +9,20 @@
class daObjVteng_c : public fopAc_ac_c {
public:
void init_mtx();
s32 _create();
bool _execute();
bool _draw();
bool _delete();
bool create_heap();
bool jokai_demo();
static BOOL solidHeapCB(fopAc_ac_c *i_this);
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel* mpModel;
/* 0x29C */ mDoExt_McaMorf* mpMorf;
/* 0x2A0 */ dBgW* mpBgW;
/* 0x2A4 */ Mtx mMtx;
/* 0x2A4 */ Mtx mtx;
};
#endif /* D_A_OBJ_VTENG_H */
+14 -1
View File
@@ -2,6 +2,9 @@
#define D_A_OBJ_DRAGONHEAD_H
#include "f_op/f_op_actor.h"
#include "SSystem/SComponent/c_phase.h"
#include "d/d_cc_d.h"
#include "d/d_bg_w.h"
class daObjDragonhead_c : public fopAc_ac_c {
public:
@@ -10,11 +13,21 @@ public:
inline BOOL _draw();
inline BOOL _execute();
BOOL CreateHeap();
void CreateInit();
void set_mtx();
public:
/* Place member variables here */
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel * mpModel;
/* 0x29C */ dCcD_Stts mStts;
/* 0x2D8 */ dCcD_Sph mSph;
/* 0x404 */ u8 mAlpha;
/* 0x405 */ bool mSwitchOn;
/* 0x408 */ dBgW * mpBgW;
/* 0x40C */ u8 field_0x40c;
/* 0x410 */ cXyz mSphCenter;
/* 0x41C */ Mtx mtx;
};
#endif /* D_A_OBJ_DRAGONHEAD_H */
+16 -2
View File
@@ -2,15 +2,29 @@
#define D_A_OBJ_EAYOGN_H
#include "f_op/f_op_actor.h"
#include "SSystem/SComponent/c_phase.h"
#include "d/d_bg_w.h"
// #include "d/d_com_inf_game.h"
class daObjEayogn_c : public fopAc_ac_c {
public:
void check_ev_bit() const {}
// TODO: this function is marked as weak in the REL symbol map, but it does not get inlined for some reason?
// BOOL check_ev_bit() const { return dComIfGs_isSymbol(1); }
BOOL check_ev_bit() const;
s32 _create();
bool _execute();
bool _draw();
bool _delete();
BOOL create_heap();
static BOOL solidHeapCB(fopAc_ac_c *i_this);
void init_mtx();
static const char M_arcname[7];
public:
/* Place member variables here */
/* 0x290 */ J3DModel * mpModel;
/* 0x294 */ request_of_phase_process_class mPhs;
/* 0x2A0 */ dBgW * mpBgW;
};
#endif /* D_A_OBJ_EAYOGN_H */
+16 -1
View File
@@ -2,13 +2,28 @@
#define D_A_OBJ_HFUCK1_H
#include "f_op/f_op_actor.h"
#include "SSystem/SComponent/c_phase.h"
#include "d/d_bg_w.h"
#include "d/d_cc_d.h"
class daObjHfuck1_c : public fopAc_ac_c {
public:
void init_mtx();
s32 _create();
bool _execute();
bool _draw();
bool _delete();
bool create_heap();
bool checkCollision();
static BOOL solidHeapCB(fopAc_ac_c *i_this);
public:
/* Place member variables here */
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel * mpModel;
/* 0x29C */ dBgW * mpBgW;
/* 0x2A0 */ dCcD_Stts mStts;
/* 0x408 */ dCcD_Sph mSph;
/* 0x40C */ fopAc_ac_c * mpHookshotActor;
};
#endif /* D_A_OBJ_HFUCK1_H */
+43 -12
View File
@@ -3,10 +3,24 @@
#include "f_op/f_op_actor.h"
#include "d/d_bg_s_lin_chk.h"
#include "d/d_bg_s_acch.h"
class daObj_Hole_c : public fopAc_ac_c {
public:
void modeProcInit(int) {}
enum Proc_e {
PROC_INIT = 0,
PROC_EXEC = 1
};
enum Mode {
MODE_WAIT = 0,
MODE_EVENT = 1,
MODE_NULL,
};
static const char m_arc_name[];
void modeProcInit(int newMode) { modeProc(PROC_INIT, newMode); }
void setMtx();
void getPosAndAngle();
@@ -14,22 +28,39 @@ public:
void modeWait();
void modeEventInit();
void modeEvent();
void modeProc(daObj_Hole_c::Proc_e mode, int i_nextState);
void modeProc(Proc_e proc, int newMode);
void debugDraw();
void createInit();
void getArg();
bool _execute();
bool _draw();
BOOL _createHeap();
s32 _create();
bool _delete();
public:
/* 0x290 */ int mState;
/* 0x294 */ u8 mbHasModel;
/* 0x295 */ u8 mSclsNum;
/* 0x296 */ s16 mScale;
/* 0x298 */ u8 m298[0x2A0 - 0x298];
/* 0x2A0 */ J3DModel* mpModel;
/* 0x2A4 */ dBgS_LinChk mLinChk;
/* 0x310 */ u8 m310[0x338 - 0x310];
/* 0x338 */ int m338;
/* 0x33C */ u8 m33C[0x800 - 0x33C];
/* 0x0290 */ s32 mMode;
/* 0x0294 */ u8 mHasModel;
/* 0x0295 */ u8 mExitIdx;
/* 0x0296 */ u16 mScaleLocal;
/* 0x0298 */ request_of_phase_process_class mPhs;
/* 0x02A0 */ J3DModel* mpMdl;
/* 0x02A4 */ dBgS_ObjLinChk mLinChk;
/* 0x0310 */ dBgS_ObjAcch mAcch;
/* 0x04D4 */ dBgS_AcchCir mAcchCir;
};
class daObj_Hole_HIO_c {
public:
daObj_Hole_HIO_c();
virtual ~daObj_Hole_HIO_c() {}
/* 0x04 */ s8 m04;
/* 0x05 */ u8 m05;
/* 0x08 */ f32 m08;
/* 0x0C */ s16 m0C;
/* 0x10 */ f32 m10;
};
#endif /* D_A_OBJ_HOLE_H */
+49 -8
View File
@@ -5,24 +5,65 @@
#include "d/d_cc_d.h"
#include "SSystem/SComponent/c_phase.h"
#include "f_op/f_op_msg.h"
#include "d/d_a_obj.h"
namespace daObjPaper {
enum Type_e {
Opaper_e,
Ppos_e,
Piwa_e,
};
class Act_c : public fopAc_ac_c {
public:
void prm_get_msgNo() const {}
void prm_get_type() const {}
enum Prm_e {
PRM_MSG_NO_W = 0x10,
PRM_MSG_NO_S = 0x00,
PRM_TYPE_W = 0x04,
PRM_TYPE_S = 0x10,
};
enum Act_Mode_e {
ActMode_WAIT_e,
ActMode_TALKBEGIN_e,
ActMode_GETMSG_e,
ActMode_TALKWAIT_e,
};
u32 prm_get_msgNo() const { return daObj::PrmAbstract<Prm_e>(this, PRM_MSG_NO_W, PRM_MSG_NO_S); }
Type_e prm_get_type() const { return (Type_e)daObj::PrmAbstract<Prm_e>(this, PRM_TYPE_W, PRM_TYPE_S); }
static const dCcD_SrcCyl M_cyl_src;
static int solidHeapCB(fopAc_ac_c*);
bool create_heap();
s32 _create();
bool _delete();
void mode_wait_init();
void mode_wait();
void mode_talk0_init();
void mode_talk0();
void mode_talk1_init();
void mode_talk1();
void mode_talk2_init();
void mode_talk2();
void set_mtx();
void init_mtx();
void damage_cc_proc();
bool _execute();
bool _draw();
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel* mpModel;
/* 0x29C */ dCcD_Cyl mCyl;
/* 0x3CC */ dCcD_Stts mStts;
/* 0x408 */ u8 mbHasCc;
/* 0x409 */ u8 m409[0x40C - 0x409];
/* 0x29C */ dCcD_Cyl mCylinderCol;
/* 0x3CC */ dCcD_Stts mColStatus;
/* 0x408 */ bool mbHasCc;
/* 0x40C */ int mMode;
/* 0x410 */ int mMsgId;
/* 0x410 */ u32 mMsgId;
/* 0x414 */ msg_class* mpMsg;
/* 0x418 */ int mType;
/* 0x418 */ Type_e mType;
};
};
+13 -1
View File
@@ -5,7 +5,19 @@
class d_a_scene_change_c : public fopAc_ac_c {
public:
/* Place member variables here */
/* 0x290 */ Mtx mTransformMtx;
};
class daSceneChgHIO_c {
public:
daSceneChgHIO_c();
virtual ~daSceneChgHIO_c() {
m0004 = -1;
}
s8 m0004;
s8 m0005;
f32 m0008;
};
#endif /* D_A_SCENE_CHANGE_H */
+9 -1
View File
@@ -8,10 +8,18 @@
#include "m_Do/m_Do_ext.h"
#include "c/c_damagereaction.h"
struct st_p {
};
struct st_ke_s {
};
class st_class : public fopAc_ac_c {
public:
/* 0x02AC */ u8 m02AC[0x02B4 - 0x02AC];
/* 0x02B4 */ daSt__BehaviorTypes mBehaviorType;
/* 0x02B4 */ u8 mBehaviorType;
/* 0x02B5 */ u8 mAmbushSightRange;
/* 0x02B6 */ u8 mUnusedParam;
/* 0x02B7 */ u8 mAmbushSwitch;
+1 -1
View File
@@ -21,7 +21,7 @@ public:
s32 getTimer();
s32 getSwNo2();
s32 CreateHeap();
BOOL CreateHeap();
void decisionRtType();
s32 CreateInit();
+16 -1
View File
@@ -3,15 +3,30 @@
#include "f_op/f_op_actor.h"
#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
class daSwItem_c : public fopAc_ac_c {
public:
bool _delete();
BOOL CreateInit();
s32 _create();
bool _execute();
BOOL isRupeeInAllCreateTable(int);
bool _draw();
public:
/* 0x290 */ u8 m290[0x29C - 0x290];
/* 0x29C */ dCcD_Stts mStts;
/* 0x2D8 */ dCcD_Cyl mCyl;
/* 0x408 */ u8 mAtTypeTrigger;
/* 0x409 */ bool m409;
/* 0x409 */ bool mSpawnedItem;
/* 0x40A */ u8 m40A[0x40C - 0x40A];
};
namespace daSwItem_prm {
inline u32 getAtType(daSwItem_c* item) { return (fopAcM_GetParam(item) >> 0x00) & 0xFF; }
inline u32 getItemTbl(daSwItem_c* item) { return (fopAcM_GetParam(item) >> 0x08) & 0x3F; }
inline u32 getItemBitNo(daSwItem_c* item) { return (fopAcM_GetParam(item) >> 0x0E) & 0x7F; }
}
#endif /* D_A_SWITEM_H */
+23 -6
View File
@@ -3,23 +3,40 @@
#include "f_op/f_op_actor.h"
#include "SSystem/SComponent/c_phase.h"
#include "f_op/f_op_actor_mng.h"
class daSwTact_c : public fopAc_ac_c {
public:
void getR() {}
f32 getR() { return mRadius * mScale.x; }
bool _delete();
BOOL CreateHeap();
void CreateInit();
void set_mtx();
s32 getAnswer();
s32 _create();
bool _execute();
bool _draw();
static const char * m_arcname;
static const f32 mDefaultR;
static const f32 mDefaultRwM;
static const u32 m_heapsize;
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel* mpModel;
/* 0x298 */ J3DModel * model;
/* 0x29C */ f32 mRadius;
/* 0x2A0 */ u32 m2A0;
/* 0x2A0 */ u32 mSwitchNo;
/* 0x2A4 */ u8 mAnswer;
/* 0x2A5 */ u8 m2A5;
/* 0x2A6 */ u8 m2A6;
/* 0x2A7 */ u8 m2A7[0x2A8 - 0x2A7];
/* 0x2A5 */ bool mTrigger;
/* 0x2A6 */ u8 mPlayerStatus;
};
namespace daSwTact_prm {
inline u32 getSwitchNo(daSwTact_c * i_this) { return (fopAcM_GetParam(i_this) >> 0) & 0xFF; }
inline u32 getAnswer(daSwTact_c * i_this) { return (fopAcM_GetParam(i_this) >> 8) & 0xFF; }
inline u32 getModel(daSwTact_c * i_this) { return (fopAcM_GetParam(i_this) >> 16) & 0x0F; }
}
#endif /* D_A_SWTACT_H */
+18 -2
View File
@@ -5,13 +5,29 @@
class daTag_Msg_c : public fopAc_ac_c {
public:
typedef BOOL (ActionFunc)(daTag_Msg_c*);
inline s32 create();
inline BOOL draw();
inline BOOL execute();
void setActio(unsigned char) {}
void setActio(u8 action) { mAction = action; }
u32 getEventNo();
u32 getSwbit();
u32 getSwbit2();
u32 getType2();
const char* myDemoName();
u16 getMessage();
u16 getEventFlag();
BOOL arrivalTerms();
int rangeCheck();
int otherCheck();
public:
/* 0x290 */ u8 m290[0x294 - 0x290];
/* 0x290 */ u8 mAction;
/* 0x291 */ u8 field_0x291;
/* 0x292 */ u8 field_0x292;
/* 0x293 */ u8 field_0x293;
};
#endif /* D_A_TAG_MSG_H */
+3 -2
View File
@@ -10,6 +10,7 @@
#include "d/d_particle.h"
#include "d/d_bg_s_acch.h"
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_hostIO.h"
class daTbox_c : public fopAc_ac_c {
public:
@@ -54,7 +55,7 @@ public:
s32 getShapeType();
s32 getFuncType();
BOOL checkNormal();
s32 CreateHeap();
BOOL CreateHeap();
void CreateInit();
s32 boxCheck();
void lightUpProc();
@@ -120,7 +121,7 @@ public:
/* 0x76C */ u8 mOpenedSwitch;
};
class daTbox_HIO_c {
class daTbox_HIO_c : public JORReflexible {
public:
daTbox_HIO_c();
virtual ~daTbox_HIO_c() { }
-1
View File
@@ -344,7 +344,6 @@ public:
bool ChkCoHitNoActor() const { return mGObjCo.ChkRPrm(1); }
bool ChkAtHitNoActor() const { return mGObjAt.ChkRPrm(2); }
bool ChkTgHitNoActor() const { return mGObjTg.ChkRPrm(1); }
bool ChkTgWolfSpNoDamage() { return mGObjTg.ChkSPrm(0x800); }
bool ChkAtNoHitMark() { return mGObjAt.ChkSPrm(2); }
bool ChkTgNoHitMark() { return mGObjTg.ChkSPrm(4); }
bool ChkTgHookShotNoHitMark() { return mGObjTg.ChkSPrm(0x400); }
+23
View File
@@ -0,0 +1,23 @@
#ifndef D_THROWSTONE_H
#define D_THROWSTONE_H
#include "f_op/f_op_actor.h"
#include "SSystem/SComponent/c_phase.h"
class daThrowstone_c : public fopAc_ac_c {
public:
BOOL CreateHeap();
inline s32 _create();
inline BOOL _delete();
inline BOOL _execute();
inline bool _draw();
static const char M_arcname[5];
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel * mpModel;
/* 0x29C */ Mtx mMtx;
};
#endif /* D_THROWSTONE_H */
-3
View File
@@ -382,8 +382,6 @@ s32 fopAcM_createChildFromOffset(s16 procName, unsigned int parentProcID, u32 ac
void fopAcM_DeleteHeap(fopAc_ac_c* p_actor);
s32 fopAcM_callCallback(fopAc_ac_c* p_actor, heapCallbackFunc p_callbackFunc, JKRHeap* p_heap);
bool fopAcM_entrySolidHeap(fopAc_ac_c* p_actor, heapCallbackFunc p_heapCallback, u32 size);
inline void fopAcM_SetMin(fopAc_ac_c* p_actor, f32 minX, f32 minY, f32 minZ) {
@@ -428,7 +426,6 @@ f32 fopAcM_searchActorDistanceXZ2(fopAc_ac_c* p_actorA, fopAc_ac_c* p_actorB);
s32 fopAcM_rollPlayerCrash(fopAc_ac_c* i_this, f32 distAdjust, u32 flag);
s32 fopAcM_checkCullingBox(Mtx, f32, f32, f32, f32, f32, f32);
s32 fopAcM_cullingCheck(fopAc_ac_c*);
void* event_second_actor(u16);
s32 fopAcM_orderTalkEvent(fopAc_ac_c*, fopAc_ac_c*);
s32 fopAcM_orderSpeakEvent(fopAc_ac_c* i_actor);
s32 fopAcM_orderDoorEvent(fopAc_ac_c*, fopAc_ac_c*);
+2 -2
View File
@@ -1149,7 +1149,7 @@ BOOL daBomb_Delete(daBomb_c* i_this) {
#include "d/actor/d_a_bomb3.inc"
int daBomb_createHeap(fopAc_ac_c* i_this) {
BOOL daBomb_createHeap(fopAc_ac_c* i_this) {
static_cast<daBomb_c*>(i_this)->createHeap();
}
@@ -1176,7 +1176,7 @@ int daBomb_c::create() {
}
if(status == cPhs_COMPLEATE_e) {
if(fopAcM_entrySolidHeap(this, &daBomb_createHeap, m_attrType[mType].heapSize)) {
if(fopAcM_entrySolidHeap(this, daBomb_createHeap, m_attrType[mType].heapSize)) {
create_init();
}
else {
+2 -2
View File
@@ -186,7 +186,7 @@ namespace daBomb2 {
mpEmitter = param_1;
}
int Act_c::solidHeapCB(fopAc_ac_c* i_this) {
BOOL Act_c::solidHeapCB(fopAc_ac_c* i_this) {
return static_cast<Act_c*>(i_this)->create_heap();
}
@@ -310,7 +310,7 @@ namespace daBomb2 {
int status = dComIfG_resLoad(&mPhs, L_attr.resName);
if(status == cPhs_COMPLEATE_e) {
if(fopAcM_entrySolidHeap(this, &solidHeapCB, L_attr.heapSize)) {
if(fopAcM_entrySolidHeap(this, solidHeapCB, L_attr.heapSize)) {
create_init();
}
else {
+1 -1
View File
@@ -242,7 +242,7 @@ s32 daItem_c::_daItem_create() {
if (phase_state == cPhs_COMPLEATE_e) {
// Note: The demo version calls getHeapSize instead of getFieldHeapSize here.
u32 heap_size = dItem_data::getFieldHeapSize(m_itemNo);
if (!fopAcM_entrySolidHeap(this, &CheckFieldItemCreateHeap, heap_size)) {
if (!fopAcM_entrySolidHeap(this, CheckFieldItemCreateHeap, heap_size)) {
return cPhs_ERROR_e;
}
CreateInit();
+1 -1
View File
@@ -46,7 +46,7 @@ s32 daKaji_c::_create() {
s32 phase_state = dComIfG_resLoad(&mPhs, M_arcname);
if (phase_state == cPhs_COMPLEATE_e) {
if (fopAcM_entrySolidHeap(this, (heapCallbackFunc)&CheckCreateHeap, 0x660)) {
if (fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x660)) {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::YrotM(shape_angle.y);
mDoMtx_stack_c::scaleM(mScale);
+8 -94
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_mozo.cpp
//
#include "d/actor/d_a_mozo.h"
#include "f_op/f_op_actor_mng.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
@@ -14,95 +15,13 @@
#include "m_do/m_Do_mtx.h"
#include "m_Do/m_Do_ext.h"
/*** HIO ***/
class daMozo_HIO_c {
public:
daMozo_HIO_c();
~daMozo_HIO_c();
};
static daMozo_HIO_c l_HIO;
class daMozo_childHIO_c {
public:
~daMozo_childHIO_c();
};
class daMozo_FireChildHIO_c {
public:
~daMozo_FireChildHIO_c();
};
class daMozo_BeamChildHIO_c {
public:
~daMozo_BeamChildHIO_c();
};
/*** Actor ***/
class daMozo_c : public fopAc_ac_c {
public:
s32 _create();
bool _delete();
bool _draw();
bool _execute();
void anime_proc();
void checkRange(int);
s32 CreateHeap();
s32 CreateInit();
void event_move();
void getBeamActor(u32);
void search_beam_proc();
void search_beam_proc_init();
void search_fire_proc();
void search_fire_proc_init();
void set_mtx();
void setAnm(int, float);
void towait_proc();
void towait_proc_init();
void wait_proc();
void wait_proc_init();
typedef void(daMozo_c::*proc_t)(void);
proc_t mCurrentProc;
request_of_phase_process_class mPhs;
mDoExt_McaMorf* mAnimMorf;
mDoExt_brkAnm mBrkAnm;
J3DAnmTevRegKey* m_brk;
mDoExt_btkAnm mBtkAnm;
J3DAnmTextureSRTKey* m_btk;
// TODO: insert missing members
Quaternion mQuatRotation;
dCcD_Stts mColStatus;
dCcD_Cps mCapsuleCol;
};
/* 000000EC-000001D0 .text __ct__12daMozo_HIO_cFv */
daMozo_HIO_c::daMozo_HIO_c() {
/* Nonmatching */
}
/* 000001D0-0000022C .text __dt__21daMozo_FireChildHIO_cFv */
daMozo_FireChildHIO_c::~daMozo_FireChildHIO_c() {
/* Nonmatching */
}
/* 0000022C-00000288 .text __dt__21daMozo_BeamChildHIO_cFv */
daMozo_BeamChildHIO_c::~daMozo_BeamChildHIO_c() {
/* Nonmatching */
}
/* 00000288-000002D0 .text __dt__17daMozo_childHIO_cFv */
daMozo_childHIO_c::~daMozo_childHIO_c() {
/* Nonmatching */
}
/* 000002D0-00000568 .text daMozo_nodeCallBackBeam__FP8daMozo_cP8J3DModelP7J3DNodei */
void daMozo_nodeCallBackBeam(daMozo_c*, J3DModel*, J3DNode*, int) {
/* Nonmatching */
@@ -119,12 +38,12 @@ void daMozo_nodeCallBack(J3DNode*, int) {
}
/* 0000078C-000007AC .text CheckCreateHeap__FP10fopAc_ac_c */
s32 CheckCreateHeap(fopAc_ac_c* i_this) {
BOOL CheckCreateHeap(fopAc_ac_c* i_this) {
return static_cast<daMozo_c*>(i_this)->CreateHeap();
}
/* 000007AC-00000A24 .text CreateHeap__8daMozo_cFv */
s32 daMozo_c::CreateHeap() {
BOOL daMozo_c::CreateHeap() {
/* Nonmatching */
J3DModelData* mdlData = (J3DModelData*)dComIfG_getObjectRes("Mozo", 9);
@@ -269,7 +188,7 @@ s32 daMozo_c::_create() {
s32 result = dComIfG_resLoad(&mPhs, "Mozo");
if (result == cPhs_COMPLEATE_e) {
s32 solidHeapResult = fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckCreateHeap, 0x1AA0);
s32 solidHeapResult = fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x1AA0);
if (solidHeapResult & 0xFF == 0) {
result = cPhs_ERROR_e;
@@ -324,22 +243,22 @@ bool daMozo_c::_draw() {
}
/* 0000267C-000026A0 .text daMozo_Draw__FP8daMozo_c */
s32 daMozo_Draw(daMozo_c* i_this) {
BOOL daMozo_Draw(daMozo_c* i_this) {
return i_this->_draw();
}
/* 000026A0-000026C4 .text daMozo_Execute__FP8daMozo_c */
s32 daMozo_Execute(daMozo_c* i_this) {
BOOL daMozo_Execute(daMozo_c* i_this) {
return i_this->_execute();
}
/* 000026C4-000026CC .text daMozo_IsDelete__FP8daMozo_c */
s32 daMozo_IsDelete(daMozo_c*) {
BOOL daMozo_IsDelete(daMozo_c*) {
return TRUE;
}
/* 000026CC-000026F0 .text daMozo_Delete__FP8daMozo_c */
s32 daMozo_Delete(daMozo_c* i_this) {
BOOL daMozo_Delete(daMozo_c* i_this) {
return i_this->_delete();
}
@@ -348,11 +267,6 @@ s32 daMozo_Create(fopAc_ac_c* i_this) {
return static_cast<daMozo_c*>(i_this)->_create();
}
/* 00002710-000027AC .text __dt__12daMozo_HIO_cFv */
daMozo_HIO_c::~daMozo_HIO_c() {
/* Nonmatching */
}
static actor_method_class l_daMozo_Method = {
(process_method_func)daMozo_Create,
(process_method_func)daMozo_Delete,
+1 -4
View File
@@ -129,7 +129,7 @@ s32 daNh_c::create() {
fopAcM_SetupActor(this, daNh_c);
if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)&checkCreateHeap, a_heap_size_tbl)) {
if (!fopAcM_entrySolidHeap(this, checkCreateHeap, a_heap_size_tbl)) {
return cPhs_ERROR_e;
}
@@ -499,9 +499,6 @@ s32 daNh_Create(fopAc_ac_c* i_this) {
return ((daNh_c*)i_this)->create();
}
/* 800FAEAC-800FAEF4 .text __dt__10daNh_HIO_cFv */
daNh_HIO_c::~daNh_HIO_c() {}
actor_method_class l_daNh_Method = {
(process_method_func)daNh_Create,
(process_method_func)daNh_Delete,
+1 -1
View File
@@ -289,7 +289,7 @@ s32 daNpc_kam_c::create() {
s32 phase_state = dComIfG_resLoad(&mPhs, "Kamome");
if (phase_state == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, &checkCreateHeap, l_heap_size)) {
if (!fopAcM_entrySolidHeap(this, checkCreateHeap, l_heap_size)) {
mpMorf = NULL;
return cPhs_ERROR_e;
}
+2 -17
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_obj_AjavW.cpp
//
#include "d/actor/d_a_obj_AjavW.h"
#include "f_op/f_op_actor_mng.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
@@ -12,22 +13,6 @@
#include "m_Do/m_Do_ext.h"
#include "m_Do/m_Do_mtx.h"
class daObjAjavW_c : public fopAc_ac_c {
public:
s32 _create();
bool _execute();
bool _draw();
bool _delete();
bool create_heap();
static BOOL solidHeapCB(fopAc_ac_c *i_this);
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel * mpModel;
/* 0x29C */ mDoExt_btkAnm mBtkAnm;
/* 0x2B0 */ dBgW * mpBgW;
};
namespace {
static const char l_arcname[] = "AjavW";
};
@@ -66,7 +51,7 @@ s32 daObjAjavW_c::_create() {
s32 ret = dComIfG_resLoad(&mPhs, l_arcname);
if (ret == cPhs_COMPLEATE_e) {
if (fopAcM_entrySolidHeap(this, (heapCallbackFunc)solidHeapCB, 0x8c0) == 1) {
if (fopAcM_entrySolidHeap(this, solidHeapCB, 0x8c0) == 1) {
if (dComIfG_Bgsp()->Regist(mpBgW, this)) {
ret = cPhs_ERROR_e;
} else {
+2 -20
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_obj_Vteng.cpp
//
#include "d/actor/d_a_obj_Vteng.h"
#include "f_op/f_op_actor_mng.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
@@ -12,25 +13,6 @@
#include "m_Do/m_Do_ext.h"
#include "m_Do/m_Do_mtx.h"
class daObjVteng_c : public fopAc_ac_c {
public:
void init_mtx();
s32 _create();
bool _execute();
bool _draw();
bool _delete();
bool create_heap();
bool jokai_demo();
static BOOL solidHeapCB(fopAc_ac_c *i_this);
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel * mpModel;
/* 0x29C */ mDoExt_McaMorf* mpMorf;
/* 0x2A0 */ dBgW * mpBgW;
/* 0x2A4 */ Mtx mtx;
};
namespace {
static const char l_arcname[] = "Vteng";
};
@@ -93,7 +75,7 @@ s32 daObjVteng_c::_create() {
s32 ret = dComIfG_resLoad(&mPhs, l_arcname);
if (ret == cPhs_COMPLEATE_e) {
if (fopAcM_entrySolidHeap(this, (heapCallbackFunc)solidHeapCB, 0x72a0)) {
if (fopAcM_entrySolidHeap(this, solidHeapCB, 0x72a0)) {
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
init_mtx();
if (dComIfG_Bgsp()->Regist(mpBgW, this)) {
+1 -1
View File
@@ -71,7 +71,7 @@ s32 daObjYgush00_c::_create() {
s32 ret = dComIfG_resLoad(&mPhs, l_arcname);
if (ret == cPhs_COMPLEATE_e) {
if (fopAcM_entrySolidHeap(this, (heapCallbackFunc)solidHeapCB, 0x740) == 1) {
if (fopAcM_entrySolidHeap(this, solidHeapCB, 0x740) == 1) {
mpModel->setBaseScale(mScale);
mDoMtx_stack_c::transS(current.pos);
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
+1 -1
View File
@@ -67,7 +67,7 @@ s32 daObjAdnno_c::_create() {
s32 ret = dComIfG_resLoad(&mPhs, "Adnno");
if (ret == cPhs_COMPLEATE_e) {
if (fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckCreateHeap, 0x9C00) == 0) {
if (fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x9C00) == 0) {
ret = cPhs_ERROR_e;
} else {
CreateInit();
+1 -1
View File
@@ -68,7 +68,7 @@ namespace daObjAkabe {
init_mtx();
static const u32 heap_size[4] = { 0x200, 0x200, 0x200, 0x3E0, };
if (fopAcM_entrySolidHeap(this, (heapCallbackFunc)solidHeapCB, heap_size[mType])) {
if (fopAcM_entrySolidHeap(this, solidHeapCB, heap_size[mType])) {
dComIfG_Bgsp()->Regist(mpBgW, this);
mpBgW->SetCrrFunc(NULL);
mpBgW->SetPriority(1);
+1 -1
View File
@@ -66,7 +66,7 @@ s32 daObj_Bscurtain_c::_create() {
s32 ret = dComIfG_resLoad(&mPhs, M_arcname);
if (ret == cPhs_COMPLEATE_e) {
if (fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckCreateHeap, 0x10000)) {
if (fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x10000)) {
ret = CreateInit();
} else {
ret = cPhs_ERROR_e;
+1 -1
View File
@@ -51,7 +51,7 @@ s32 daObjCafelmp_c::_create() {
s32 ret = dComIfG_resLoad(&mPhs, "Cafelmp");
if (ret == cPhs_COMPLEATE_e) {
if (fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckCreateHeap, 0x680) == 0) {
if (fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x680) == 0) {
ret = cPhs_ERROR_e;
} else {
CreateInit();
+1 -1
View File
@@ -56,7 +56,7 @@ s32 daObjDmgroom_c::_create() {
s32 ret = dComIfG_resLoad(&mPhs, "Dmgroom");
if (ret == cPhs_COMPLEATE_e) {
if (fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckCreateHeap, 0x1460) == 0) {
if (fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x1460) == 0) {
ret = cPhs_ERROR_e;
} else {
CreateInit();
+8 -30
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_obj_dragonhead.cpp
//
#include "d/actor/d_a_obj_dragonhead.h"
#include "f_op/f_op_actor_mng.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
@@ -13,29 +14,6 @@
#include "m_Do/m_Do_ext.h"
#include "m_Do/m_Do_mtx.h"
class daObjDragonhead_c : public fopAc_ac_c {
public:
inline s32 _create();
inline bool _execute();
inline bool _draw();
inline bool _delete();
BOOL CreateHeap();
void CreateInit();
void set_mtx();
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel * mpModel;
/* 0x29C */ dCcD_Stts mStts;
/* 0x2D8 */ dCcD_Sph mSph;
/* 0x404 */ u8 mAlpha;
/* 0x405 */ bool mSwitchOn;
/* 0x408 */ dBgW * mpBgW;
/* 0x40C */ u8 field_0x40c;
/* 0x410 */ cXyz mSphCenter;
/* 0x41C */ Mtx mtx;
};
static dCcD_SrcSph sph_check_src = {
// dCcD_SrcGObjInf
{
@@ -138,7 +116,7 @@ s32 daObjDragonhead_c::_create() {
s32 ret = dComIfG_resLoad(&mPhs, "Qdghd");
if (ret == cPhs_COMPLEATE_e) {
if (fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckCreateHeap, 0x10500) == 0) {
if (fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x10500) == 0) {
ret = cPhs_ERROR_e;
} else {
CreateInit();
@@ -148,16 +126,16 @@ s32 daObjDragonhead_c::_create() {
return ret;
}
bool daObjDragonhead_c::_delete() {
BOOL daObjDragonhead_c::_delete() {
if (heap != NULL && field_0x40c == 1)
dComIfG_Bgsp()->Release(mpBgW);
mDoAud_seDeleteObject(&mSphCenter);
dComIfG_resDelete(&mPhs, "Qdghd");
return true;
return TRUE;
}
bool daObjDragonhead_c::_execute() {
BOOL daObjDragonhead_c::_execute() {
dComIfG_Ccsp()->Set(&mSph);
if (!mSwitchOn) {
mDoAud_seStart(JA_SE_OBJ_ICEBERG_BREATH, &mSphCenter, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
@@ -200,10 +178,10 @@ bool daObjDragonhead_c::_execute() {
}
set_mtx();
return true;
return TRUE;
}
bool daObjDragonhead_c::_draw() {
BOOL daObjDragonhead_c::_draw() {
g_env_light.settingTevStruct(TEV_TYPE_BG0, &current.pos, &mTevStr);
g_env_light.setLightTevColorType(mpModel, &mTevStr);
dComIfGd_setListBG();
@@ -215,7 +193,7 @@ bool daObjDragonhead_c::_draw() {
}
mDoExt_modelUpdateDL(mpModel);
dComIfGd_setList();
return true;
return TRUE;
}
/* 000003CC-000004FC .text daObjDragonhead_Create__FPv */
+6 -23
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_obj_eayogn.cpp
//
#include "d/actor/d_a_obj_eayogn.h"
#include "f_op/f_op_actor_mng.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
@@ -12,34 +13,16 @@
#include "m_Do/m_Do_ext.h"
#include "m_Do/m_Do_mtx.h"
class daObjEayogn_c : public fopAc_ac_c {
public:
s32 _create();
bool _execute();
bool _draw();
bool _delete();
bool create_heap();
static bool solidHeapCB(fopAc_ac_c *i_this);
void init_mtx();
BOOL check_ev_bit() const;
static const char M_arcname[7];
public:
/* 0x290 */ J3DModel * mpModel;
/* 0x294 */ request_of_phase_process_class mPhs;
/* 0x2A0 */ dBgW * mpBgW;
};
const char daObjEayogn_c::M_arcname[7] = "Eayogn";
/* 00000078-00000098 .text solidHeapCB__13daObjEayogn_cFP10fopAc_ac_c */
bool daObjEayogn_c::solidHeapCB(fopAc_ac_c* i_this) {
BOOL daObjEayogn_c::solidHeapCB(fopAc_ac_c* i_this) {
return ((daObjEayogn_c*)i_this)->create_heap();
}
/* 00000098-00000198 .text create_heap__13daObjEayogn_cFv */
bool daObjEayogn_c::create_heap() {
bool ret = false;
BOOL daObjEayogn_c::create_heap() {
BOOL ret = FALSE;
J3DModelData* mdl_data = static_cast<J3DModelData*>(dComIfG_getObjectRes(M_arcname, 0x04));
JUT_ASSERT(0x5c, mdl_data != 0);
@@ -49,7 +32,7 @@ bool daObjEayogn_c::create_heap() {
if (mpModel != NULL) {
mpBgW = dBgW_NewSet((cBgD_t*)dComIfG_getObjectRes(M_arcname, 0x07), cBgW::MOVE_BG_e, &mpModel->getBaseTRMtx());
if (mpBgW != NULL)
ret = true;
ret = TRUE;
}
}
@@ -67,7 +50,7 @@ s32 daObjEayogn_c::_create() {
if (ret == cPhs_COMPLEATE_e) {
ret = cPhs_ERROR_e;
if (fopAcM_entrySolidHeap(this, (heapCallbackFunc)solidHeapCB, 0x0)) {
if (fopAcM_entrySolidHeap(this, solidHeapCB, 0x0)) {
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
init_mtx();
dComIfG_Bgsp()->Regist(mpBgW, this);
+1 -1
View File
@@ -57,7 +57,7 @@ s32 daObjGbed_c::_create() {
s32 ret = dComIfG_resLoad(&mPhs, l_arcname);
if (ret == cPhs_COMPLEATE_e) {
if (fopAcM_entrySolidHeap(this, (heapCallbackFunc)solidHeapCB, 0x13e0)) {
if (fopAcM_entrySolidHeap(this, solidHeapCB, 0x13e0)) {
if (dComIfG_Bgsp()->Regist(mpBgW, this)) {
ret = cPhs_ERROR_e;
} else {
+1 -1
View File
@@ -67,7 +67,7 @@ s32 daObjGong::Act_c::_create() {
s32 ret = dComIfG_resLoad(&mPhs, M_arcname);
if (ret == cPhs_COMPLEATE_e) {
if (fopAcM_entrySolidHeap(this, (heapCallbackFunc)solidHeapCB, 0x0)) {
if (fopAcM_entrySolidHeap(this, solidHeapCB, 0x0)) {
fopAcM_SetMtx(this, mpMorf->getModel()->getBaseTRMtx());
init_mtx();
fopAcM_setCullSizeBox(this, -100.0f, -1.0f, -50.0f, 100.0f, 230.0f, 50.0f);
+2 -21
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_obj_hfuck1.cpp
//
#include "d/actor/d_a_obj_hfuck1.h"
#include "f_op/f_op_actor_mng.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
@@ -13,26 +14,6 @@
#include "m_Do/m_Do_ext.h"
#include "m_Do/m_Do_mtx.h"
class daObjHfuck1_c : public fopAc_ac_c {
public:
void init_mtx();
s32 _create();
bool _execute();
bool _draw();
bool _delete();
bool create_heap();
bool checkCollision();
static BOOL solidHeapCB(fopAc_ac_c *i_this);
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel * mpModel;
/* 0x29C */ dBgW * mpBgW;
/* 0x2A0 */ dCcD_Stts mStts;
/* 0x408 */ dCcD_Sph mSph;
/* 0x40C */ fopAc_ac_c * mpHookshotActor;
};
namespace {
static const char l_arcname[] = "Hfuck1";
@@ -122,7 +103,7 @@ s32 daObjHfuck1_c::_create() {
s32 ret = dComIfG_resLoad(&mPhs, l_arcname);
if (ret == cPhs_COMPLEATE_e) {
if (fopAcM_entrySolidHeap(this, (heapCallbackFunc)solidHeapCB, 0xc20)) {
if (fopAcM_entrySolidHeap(this, solidHeapCB, 0xc20)) {
if (dComIfG_Bgsp()->Regist(mpBgW, this)) {
ret = cPhs_ERROR_e;
} else {
+31 -94
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_obj_hole.cpp
//
#include "d/actor/d_a_obj_hole.h"
#include "d/d_bg_s_lin_chk.h"
#include "d/d_bg_s_acch.h"
#include "d/d_com_inf_game.h"
@@ -23,86 +24,22 @@ static f32 dummy2[3] = {1.0f, 1.0f, 1.0f};
static u8 dummy3[4] = {0x02, 0x00, 0x02, 0x01};
static f64 dummy4[2] = {3.0, 0.5};
class daObj_Hole_HIO_c {
public:
daObj_Hole_HIO_c();
virtual ~daObj_Hole_HIO_c() {}
/* 0x0004 */ s8 m0004;
/* 0x0005 */ u8 m0005;
/* 0x0008 */ float m0008;
/* 0x000C */ s16 m000C;
/* 0x0010 */ float m0010;
};
static daObj_Hole_HIO_c l_HIO;
class daObj_Hole_c : public fopAc_ac_c {
public:
enum Proc_e {
PROC_INIT = 0,
PROC_EXEC = 1
};
enum Mode {
MODE_WAIT = 0,
MODE_EVENT = 1,
MODE_NULL,
};
void modeProcInit(int newMode) { modeProc(PROC_INIT, newMode); }
void setMtx();
void getPosAndAngle();
void modeWaitInit();
void modeWait();
void modeEventInit();
void modeEvent();
void modeProc(Proc_e, int);
s32 _execute();
void debugDraw();
s32 _draw();
void createInit();
s32 _createHeap();
void getArg();
s32 _create();
s32 _delete();
static const char m_arc_name[];
/* 0x0290 */ s32 mMode;
/* 0x0294 */ u8 mHasModel;
/* 0x0295 */ u8 mExitIdx;
/* 0x0296 */ u16 mScaleLocal;
/* 0x0298 */ request_of_phase_process_class mPhs;
/* 0x02A0 */ J3DModel* mpMdl;
/* 0x02A4 */ dBgS_ObjLinChk mLinChk;
/* 0x0310 */ dBgS_ObjAcch mAcch;
/* 0x04D4 */ dBgS_AcchCir mAcchCir;
};
const char daObj_Hole_c::m_arc_name[] = "Aana";
/* 000000EC-0000010C .text createHeap_CB__FP10fopAc_ac_c */
static s32 createHeap_CB(fopAc_ac_c* i_actor) {
static BOOL createHeap_CB(fopAc_ac_c* i_actor) {
return static_cast<daObj_Hole_c*>(i_actor)->_createHeap();
}
/* 0000010C-00000148 .text __ct__16daObj_Hole_HIO_cFv */
daObj_Hole_HIO_c::daObj_Hole_HIO_c() {
m0004 = -1;
m0005 = 0;
m0008 = 65.0f;
m000C = 0;
m0010 = 2.0f;
m04 = -1;
m05 = 0;
m08 = 65.0f;
m0C = 0;
m10 = 2.0f;
}
/* 00000148-000002BC .text setMtx__12daObj_Hole_cFv */
@@ -111,23 +48,23 @@ void daObj_Hole_c::setMtx() {
adjustPos.x = current.pos.x;
adjustPos.y = current.pos.y;
adjustPos.z = current.pos.z;
adjustPos.y += l_HIO.m0010;
adjustPos.y += l_HIO.m10;
if (mMode != MODE_EVENT) {
shape_angle.y = fopCamM_GetAngleY(dComIfGp_getCamera(0)) + 0x8000;
}
if (mHasModel == 0xFF) {
float scale = l_HIO.m0008 * mScale.x;
float scale = l_HIO.m08 * mScale.x;
if (l_HIO.m000C != 0) {
scale += l_HIO.m000C * 10;
if (l_HIO.m0C != 0) {
scale += l_HIO.m0C * 10;
}
else {
scale += mScaleLocal * 10;
}
scale /= l_HIO.m0008;
scale /= l_HIO.m08;
cXyz scaleVec;
scaleVec.setall(scale);
@@ -167,10 +104,10 @@ void daObj_Hole_c::modeWaitInit() {
/* 00000410-000004F0 .text modeWait__12daObj_Hole_cFv */
void daObj_Hole_c::modeWait() {
float scale = l_HIO.m0008 * mScale.x;
float scale = l_HIO.m08 * mScale.x;
if (l_HIO.m000C != 0) {
scale += l_HIO.m000C * 10;
if (l_HIO.m0C != 0) {
scale += l_HIO.m0C * 10;
}
else {
scale += mScaleLocal * 10;
@@ -241,21 +178,21 @@ void daObj_Hole_c::modeProc(daObj_Hole_c::Proc_e proc, int newMode) {
}
/* 000006C0-00000700 .text _execute__12daObj_Hole_cFv */
s32 daObj_Hole_c::_execute() {
bool daObj_Hole_c::_execute() {
modeProc(PROC_EXEC, MODE_NULL);
setMtx();
return 0;
return false;
}
/* 00000700-00000738 .text debugDraw__12daObj_Hole_cFv */
void daObj_Hole_c::debugDraw() {
cXyz pos = current.pos;
pos.y += l_HIO.m0010;
pos.y += l_HIO.m10;
}
/* 00000738-000007BC .text _draw__12daObj_Hole_cFv */
s32 daObj_Hole_c::_draw() {
if (l_HIO.m0005 != 0) {
bool daObj_Hole_c::_draw() {
if (l_HIO.m05 != 0) {
debugDraw();
}
@@ -266,7 +203,7 @@ s32 daObj_Hole_c::_draw() {
mDoExt_modelUpdateDL(mpMdl);
}
return 1;
return true;
}
/* 000007BC-00000864 .text createInit__12daObj_Hole_cFv */
@@ -286,7 +223,7 @@ void daObj_Hole_c::createInit() {
}
/* 00000864-00000928 .text _createHeap__12daObj_Hole_cFv */
s32 daObj_Hole_c::_createHeap() {
BOOL daObj_Hole_c::_createHeap() {
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(m_arc_name, 3);
JUT_ASSERT(0x13D, modelData != 0);
@@ -294,10 +231,10 @@ s32 daObj_Hole_c::_createHeap() {
mpMdl = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000022);
if (mpMdl == NULL) {
return 0;
return FALSE;
}
else {
return 1;
return TRUE;
}
}
@@ -326,7 +263,7 @@ s32 daObj_Hole_c::_create() {
getArg();
if (mHasModel == 0xFF) {
u32 heapResult = fopAcM_entrySolidHeap(this, (heapCallbackFunc)createHeap_CB, 0x1000);
u32 heapResult = fopAcM_entrySolidHeap(this, createHeap_CB, 0x1000);
if (heapResult == 0) {
return cPhs_ERROR_e;
@@ -340,9 +277,9 @@ s32 daObj_Hole_c::_create() {
}
/* 0000122C-0000125C .text _delete__12daObj_Hole_cFv */
s32 daObj_Hole_c::_delete() {
bool daObj_Hole_c::_delete() {
dComIfG_resDelete(&mPhs, m_arc_name);
return 1;
return true;
}
/* 0000125C-0000127C .text daObj_HoleCreate__FPv */
@@ -351,22 +288,22 @@ static s32 daObj_HoleCreate(void* i_actor) {
}
/* 0000127C-000012A0 .text daObj_HoleDelete__FPv */
static u8 daObj_HoleDelete(void* i_actor) {
static BOOL daObj_HoleDelete(void* i_actor) {
return static_cast<daObj_Hole_c*>(i_actor)->_delete();
}
/* 000012A0-000012C4 .text daObj_HoleExecute__FPv */
static u8 daObj_HoleExecute(void* i_actor) {
static BOOL daObj_HoleExecute(void* i_actor) {
return static_cast<daObj_Hole_c*>(i_actor)->_execute();
}
/* 000012C4-000012E8 .text daObj_HoleDraw__FPv */
static u8 daObj_HoleDraw(void* i_actor) {
static BOOL daObj_HoleDraw(void* i_actor) {
return static_cast<daObj_Hole_c*>(i_actor)->_draw();
}
/* 000012E8-000012F0 .text daObj_HoleIsDelete__FPv */
static u8 daObj_HoleIsDelete(void* i_actor) {
static BOOL daObj_HoleIsDelete(void* i_actor) {
return TRUE;
}
+3 -66
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_obj_paper.cpp
//
#include "d/actor/d_a_obj_paper.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
#include "f_op/f_op_actor.h"
@@ -27,12 +28,6 @@ static f64 dummy4[2] = {3.0f, 0.5f};
namespace daObjPaper {
namespace {
enum Type_e {
Opaper_e,
Ppos_e,
Piwa_e,
};
struct Attr_c {
/* 0x00 */ char* mResName;
/* 0x04 */ s32 mHeapSize;
@@ -59,7 +54,7 @@ namespace daObjPaper {
inline const Attr_c & attr(Type_e type) { return L_attr[type]; }
}
static const dCcD_SrcCyl M_cyl_src = {
const dCcD_SrcCyl Act_c::M_cyl_src = {
// dCcD_SrcGObjInf
{
/* Flags */ 0,
@@ -89,64 +84,6 @@ namespace daObjPaper {
},
};
enum Act_Mode_e {
ActMode_WAIT_e,
ActMode_TALKBEGIN_e,
ActMode_GETMSG_e,
ActMode_TALKWAIT_e,
};
class Act_c : public fopAc_ac_c {
public:
static int solidHeapCB(fopAc_ac_c*);
bool create_heap();
s32 _create();
bool _delete();
void mode_wait_init();
void mode_wait();
void mode_talk0_init();
void mode_talk0();
void mode_talk1_init();
void mode_talk1();
void mode_talk2_init();
void mode_talk2();
void set_mtx();
void init_mtx();
void damage_cc_proc();
bool _execute();
bool _draw();
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel* mpModel;
/* 0x29C */ dCcD_Cyl mCylinderCol;
/* 0x3CC */ dCcD_Stts mColStatus;
/* 0x408 */ bool mbHasCc;
/* 0x40C */ int mMode;
/* 0x410 */ u32 mMsgId;
/* 0x414 */ msg_class* mpMsg;
/* 0x418 */ Type_e mType;
enum Prm_e {
PRM_MSG_NO_W = 0x10,
PRM_MSG_NO_S = 0x00,
PRM_TYPE_W = 0x04,
PRM_TYPE_S = 0x10,
};
u32 prm_get_msgNo() const { return daObj::PrmAbstract<Prm_e>(this, PRM_MSG_NO_W, PRM_MSG_NO_S); }
Type_e prm_get_type() const { return (Type_e)daObj::PrmAbstract<Prm_e>(this, PRM_TYPE_W, PRM_TYPE_S); }
};
/* 00000078-0000009C .text solidHeapCB__Q210daObjPaper5Act_cFP10fopAc_ac_c */
int Act_c::solidHeapCB(fopAc_ac_c* i_this) {
return static_cast<Act_c*>(i_this)->create_heap();
@@ -177,7 +114,7 @@ namespace daObjPaper {
s32 result = dComIfG_resLoad(&mPhs, attr(mType).mResName);
if (result == cPhs_COMPLEATE_e) {
if (fopAcM_entrySolidHeap(this, (heapCallbackFunc)solidHeapCB, attr(mType).mHeapSize)) {
if (fopAcM_entrySolidHeap(this, solidHeapCB, attr(mType).mHeapSize)) {
mEyePos.y += attr(mType).mEyeOffset;
mAttentionInfo.mPosition.y += attr(mType).mAttentionOffset;
+1 -1
View File
@@ -61,7 +61,7 @@ static cPhs__Step daObjPbka_Create(void* i_this) {
cPhsStep = dComIfG_resLoad(&a_this->mPhase, "Pbka");
if (cPhsStep == cPhs_COMPLEATE_e) {
if ((fopAcM_entrySolidHeap(a_this, CheckCreateHeap, 0x680) & 0xff) == 0) {
if (fopAcM_entrySolidHeap(a_this, CheckCreateHeap, 0x680) == 0) {
cPhsStep = cPhs_ERROR_e;
} else {
a_this->CreateInit();
+4 -4
View File
@@ -102,7 +102,7 @@ static u8 dummy3[] = {
0
};
static int createHeap_CB(fopAc_ac_c* i_this) {
static BOOL createHeap_CB(fopAc_ac_c* i_this) {
return static_cast<daObjTpost_c*>(i_this)->_createHeap();
}
@@ -113,12 +113,12 @@ BOOL daObjTpost_c::_createHeap() {
mMorf = new mDoExt_McaMorf(modelData, 0, 0, 0, -1, 1.0f, 0, -1, 1, 0, 0x80000, 0x11000022);
if(mMorf == 0 || mMorf->getModel() == 0) {
return 0;
return FALSE;
}
else {
mMorf->getModel()->setUserArea((u32)this);
return 1;
return TRUE;
}
}
@@ -947,7 +947,7 @@ int daObjTpost_c::_create() {
getArg();
int step = dComIfG_resLoad(&mPhs, m_arc_name);
if(step == cPhs_COMPLEATE_e) {
if(fopAcM_entrySolidHeap(this, &createHeap_CB, 0x7E0) == 0) {
if(fopAcM_entrySolidHeap(this, createHeap_CB, 0x7E0) == 0) {
return cPhs_ERROR_e;
}
+1 -1
View File
@@ -4507,7 +4507,7 @@ J3DModelData* daPy_lk_c::initModel(J3DModel** i_model, int i_fileIndex, u32 i_di
/* 80124C98-80125CC8 .text playerInit__9daPy_lk_cFv */
void daPy_lk_c::playerInit() {
if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)&daPy_createHeap, 0xB0000)) {
if (!fopAcM_entrySolidHeap(this, daPy_createHeap, 0xB0000)) {
JUT_ASSERT(0x53B6, 0);
}
+1 -20
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_scene_change.cpp
//
#include "d/actor/d_a_scene_change.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_mng.h"
@@ -11,23 +12,8 @@
#include "d/d_procname.h"
#include "dolphin/types.h"
class daSceneChgHIO_c {
public:
daSceneChgHIO_c();
virtual ~daSceneChgHIO_c();
s8 m0004;
s8 m0005;
f32 m0008;
};
static daSceneChgHIO_c l_HIO;
class d_a_scene_change_c : public fopAc_ac_c {
public:
Mtx mTransformMtx;
};
/* 000000EC-00000118 .text __ct__15daSceneChgHIO_cFv */
daSceneChgHIO_c::daSceneChgHIO_c() {
m0004 = 0xFF;
@@ -68,11 +54,6 @@ BOOL daSceneChgIsDelete(void* i_this) {
return TRUE;
}
/* 000001C8-00000218 .text __dt__15daSceneChgHIO_cFv */
daSceneChgHIO_c::~daSceneChgHIO_c() {
m0004 = 0xFF;
}
static actor_method_class daSceneChgMethodTable = {
(process_method_func)daSceneChgCreate,
(process_method_func)daSceneChgDelete,
+2 -2
View File
@@ -347,7 +347,7 @@ void daSea_packet_c::execute(cXyz&) {
}
/* 8015C75C-8015D80C .text draw__14daSea_packet_cFv */
BOOL daSea_packet_c::draw() {
void daSea_packet_c::draw() {
/* Nonmatching */
}
@@ -386,7 +386,7 @@ BOOL CheckCreateHeap(fopAc_ac_c* i_this) {
/* 8015D924-8015D99C .text daSea_Create__FP10fopAc_ac_c */
s32 daSea_Create(fopAc_ac_c* i_this) {
fopAcM_SetupActor(i_this, sea_class);
if (!fopAcM_entrySolidHeap(i_this, (heapCallbackFunc)CheckCreateHeap, 0xA000))
if (!fopAcM_entrySolidHeap(i_this, CheckCreateHeap, 0xA000))
return cPhs_ERROR_e;
return cPhs_COMPLEATE_e;
}
+3 -3
View File
@@ -196,17 +196,17 @@ int daShopItem_c::_create() {
else if(result == cPhs_COMPLEATE_e && result2 == cPhs_COMPLEATE_e) {
u8 type = fopAcM_GetParamBit(fopAcM_GetParam(this), 8, 4);
if(type == 2 || (type == 0 && mModelType[m_itemNo] == 0x02)) {
if(fopAcM_entrySolidHeap(this, &CheckItemCreateHeap, dItem_data::getHeapSize(m_itemNo)) == 0) {
if(fopAcM_entrySolidHeap(this, CheckItemCreateHeap, dItem_data::getHeapSize(m_itemNo)) == 0) {
return cPhs_ERROR_e;
}
}
else if(type == 1 || (type == 0 && mModelType[m_itemNo] == 0x01)) {
if(fopAcM_entrySolidHeap(this, &CheckFieldItemCreateHeap, dItem_data::getFieldHeapSize(m_itemNo)) == 0) {
if(fopAcM_entrySolidHeap(this, CheckFieldItemCreateHeap, dItem_data::getFieldHeapSize(m_itemNo)) == 0) {
return cPhs_ERROR_e;
}
}
else {
if(fopAcM_entrySolidHeap(this, &CheckItemCreateHeap, dItem_data::getHeapSize(m_itemNo)) == 0) {
if(fopAcM_entrySolidHeap(this, CheckItemCreateHeap, dItem_data::getHeapSize(m_itemNo)) == 0) {
return cPhs_ERROR_e;
}
}
+3 -3
View File
@@ -102,7 +102,7 @@ s32 daSwhit0_c::getSwNo2() {
}
/* 000000C4-00000230 .text CreateHeap__10daSwhit0_cFv */
s32 daSwhit0_c::CreateHeap() {
BOOL daSwhit0_c::CreateHeap() {
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("Always", 0x35);
JUT_ASSERT(0xD5, modelData != 0);
@@ -184,7 +184,7 @@ s32 daSwhit0_c::CreateInit() {
}
/* 000004E8-00000508 .text CheckCreateHeap__FP10fopAc_ac_c */
static s32 CheckCreateHeap(fopAc_ac_c* i_actr) {
static BOOL CheckCreateHeap(fopAc_ac_c* i_actr) {
return static_cast<daSwhit0_c*>(i_actr)->CreateHeap();
}
@@ -195,7 +195,7 @@ s32 daSwhit0_c::create() {
shape_angle.z = 0;
current.angle.z = 0;
if ((fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckCreateHeap, 0x34A0) & 0xFF) == 0) {
if (fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x34A0) == 0) {
return cPhs_ERROR_e;
}
+1 -24
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_switem.cpp
//
#include "d/actor/d_a_switem.h"
#include "f_op/f_op_actor_mng.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "d/d_procname.h"
@@ -12,30 +13,6 @@
#include "d/d_item.h"
#include "d/actor/d_a_item.h"
class daSwItem_c : public fopAc_ac_c {
public:
bool _delete();
BOOL CreateInit();
s32 _create();
bool _execute();
BOOL isRupeeInAllCreateTable(int);
bool _draw();
public:
/* 0x290 */ u8 m290[0x29C - 0x290];
/* 0x29C */ dCcD_Stts mStts;
/* 0x2D8 */ dCcD_Cyl mCyl;
/* 0x408 */ u8 mAtTypeTrigger;
/* 0x409 */ bool mSpawnedItem;
/* 0x40A */ u8 field_40A[0x40C - 0x40A];
};
namespace daSwItem_prm {
inline u32 getAtType(daSwItem_c* item) { return (fopAcM_GetParam(item) >> 0x00) & 0xFF; }
inline u32 getItemTbl(daSwItem_c* item) { return (fopAcM_GetParam(item) >> 0x08) & 0x3F; }
inline u32 getItemBitNo(daSwItem_c* item) { return (fopAcM_GetParam(item) >> 0x0E) & 0x7F; }
}
static dCcD_SrcCyl l_cyl_src = {
// dCcD_SrcGObjInf
{
+3 -37
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_a_swtact.cpp
//
#include "d/actor/d_a_swtact.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_com_inf_game.h"
#include "d/d_procname.h"
@@ -12,41 +13,6 @@
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
class daSwTact_c : public fopAc_ac_c {
public:
bool _delete();
BOOL CreateHeap();
void CreateInit();
void set_mtx();
s32 getAnswer();
s32 _create();
bool _execute();
bool _draw();
inline f32 getR() { return mRadius * mScale.x; }
static const char * m_arcname;
static const f32 mDefaultR;
static const f32 mDefaultRwM;
static const u32 m_heapsize;
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel * model;
/* 0x29C */ f32 mRadius;
/* 0x2A0 */ u32 mSwitchNo;
/* 0x2A4 */ u8 mAnswer;
/* 0x2A5 */ bool mTrigger;
/* 0x2A6 */ u8 mPlayerStatus;
/* 0x2A7 */ u8 pad;
};
namespace daSwTact_prm {
inline u32 getSwitchNo(daSwTact_c * i_this) { return (fopAcM_GetParam(i_this) >> 0) & 0xFF; }
inline u32 getAnswer(daSwTact_c * i_this) { return (fopAcM_GetParam(i_this) >> 8) & 0xFF; }
inline u32 getModel(daSwTact_c * i_this) { return (fopAcM_GetParam(i_this) >> 16) & 0x0F; }
}
const char * daSwTact_c::m_arcname = "Itact";
const f32 daSwTact_c::mDefaultR = 50.0f;
const f32 daSwTact_c::mDefaultRwM = 100.0f;
@@ -59,7 +25,7 @@ bool daSwTact_c::_delete() {
}
/* 000000AC-000000CC .text CheckCreateHeap__FP10fopAc_ac_c */
s32 CheckCreateHeap(fopAc_ac_c* i_ac) {
BOOL CheckCreateHeap(fopAc_ac_c* i_ac) {
return ((daSwTact_c *)i_ac)->CreateHeap();
}
@@ -111,7 +77,7 @@ s32 daSwTact_c::_create() {
result = dComIfG_resLoad(&this->mPhs, m_arcname);
if (result == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckCreateHeap, 0x3000)) {
if (!fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x3000)) {
return cPhs_ERROR_e;
}
}
+59 -79
View File
@@ -2,53 +2,33 @@
// Generated by dtk
// Translation Unit: d_a_tag_msg.cpp
//
#include "d/actor/d_a_tag_msg.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "d/actor/d_a_player_main.h"
#include "d/d_com_inf_game.h"
#include "d/d_procname.h"
struct daTag_Msg_c : public fopAc_ac_c {
public:
u32 getEventNo();
u32 getSwbit();
u32 getSwbit2();
u32 getType2();
const char* myDemoName();
u16 getMessage();
u16 getEventFlag();
s32 arrivalTerms();
int rangeCheck();
int otherCheck();
inline s32 execute();
inline s32 create();
public:
/* 0x00 */ u8 mAction;
/* 0x01 */ u8 field_0x291;
/* 0x02 */ u8 field_0x292;
/* 0x03 */ u8 field_0x293;
}; // Size = 0x294
u8 bss_3569;
u8 bss_1036;
u8 bss_1034;
u8 bss_1032;
u8 bss_1031;
u8 bss_1026;
u8 bss_1024;
u8 bss_1022;
u8 bss_1021;
u8 bss_984;
u8 bss_982;
u8 bss_980;
u8 bss_979;
u8 bss_941;
u8 bss_939;
u8 bss_937;
u32 bss_936[15];
u32 l_msgId;
msg_class* l_msg;
u8 msg_mode;
static Vec bss_3569;
// Not sure what these are, but they have size 1, and alignment 1 in the debug maps, but alignment 4 in the non-debug maps.
static u8 bss_1036 __attribute__((aligned(4)));
static u8 bss_1034 __attribute__((aligned(4)));
static u8 bss_1032 __attribute__((aligned(4)));
static u8 bss_1031 __attribute__((aligned(4)));
static u8 bss_1026 __attribute__((aligned(4)));
static u8 bss_1024 __attribute__((aligned(4)));
static u8 bss_1022 __attribute__((aligned(4)));
static u8 bss_1021 __attribute__((aligned(4)));
static u8 bss_984 __attribute__((aligned(4)));;
static u8 bss_982 __attribute__((aligned(4)));;
static u8 bss_980 __attribute__((aligned(4)));;
static u8 bss_979 __attribute__((aligned(4)));;
static u8 bss_941 __attribute__((aligned(4)));;
static u8 bss_939 __attribute__((aligned(4)));;
static u8 bss_937 __attribute__((aligned(4)));;
static u8 bss_936 __attribute__((aligned(4)));;
static u32 l_msgId;
static msg_class* l_msg;
static u8 msg_mode;
u32 daTag_Msg_c::getEventNo() {
return mBase.mParameters >> 0x18;
@@ -90,24 +70,24 @@ u16 daTag_Msg_c::getEventFlag() {
return orig.angle.z;
}
s32 daTag_Msg_c::arrivalTerms() {
BOOL daTag_Msg_c::arrivalTerms() {
int swBit;
u16 eventFlag;
swBit = (int)(getSwbit2() & 0xFF);
eventFlag = getEventFlag();
if ((s32)swBit != 0xff && dComIfGs_isSwitch(swBit, current.roomNo) == 0) {
return 0;
return FALSE;
}
else if (eventFlag != 0xffff && dComIfGs_isEventBit(eventFlag) == 0) {
return 0;
return FALSE;
}
else {
return 1;
return TRUE;
}
}
/* 0000021C-000002FC .text rangeCheck__11daTag_Msg_cFv */
int daTag_Msg_c::rangeCheck() {
BOOL daTag_Msg_c::rangeCheck() {
daPy_lk_c* link;
cXyz diff;
@@ -119,13 +99,13 @@ int daTag_Msg_c::rangeCheck() {
}
if (diff.abs2XZ() < mScale.x * mScale.x * 10000.0f) {
if(diff.y <= mScale.y * 100.0f) {
return 1;
return TRUE;
}
}
return 0;
return FALSE;
}
int daTag_Msg_c::otherCheck() {
BOOL daTag_Msg_c::otherCheck() {
daPy_lk_c *player;
short diff;
short actorAngle;
@@ -133,7 +113,7 @@ int daTag_Msg_c::otherCheck() {
actorAngle = fopAcM_searchActorAngleY(this, daPy_getPlayerActorClass());
player = daPy_getPlayerLinkActorClass();
if ((getType2() & 1) != 0) {
return 1;
return TRUE;
}
JUT_ASSERT(0xC8, player);
if (getMessage() == 0x1902) {
@@ -142,7 +122,7 @@ int daTag_Msg_c::otherCheck() {
diff = -diff;
}
if (0x3000 < diff) {
return 0;
return FALSE;
}
}
actorAngle = (short)(actorAngle + 0x7fff) - player->current.angle.y;
@@ -150,13 +130,13 @@ int daTag_Msg_c::otherCheck() {
actorAngle = (short)-actorAngle;
}
if (actorAngle > 0x1000) {
return 0;
return FALSE;
}
return 1;
return TRUE;
}
static s32 daTag_Msg_actionEvent(daTag_Msg_c* a_this) {
static BOOL daTag_Msg_actionEvent(daTag_Msg_c* a_this) {
int message = a_this->getMessage();
switch (msg_mode / 1) {
case 0:
@@ -197,19 +177,19 @@ static s32 daTag_Msg_actionEvent(daTag_Msg_c* a_this) {
daPy_getPlayerLinkActorClass()->offPlayerNoDraw();
}
if (a_this->getType2() & 1) {
a_this->mAction = 0;
a_this->setActio(0);
} else {
a_this->mAction = 2;
a_this->setActio(2);
}
}
return 1;
return TRUE;
}
static s32 daTag_Msg_actionHunt(daTag_Msg_c* a_this) {
static BOOL daTag_Msg_actionHunt(daTag_Msg_c* a_this) {
u8 swBit;
if (a_this->mEvtInfo.mCommand == dEvtCmd_INTALK_e) {
a_this->mAction = 3;
a_this->setActio(3);
swBit = a_this->getSwbit();
if ((swBit & 0xff) != 0xff) {
dComIfGs_onSwitch(swBit,a_this->current.roomNo);
@@ -226,39 +206,39 @@ static s32 daTag_Msg_actionHunt(daTag_Msg_c* a_this) {
}
a_this->mEvtInfo.mCondition |= dEvtCnd_CANTALK_e;
}
return 1;
return TRUE;
}
/* 00000754-000007B0 .text daTag_Msg_actionArrival__FP11daTag_Msg_c */
static s32 daTag_Msg_actionArrival(daTag_Msg_c* a_this) {
static BOOL daTag_Msg_actionArrival(daTag_Msg_c* a_this) {
char *cutsceneName;
if (a_this->arrivalTerms() != 0) {
cutsceneName = (char*)a_this->myDemoName();
a_this->mEvtInfo.setEventName(cutsceneName);
a_this->mAction = 2;
a_this->setActio(2);
daTag_Msg_actionHunt(a_this);
}
return 1;
return TRUE;
}
static s32 daTag_Msg_actionWait(daTag_Msg_c*) {
return true;
static BOOL daTag_Msg_actionWait(daTag_Msg_c*) {
return TRUE;
}
static s32 daTag_Msg_Draw(daTag_Msg_c*) {
return true;
static BOOL daTag_Msg_Draw(daTag_Msg_c*) {
return TRUE;
}
s32 daTag_Msg_c::execute() {
static s32 (*l_action[4])(daTag_Msg_c*) = {
BOOL daTag_Msg_c::execute() {
static ActionFunc* l_action[4] = {
daTag_Msg_actionWait,
daTag_Msg_actionArrival,
daTag_Msg_actionHunt,
daTag_Msg_actionEvent,
};
l_action[mAction](this);
return 1;
return TRUE;
}
s32 daTag_Msg_c::create() {
@@ -266,11 +246,11 @@ s32 daTag_Msg_c::create() {
fopAcM_SetupActor(this, daTag_Msg_c);
swBit = (int)(getSwbit() & 0xFF);
if ((getMessage() == 0x9c5) && dComIfGs_isEventBit(0x502)) {
mAction = 0;
setActio(0);
} else if ((s32)swBit != 0xff && dComIfGs_isSwitch(swBit, current.roomNo) != 0) {
mAction = 0;
setActio(0);
} else {
mAction = 1;
setActio(1);
}
shape_angle.z = 0;
shape_angle.x = 0;
@@ -281,20 +261,20 @@ s32 daTag_Msg_c::create() {
mAttentionInfo.mPosition.y += 150;
mEyePos.y += 150.0f;
}
return 4;
return cPhs_COMPLEATE_e;
}
static s32 daTag_Msg_Execute(daTag_Msg_c* a_this) {
static BOOL daTag_Msg_Execute(daTag_Msg_c* a_this) {
return a_this->execute();
}
static s32 daTag_Msg_IsDelete(daTag_Msg_c*) {
return true;
static BOOL daTag_Msg_IsDelete(daTag_Msg_c*) {
return TRUE;
}
static BOOL daTag_Msg_Delete(daTag_Msg_c* a_this) {
a_this->~daTag_Msg_c();
return true;
return TRUE;
}
static s32 daTag_Msg_Create(fopAc_ac_c* i_this) {
+4 -4
View File
@@ -408,12 +408,12 @@ BOOL daTbox_c::checkNormal() {
}
/* 0000108C-000010AC .text CheckCreateHeap__FP10fopAc_ac_c */
static s32 CheckCreateHeap(fopAc_ac_c* i_actor) {
static BOOL CheckCreateHeap(fopAc_ac_c* i_actor) {
return static_cast<daTbox_c*>(i_actor)->CreateHeap();
}
/* 000010AC-0000114C .text CreateHeap__8daTbox_cFv */
s32 daTbox_c::CreateHeap() {
BOOL daTbox_c::CreateHeap() {
if (commonShapeSet() != cPhs_COMPLEATE_e) {
return FALSE;
}
@@ -511,7 +511,7 @@ void daTbox_c::CreateInit() {
mAllColRatio = 1.0f;
if (l_HIO.mHioId < 0) {
l_HIO.mHioId = mDoHIO_root.mDoHIO_createChild("宝箱", (JORReflexible*)(&l_HIO));
l_HIO.mHioId = mDoHIO_root.mDoHIO_createChild("宝箱", &l_HIO);
}
shape_angle.z = 0;
@@ -1241,7 +1241,7 @@ static s32 daTbox_Create(fopAc_ac_c* i_actor) {
heapSize += opensize_tbl[shapeType];
}
u32 heapResult = fopAcM_entrySolidHeap(i_actor, (heapCallbackFunc)CheckCreateHeap, heapSize);
u32 heapResult = fopAcM_entrySolidHeap(i_actor, CheckCreateHeap, heapSize);
if (!heapResult) {
return cPhs_ERROR_e;
}
+1 -1
View File
@@ -185,7 +185,7 @@ static s32 daVrbox_Create(fopAc_ac_c* i_actor) {
i_this->m29C = 0;
s32 phase_state = cPhs_COMPLEATE_e;
if (fopAcM_entrySolidHeap(i_this, (heapCallbackFunc)&daVrbox_solidHeapCB, 0xC60)) {
if (fopAcM_entrySolidHeap(i_this, daVrbox_solidHeapCB, 0xC60)) {
dComIfGp_onStatus(1);
g_env_light.mbVrboxInvisible = 0;
} else {
+1 -1
View File
@@ -281,7 +281,7 @@ s32 daVrbox2_Create(fopAc_ac_c* i_actor) {
vrbox2_class* i_this = static_cast<vrbox2_class*>(i_actor);
s32 phase_state = cPhs_COMPLEATE_e;
if (!fopAcM_entrySolidHeap(i_this, (heapCallbackFunc)&daVrbox2_solidHeapCB, 0x21a0))
if (!fopAcM_entrySolidHeap(i_this, daVrbox2_solidHeapCB, 0x21a0))
phase_state = cPhs_ERROR_e;
return phase_state;
+2 -2
View File
@@ -89,7 +89,7 @@ void daItemBase_c::setLoadError() {
}
/* 80068748-800687B4 .text CheckItemCreateHeap__FP10fopAc_ac_c */
int CheckItemCreateHeap(fopAc_ac_c* i_ac) {
BOOL CheckItemCreateHeap(fopAc_ac_c* i_ac) {
daItemBase_c * i_this = (daItemBase_c *)i_ac;
u8 itemNo = i_this->getItemNo();
return i_this->CreateItemHeap(
@@ -105,7 +105,7 @@ int CheckItemCreateHeap(fopAc_ac_c* i_ac) {
}
/* 800687B4-80068820 .text CheckFieldItemCreateHeap__FP10fopAc_ac_c */
int CheckFieldItemCreateHeap(fopAc_ac_c* i_ac) {
BOOL CheckFieldItemCreateHeap(fopAc_ac_c* i_ac) {
daItemBase_c * i_this = (daItemBase_c *)i_ac;
u8 itemNo = i_this->getItemNo();
return i_this->CreateItemHeap(
+2 -16
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_throwstone.cpp
//
#include "d/d_throwstone.h"
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_com_inf_game.h"
@@ -11,21 +12,6 @@
#include "m_Do/m_Do_mtx.h"
#include "JSystem/JKernel/JKRHeap.h"
class daThrowstone_c : fopAc_ac_c {
public:
s32 CreateHeap();
inline s32 _create();
inline BOOL _delete();
inline BOOL _execute();
inline bool _draw();
static const char M_arcname[5];
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel * mpModel;
/* 0x29C */ Mtx mMtx;
};
const char daThrowstone_c::M_arcname[] = "Aisi";
/* 8023B544-8023B564 .text CheckCreateHeap__FP10fopAc_ac_c */
@@ -35,7 +21,7 @@ static BOOL CheckCreateHeap(fopAc_ac_c* i_actor) {
}
/* 8023B564-8023B5DC .text CreateHeap__14daThrowstone_cFv */
s32 daThrowstone_c::CreateHeap() {
BOOL daThrowstone_c::CreateHeap() {
J3DModelData* pModelData = (J3DModelData*)dComIfG_getObjectRes(M_arcname, 0x03);
if (pModelData == NULL)
return FALSE;