mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 06:54:16 -04:00
Move more actor classes to headers
This commit is contained in:
@@ -7,11 +7,15 @@ class daAlldie_c : public fopAc_ac_c {
|
||||
public:
|
||||
inline s32 create();
|
||||
inline BOOL draw();
|
||||
void setActio(unsigned char) {}
|
||||
void setActio(u8 action) { mAction = action; }
|
||||
|
||||
u8 getSwbit();
|
||||
BOOL actionWait();
|
||||
BOOL actionCheck();
|
||||
BOOL actionTimer();
|
||||
BOOL execute();
|
||||
public:
|
||||
/* 0x290 */ u8 mState;
|
||||
/* 0x291 */ u8 m291[0x292 - 0x291];
|
||||
/* 0x290 */ u8 mAction;
|
||||
/* 0x292 */ s16 mTimer;
|
||||
};
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ public:
|
||||
void demoPlay(mDoExt_McaMorf*);
|
||||
|
||||
s32 CreateHeap();
|
||||
static s32 solidHeapCB(fopAc_ac_c*);
|
||||
static BOOL solidHeapCB(fopAc_ac_c*);
|
||||
|
||||
MtxP getJointMtx(const char*);
|
||||
|
||||
|
||||
@@ -5,7 +5,9 @@
|
||||
|
||||
class disappear_class : public fopAc_ac_c {
|
||||
public:
|
||||
/* Place member variables here */
|
||||
/* 0x290 */ u8 m290[0x298 - 0x290];
|
||||
/* 0x298 */ s32 mSwitchNo;
|
||||
/* 0x29C */ s16 mTimer;
|
||||
};
|
||||
|
||||
#endif /* D_A_DISAPPEAR_H */
|
||||
|
||||
@@ -16,8 +16,8 @@ public:
|
||||
void daMP_c_Callback_Draw(daMP_c*);
|
||||
|
||||
public:
|
||||
/* 0x290 */ u8 m290[0x294 - 0x290];
|
||||
/* 0x294 */ int m294;
|
||||
/* 0x290 */ u32 (*mpCallBack1)();
|
||||
/* 0x294 */ u32 (*mpCallBack2)(f32);
|
||||
};
|
||||
|
||||
#endif /* D_A_MOVIE_PLAYER_H */
|
||||
|
||||
@@ -4,22 +4,48 @@
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "d/d_bg_w.h"
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
#include "d/d_a_obj.h"
|
||||
|
||||
namespace daObjAkabe {
|
||||
class Act_c : public fopAc_ac_c {
|
||||
public:
|
||||
void prm_get_always() const {}
|
||||
void prm_get_arg0() const {}
|
||||
void prm_get_scl() const {}
|
||||
void prm_get_swSave() const {}
|
||||
enum Prm_e {
|
||||
PRM_SWSAVE_W = 8,
|
||||
PRM_SWSAVE_S = 0,
|
||||
|
||||
PRM_SCL_W = 2,
|
||||
PRM_SCL_S = 8,
|
||||
|
||||
PRM_ALWAYS_W = 1,
|
||||
PRM_ALWAYS_S = 12,
|
||||
|
||||
PRM_ARG0_W = 4,
|
||||
PRM_ARG0_S = 16,
|
||||
};
|
||||
|
||||
s32 prm_get_swSave() const { return daObj::PrmAbstract(this, PRM_SWSAVE_W, PRM_SWSAVE_S); }
|
||||
s32 prm_get_scl() const { return daObj::PrmAbstract(this, PRM_SCL_W, PRM_SCL_S); }
|
||||
s32 prm_get_always() const { return daObj::PrmAbstract(this, PRM_ALWAYS_W, PRM_ALWAYS_S); }
|
||||
s32 prm_get_arg0() const { return daObj::PrmAbstract(this, PRM_ARG0_W, PRM_ARG0_S); }
|
||||
|
||||
s32 _create();
|
||||
bool create_heap();
|
||||
bool _delete();
|
||||
void init_scale();
|
||||
void init_mtx();
|
||||
bool chk_appear();
|
||||
bool _execute();
|
||||
bool _draw();
|
||||
|
||||
static BOOL solidHeapCB(fopAc_ac_c*);
|
||||
static const char* const M_arcname[4];
|
||||
|
||||
public:
|
||||
/* 0x290 */ request_of_phase_process_class mPhs;
|
||||
/* 0x298 */ dBgW* mpBgW;
|
||||
/* 0x29C */ Mtx mCollMtx;
|
||||
/* 0x2CC */ int mType;
|
||||
/* 0x29C */ Mtx mMtx;
|
||||
/* 0x2CC */ s32 mType;
|
||||
/* 0x2D0 */ u8 mbAppear;
|
||||
/* 0x2D1 */ u8 m2D1[0x2D4 - 0x2D1];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_A_OBJ_CAFELMP_H
|
||||
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
|
||||
class daObjCafelmp_c : public fopAc_ac_c {
|
||||
public:
|
||||
@@ -10,11 +11,13 @@ 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;
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_CAFELMP_H */
|
||||
|
||||
@@ -2,15 +2,30 @@
|
||||
#define D_A_OBJ_HOMENSMOKE_H
|
||||
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "d/d_particle.h"
|
||||
#include "d/d_a_obj.h"
|
||||
|
||||
namespace daObjHomensmoke {
|
||||
class Act_c : public fopAc_ac_c {
|
||||
public:
|
||||
void param_get_arg0() const {}
|
||||
void param_get_axis() const {}
|
||||
int param_get_arg0() const { return daObj::PrmAbstract(this, 1, 0) & 0x1; }
|
||||
int param_get_axis() const { return daObj::PrmAbstract(this, 1, 1) & 0x1; }
|
||||
|
||||
virtual ~Act_c() {}
|
||||
void set_mtx();
|
||||
s32 _create();
|
||||
bool _delete();
|
||||
bool _execute();
|
||||
bool _draw();
|
||||
|
||||
public:
|
||||
/* Place member variables here */
|
||||
/* 0x290 */ /* vtable */
|
||||
/* 0x294 */ u8 m294[0x29C - 0x294];
|
||||
/* 0x29C */ Mtx mMtx;
|
||||
/* 0x2CC */ int mType;
|
||||
/* 0x2D0 */ dPa_smokeEcallBack mSmokeCb;
|
||||
/* 0x2F0 */ BOOL mbInitialized;
|
||||
/* 0x2F4 */ cXyz mSmokePos;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_A_OBJ_PBKA_H
|
||||
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
|
||||
class daObjPbka_c : public fopAc_ac_c {
|
||||
public:
|
||||
@@ -10,11 +11,13 @@ 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 mPhase;
|
||||
/* 0x298 */ J3DModel* mpModel;
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_PBKA_H */
|
||||
|
||||
+97
-55
@@ -6,28 +6,57 @@
|
||||
#include "JSystem/JParticle/JPAEmitter.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
#include "d/d_bg_w.h"
|
||||
#include "d/d_particle.h"
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
class daTbox_c : public fopAc_ac_c {
|
||||
public:
|
||||
void action() {}
|
||||
void deleteProc() {}
|
||||
inline BOOL draw();
|
||||
void flagCheck(unsigned short) {}
|
||||
void flagClr() {}
|
||||
void flagOff(unsigned short) {}
|
||||
void flagOn(unsigned short) {}
|
||||
void getItemNo() {}
|
||||
void getPhase() {}
|
||||
void getSwNo() {}
|
||||
void getTboxNo() {}
|
||||
void setAction(int (daTbox_c::*)()) {}
|
||||
struct modelInfo {
|
||||
s16 modelId;
|
||||
s16 openBckId;
|
||||
s16 btkId;
|
||||
s16 brkId;
|
||||
s16 closedColId;
|
||||
s16 openColId;
|
||||
};
|
||||
|
||||
typedef BOOL (daTbox_c::*ActionFunc)();
|
||||
|
||||
u8 getTboxNo() { return fopAcM_GetParam(this) >> 0x07 & 0x1F; }
|
||||
int getSwNo() { return fopAcM_GetParam(this) >> 0x0C & 0xFF; }
|
||||
u8 getItemNo() { return orig.angle.z >> 8 & 0xFF; }
|
||||
void flagOn(u16 flag) { mFlags |= flag; }
|
||||
void flagOff(u16 flag) { mFlags &= ~flag; }
|
||||
void flagClr() { mFlags = 0; }
|
||||
BOOL flagCheck(u16 flag) { return mFlags & flag; }
|
||||
request_of_phase_process_class* getPhase() { return &mPhs; }
|
||||
bool action() { return (this->*mActionFunc)(); }
|
||||
void setAction(ActionFunc func) { mActionFunc = func; }
|
||||
void deleteProc() {} // Maybe only used in the demo
|
||||
|
||||
inline BOOL draw();
|
||||
BOOL execute();
|
||||
s32 commonShapeSet();
|
||||
s32 effectShapeSet();
|
||||
s32 envShapeSet();
|
||||
s32 bgCheckSet();
|
||||
void searchRoomNo();
|
||||
void lightReady();
|
||||
BOOL checkEnv();
|
||||
BOOL checkOpen();
|
||||
modelInfo& getModelInfo();
|
||||
void clrDzb();
|
||||
void setDzb();
|
||||
void surfaceProc();
|
||||
BOOL checkRoomDisp(int);
|
||||
s32 getShapeType();
|
||||
s32 getFuncType();
|
||||
BOOL checkNormal();
|
||||
s32 CreateHeap();
|
||||
void CreateInit();
|
||||
s32 boxCheck();
|
||||
void lightUpProc();
|
||||
void lightDownProc();
|
||||
void darkProc();
|
||||
@@ -37,57 +66,70 @@ public:
|
||||
void demoInitAppear();
|
||||
void demoProcAppear_Tact();
|
||||
void demoProcAppear();
|
||||
s32 demoProc();
|
||||
void OpenInit_com();
|
||||
void OpenInit();
|
||||
void setCollision();
|
||||
BOOL actionWait();
|
||||
BOOL actionDemo();
|
||||
BOOL actionDemo2();
|
||||
BOOL actionOpenWait();
|
||||
BOOL actionSwOnWait();
|
||||
BOOL actionSwOnWait2();
|
||||
BOOL actionGenocide();
|
||||
|
||||
public:
|
||||
/* 0x290 */ int mRoomNo;
|
||||
/* 0x294 */ request_of_phase_process_class mResLoadDalways;
|
||||
/* 0x29C */ J3DModel* mpModel1;
|
||||
/* 0x2A0 */ mDoExt_bckAnm mBckAnkm;
|
||||
/* 0x2B0 */ mDoExt_btkAnm* mpBtkAnm;
|
||||
/* 0x2B4 */ mDoExt_brkAnm* m2B4;
|
||||
/* 0x2B8 */ cBgW* m2B8;
|
||||
/* 0x2BC */ void* m2BC;
|
||||
/* 0x2C0 */ void* m2C0;
|
||||
/* 0x2C4 */ void* m2C4;
|
||||
/* 0x2C8 */ void* m2C8;
|
||||
/* 0x2CC */ void* m2CC;
|
||||
/* 0x2D0 */ void* m2D0;
|
||||
/* 0x2D4 */ void* m2D4;
|
||||
/* 0x2D8 */ void* m2D8;
|
||||
/* 0x2DC */ void* m2DC;
|
||||
/* 0x2E0 */ void* m2E0;
|
||||
/* 0x2E4 */ void* m2E4;
|
||||
/* 0x2E8 */ void* m2E8;
|
||||
/* 0x2EC */ void* m2EC;
|
||||
/* 0x2F0 */ void* m2F0;
|
||||
/* 0x2F4 */ void* m2F4;
|
||||
/* 0x2F8 */ void* m2F8;
|
||||
/* 0x2FC */ void* m2FC;
|
||||
/* 0x300 */ void* m300;
|
||||
/* 0x304 */ void* m304;
|
||||
/* 0x308 */ void* m308;
|
||||
/* 0x30C */ u8 m30C[0x324 - 0x30C];
|
||||
/* 0x324 */ J3DModel* mpModel;
|
||||
/* 0x328 */ mDoExt_brkAnm m328;
|
||||
/* 0x340 */ u8 m340[0x350 - 0x340];
|
||||
/* 0x350 */ int mStaffId;
|
||||
/* 0x354 */ Mtx m354;
|
||||
/* 0x290 */ s32 mRoomNo;
|
||||
/* 0x294 */ request_of_phase_process_class mPhs;
|
||||
/* 0x29C */ J3DModel* mpChestMdl;
|
||||
/* 0x2A0 */ mDoExt_bckAnm mOpenAnm;
|
||||
/* 0x2B0 */ mDoExt_btkAnm* mpAppearTexAnm;
|
||||
/* 0x2B4 */ mDoExt_brkAnm* mpAppearRegAnm;
|
||||
/* 0x2B8 */ dBgW* mpBgWClosed;
|
||||
/* 0x2BC */ dBgW* mpBgWOpen;
|
||||
/* 0x2C0 */ dBgW* mpBgWVines;
|
||||
/* 0x2C4 */ dBgW* mpBgWCurrent;
|
||||
/* 0x2C8 */ J3DModel* mpFlashMdl;
|
||||
/* 0x2CC */ mDoExt_bckAnm mFlashAnm;
|
||||
/* 0x2DC */ mDoExt_btkAnm mFlashTexAnm;
|
||||
/* 0x2F0 */ mDoExt_brkAnm mFlashRegAnm;
|
||||
/* 0x308 */ u32 m0308;
|
||||
/* 0x30C */ mDoExt_brkAnm mBrkAnm3;
|
||||
/* 0x324 */ J3DModel* mpTactPlatformMdl;
|
||||
/* 0x328 */ mDoExt_brkAnm mTactPlatformBrk;
|
||||
/* 0x340 */ ActionFunc mActionFunc;
|
||||
/* 0x34C */ f32 mInvisibleScrollVal;
|
||||
/* 0x350 */ u32 mStaffId;
|
||||
/* 0x354 */ Mtx mMtx;
|
||||
/* 0x384 */ LIGHT_INFLUENCE mPLight;
|
||||
/* 0x3A4 */ LIGHT_INFLUENCE mEfLight;
|
||||
/* 0x3C4 */ u8 m3C4[0x3E4 - 0x3C4];
|
||||
/* 0x3E4 */ JPABaseEmitter* m3E4;
|
||||
/* 0x3C4 */ dPa_smokeEcallBack mSmokeCB;
|
||||
/* 0x3E4 */ JPABaseEmitter* mSmokeEmitter;
|
||||
/* 0x3E8 */ f32 mAllColRatio;
|
||||
/* 0x3EC */ u8 m3EC[0x3F0 - 0x3EC];
|
||||
/* 0x3F0 */ u16 m3F0;
|
||||
/* 0x3F2 */ s16 m3F2;
|
||||
/* 0x3F4 */ u8 m3F4[0x600 - 0x3F4];
|
||||
/* 0x600 */ dCcD_Stts mStts;
|
||||
/* 0x63C */ dCcD_Cyl mCyl;
|
||||
/* 0x76C */ u8 mChestOpenFlagIndex;
|
||||
/* 0x76D */ u8 m76D[0x770 - 0x76D];
|
||||
/* 0x3EC */ f32 m03EC;
|
||||
/* 0x3F0 */ u16 mFlags;
|
||||
/* 0x3F2 */ u16 mOpenTimer;
|
||||
/* 0x3F4 */ bool mHasOpenAnmFinished;
|
||||
/* 0x3F5 */ bool mIsFlashPlaying;
|
||||
/* 0x3F6 */ u16 mAppearTimer;
|
||||
/* 0x3F8 */ u8 mGenocideDelayTimer;
|
||||
/* 0x3FC */ dBgS_ObjAcch mObjAcch;
|
||||
/* 0x5C0 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x600 */ dCcD_Stts mColStatus;
|
||||
/* 0x63C */ dCcD_Cyl mColCyl;
|
||||
/* 0x76C */ u8 mOpenedSwitch;
|
||||
};
|
||||
|
||||
class daTbox_HIO_c {
|
||||
public:
|
||||
daTbox_HIO_c();
|
||||
virtual ~daTbox_HIO_c() { }
|
||||
|
||||
/* 0x04 */ s8 mHioId;
|
||||
/* 0x06 */ s16 m06;
|
||||
/* 0x08 */ s16 m08;
|
||||
/* 0x0A */ s16 m0A;
|
||||
/* 0x0C */ s16 m0C;
|
||||
};
|
||||
|
||||
#endif /* D_A_TBOX_H */
|
||||
|
||||
@@ -27,7 +27,7 @@ class mDoDvdThd_param_c {
|
||||
public:
|
||||
mDoDvdThd_param_c();
|
||||
void kick();
|
||||
s32 waitForKick();
|
||||
BOOL waitForKick();
|
||||
mDoDvdThd_command_c* getFirstCommand();
|
||||
void addition(mDoDvdThd_command_c*);
|
||||
void cut(mDoDvdThd_command_c*);
|
||||
|
||||
+22
-36
@@ -3,6 +3,7 @@
|
||||
// Translation Unit: d_a_alldie.cpp
|
||||
//
|
||||
|
||||
#include "d/actor/d_a_alldie.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_procname.h"
|
||||
@@ -14,56 +15,41 @@ enum {
|
||||
ACT_TIMER,
|
||||
};
|
||||
|
||||
struct daAlldie_c : public fopAc_ac_c {
|
||||
public:
|
||||
u8 getSwbit();
|
||||
s32 actionWait();
|
||||
s32 actionCheck();
|
||||
s32 actionTimer();
|
||||
s32 execute();
|
||||
|
||||
inline s32 create();
|
||||
|
||||
public:
|
||||
u8 mAction;
|
||||
s16 mTimer;
|
||||
};
|
||||
|
||||
/* 00000078-00000084 .text getSwbit__10daAlldie_cFv */
|
||||
u8 daAlldie_c::getSwbit() {
|
||||
return fopAcM_GetParam(this) >> 0x8;
|
||||
}
|
||||
|
||||
/* 00000084-0000008C .text actionWait__10daAlldie_cFv */
|
||||
s32 daAlldie_c::actionWait() {
|
||||
return 1;
|
||||
BOOL daAlldie_c::actionWait() {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 0000008C-000000D8 .text actionCheck__10daAlldie_cFv */
|
||||
s32 daAlldie_c::actionCheck() {
|
||||
BOOL daAlldie_c::actionCheck() {
|
||||
if (!fopAcM_myRoomSearchEnemy(fopAcM_GetRoomNo(this))) {
|
||||
mAction = ACT_TIMER;
|
||||
setActio(ACT_TIMER);
|
||||
mTimer = 65;
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 000000D8-0000016C .text actionTimer__10daAlldie_cFv */
|
||||
s32 daAlldie_c::actionTimer() {
|
||||
BOOL daAlldie_c::actionTimer() {
|
||||
if (fopAcM_myRoomSearchEnemy(fopAcM_GetRoomNo(this))) {
|
||||
mAction = ACT_CHECK;
|
||||
setActio(ACT_CHECK);
|
||||
} else if (mTimer > 0) {
|
||||
mTimer--;
|
||||
} else {
|
||||
mAction = ACT_WAIT;
|
||||
setActio(ACT_WAIT);
|
||||
dComIfGs_onSwitch(getSwbit(), fopAcM_GetRoomNo(this));
|
||||
}
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 0000016C-000001BC .text execute__10daAlldie_cFv */
|
||||
s32 daAlldie_c::execute() {
|
||||
BOOL daAlldie_c::execute() {
|
||||
switch (mAction) {
|
||||
case ACT_CHECK:
|
||||
actionCheck();
|
||||
@@ -76,16 +62,16 @@ s32 daAlldie_c::execute() {
|
||||
break;
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
s32 daAlldie_c::create() {
|
||||
fopAcM_SetupActor(this, daAlldie_c);
|
||||
|
||||
if (!dComIfGs_isSwitch(getSwbit(), fopAcM_GetRoomNo(this))) {
|
||||
mAction = ACT_CHECK;
|
||||
setActio(ACT_CHECK);
|
||||
} else {
|
||||
mAction = ACT_WAIT;
|
||||
setActio(ACT_WAIT);
|
||||
}
|
||||
|
||||
shape_angle.z = 0;
|
||||
@@ -97,25 +83,25 @@ s32 daAlldie_c::create() {
|
||||
}
|
||||
|
||||
/* 000001BC-000001C4 .text daAlldie_Draw__FP10daAlldie_c */
|
||||
static s32 daAlldie_Draw(daAlldie_c*) {
|
||||
return 1;
|
||||
static BOOL daAlldie_Draw(daAlldie_c*) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 000001C4-000001E8 .text daAlldie_Execute__FP10daAlldie_c */
|
||||
static s32 daAlldie_Execute(daAlldie_c* i_this) {
|
||||
static BOOL daAlldie_Execute(daAlldie_c* i_this) {
|
||||
i_this->execute();
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 000001E8-000001F0 .text daAlldie_IsDelete__FP10daAlldie_c */
|
||||
static s32 daAlldie_IsDelete(daAlldie_c*) {
|
||||
return 1;
|
||||
static BOOL daAlldie_IsDelete(daAlldie_c*) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 000001F0-00000220 .text daAlldie_Delete__FP10daAlldie_c */
|
||||
static s32 daAlldie_Delete(daAlldie_c* i_this) {
|
||||
static BOOL daAlldie_Delete(daAlldie_c* i_this) {
|
||||
i_this->~daAlldie_c();
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 00000220-000002CC .text daAlldie_Create__FP10fopAc_ac_c */
|
||||
|
||||
@@ -1239,7 +1239,7 @@ s32 daArrow_c::_create() {
|
||||
0x1300,
|
||||
0x820,
|
||||
};
|
||||
if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)&createHeap_CB, heap_size[mArrowType])) {
|
||||
if (!fopAcM_entrySolidHeap(this, createHeap_CB, heap_size[mArrowType])) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ void daBranch_c::demoPlay(mDoExt_McaMorf*) {
|
||||
}
|
||||
|
||||
/* 00000228-00000248 .text solidHeapCB__10daBranch_cFP10fopAc_ac_c */
|
||||
s32 daBranch_c::solidHeapCB(fopAc_ac_c* i_this) {
|
||||
BOOL daBranch_c::solidHeapCB(fopAc_ac_c* i_this) {
|
||||
daBranch_c* branch = static_cast<daBranch_c*>(i_this);
|
||||
return branch->CreateHeap();
|
||||
}
|
||||
@@ -182,7 +182,7 @@ s32 daBranch_Create(fopAc_ac_c* i_this) {
|
||||
|
||||
s32 state = dComIfG_resLoad(&branch->mPhs, daBranch_c::m_arcname);
|
||||
if (state == cPhs_COMPLEATE_e) {
|
||||
int solidHeapResult = fopAcM_entrySolidHeap(i_this, (heapCallbackFunc)daBranch_c::solidHeapCB, 0x4000);
|
||||
int solidHeapResult = fopAcM_entrySolidHeap(i_this, daBranch_c::solidHeapCB, 0x4000);
|
||||
|
||||
if (solidHeapResult & 0xFF == 0) {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
// Translation Unit: d_a_disappear.cpp
|
||||
//
|
||||
|
||||
#include "d/actor/d_a_disappear.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
@@ -12,21 +13,13 @@
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class disappear_class : public fopAc_ac_c {
|
||||
public:
|
||||
int m0000;
|
||||
int m0004;
|
||||
s32 mSwitchId;
|
||||
s16 mTimer;
|
||||
};
|
||||
|
||||
/* 800E79C0-800E79C8 .text daDisappear_Draw__FP15disappear_class */
|
||||
s32 daDisappear_Draw(disappear_class*) {
|
||||
BOOL daDisappear_Draw(disappear_class*) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 800E79C8-800E7AC0 .text daDisappear_Execute__FP15disappear_class */
|
||||
s32 daDisappear_Execute(disappear_class* i_this) {
|
||||
BOOL daDisappear_Execute(disappear_class* i_this) {
|
||||
if (i_this->mTimer != 0) {
|
||||
i_this->mTimer--;
|
||||
|
||||
@@ -47,7 +40,7 @@ s32 daDisappear_Execute(disappear_class* i_this) {
|
||||
}
|
||||
}
|
||||
else {
|
||||
fopAcM_createIball(&i_this->current.pos, i_this->mItemTableIdx, i_this->current.roomNo, &i_this->current.angle, i_this->mSwitchId);
|
||||
fopAcM_createIball(&i_this->current.pos, i_this->mItemTableIdx, i_this->current.roomNo, &i_this->current.angle, i_this->mSwitchNo);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -60,12 +53,12 @@ s32 daDisappear_Execute(disappear_class* i_this) {
|
||||
}
|
||||
|
||||
/* 800E7AC0-800E7AC8 .text daDisappear_IsDelete__FP15disappear_class */
|
||||
s32 daDisappear_IsDelete(disappear_class*) {
|
||||
BOOL daDisappear_IsDelete(disappear_class*) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 800E7AC8-800E7AD0 .text daDisappear_Delete__FP15disappear_class */
|
||||
s32 daDisappear_Delete(disappear_class*) {
|
||||
BOOL daDisappear_Delete(disappear_class*) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -113,9 +106,9 @@ s32 daDisappear_Create(fopAc_ac_c* i_this) {
|
||||
dis->mHealth = dis->mBase.mParameters & 0xFF;
|
||||
float scale = ((dis->mBase.mParameters >> 8) & 0xFF) * 0.1f;
|
||||
|
||||
dis->mSwitchId = (dis->mBase.mParameters >> 0x10) & 0xFF;
|
||||
if (dis->mSwitchId == 0xFF) {
|
||||
dis->mSwitchId = -1;
|
||||
dis->mSwitchNo = (dis->mBase.mParameters >> 0x10) & 0xFF;
|
||||
if (dis->mSwitchNo == 0xFF) {
|
||||
dis->mSwitchNo = -1;
|
||||
}
|
||||
|
||||
set_disappear(dis, scale);
|
||||
|
||||
@@ -453,15 +453,15 @@ BOOL daIball_c::_daIball_delete() {
|
||||
}
|
||||
|
||||
/* 800F4678-800F4698 .text CheckCreateHeap__FP10fopAc_ac_c */
|
||||
static void CheckCreateHeap(fopAc_ac_c* i_this) {
|
||||
static_cast<daIball_c*>(i_this)->CreateHeap();
|
||||
static BOOL CheckCreateHeap(fopAc_ac_c* i_this) {
|
||||
return static_cast<daIball_c*>(i_this)->CreateHeap();
|
||||
}
|
||||
|
||||
/* 800F4698-800F4870 .text _daIball_create__9daIball_cFv */
|
||||
s32 daIball_c::_daIball_create() {
|
||||
fopAcM_SetupActor(this, daIball_c);
|
||||
|
||||
if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckCreateHeap, 0x3500)) {
|
||||
if (!fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x3500)) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
// Translation Unit: d_a_obj_akabe.cpp
|
||||
//
|
||||
|
||||
#include "d/d_a_obj.h"
|
||||
#include "d/actor/d_a_obj_akabe.h"
|
||||
#include "d/d_item.h"
|
||||
#include "d/d_item_data.h"
|
||||
#include "d/d_cc_d.h"
|
||||
@@ -13,47 +13,6 @@
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
|
||||
namespace daObjAkabe {
|
||||
struct Act_c : public fopAc_ac_c {
|
||||
public:
|
||||
enum Prm_e {
|
||||
PRM_SWSAVE_W = 8,
|
||||
PRM_SWSAVE_S = 0,
|
||||
|
||||
PRM_SCL_W = 2,
|
||||
PRM_SCL_S = 8,
|
||||
|
||||
PRM_ALWAYS_W = 1,
|
||||
PRM_ALWAYS_S = 12,
|
||||
|
||||
PRM_ARG0_W = 4,
|
||||
PRM_ARG0_S = 16,
|
||||
};
|
||||
|
||||
s32 _create();
|
||||
bool create_heap();
|
||||
bool _delete();
|
||||
void init_scale();
|
||||
void init_mtx();
|
||||
bool chk_appear();
|
||||
bool _execute();
|
||||
bool _draw();
|
||||
|
||||
static BOOL solidHeapCB(fopAc_ac_c*);
|
||||
static const char* const M_arcname[4];
|
||||
|
||||
s32 prm_get_swSave() const { return daObj::PrmAbstract(this, PRM_SWSAVE_W, PRM_SWSAVE_S); }
|
||||
s32 prm_get_scl() const { return daObj::PrmAbstract(this, PRM_SCL_W, PRM_SCL_S); }
|
||||
s32 prm_get_always() const { return daObj::PrmAbstract(this, PRM_ALWAYS_W, PRM_ALWAYS_S); }
|
||||
s32 prm_get_arg0() const { return daObj::PrmAbstract(this, PRM_ARG0_W, PRM_ARG0_S); }
|
||||
|
||||
public:
|
||||
/* 0x290 */ request_of_phase_process_class mPhs;
|
||||
/* 0x298 */ dBgW * mpBgW;
|
||||
/* 0x29C */ Mtx mMtx;
|
||||
/* 0x2CC */ s32 mType;
|
||||
/* 0x2D0 */ u8 mbAppear;
|
||||
};
|
||||
|
||||
const char* const Act_c::M_arcname[4] = {
|
||||
"Akabe",
|
||||
"AkabeD",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
// Translation Unit: d_a_obj_cafelmp.cpp
|
||||
//
|
||||
|
||||
#include "d/actor/d_a_obj_cafelmp.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
@@ -12,21 +13,6 @@
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "m_Do/m_Do_mtx.h"
|
||||
|
||||
class daObjCafelmp_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;
|
||||
};
|
||||
|
||||
/* 00000078-00000098 .text CheckCreateHeap__FP10fopAc_ac_c */
|
||||
BOOL CheckCreateHeap(fopAc_ac_c* i_this) {
|
||||
return ((daObjCafelmp_c*)i_this)->CreateHeap();
|
||||
@@ -75,18 +61,18 @@ s32 daObjCafelmp_c::_create() {
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool daObjCafelmp_c::_delete() {
|
||||
BOOL daObjCafelmp_c::_delete() {
|
||||
dComIfG_resDelete(&mPhs, "Cafelmp");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool daObjCafelmp_c::_execute() {
|
||||
BOOL daObjCafelmp_c::_execute() {
|
||||
current.angle.y += 0xda;
|
||||
set_mtx();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool daObjCafelmp_c::_draw() {
|
||||
BOOL daObjCafelmp_c::_draw() {
|
||||
g_env_light.settingTevStruct(TEV_TYPE_BG0, ¤t.pos, &mTevStr);
|
||||
g_env_light.setLightTevColorType(mpModel, &mTevStr);
|
||||
dComIfGd_setListBG();
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
// Translation Unit: d_a_obj_homensmoke.cpp
|
||||
//
|
||||
|
||||
#include "d/d_a_obj.h"
|
||||
#include "d/actor/d_a_obj_homensmoke.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "d/d_particle.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
@@ -13,27 +13,6 @@
|
||||
static u8 temp[0x4C];
|
||||
|
||||
namespace daObjHomensmoke {
|
||||
class Act_c : public fopAc_ac_c {
|
||||
public:
|
||||
virtual ~Act_c() {}
|
||||
void set_mtx();
|
||||
s32 _create();
|
||||
bool _delete();
|
||||
bool _execute();
|
||||
bool _draw();
|
||||
|
||||
int param_get_arg0() const { return daObj::PrmAbstract(this, 1, 0) & 0x1; }
|
||||
int param_get_axis() const { return daObj::PrmAbstract(this, 1, 1) & 0x1; }
|
||||
|
||||
/* 0x290 */ /* vtable */
|
||||
/* 0x294 */ u8 m294[0x29C - 0x294];
|
||||
/* 0x29C */ Mtx mMtx;
|
||||
/* 0x2CC */ int mType;
|
||||
/* 0x2D0 */ dPa_smokeEcallBack mSmokeCb;
|
||||
/* 0x2F0 */ BOOL mbInitialized;
|
||||
/* 0x2F4 */ cXyz mSmokePos;
|
||||
};
|
||||
|
||||
/* 000000EC-00000230 .text set_mtx__Q215daObjHomensmoke5Act_cFv */
|
||||
void Act_c::set_mtx() {
|
||||
if (param_get_axis() != 0) {
|
||||
|
||||
@@ -65,7 +65,7 @@ s32 daObjMonument::Act_c::_create() {
|
||||
if (ret == cPhs_COMPLEATE_e) {
|
||||
mType = prm_get_type();
|
||||
|
||||
if (fopAcM_entrySolidHeap(this, (heapCallbackFunc)solidHeapCB, 0xd20)) {
|
||||
if (fopAcM_entrySolidHeap(this, solidHeapCB, 0xd20)) {
|
||||
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
|
||||
dComIfG_Bgsp()->Regist(mpBgW, this);
|
||||
init_mtx();
|
||||
|
||||
@@ -1,24 +1,15 @@
|
||||
/*
|
||||
* d_a_obj_pbka.cpp
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_obj_pbka.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "m_Do/m_Do_mtx.h"
|
||||
#include "d/d_procname.h"
|
||||
|
||||
class daObjPbka_c : public fopAc_ac_c {
|
||||
public:
|
||||
bool CreateHeap();
|
||||
void CreateInit();
|
||||
void set_mtx();
|
||||
inline bool draw();
|
||||
public:
|
||||
/* 0x290 */ request_of_phase_process_class mPhase;
|
||||
/* 0x298 */ J3DModel* mpModel;
|
||||
}; //Size 0x29C
|
||||
|
||||
bool daObjPbka_c::draw()
|
||||
BOOL daObjPbka_c::_draw()
|
||||
{
|
||||
dKy_tevstr_c * pTevStr;
|
||||
g_env_light.settingTevStruct(TEV_TYPE_BG0, ¤t.pos, pTevStr = &mTevStr);
|
||||
@@ -29,20 +20,20 @@ bool daObjPbka_c::draw()
|
||||
return true;
|
||||
}
|
||||
|
||||
void CheckCreateHeap(fopAc_ac_c* i_this) {
|
||||
static int CheckCreateHeap(fopAc_ac_c* i_this) {
|
||||
daObjPbka_c* a_this = (daObjPbka_c*)i_this;
|
||||
a_this->CreateHeap();
|
||||
return a_this->CreateHeap();
|
||||
}
|
||||
|
||||
/* 00000098-0000015C .text CreateHeap__11daObjPbka_cFv */
|
||||
bool daObjPbka_c::CreateHeap() {
|
||||
BOOL daObjPbka_c::CreateHeap() {
|
||||
J3DModelData *modelData = (J3DModelData *)dComIfG_getObjectRes("Pbka", 3);
|
||||
JUT_ASSERT(0x51, modelData != 0);
|
||||
mpModel = mDoExt_J3DModel__create(modelData,0,0x11020203);
|
||||
if(mpModel == NULL) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void daObjPbka_c::CreateInit() {
|
||||
@@ -63,14 +54,14 @@ void daObjPbka_c::set_mtx() {
|
||||
mDoMtx_copy(mDoMtx_stack_c::get(), mpModel->mBaseTransformMtx);
|
||||
}
|
||||
|
||||
cPhs__Step daObjPbka_Create(void* i_this) {
|
||||
static cPhs__Step daObjPbka_Create(void* i_this) {
|
||||
int cPhsStep;
|
||||
daObjPbka_c* a_this = (daObjPbka_c*)i_this;
|
||||
fopAcM_SetupActor(a_this, daObjPbka_c);
|
||||
|
||||
cPhsStep = dComIfG_resLoad(&a_this->mPhase, "Pbka");
|
||||
if (cPhsStep == cPhs_COMPLEATE_e) {
|
||||
if ((fopAcM_entrySolidHeap(a_this, (heapCallbackFunc)CheckCreateHeap,0x680) & 0xff) == 0) {
|
||||
if ((fopAcM_entrySolidHeap(a_this, CheckCreateHeap, 0x680) & 0xff) == 0) {
|
||||
cPhsStep = cPhs_ERROR_e;
|
||||
} else {
|
||||
a_this->CreateInit();
|
||||
@@ -82,12 +73,12 @@ cPhs__Step daObjPbka_Create(void* i_this) {
|
||||
static BOOL daObjPbka_Delete(void* i_this) {
|
||||
daObjPbka_c* a_this = (daObjPbka_c*)i_this;
|
||||
dComIfG_resDelete(&a_this->mPhase,"Pbka");
|
||||
return true;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOL daObjPbka_Draw(void* i_this) {
|
||||
daObjPbka_c* a_this = (daObjPbka_c*)i_this;
|
||||
return a_this->draw();
|
||||
return a_this->_draw();
|
||||
}
|
||||
|
||||
static BOOL daObjPbka_Execute(void* i_this) {
|
||||
@@ -96,11 +87,11 @@ static BOOL daObjPbka_Execute(void* i_this) {
|
||||
a_this->shape_angle.y = a_this->current.angle.y;
|
||||
mDoAud_seStart(JA_SE_OBJ_BOMB_SHOP_FAN, &a_this->current.pos, 0 , dComIfGp_getReverb(fopAcM_GetRoomNo(a_this)));
|
||||
a_this->set_mtx();
|
||||
return true;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOL daObjPbka_IsDelete(void*) {
|
||||
return true;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static actor_method_class daObj_PbkaMethodTable = {
|
||||
|
||||
+114
-269
@@ -3,6 +3,7 @@
|
||||
// Translation Unit: d_a_tbox.cpp
|
||||
//
|
||||
|
||||
#include "d/actor/d_a_tbox.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
#include "d/d_bg_s_acch.h"
|
||||
@@ -43,270 +44,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 daTbox_HIO_c {
|
||||
public:
|
||||
daTbox_HIO_c();
|
||||
virtual ~daTbox_HIO_c() { }
|
||||
|
||||
/* 0x0004 */ s8 mHioId;
|
||||
/* 0x0006 */ s16 m0006;
|
||||
/* 0x0008 */ s16 m0008;
|
||||
/* 0x000A */ s16 m000A;
|
||||
/* 0x000C */ s16 m000C;
|
||||
};
|
||||
|
||||
static daTbox_HIO_c l_HIO;
|
||||
|
||||
struct modelInfo {
|
||||
s16 modelId;
|
||||
s16 openBckId;
|
||||
s16 btkId;
|
||||
s16 brkId;
|
||||
s16 closedColId;
|
||||
s16 openColId;
|
||||
};
|
||||
|
||||
static modelInfo l_modelInfo[] = {
|
||||
static daTbox_c::modelInfo l_modelInfo[] = {
|
||||
{ 0x000E, 0x0009, 0x0022, 0x001B, 0x002A, 0x002B },
|
||||
{ 0x000F, 0x0008, 0x0023, 0x001C, 0x002A, 0x002B },
|
||||
{ 0x0010, 0x0008, 0x0024, 0x001D, 0x002A, 0x002B },
|
||||
{ 0x0014, 0x0008, 0xFFFF, 0xFFFF, 0x002C, 0x002D }
|
||||
};
|
||||
|
||||
class daTbox_c : public fopAc_ac_c {
|
||||
public:
|
||||
daTbox_c() { }
|
||||
|
||||
s32 commonShapeSet();
|
||||
s32 effectShapeSet();
|
||||
s32 envShapeSet();
|
||||
s32 bgCheckSet();
|
||||
|
||||
void searchRoomNo();
|
||||
void lightReady();
|
||||
|
||||
BOOL checkEnv();
|
||||
BOOL checkOpen();
|
||||
|
||||
modelInfo& getModelInfo();
|
||||
|
||||
void clrDzb();
|
||||
void setDzb();
|
||||
|
||||
void surfaceProc();
|
||||
BOOL checkRoomDisp(int);
|
||||
s32 getShapeType();
|
||||
s32 getFuncType();
|
||||
BOOL checkNormal();
|
||||
|
||||
s32 CreateHeap();
|
||||
void CreateInit();
|
||||
|
||||
s32 boxCheck();
|
||||
void lightUpProc();
|
||||
void lightDownProc();
|
||||
void darkProc();
|
||||
void volmProc();
|
||||
|
||||
void demoProcOpen();
|
||||
|
||||
void demoInitAppear_Tact();
|
||||
void demoInitAppear();
|
||||
|
||||
void demoProcAppear_Tact();
|
||||
void demoProcAppear();
|
||||
|
||||
s32 demoProc();
|
||||
|
||||
void OpenInit_com();
|
||||
void OpenInit();
|
||||
|
||||
void setCollision();
|
||||
|
||||
bool actionWait();
|
||||
bool actionDemo();
|
||||
bool actionDemo2();
|
||||
bool actionOpenWait();
|
||||
bool actionSwOnWait();
|
||||
bool actionSwOnWait2();
|
||||
bool actionGenocide();
|
||||
|
||||
s32 execute();
|
||||
|
||||
s32 draw() {
|
||||
u8 openFlag;
|
||||
|
||||
if (mRoomNo != -1 && !checkRoomDisp(mRoomNo)) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (flagCheck(0x01) || (checkEnv() && flagCheck(0x04))) {
|
||||
openFlag = mOpenedSwitch;
|
||||
}
|
||||
else {
|
||||
openFlag = 0xFF;
|
||||
}
|
||||
|
||||
if (!checkOpen()) {
|
||||
dMap_drawPoint(5, current.pos.x, current.pos.y, current.pos.z, mRoomNo, -0x8000, openFlag, mGbaName, 0);
|
||||
}
|
||||
|
||||
mTevStr.mRoomNo = mRoomNo;
|
||||
g_env_light.settingTevStruct(TEV_TYPE_ACTOR, ¤t.pos, &mTevStr);
|
||||
|
||||
if (getFuncType() == FUNC_TYPE_TACT) {
|
||||
J3DModelData* platMdlData = mpTactPlatformMdl->getModelData();
|
||||
|
||||
g_env_light.setLightTevColorType(mpTactPlatformMdl, &mTevStr);
|
||||
mTactPlatformBrk.entry(platMdlData);
|
||||
mDoExt_modelUpdateDL(mpTactPlatformMdl);
|
||||
}
|
||||
|
||||
if (flagCheck(0x01)) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
g_env_light.setLightTevColorType(mpChestMdl, &mTevStr);
|
||||
|
||||
J3DModelData* chestMdlData = mpChestMdl->getModelData();
|
||||
mOpenAnm.entry(chestMdlData);
|
||||
|
||||
if (mpAppearTexAnm != NULL) {
|
||||
mpAppearTexAnm->entry(chestMdlData);
|
||||
}
|
||||
if (mpAppearRegAnm != NULL) {
|
||||
mpAppearRegAnm->entry(chestMdlData);
|
||||
}
|
||||
|
||||
if (checkEnv() && flagCheck(0x04)) {
|
||||
float scrollOffset = mInvisibleScrollVal - -2.0f;
|
||||
s8 offsetAsU8 = scrollOffset;
|
||||
|
||||
float interpVal = (scrollOffset - offsetAsU8) * 0.5f + 0.5f;
|
||||
|
||||
for (u8 i = 0; i < chestMdlData->getMaterialNum(); i++) {
|
||||
J3DMaterial* mat = chestMdlData->getMaterialNodePointer(i);
|
||||
|
||||
for (u8 j = 0; j < mat->getIndTexStageNum(); j++) {
|
||||
J3DIndTexMtx* texMtx = mat->getIndTexMtx(j);
|
||||
texMtx->setScaleExp(offsetAsU8);
|
||||
|
||||
Mtx3P offsetMtx = texMtx->getOffsetMtx();
|
||||
offsetMtx[0][0] = interpVal;
|
||||
offsetMtx[1][1] = interpVal;
|
||||
}
|
||||
}
|
||||
|
||||
if (flagCheck(0x04)) {
|
||||
dComIfGd_setListInvisisble();
|
||||
mDoExt_modelUpdateDL(mpChestMdl);
|
||||
dComIfGd_setList();
|
||||
}
|
||||
else {
|
||||
mDoExt_modelUpdateDL(mpChestMdl);
|
||||
}
|
||||
}
|
||||
else {
|
||||
mDoExt_modelUpdateDL(mpChestMdl);
|
||||
}
|
||||
|
||||
if (mIsFlashPlaying != 0 && mOpenTimer >= 0x24) {
|
||||
J3DModelData* flashMdlData = mpFlashMdl->getModelData();
|
||||
|
||||
mFlashAnm.entry(flashMdlData);
|
||||
mFlashRegAnm.entry(flashMdlData);
|
||||
mFlashTexAnm.entry(flashMdlData);
|
||||
|
||||
dComIfGd_setListMaskOff();
|
||||
mDoExt_modelUpdateDL(mpFlashMdl);
|
||||
dComIfGd_setList();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 0x0290 */ s32 mRoomNo;
|
||||
/* 0x0294 */ request_of_phase_process_class mPhs;
|
||||
|
||||
/* 0x029C */ J3DModel* mpChestMdl;
|
||||
/* 0x02A0 */ mDoExt_bckAnm mOpenAnm;
|
||||
/* 0x02B0 */ mDoExt_btkAnm* mpAppearTexAnm;
|
||||
/* 0x02B4 */ mDoExt_brkAnm* mpAppearRegAnm;
|
||||
|
||||
/* 0x02B8 */ dBgW* mpBgWClosed;
|
||||
/* 0x02BC */ dBgW* mpBgWOpen;
|
||||
/* 0x02C0 */ dBgW* mpBgWVines;
|
||||
|
||||
/* 0x02C4 */ dBgW* mpBgWCurrent;
|
||||
|
||||
/* 0x02C8 */ J3DModel* mpFlashMdl;
|
||||
/* 0x02CC */ mDoExt_bckAnm mFlashAnm;
|
||||
/* 0x02DC */ mDoExt_btkAnm mFlashTexAnm;
|
||||
/* 0x02F0 */ mDoExt_brkAnm mFlashRegAnm;
|
||||
|
||||
/* 0x0308 */ u32 m0308;
|
||||
|
||||
/* 0x030C */ mDoExt_brkAnm mBrkAnm3;
|
||||
|
||||
/* 0x0324 */ J3DModel* mpTactPlatformMdl;
|
||||
/* 0x0328 */ mDoExt_brkAnm mTactPlatformBrk;
|
||||
|
||||
typedef bool (daTbox_c::*actionFunc)();
|
||||
/* 0x0340 */ actionFunc mActionFunc;
|
||||
|
||||
/* 0x034C */ float mInvisibleScrollVal;
|
||||
|
||||
/* 0x0350 */ u32 mStaffId;
|
||||
|
||||
/* 0x0354 */ Mtx mMtx;
|
||||
|
||||
/* 0x0384 */ LIGHT_INFLUENCE mPLight;
|
||||
/* 0x03A4 */ LIGHT_INFLUENCE mEfLight;
|
||||
|
||||
/* 0x03C4 */ dPa_smokeEcallBack mSmokeCB;
|
||||
/* 0x03E4 */ JPABaseEmitter* mSmokeEmitter;
|
||||
|
||||
/* 0x03E8 */ float mAllColRatio;
|
||||
/* 0x03EC */ float m03EC;
|
||||
|
||||
/* 0x03F0 */ u16 mFlags;
|
||||
/* 0x03F2 */ u16 mOpenTimer;
|
||||
|
||||
/* 0x03F4 */ bool mHasOpenAnmFinished;
|
||||
/* 0x03F5 */ bool mIsFlashPlaying;
|
||||
/* 0x03F6 */ u16 mAppearTimer;
|
||||
|
||||
/* 0x03F8 */ u8 mGenocideDelayTimer;
|
||||
|
||||
/* 0x03FC */ dBgS_ObjAcch mObjAcch;
|
||||
/* 0x05C0 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x0600 */ dCcD_Stts mColStatus;
|
||||
/* 0x063C */ dCcD_Cyl mColCyl;
|
||||
|
||||
/* 0x076C */ u8 mOpenedSwitch;
|
||||
|
||||
void flagOn(u16 flag) { mFlags |= flag; }
|
||||
void flagOff(u16 flag) { mFlags &= ~flag; }
|
||||
void flagClr() { mFlags = 0; }
|
||||
BOOL flagCheck(u16 flag) { return mFlags & flag; }
|
||||
|
||||
request_of_phase_process_class* getPhase() { return &mPhs; }
|
||||
|
||||
u8 getTboxNo() { return fopAcM_GetParam(this) >> 0x07 & 0x1F; }
|
||||
int getSwNo() { return fopAcM_GetParam(this) >> 0x0C & 0xFF; }
|
||||
u8 getItemNo() { return orig.angle.z >> 8 & 0xFF; }
|
||||
|
||||
bool action() { return (this->*mActionFunc)(); }
|
||||
void setAction(actionFunc func) { mActionFunc = func; }
|
||||
};
|
||||
|
||||
/* 000000EC-00000124 .text __ct__12daTbox_HIO_cFv */
|
||||
daTbox_HIO_c::daTbox_HIO_c() {
|
||||
mHioId = -1;
|
||||
m0006 = 0x82;
|
||||
m0008 = 0xB4;
|
||||
m000A = 0x30;
|
||||
m000C = 0x1E;
|
||||
m06 = 0x82;
|
||||
m08 = 0xB4;
|
||||
m0A = 0x30;
|
||||
m0C = 0x1E;
|
||||
}
|
||||
|
||||
/* 00000124-00000550 .text commonShapeSet__8daTbox_cFv */
|
||||
@@ -558,7 +311,7 @@ BOOL daTbox_c::checkOpen() {
|
||||
}
|
||||
|
||||
/* 00000D48-00000D78 .text getModelInfo__8daTbox_cFv */
|
||||
modelInfo& daTbox_c::getModelInfo() {
|
||||
daTbox_c::modelInfo& daTbox_c::getModelInfo() {
|
||||
return l_modelInfo[getShapeType()];
|
||||
}
|
||||
|
||||
@@ -735,7 +488,7 @@ void daTbox_c::CreateInit() {
|
||||
case FUNC_TYPE_TACT:
|
||||
setAction(&daTbox_c::actionSwOnWait);
|
||||
flagOn(0x03);
|
||||
mAppearTimer = l_HIO.m0008;
|
||||
mAppearTimer = l_HIO.m08;
|
||||
break;
|
||||
case FUNC_TYPE_SWITCH_TRANSPARENT:
|
||||
setAction(&daTbox_c::actionSwOnWait);
|
||||
@@ -916,7 +669,7 @@ void daTbox_c::demoInitAppear() {
|
||||
|
||||
/* 00001B38-00001CF4 .text demoProcAppear_Tact__8daTbox_cFv */
|
||||
void daTbox_c::demoProcAppear_Tact() {
|
||||
if (mAppearTimer == l_HIO.m0008 - l_HIO.m0006) {
|
||||
if (mAppearTimer == l_HIO.m08 - l_HIO.m06) {
|
||||
flagOff(1);
|
||||
mInvisibleScrollVal = 2.0f;
|
||||
|
||||
@@ -930,13 +683,13 @@ void daTbox_c::demoProcAppear_Tact() {
|
||||
if (mAppearTimer != 0) {
|
||||
mAppearTimer--;
|
||||
|
||||
if (mAppearTimer > l_HIO.m0008 - l_HIO.m000A) {
|
||||
if (mAppearTimer > l_HIO.m08 - l_HIO.m0A) {
|
||||
dKy_set_allcol_ratio(
|
||||
(0.6f / l_HIO.m000A)
|
||||
* (mAppearTimer - (l_HIO.m0008 - l_HIO.m000A)) + 0.4f);
|
||||
(0.6f / l_HIO.m0A)
|
||||
* (mAppearTimer - (l_HIO.m08 - l_HIO.m0A)) + 0.4f);
|
||||
}
|
||||
else if (mAppearTimer < l_HIO.m000C) {
|
||||
dKy_set_allcol_ratio((0.6f / l_HIO.m000C) * (l_HIO.m000C - mAppearTimer) + 0.4f);
|
||||
else if (mAppearTimer < l_HIO.m0C) {
|
||||
dKy_set_allcol_ratio((0.6f / l_HIO.m0C) * (l_HIO.m0C - mAppearTimer) + 0.4f);
|
||||
}
|
||||
else {
|
||||
dKy_set_allcol_ratio(0.4f);
|
||||
@@ -1136,12 +889,12 @@ void daTbox_c::setCollision() {
|
||||
}
|
||||
|
||||
/* 000024AC-000024B4 .text actionWait__8daTbox_cFv */
|
||||
bool daTbox_c::actionWait() {
|
||||
BOOL daTbox_c::actionWait() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 000024B4-000025A4 .text actionDemo__8daTbox_cFv */
|
||||
bool daTbox_c::actionDemo() {
|
||||
BOOL daTbox_c::actionDemo() {
|
||||
/* Fakematch - the temp variable for play is definitely not right. */
|
||||
s16 eventId = mEvtInfo.getEventId();
|
||||
dComIfG_play_c* play = &g_dComIfG_gameInfo.play;
|
||||
@@ -1171,7 +924,7 @@ bool daTbox_c::actionDemo() {
|
||||
}
|
||||
|
||||
/* 000025A4-00002634 .text actionDemo2__8daTbox_cFv */
|
||||
bool daTbox_c::actionDemo2() {
|
||||
BOOL daTbox_c::actionDemo2() {
|
||||
if (dComIfGp_evmng_endCheck("DEFAULT_TREASURE_APPEAR")) {
|
||||
setAction(&daTbox_c::actionOpenWait);
|
||||
dComIfGp_event_onEventFlag(0x08);
|
||||
@@ -1184,7 +937,7 @@ bool daTbox_c::actionDemo2() {
|
||||
}
|
||||
|
||||
/* 00002634-000027C8 .text actionOpenWait__8daTbox_cFv */
|
||||
bool daTbox_c::actionOpenWait() {
|
||||
BOOL daTbox_c::actionOpenWait() {
|
||||
if (mEvtInfo.checkCommandDoor()) {
|
||||
dComIfGp_event_onEventFlag(0x04);
|
||||
|
||||
@@ -1232,7 +985,7 @@ bool daTbox_c::actionOpenWait() {
|
||||
}
|
||||
|
||||
/* 000027C8-000028A0 .text actionSwOnWait__8daTbox_cFv */
|
||||
bool daTbox_c::actionSwOnWait() {
|
||||
BOOL daTbox_c::actionSwOnWait() {
|
||||
if (mEvtInfo.checkCommandDemoAccrpt()) {
|
||||
setAction(&daTbox_c::actionDemo2);
|
||||
|
||||
@@ -1250,7 +1003,7 @@ bool daTbox_c::actionSwOnWait() {
|
||||
}
|
||||
|
||||
/* 000028A0-00002914 .text actionSwOnWait2__8daTbox_cFv */
|
||||
bool daTbox_c::actionSwOnWait2() {
|
||||
BOOL daTbox_c::actionSwOnWait2() {
|
||||
if (dComIfGs_isSwitch(getSwNo(), mRoomNo)) {
|
||||
setAction(&daTbox_c::actionOpenWait);
|
||||
setDzb();
|
||||
@@ -1260,7 +1013,7 @@ bool daTbox_c::actionSwOnWait2() {
|
||||
}
|
||||
|
||||
/* 00002914-00002A2C .text actionGenocide__8daTbox_cFv */
|
||||
bool daTbox_c::actionGenocide() {
|
||||
BOOL daTbox_c::actionGenocide() {
|
||||
if (mEvtInfo.checkCommandDemoAccrpt()) {
|
||||
setAction(&daTbox_c::actionDemo2);
|
||||
|
||||
@@ -1284,8 +1037,100 @@ bool daTbox_c::actionGenocide() {
|
||||
return true;
|
||||
}
|
||||
|
||||
BOOL daTbox_c::draw() {
|
||||
u8 openFlag;
|
||||
|
||||
if (mRoomNo != -1 && !checkRoomDisp(mRoomNo)) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (flagCheck(0x01) || (checkEnv() && flagCheck(0x04))) {
|
||||
openFlag = mOpenedSwitch;
|
||||
}
|
||||
else {
|
||||
openFlag = 0xFF;
|
||||
}
|
||||
|
||||
if (!checkOpen()) {
|
||||
dMap_drawPoint(5, current.pos.x, current.pos.y, current.pos.z, mRoomNo, -0x8000, openFlag, mGbaName, 0);
|
||||
}
|
||||
|
||||
mTevStr.mRoomNo = mRoomNo;
|
||||
g_env_light.settingTevStruct(TEV_TYPE_ACTOR, ¤t.pos, &mTevStr);
|
||||
|
||||
if (getFuncType() == FUNC_TYPE_TACT) {
|
||||
J3DModelData* platMdlData = mpTactPlatformMdl->getModelData();
|
||||
|
||||
g_env_light.setLightTevColorType(mpTactPlatformMdl, &mTevStr);
|
||||
mTactPlatformBrk.entry(platMdlData);
|
||||
mDoExt_modelUpdateDL(mpTactPlatformMdl);
|
||||
}
|
||||
|
||||
if (flagCheck(0x01)) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
g_env_light.setLightTevColorType(mpChestMdl, &mTevStr);
|
||||
|
||||
J3DModelData* chestMdlData = mpChestMdl->getModelData();
|
||||
mOpenAnm.entry(chestMdlData);
|
||||
|
||||
if (mpAppearTexAnm != NULL) {
|
||||
mpAppearTexAnm->entry(chestMdlData);
|
||||
}
|
||||
if (mpAppearRegAnm != NULL) {
|
||||
mpAppearRegAnm->entry(chestMdlData);
|
||||
}
|
||||
|
||||
if (checkEnv() && flagCheck(0x04)) {
|
||||
float scrollOffset = mInvisibleScrollVal - -2.0f;
|
||||
s8 offsetAsU8 = scrollOffset;
|
||||
|
||||
float interpVal = (scrollOffset - offsetAsU8) * 0.5f + 0.5f;
|
||||
|
||||
for (u8 i = 0; i < chestMdlData->getMaterialNum(); i++) {
|
||||
J3DMaterial* mat = chestMdlData->getMaterialNodePointer(i);
|
||||
|
||||
for (u8 j = 0; j < mat->getIndTexStageNum(); j++) {
|
||||
J3DIndTexMtx* texMtx = mat->getIndTexMtx(j);
|
||||
texMtx->setScaleExp(offsetAsU8);
|
||||
|
||||
Mtx3P offsetMtx = texMtx->getOffsetMtx();
|
||||
offsetMtx[0][0] = interpVal;
|
||||
offsetMtx[1][1] = interpVal;
|
||||
}
|
||||
}
|
||||
|
||||
if (flagCheck(0x04)) {
|
||||
dComIfGd_setListInvisisble();
|
||||
mDoExt_modelUpdateDL(mpChestMdl);
|
||||
dComIfGd_setList();
|
||||
}
|
||||
else {
|
||||
mDoExt_modelUpdateDL(mpChestMdl);
|
||||
}
|
||||
}
|
||||
else {
|
||||
mDoExt_modelUpdateDL(mpChestMdl);
|
||||
}
|
||||
|
||||
if (mIsFlashPlaying != 0 && mOpenTimer >= 0x24) {
|
||||
J3DModelData* flashMdlData = mpFlashMdl->getModelData();
|
||||
|
||||
mFlashAnm.entry(flashMdlData);
|
||||
mFlashRegAnm.entry(flashMdlData);
|
||||
mFlashTexAnm.entry(flashMdlData);
|
||||
|
||||
dComIfGd_setListMaskOff();
|
||||
mDoExt_modelUpdateDL(mpFlashMdl);
|
||||
dComIfGd_setList();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 00002A2C-00002BF0 .text execute__8daTbox_cFv */
|
||||
s32 daTbox_c::execute() {
|
||||
BOOL daTbox_c::execute() {
|
||||
if (mRoomNo == -1 || checkRoomDisp(mRoomNo) != TRUE) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+1
-6
@@ -15,6 +15,7 @@
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_meter.h"
|
||||
#include "m_Do/m_Do_controller_pad.h"
|
||||
#include "d/actor/d_a_movie_player.h"
|
||||
|
||||
namespace JAInter {
|
||||
class BankWave {
|
||||
@@ -23,12 +24,6 @@ namespace JAInter {
|
||||
};
|
||||
};
|
||||
|
||||
class daMP_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 0x290 */ u32 (*mpCallBack1)();
|
||||
/* 0x294 */ u32 (*mpCallBack2)(f32);
|
||||
};
|
||||
|
||||
#if VERSION == VERSION_PAL
|
||||
#define title_of_scene_class dScnTitle_c
|
||||
#endif
|
||||
|
||||
@@ -29,7 +29,7 @@ public:
|
||||
const char daThrowstone_c::M_arcname[] = "Aisi";
|
||||
|
||||
/* 8023B544-8023B564 .text CheckCreateHeap__FP10fopAc_ac_c */
|
||||
static s32 CheckCreateHeap(fopAc_ac_c* i_actor) {
|
||||
static BOOL CheckCreateHeap(fopAc_ac_c* i_actor) {
|
||||
daThrowstone_c* i_this = (daThrowstone_c*)i_actor;
|
||||
return i_this->CreateHeap();
|
||||
}
|
||||
@@ -50,7 +50,7 @@ s32 daThrowstone_c::_create() {
|
||||
if (result == cPhs_COMPLEATE_e) {
|
||||
fopAcM_SetupActor(this, daThrowstone_c);
|
||||
|
||||
if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckCreateHeap, 0x4C0)) {
|
||||
if (!fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x4C0)) {
|
||||
result = cPhs_ERROR_e;
|
||||
} else {
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
|
||||
@@ -68,8 +68,8 @@ void mDoDvdThd_param_c::kick() {
|
||||
}
|
||||
|
||||
/* 800180F0-80018118 .text waitForKick__17mDoDvdThd_param_cFv */
|
||||
s32 mDoDvdThd_param_c::waitForKick() {
|
||||
OSReceiveMessage(&mMessageQueue, NULL, 1);
|
||||
BOOL mDoDvdThd_param_c::waitForKick() {
|
||||
return OSReceiveMessage(&mMessageQueue, NULL, 1);
|
||||
}
|
||||
|
||||
/* 80018118-80018120 .text getFirstCommand__17mDoDvdThd_param_cFv */
|
||||
|
||||
Reference in New Issue
Block a user