mirror of
https://github.com/zeldaret/tp
synced 2026-05-23 06:54:28 -04:00
d_a_npc_blue_ns mostly done (#2747)
* d_a_npc_blue_ns mostly done * d_a_obj_poCandle / d_a_obj_poTbox done
This commit is contained in:
+3
-3
@@ -1842,7 +1842,7 @@ config.libs = [
|
||||
ActorRel(NonMatching, "d_a_npc_ash", extra_cflags=[DANPCF_C_HACK]),
|
||||
ActorRel(NonMatching, "d_a_npc_ashB", extra_cflags=[DANPCF_C_HACK]),
|
||||
ActorRel(NonMatching, "d_a_npc_bans"),
|
||||
ActorRel(NonMatching, "d_a_npc_blue_ns"),
|
||||
ActorRel(NonMatching, "d_a_npc_blue_ns", extra_cflags=[DANPCF_C_HACK]),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_bou"),
|
||||
ActorRel(NonMatching, "d_a_npc_bouS"),
|
||||
ActorRel(NonMatching, "d_a_npc_cdn3"),
|
||||
@@ -2150,9 +2150,9 @@ config.libs = [
|
||||
ActorRel(NonMatching, "d_a_obj_picture"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_pillar"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_pleaf"),
|
||||
ActorRel(NonMatching, "d_a_obj_poCandle"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_poCandle"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_poFire"),
|
||||
ActorRel(NonMatching, "d_a_obj_poTbox"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_poTbox"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_prop"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01"), "d_a_obj_pumpkin"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_rcircle"),
|
||||
|
||||
@@ -1047,7 +1047,7 @@ protected:
|
||||
/* 0x992 */ s16 field_0x992;
|
||||
/* 0x994 */ s16 mTurnStartAngle;
|
||||
/* 0x996 */ s16 mTurnTargetAngle;
|
||||
/* 0x998 */ u16 field_0x998;
|
||||
/* 0x998 */ s16 field_0x998;
|
||||
/* 0x99C */ u32 mAnmFlags;
|
||||
/* 0x9A0 */ u32 mShadowKey;
|
||||
/* 0x9A4 */ u32 field_0x9a4;
|
||||
@@ -1250,6 +1250,7 @@ BOOL daNpcF_pntVsLineSegmentLengthSquare2D(f32 i_pntX, f32 i_pntZ, f32 i_startX,
|
||||
f32* o_dist2);
|
||||
BOOL daNpcF_chkPassed(cXyz i_pos, dPnt* i_points, u16 i_idx, u16 i_num, BOOL i_isClosed,
|
||||
BOOL i_isReversed);
|
||||
BOOL daNpcF_chkDoBtnEqSpeak(fopAc_ac_c* i_actor_p);
|
||||
|
||||
class daNpcF_MatAnm_c : public J3DMaterialAnm {
|
||||
private:
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
#define D_A_NPC_BLUE_NS_H
|
||||
|
||||
#include "d/actor/d_a_npc.h"
|
||||
#include "d/actor/d_a_tag_yami.h"
|
||||
#include "d/actor/d_a_obj_carry.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-npcs
|
||||
@@ -11,78 +13,133 @@
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class daNpcBlueNS_c : public fopAc_ac_c {
|
||||
class daNpcBlueNS_c : public daNpcF_c {
|
||||
public:
|
||||
typedef BOOL (daNpcBlueNS_c::*EventFn)(int);
|
||||
|
||||
/* 8096896C */ daNpcBlueNS_c();
|
||||
/* 80968B80 */ ~daNpcBlueNS_c();
|
||||
/* 80968D44 */ void Create();
|
||||
/* 80968FE4 */ void CreateHeap();
|
||||
/* 80969138 */ void isDelete();
|
||||
/* 809691A8 */ void Delete();
|
||||
/* 809691DC */ void Execute();
|
||||
/* 80969200 */ void _Execute();
|
||||
|
||||
/* 80968D44 */ int Create();
|
||||
/* 80968FE4 */ int CreateHeap();
|
||||
/* 80969138 */ int isDelete();
|
||||
/* 809691A8 */ int Delete();
|
||||
/* 809691DC */ int Execute();
|
||||
/* 80969200 */ int _Execute();
|
||||
/* 80969468 */ void callEvt_changeYami();
|
||||
/* 80969504 */ void create_Yamijin(int);
|
||||
/* 809695F0 */ void col_check();
|
||||
/* 80969698 */ void holyball_check_main(fopAc_ac_c*);
|
||||
/* 80969870 */ void Draw();
|
||||
/* 809699D0 */ void ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 80969B68 */ void createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80969B88 */ void ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80969BD4 */ void setParam();
|
||||
/* 80969504 */ fpc_ProcID create_Yamijin(int);
|
||||
/* 809695F0 */ BOOL col_check();
|
||||
/* 80969698 */ BOOL holyball_check_main(fopAc_ac_c*);
|
||||
/* 80969870 */ int Draw();
|
||||
/* 809699D0 */ int ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 80969B68 */ static int createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80969B88 */ static int ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80969C48 */ void srchActor();
|
||||
/* 80969C90 */ void srchHollyBall();
|
||||
/* 80969CF8 */ void srchTagYami();
|
||||
/* 80969D60 */ void _search_Tag(void*, void*);
|
||||
/* 80969DE4 */ void _search_HollyBall_Y(void*, void*);
|
||||
/* 80969E9C */ void _search_HollyBall_G(void*, void*);
|
||||
/* 80969F54 */ void main();
|
||||
/* 8096A090 */ void setAttnPos();
|
||||
/* 8096A238 */ bool setMotionAnm(int, f32);
|
||||
/* 8096A308 */ void setMotion(int, f32, int);
|
||||
/* 8096A350 */ bool drawDbgInfo();
|
||||
/* 80969D60 */ static void* _search_Tag(void*, void*);
|
||||
/* 80969DE4 */ static void* _search_HollyBall_Y(void*, void*);
|
||||
/* 80969E9C */ static void* _search_HollyBall_G(void*, void*);
|
||||
/* 8096A358 */ void reset();
|
||||
/* 8096A518 */ void playMotion();
|
||||
/* 8096A750 */ void setAction(int (daNpcBlueNS_c::*)(int));
|
||||
/* 8096A750 */ int setAction(int (daNpcBlueNS_c::*)(int));
|
||||
/* 8096A7F8 */ void setLookMode(int);
|
||||
/* 8096A81C */ void lookat();
|
||||
/* 8096A9FC */ void step(s16, int);
|
||||
/* 8096AAF0 */ void chkFindPlayer();
|
||||
/* 8096ABD4 */ void wait(int);
|
||||
/* 8096AD70 */ void down(int);
|
||||
/* 8096AE5C */ void talk(int);
|
||||
/* 8096AFC8 */ void demo(int);
|
||||
/* 8096A9FC */ BOOL step(s16, int);
|
||||
/* 8096AAF0 */ BOOL chkFindPlayer();
|
||||
/* 8096ABD4 */ int wait(int);
|
||||
/* 8096AD70 */ int down(int);
|
||||
/* 8096AE5C */ int talk(int);
|
||||
/* 8096AFC8 */ int demo(int);
|
||||
/* 8096B204 */ void ChgPtclDisp();
|
||||
/* 8096B320 */ void downSE();
|
||||
/* 8096B3D8 */ void lightsowrdSE();
|
||||
/* 8096B490 */ void appearSE();
|
||||
/* 8096B548 */ void _Evt_ChgYami_Chibi(int);
|
||||
/* 8096B5F0 */ void _Evt_ChgYami_Chibi_CutInit(int const&);
|
||||
/* 8096B688 */ void _Evt_ChgYami_Chibi_CutMain(int const&);
|
||||
/* 8096B7B8 */ void _Evt_ChgYami_Debu(int);
|
||||
/* 8096B860 */ void _Evt_ChgYami_Debu_CutInit(int const&);
|
||||
/* 8096B8F8 */ void _Evt_ChgYami_Debu_CutMain(int const&);
|
||||
/* 8096BA28 */ void _Evt_ChgYami_Noppo(int);
|
||||
/* 8096BAD0 */ void _Evt_ChgYami_Noppo_CutInit(int const&);
|
||||
/* 8096BB68 */ void _Evt_ChgYami_Noppo_CutMain(int const&);
|
||||
/* 8096BC98 */ void _Evt_ChgYami_STNoppo(int);
|
||||
/* 8096BD40 */ void _Evt_ChgYami_STNoppo_CutInit(int const&);
|
||||
/* 8096BDD8 */ void _Evt_ChgYami_STNoppo_CutMain(int const&);
|
||||
/* 8096C8B0 */ void adjustShapeAngle();
|
||||
/* 8096B548 */ BOOL _Evt_ChgYami_Chibi(int);
|
||||
/* 8096B5F0 */ BOOL _Evt_ChgYami_Chibi_CutInit(const int&);
|
||||
/* 8096B688 */ BOOL _Evt_ChgYami_Chibi_CutMain(const int&);
|
||||
/* 8096B7B8 */ BOOL _Evt_ChgYami_Debu(int);
|
||||
/* 8096B860 */ BOOL _Evt_ChgYami_Debu_CutInit(const int&);
|
||||
/* 8096B8F8 */ BOOL _Evt_ChgYami_Debu_CutMain(const int&);
|
||||
/* 8096BA28 */ BOOL _Evt_ChgYami_Noppo(int);
|
||||
/* 8096BAD0 */ BOOL _Evt_ChgYami_Noppo_CutInit(const int&);
|
||||
/* 8096BB68 */ BOOL _Evt_ChgYami_Noppo_CutMain(const int&);
|
||||
/* 8096BC98 */ BOOL _Evt_ChgYami_STNoppo(int);
|
||||
/* 8096BD40 */ BOOL _Evt_ChgYami_STNoppo_CutInit(const int&);
|
||||
/* 8096BDD8 */ BOOL _Evt_ChgYami_STNoppo_CutMain(const int&);
|
||||
|
||||
/* 80968B80 */ virtual ~daNpcBlueNS_c();
|
||||
/* 80969BD4 */ virtual void setParam();
|
||||
/* 80969F54 */ virtual BOOL main();
|
||||
/* 8096C8B0 */ virtual void adjustShapeAngle() {}
|
||||
/* 8096A090 */ virtual void setAttnPos();
|
||||
/* 8096A238 */ virtual void setMotionAnm(int, f32);
|
||||
/* 8096A308 */ virtual void setMotion(int, f32, int);
|
||||
/* 8096A350 */ virtual BOOL drawDbgInfo();
|
||||
|
||||
static u8 mEvtSeqList[84];
|
||||
int getType() { return fopAcM_GetParam(this) & 0xFF; }
|
||||
u8 getSwitchBitNo() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
|
||||
u8 _chk_TagPrm(fopAc_ac_c* i_tag) { return (fopAcM_GetParam(i_tag) & 0xFF) == mType % 3; }
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0xe14 - 0x568];
|
||||
BOOL holyball_check_yellow() { return holyball_check_main(mpHolyBallY); }
|
||||
BOOL holyball_check_green() { return holyball_check_main(mpHolyBallG); }
|
||||
BOOL holyball_check() { return holyball_check_yellow() || holyball_check_green(); }
|
||||
|
||||
int getFlowNodeNo() {
|
||||
int var_r30;
|
||||
|
||||
u16 temp_r0 = home.angle.x;
|
||||
if (temp_r0 == 0xFFFF) {
|
||||
var_r30 = -1;
|
||||
} else {
|
||||
var_r30 = temp_r0;
|
||||
}
|
||||
|
||||
return var_r30;
|
||||
}
|
||||
|
||||
static EventFn mEvtSeqList[];
|
||||
|
||||
/* 0xB48 */ Z2Creature mSound;
|
||||
/* 0xBD8 */ u8 field_0xBD8[0xBDC - 0xBD8];
|
||||
/* 0xBDC */ daNpcF_Lookat_c mLookat;
|
||||
/* 0xC78 */ daNpcF_ActorMngr_c mActorMngr[1];
|
||||
/* 0xC80 */ u8 field_0xC80[0xC84 - 0xC80];
|
||||
/* 0xC84 */ dCcD_Cyl mCyl;
|
||||
/* 0xDC0 */ u16 field_0xdc0;
|
||||
/* 0xDC4 */ int (daNpcBlueNS_c::*mAction)(int);
|
||||
/* 0xDD0 */ request_of_phase_process_class mPhase[1];
|
||||
/* 0xDD8 */ int field_0xdd8;
|
||||
/* 0xDDC */ int field_0xddc;
|
||||
/* 0xDE0 */ int field_0xde0;
|
||||
/* 0xDE4 */ int mFlowNodeNo;
|
||||
/* 0xDE8 */ s16 mLookMode;
|
||||
/* 0xDEA */ s16 field_0xdea;
|
||||
/* 0xDEC */ u8 field_0xdec;
|
||||
/* 0xDF0 */ daObjCarry_c* mpHolyBallY;
|
||||
/* 0xDF4 */ daObjCarry_c* mpHolyBallG;
|
||||
/* 0xDF8 */ daTagYami_c* mpTagYami;
|
||||
/* 0xDFC */ fopAc_ac_c* mpNpcYami;
|
||||
/* 0xE00 */ fpc_ProcID mYamijinId;
|
||||
/* 0xE04 */ int field_0xe04;
|
||||
/* 0xE08 */ int field_0xe08;
|
||||
/* 0xE0C */ int field_0xe0c;
|
||||
/* 0xE10 */ s8 field_0xe10;
|
||||
/* 0xE11 */ u8 mType;
|
||||
/* 0xE12 */ s8 field_0xe12;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpcBlueNS_c) == 0xe14);
|
||||
|
||||
struct daNpcBlueNS_HIOParam {
|
||||
/* 0x00 */ daNpcF_HIOParam common;
|
||||
/* 0x6C */ f32 field_0x6c;
|
||||
};
|
||||
|
||||
class daNpcBlueNS_Param_c {
|
||||
public:
|
||||
/* 8096C8B4 */ ~daNpcBlueNS_Param_c();
|
||||
/* 8096C8B4 */ virtual ~daNpcBlueNS_Param_c() {}
|
||||
|
||||
static u8 const m[112];
|
||||
static const daNpcBlueNS_HIOParam m;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -57,11 +57,24 @@ public:
|
||||
/* 80B495C8 */ void checkRemoveJoint(int);
|
||||
/* 80B495D8 */ void evtEndProc();
|
||||
|
||||
void vanish_off() {
|
||||
field_0xf81 = 0;
|
||||
}
|
||||
|
||||
void on_CoHit() {
|
||||
field_0xe44.OnCoSetBit();
|
||||
field_0xe44.OnTgSetBit();
|
||||
}
|
||||
|
||||
static char* mCutNameList[2];
|
||||
static u8 mCutList[24];
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0xfcc - 0x568];
|
||||
/* 0x568 */ u8 field_0x568[0xe44 - 0x568];
|
||||
/* 0xE44 */ dCcD_Cyl field_0xe44;
|
||||
/* 0xF80 */ u8 field_0xf80;
|
||||
/* 0xF81 */ u8 field_0xf81;
|
||||
/* 0xF82 */ u8 field_0xf82[0xFCC - 0xF82];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpc_yamiS_c) == 0xfcc);
|
||||
|
||||
@@ -59,11 +59,24 @@ public:
|
||||
/* 80B4CD18 */ void checkChangeJoint(int);
|
||||
/* 80B4CD28 */ void checkRemoveJoint(int);
|
||||
|
||||
void vanish_off() {
|
||||
field_0xf81 = 0;
|
||||
}
|
||||
|
||||
void on_CoHit() {
|
||||
field_0xe44.OnCoSetBit();
|
||||
field_0xe44.OnTgSetBit();
|
||||
}
|
||||
|
||||
static char* mCutNameList[2];
|
||||
static u8 mCutList[24];
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0xfcc - 0x568];
|
||||
/* 0x568 */ u8 field_0x568[0xe44 - 0x568];
|
||||
/* 0xE44 */ dCcD_Cyl field_0xe44;
|
||||
/* 0xF80 */ u8 field_0xf80;
|
||||
/* 0xF81 */ u8 field_0xf81;
|
||||
/* 0xF82 */ u8 field_0xf82[0xFCC - 0xF82];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpc_yamiT_c) == 0xfcc);
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
#define D_A_OBJ_POCANDLE_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_bg_s_movebg_actor.h"
|
||||
#include "d/d_event_lib.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
@@ -11,16 +13,16 @@
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class daPoCandle_c : public fopAc_ac_c {
|
||||
class daPoCandle_c : public dBgS_MoveBgActor, public request_of_phase_process_class, public dEvLib_callback_c {
|
||||
public:
|
||||
daPoCandle_c() : dEvLib_callback_c(this) {}
|
||||
|
||||
/* 80CB1AE4 */ void setBaseMtx();
|
||||
/* 80CB1B6C */ void CreateHeap();
|
||||
/* 80CB1BD8 */ void create();
|
||||
/* 80CB1BD8 */ int create();
|
||||
/* 80CB1D74 */ void lightInit();
|
||||
/* 80CB1E00 */ void setLight();
|
||||
/* 80CB1E30 */ void cutLight();
|
||||
/* 80CB1E60 */ void pointLightProc();
|
||||
/* 80CB1F10 */ void Execute(Mtx**);
|
||||
/* 80CB2140 */ void init_modeWait();
|
||||
/* 80CB214C */ void modeWait();
|
||||
/* 80CB21D8 */ void init_modeOnFire();
|
||||
@@ -28,32 +30,44 @@ public:
|
||||
/* 80CB22F4 */ void modeOnSwWait();
|
||||
/* 80CB2354 */ void init_modeEnd();
|
||||
/* 80CB2360 */ void modeEnd();
|
||||
/* 80CB2364 */ void eventStart();
|
||||
/* 80CB2388 */ void Draw();
|
||||
/* 80CB242C */ void Delete();
|
||||
/* 80CB2610 */ ~daPoCandle_c();
|
||||
|
||||
/* 80CB1B6C */ virtual int CreateHeap();
|
||||
/* 80CB1F10 */ virtual int Execute(Mtx**);
|
||||
/* 80CB2388 */ virtual int Draw();
|
||||
/* 80CB242C */ virtual int Delete();
|
||||
|
||||
/* 80CB3E3C */ cXyz getFirePos() { return static_cast<cXyz>(mFirePos); }
|
||||
u8 getIDNum() {return mIDNum;}
|
||||
void setFireFlag(u8 flag) { field_0x5D2 = flag; }
|
||||
/* 80CB2610 */ virtual ~daPoCandle_c() {}
|
||||
/* 80CB2364 */ virtual bool eventStart();
|
||||
|
||||
/* 80CB3E3C */ cXyz getFirePos() { return mFirePos; }
|
||||
|
||||
int getLightType() { return fopAcM_GetParamBit(this, 0x10, 8); }
|
||||
int getSwBit() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
int getID() { return fopAcM_GetParamBit(this, 8, 8); }
|
||||
|
||||
u8 getIDNum() { return mIDNum; }
|
||||
void setFireFlag(u8 flag) { mFireFlag = flag; }
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x5C4 - 0x568];
|
||||
/* 0x5B8 */ request_of_phase_process_class mPhase;
|
||||
/* 0x5C0 */ J3DModel* mpModel;
|
||||
/* 0x5C4 */ cXyz mFirePos;
|
||||
/* 0x5D0 */ u8 field_0x5D0[0x5D2 - 0x5D0];
|
||||
/* 0x5D2 */ u8 field_0x5D2;
|
||||
/* 0x5D3 */ u8 field_0x5D3[0x5D5 - 0x5D3];
|
||||
/* 0x5D0 */ u8 field_0x5d0;
|
||||
/* 0x5D1 */ u8 mOnPlight;
|
||||
/* 0x5D2 */ u8 mFireFlag;
|
||||
/* 0x5D3 */ u8 mSwWaitTimer;
|
||||
/* 0x5D4 */ u8 mSwbit;
|
||||
/* 0x5D5 */ u8 mIDNum;
|
||||
/* 0x5DB */ u8 field_0x5DB[0x614 - 0x5D6];
|
||||
/* 0x5D6 */ u8 mMode;
|
||||
/* 0x5D7 */ u8 mIsSwitch;
|
||||
/* 0x5D8 */ u32 mGlowEmtID;
|
||||
/* 0x5DC */ u32 mFireEmtID;
|
||||
/* 0x5E0 */ cXyz mLightPos;
|
||||
/* 0x5EC */ u8 mLightType;
|
||||
/* 0x5F0 */ f32 mPlightRefDist;
|
||||
/* 0x5F4 */ LIGHT_INFLUENCE mLight;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daPoCandle_c) == 0x614);
|
||||
|
||||
class daPoCandle_HIO_c {
|
||||
public:
|
||||
/* 80CB1A6C */ daPoCandle_HIO_c();
|
||||
/* 80CB2508 */ ~daPoCandle_HIO_c();
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_OBJ_POCANDLE_H */
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_A_OBJ_POTBOX_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_bg_s_movebg_actor.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
@@ -11,12 +12,10 @@
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class daPoTbox_c : public fopAc_ac_c {
|
||||
class daPoTbox_c : public dBgS_MoveBgActor {
|
||||
public:
|
||||
/* 80CB42C8 */ void setBaseMtx();
|
||||
/* 80CB43D0 */ void CreateHeap();
|
||||
/* 80CB46C4 */ void create();
|
||||
/* 80CB499C */ void Execute(Mtx**);
|
||||
/* 80CB46C4 */ int create();
|
||||
/* 80CB4AA8 */ void init_modeWait();
|
||||
/* 80CB4AB4 */ void modeWait();
|
||||
/* 80CB4B10 */ void init_modeOpen();
|
||||
@@ -25,20 +24,30 @@ public:
|
||||
/* 80CB4C60 */ void modeOpenEnd();
|
||||
/* 80CB4C84 */ void init_modeEnd();
|
||||
/* 80CB4C90 */ void modeEnd();
|
||||
/* 80CB4C94 */ void Draw();
|
||||
/* 80CB4E14 */ void Delete();
|
||||
|
||||
/* 80CB43D0 */ virtual int CreateHeap();
|
||||
/* 80CB499C */ virtual int Execute(Mtx**);
|
||||
/* 80CB4C94 */ virtual int Draw();
|
||||
/* 80CB4E14 */ virtual int Delete();
|
||||
|
||||
int getSw() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
int getStat() { return fopAcM_GetParamBit(this, 8, 4); }
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x608 - 0x568];
|
||||
/* 0x5A0 */ request_of_phase_process_class mPhase;
|
||||
/* 0x5A8 */ J3DModel* mpBoxModel;
|
||||
/* 0x5AC */ J3DModel* mpAnimModel;
|
||||
/* 0x5B0 */ J3DModel* mpLightModel;
|
||||
/* 0x5B4 */ dBgW* mpBgw2;
|
||||
/* 0x5B8 */ mDoExt_bckAnm mBck;
|
||||
/* 0x5D4 */ mDoExt_btkAnm mBtk;
|
||||
/* 0x5EC */ mDoExt_brkAnm mBrk;
|
||||
/* 0x604 */ u8 mMode;
|
||||
/* 0x605 */ u8 field_0x605;
|
||||
/* 0x606 */ u8 mStat;
|
||||
/* 0x607 */ u8 mIsSwitch;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daPoTbox_c) == 0x608);
|
||||
|
||||
class daPoTbox_HIO_c {
|
||||
public:
|
||||
/* 80CB424C */ daPoTbox_HIO_c();
|
||||
/* 80CB4F14 */ ~daPoTbox_HIO_c();
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_OBJ_POTBOX_H */
|
||||
|
||||
@@ -15,6 +15,16 @@ class JKRSolidHeap;
|
||||
struct ResTIMG;
|
||||
class Z2Creature;
|
||||
|
||||
namespace mDoExt {
|
||||
extern u8 HeapAdjustVerbose;
|
||||
extern u8 HeapAdjustQuiet;
|
||||
};
|
||||
|
||||
#if DEBUG
|
||||
void DummyCheckHeap_create();
|
||||
void DummyCheckHeap_destroy();
|
||||
#endif
|
||||
|
||||
class mDoExt_baseAnm {
|
||||
public:
|
||||
mDoExt_baseAnm() {}
|
||||
|
||||
@@ -1906,8 +1906,8 @@ int daNpcF_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz& param_2,
|
||||
}
|
||||
|
||||
/* 80155854-80155968 150194 0114+00 0/0 0/0 1/1 .text daNpcF_chkDoBtnEqSpeak__FP10fopAc_ac_c */
|
||||
bool daNpcF_chkDoBtnEqSpeak(fopAc_ac_c* i_actor_p) {
|
||||
bool ret = FALSE;
|
||||
BOOL daNpcF_chkDoBtnEqSpeak(fopAc_ac_c* i_actor_p) {
|
||||
BOOL ret = FALSE;
|
||||
|
||||
if (daPy_getPlayerActorClass()->checkPriActorOwn(i_actor_p)) {
|
||||
for (int i = 0; i < dComIfGp_getAttention()->GetActionCount(); i++) {
|
||||
|
||||
+1441
-1456
File diff suppressed because it is too large
Load Diff
+259
-466
@@ -6,161 +6,277 @@
|
||||
#include "d/dolzel_rel.h" // IWYU pragma: keep
|
||||
|
||||
#include "d/actor/d_a_obj_poCandle.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
class daPoCandle_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
/* 80CB1A6C */ daPoCandle_HIO_c();
|
||||
/* 80CB2508 */ virtual ~daPoCandle_HIO_c() {}
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
extern "C" void __ct__16daPoCandle_HIO_cFv();
|
||||
extern "C" void __dt__14mDoHIO_entry_cFv();
|
||||
extern "C" void setBaseMtx__12daPoCandle_cFv();
|
||||
extern "C" void CreateHeap__12daPoCandle_cFv();
|
||||
extern "C" void create__12daPoCandle_cFv();
|
||||
extern "C" void lightInit__12daPoCandle_cFv();
|
||||
extern "C" void setLight__12daPoCandle_cFv();
|
||||
extern "C" void cutLight__12daPoCandle_cFv();
|
||||
extern "C" void pointLightProc__12daPoCandle_cFv();
|
||||
extern "C" void Execute__12daPoCandle_cFPPA3_A4_f();
|
||||
extern "C" void init_modeWait__12daPoCandle_cFv();
|
||||
extern "C" void modeWait__12daPoCandle_cFv();
|
||||
extern "C" void init_modeOnFire__12daPoCandle_cFv();
|
||||
extern "C" void modeOnFire__12daPoCandle_cFv();
|
||||
extern "C" void modeOnSwWait__12daPoCandle_cFv();
|
||||
extern "C" void init_modeEnd__12daPoCandle_cFv();
|
||||
extern "C" void modeEnd__12daPoCandle_cFv();
|
||||
extern "C" void eventStart__12daPoCandle_cFv();
|
||||
extern "C" void Draw__12daPoCandle_cFv();
|
||||
extern "C" void Delete__12daPoCandle_cFv();
|
||||
extern "C" static void daPoCandle_Draw__FP12daPoCandle_c();
|
||||
extern "C" static void daPoCandle_Execute__FP12daPoCandle_c();
|
||||
extern "C" static void daPoCandle_Delete__FP12daPoCandle_c();
|
||||
extern "C" static void daPoCandle_Create__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__16daPoCandle_HIO_cFv();
|
||||
extern "C" void __sinit_d_a_obj_poCandle_cpp();
|
||||
extern "C" static void func_80CB25A0();
|
||||
extern "C" static void func_80CB25A8();
|
||||
extern "C" void __dt__17dEvLib_callback_cFv();
|
||||
extern "C" bool eventStart__17dEvLib_callback_cFv();
|
||||
extern "C" bool eventRun__17dEvLib_callback_cFv();
|
||||
extern "C" bool eventEnd__17dEvLib_callback_cFv();
|
||||
extern "C" void __dt__12daPoCandle_cFv();
|
||||
extern "C" extern char const* const d_a_obj_poCandle__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData();
|
||||
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfGp_getReverb__Fi();
|
||||
extern "C" void onSwitch__10dSv_info_cFii();
|
||||
extern "C" void isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void eventUpdate__17dEvLib_callback_cFv();
|
||||
extern "C" void
|
||||
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
|
||||
extern "C" void
|
||||
set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
|
||||
extern "C" void dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
|
||||
extern "C" void __ct__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool Create__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool IsDelete__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool ToFore__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool ToBack__16dBgS_MoveBgActorFv();
|
||||
extern "C" void
|
||||
MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f();
|
||||
extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv();
|
||||
extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv();
|
||||
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void dKy_plight_set__FP15LIGHT_INFLUENCE();
|
||||
extern "C" void dKy_plight_cut__FP15LIGHT_INFLUENCE();
|
||||
extern "C" void dKy_BossLight_set__FP4cXyzP8_GXColorfUc();
|
||||
extern "C" void cLib_addCalc__FPfffff();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __ptmf_scall();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" extern void* __vt__16dBgS_MoveBgActor[10];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
extern "C" void __register_global_object();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CB26B8-80CB26BC 000000 0004+00 3/3 0/0 0/0 .rodata @3635 */
|
||||
SECTION_RODATA static f32 const lit_3635 = 3.0f;
|
||||
COMPILER_STRIP_GATE(0x80CB26B8, &lit_3635);
|
||||
|
||||
/* 80CB2710-80CB271C -00001 000C+00 0/1 0/0 0/0 .data @3774 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3774[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeWait__12daPoCandle_cFv,
|
||||
/* 0x4 */ u8 waittimer;
|
||||
/* 0x8 */ f32 firescale;
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80CB271C-80CB2728 -00001 000C+00 0/1 0/0 0/0 .data @3775 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3775[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeOnFire__12daPoCandle_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80CB1A6C-80CB1A9C 0000EC 0030+00 1/1 0/0 0/0 .text __ct__16daPoCandle_HIO_cFv */
|
||||
daPoCandle_HIO_c::daPoCandle_HIO_c() {
|
||||
waittimer = 30;
|
||||
firescale = 3.0f;
|
||||
}
|
||||
|
||||
/* 80CB2728-80CB2734 -00001 000C+00 0/1 0/0 0/0 .data @3776 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3776[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeOnSwWait__12daPoCandle_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80CB1AE4-80CB1B6C 000164 0088+00 2/2 0/0 0/0 .text setBaseMtx__12daPoCandle_cFv */
|
||||
void daPoCandle_c::setBaseMtx() {
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::ZXYrotM(current.angle.x, current.angle.y, current.angle.z);
|
||||
mpModel->setBaseScale(scale);
|
||||
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
/* 80CB2734-80CB2740 -00001 000C+00 0/1 0/0 0/0 .data @3777 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3777[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeEnd__12daPoCandle_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80CB1B6C-80CB1BD8 0001EC 006C+00 1/0 0/0 0/0 .text CreateHeap__12daPoCandle_cFv */
|
||||
int daPoCandle_c::CreateHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("P_PCNDL", 4);
|
||||
JUT_ASSERT(160, modelData != NULL);
|
||||
|
||||
/* 80CB2740-80CB2770 000050 0030+00 0/1 0/0 0/0 .data mode_proc$3773 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 mode_proc[48] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
#pragma pop
|
||||
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (mpModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80CB1BD8-80CB1D74 000258 019C+00 1/1 0/0 0/0 .text create__12daPoCandle_cFv */
|
||||
int daPoCandle_c::create() {
|
||||
fopAcM_ct(this, daPoCandle_c);
|
||||
|
||||
int phase_state = dComIfG_resLoad(&mPhase, "P_PCNDL");
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
if (MoveBGCreate("P_PCNDL", 7, dBgS_MoveBGProc_TypicalRotY, 0x1600, NULL) == cPhs_ERROR_e) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
setBaseMtx();
|
||||
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
|
||||
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
|
||||
|
||||
mFirePos.x = current.pos.x;
|
||||
mFirePos.y = 25.0f + current.pos.y;
|
||||
mFirePos.z = current.pos.z;
|
||||
|
||||
mLightType = getLightType();
|
||||
if (mLightType == 0xFF) {
|
||||
mLightType = 1;
|
||||
}
|
||||
|
||||
lightInit();
|
||||
mSwbit = getSwBit();
|
||||
mIDNum = getID();
|
||||
mFireFlag = 0;
|
||||
mOnPlight = 0;
|
||||
|
||||
mIsSwitch = fopAcM_isSwitch(this, mSwbit);
|
||||
if (mIsSwitch) {
|
||||
mOnPlight = TRUE;
|
||||
}
|
||||
|
||||
init_modeWait();
|
||||
}
|
||||
|
||||
return phase_state;
|
||||
}
|
||||
|
||||
/* 80CB1D74-80CB1E00 0003F4 008C+00 1/1 0/0 0/0 .text lightInit__12daPoCandle_cFv */
|
||||
void daPoCandle_c::lightInit() {
|
||||
mLightPos = mFirePos;
|
||||
mLightPos.y += 10.0f;
|
||||
|
||||
if (mLightType != 0) {
|
||||
mLight.mPosition = mLightPos;
|
||||
mLight.mColor.r = 0xBC;
|
||||
mLight.mColor.g = 0x66;
|
||||
mLight.mColor.b = 0x42;
|
||||
mLight.mPow = 500.0f;
|
||||
mLight.mFluctuation = 1.0f;
|
||||
return;
|
||||
}
|
||||
|
||||
mPlightRefDist = 0.0f;
|
||||
}
|
||||
|
||||
/* 80CB1E00-80CB1E30 000480 0030+00 1/1 0/0 0/0 .text setLight__12daPoCandle_cFv */
|
||||
void daPoCandle_c::setLight() {
|
||||
if (mLightType != 0) {
|
||||
dKy_plight_set(&mLight);
|
||||
}
|
||||
}
|
||||
|
||||
/* 80CB1E30-80CB1E60 0004B0 0030+00 1/1 0/0 0/0 .text cutLight__12daPoCandle_cFv */
|
||||
void daPoCandle_c::cutLight() {
|
||||
if (mLightType != 0) {
|
||||
dKy_plight_cut(&mLight);
|
||||
}
|
||||
}
|
||||
|
||||
/* 80CB1E60-80CB1F10 0004E0 00B0+00 1/1 0/0 0/0 .text pointLightProc__12daPoCandle_cFv */
|
||||
void daPoCandle_c::pointLightProc() {
|
||||
if (mLightType == 0) {
|
||||
GXColor light_color = {0xBC, 0x66, 0x42, 0xFF};
|
||||
|
||||
if (mOnPlight) {
|
||||
cLib_addCalc(&mPlightRefDist, 1.0f, 0.5f, 0.1f, 0.0001f);
|
||||
} else {
|
||||
cLib_addCalc(&mPlightRefDist, 0.0f, 0.5f, 0.1f, 0.0001f);
|
||||
}
|
||||
|
||||
if (mPlightRefDist >= 0.000001f) {
|
||||
dKy_BossLight_set(&mLightPos, &light_color, mPlightRefDist, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 80CB284C-80CB2858 000014 000C+00 3/3 0/0 0/0 .bss l_HIO */
|
||||
static daPoCandle_HIO_c l_HIO;
|
||||
|
||||
/* 80CB1F10-80CB2140 000590 0230+00 1/0 0/0 0/0 .text Execute__12daPoCandle_cFPPA3_A4_f
|
||||
*/
|
||||
int daPoCandle_c::Execute(Mtx** param_0) {
|
||||
static void (daPoCandle_c::*mode_proc[])() = {
|
||||
&daPoCandle_c::modeWait,
|
||||
&daPoCandle_c::modeOnFire,
|
||||
&daPoCandle_c::modeOnSwWait,
|
||||
&daPoCandle_c::modeEnd,
|
||||
};
|
||||
|
||||
eventUpdate();
|
||||
|
||||
if (mOnPlight) {
|
||||
cXyz effscale(l_HIO.firescale, l_HIO.firescale, l_HIO.firescale);
|
||||
mGlowEmtID = dComIfGp_particle_set(mGlowEmtID, dPa_RM(ID_ZF_S_POFIRED00_GLOW), &mFirePos, &shape_angle, &effscale);
|
||||
mFireEmtID = dComIfGp_particle_set(mFireEmtID, dPa_RM(ID_ZF_S_POFIRED01_FIRE), &mFirePos, &shape_angle, &effscale);
|
||||
mDoAud_seStartLevel(Z2SE_OBJ_FIRE_BURNING, &mFirePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
}
|
||||
|
||||
(this->*mode_proc[mMode])();
|
||||
|
||||
*param_0 = &mpModel->getBaseTRMtx();
|
||||
setBaseMtx();
|
||||
pointLightProc();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80CB2140-80CB214C 0007C0 000C+00 2/2 0/0 0/0 .text init_modeWait__12daPoCandle_cFv */
|
||||
void daPoCandle_c::init_modeWait() {
|
||||
mMode = 0;
|
||||
}
|
||||
|
||||
/* 80CB214C-80CB21D8 0007CC 008C+00 1/0 0/0 0/0 .text modeWait__12daPoCandle_cFv */
|
||||
void daPoCandle_c::modeWait() {
|
||||
u8 prev_switch = mIsSwitch;
|
||||
mIsSwitch = fopAcM_isSwitch(this, mSwbit);
|
||||
|
||||
if (prev_switch != mIsSwitch) {
|
||||
if (mIsSwitch) {
|
||||
mFireFlag = 1;
|
||||
init_modeOnFire();
|
||||
return;
|
||||
} else {
|
||||
mFireFlag = 0;
|
||||
mOnPlight = FALSE;
|
||||
cutLight();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 80CB21D8-80CB22D4 000858 00FC+00 2/2 0/0 0/0 .text init_modeOnFire__12daPoCandle_cFv
|
||||
*/
|
||||
void daPoCandle_c::init_modeOnFire() {
|
||||
mDoAud_seStart(Z2SE_OBJ_FIRE_IGNITION, &mFirePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
cXyz effscale(l_HIO.firescale, l_HIO.firescale, l_HIO.firescale);
|
||||
dComIfGp_particle_set(dPa_RM(ID_ZF_S_POFIRED02_FIRE), &mFirePos, &shape_angle, &effscale);
|
||||
setLight();
|
||||
mOnPlight = TRUE;
|
||||
mMode = 1;
|
||||
}
|
||||
|
||||
/* 80CB22D4-80CB22F4 000954 0020+00 1/0 0/0 0/0 .text modeOnFire__12daPoCandle_cFv */
|
||||
void daPoCandle_c::modeOnFire() {
|
||||
init_modeWait();
|
||||
}
|
||||
|
||||
/* 80CB22F4-80CB2354 000974 0060+00 1/0 0/0 0/0 .text modeOnSwWait__12daPoCandle_cFv */
|
||||
void daPoCandle_c::modeOnSwWait() {
|
||||
if (mSwWaitTimer != 0) {
|
||||
mSwWaitTimer--;
|
||||
} else {
|
||||
fopAcM_onSwitch(this, mSwbit);
|
||||
init_modeEnd();
|
||||
}
|
||||
}
|
||||
|
||||
/* 80CB2354-80CB2360 0009D4 000C+00 1/1 0/0 0/0 .text init_modeEnd__12daPoCandle_cFv */
|
||||
void daPoCandle_c::init_modeEnd() {
|
||||
mMode = 3;
|
||||
}
|
||||
|
||||
/* 80CB2360-80CB2364 0009E0 0004+00 1/0 0/0 0/0 .text modeEnd__12daPoCandle_cFv */
|
||||
void daPoCandle_c::modeEnd() {}
|
||||
|
||||
/* 80CB2364-80CB2388 0009E4 0024+00 2/1 0/0 0/0 .text eventStart__12daPoCandle_cFv */
|
||||
bool daPoCandle_c::eventStart() {
|
||||
init_modeOnFire();
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80CB2388-80CB242C 000A08 00A4+00 1/0 0/0 0/0 .text Draw__12daPoCandle_cFv */
|
||||
int daPoCandle_c::Draw() {
|
||||
g_env_light.settingTevStruct(16, ¤t.pos, &tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel, &tevStr);
|
||||
dComIfGd_setListBG();
|
||||
mDoExt_modelUpdateDL(mpModel);
|
||||
dComIfGd_setList();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80CB242C-80CB247C 000AAC 0050+00 1/0 0/0 0/0 .text Delete__12daPoCandle_cFv */
|
||||
int daPoCandle_c::Delete() {
|
||||
dComIfG_resDelete(&mPhase, "P_PCNDL");
|
||||
if (mLightType != 0) {
|
||||
dKy_plight_cut(&mLight);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80CB247C-80CB24A8 000AFC 002C+00 1/0 0/0 0/0 .text daPoCandle_Draw__FP12daPoCandle_c
|
||||
*/
|
||||
static int daPoCandle_Draw(daPoCandle_c* i_this) {
|
||||
return i_this->MoveBGDraw();
|
||||
}
|
||||
|
||||
/* 80CB24A8-80CB24C8 000B28 0020+00 1/0 0/0 0/0 .text daPoCandle_Execute__FP12daPoCandle_c */
|
||||
static int daPoCandle_Execute(daPoCandle_c* i_this) {
|
||||
return i_this->MoveBGExecute();
|
||||
}
|
||||
|
||||
/* 80CB24C8-80CB24E8 000B48 0020+00 1/0 0/0 0/0 .text daPoCandle_Delete__FP12daPoCandle_c
|
||||
*/
|
||||
static int daPoCandle_Delete(daPoCandle_c* i_this) {
|
||||
return i_this->MoveBGDelete();
|
||||
}
|
||||
|
||||
/* 80CB24E8-80CB2508 000B68 0020+00 1/0 0/0 0/0 .text daPoCandle_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
static int daPoCandle_Create(fopAc_ac_c* i_this) {
|
||||
return ((daPoCandle_c*)i_this)->create();
|
||||
}
|
||||
|
||||
/* 80CB2770-80CB2790 -00001 0020+00 1/0 0/0 0/0 .data l_daPoCandle_Method */
|
||||
static actor_method_class l_daPoCandle_Method = {
|
||||
(process_method_func)daPoCandle_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daPoCandle_Delete__FP12daPoCandle_c,
|
||||
(process_method_func)daPoCandle_Execute__FP12daPoCandle_c,
|
||||
(process_method_func)daPoCandle_Create,
|
||||
(process_method_func)daPoCandle_Delete,
|
||||
(process_method_func)daPoCandle_Execute,
|
||||
0,
|
||||
(process_method_func)daPoCandle_Draw__FP12daPoCandle_c,
|
||||
(process_method_func)daPoCandle_Draw,
|
||||
};
|
||||
|
||||
/* 80CB2790-80CB27C0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_poCandle */
|
||||
@@ -180,326 +296,3 @@ extern actor_process_profile_definition g_profile_Obj_poCandle = {
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80CB27C0-80CB27D8 0000D0 0018+00 3/3 0/0 0/0 .data __vt__17dEvLib_callback_c */
|
||||
SECTION_DATA extern void* __vt__17dEvLib_callback_c[6] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__17dEvLib_callback_cFv,
|
||||
(void*)eventStart__17dEvLib_callback_cFv,
|
||||
(void*)eventRun__17dEvLib_callback_cFv,
|
||||
(void*)eventEnd__17dEvLib_callback_cFv,
|
||||
};
|
||||
|
||||
/* 80CB27D8-80CB2820 0000E8 0048+00 2/2 0/0 0/0 .data __vt__12daPoCandle_c */
|
||||
SECTION_DATA extern void* __vt__12daPoCandle_c[18] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)CreateHeap__12daPoCandle_cFv,
|
||||
(void*)Create__16dBgS_MoveBgActorFv,
|
||||
(void*)Execute__12daPoCandle_cFPPA3_A4_f,
|
||||
(void*)Draw__12daPoCandle_cFv,
|
||||
(void*)Delete__12daPoCandle_cFv,
|
||||
(void*)IsDelete__16dBgS_MoveBgActorFv,
|
||||
(void*)ToFore__16dBgS_MoveBgActorFv,
|
||||
(void*)ToBack__16dBgS_MoveBgActorFv,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)func_80CB25A8,
|
||||
(void*)func_80CB25A0,
|
||||
(void*)eventRun__17dEvLib_callback_cFv,
|
||||
(void*)eventEnd__17dEvLib_callback_cFv,
|
||||
(void*)__dt__12daPoCandle_cFv,
|
||||
(void*)eventStart__12daPoCandle_cFv,
|
||||
};
|
||||
|
||||
/* 80CB2820-80CB282C 000130 000C+00 2/2 0/0 0/0 .data __vt__16daPoCandle_HIO_c */
|
||||
SECTION_DATA extern void* __vt__16daPoCandle_HIO_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__16daPoCandle_HIO_cFv,
|
||||
};
|
||||
|
||||
/* 80CB282C-80CB2838 00013C 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */
|
||||
SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__14mDoHIO_entry_cFv,
|
||||
};
|
||||
|
||||
/* 80CB1A6C-80CB1A9C 0000EC 0030+00 1/1 0/0 0/0 .text __ct__16daPoCandle_HIO_cFv */
|
||||
daPoCandle_HIO_c::daPoCandle_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB1A9C-80CB1AE4 00011C 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */
|
||||
// mDoHIO_entry_c::~mDoHIO_entry_c() {
|
||||
extern "C" void __dt__14mDoHIO_entry_cFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB1AE4-80CB1B6C 000164 0088+00 2/2 0/0 0/0 .text setBaseMtx__12daPoCandle_cFv */
|
||||
void daPoCandle_c::setBaseMtx() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CB26E8-80CB26E8 000030 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80CB26E8 = "P_PCNDL";
|
||||
#pragma pop
|
||||
|
||||
/* 80CB1B6C-80CB1BD8 0001EC 006C+00 1/0 0/0 0/0 .text CreateHeap__12daPoCandle_cFv */
|
||||
void daPoCandle_c::CreateHeap() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CB26BC-80CB26C0 000004 0004+00 1/1 0/0 0/0 .rodata @3714 */
|
||||
SECTION_RODATA static f32 const lit_3714 = 25.0f;
|
||||
COMPILER_STRIP_GATE(0x80CB26BC, &lit_3714);
|
||||
|
||||
/* 80CB1BD8-80CB1D74 000258 019C+00 1/1 0/0 0/0 .text create__12daPoCandle_cFv */
|
||||
void daPoCandle_c::create() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CB26C0-80CB26C4 000008 0004+00 0/1 0/0 0/0 .rodata @3737 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3737 = 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80CB26C0, &lit_3737);
|
||||
#pragma pop
|
||||
|
||||
/* 80CB26C4-80CB26C8 00000C 0004+00 0/1 0/0 0/0 .rodata @3738 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3738 = 500.0f;
|
||||
COMPILER_STRIP_GATE(0x80CB26C4, &lit_3738);
|
||||
#pragma pop
|
||||
|
||||
/* 80CB26C8-80CB26CC 000010 0004+00 2/4 0/0 0/0 .rodata @3739 */
|
||||
SECTION_RODATA static f32 const lit_3739 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80CB26C8, &lit_3739);
|
||||
|
||||
/* 80CB26CC-80CB26D0 000014 0004+00 0/2 0/0 0/0 .rodata @3740 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3740[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80CB26CC, &lit_3740);
|
||||
#pragma pop
|
||||
|
||||
/* 80CB1D74-80CB1E00 0003F4 008C+00 1/1 0/0 0/0 .text lightInit__12daPoCandle_cFv */
|
||||
void daPoCandle_c::lightInit() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB1E00-80CB1E30 000480 0030+00 1/1 0/0 0/0 .text setLight__12daPoCandle_cFv */
|
||||
void daPoCandle_c::setLight() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB1E30-80CB1E60 0004B0 0030+00 1/1 0/0 0/0 .text cutLight__12daPoCandle_cFv */
|
||||
void daPoCandle_c::cutLight() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CB26D0-80CB26D4 000018 0004+00 0/1 0/0 0/0 .rodata @3758 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u32 const lit_3758 = 0xBC6642FF;
|
||||
COMPILER_STRIP_GATE(0x80CB26D0, &lit_3758);
|
||||
#pragma pop
|
||||
|
||||
/* 80CB26D4-80CB26D8 00001C 0004+00 0/1 0/0 0/0 .rodata @3766 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3766 = 0.5f;
|
||||
COMPILER_STRIP_GATE(0x80CB26D4, &lit_3766);
|
||||
#pragma pop
|
||||
|
||||
/* 80CB26D8-80CB26DC 000020 0004+00 0/1 0/0 0/0 .rodata @3767 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3767 = 1.0f / 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80CB26D8, &lit_3767);
|
||||
#pragma pop
|
||||
|
||||
/* 80CB26DC-80CB26E0 000024 0004+00 0/1 0/0 0/0 .rodata @3768 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u32 const lit_3768 = 0x38D1B717;
|
||||
COMPILER_STRIP_GATE(0x80CB26DC, &lit_3768);
|
||||
#pragma pop
|
||||
|
||||
/* 80CB26E0-80CB26E4 000028 0004+00 0/1 0/0 0/0 .rodata @3769 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u32 const lit_3769 = 0x358637BD;
|
||||
COMPILER_STRIP_GATE(0x80CB26E0, &lit_3769);
|
||||
#pragma pop
|
||||
|
||||
/* 80CB1E60-80CB1F10 0004E0 00B0+00 1/1 0/0 0/0 .text pointLightProc__12daPoCandle_cFv */
|
||||
void daPoCandle_c::pointLightProc() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CB26E4-80CB26E8 00002C 0004+00 2/2 0/0 0/0 .rodata @3814 */
|
||||
SECTION_RODATA static f32 const lit_3814 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80CB26E4, &lit_3814);
|
||||
|
||||
/* 80CB2840-80CB284C 000008 000C+00 1/1 0/0 0/0 .bss @3629 */
|
||||
static u8 lit_3629[12];
|
||||
|
||||
/* 80CB284C-80CB2858 000014 000C+00 3/3 0/0 0/0 .bss l_HIO */
|
||||
static u8 l_HIO[12];
|
||||
|
||||
/* 80CB2858-80CB285C 000020 0004+00 1/1 0/0 0/0 .bss None */
|
||||
static u8 data_80CB2858[4];
|
||||
|
||||
/* 80CB1F10-80CB2140 000590 0230+00 1/0 0/0 0/0 .text Execute__12daPoCandle_cFPPA3_A4_f
|
||||
*/
|
||||
void daPoCandle_c::Execute(Mtx** param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB2140-80CB214C 0007C0 000C+00 2/2 0/0 0/0 .text init_modeWait__12daPoCandle_cFv */
|
||||
void daPoCandle_c::init_modeWait() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB214C-80CB21D8 0007CC 008C+00 1/0 0/0 0/0 .text modeWait__12daPoCandle_cFv */
|
||||
void daPoCandle_c::modeWait() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB21D8-80CB22D4 000858 00FC+00 2/2 0/0 0/0 .text init_modeOnFire__12daPoCandle_cFv
|
||||
*/
|
||||
void daPoCandle_c::init_modeOnFire() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB22D4-80CB22F4 000954 0020+00 1/0 0/0 0/0 .text modeOnFire__12daPoCandle_cFv */
|
||||
void daPoCandle_c::modeOnFire() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB22F4-80CB2354 000974 0060+00 1/0 0/0 0/0 .text modeOnSwWait__12daPoCandle_cFv */
|
||||
void daPoCandle_c::modeOnSwWait() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB2354-80CB2360 0009D4 000C+00 1/1 0/0 0/0 .text init_modeEnd__12daPoCandle_cFv */
|
||||
void daPoCandle_c::init_modeEnd() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB2360-80CB2364 0009E0 0004+00 1/0 0/0 0/0 .text modeEnd__12daPoCandle_cFv */
|
||||
void daPoCandle_c::modeEnd() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80CB2364-80CB2388 0009E4 0024+00 2/1 0/0 0/0 .text eventStart__12daPoCandle_cFv */
|
||||
void daPoCandle_c::eventStart() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB2388-80CB242C 000A08 00A4+00 1/0 0/0 0/0 .text Draw__12daPoCandle_cFv */
|
||||
void daPoCandle_c::Draw() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB242C-80CB247C 000AAC 0050+00 1/0 0/0 0/0 .text Delete__12daPoCandle_cFv */
|
||||
void daPoCandle_c::Delete() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB247C-80CB24A8 000AFC 002C+00 1/0 0/0 0/0 .text daPoCandle_Draw__FP12daPoCandle_c
|
||||
*/
|
||||
static void daPoCandle_Draw(daPoCandle_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB24A8-80CB24C8 000B28 0020+00 1/0 0/0 0/0 .text daPoCandle_Execute__FP12daPoCandle_c */
|
||||
static void daPoCandle_Execute(daPoCandle_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB24C8-80CB24E8 000B48 0020+00 1/0 0/0 0/0 .text daPoCandle_Delete__FP12daPoCandle_c
|
||||
*/
|
||||
static void daPoCandle_Delete(daPoCandle_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB24E8-80CB2508 000B68 0020+00 1/0 0/0 0/0 .text daPoCandle_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
static void daPoCandle_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB2508-80CB2564 000B88 005C+00 2/1 0/0 0/0 .text __dt__16daPoCandle_HIO_cFv */
|
||||
daPoCandle_HIO_c::~daPoCandle_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB2564-80CB25A0 000BE4 003C+00 0/0 1/0 0/0 .text __sinit_d_a_obj_poCandle_cpp */
|
||||
void __sinit_d_a_obj_poCandle_cpp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x80CB2564, __sinit_d_a_obj_poCandle_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 80CB25A0-80CB25A8 000C20 0008+00 1/0 0/0 0/0 .text @1448@eventStart__12daPoCandle_cFv
|
||||
*/
|
||||
static void func_80CB25A0() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB25A8-80CB25B0 000C28 0008+00 1/0 0/0 0/0 .text @1448@__dt__12daPoCandle_cFv */
|
||||
static void func_80CB25A8() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB25B0-80CB25F8 000C30 0048+00 1/0 0/0 0/0 .text __dt__17dEvLib_callback_cFv */
|
||||
// dEvLib_callback_c::~dEvLib_callback_c() {
|
||||
extern "C" void __dt__17dEvLib_callback_cFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB25F8-80CB2600 000C78 0008+00 1/0 0/0 0/0 .text eventStart__17dEvLib_callback_cFv
|
||||
*/
|
||||
// bool dEvLib_callback_c::eventStart() {
|
||||
extern "C" bool eventStart__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80CB2600-80CB2608 000C80 0008+00 2/0 0/0 0/0 .text eventRun__17dEvLib_callback_cFv */
|
||||
// bool dEvLib_callback_c::eventRun() {
|
||||
extern "C" bool eventRun__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80CB2608-80CB2610 000C88 0008+00 2/0 0/0 0/0 .text eventEnd__17dEvLib_callback_cFv */
|
||||
// bool dEvLib_callback_c::eventEnd() {
|
||||
extern "C" bool eventEnd__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80CB2610-80CB26A4 000C90 0094+00 2/1 0/0 0/0 .text __dt__12daPoCandle_cFv */
|
||||
daPoCandle_c::~daPoCandle_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB26E8-80CB26E8 000030 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
+298
-344
@@ -6,181 +6,325 @@
|
||||
#include "d/dolzel_rel.h" // IWYU pragma: keep
|
||||
|
||||
#include "d/actor/d_a_obj_poTbox.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
class daPoTbox_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
/* 80CB424C */ daPoTbox_HIO_c();
|
||||
/* 80CB4F14 */ virtual ~daPoTbox_HIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__14daPoTbox_HIO_cFv();
|
||||
extern "C" void __dt__14mDoHIO_entry_cFv();
|
||||
extern "C" void setBaseMtx__10daPoTbox_cFv();
|
||||
extern "C" void CreateHeap__10daPoTbox_cFv();
|
||||
extern "C" void create__10daPoTbox_cFv();
|
||||
extern "C" void __dt__12J3DFrameCtrlFv();
|
||||
extern "C" void Execute__10daPoTbox_cFPPA3_A4_f();
|
||||
extern "C" void init_modeWait__10daPoTbox_cFv();
|
||||
extern "C" void modeWait__10daPoTbox_cFv();
|
||||
extern "C" void init_modeOpen__10daPoTbox_cFv();
|
||||
extern "C" void modeOpen__10daPoTbox_cFv();
|
||||
extern "C" void init_modeOpenEnd__10daPoTbox_cFv();
|
||||
extern "C" void modeOpenEnd__10daPoTbox_cFv();
|
||||
extern "C" void init_modeEnd__10daPoTbox_cFv();
|
||||
extern "C" void modeEnd__10daPoTbox_cFv();
|
||||
extern "C" void Draw__10daPoTbox_cFv();
|
||||
extern "C" void Delete__10daPoTbox_cFv();
|
||||
extern "C" static void daPoTbox_Draw__FP10daPoTbox_c();
|
||||
extern "C" static void daPoTbox_Execute__FP10daPoTbox_c();
|
||||
extern "C" static void daPoTbox_Delete__FP10daPoTbox_c();
|
||||
extern "C" static void daPoTbox_Create__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__14daPoTbox_HIO_cFv();
|
||||
extern "C" void __sinit_d_a_obj_poTbox_cpp();
|
||||
extern "C" extern char const* const d_a_obj_poTbox__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
|
||||
extern "C" void play__14mDoExt_baseAnmFv();
|
||||
extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss();
|
||||
extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef();
|
||||
extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss();
|
||||
extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef();
|
||||
extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb();
|
||||
extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData();
|
||||
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfGp_getReverb__Fi();
|
||||
extern "C" void isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void Release__4cBgSFP9dBgW_Base();
|
||||
extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c();
|
||||
extern "C" void dBgS_MoveBGProc_Typical__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
|
||||
extern "C" void __ct__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool Create__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool IsDelete__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool ToFore__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool ToBack__16dBgS_MoveBgActorFv();
|
||||
extern "C" void
|
||||
MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f();
|
||||
extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv();
|
||||
extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv();
|
||||
extern "C" void Set__4cBgWFP6cBgD_tUlPA3_A4_f();
|
||||
extern "C" void __ct__4dBgWFv();
|
||||
extern "C" void Move__4dBgWFv();
|
||||
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void ChkUsed__9cBgW_BgIdCFv();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void init__12J3DFrameCtrlFs();
|
||||
extern "C" void __ptmf_scall();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
extern "C" void __register_global_object();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CB4FC0-80CB4FC4 000000 0004+00 1/1 0/0 0/0 .rodata @3628 */
|
||||
SECTION_RODATA static f32 const lit_3628 = 2.0f;
|
||||
COMPILER_STRIP_GATE(0x80CB4FC0, &lit_3628);
|
||||
|
||||
/* 80CB4FC4-80CB4FC8 000004 0004+00 1/1 0/0 0/0 .rodata @3629 */
|
||||
SECTION_RODATA static f32 const lit_3629 = 12.0f;
|
||||
COMPILER_STRIP_GATE(0x80CB4FC4, &lit_3629);
|
||||
|
||||
/* 80CB4FDC-80CB4FDC 00001C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80CB4FDC = "pouBox0";
|
||||
SECTION_DEAD static char const* const stringBase_80CB4FE4 = "pouBox1";
|
||||
#pragma pop
|
||||
/* 0x4 */ f32 open_speed;
|
||||
/* 0x8 */ f32 close_speed;
|
||||
};
|
||||
|
||||
/* 80CB500C-80CB5014 -00001 0008+00 3/3 0/0 0/0 .data l_type */
|
||||
SECTION_DATA static void* l_type[2] = {
|
||||
(void*)&d_a_obj_poTbox__stringBase0,
|
||||
(void*)(((char*)&d_a_obj_poTbox__stringBase0) + 0x8),
|
||||
static char* l_type[2] = {
|
||||
"pouBox0",
|
||||
"pouBox1",
|
||||
};
|
||||
|
||||
/* 80CB5014-80CB501C 000028 0008+00 1/1 0/0 0/0 .data l_bmdIdx */
|
||||
SECTION_DATA static u8 l_bmdIdx[8] = {
|
||||
0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x08,
|
||||
static int l_bmdIdx[] = {
|
||||
10, 8,
|
||||
};
|
||||
|
||||
/* 80CB501C-80CB5024 000030 0008+00 1/1 0/0 0/0 .data l_dzbIdx */
|
||||
SECTION_DATA static u8 l_dzbIdx[8] = {
|
||||
0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x0B,
|
||||
static int l_dzbIdx[] = {
|
||||
21, 11,
|
||||
};
|
||||
|
||||
/* 80CB5024-80CB5030 -00001 000C+00 0/1 0/0 0/0 .data @3867 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3867[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeWait__10daPoTbox_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80CB424C-80CB4280 0000EC 0034+00 1/1 0/0 0/0 .text __ct__14daPoTbox_HIO_cFv */
|
||||
daPoTbox_HIO_c::daPoTbox_HIO_c() {
|
||||
open_speed = 2.0f;
|
||||
close_speed = 12.0f;
|
||||
}
|
||||
|
||||
/* 80CB5030-80CB503C -00001 000C+00 0/1 0/0 0/0 .data @3868 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3868[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeOpen__10daPoTbox_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80CB42C8-80CB43D0 000168 0108+00 2/2 0/0 0/0 .text setBaseMtx__10daPoTbox_cFv */
|
||||
void daPoTbox_c::setBaseMtx() {
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
|
||||
mpBoxModel->setBaseScale(scale);
|
||||
mpBoxModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
|
||||
/* 80CB503C-80CB5048 -00001 000C+00 0/1 0/0 0/0 .data @3869 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3869[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeOpenEnd__10daPoTbox_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
if (mpAnimModel != NULL) {
|
||||
mpAnimModel->setBaseScale(scale);
|
||||
mpAnimModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
/* 80CB5048-80CB5054 -00001 000C+00 0/1 0/0 0/0 .data @3870 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3870[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeEnd__10daPoTbox_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
if (mpLightModel != NULL) {
|
||||
mpLightModel->setBaseScale(scale);
|
||||
mpLightModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
/* 80CB5054-80CB5084 000068 0030+00 0/1 0/0 0/0 .data mode_proc$3866 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 mode_proc[48] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
#pragma pop
|
||||
MTXCopy(mDoMtx_stack_c::get(), mBgMtx);
|
||||
}
|
||||
|
||||
/* 80CB43D0-80CB46C4 000270 02F4+00 1/0 0/0 0/0 .text CreateHeap__10daPoTbox_cFv */
|
||||
int daPoTbox_c::CreateHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_type[mStat], l_bmdIdx[mStat]);
|
||||
JUT_ASSERT(185, modelData != NULL);
|
||||
int res;
|
||||
|
||||
mpBoxModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (mpBoxModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (mStat == 0) {
|
||||
J3DModelData* modelData1 = (J3DModelData*)dComIfG_getObjectRes(l_type[mStat], 0xB);
|
||||
JUT_ASSERT(200, modelData1 != NULL);
|
||||
mpAnimModel = mDoExt_J3DModel__create(modelData1, 0x80000, 0x11000084);
|
||||
if (mpAnimModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
res = mBck.init((J3DAnmTransform*)dComIfG_getObjectRes(l_type[mStat], 7), 1, 0, 1.0f, 0, -1, 0);
|
||||
JUT_ASSERT(212, res == TRUE);
|
||||
|
||||
J3DModelData* modelData2 = (J3DModelData*)dComIfG_getObjectRes(l_type[mStat], 0xC);
|
||||
JUT_ASSERT(218, modelData2 != NULL);
|
||||
|
||||
mpLightModel = mDoExt_J3DModel__create(modelData2, 0x80000, 0x11000284);
|
||||
if (mpLightModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
res = mBtk.init(modelData2, (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_type[mStat], 0x12), 1, 2, 1.0f, 0, -1);
|
||||
JUT_ASSERT(235, res == TRUE);
|
||||
|
||||
res = mBrk.init(modelData2, (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_type[mStat], 0xF), 1, 0, 1.0f, 0, -1);
|
||||
JUT_ASSERT(244, res == TRUE);
|
||||
|
||||
mpBgw2 = new dBgW();
|
||||
if (mpBgw2 == NULL || mpBgw2->Set((cBgD_t*)dComIfG_getObjectRes(l_type[mStat], 0x16), 1, &mBgMtx)) {
|
||||
mpBgw2 = NULL;
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
mpBgw2 = NULL;
|
||||
mpAnimModel = NULL;
|
||||
mpLightModel = NULL;
|
||||
res = mBck.init((J3DAnmTransform*)dComIfG_getObjectRes(l_type[mStat], 5), 1, 0, 1.0f, 0, -1, 0);
|
||||
JUT_ASSERT(268, res == TRUE);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80CB46C4-80CB4954 000564 0290+00 1/1 0/0 0/0 .text create__10daPoTbox_cFv */
|
||||
int daPoTbox_c::create() {
|
||||
fopAcM_ct(this, daPoTbox_c);
|
||||
|
||||
mStat = getStat();
|
||||
|
||||
int phase_state = dComIfG_resLoad(&mPhase, l_type[mStat]);
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
if (MoveBGCreate(l_type[mStat], l_dzbIdx[mStat], dBgS_MoveBGProc_Typical, 0x6EA0, NULL) == cPhs_ERROR_e) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
fopAcM_SetMtx(this, mpBoxModel->getBaseTRMtx());
|
||||
fopAcM_setCullSizeBox2(this, mpBoxModel->getModelData());
|
||||
field_0x605 = 0;
|
||||
|
||||
if (mStat == 0) {
|
||||
mIsSwitch = fopAcM_isSwitch(this, getSw());
|
||||
if (mIsSwitch) {
|
||||
fopAcM_SetMtx(this, mpAnimModel->getBaseTRMtx());
|
||||
fopAcM_setCullSizeBox2(this, mpAnimModel->getModelData());
|
||||
|
||||
field_0x605 = 1;
|
||||
mBck.setFrame(mBck.getEndFrame() - 1.0f);
|
||||
mBrk.setFrame(mBrk.getEndFrame() - 1.0f);
|
||||
|
||||
if (mpBgW != NULL) {
|
||||
dComIfG_Bgsp().Release(mpBgW);
|
||||
}
|
||||
|
||||
if (mpBgw2 != NULL) {
|
||||
dComIfG_Bgsp().Regist(mpBgw2, this);
|
||||
mpBgw2->Move();
|
||||
}
|
||||
|
||||
init_modeOpenEnd();
|
||||
} else {
|
||||
init_modeWait();
|
||||
}
|
||||
} else {
|
||||
init_modeEnd();
|
||||
}
|
||||
|
||||
setBaseMtx();
|
||||
}
|
||||
|
||||
return phase_state;
|
||||
}
|
||||
|
||||
/* 80CB5134-80CB5140 000014 000C+00 1/1 0/0 0/0 .bss l_HIO */
|
||||
static daPoTbox_HIO_c l_HIO;
|
||||
|
||||
/* 80CB499C-80CB4AA8 00083C 010C+00 1/0 0/0 0/0 .text Execute__10daPoTbox_cFPPA3_A4_f */
|
||||
int daPoTbox_c::Execute(Mtx** param_0) {
|
||||
static void (daPoTbox_c::*mode_proc[])() = {
|
||||
&daPoTbox_c::modeWait,
|
||||
&daPoTbox_c::modeOpen,
|
||||
&daPoTbox_c::modeOpenEnd,
|
||||
&daPoTbox_c::modeEnd,
|
||||
};
|
||||
|
||||
(this->*mode_proc[mMode])();
|
||||
|
||||
if (field_0x605 == 0) {
|
||||
*param_0 = &mpBoxModel->getBaseTRMtx();
|
||||
} else {
|
||||
*param_0 = &mpAnimModel->getBaseTRMtx();
|
||||
}
|
||||
|
||||
setBaseMtx();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80CB4AA8-80CB4AB4 000948 000C+00 1/1 0/0 0/0 .text init_modeWait__10daPoTbox_cFv */
|
||||
void daPoTbox_c::init_modeWait() {
|
||||
mMode = 0;
|
||||
}
|
||||
|
||||
/* 80CB4AB4-80CB4B10 000954 005C+00 1/0 0/0 0/0 .text modeWait__10daPoTbox_cFv */
|
||||
void daPoTbox_c::modeWait() {
|
||||
mIsSwitch = fopAcM_isSwitch(this, getSw());
|
||||
if (mIsSwitch) {
|
||||
init_modeOpen();
|
||||
}
|
||||
}
|
||||
|
||||
/* 80CB4B10-80CB4BF8 0009B0 00E8+00 1/1 0/0 0/0 .text init_modeOpen__10daPoTbox_cFv */
|
||||
void daPoTbox_c::init_modeOpen() {
|
||||
if (mpBgW != NULL) {
|
||||
dComIfG_Bgsp().Release(mpBgW);
|
||||
}
|
||||
|
||||
if (mpBgw2 != NULL) {
|
||||
dComIfG_Bgsp().Regist(mpBgw2, this);
|
||||
mpBgw2->Move();
|
||||
}
|
||||
|
||||
fopAcM_SetMtx(this, mpAnimModel->getBaseTRMtx());
|
||||
fopAcM_setCullSizeBox2(this, mpAnimModel->getModelData());
|
||||
mDoAud_seStart(Z2SE_OBJ_PO_TBOX, ¤t.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
field_0x605 = 1;
|
||||
mMode = 1;
|
||||
}
|
||||
|
||||
/* 80CB4BF8-80CB4C54 000A98 005C+00 1/0 0/0 0/0 .text modeOpen__10daPoTbox_cFv */
|
||||
void daPoTbox_c::modeOpen() {
|
||||
int bck_play = mBck.play();
|
||||
int brk_play = mBrk.play();
|
||||
|
||||
if (bck_play == TRUE && brk_play == TRUE) {
|
||||
init_modeOpenEnd();
|
||||
}
|
||||
}
|
||||
|
||||
/* 80CB4C54-80CB4C60 000AF4 000C+00 2/2 0/0 0/0 .text init_modeOpenEnd__10daPoTbox_cFv */
|
||||
void daPoTbox_c::init_modeOpenEnd() {
|
||||
mMode = 2;
|
||||
}
|
||||
|
||||
/* 80CB4C60-80CB4C84 000B00 0024+00 1/0 0/0 0/0 .text modeOpenEnd__10daPoTbox_cFv */
|
||||
void daPoTbox_c::modeOpenEnd() {
|
||||
mBtk.play();
|
||||
}
|
||||
|
||||
/* 80CB4C84-80CB4C90 000B24 000C+00 1/1 0/0 0/0 .text init_modeEnd__10daPoTbox_cFv */
|
||||
void daPoTbox_c::init_modeEnd() {
|
||||
mMode = 3;
|
||||
}
|
||||
|
||||
/* 80CB4C90-80CB4C94 000B30 0004+00 1/0 0/0 0/0 .text modeEnd__10daPoTbox_cFv */
|
||||
void daPoTbox_c::modeEnd() {}
|
||||
|
||||
/* 80CB4C94-80CB4E14 000B34 0180+00 1/0 0/0 0/0 .text Draw__10daPoTbox_cFv */
|
||||
int daPoTbox_c::Draw() {
|
||||
g_env_light.settingTevStruct(16, ¤t.pos, &tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mpBoxModel, &tevStr);
|
||||
|
||||
if (mpAnimModel != NULL) {
|
||||
g_env_light.setLightTevColorType_MAJI(mpAnimModel, &tevStr);
|
||||
}
|
||||
|
||||
if (mpLightModel != NULL) {
|
||||
g_env_light.setLightTevColorType_MAJI(mpLightModel, &tevStr);
|
||||
}
|
||||
|
||||
if (mStat == 0) {
|
||||
if (field_0x605 == 1) {
|
||||
mBck.entry(mpAnimModel->getModelData());
|
||||
|
||||
J3DModelData* modelData = mpLightModel->getModelData();
|
||||
mBtk.entry(modelData);
|
||||
mBrk.entry(modelData);
|
||||
}
|
||||
} else {
|
||||
mBck.entry(mpBoxModel->getModelData());
|
||||
}
|
||||
|
||||
dComIfGd_setListBG();
|
||||
|
||||
if (field_0x605 == 0) {
|
||||
mDoExt_modelUpdateDL(mpBoxModel);
|
||||
} else {
|
||||
if (mpAnimModel != NULL) {
|
||||
mDoExt_modelUpdateDL(mpAnimModel);
|
||||
}
|
||||
|
||||
if (mpLightModel != NULL) {
|
||||
mDoExt_modelUpdateDL(mpLightModel);
|
||||
}
|
||||
}
|
||||
|
||||
dComIfGd_setList();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80CB4E14-80CB4E88 000CB4 0074+00 1/0 0/0 0/0 .text Delete__10daPoTbox_cFv */
|
||||
int daPoTbox_c::Delete() {
|
||||
dComIfG_resDelete(&mPhase, l_type[mStat]);
|
||||
|
||||
if (mpBgw2 != NULL && mpBgw2->ChkUsed()) {
|
||||
dComIfG_Bgsp().Release(mpBgw2);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80CB4E88-80CB4EB4 000D28 002C+00 1/0 0/0 0/0 .text daPoTbox_Draw__FP10daPoTbox_c */
|
||||
static int daPoTbox_Draw(daPoTbox_c* i_this) {
|
||||
return i_this->MoveBGDraw();
|
||||
}
|
||||
|
||||
/* 80CB4EB4-80CB4ED4 000D54 0020+00 1/0 0/0 0/0 .text daPoTbox_Execute__FP10daPoTbox_c */
|
||||
static int daPoTbox_Execute(daPoTbox_c* i_this) {
|
||||
return i_this->MoveBGExecute();
|
||||
}
|
||||
|
||||
/* 80CB4ED4-80CB4EF4 000D74 0020+00 1/0 0/0 0/0 .text daPoTbox_Delete__FP10daPoTbox_c */
|
||||
static int daPoTbox_Delete(daPoTbox_c* i_this) {
|
||||
return i_this->MoveBGDelete();
|
||||
}
|
||||
|
||||
/* 80CB4EF4-80CB4F14 000D94 0020+00 1/0 0/0 0/0 .text daPoTbox_Create__FP10fopAc_ac_c */
|
||||
static int daPoTbox_Create(fopAc_ac_c* i_this) {
|
||||
return ((daPoTbox_c*)i_this)->create();
|
||||
}
|
||||
|
||||
/* 80CB5084-80CB50A4 -00001 0020+00 1/0 0/0 0/0 .data l_daPoTbox_Method */
|
||||
static actor_method_class l_daPoTbox_Method = {
|
||||
(process_method_func)daPoTbox_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daPoTbox_Delete__FP10daPoTbox_c,
|
||||
(process_method_func)daPoTbox_Execute__FP10daPoTbox_c,
|
||||
(process_method_func)daPoTbox_Create,
|
||||
(process_method_func)daPoTbox_Delete,
|
||||
(process_method_func)daPoTbox_Execute,
|
||||
0,
|
||||
(process_method_func)daPoTbox_Draw__FP10daPoTbox_c,
|
||||
(process_method_func)daPoTbox_Draw,
|
||||
};
|
||||
|
||||
/* 80CB50A4-80CB50D4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_poTbox */
|
||||
@@ -200,193 +344,3 @@ extern actor_process_profile_definition g_profile_Obj_poTbox = {
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80CB50D4-80CB50E0 0000E8 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */
|
||||
SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__12J3DFrameCtrlFv,
|
||||
};
|
||||
|
||||
/* 80CB50E0-80CB5108 0000F4 0028+00 1/1 0/0 0/0 .data __vt__10daPoTbox_c */
|
||||
SECTION_DATA extern void* __vt__10daPoTbox_c[10] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)CreateHeap__10daPoTbox_cFv,
|
||||
(void*)Create__16dBgS_MoveBgActorFv,
|
||||
(void*)Execute__10daPoTbox_cFPPA3_A4_f,
|
||||
(void*)Draw__10daPoTbox_cFv,
|
||||
(void*)Delete__10daPoTbox_cFv,
|
||||
(void*)IsDelete__16dBgS_MoveBgActorFv,
|
||||
(void*)ToFore__16dBgS_MoveBgActorFv,
|
||||
(void*)ToBack__16dBgS_MoveBgActorFv,
|
||||
};
|
||||
|
||||
/* 80CB5108-80CB5114 00011C 000C+00 2/2 0/0 0/0 .data __vt__14daPoTbox_HIO_c */
|
||||
SECTION_DATA extern void* __vt__14daPoTbox_HIO_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__14daPoTbox_HIO_cFv,
|
||||
};
|
||||
|
||||
/* 80CB5114-80CB5120 000128 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */
|
||||
SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__14mDoHIO_entry_cFv,
|
||||
};
|
||||
|
||||
/* 80CB424C-80CB4280 0000EC 0034+00 1/1 0/0 0/0 .text __ct__14daPoTbox_HIO_cFv */
|
||||
daPoTbox_HIO_c::daPoTbox_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB4280-80CB42C8 000120 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */
|
||||
// mDoHIO_entry_c::~mDoHIO_entry_c() {
|
||||
extern "C" void __dt__14mDoHIO_entry_cFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB42C8-80CB43D0 000168 0108+00 2/2 0/0 0/0 .text setBaseMtx__10daPoTbox_cFv */
|
||||
void daPoTbox_c::setBaseMtx() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CB4FC8-80CB4FD0 000008 0004+04 3/3 0/0 0/0 .rodata @3724 */
|
||||
SECTION_RODATA static f32 const lit_3724[1 + 1 /* padding */] = {
|
||||
1.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80CB4FC8, &lit_3724);
|
||||
|
||||
/* 80CB43D0-80CB46C4 000270 02F4+00 1/0 0/0 0/0 .text CreateHeap__10daPoTbox_cFv */
|
||||
void daPoTbox_c::CreateHeap() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CB4FD0-80CB4FD8 000010 0008+00 1/1 0/0 0/0 .rodata @3835 */
|
||||
SECTION_RODATA static u8 const lit_3835[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80CB4FD0, &lit_3835);
|
||||
|
||||
/* 80CB46C4-80CB4954 000564 0290+00 1/1 0/0 0/0 .text create__10daPoTbox_cFv */
|
||||
void daPoTbox_c::create() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB4954-80CB499C 0007F4 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
|
||||
// J3DFrameCtrl::~J3DFrameCtrl() {
|
||||
extern "C" void __dt__12J3DFrameCtrlFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CB5128-80CB5134 000008 000C+00 1/1 0/0 0/0 .bss @3622 */
|
||||
static u8 lit_3622[12];
|
||||
|
||||
/* 80CB5134-80CB5140 000014 000C+00 1/1 0/0 0/0 .bss l_HIO */
|
||||
static u8 l_HIO[12];
|
||||
|
||||
/* 80CB5140-80CB5144 000020 0004+00 1/1 0/0 0/0 .bss None */
|
||||
static u8 data_80CB5140[4];
|
||||
|
||||
/* 80CB499C-80CB4AA8 00083C 010C+00 1/0 0/0 0/0 .text Execute__10daPoTbox_cFPPA3_A4_f */
|
||||
void daPoTbox_c::Execute(Mtx** param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB4AA8-80CB4AB4 000948 000C+00 1/1 0/0 0/0 .text init_modeWait__10daPoTbox_cFv */
|
||||
void daPoTbox_c::init_modeWait() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB4AB4-80CB4B10 000954 005C+00 1/0 0/0 0/0 .text modeWait__10daPoTbox_cFv */
|
||||
void daPoTbox_c::modeWait() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CB4FD8-80CB4FDC 000018 0004+00 1/1 0/0 0/0 .rodata @3926 */
|
||||
SECTION_RODATA static f32 const lit_3926 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80CB4FD8, &lit_3926);
|
||||
|
||||
/* 80CB4B10-80CB4BF8 0009B0 00E8+00 1/1 0/0 0/0 .text init_modeOpen__10daPoTbox_cFv */
|
||||
void daPoTbox_c::init_modeOpen() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB4BF8-80CB4C54 000A98 005C+00 1/0 0/0 0/0 .text modeOpen__10daPoTbox_cFv */
|
||||
void daPoTbox_c::modeOpen() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB4C54-80CB4C60 000AF4 000C+00 2/2 0/0 0/0 .text init_modeOpenEnd__10daPoTbox_cFv */
|
||||
void daPoTbox_c::init_modeOpenEnd() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB4C60-80CB4C84 000B00 0024+00 1/0 0/0 0/0 .text modeOpenEnd__10daPoTbox_cFv */
|
||||
void daPoTbox_c::modeOpenEnd() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB4C84-80CB4C90 000B24 000C+00 1/1 0/0 0/0 .text init_modeEnd__10daPoTbox_cFv */
|
||||
void daPoTbox_c::init_modeEnd() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB4C90-80CB4C94 000B30 0004+00 1/0 0/0 0/0 .text modeEnd__10daPoTbox_cFv */
|
||||
void daPoTbox_c::modeEnd() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80CB4C94-80CB4E14 000B34 0180+00 1/0 0/0 0/0 .text Draw__10daPoTbox_cFv */
|
||||
void daPoTbox_c::Draw() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB4E14-80CB4E88 000CB4 0074+00 1/0 0/0 0/0 .text Delete__10daPoTbox_cFv */
|
||||
void daPoTbox_c::Delete() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB4E88-80CB4EB4 000D28 002C+00 1/0 0/0 0/0 .text daPoTbox_Draw__FP10daPoTbox_c */
|
||||
static void daPoTbox_Draw(daPoTbox_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB4EB4-80CB4ED4 000D54 0020+00 1/0 0/0 0/0 .text daPoTbox_Execute__FP10daPoTbox_c */
|
||||
static void daPoTbox_Execute(daPoTbox_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB4ED4-80CB4EF4 000D74 0020+00 1/0 0/0 0/0 .text daPoTbox_Delete__FP10daPoTbox_c */
|
||||
static void daPoTbox_Delete(daPoTbox_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB4EF4-80CB4F14 000D94 0020+00 1/0 0/0 0/0 .text daPoTbox_Create__FP10fopAc_ac_c */
|
||||
static void daPoTbox_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB4F14-80CB4F70 000DB4 005C+00 2/1 0/0 0/0 .text __dt__14daPoTbox_HIO_cFv */
|
||||
daPoTbox_HIO_c::~daPoTbox_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CB4F70-80CB4FAC 000E10 003C+00 0/0 1/0 0/0 .text __sinit_d_a_obj_poTbox_cpp */
|
||||
void __sinit_d_a_obj_poTbox_cpp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x80CB4F70, __sinit_d_a_obj_poTbox_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 80CB4FDC-80CB4FDC 00001C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
+85
-14
@@ -20,14 +20,85 @@
|
||||
#include "f_op/f_op_scene_mng.h"
|
||||
#include "m_Do/m_Do_lib.h"
|
||||
|
||||
class l_HIO {
|
||||
public:
|
||||
/* 8001E098 */ ~l_HIO() {}
|
||||
};
|
||||
|
||||
#define MAKE_ITEM_PARAMS(itemNo, itemBitNo, param_2, param_3) \
|
||||
((itemNo & 0xFF) << 0 | (itemBitNo & 0xFF) << 0x8 | param_2 << 0x10 | (param_3 & 0xF) << 0x18)
|
||||
|
||||
namespace fopAcM {
|
||||
extern u8 HeapAdjustEntry;
|
||||
extern u8 HeapAdjustUnk;
|
||||
extern u8 HeapAdjustVerbose;
|
||||
extern u8 HeapAdjustQuiet;
|
||||
extern u8 HeapDummyCreate;
|
||||
} // namespace fopAcM
|
||||
|
||||
class l_HIO : public JORReflexible {
|
||||
public:
|
||||
/* 8001E098 */ ~l_HIO() {
|
||||
#if DEBUG
|
||||
erase();
|
||||
#endif
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
l_HIO() {
|
||||
mId = -1;
|
||||
}
|
||||
|
||||
void entry() {
|
||||
if (mId < 0) {
|
||||
mId = mDoHIO_CREATE_CHILD("アクターマネージャ", this);
|
||||
}
|
||||
}
|
||||
|
||||
void erase() {
|
||||
if (mId >= 0) {
|
||||
mDoHIO_DELETE_CHILD(mId);
|
||||
mId = -1;
|
||||
}
|
||||
}
|
||||
|
||||
void listenPropertyEvent(const JORPropertyEvent*);
|
||||
void genMessage(JORMContext*);
|
||||
#endif
|
||||
|
||||
#if DEBUG
|
||||
/* 0x4 */ s8 mId;
|
||||
#endif
|
||||
};
|
||||
|
||||
#if DEBUG
|
||||
void l_HIO::genMessage(JORMContext* mctx) {
|
||||
mctx->genLabel("アクターソリッドヒープ用プリント表示制御", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18);
|
||||
mctx->genCheckBox("HeapAdjustEntry(ぴったりサイズで格納しようとします)", &fopAcM::HeapAdjustEntry, 1, 0,
|
||||
NULL, 0xFFFF, 0xFFFF, 0x200, 0x18);
|
||||
mctx->genCheckBox("HeapAdjustVerbose(アジャストの情報を表示します)", &fopAcM::HeapAdjustVerbose, 1, 0, NULL,
|
||||
0xFFFF, 0xFFFF, 0x200, 0x18);
|
||||
mctx->genCheckBox("HeapAdjustQuiet(アジャストの情報を表示しません)", &fopAcM::HeapAdjustQuiet, 1, 0, NULL,
|
||||
0xFFFF, 0xFFFF, 0x200, 0x18);
|
||||
mctx->genCheckBox("HeapDummyCreate(調査のため、ダミー領域に一度格納します)", &fopAcM::HeapDummyCreate, 1,
|
||||
0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18);
|
||||
mctx->genCheckBox("mDoExt::HeapAdjustVerbose(mDoExtのほうでアジャストの情報を表示します)",
|
||||
&mDoExt::HeapAdjustVerbose, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18);
|
||||
mctx->genCheckBox("mDoExt::HeapAdjustQuiet(mDoExtのほうでアジャストの情報を表示しません)",
|
||||
&mDoExt::HeapAdjustQuiet, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18);
|
||||
}
|
||||
|
||||
void l_HIO::listenPropertyEvent(const JORPropertyEvent* property) {
|
||||
JORMContext* mctx = attachJORMContext(8);
|
||||
JORReflexible::listenPropertyEvent(property);
|
||||
|
||||
if ((u8*)property->id == &fopAcM::HeapDummyCreate) {
|
||||
if (fopAcM::HeapDummyCreate) {
|
||||
DummyCheckHeap_create();
|
||||
} else {
|
||||
DummyCheckHeap_destroy();
|
||||
}
|
||||
}
|
||||
|
||||
releaseJORMContext(mctx);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 800198A4-800198C4 0141E4 0020+00 0/0 1/1 0/0 .text fopAcM_FastCreate__FsPFPv_iPvPv */
|
||||
fopAc_ac_c* fopAcM_FastCreate(s16 i_procName, FastCreateReqFunc i_createFunc, void* i_createData,
|
||||
void* i_append) {
|
||||
@@ -305,11 +376,11 @@ s32 fopAcM_callCallback(fopAc_ac_c* i_actor, heapCallbackFunc i_callback, JKRHea
|
||||
}
|
||||
|
||||
/* 80450CC8-80450CCC -00001 0004+00 2/2 0/0 0/0 .sbss None */
|
||||
namespace fopAcM {
|
||||
bool HeapAdjustEntry;
|
||||
bool HeapAdjustVerbose;
|
||||
bool HeapAdjustQuiet;
|
||||
} // namespace fopAcM
|
||||
u8 fopAcM::HeapAdjustEntry;
|
||||
u8 fopAcM::HeapAdjustUnk;
|
||||
u8 fopAcM::HeapAdjustVerbose;
|
||||
u8 fopAcM::HeapAdjustQuiet;
|
||||
u8 fopAcM::HeapDummyCreate;
|
||||
|
||||
/* 8001A1E8-8001A4B0 014B28 02C8+00 1/1 0/0 0/0 .text
|
||||
* fopAcM_entrySolidHeap___FP10fopAc_ac_cPFP10fopAc_ac_c_iUl */
|
||||
@@ -432,12 +503,12 @@ bool fopAcM_entrySolidHeap_(fopAc_ac_c* i_actor, heapCallbackFunc i_heapCallback
|
||||
/* 8001A4B0-8001A528 014DF0 0078+00 0/0 4/4 446/446 .text
|
||||
* fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl */
|
||||
bool fopAcM_entrySolidHeap(fopAc_ac_c* i_actor, heapCallbackFunc i_heapCallback, u32 i_size) {
|
||||
bool var_r31 = fopAcM::HeapAdjustVerbose;
|
||||
u8 var_r31 = fopAcM::HeapAdjustUnk;
|
||||
if (i_size & 0x80000000) {
|
||||
fopAcM::HeapAdjustVerbose = true;
|
||||
fopAcM::HeapAdjustUnk = true;
|
||||
}
|
||||
|
||||
bool var_r30 = fopAcM::HeapAdjustEntry;
|
||||
u8 var_r30 = fopAcM::HeapAdjustEntry;
|
||||
if (i_size & 0x20000000) {
|
||||
fopAcM::HeapAdjustEntry = false;
|
||||
} else if (i_size & 0x10000000) {
|
||||
@@ -445,7 +516,7 @@ bool fopAcM_entrySolidHeap(fopAc_ac_c* i_actor, heapCallbackFunc i_heapCallback,
|
||||
}
|
||||
|
||||
bool result = fopAcM_entrySolidHeap_(i_actor, i_heapCallback, i_size & 0xFFFFFF);
|
||||
fopAcM::HeapAdjustVerbose = var_r31;
|
||||
fopAcM::HeapAdjustUnk = var_r31;
|
||||
fopAcM::HeapAdjustEntry = var_r30;
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user