mirror of
https://github.com/zeldaret/tp
synced 2026-07-07 22:22:05 -04:00
lv7bsgate, lv8udfloor, lv9swshutter done, lv7propellery almost (#2768)
* lv7bsgate, lv8udfloor, lv9swshutter done, lv7propellery almost * fix builds * obj_lv6egate done
This commit is contained in:
+4
-4
@@ -2110,17 +2110,17 @@ config.libs = [
|
||||
ActorRel(NonMatching, "d_a_obj_lv6TogeTrap"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv6bemos"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv6bemos2"),
|
||||
ActorRel(NonMatching, "d_a_obj_lv6egate"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv6egate"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv6elevta"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv6swturn"),
|
||||
ActorRel(NonMatching, "d_a_obj_lv7BsGate"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv7BsGate"),
|
||||
ActorRel(NonMatching, "d_a_obj_lv7PropellerY"),
|
||||
ActorRel(Equivalent, "d_a_obj_lv7bridge"), # small regalloc
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv8KekkaiTrap"),
|
||||
ActorRel(NonMatching, "d_a_obj_lv8Lift"),
|
||||
ActorRel(NonMatching, "d_a_obj_lv8OptiLift"),
|
||||
ActorRel(NonMatching, "d_a_obj_lv8UdFloor"),
|
||||
ActorRel(NonMatching, "d_a_obj_lv9SwShutter"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv8UdFloor"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv9SwShutter"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_magLift"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_magLiftRot"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_maki"),
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
#define D_A_OBJ_LV6EGATE_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_bg_s_movebg_actor.h"
|
||||
#include "d/d_cc_d.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
@@ -11,24 +13,32 @@
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class daObjLv6EGate_c : public fopAc_ac_c {
|
||||
class daObjLv6EGate_c : public dBgS_MoveBgActor, public request_of_phase_process_class {
|
||||
public:
|
||||
/* 80C82078 */ void create1st();
|
||||
/* 80C82078 */ int create1st();
|
||||
/* 80C82108 */ void setMtx();
|
||||
/* 80C82178 */ bool CreateHeap();
|
||||
/* 80C82180 */ void Create();
|
||||
/* 80C822DC */ void offDisp();
|
||||
/* 80C82330 */ void onDisp();
|
||||
/* 80C82388 */ void Execute(Mtx**);
|
||||
/* 80C82690 */ void Draw();
|
||||
/* 80C826A0 */ void Delete();
|
||||
/* 80C82A80 */ ~daObjLv6EGate_c();
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x1038 - 0x568];
|
||||
/* 80C82178 */ virtual int CreateHeap();
|
||||
/* 80C82180 */ virtual int Create();
|
||||
/* 80C82388 */ virtual int Execute(Mtx**);
|
||||
/* 80C82690 */ virtual int Draw();
|
||||
/* 80C826A0 */ virtual int Delete();
|
||||
/* 80C82A80 */ virtual ~daObjLv6EGate_c() {}
|
||||
|
||||
int getSwNo() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
int getType() { return fopAcM_GetParamBit(this, 8, 1); }
|
||||
|
||||
/* 0x05A8 */ Mtx field_0x5a8;
|
||||
/* 0x05D8 */ Mtx field_0x5d8;
|
||||
/* 0x0608 */ dCcD_Stts mCcStts;
|
||||
/* 0x0644 */ dCcD_Cyl mAtCyl[8];
|
||||
/* 0x1024 */ u8 mElecOff;
|
||||
/* 0x1025 */ u8 field_0x1025;
|
||||
/* 0x1028 */ u32 mEmtId[4];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjLv6EGate_c) == 0x1038);
|
||||
|
||||
|
||||
#endif /* D_A_OBJ_LV6EGATE_H */
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_A_OBJ_LV7BSGATE_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 daLv7BsGate_c : public fopAc_ac_c {
|
||||
class daLv7BsGate_c : public dBgS_MoveBgActor {
|
||||
public:
|
||||
/* 80C84930 */ void setBaseMtx();
|
||||
/* 80C849CC */ void CreateHeap();
|
||||
/* 80C84A4C */ void create();
|
||||
/* 80C84BCC */ void Execute(Mtx**);
|
||||
/* 80C84A4C */ int create();
|
||||
/* 80C84C1C */ void moveGate();
|
||||
/* 80C84D24 */ void init_modeWait();
|
||||
/* 80C84D30 */ void modeWait();
|
||||
@@ -24,20 +23,27 @@ public:
|
||||
/* 80C84D40 */ void modeOpen();
|
||||
/* 80C84E94 */ void init_modeClose();
|
||||
/* 80C84EA0 */ void modeClose();
|
||||
/* 80C84FF4 */ void Draw();
|
||||
/* 80C85098 */ void Delete();
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x5bc - 0x568];
|
||||
/* 80C849CC */ virtual int CreateHeap();
|
||||
/* 80C84BCC */ virtual int Execute(Mtx**);
|
||||
/* 80C84FF4 */ virtual int Draw();
|
||||
/* 80C85098 */ virtual int Delete();
|
||||
|
||||
int getType() { return fopAcM_GetParamBit(this, 0, 4); }
|
||||
int getSw() { return fopAcM_GetParamBit(this, 4, 8); }
|
||||
int getLR() { return fopAcM_GetParamBit(this, 12, 4); }
|
||||
|
||||
/* 0x5A0 */ request_of_phase_process_class mPhase;
|
||||
/* 0x5A8 */ J3DModel* mpModel;
|
||||
/* 0x5AC */ u8 mMode;
|
||||
/* 0x5AD */ u8 field_0x5ad;
|
||||
/* 0x5AE */ u8 mType;
|
||||
/* 0x5AF */ u8 mIsSwitch;
|
||||
/* 0x5B0 */ u8 mLR;
|
||||
/* 0x5B4 */ f32 field_0x5b4;
|
||||
/* 0x5B8 */ f32 field_0x5b8;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daLv7BsGate_c) == 0x5bc);
|
||||
|
||||
class daLv7BsGate_HIO_c {
|
||||
public:
|
||||
/* 80C848AC */ daLv7BsGate_HIO_c();
|
||||
/* 80C85164 */ ~daLv7BsGate_HIO_c();
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_OBJ_LV7BSGATE_H */
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_A_OBJ_LV7PROPELLERY_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 daPropY_c : public fopAc_ac_c {
|
||||
class daPropY_c : public dBgS_MoveBgActor {
|
||||
public:
|
||||
/* 80C8550C */ void setBaseMtx();
|
||||
/* 80C855A4 */ void CreateHeap();
|
||||
/* 80C85624 */ void create();
|
||||
/* 80C85810 */ void Execute(Mtx**);
|
||||
/* 80C85624 */ int create();
|
||||
/* 80C85860 */ void procMain();
|
||||
/* 80C859B4 */ void init_modeMoveWait();
|
||||
/* 80C859C0 */ void modeMoveWait();
|
||||
@@ -28,20 +27,34 @@ public:
|
||||
/* 80C85B84 */ void modeMove2();
|
||||
/* 80C85CAC */ void init_modeStop();
|
||||
/* 80C85DD0 */ void modeStop();
|
||||
/* 80C85F14 */ void Draw();
|
||||
/* 80C85FB8 */ void Delete();
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x5c8 - 0x568];
|
||||
/* 80C855A4 */ virtual int CreateHeap();
|
||||
/* 80C85810 */ virtual int Execute(Mtx**);
|
||||
/* 80C85F14 */ virtual int Draw();
|
||||
/* 80C85FB8 */ virtual int Delete();
|
||||
|
||||
int getType() { return fopAcM_GetParamBit(this, 0, 4); }
|
||||
int getSw() { return fopAcM_GetParamBit(this, 8, 8); }
|
||||
int getTurnType() { return fopAcM_GetParamBit(this, 4, 4); }
|
||||
int getTurnVec() { return fopAcM_GetParamBit(this, 16, 4); }
|
||||
|
||||
/* 0x5A0 */ request_of_phase_process_class mPhase;
|
||||
/* 0x5A8 */ J3DModel* mpModel;
|
||||
/* 0x5AC */ u8 mMode;
|
||||
/* 0x5AD */ u8 mSwbit;
|
||||
/* 0x5AE */ u8 mIsSwitch;
|
||||
/* 0x5AF */ u8 mType;
|
||||
/* 0x5B0 */ u8 mTurnType;
|
||||
/* 0x5B1 */ u8 mTurnVec;
|
||||
/* 0x5B2 */ s8 field_0x5b2;
|
||||
/* 0x5B4 */ s16 field_0x5b4;
|
||||
/* 0x5B6 */ s16 field_0x5b6;
|
||||
/* 0x5B8 */ u8 mTimer;
|
||||
/* 0x5BC */ f32 field_0x5bc;
|
||||
/* 0x5C0 */ f32 field_0x5c0;
|
||||
/* 0x5C4 */ f32 field_0x5c4;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daPropY_c) == 0x5c8);
|
||||
|
||||
class daPropY_HIO_c {
|
||||
public:
|
||||
/* 80C8546C */ daPropY_HIO_c();
|
||||
/* 80C86084 */ ~daPropY_HIO_c();
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_OBJ_LV7PROPELLERY_H */
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_A_OBJ_LV8UDFLOOR_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_bg_s_movebg_actor.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
@@ -11,38 +12,53 @@
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class daUdFloor_c : public fopAc_ac_c {
|
||||
class daUdFloor_c : public dBgS_MoveBgActor {
|
||||
public:
|
||||
/* 80C8BDC8 */ void setBaseMtx();
|
||||
/* 80C8BE64 */ void CreateHeap();
|
||||
/* 80C8BEE4 */ void create();
|
||||
/* 80C8C0DC */ void Execute(Mtx**);
|
||||
/* 80C8BEE4 */ int create();
|
||||
/* 80C8C12C */ void moveLift();
|
||||
/* 80C8C264 */ void init_modeWait();
|
||||
/* 80C8C270 */ void modeWait();
|
||||
/* 80C8C274 */ void init_modeUpMoveInit();
|
||||
/* 80C8C310 */ void modeUpMoveInit();
|
||||
/* 80C8C354 */ void colorAnm(int);
|
||||
/* 80C8C354 */ u8 colorAnm(int);
|
||||
/* 80C8C5E4 */ void init_modeUpMove();
|
||||
/* 80C8C68C */ void modeUpMove();
|
||||
/* 80C8C7F8 */ void init_modeDownMoveInit();
|
||||
/* 80C8C81C */ void modeDownMoveInit();
|
||||
/* 80C8C860 */ void init_modeDownMove();
|
||||
/* 80C8C8E4 */ void modeDownMove();
|
||||
/* 80C8C994 */ void Draw();
|
||||
/* 80C8CA78 */ void Delete();
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x5c8 - 0x568];
|
||||
/* 80C8BE64 */ virtual int CreateHeap();
|
||||
/* 80C8C0DC */ virtual int Execute(Mtx**);
|
||||
/* 80C8C994 */ virtual int Draw();
|
||||
/* 80C8CA78 */ virtual int Delete();
|
||||
|
||||
u8 getModelType() { return current.angle.x & 0xFF; }
|
||||
u8 getTimer() { return (current.angle.x & 0xFF00) >> 8; }
|
||||
|
||||
int getSw() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
int getMoveHeight() { return fopAcM_GetParamBit(this, 16, 8); }
|
||||
int getMoveSpeed() { return fopAcM_GetParamBit(this, 24, 8); }
|
||||
|
||||
/* 0x5A0 */ request_of_phase_process_class mPhase;
|
||||
/* 0x5A8 */ J3DModel* mpModel;
|
||||
/* 0x5AC */ u8 mMode;
|
||||
/* 0x5B0 */ f32 field_0x5b0;
|
||||
/* 0x5B4 */ f32 field_0x5b4;
|
||||
/* 0x5B8 */ u8 field_0x5b8;
|
||||
/* 0x5B9 */ u8 mTimer;
|
||||
/* 0x5BA */ u8 field_0x5ba;
|
||||
/* 0x5BB */ u8 mModelType;
|
||||
/* 0x5BC */ u8 mIsSwitch;
|
||||
/* 0x5BD */ u8 mColorR;
|
||||
/* 0x5BE */ u8 mColorG;
|
||||
/* 0x5BF */ u8 mColorB;
|
||||
/* 0x5C0 */ f32 field_0x5c0;
|
||||
/* 0x5C4 */ u8 field_0x5c4;
|
||||
/* 0x5C5 */ u8 field_0x5c5;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daUdFloor_c) == 0x5c8);
|
||||
|
||||
class daUdFloor_HIO_c {
|
||||
public:
|
||||
/* 80C8BD0C */ daUdFloor_HIO_c();
|
||||
/* 80C8CB44 */ ~daUdFloor_HIO_c();
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_OBJ_LV8UDFLOOR_H */
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_A_OBJ_LV9SWSHUTTER_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 daLv9SwShutter_c : public fopAc_ac_c {
|
||||
class daLv9SwShutter_c : public dBgS_MoveBgActor {
|
||||
public:
|
||||
/* 80C8CF38 */ void setBaseMtx();
|
||||
/* 80C8CFD4 */ void CreateHeap();
|
||||
/* 80C8D040 */ void create();
|
||||
/* 80C8D168 */ void Execute(Mtx**);
|
||||
/* 80C8D040 */ int create();
|
||||
/* 80C8D1B8 */ void moveShutter();
|
||||
/* 80C8D2BC */ void init_modeWait();
|
||||
/* 80C8D2C8 */ void modeWait();
|
||||
@@ -24,20 +23,23 @@ public:
|
||||
/* 80C8D2D8 */ void modeOpen();
|
||||
/* 80C8D440 */ void init_modeClose();
|
||||
/* 80C8D458 */ void modeClose();
|
||||
/* 80C8D5D0 */ void Draw();
|
||||
/* 80C8D674 */ void Delete();
|
||||
|
||||
/* 80C8CFD4 */ virtual int CreateHeap();
|
||||
/* 80C8D168 */ virtual int Execute(Mtx**);
|
||||
/* 80C8D5D0 */ virtual int Draw();
|
||||
/* 80C8D674 */ virtual int Delete();
|
||||
|
||||
int getSw() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x5b4 - 0x568];
|
||||
/* 0x5A0 */ request_of_phase_process_class mPhase;
|
||||
/* 0x5A8 */ J3DModel* mpModel;
|
||||
/* 0x5AC */ u8 mMode;
|
||||
/* 0x5AD */ u8 mSwbit;
|
||||
/* 0x5AE */ u8 mIsSwitch;
|
||||
/* 0x5B0 */ f32 field_0x5b0;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daLv9SwShutter_c) == 0x5b4);
|
||||
|
||||
class daLv9SwShutter_HIO_c {
|
||||
public:
|
||||
/* 80C8CEAC */ daLv9SwShutter_HIO_c();
|
||||
/* 80C8D730 */ ~daLv9SwShutter_HIO_c();
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_OBJ_LV9SWSHUTTER_H */
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@ enum dCcD_Material {
|
||||
dCcD_MTRL_ICE,
|
||||
dCcD_MTRL_WIND,
|
||||
dCcD_MTRL_LIGHT,
|
||||
dCcD_MTRL_UNK_5,
|
||||
dCcD_MTRL_ELECTRIC,
|
||||
dCcD_MTRL_UNK_6,
|
||||
dCcD_MTRL_UNK_7,
|
||||
};
|
||||
|
||||
@@ -669,7 +669,7 @@ BOOL daAlink_c::checkDamageAction() {
|
||||
}
|
||||
}
|
||||
|
||||
if (at_mtrl == dCcD_MTRL_UNK_5) {
|
||||
if (at_mtrl == dCcD_MTRL_ELECTRIC) {
|
||||
dComIfGp_getVibration().StartShock(4, 0x1F, cXyz(0.0f, 1.0f, 0.0f));
|
||||
} else if (checkHugeAttack(at_spl)) {
|
||||
dComIfGp_getVibration().StartShock(8, 0x1F, cXyz(0.0f, 1.0f, 0.0f));
|
||||
@@ -681,7 +681,7 @@ BOOL daAlink_c::checkDamageAction() {
|
||||
|
||||
setDamagePoint(dmg, at_mtrl == dCcD_MTRL_FIRE || at_mtrl == dCcD_MTRL_ICE, TRUE, 0);
|
||||
|
||||
if (armor_no_dmg && at_mtrl != dCcD_MTRL_UNK_5 && at_mtrl != dCcD_MTRL_ICE) {
|
||||
if (armor_no_dmg && at_mtrl != dCcD_MTRL_ELECTRIC && at_mtrl != dCcD_MTRL_ICE) {
|
||||
setGuardSe(var_r29);
|
||||
} else if (at_mtrl == dCcD_MTRL_FIRE) {
|
||||
seStartOnlyReverb(Z2SE_AL_BURN_START);
|
||||
@@ -699,10 +699,10 @@ BOOL daAlink_c::checkDamageAction() {
|
||||
voiceStart(Z2SE_AL_V_DAMAGE_S);
|
||||
seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL);
|
||||
}
|
||||
} else if (at_mtrl == dCcD_MTRL_UNK_5 && !checkSpecialHorseRide()) {
|
||||
} else if (at_mtrl == dCcD_MTRL_ELECTRIC && !checkSpecialHorseRide()) {
|
||||
return procCoElecDamageInit(var_r29->GetTgHitAc(), var_r29, at_spl);
|
||||
} else if (checkReinRide()) {
|
||||
if (at_mtrl == dCcD_MTRL_UNK_5) {
|
||||
if (at_mtrl == dCcD_MTRL_ELECTRIC) {
|
||||
return procCoLargeDamageInit(-1, 1, 0, 0, var_r29, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -1483,7 +1483,7 @@ static int daE_HZELDA_Create(fopAc_ac_c* i_this) {
|
||||
|
||||
a_this->mBallSphAt.Set(ball_at_sph_src);
|
||||
a_this->mBallSphAt.SetStts(&a_this->field_0xd3c);
|
||||
a_this->mBallSphAt.SetAtMtrl(dCcD_MTRL_UNK_5);
|
||||
a_this->mBallSphAt.SetAtMtrl(dCcD_MTRL_ELECTRIC);
|
||||
|
||||
static dCcD_SrcSph ball_tg_sph_src = {
|
||||
{
|
||||
|
||||
+170
-280
@@ -6,120 +6,44 @@
|
||||
#include "d/dolzel_rel.h" // IWYU pragma: keep
|
||||
|
||||
#include "d/actor/d_a_obj_lv6egate.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void create1st__15daObjLv6EGate_cFv();
|
||||
extern "C" void setMtx__15daObjLv6EGate_cFv();
|
||||
extern "C" bool CreateHeap__15daObjLv6EGate_cFv();
|
||||
extern "C" void Create__15daObjLv6EGate_cFv();
|
||||
extern "C" void offDisp__15daObjLv6EGate_cFv();
|
||||
extern "C" void onDisp__15daObjLv6EGate_cFv();
|
||||
extern "C" void Execute__15daObjLv6EGate_cFPPA3_A4_f();
|
||||
extern "C" void Draw__15daObjLv6EGate_cFv();
|
||||
extern "C" void Delete__15daObjLv6EGate_cFv();
|
||||
extern "C" static void daObjLv6EGate_create1st__FP15daObjLv6EGate_c();
|
||||
extern "C" void __dt__8dCcD_CylFv();
|
||||
extern "C" void __ct__8dCcD_CylFv();
|
||||
extern "C" void __dt__8cM3dGCylFv();
|
||||
extern "C" void __dt__8cM3dGAabFv();
|
||||
extern "C" void __dt__10dCcD_GSttsFv();
|
||||
extern "C" static void daObjLv6EGate_MoveBGDelete__FP15daObjLv6EGate_c();
|
||||
extern "C" static void daObjLv6EGate_MoveBGExecute__FP15daObjLv6EGate_c();
|
||||
extern "C" static void daObjLv6EGate_MoveBGDraw__FP15daObjLv6EGate_c();
|
||||
extern "C" void __dt__10cCcD_GSttsFv();
|
||||
extern "C" void __dt__15daObjLv6EGate_cFv();
|
||||
extern "C" extern char const* const d_a_obj_lv6egate__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
|
||||
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void
|
||||
set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
|
||||
extern "C" void Release__4cBgSFP9dBgW_Base();
|
||||
extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c();
|
||||
extern "C" void dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
|
||||
extern "C" void __ct__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 __ct__10dCcD_GSttsFv();
|
||||
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
|
||||
extern "C" void __ct__12dCcD_GObjInfFv();
|
||||
extern "C" void __dt__12dCcD_GObjInfFv();
|
||||
extern "C" void ChkAtHit__12dCcD_GObjInfFv();
|
||||
extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
|
||||
extern "C" void Set__4cCcSFP8cCcD_Obj();
|
||||
extern "C" void ChkUsed__9cBgW_BgIdCFv();
|
||||
extern "C" void SetC__8cM3dGCylFRC4cXyz();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __destroy_arr();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _restgpr_25();
|
||||
extern "C" extern void* __vt__16dBgS_MoveBgActor[10];
|
||||
extern "C" extern void* __vt__8dCcD_Cyl[36];
|
||||
extern "C" extern void* __vt__9dCcD_Stts[11];
|
||||
extern "C" extern void* __vt__12cCcD_CylAttr[25];
|
||||
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
|
||||
extern "C" extern void* __vt__9cCcD_Stts[8];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C82BA4-80C82BA4 000034 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80C82BA4 = "LV6EGATE";
|
||||
#pragma pop
|
||||
|
||||
/* 80C82BB0-80C82BB4 -00001 0004+00 2/2 0/0 0/0 .data l_arcName */
|
||||
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_lv6egate__stringBase0;
|
||||
static char* l_arcName = "LV6EGATE";
|
||||
|
||||
static const int l_dzbidx = 3;
|
||||
|
||||
/* 80C82078-80C82108 000078 0090+00 1/1 0/0 0/0 .text create1st__15daObjLv6EGate_cFv */
|
||||
void daObjLv6EGate_c::create1st() {
|
||||
// NONMATCHING
|
||||
int daObjLv6EGate_c::create1st() {
|
||||
int phase_state = dComIfG_resLoad(this, l_arcName);
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
setMtx();
|
||||
phase_state = MoveBGCreate(l_arcName, l_dzbidx, dBgS_MoveBGProc_TypicalRotY, 0x7B0, &field_0x5a8);
|
||||
if (phase_state == cPhs_ERROR_e) {
|
||||
return phase_state;
|
||||
}
|
||||
}
|
||||
|
||||
return phase_state;
|
||||
}
|
||||
|
||||
/* 80C82108-80C82178 000108 0070+00 2/2 0/0 0/0 .text setMtx__15daObjLv6EGate_cFv */
|
||||
void daObjLv6EGate_c::setMtx() {
|
||||
// NONMATCHING
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::YrotM(current.angle.y);
|
||||
MTXCopy(mDoMtx_stack_c::get(), field_0x5d8);
|
||||
MTXCopy(mDoMtx_stack_c::get(), field_0x5a8);
|
||||
}
|
||||
|
||||
/* 80C82178-80C82180 000178 0008+00 1/0 0/0 0/0 .text CreateHeap__15daObjLv6EGate_cFv */
|
||||
bool daObjLv6EGate_c::CreateHeap() {
|
||||
return true;
|
||||
int daObjLv6EGate_c::CreateHeap() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C82B70-80C82B88 000000 0018+00 2/2 0/0 0/0 .rodata l_cull_box */
|
||||
SECTION_RODATA static u8 const l_cull_box[24] = {
|
||||
0xC3, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x48, 0x00, 0x00,
|
||||
0x43, 0xFA, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00,
|
||||
static const cull_box l_cull_box = {
|
||||
{-500.0f, 0.0f, -50.0f},
|
||||
{500.0f, 300.0f, 50.0f},
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C82B70, &l_cull_box);
|
||||
|
||||
/* 80C82BB4-80C82BF8 000004 0044+00 1/1 0/0 0/0 .data l_at_cyl_src */
|
||||
static dCcD_SrcCyl l_at_cyl_src = {
|
||||
@@ -137,98 +61,174 @@ static dCcD_SrcCyl l_at_cyl_src = {
|
||||
};
|
||||
|
||||
/* 80C82180-80C822DC 000180 015C+00 1/0 0/0 0/0 .text Create__15daObjLv6EGate_cFv */
|
||||
void daObjLv6EGate_c::Create() {
|
||||
// NONMATCHING
|
||||
int daObjLv6EGate_c::Create() {
|
||||
fopAcM_SetMtx(this, field_0x5d8);
|
||||
fopAcM_setCullSizeBox(this, l_cull_box.min.x, l_cull_box.min.y, l_cull_box.min.z, l_cull_box.max.x, l_cull_box.max.y, l_cull_box.max.z);
|
||||
mCcStts.Init(255, 0, this);
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
mAtCyl[i].Set(l_at_cyl_src);
|
||||
mAtCyl[i].SetStts(&mCcStts);
|
||||
mAtCyl[i].SetAtMtrl(dCcD_MTRL_ELECTRIC);
|
||||
}
|
||||
|
||||
if (getSwNo() == 0xFF) {
|
||||
onDisp();
|
||||
} else if (getType() != 0) {
|
||||
if (fopAcM_isSwitch(this, getSwNo())) {
|
||||
onDisp();
|
||||
} else {
|
||||
offDisp();
|
||||
}
|
||||
} else if (fopAcM_isSwitch(this, getSwNo())) {
|
||||
offDisp();
|
||||
} else {
|
||||
onDisp();
|
||||
}
|
||||
|
||||
field_0x1025 = 0;
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
mEmtId[i] = 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C822DC-80C82330 0002DC 0054+00 2/2 0/0 0/0 .text offDisp__15daObjLv6EGate_cFv */
|
||||
void daObjLv6EGate_c::offDisp() {
|
||||
// NONMATCHING
|
||||
mElecOff = true;
|
||||
|
||||
if (mpBgW->ChkUsed()) {
|
||||
int result = dComIfG_Bgsp().Release(mpBgW);
|
||||
JUT_ASSERT(301, result == 0);
|
||||
}
|
||||
}
|
||||
|
||||
/* 80C82330-80C82388 000330 0058+00 2/2 0/0 0/0 .text onDisp__15daObjLv6EGate_cFv */
|
||||
void daObjLv6EGate_c::onDisp() {
|
||||
// NONMATCHING
|
||||
mElecOff = false;
|
||||
|
||||
if (!mpBgW->ChkUsed()) {
|
||||
int result = dComIfG_Bgsp().Regist(mpBgW, this);
|
||||
JUT_ASSERT(313, result == 0);
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C82B88-80C82B8C 000018 0004+00 0/1 0/0 0/0 .rodata @3798 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3798 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C82B88, &lit_3798);
|
||||
#pragma pop
|
||||
|
||||
/* 80C82B8C-80C82B90 00001C 0004+00 0/1 0/0 0/0 .rodata @3799 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3799 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C82B8C, &lit_3799);
|
||||
#pragma pop
|
||||
|
||||
/* 80C82B90-80C82B94 000020 0004+00 0/1 0/0 0/0 .rodata @3800 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3800 = -280.0f;
|
||||
COMPILER_STRIP_GATE(0x80C82B90, &lit_3800);
|
||||
#pragma pop
|
||||
|
||||
/* 80C82B94-80C82B98 000024 0004+00 0/1 0/0 0/0 .rodata @3801 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3801[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C82B94, &lit_3801);
|
||||
#pragma pop
|
||||
|
||||
/* 80C82B98-80C82B9C 000028 0004+00 0/1 0/0 0/0 .rodata @3802 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3802 = 76.25f;
|
||||
COMPILER_STRIP_GATE(0x80C82B98, &lit_3802);
|
||||
#pragma pop
|
||||
|
||||
/* 80C82B9C-80C82BA0 00002C 0004+00 0/1 0/0 0/0 .rodata @3803 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3803 = 30.0f;
|
||||
COMPILER_STRIP_GATE(0x80C82B9C, &lit_3803);
|
||||
#pragma pop
|
||||
|
||||
/* 80C82BA0-80C82BA4 000030 0004+00 0/1 0/0 0/0 .rodata @3804 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3804 = 50.0f;
|
||||
COMPILER_STRIP_GATE(0x80C82BA0, &lit_3804);
|
||||
#pragma pop
|
||||
|
||||
/* 80C82388-80C82690 000388 0308+00 1/0 0/0 0/0 .text Execute__15daObjLv6EGate_cFPPA3_A4_f */
|
||||
void daObjLv6EGate_c::Execute(Mtx** param_0) {
|
||||
// NONMATCHING
|
||||
int daObjLv6EGate_c::Execute(Mtx** param_0) {
|
||||
if (getSwNo() != 0xFF) {
|
||||
if (getType() != 0) {
|
||||
if (fopAcM_isSwitch(this, getSwNo())) {
|
||||
onDisp();
|
||||
} else {
|
||||
offDisp();
|
||||
}
|
||||
} else if (fopAcM_isSwitch(this, getSwNo())) {
|
||||
offDisp();
|
||||
} else {
|
||||
onDisp();
|
||||
}
|
||||
}
|
||||
|
||||
setMtx();
|
||||
*param_0 = &field_0x5a8;
|
||||
|
||||
if (mElecOff) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
bool at_cyl_hit = false;
|
||||
if (field_0x1025 == 0) {
|
||||
for (int i = 0; i < 8; i++) {
|
||||
if (mAtCyl[i].ChkAtHit()) {
|
||||
Z2GetAudioMgr()->seStart(Z2SE_OBJ_L6_ELK_GATE_TOUCH, mAtCyl[i].GetCP(), 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
at_cyl_hit = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (at_cyl_hit) {
|
||||
field_0x1025 = 1;
|
||||
} else {
|
||||
field_0x1025 = 0;
|
||||
}
|
||||
|
||||
Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_L6_ELK_GATE_LV, ¤t.pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
|
||||
cXyz cyl_pos;
|
||||
f32 var_f31 = -280.0f;
|
||||
f32 temp_f30 = (330.0f - var_f31) * 0.125f;
|
||||
for (int i = 0; i < 8; i++) {
|
||||
cXyz local_pos;
|
||||
local_pos.x = var_f31;
|
||||
local_pos.y = 0.0f;
|
||||
local_pos.z = 0.0f;
|
||||
PSMTXMultVec(field_0x5a8, &local_pos, &cyl_pos);
|
||||
mAtCyl[i].SetC(cyl_pos);
|
||||
dComIfG_Ccsp()->Set(&mAtCyl[i]);
|
||||
|
||||
var_f31 += temp_f30;
|
||||
}
|
||||
|
||||
cXyz effpos(current.pos);
|
||||
effpos.y += 30.0f;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
mEmtId[i] = dComIfGp_particle_set(mEmtId[i], dPa_RM(ID_ZI_S_ELECGATE_A), &effpos, &shape_angle, NULL);
|
||||
effpos.y += 50.0f;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C82690-80C826A0 000690 0010+00 1/0 0/0 0/0 .text Draw__15daObjLv6EGate_cFv */
|
||||
void daObjLv6EGate_c::Draw() {
|
||||
// NONMATCHING
|
||||
int daObjLv6EGate_c::Draw() {
|
||||
if (mElecOff) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C826A0-80C826DC 0006A0 003C+00 1/0 0/0 0/0 .text Delete__15daObjLv6EGate_cFv */
|
||||
void daObjLv6EGate_c::Delete() {
|
||||
// NONMATCHING
|
||||
int daObjLv6EGate_c::Delete() {
|
||||
dComIfG_resDelete(this, l_arcName);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C826DC-80C82790 0006DC 00B4+00 1/0 0/0 0/0 .text daObjLv6EGate_create1st__FP15daObjLv6EGate_c
|
||||
*/
|
||||
static int daObjLv6EGate_create1st(daObjLv6EGate_c* i_this) {
|
||||
fopAcM_ct(i_this, daObjLv6EGate_c);
|
||||
return i_this->create1st();
|
||||
}
|
||||
|
||||
/* 80C829CC-80C829EC 0009CC 0020+00 1/0 0/0 0/0 .text
|
||||
* daObjLv6EGate_MoveBGDelete__FP15daObjLv6EGate_c */
|
||||
static int daObjLv6EGate_MoveBGDelete(daObjLv6EGate_c* i_this) {
|
||||
return i_this->MoveBGDelete();
|
||||
}
|
||||
|
||||
/* 80C829EC-80C82A0C 0009EC 0020+00 1/0 0/0 0/0 .text
|
||||
* daObjLv6EGate_MoveBGExecute__FP15daObjLv6EGate_c */
|
||||
static int daObjLv6EGate_MoveBGExecute(daObjLv6EGate_c* i_this) {
|
||||
return i_this->MoveBGExecute();
|
||||
}
|
||||
|
||||
/* 80C82A0C-80C82A38 000A0C 002C+00 1/0 0/0 0/0 .text
|
||||
* daObjLv6EGate_MoveBGDraw__FP15daObjLv6EGate_c */
|
||||
static int daObjLv6EGate_MoveBGDraw(daObjLv6EGate_c* i_this) {
|
||||
return i_this->MoveBGDraw();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C82BF8-80C82C18 -00001 0020+00 1/0 0/0 0/0 .data daObjLv6EGate_METHODS */
|
||||
static actor_method_class daObjLv6EGate_METHODS = {
|
||||
(process_method_func)daObjLv6EGate_create1st__FP15daObjLv6EGate_c,
|
||||
(process_method_func)daObjLv6EGate_MoveBGDelete__FP15daObjLv6EGate_c,
|
||||
(process_method_func)daObjLv6EGate_MoveBGExecute__FP15daObjLv6EGate_c,
|
||||
0,
|
||||
(process_method_func)daObjLv6EGate_MoveBGDraw__FP15daObjLv6EGate_c,
|
||||
(process_method_func)daObjLv6EGate_create1st,
|
||||
(process_method_func)daObjLv6EGate_MoveBGDelete,
|
||||
(process_method_func)daObjLv6EGate_MoveBGExecute,
|
||||
NULL,
|
||||
(process_method_func)daObjLv6EGate_MoveBGDraw,
|
||||
};
|
||||
|
||||
/* 80C82C18-80C82C48 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Lv6EGate */
|
||||
@@ -248,113 +248,3 @@ extern actor_process_profile_definition g_profile_Obj_Lv6EGate = {
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80C82C48-80C82C54 000098 000C+00 3/3 0/0 0/0 .data __vt__10cCcD_GStts */
|
||||
SECTION_DATA extern void* __vt__10cCcD_GStts[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__10cCcD_GSttsFv,
|
||||
};
|
||||
|
||||
/* 80C82C54-80C82C60 0000A4 000C+00 2/2 0/0 0/0 .data __vt__10dCcD_GStts */
|
||||
SECTION_DATA extern void* __vt__10dCcD_GStts[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__10dCcD_GSttsFv,
|
||||
};
|
||||
|
||||
/* 80C82C60-80C82C6C 0000B0 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */
|
||||
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__8cM3dGAabFv,
|
||||
};
|
||||
|
||||
/* 80C82C6C-80C82C78 0000BC 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGCyl */
|
||||
SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__8cM3dGCylFv,
|
||||
};
|
||||
|
||||
/* 80C82C78-80C82CA4 0000C8 002C+00 2/2 0/0 0/0 .data __vt__15daObjLv6EGate_c */
|
||||
SECTION_DATA extern void* __vt__15daObjLv6EGate_c[11] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)CreateHeap__15daObjLv6EGate_cFv,
|
||||
(void*)Create__15daObjLv6EGate_cFv,
|
||||
(void*)Execute__15daObjLv6EGate_cFPPA3_A4_f,
|
||||
(void*)Draw__15daObjLv6EGate_cFv,
|
||||
(void*)Delete__15daObjLv6EGate_cFv,
|
||||
(void*)IsDelete__16dBgS_MoveBgActorFv,
|
||||
(void*)ToFore__16dBgS_MoveBgActorFv,
|
||||
(void*)ToBack__16dBgS_MoveBgActorFv,
|
||||
(void*)__dt__15daObjLv6EGate_cFv,
|
||||
};
|
||||
|
||||
/* 80C826DC-80C82790 0006DC 00B4+00 1/0 0/0 0/0 .text daObjLv6EGate_create1st__FP15daObjLv6EGate_c
|
||||
*/
|
||||
static void daObjLv6EGate_create1st(daObjLv6EGate_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C82790-80C8285C 000790 00CC+00 2/2 0/0 0/0 .text __dt__8dCcD_CylFv */
|
||||
// dCcD_Cyl::~dCcD_Cyl() {
|
||||
extern "C" void __dt__8dCcD_CylFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8285C-80C828E0 00085C 0084+00 1/1 0/0 0/0 .text __ct__8dCcD_CylFv */
|
||||
// dCcD_Cyl::dCcD_Cyl() {
|
||||
extern "C" void __ct__8dCcD_CylFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C828E0-80C82928 0008E0 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
|
||||
// cM3dGCyl::~cM3dGCyl() {
|
||||
extern "C" void __dt__8cM3dGCylFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C82928-80C82970 000928 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
|
||||
// cM3dGAab::~cM3dGAab() {
|
||||
extern "C" void __dt__8cM3dGAabFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C82970-80C829CC 000970 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
|
||||
// dCcD_GStts::~dCcD_GStts() {
|
||||
extern "C" void __dt__10dCcD_GSttsFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C829CC-80C829EC 0009CC 0020+00 1/0 0/0 0/0 .text
|
||||
* daObjLv6EGate_MoveBGDelete__FP15daObjLv6EGate_c */
|
||||
static void daObjLv6EGate_MoveBGDelete(daObjLv6EGate_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C829EC-80C82A0C 0009EC 0020+00 1/0 0/0 0/0 .text
|
||||
* daObjLv6EGate_MoveBGExecute__FP15daObjLv6EGate_c */
|
||||
static void daObjLv6EGate_MoveBGExecute(daObjLv6EGate_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C82A0C-80C82A38 000A0C 002C+00 1/0 0/0 0/0 .text
|
||||
* daObjLv6EGate_MoveBGDraw__FP15daObjLv6EGate_c */
|
||||
static void daObjLv6EGate_MoveBGDraw(daObjLv6EGate_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C82A38-80C82A80 000A38 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
|
||||
// cCcD_GStts::~cCcD_GStts() {
|
||||
extern "C" void __dt__10cCcD_GSttsFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C82A80-80C82B68 000A80 00E8+00 1/0 0/0 0/0 .text __dt__15daObjLv6EGate_cFv */
|
||||
daObjLv6EGate_c::~daObjLv6EGate_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C82BA4-80C82BA4 000034 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
+207
-340
@@ -6,158 +6,232 @@
|
||||
#include "d/dolzel_rel.h" // IWYU pragma: keep
|
||||
|
||||
#include "d/actor/d_a_obj_lv7BsGate.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
class daLv7BsGate_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
/* 80C848AC */ daLv7BsGate_HIO_c();
|
||||
/* 80C85164 */ virtual ~daLv7BsGate_HIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
/* 0x04 */ f32 open_speed;
|
||||
/* 0x08 */ f32 close_speed;
|
||||
/* 0x0C */ u8 vibration;
|
||||
};
|
||||
|
||||
extern "C" void __ct__17daLv7BsGate_HIO_cFv();
|
||||
extern "C" void __dt__14mDoHIO_entry_cFv();
|
||||
extern "C" void setBaseMtx__13daLv7BsGate_cFv();
|
||||
extern "C" void CreateHeap__13daLv7BsGate_cFv();
|
||||
extern "C" void create__13daLv7BsGate_cFv();
|
||||
extern "C" void Execute__13daLv7BsGate_cFPPA3_A4_f();
|
||||
extern "C" void moveGate__13daLv7BsGate_cFv();
|
||||
extern "C" void init_modeWait__13daLv7BsGate_cFv();
|
||||
extern "C" void modeWait__13daLv7BsGate_cFv();
|
||||
extern "C" void init_modeOpen__13daLv7BsGate_cFv();
|
||||
extern "C" void modeOpen__13daLv7BsGate_cFv();
|
||||
extern "C" void init_modeClose__13daLv7BsGate_cFv();
|
||||
extern "C" void modeClose__13daLv7BsGate_cFv();
|
||||
extern "C" void Draw__13daLv7BsGate_cFv();
|
||||
extern "C" void Delete__13daLv7BsGate_cFv();
|
||||
extern "C" static void daLv7BsGate_Draw__FP13daLv7BsGate_c();
|
||||
extern "C" static void daLv7BsGate_Execute__FP13daLv7BsGate_c();
|
||||
extern "C" static void daLv7BsGate_Delete__FP13daLv7BsGate_c();
|
||||
extern "C" static void daLv7BsGate_Create__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__17daLv7BsGate_HIO_cFv();
|
||||
extern "C" void __sinit_d_a_obj_lv7BsGate_cpp();
|
||||
extern "C" extern char const* const d_a_obj_lv7BsGate__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
|
||||
extern "C" void transM__14mDoMtx_stack_cFfff();
|
||||
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 StartShock__12dVibration_cFii4cXyz();
|
||||
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 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_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:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C85210-80C85214 000000 0004+00 3/3 0/0 0/0 .rodata @3628 */
|
||||
SECTION_RODATA static f32 const lit_3628 = 2.0f;
|
||||
COMPILER_STRIP_GATE(0x80C85210, &lit_3628);
|
||||
|
||||
/* 80C85214-80C85218 000004 0004+00 1/1 0/0 0/0 .rodata @3629 */
|
||||
SECTION_RODATA static f32 const lit_3629 = 12.0f;
|
||||
COMPILER_STRIP_GATE(0x80C85214, &lit_3629);
|
||||
|
||||
/* 80C85234-80C85234 000024 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80C85234 = "L7Gate";
|
||||
SECTION_DEAD static char const* const stringBase_80C8523B = "L7GateL";
|
||||
#pragma pop
|
||||
/* 80C8536C-80C8537C 000014 0010+00 3/3 0/0 0/0 .bss l_HIO */
|
||||
static daLv7BsGate_HIO_c l_HIO;
|
||||
|
||||
/* 80C85264-80C8526C -00001 0008+00 3/3 0/0 0/0 .data l_type */
|
||||
SECTION_DATA static void* l_type[2] = {
|
||||
(void*)&d_a_obj_lv7BsGate__stringBase0,
|
||||
(void*)(((char*)&d_a_obj_lv7BsGate__stringBase0) + 0x7),
|
||||
static char* l_type[2] = {
|
||||
"L7Gate",
|
||||
"L7GateL",
|
||||
};
|
||||
|
||||
/* 80C8526C-80C85274 000028 0008+00 1/1 0/0 0/0 .data l_bmdIdx */
|
||||
SECTION_DATA static u8 l_bmdIdx[8] = {
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04,
|
||||
};
|
||||
static int l_bmdIdx[] = {4, 4};
|
||||
|
||||
/* 80C85274-80C8527C 000030 0008+00 1/1 0/0 0/0 .data l_dzbIdx */
|
||||
SECTION_DATA static u8 l_dzbIdx[8] = {
|
||||
0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07,
|
||||
};
|
||||
static int l_dzbIdx[] = {7, 7};
|
||||
|
||||
/* 80C8527C-80C85288 -00001 000C+00 0/1 0/0 0/0 .data @3736 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3736[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeWait__13daLv7BsGate_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80C848AC-80C848E8 0000EC 003C+00 1/1 0/0 0/0 .text __ct__17daLv7BsGate_HIO_cFv */
|
||||
daLv7BsGate_HIO_c::daLv7BsGate_HIO_c() {
|
||||
open_speed = 2.0f;
|
||||
close_speed = 12.0f;
|
||||
vibration = 3;
|
||||
}
|
||||
|
||||
/* 80C85288-80C85294 -00001 000C+00 0/1 0/0 0/0 .data @3737 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3737[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeOpen__13daLv7BsGate_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80C84930-80C849CC 000170 009C+00 2/2 0/0 0/0 .text setBaseMtx__13daLv7BsGate_cFv */
|
||||
void daLv7BsGate_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);
|
||||
mDoMtx_stack_c::transM(field_0x5b8, 0.0f, 0.0f);
|
||||
mpModel->setBaseScale(scale);
|
||||
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
/* 80C85294-80C852A0 -00001 000C+00 0/1 0/0 0/0 .data @3738 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3738[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeClose__13daLv7BsGate_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80C849CC-80C84A4C 00020C 0080+00 1/0 0/0 0/0 .text CreateHeap__13daLv7BsGate_cFv */
|
||||
int daLv7BsGate_c::CreateHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_type[mType], l_bmdIdx[mType]);
|
||||
JUT_ASSERT(191, modelData != NULL);
|
||||
|
||||
/* 80C852A0-80C852C4 00005C 0024+00 0/1 0/0 0/0 .data mode_proc$3735 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 mode_proc[36] = {
|
||||
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;
|
||||
}
|
||||
|
||||
/* 80C84A4C-80C84BCC 00028C 0180+00 1/1 0/0 0/0 .text create__13daLv7BsGate_cFv */
|
||||
int daLv7BsGate_c::create() {
|
||||
fopAcM_ct(this, daLv7BsGate_c);
|
||||
|
||||
mType = getType();
|
||||
|
||||
int phase_state = dComIfG_resLoad(&mPhase, l_type[mType]);
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
if (MoveBGCreate(l_type[mType], l_dzbIdx[mType], dBgS_MoveBGProc_TypicalRotY, 0x2600, NULL) == cPhs_ERROR_e) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
|
||||
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
|
||||
|
||||
mIsSwitch = fopAcM_isSwitch(this, getSw());
|
||||
mLR = getLR();
|
||||
field_0x5b4 = -450.0f;
|
||||
|
||||
if (mLR == 1) {
|
||||
shape_angle.y += 0x8000;
|
||||
}
|
||||
|
||||
field_0x5b8 = 0.0f;
|
||||
|
||||
if (mIsSwitch) {
|
||||
field_0x5b8 = field_0x5b4;
|
||||
}
|
||||
|
||||
init_modeWait();
|
||||
setBaseMtx();
|
||||
|
||||
#if DEBUG
|
||||
l_HIO.entryHIO("ぶら下がりスイッチゲート(Lv7)");
|
||||
#endif
|
||||
}
|
||||
|
||||
return phase_state;
|
||||
}
|
||||
|
||||
/* 80C84BCC-80C84C1C 00040C 0050+00 1/0 0/0 0/0 .text Execute__13daLv7BsGate_cFPPA3_A4_f
|
||||
*/
|
||||
int daLv7BsGate_c::Execute(Mtx** param_0) {
|
||||
moveGate();
|
||||
*param_0 = &mpModel->getBaseTRMtx();
|
||||
setBaseMtx();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C84C1C-80C84D24 00045C 0108+00 1/1 0/0 0/0 .text moveGate__13daLv7BsGate_cFv */
|
||||
void daLv7BsGate_c::moveGate() {
|
||||
static void (daLv7BsGate_c::*mode_proc[])() = {
|
||||
&daLv7BsGate_c::modeWait,
|
||||
&daLv7BsGate_c::modeOpen,
|
||||
&daLv7BsGate_c::modeClose,
|
||||
};
|
||||
|
||||
u8 prev_switch = mIsSwitch;
|
||||
mIsSwitch = fopAcM_isSwitch(this, getSw());
|
||||
if (mIsSwitch != prev_switch) {
|
||||
if (mIsSwitch) {
|
||||
init_modeOpen();
|
||||
} else {
|
||||
init_modeClose();
|
||||
}
|
||||
}
|
||||
|
||||
(this->*mode_proc[mMode])();
|
||||
}
|
||||
|
||||
/* 80C84D24-80C84D30 000564 000C+00 3/3 0/0 0/0 .text init_modeWait__13daLv7BsGate_cFv */
|
||||
void daLv7BsGate_c::init_modeWait() {
|
||||
mMode = 0;
|
||||
}
|
||||
|
||||
/* 80C84D30-80C84D34 000570 0004+00 1/0 0/0 0/0 .text modeWait__13daLv7BsGate_cFv */
|
||||
void daLv7BsGate_c::modeWait() {}
|
||||
|
||||
/* 80C84D34-80C84D40 000574 000C+00 1/1 0/0 0/0 .text init_modeOpen__13daLv7BsGate_cFv */
|
||||
void daLv7BsGate_c::init_modeOpen() {
|
||||
mMode = 1;
|
||||
}
|
||||
|
||||
/* 80C84D40-80C84E94 000580 0154+00 1/0 0/0 0/0 .text modeOpen__13daLv7BsGate_cFv */
|
||||
void daLv7BsGate_c::modeOpen() {
|
||||
if (mLR == 0) {
|
||||
mDoAud_seStartLevel(Z2SE_OBJ_SW_W_DR_OP, ¤t.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
}
|
||||
|
||||
if (0.0f == cLib_addCalc(&field_0x5b8, field_0x5b4, 0.2f, l_HIO.open_speed, 0.5f)) {
|
||||
if (mLR == 0) {
|
||||
mDoAud_seStart(Z2SE_OBJ_SW_W_DR_OP_STOP, ¤t.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
}
|
||||
|
||||
dComIfGp_getVibration().StartShock(l_HIO.vibration, 0xF, cXyz(0.0f, 1.0f, 0.0f));
|
||||
init_modeWait();
|
||||
}
|
||||
}
|
||||
|
||||
/* 80C84E94-80C84EA0 0006D4 000C+00 1/1 0/0 0/0 .text init_modeClose__13daLv7BsGate_cFv
|
||||
*/
|
||||
void daLv7BsGate_c::init_modeClose() {
|
||||
mMode = 2;
|
||||
}
|
||||
|
||||
/* 80C84EA0-80C84FF4 0006E0 0154+00 1/0 0/0 0/0 .text modeClose__13daLv7BsGate_cFv */
|
||||
void daLv7BsGate_c::modeClose() {
|
||||
if (mLR == 0) {
|
||||
mDoAud_seStartLevel(Z2SE_OBJ_SW_W_DR_CL, ¤t.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
}
|
||||
|
||||
if (0.0f == cLib_addCalc(&field_0x5b8, 0.0f, 0.4f, l_HIO.close_speed, 0.5f)) {
|
||||
if (mLR == 0) {
|
||||
mDoAud_seStart(Z2SE_OBJ_SW_W_DR_CL_STOP, ¤t.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
}
|
||||
|
||||
dComIfGp_getVibration().StartShock(l_HIO.vibration, 0xF, cXyz(0.0f, 1.0f, 0.0f));
|
||||
init_modeWait();
|
||||
}
|
||||
}
|
||||
|
||||
/* 80C84FF4-80C85098 000834 00A4+00 1/0 0/0 0/0 .text Draw__13daLv7BsGate_cFv */
|
||||
int daLv7BsGate_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;
|
||||
}
|
||||
|
||||
/* 80C85098-80C850D8 0008D8 0040+00 1/0 0/0 0/0 .text Delete__13daLv7BsGate_cFv */
|
||||
int daLv7BsGate_c::Delete() {
|
||||
dComIfG_resDelete(&mPhase, l_type[mType]);
|
||||
#if DEBUG
|
||||
l_HIO.removeHIO();
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C850D8-80C85104 000918 002C+00 1/0 0/0 0/0 .text daLv7BsGate_Draw__FP13daLv7BsGate_c
|
||||
*/
|
||||
static int daLv7BsGate_Draw(daLv7BsGate_c* i_this) {
|
||||
return i_this->MoveBGDraw();
|
||||
}
|
||||
|
||||
/* 80C85104-80C85124 000944 0020+00 1/0 0/0 0/0 .text daLv7BsGate_Execute__FP13daLv7BsGate_c */
|
||||
static int daLv7BsGate_Execute(daLv7BsGate_c* i_this) {
|
||||
return i_this->MoveBGExecute();
|
||||
}
|
||||
|
||||
/* 80C85124-80C85144 000964 0020+00 1/0 0/0 0/0 .text daLv7BsGate_Delete__FP13daLv7BsGate_c */
|
||||
static int daLv7BsGate_Delete(daLv7BsGate_c* i_this) {
|
||||
return i_this->MoveBGDelete();
|
||||
}
|
||||
|
||||
/* 80C85144-80C85164 000984 0020+00 1/0 0/0 0/0 .text daLv7BsGate_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
static int daLv7BsGate_Create(fopAc_ac_c* i_this) {
|
||||
return ((daLv7BsGate_c*)i_this)->create();
|
||||
}
|
||||
|
||||
/* 80C852C4-80C852E4 -00001 0020+00 1/0 0/0 0/0 .data l_daLv7BsGate_Method */
|
||||
static actor_method_class l_daLv7BsGate_Method = {
|
||||
(process_method_func)daLv7BsGate_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daLv7BsGate_Delete__FP13daLv7BsGate_c,
|
||||
(process_method_func)daLv7BsGate_Execute__FP13daLv7BsGate_c,
|
||||
(process_method_func)daLv7BsGate_Create,
|
||||
(process_method_func)daLv7BsGate_Delete,
|
||||
(process_method_func)daLv7BsGate_Execute,
|
||||
0,
|
||||
(process_method_func)daLv7BsGate_Draw__FP13daLv7BsGate_c,
|
||||
(process_method_func)daLv7BsGate_Draw,
|
||||
};
|
||||
|
||||
/* 80C852E4-80C85314 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Lv7BsGate */
|
||||
@@ -177,210 +251,3 @@ extern actor_process_profile_definition g_profile_Obj_Lv7BsGate = {
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80C85314-80C8533C 0000D0 0028+00 1/1 0/0 0/0 .data __vt__13daLv7BsGate_c */
|
||||
SECTION_DATA extern void* __vt__13daLv7BsGate_c[10] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)CreateHeap__13daLv7BsGate_cFv,
|
||||
(void*)Create__16dBgS_MoveBgActorFv,
|
||||
(void*)Execute__13daLv7BsGate_cFPPA3_A4_f,
|
||||
(void*)Draw__13daLv7BsGate_cFv,
|
||||
(void*)Delete__13daLv7BsGate_cFv,
|
||||
(void*)IsDelete__16dBgS_MoveBgActorFv,
|
||||
(void*)ToFore__16dBgS_MoveBgActorFv,
|
||||
(void*)ToBack__16dBgS_MoveBgActorFv,
|
||||
};
|
||||
|
||||
/* 80C8533C-80C85348 0000F8 000C+00 2/2 0/0 0/0 .data __vt__17daLv7BsGate_HIO_c */
|
||||
SECTION_DATA extern void* __vt__17daLv7BsGate_HIO_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__17daLv7BsGate_HIO_cFv,
|
||||
};
|
||||
|
||||
/* 80C85348-80C85354 000104 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,
|
||||
};
|
||||
|
||||
/* 80C848AC-80C848E8 0000EC 003C+00 1/1 0/0 0/0 .text __ct__17daLv7BsGate_HIO_cFv */
|
||||
daLv7BsGate_HIO_c::daLv7BsGate_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C848E8-80C84930 000128 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
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C85218-80C8521C 000008 0004+00 2/4 0/0 0/0 .rodata @3650 */
|
||||
SECTION_RODATA static u8 const lit_3650[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C85218, &lit_3650);
|
||||
|
||||
/* 80C84930-80C849CC 000170 009C+00 2/2 0/0 0/0 .text setBaseMtx__13daLv7BsGate_cFv */
|
||||
void daLv7BsGate_c::setBaseMtx() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C849CC-80C84A4C 00020C 0080+00 1/0 0/0 0/0 .text CreateHeap__13daLv7BsGate_cFv */
|
||||
void daLv7BsGate_c::CreateHeap() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C8521C-80C85220 00000C 0004+00 1/1 0/0 0/0 .rodata @3722 */
|
||||
SECTION_RODATA static f32 const lit_3722 = -450.0f;
|
||||
COMPILER_STRIP_GATE(0x80C8521C, &lit_3722);
|
||||
|
||||
/* 80C84A4C-80C84BCC 00028C 0180+00 1/1 0/0 0/0 .text create__13daLv7BsGate_cFv */
|
||||
void daLv7BsGate_c::create() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C84BCC-80C84C1C 00040C 0050+00 1/0 0/0 0/0 .text Execute__13daLv7BsGate_cFPPA3_A4_f
|
||||
*/
|
||||
void daLv7BsGate_c::Execute(Mtx** param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C85360-80C8536C 000008 000C+00 1/1 0/0 0/0 .bss @3622 */
|
||||
static u8 lit_3622[12];
|
||||
|
||||
/* 80C8536C-80C8537C 000014 0010+00 3/3 0/0 0/0 .bss l_HIO */
|
||||
static u8 l_HIO[16];
|
||||
|
||||
/* 80C8537C-80C85380 000024 0004+00 1/1 0/0 0/0 .bss None */
|
||||
static u8 data_80C8537C[4];
|
||||
|
||||
/* 80C84C1C-80C84D24 00045C 0108+00 1/1 0/0 0/0 .text moveGate__13daLv7BsGate_cFv */
|
||||
void daLv7BsGate_c::moveGate() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C84D24-80C84D30 000564 000C+00 3/3 0/0 0/0 .text init_modeWait__13daLv7BsGate_cFv */
|
||||
void daLv7BsGate_c::init_modeWait() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C84D30-80C84D34 000570 0004+00 1/0 0/0 0/0 .text modeWait__13daLv7BsGate_cFv */
|
||||
void daLv7BsGate_c::modeWait() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80C84D34-80C84D40 000574 000C+00 1/1 0/0 0/0 .text init_modeOpen__13daLv7BsGate_cFv */
|
||||
void daLv7BsGate_c::init_modeOpen() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C85220-80C85224 000010 0004+00 0/2 0/0 0/0 .rodata @3796 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3796 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C85220, &lit_3796);
|
||||
#pragma pop
|
||||
|
||||
/* 80C85224-80C85228 000014 0004+00 0/2 0/0 0/0 .rodata @3797 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3797 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C85224, &lit_3797);
|
||||
#pragma pop
|
||||
|
||||
/* 80C85228-80C8522C 000018 0004+00 0/1 0/0 0/0 .rodata @3798 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3798 = 1.0f / 5.0f;
|
||||
COMPILER_STRIP_GATE(0x80C85228, &lit_3798);
|
||||
#pragma pop
|
||||
|
||||
/* 80C8522C-80C85230 00001C 0004+00 0/2 0/0 0/0 .rodata @3799 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3799 = 0.5f;
|
||||
COMPILER_STRIP_GATE(0x80C8522C, &lit_3799);
|
||||
#pragma pop
|
||||
|
||||
/* 80C84D40-80C84E94 000580 0154+00 1/0 0/0 0/0 .text modeOpen__13daLv7BsGate_cFv */
|
||||
void daLv7BsGate_c::modeOpen() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C84E94-80C84EA0 0006D4 000C+00 1/1 0/0 0/0 .text init_modeClose__13daLv7BsGate_cFv
|
||||
*/
|
||||
void daLv7BsGate_c::init_modeClose() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C85230-80C85234 000020 0004+00 0/1 0/0 0/0 .rodata @3833 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3833 = 2.0f / 5.0f;
|
||||
COMPILER_STRIP_GATE(0x80C85230, &lit_3833);
|
||||
#pragma pop
|
||||
|
||||
/* 80C84EA0-80C84FF4 0006E0 0154+00 1/0 0/0 0/0 .text modeClose__13daLv7BsGate_cFv */
|
||||
void daLv7BsGate_c::modeClose() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C84FF4-80C85098 000834 00A4+00 1/0 0/0 0/0 .text Draw__13daLv7BsGate_cFv */
|
||||
void daLv7BsGate_c::Draw() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C85098-80C850D8 0008D8 0040+00 1/0 0/0 0/0 .text Delete__13daLv7BsGate_cFv */
|
||||
void daLv7BsGate_c::Delete() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C850D8-80C85104 000918 002C+00 1/0 0/0 0/0 .text daLv7BsGate_Draw__FP13daLv7BsGate_c
|
||||
*/
|
||||
static void daLv7BsGate_Draw(daLv7BsGate_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C85104-80C85124 000944 0020+00 1/0 0/0 0/0 .text daLv7BsGate_Execute__FP13daLv7BsGate_c */
|
||||
static void daLv7BsGate_Execute(daLv7BsGate_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C85124-80C85144 000964 0020+00 1/0 0/0 0/0 .text daLv7BsGate_Delete__FP13daLv7BsGate_c */
|
||||
static void daLv7BsGate_Delete(daLv7BsGate_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C85144-80C85164 000984 0020+00 1/0 0/0 0/0 .text daLv7BsGate_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
static void daLv7BsGate_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C85164-80C851C0 0009A4 005C+00 2/1 0/0 0/0 .text __dt__17daLv7BsGate_HIO_cFv */
|
||||
daLv7BsGate_HIO_c::~daLv7BsGate_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C851C0-80C851FC 000A00 003C+00 0/0 1/0 0/0 .text __sinit_d_a_obj_lv7BsGate_cpp */
|
||||
void __sinit_d_a_obj_lv7BsGate_cpp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x80C851C0, __sinit_d_a_obj_lv7BsGate_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 80C85234-80C85234 000024 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -6,213 +6,318 @@
|
||||
#include "d/dolzel_rel.h" // IWYU pragma: keep
|
||||
|
||||
#include "d/actor/d_a_obj_lv7PropellerY.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
class daPropY_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
/* 80C8546C */ daPropY_HIO_c();
|
||||
/* 80C86084 */ virtual ~daPropY_HIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__13daPropY_HIO_cFv();
|
||||
extern "C" void __dt__14mDoHIO_entry_cFv();
|
||||
extern "C" void setBaseMtx__9daPropY_cFv();
|
||||
extern "C" void CreateHeap__9daPropY_cFv();
|
||||
extern "C" void create__9daPropY_cFv();
|
||||
extern "C" void Execute__9daPropY_cFPPA3_A4_f();
|
||||
extern "C" void procMain__9daPropY_cFv();
|
||||
extern "C" void init_modeMoveWait__9daPropY_cFv();
|
||||
extern "C" void modeMoveWait__9daPropY_cFv();
|
||||
extern "C" void init_modeMove__9daPropY_cFv();
|
||||
extern "C" void modeMove__9daPropY_cFv();
|
||||
extern "C" void init_modeWait__9daPropY_cFv();
|
||||
extern "C" void modeWait__9daPropY_cFv();
|
||||
extern "C" void init_modeMove2__9daPropY_cFv();
|
||||
extern "C" void modeMove2__9daPropY_cFv();
|
||||
extern "C" void init_modeStop__9daPropY_cFv();
|
||||
extern "C" void modeStop__9daPropY_cFv();
|
||||
extern "C" void Draw__9daPropY_cFv();
|
||||
extern "C" void Delete__9daPropY_cFv();
|
||||
extern "C" static void daPropY_Draw__FP9daPropY_c();
|
||||
extern "C" static void daPropY_Execute__FP9daPropY_c();
|
||||
extern "C" static void daPropY_Delete__FP9daPropY_c();
|
||||
extern "C" static void daPropY_Create__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__13daPropY_HIO_cFv();
|
||||
extern "C" void __sinit_d_a_obj_lv7PropellerY_cpp();
|
||||
extern "C" extern char const* const d_a_obj_lv7PropellerY__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 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 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 cLib_addCalcAngleS__FPsssss();
|
||||
extern "C" void cLib_chaseF__FPfff();
|
||||
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __ptmf_scall();
|
||||
extern "C" void __cvt_fp2unsigned();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_28();
|
||||
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:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C86130-80C86134 000000 0004+00 7/7 0/0 0/0 .rodata @3650 */
|
||||
SECTION_RODATA static u8 const lit_3650[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
/* 0x04 */ f32 rot_speed;
|
||||
/* 0x08 */ f32 rot_accel;
|
||||
/* 0x0C */ f32 field_0xc;
|
||||
/* 0x10 */ f32 max_rot_speed;
|
||||
/* 0x14 */ f32 rot_time_sec;
|
||||
/* 0x18 */ u8 wait_time;
|
||||
/* 0x1C */ f32 y_offset;
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C86130, &lit_3650);
|
||||
|
||||
/* 80C86134-80C86138 000004 0004+00 0/1 0/0 0/0 .rodata @3651 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3651 = 1.0f / 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80C86134, &lit_3651);
|
||||
#pragma pop
|
||||
|
||||
/* 80C86138-80C8613C 000008 0004+00 0/1 0/0 0/0 .rodata @3652 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u32 const lit_3652 = 0x3B449BA6;
|
||||
COMPILER_STRIP_GATE(0x80C86138, &lit_3652);
|
||||
#pragma pop
|
||||
|
||||
/* 80C8613C-80C86140 00000C 0004+00 0/4 0/0 0/0 .rodata @3653 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3653 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C8613C, &lit_3653);
|
||||
#pragma pop
|
||||
|
||||
/* 80C86140-80C86144 000010 0004+00 0/1 0/0 0/0 .rodata @3654 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3654 = 20.0f;
|
||||
COMPILER_STRIP_GATE(0x80C86140, &lit_3654);
|
||||
#pragma pop
|
||||
|
||||
/* 80C86160-80C86160 000030 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80C86160 = "stickwl00";
|
||||
SECTION_DEAD static char const* const stringBase_80C8616A = "stickwl01";
|
||||
#pragma pop
|
||||
|
||||
/* 80C86194-80C8619C -00001 0008+00 3/3 0/0 0/0 .data l_type */
|
||||
SECTION_DATA static void* l_type[2] = {
|
||||
(void*)&d_a_obj_lv7PropellerY__stringBase0,
|
||||
(void*)(((char*)&d_a_obj_lv7PropellerY__stringBase0) + 0xA),
|
||||
static char* l_type[2] = {
|
||||
"stickwl00",
|
||||
"stickwl01",
|
||||
};
|
||||
|
||||
/* 80C8619C-80C861A4 000028 0008+00 1/1 0/0 0/0 .data l_bmdIdx */
|
||||
SECTION_DATA static u8 l_bmdIdx[8] = {
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04,
|
||||
};
|
||||
static int l_bmdIdx[] = {4, 4};
|
||||
|
||||
/* 80C861A4-80C861AC 000030 0008+00 1/1 0/0 0/0 .data l_dzbIdx */
|
||||
SECTION_DATA static u8 l_dzbIdx[8] = {
|
||||
0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07,
|
||||
};
|
||||
static int l_dzbIdx[] = {7, 7};
|
||||
|
||||
/* 80C861AC-80C861B8 -00001 000C+00 0/1 0/0 0/0 .data @3788 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3788[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeMoveWait__9daPropY_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80C8546C-80C854C4 0000EC 0058+00 1/1 0/0 0/0 .text __ct__13daPropY_HIO_cFv */
|
||||
daPropY_HIO_c::daPropY_HIO_c() {
|
||||
rot_speed = 0.0f;
|
||||
rot_accel = 0.1f;
|
||||
field_0xc = 0.003f;
|
||||
max_rot_speed = 1.0f;
|
||||
rot_time_sec = 20.0f;
|
||||
wait_time = 30;
|
||||
y_offset = 0.0f;
|
||||
}
|
||||
|
||||
/* 80C861B8-80C861C4 -00001 000C+00 0/1 0/0 0/0 .data @3789 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3789[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeMove__9daPropY_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80C862CC-80C862EC 000014 0020+00 7/7 0/0 0/0 .bss l_HIO */
|
||||
static daPropY_HIO_c l_HIO;
|
||||
|
||||
/* 80C861C4-80C861D0 -00001 000C+00 0/1 0/0 0/0 .data @3790 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3790[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeWait__9daPropY_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80C8550C-80C855A4 00018C 0098+00 2/2 0/0 0/0 .text setBaseMtx__9daPropY_cFv */
|
||||
void daPropY_c::setBaseMtx() {
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y + l_HIO.y_offset, current.pos.z);
|
||||
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
|
||||
mpModel->setBaseScale(scale);
|
||||
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
/* 80C861D0-80C861DC -00001 000C+00 0/1 0/0 0/0 .data @3791 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3791[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeMove2__9daPropY_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80C855A4-80C85624 000224 0080+00 1/0 0/0 0/0 .text CreateHeap__9daPropY_cFv */
|
||||
int daPropY_c::CreateHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_type[mType], l_bmdIdx[mType]);
|
||||
JUT_ASSERT(184, modelData != NULL);
|
||||
|
||||
/* 80C861DC-80C861E8 -00001 000C+00 0/1 0/0 0/0 .data @3792 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3792[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeStop__9daPropY_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (mpModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 80C861E8-80C86224 000074 003C+00 0/1 0/0 0/0 .data mode_proc$3787 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 mode_proc[60] = {
|
||||
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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
#pragma pop
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C85624-80C85810 0002A4 01EC+00 1/1 0/0 0/0 .text create__9daPropY_cFv */
|
||||
int daPropY_c::create() {
|
||||
fopAcM_ct(this, daPropY_c);
|
||||
|
||||
mType = getType();
|
||||
|
||||
int phase_state = dComIfG_resLoad(&mPhase, l_type[mType]);
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
if (MoveBGCreate(l_type[mType], l_dzbIdx[mType], dBgS_MoveBGProc_TypicalRotY, 0x2A40, NULL) == cPhs_ERROR_e) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
|
||||
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
|
||||
setBaseMtx();
|
||||
|
||||
mSwbit = getSw();
|
||||
mTurnType = getTurnType();
|
||||
mTurnVec = getTurnVec();
|
||||
if (mTurnVec > 1) {
|
||||
mTurnVec = 0;
|
||||
}
|
||||
|
||||
if (mTurnVec == 0) {
|
||||
field_0x5b2 = -1;
|
||||
field_0x5b6 = -0x8000;
|
||||
} else {
|
||||
field_0x5b2 = 1;
|
||||
field_0x5b6 = 0;
|
||||
}
|
||||
|
||||
if (mSwbit == 0xFF) {
|
||||
if (mTurnType == 0) {
|
||||
init_modeMove();
|
||||
} else {
|
||||
init_modeWait();
|
||||
}
|
||||
} else {
|
||||
mIsSwitch = fopAcM_isSwitch(this, mSwbit);
|
||||
if (mIsSwitch) {
|
||||
if (mTurnType == 0) {
|
||||
init_modeMove();
|
||||
} else {
|
||||
init_modeWait();
|
||||
}
|
||||
} else {
|
||||
init_modeMoveWait();
|
||||
}
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
l_HIO.entryHIO("プロペラ横");
|
||||
#endif
|
||||
}
|
||||
|
||||
return phase_state;
|
||||
}
|
||||
|
||||
/* 80C85810-80C85860 000490 0050+00 1/0 0/0 0/0 .text Execute__9daPropY_cFPPA3_A4_f */
|
||||
int daPropY_c::Execute(Mtx** param_0) {
|
||||
procMain();
|
||||
*param_0 = &mpModel->getBaseTRMtx();
|
||||
setBaseMtx();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C85860-80C859B4 0004E0 0154+00 1/1 0/0 0/0 .text procMain__9daPropY_cFv */
|
||||
void daPropY_c::procMain() {
|
||||
static void (daPropY_c::*mode_proc[])() = {
|
||||
&daPropY_c::modeMoveWait,
|
||||
&daPropY_c::modeMove,
|
||||
&daPropY_c::modeWait,
|
||||
&daPropY_c::modeMove2,
|
||||
&daPropY_c::modeStop,
|
||||
};
|
||||
|
||||
if (mSwbit != 0xFF) {
|
||||
u8 prev_switch = mIsSwitch;
|
||||
mIsSwitch = fopAcM_isSwitch(this, mSwbit);
|
||||
if (mIsSwitch != prev_switch) {
|
||||
if (mIsSwitch) {
|
||||
if (mTurnType == 0) {
|
||||
init_modeMove();
|
||||
} else {
|
||||
init_modeMove2();
|
||||
}
|
||||
} else {
|
||||
init_modeStop();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
(this->*mode_proc[mMode])();
|
||||
}
|
||||
|
||||
/* 80C859B4-80C859C0 000634 000C+00 2/2 0/0 0/0 .text init_modeMoveWait__9daPropY_cFv */
|
||||
void daPropY_c::init_modeMoveWait() {
|
||||
mMode = 0;
|
||||
}
|
||||
|
||||
/* 80C859C0-80C859C4 000640 0004+00 1/0 0/0 0/0 .text modeMoveWait__9daPropY_cFv */
|
||||
void daPropY_c::modeMoveWait() {}
|
||||
|
||||
/* 80C859C4-80C859E0 000644 001C+00 2/2 0/0 0/0 .text init_modeMove__9daPropY_cFv */
|
||||
void daPropY_c::init_modeMove() {
|
||||
fopAcM_SetSpeedF(this, 0.0f);
|
||||
field_0x5c4 = 0.0f;
|
||||
mMode = 1;
|
||||
}
|
||||
|
||||
/* 80C859E0-80C85B08 000660 0128+00 1/0 0/0 0/0 .text modeMove__9daPropY_cFv */
|
||||
void daPropY_c::modeMove() {
|
||||
cLib_chaseF(&speedF, 360.0f / (30.0f * l_HIO.rot_time_sec), l_HIO.field_0xc);
|
||||
field_0x5b4 = cM_deg2s(speedF);
|
||||
field_0x5c4 = 127.0f * (speedF / (360.0f / (30.0f * l_HIO.rot_time_sec)));
|
||||
mDoAud_seStartLevel(Z2SE_OBJ_AMI_ROLL, ¤t.pos, field_0x5c4, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
|
||||
if (l_HIO.rot_time_sec != 0.0f) {
|
||||
shape_angle.y += (field_0x5b4 * field_0x5b2);
|
||||
}
|
||||
}
|
||||
|
||||
/* 80C85B08-80C85B24 000788 001C+00 2/2 0/0 0/0 .text init_modeWait__9daPropY_cFv */
|
||||
void daPropY_c::init_modeWait() {
|
||||
mTimer = l_HIO.wait_time;
|
||||
mMode = 2;
|
||||
}
|
||||
|
||||
/* 80C85B24-80C85B5C 0007A4 0038+00 1/0 0/0 0/0 .text modeWait__9daPropY_cFv */
|
||||
void daPropY_c::modeWait() {
|
||||
if (mTimer == 0) {
|
||||
init_modeMove2();
|
||||
} else {
|
||||
mTimer--;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80C85B5C-80C85B84 0007DC 0028+00 2/2 0/0 0/0 .text init_modeMove2__9daPropY_cFv */
|
||||
void daPropY_c::init_modeMove2() {
|
||||
fopAcM_SetSpeedF(this, l_HIO.rot_speed);
|
||||
field_0x5c4 = 0.0f;
|
||||
mMode = 3;
|
||||
}
|
||||
|
||||
/* 80C85B84-80C85CAC 000804 0128+00 1/0 0/0 0/0 .text modeMove2__9daPropY_cFv */
|
||||
void daPropY_c::modeMove2() {
|
||||
cLib_chaseF(&speedF, l_HIO.max_rot_speed, l_HIO.rot_accel);
|
||||
s16 temp_r30 = cLib_addCalcAngleS(&shape_angle.y, field_0x5b6, 1, (182.04445f * fopAcM_GetSpeedF(this)), 1);
|
||||
field_0x5c4 = 127.0f * (speedF / l_HIO.max_rot_speed);
|
||||
mDoAud_seStartLevel(Z2SE_OBJ_AMI_ROLL, ¤t.pos, field_0x5c4, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
|
||||
if (temp_r30 == 0) {
|
||||
if (mTurnVec == 0) {
|
||||
field_0x5b6 -= 0x8000;
|
||||
} else {
|
||||
field_0x5b6 += 0x7FFF;
|
||||
}
|
||||
init_modeWait();
|
||||
}
|
||||
}
|
||||
|
||||
/* 80C85CAC-80C85DD0 00092C 0124+00 1/1 0/0 0/0 .text init_modeStop__9daPropY_cFv */
|
||||
void daPropY_c::init_modeStop() {
|
||||
if (mTurnType == 0) {
|
||||
fopAcM_SetSpeedF(this, cM_deg2s(360.0f / (30.0f * l_HIO.rot_time_sec)));
|
||||
}
|
||||
|
||||
if (mTurnVec == 0) {
|
||||
if (shape_angle.y <= 0) {
|
||||
field_0x5b6 = home.angle.y - 0x8000;
|
||||
} else {
|
||||
field_0x5b6 = home.angle.y;
|
||||
}
|
||||
} else if (shape_angle.y >= 0) {
|
||||
field_0x5b6 = home.angle.y + 0x7FFF;
|
||||
} else {
|
||||
field_0x5b6 = home.angle.y;
|
||||
}
|
||||
|
||||
field_0x5bc = std::fabs((f32)shape_angle.y - (f32)field_0x5b6);
|
||||
field_0x5c0 = field_0x5c4;
|
||||
mMode = 4;
|
||||
}
|
||||
|
||||
/* 80C85DD0-80C85F14 000A50 0144+00 1/0 0/0 0/0 .text modeStop__9daPropY_cFv */
|
||||
// NONMATCHING - fsubs instead of fsub
|
||||
void daPropY_c::modeStop() {
|
||||
s16 var_r30;
|
||||
if (mTurnType == 0) {
|
||||
var_r30 = cLib_addCalcAngleS(&shape_angle.y, field_0x5b6, 16, fopAcM_GetSpeedF(this), cM_deg2s(0.1f));
|
||||
} else {
|
||||
var_r30 = cLib_addCalcAngleS(&shape_angle.y, field_0x5b6, 1, (182.04445f * fopAcM_GetSpeedF(this)), 1);
|
||||
}
|
||||
|
||||
field_0x5c4 = field_0x5c0 * (std::fabs((f32)var_r30) / field_0x5bc);
|
||||
mDoAud_seStartLevel(Z2SE_OBJ_AMI_ROLL, ¤t.pos, field_0x5c4, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
|
||||
if (var_r30 == 0) {
|
||||
init_modeMoveWait();
|
||||
}
|
||||
}
|
||||
|
||||
/* 80C85F14-80C85FB8 000B94 00A4+00 1/0 0/0 0/0 .text Draw__9daPropY_cFv */
|
||||
int daPropY_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;
|
||||
}
|
||||
|
||||
/* 80C85FB8-80C85FF8 000C38 0040+00 1/0 0/0 0/0 .text Delete__9daPropY_cFv */
|
||||
int daPropY_c::Delete() {
|
||||
dComIfG_resDelete(&mPhase, l_type[mType]);
|
||||
#if DEBUG
|
||||
l_HIO.removeHIO();
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C85FF8-80C86024 000C78 002C+00 1/0 0/0 0/0 .text daPropY_Draw__FP9daPropY_c */
|
||||
static int daPropY_Draw(daPropY_c* i_this) {
|
||||
return i_this->MoveBGDraw();
|
||||
}
|
||||
|
||||
/* 80C86024-80C86044 000CA4 0020+00 1/0 0/0 0/0 .text daPropY_Execute__FP9daPropY_c */
|
||||
static int daPropY_Execute(daPropY_c* i_this) {
|
||||
return i_this->MoveBGExecute();
|
||||
}
|
||||
|
||||
/* 80C86044-80C86064 000CC4 0020+00 1/0 0/0 0/0 .text daPropY_Delete__FP9daPropY_c */
|
||||
static int daPropY_Delete(daPropY_c* i_this) {
|
||||
return i_this->MoveBGDelete();
|
||||
}
|
||||
|
||||
/* 80C86064-80C86084 000CE4 0020+00 1/0 0/0 0/0 .text daPropY_Create__FP10fopAc_ac_c */
|
||||
static int daPropY_Create(fopAc_ac_c* i_this) {
|
||||
return ((daPropY_c*)i_this)->create();
|
||||
}
|
||||
|
||||
/* 80C86224-80C86244 -00001 0020+00 1/0 0/0 0/0 .data l_daPropY_Method */
|
||||
static actor_method_class l_daPropY_Method = {
|
||||
(process_method_func)daPropY_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daPropY_Delete__FP9daPropY_c,
|
||||
(process_method_func)daPropY_Execute__FP9daPropY_c,
|
||||
0,
|
||||
(process_method_func)daPropY_Draw__FP9daPropY_c,
|
||||
(process_method_func)daPropY_Create,
|
||||
(process_method_func)daPropY_Delete,
|
||||
(process_method_func)daPropY_Execute,
|
||||
NULL,
|
||||
(process_method_func)daPropY_Draw,
|
||||
};
|
||||
|
||||
/* 80C86244-80C86274 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Lv7PropY */
|
||||
@@ -232,222 +337,3 @@ extern actor_process_profile_definition g_profile_Obj_Lv7PropY = {
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80C86274-80C8629C 000100 0028+00 1/1 0/0 0/0 .data __vt__9daPropY_c */
|
||||
SECTION_DATA extern void* __vt__9daPropY_c[10] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)CreateHeap__9daPropY_cFv,
|
||||
(void*)Create__16dBgS_MoveBgActorFv,
|
||||
(void*)Execute__9daPropY_cFPPA3_A4_f,
|
||||
(void*)Draw__9daPropY_cFv,
|
||||
(void*)Delete__9daPropY_cFv,
|
||||
(void*)IsDelete__16dBgS_MoveBgActorFv,
|
||||
(void*)ToFore__16dBgS_MoveBgActorFv,
|
||||
(void*)ToBack__16dBgS_MoveBgActorFv,
|
||||
};
|
||||
|
||||
/* 80C8629C-80C862A8 000128 000C+00 2/2 0/0 0/0 .data __vt__13daPropY_HIO_c */
|
||||
SECTION_DATA extern void* __vt__13daPropY_HIO_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__13daPropY_HIO_cFv,
|
||||
};
|
||||
|
||||
/* 80C862A8-80C862B4 000134 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,
|
||||
};
|
||||
|
||||
/* 80C8546C-80C854C4 0000EC 0058+00 1/1 0/0 0/0 .text __ct__13daPropY_HIO_cFv */
|
||||
daPropY_HIO_c::daPropY_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C854C4-80C8550C 000144 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
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C862C0-80C862CC 000008 000C+00 1/1 0/0 0/0 .bss @3644 */
|
||||
static u8 lit_3644[12];
|
||||
|
||||
/* 80C862CC-80C862EC 000014 0020+00 7/7 0/0 0/0 .bss l_HIO */
|
||||
static u8 l_HIO[32];
|
||||
|
||||
/* 80C8550C-80C855A4 00018C 0098+00 2/2 0/0 0/0 .text setBaseMtx__9daPropY_cFv */
|
||||
void daPropY_c::setBaseMtx() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C855A4-80C85624 000224 0080+00 1/0 0/0 0/0 .text CreateHeap__9daPropY_cFv */
|
||||
void daPropY_c::CreateHeap() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C85624-80C85810 0002A4 01EC+00 1/1 0/0 0/0 .text create__9daPropY_cFv */
|
||||
void daPropY_c::create() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C85810-80C85860 000490 0050+00 1/0 0/0 0/0 .text Execute__9daPropY_cFPPA3_A4_f */
|
||||
void daPropY_c::Execute(Mtx** param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C862EC-80C862F0 000034 0004+00 1/1 0/0 0/0 .bss None */
|
||||
static u8 data_80C862EC[4];
|
||||
|
||||
/* 80C85860-80C859B4 0004E0 0154+00 1/1 0/0 0/0 .text procMain__9daPropY_cFv */
|
||||
void daPropY_c::procMain() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C859B4-80C859C0 000634 000C+00 2/2 0/0 0/0 .text init_modeMoveWait__9daPropY_cFv */
|
||||
void daPropY_c::init_modeMoveWait() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C859C0-80C859C4 000640 0004+00 1/0 0/0 0/0 .text modeMoveWait__9daPropY_cFv */
|
||||
void daPropY_c::modeMoveWait() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80C859C4-80C859E0 000644 001C+00 2/2 0/0 0/0 .text init_modeMove__9daPropY_cFv */
|
||||
void daPropY_c::init_modeMove() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C86144-80C86148 000014 0004+00 0/2 0/0 0/0 .rodata @3845 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3845 = 360.0f;
|
||||
COMPILER_STRIP_GATE(0x80C86144, &lit_3845);
|
||||
#pragma pop
|
||||
|
||||
/* 80C86148-80C8614C 000018 0004+00 0/2 0/0 0/0 .rodata @3846 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3846 = 30.0f;
|
||||
COMPILER_STRIP_GATE(0x80C86148, &lit_3846);
|
||||
#pragma pop
|
||||
|
||||
/* 80C8614C-80C86150 00001C 0004+00 0/4 0/0 0/0 .rodata @3847 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u32 const lit_3847 = 0x43360B61;
|
||||
COMPILER_STRIP_GATE(0x80C8614C, &lit_3847);
|
||||
#pragma pop
|
||||
|
||||
/* 80C86150-80C86154 000020 0004+00 0/2 0/0 0/0 .rodata @3848 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3848 = 127.0f;
|
||||
COMPILER_STRIP_GATE(0x80C86150, &lit_3848);
|
||||
#pragma pop
|
||||
|
||||
/* 80C86154-80C86158 000024 0004+00 0/3 0/0 0/0 .rodata @3849 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3849 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C86154, &lit_3849);
|
||||
#pragma pop
|
||||
|
||||
/* 80C859E0-80C85B08 000660 0128+00 1/0 0/0 0/0 .text modeMove__9daPropY_cFv */
|
||||
void daPropY_c::modeMove() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C85B08-80C85B24 000788 001C+00 2/2 0/0 0/0 .text init_modeWait__9daPropY_cFv */
|
||||
void daPropY_c::init_modeWait() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C85B24-80C85B5C 0007A4 0038+00 1/0 0/0 0/0 .text modeWait__9daPropY_cFv */
|
||||
void daPropY_c::modeWait() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C85B5C-80C85B84 0007DC 0028+00 2/2 0/0 0/0 .text init_modeMove2__9daPropY_cFv */
|
||||
void daPropY_c::init_modeMove2() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C85B84-80C85CAC 000804 0128+00 1/0 0/0 0/0 .text modeMove2__9daPropY_cFv */
|
||||
void daPropY_c::modeMove2() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C86158-80C86160 000028 0008+00 0/2 0/0 0/0 .rodata @3913 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3913[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C86158, &lit_3913);
|
||||
#pragma pop
|
||||
|
||||
/* 80C85CAC-80C85DD0 00092C 0124+00 1/1 0/0 0/0 .text init_modeStop__9daPropY_cFv */
|
||||
void daPropY_c::init_modeStop() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C85DD0-80C85F14 000A50 0144+00 1/0 0/0 0/0 .text modeStop__9daPropY_cFv */
|
||||
void daPropY_c::modeStop() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C85F14-80C85FB8 000B94 00A4+00 1/0 0/0 0/0 .text Draw__9daPropY_cFv */
|
||||
void daPropY_c::Draw() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C85FB8-80C85FF8 000C38 0040+00 1/0 0/0 0/0 .text Delete__9daPropY_cFv */
|
||||
void daPropY_c::Delete() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C85FF8-80C86024 000C78 002C+00 1/0 0/0 0/0 .text daPropY_Draw__FP9daPropY_c */
|
||||
static void daPropY_Draw(daPropY_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C86024-80C86044 000CA4 0020+00 1/0 0/0 0/0 .text daPropY_Execute__FP9daPropY_c */
|
||||
static void daPropY_Execute(daPropY_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C86044-80C86064 000CC4 0020+00 1/0 0/0 0/0 .text daPropY_Delete__FP9daPropY_c */
|
||||
static void daPropY_Delete(daPropY_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C86064-80C86084 000CE4 0020+00 1/0 0/0 0/0 .text daPropY_Create__FP10fopAc_ac_c */
|
||||
static void daPropY_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C86084-80C860E0 000D04 005C+00 2/1 0/0 0/0 .text __dt__13daPropY_HIO_cFv */
|
||||
daPropY_HIO_c::~daPropY_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C860E0-80C8611C 000D60 003C+00 0/0 1/0 0/0 .text __sinit_d_a_obj_lv7PropellerY_cpp
|
||||
*/
|
||||
void __sinit_d_a_obj_lv7PropellerY_cpp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x80C860E0, __sinit_d_a_obj_lv7PropellerY_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 80C86160-80C86160 000030 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
+295
-412
@@ -6,175 +6,318 @@
|
||||
#include "d/dolzel_rel.h" // IWYU pragma: keep
|
||||
|
||||
#include "d/actor/d_a_obj_lv8UdFloor.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
class daUdFloor_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
/* 80C8BD0C */ daUdFloor_HIO_c();
|
||||
/* 80C8CB44 */ virtual ~daUdFloor_HIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__15daUdFloor_HIO_cFv();
|
||||
extern "C" void __dt__14mDoHIO_entry_cFv();
|
||||
extern "C" void setBaseMtx__11daUdFloor_cFv();
|
||||
extern "C" void CreateHeap__11daUdFloor_cFv();
|
||||
extern "C" void create__11daUdFloor_cFv();
|
||||
extern "C" void Execute__11daUdFloor_cFPPA3_A4_f();
|
||||
extern "C" void moveLift__11daUdFloor_cFv();
|
||||
extern "C" void init_modeWait__11daUdFloor_cFv();
|
||||
extern "C" void modeWait__11daUdFloor_cFv();
|
||||
extern "C" void init_modeUpMoveInit__11daUdFloor_cFv();
|
||||
extern "C" void modeUpMoveInit__11daUdFloor_cFv();
|
||||
extern "C" void colorAnm__11daUdFloor_cFi();
|
||||
extern "C" void init_modeUpMove__11daUdFloor_cFv();
|
||||
extern "C" void modeUpMove__11daUdFloor_cFv();
|
||||
extern "C" void init_modeDownMoveInit__11daUdFloor_cFv();
|
||||
extern "C" void modeDownMoveInit__11daUdFloor_cFv();
|
||||
extern "C" void init_modeDownMove__11daUdFloor_cFv();
|
||||
extern "C" void modeDownMove__11daUdFloor_cFv();
|
||||
extern "C" void Draw__11daUdFloor_cFv();
|
||||
extern "C" void Delete__11daUdFloor_cFv();
|
||||
extern "C" static void daUdFloor_Draw__FP11daUdFloor_c();
|
||||
extern "C" static void daUdFloor_Execute__FP11daUdFloor_c();
|
||||
extern "C" static void daUdFloor_Delete__FP11daUdFloor_c();
|
||||
extern "C" static void daUdFloor_Create__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__15daUdFloor_HIO_cFv();
|
||||
extern "C" void __sinit_d_a_obj_lv8UdFloor_cpp();
|
||||
extern "C" extern char const* const d_a_obj_lv8UdFloor__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
|
||||
extern "C" void transM__14mDoMtx_stack_cFfff();
|
||||
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 StartShock__12dVibration_cFii4cXyz();
|
||||
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 cLib_addCalc__FPfffff();
|
||||
extern "C" void cLib_chaseF__FPfff();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void __dl__FPv();
|
||||
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:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C8CBF0-80C8CBF4 000000 0004+00 5/5 0/0 0/0 .rodata @3628 */
|
||||
SECTION_RODATA static u8 const lit_3628[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x08 */ f32 init_speed;
|
||||
/* 0x0C */ u8 vibration;
|
||||
/* 0x0D */ u8 down_color_R;
|
||||
/* 0x0E */ u8 down_color_G;
|
||||
/* 0x0F */ u8 down_color_B;
|
||||
/* 0x10 */ u8 down_framecount;
|
||||
/* 0x11 */ u8 up_color_R;
|
||||
/* 0x12 */ u8 up_color_G;
|
||||
/* 0x13 */ u8 up_color_B;
|
||||
/* 0x14 */ u8 up_framecount;
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C8CBF0, &lit_3628);
|
||||
|
||||
/* 80C8CC34-80C8CC34 000044 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80C8CC34 = "L8Step";
|
||||
SECTION_DEAD static char const* const stringBase_80C8CC3B = "L8StepX";
|
||||
#pragma pop
|
||||
|
||||
/* 80C8CC64-80C8CC6C -00001 0008+00 3/3 0/0 0/0 .data l_resNameIdx */
|
||||
SECTION_DATA static void* l_resNameIdx[2] = {
|
||||
(void*)&d_a_obj_lv8UdFloor__stringBase0,
|
||||
(void*)(((char*)&d_a_obj_lv8UdFloor__stringBase0) + 0x7),
|
||||
static char* l_resNameIdx[2] = {
|
||||
"L8Step",
|
||||
"L8StepX",
|
||||
};
|
||||
|
||||
/* 80C8CC6C-80C8CC78 -00001 000C+00 0/1 0/0 0/0 .data @3736 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3736[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeWait__11daUdFloor_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80C8BD0C-80C8BD80 0000EC 0074+00 1/1 0/0 0/0 .text __ct__15daUdFloor_HIO_cFv */
|
||||
daUdFloor_HIO_c::daUdFloor_HIO_c() {
|
||||
field_0x4 = 60;
|
||||
init_speed = 0.0f;
|
||||
vibration = 4;
|
||||
|
||||
/* 80C8CC78-80C8CC84 -00001 000C+00 0/1 0/0 0/0 .data @3737 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3737[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeUpMoveInit__11daUdFloor_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
down_color_R = 7;
|
||||
down_color_G = 14;
|
||||
down_color_B = 16;
|
||||
down_framecount = 10;
|
||||
|
||||
/* 80C8CC84-80C8CC90 -00001 000C+00 0/1 0/0 0/0 .data @3738 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3738[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeUpMove__11daUdFloor_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
up_color_R = 0;
|
||||
up_color_G = 255;
|
||||
up_color_B = 255;
|
||||
up_framecount = 15;
|
||||
}
|
||||
|
||||
/* 80C8CC90-80C8CC9C -00001 000C+00 0/1 0/0 0/0 .data @3739 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3739[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeDownMoveInit__11daUdFloor_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80C8BDC8-80C8BE64 0001A8 009C+00 2/2 0/0 0/0 .text setBaseMtx__11daUdFloor_cFv */
|
||||
void daUdFloor_c::setBaseMtx() {
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::ZXYrotM(0, current.angle.y, 0);
|
||||
mDoMtx_stack_c::transM(0.0f, field_0x5c0, 0.0f);
|
||||
mpModel->setBaseScale(scale);
|
||||
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
/* 80C8CC9C-80C8CCA8 -00001 000C+00 0/1 0/0 0/0 .data @3740 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3740[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeDownMove__11daUdFloor_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80C8CBF4-80C8CBFC 000004 0008+00 1/1 0/0 0/0 .rodata l_bmdIdx */
|
||||
static const int l_bmdIdx[] = {4, 4};
|
||||
|
||||
/* 80C8CCA8-80C8CCE4 000064 003C+00 0/1 0/0 0/0 .data mode_proc$3735 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 mode_proc[60] = {
|
||||
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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80C8BE64-80C8BEE4 000244 0080+00 1/0 0/0 0/0 .text CreateHeap__11daUdFloor_cFv */
|
||||
int daUdFloor_c::CreateHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_resNameIdx[mModelType], l_bmdIdx[mModelType]);
|
||||
JUT_ASSERT(231, modelData != NULL);
|
||||
|
||||
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (mpModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C8CBFC-80C8CC04 00000C 0008+00 0/1 0/0 0/0 .rodata l_dzbIdx */
|
||||
static const int l_dzbIdx[] = {7, 7};
|
||||
|
||||
/* 80C8CC04-80C8CC0C 000014 0008+00 0/1 0/0 0/0 .rodata l_heap_size */
|
||||
static const u32 l_heap_size[] = {0x1200, 0x1400};
|
||||
|
||||
/* 80C8CD8C-80C8CDA4 000014 0018+00 7/7 0/0 0/0 .bss l_HIO */
|
||||
static daUdFloor_HIO_c l_HIO;
|
||||
|
||||
/* 80C8BEE4-80C8C0DC 0002C4 01F8+00 1/1 0/0 0/0 .text create__11daUdFloor_cFv */
|
||||
int daUdFloor_c::create() {
|
||||
fopAcM_ct(this, daUdFloor_c);
|
||||
|
||||
mModelType = getModelType();
|
||||
|
||||
int phase_state = dComIfG_resLoad(&mPhase, l_resNameIdx[mModelType]);
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
if (MoveBGCreate(l_resNameIdx[mModelType], l_dzbIdx[mModelType], dBgS_MoveBGProc_TypicalRotY, l_heap_size[mModelType], NULL) == cPhs_ERROR_e) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
|
||||
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
|
||||
|
||||
s8 move_height = getMoveHeight();
|
||||
field_0x5b0 = 50.0f * move_height;
|
||||
|
||||
u8 move_speed = getMoveSpeed();
|
||||
field_0x5b4 = field_0x5b0 / move_speed;
|
||||
|
||||
mTimer = getTimer();
|
||||
mIsSwitch = fopAcM_isSwitch(this, getSw());
|
||||
|
||||
if (mIsSwitch) {
|
||||
field_0x5c0 = field_0x5b0;
|
||||
mColorR = l_HIO.up_color_R;
|
||||
mColorG = l_HIO.up_color_G;
|
||||
mColorB = l_HIO.up_color_B;
|
||||
} else {
|
||||
field_0x5c0 = 0.0f;
|
||||
mColorR = l_HIO.down_color_R;
|
||||
mColorG = l_HIO.down_color_G;
|
||||
mColorB = l_HIO.down_color_B;
|
||||
}
|
||||
|
||||
init_modeWait();
|
||||
setBaseMtx();
|
||||
|
||||
#if DEBUG
|
||||
l_HIO.entryHIO("上下床(Lv8)");
|
||||
#endif
|
||||
}
|
||||
|
||||
return phase_state;
|
||||
}
|
||||
|
||||
/* 80C8C0DC-80C8C12C 0004BC 0050+00 1/0 0/0 0/0 .text Execute__11daUdFloor_cFPPA3_A4_f */
|
||||
int daUdFloor_c::Execute(Mtx** param_0) {
|
||||
moveLift();
|
||||
*param_0 = &mpModel->getBaseTRMtx();
|
||||
setBaseMtx();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C8C12C-80C8C264 00050C 0138+00 1/1 0/0 0/0 .text moveLift__11daUdFloor_cFv */
|
||||
void daUdFloor_c::moveLift() {
|
||||
static void (daUdFloor_c::*mode_proc[])() = {
|
||||
&daUdFloor_c::modeWait,
|
||||
&daUdFloor_c::modeUpMoveInit,
|
||||
&daUdFloor_c::modeUpMove,
|
||||
&daUdFloor_c::modeDownMoveInit,
|
||||
&daUdFloor_c::modeDownMove,
|
||||
};
|
||||
|
||||
u8 prev_switch = mIsSwitch;
|
||||
mIsSwitch = fopAcM_isSwitch(this, getSw());
|
||||
if (prev_switch != mIsSwitch) {
|
||||
if (mIsSwitch) {
|
||||
init_modeUpMoveInit();
|
||||
} else {
|
||||
init_modeDownMoveInit();
|
||||
}
|
||||
}
|
||||
|
||||
(this->*mode_proc[mMode])();
|
||||
}
|
||||
|
||||
/* 80C8C264-80C8C270 000644 000C+00 3/3 0/0 0/0 .text init_modeWait__11daUdFloor_cFv */
|
||||
void daUdFloor_c::init_modeWait() {
|
||||
mMode = 0;
|
||||
}
|
||||
|
||||
/* 80C8C270-80C8C274 000650 0004+00 1/0 0/0 0/0 .text modeWait__11daUdFloor_cFv */
|
||||
void daUdFloor_c::modeWait() {}
|
||||
|
||||
/* 80C8C274-80C8C310 000654 009C+00 1/1 0/0 0/0 .text init_modeUpMoveInit__11daUdFloor_cFv */
|
||||
void daUdFloor_c::init_modeUpMoveInit() {
|
||||
field_0x5c4 = 0;
|
||||
field_0x5c5 = l_HIO.up_framecount;
|
||||
mDoAud_seStart(Z2SE_OBJ_L8_STAIR_ON, &home.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
mMode = 1;
|
||||
}
|
||||
|
||||
/* 80C8C310-80C8C354 0006F0 0044+00 1/0 0/0 0/0 .text modeUpMoveInit__11daUdFloor_cFv */
|
||||
void daUdFloor_c::modeUpMoveInit() {
|
||||
if (colorAnm(1) == TRUE) {
|
||||
init_modeUpMove();
|
||||
}
|
||||
}
|
||||
|
||||
/* 80C8C354-80C8C5E4 000734 0290+00 2/2 0/0 0/0 .text colorAnm__11daUdFloor_cFi */
|
||||
u8 daUdFloor_c::colorAnm(BOOL param_0) {
|
||||
u8 rt = FALSE;
|
||||
|
||||
f32 temp_f31 = field_0x5c4 / (field_0x5c5 - 1.0f);
|
||||
if (param_0) {
|
||||
mColorR = l_HIO.down_color_R + (temp_f31 * ((f32)l_HIO.up_color_R - (f32)l_HIO.down_color_R));
|
||||
mColorG = l_HIO.down_color_G + (temp_f31 * ((f32)l_HIO.up_color_G - (f32)l_HIO.down_color_G));
|
||||
mColorB = l_HIO.down_color_B + (temp_f31 * ((f32)l_HIO.up_color_B - (f32)l_HIO.down_color_B));
|
||||
} else {
|
||||
mColorR = l_HIO.up_color_R - (temp_f31 * ((f32)l_HIO.up_color_R - (f32)l_HIO.down_color_R));
|
||||
mColorG = l_HIO.up_color_G - (temp_f31 * ((f32)l_HIO.up_color_G - (f32)l_HIO.down_color_G));
|
||||
mColorB = l_HIO.up_color_B - (temp_f31 * ((f32)l_HIO.up_color_B - (f32)l_HIO.down_color_B));
|
||||
}
|
||||
|
||||
field_0x5c4++;
|
||||
if (field_0x5c4 > field_0x5c5 - 1) {
|
||||
rt = TRUE;
|
||||
}
|
||||
|
||||
return rt;
|
||||
}
|
||||
|
||||
/* 80C8C5E4-80C8C68C 0009C4 00A8+00 1/1 0/0 0/0 .text init_modeUpMove__11daUdFloor_cFv */
|
||||
void daUdFloor_c::init_modeUpMove() {
|
||||
fopAcM_SetSpeedF(this, l_HIO.init_speed);
|
||||
field_0x5ba = mTimer;
|
||||
if (field_0x5ba == 0) {
|
||||
mDoAud_seStart(Z2SE_OBJ_L8_STAIR_MV_UP, &home.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
}
|
||||
mMode = 2;
|
||||
}
|
||||
|
||||
/* 80C8C68C-80C8C7F8 000A6C 016C+00 1/0 0/0 0/0 .text modeUpMove__11daUdFloor_cFv */
|
||||
void daUdFloor_c::modeUpMove() {
|
||||
if (field_0x5ba != 0) {
|
||||
field_0x5ba--;
|
||||
if (field_0x5ba == 0) {
|
||||
mDoAud_seStart(Z2SE_OBJ_L8_STAIR_MV_UP, &home.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
}
|
||||
} else {
|
||||
cLib_chaseF(&speedF, field_0x5b4, field_0x5b4 / 30.0f);
|
||||
if (cLib_addCalc(&field_0x5c0, field_0x5b0, 1.0f, fopAcM_GetSpeedF(this), 0.1f) == 0.0f) {
|
||||
mDoAud_seStart(Z2SE_OBJ_L8_STAIR_ST_UP, &home.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
dComIfGp_getVibration().StartShock(l_HIO.vibration, 0xF, cXyz(0.0f, 1.0f, 0.0f));
|
||||
init_modeWait();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 80C8C7F8-80C8C81C 000BD8 0024+00 1/1 0/0 0/0 .text init_modeDownMoveInit__11daUdFloor_cFv */
|
||||
void daUdFloor_c::init_modeDownMoveInit() {
|
||||
field_0x5c4 = 0;
|
||||
field_0x5c5 = l_HIO.down_framecount;
|
||||
mMode = 3;
|
||||
}
|
||||
|
||||
/* 80C8C81C-80C8C860 000BFC 0044+00 1/0 0/0 0/0 .text modeDownMoveInit__11daUdFloor_cFv
|
||||
*/
|
||||
void daUdFloor_c::modeDownMoveInit() {
|
||||
if (colorAnm(0) == TRUE) {
|
||||
init_modeDownMove();
|
||||
}
|
||||
}
|
||||
|
||||
/* 80C8C860-80C8C8E4 000C40 0084+00 1/1 0/0 0/0 .text init_modeDownMove__11daUdFloor_cFv
|
||||
*/
|
||||
void daUdFloor_c::init_modeDownMove() {
|
||||
mDoAud_seStart(Z2SE_OBJ_L8_STAIR_MV_DW, &home.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
mMode = 4;
|
||||
}
|
||||
|
||||
/* 80C8C8E4-80C8C994 000CC4 00B0+00 1/0 0/0 0/0 .text modeDownMove__11daUdFloor_cFv */
|
||||
void daUdFloor_c::modeDownMove() {
|
||||
if (cLib_addCalc(&field_0x5c0, 0.0f, 0.3f, field_0x5b4, 0.1f) == 0.0f) {
|
||||
mDoAud_seStart(Z2SE_OBJ_L8_STAIR_ST_DW, &home.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
init_modeWait();
|
||||
}
|
||||
}
|
||||
|
||||
/* 80C8C994-80C8CA78 000D74 00E4+00 1/0 0/0 0/0 .text Draw__11daUdFloor_cFv */
|
||||
int daUdFloor_c::Draw() {
|
||||
g_env_light.settingTevStruct(64, ¤t.pos, &tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel, &tevStr);
|
||||
dComIfGd_setListBG();
|
||||
mDoExt_modelUpdateDL(mpModel);
|
||||
dComIfGd_setList();
|
||||
|
||||
J3DGXColor* matColor_p = mpModel->getModelData()->getMaterialNodePointer(1)->getTevKColor(1);
|
||||
matColor_p->r = mColorR;
|
||||
matColor_p->g = mColorG;
|
||||
matColor_p->b = mColorB;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C8CA78-80C8CAB8 000E58 0040+00 1/0 0/0 0/0 .text Delete__11daUdFloor_cFv */
|
||||
int daUdFloor_c::Delete() {
|
||||
dComIfG_resDelete(&mPhase, l_resNameIdx[mModelType]);
|
||||
#if DEBUG
|
||||
l_HIO.removeHIO();
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C8CAB8-80C8CAE4 000E98 002C+00 1/0 0/0 0/0 .text daUdFloor_Draw__FP11daUdFloor_c */
|
||||
static int daUdFloor_Draw(daUdFloor_c* i_this) {
|
||||
return i_this->MoveBGDraw();
|
||||
}
|
||||
|
||||
/* 80C8CAE4-80C8CB04 000EC4 0020+00 1/0 0/0 0/0 .text daUdFloor_Execute__FP11daUdFloor_c
|
||||
*/
|
||||
static int daUdFloor_Execute(daUdFloor_c* i_this) {
|
||||
return i_this->MoveBGExecute();
|
||||
}
|
||||
|
||||
/* 80C8CB04-80C8CB24 000EE4 0020+00 1/0 0/0 0/0 .text daUdFloor_Delete__FP11daUdFloor_c
|
||||
*/
|
||||
static int daUdFloor_Delete(daUdFloor_c* i_this) {
|
||||
return i_this->MoveBGDelete();
|
||||
}
|
||||
|
||||
/* 80C8CB24-80C8CB44 000F04 0020+00 1/0 0/0 0/0 .text daUdFloor_Create__FP10fopAc_ac_c */
|
||||
static int daUdFloor_Create(fopAc_ac_c* i_this) {
|
||||
return ((daUdFloor_c*)i_this)->create();
|
||||
}
|
||||
|
||||
/* 80C8CCE4-80C8CD04 -00001 0020+00 1/0 0/0 0/0 .data l_daUdFloor_Method */
|
||||
static actor_method_class l_daUdFloor_Method = {
|
||||
(process_method_func)daUdFloor_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daUdFloor_Delete__FP11daUdFloor_c,
|
||||
(process_method_func)daUdFloor_Execute__FP11daUdFloor_c,
|
||||
(process_method_func)daUdFloor_Create,
|
||||
(process_method_func)daUdFloor_Delete,
|
||||
(process_method_func)daUdFloor_Execute,
|
||||
0,
|
||||
(process_method_func)daUdFloor_Draw__FP11daUdFloor_c,
|
||||
(process_method_func)daUdFloor_Draw,
|
||||
};
|
||||
|
||||
/* 80C8CD04-80C8CD34 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Lv8UdFloor */
|
||||
@@ -194,263 +337,3 @@ extern actor_process_profile_definition g_profile_Obj_Lv8UdFloor = {
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80C8CD34-80C8CD5C 0000F0 0028+00 1/1 0/0 0/0 .data __vt__11daUdFloor_c */
|
||||
SECTION_DATA extern void* __vt__11daUdFloor_c[10] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)CreateHeap__11daUdFloor_cFv,
|
||||
(void*)Create__16dBgS_MoveBgActorFv,
|
||||
(void*)Execute__11daUdFloor_cFPPA3_A4_f,
|
||||
(void*)Draw__11daUdFloor_cFv,
|
||||
(void*)Delete__11daUdFloor_cFv,
|
||||
(void*)IsDelete__16dBgS_MoveBgActorFv,
|
||||
(void*)ToFore__16dBgS_MoveBgActorFv,
|
||||
(void*)ToBack__16dBgS_MoveBgActorFv,
|
||||
};
|
||||
|
||||
/* 80C8CD5C-80C8CD68 000118 000C+00 2/2 0/0 0/0 .data __vt__15daUdFloor_HIO_c */
|
||||
SECTION_DATA extern void* __vt__15daUdFloor_HIO_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__15daUdFloor_HIO_cFv,
|
||||
};
|
||||
|
||||
/* 80C8CD68-80C8CD74 000124 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,
|
||||
};
|
||||
|
||||
/* 80C8BD0C-80C8BD80 0000EC 0074+00 1/1 0/0 0/0 .text __ct__15daUdFloor_HIO_cFv */
|
||||
daUdFloor_HIO_c::daUdFloor_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8BD80-80C8BDC8 000160 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
|
||||
}
|
||||
|
||||
/* 80C8BDC8-80C8BE64 0001A8 009C+00 2/2 0/0 0/0 .text setBaseMtx__11daUdFloor_cFv */
|
||||
void daUdFloor_c::setBaseMtx() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C8CBF4-80C8CBFC 000004 0008+00 1/1 0/0 0/0 .rodata l_bmdIdx */
|
||||
SECTION_RODATA static u8 const l_bmdIdx[8] = {
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C8CBF4, &l_bmdIdx);
|
||||
|
||||
/* 80C8BE64-80C8BEE4 000244 0080+00 1/0 0/0 0/0 .text CreateHeap__11daUdFloor_cFv */
|
||||
void daUdFloor_c::CreateHeap() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C8CBFC-80C8CC04 00000C 0008+00 0/1 0/0 0/0 .rodata l_dzbIdx */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const l_dzbIdx[8] = {
|
||||
0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C8CBFC, &l_dzbIdx);
|
||||
#pragma pop
|
||||
|
||||
/* 80C8CC04-80C8CC0C 000014 0008+00 0/1 0/0 0/0 .rodata l_heap_size */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const l_heap_size[8] = {
|
||||
0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x14, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C8CC04, &l_heap_size);
|
||||
#pragma pop
|
||||
|
||||
/* 80C8CC0C-80C8CC10 00001C 0004+00 0/1 0/0 0/0 .rodata @3718 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3718 = 50.0f;
|
||||
COMPILER_STRIP_GATE(0x80C8CC0C, &lit_3718);
|
||||
#pragma pop
|
||||
|
||||
/* 80C8CC10-80C8CC18 000020 0008+00 0/1 0/0 0/0 .rodata @3720 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3720[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C8CC10, &lit_3720);
|
||||
#pragma pop
|
||||
|
||||
/* 80C8CC18-80C8CC20 000028 0008+00 1/2 0/0 0/0 .rodata @3722 */
|
||||
SECTION_RODATA static u8 const lit_3722[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C8CC18, &lit_3722);
|
||||
|
||||
/* 80C8CD80-80C8CD8C 000008 000C+00 1/1 0/0 0/0 .bss @3622 */
|
||||
static u8 lit_3622[12];
|
||||
|
||||
/* 80C8CD8C-80C8CDA4 000014 0018+00 7/7 0/0 0/0 .bss l_HIO */
|
||||
static u8 l_HIO[24];
|
||||
|
||||
/* 80C8BEE4-80C8C0DC 0002C4 01F8+00 1/1 0/0 0/0 .text create__11daUdFloor_cFv */
|
||||
void daUdFloor_c::create() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8C0DC-80C8C12C 0004BC 0050+00 1/0 0/0 0/0 .text Execute__11daUdFloor_cFPPA3_A4_f */
|
||||
void daUdFloor_c::Execute(Mtx** param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C8CDA4-80C8CDA8 00002C 0004+00 1/1 0/0 0/0 .bss None */
|
||||
static u8 data_80C8CDA4[4];
|
||||
|
||||
/* 80C8C12C-80C8C264 00050C 0138+00 1/1 0/0 0/0 .text moveLift__11daUdFloor_cFv */
|
||||
void daUdFloor_c::moveLift() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8C264-80C8C270 000644 000C+00 3/3 0/0 0/0 .text init_modeWait__11daUdFloor_cFv */
|
||||
void daUdFloor_c::init_modeWait() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8C270-80C8C274 000650 0004+00 1/0 0/0 0/0 .text modeWait__11daUdFloor_cFv */
|
||||
void daUdFloor_c::modeWait() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C8CC20-80C8CC24 000030 0004+00 4/6 0/0 0/0 .rodata @3777 */
|
||||
SECTION_RODATA static f32 const lit_3777 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C8CC20, &lit_3777);
|
||||
|
||||
/* 80C8CC24-80C8CC28 000034 0004+00 3/5 0/0 0/0 .rodata @3778 */
|
||||
SECTION_RODATA static f32 const lit_3778 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C8CC24, &lit_3778);
|
||||
|
||||
/* 80C8C274-80C8C310 000654 009C+00 1/1 0/0 0/0 .text init_modeUpMoveInit__11daUdFloor_cFv */
|
||||
void daUdFloor_c::init_modeUpMoveInit() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8C310-80C8C354 0006F0 0044+00 1/0 0/0 0/0 .text modeUpMoveInit__11daUdFloor_cFv */
|
||||
void daUdFloor_c::modeUpMoveInit() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8C354-80C8C5E4 000734 0290+00 2/2 0/0 0/0 .text colorAnm__11daUdFloor_cFi */
|
||||
void daUdFloor_c::colorAnm(int param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8C5E4-80C8C68C 0009C4 00A8+00 1/1 0/0 0/0 .text init_modeUpMove__11daUdFloor_cFv */
|
||||
void daUdFloor_c::init_modeUpMove() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C8CC28-80C8CC2C 000038 0004+00 0/1 0/0 0/0 .rodata @3856 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3856 = 30.0f;
|
||||
COMPILER_STRIP_GATE(0x80C8CC28, &lit_3856);
|
||||
#pragma pop
|
||||
|
||||
/* 80C8CC2C-80C8CC30 00003C 0004+00 0/2 0/0 0/0 .rodata @3857 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3857 = 1.0f / 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80C8CC2C, &lit_3857);
|
||||
#pragma pop
|
||||
|
||||
/* 80C8C68C-80C8C7F8 000A6C 016C+00 1/0 0/0 0/0 .text modeUpMove__11daUdFloor_cFv */
|
||||
void daUdFloor_c::modeUpMove() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8C7F8-80C8C81C 000BD8 0024+00 1/1 0/0 0/0 .text init_modeDownMoveInit__11daUdFloor_cFv */
|
||||
void daUdFloor_c::init_modeDownMoveInit() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8C81C-80C8C860 000BFC 0044+00 1/0 0/0 0/0 .text modeDownMoveInit__11daUdFloor_cFv
|
||||
*/
|
||||
void daUdFloor_c::modeDownMoveInit() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8C860-80C8C8E4 000C40 0084+00 1/1 0/0 0/0 .text init_modeDownMove__11daUdFloor_cFv
|
||||
*/
|
||||
void daUdFloor_c::init_modeDownMove() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C8CC30-80C8CC34 000040 0004+00 0/1 0/0 0/0 .rodata @3892 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3892 = 3.0f / 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80C8CC30, &lit_3892);
|
||||
#pragma pop
|
||||
|
||||
/* 80C8C8E4-80C8C994 000CC4 00B0+00 1/0 0/0 0/0 .text modeDownMove__11daUdFloor_cFv */
|
||||
void daUdFloor_c::modeDownMove() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8C994-80C8CA78 000D74 00E4+00 1/0 0/0 0/0 .text Draw__11daUdFloor_cFv */
|
||||
void daUdFloor_c::Draw() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8CA78-80C8CAB8 000E58 0040+00 1/0 0/0 0/0 .text Delete__11daUdFloor_cFv */
|
||||
void daUdFloor_c::Delete() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8CAB8-80C8CAE4 000E98 002C+00 1/0 0/0 0/0 .text daUdFloor_Draw__FP11daUdFloor_c */
|
||||
static void daUdFloor_Draw(daUdFloor_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8CAE4-80C8CB04 000EC4 0020+00 1/0 0/0 0/0 .text daUdFloor_Execute__FP11daUdFloor_c
|
||||
*/
|
||||
static void daUdFloor_Execute(daUdFloor_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8CB04-80C8CB24 000EE4 0020+00 1/0 0/0 0/0 .text daUdFloor_Delete__FP11daUdFloor_c
|
||||
*/
|
||||
static void daUdFloor_Delete(daUdFloor_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8CB24-80C8CB44 000F04 0020+00 1/0 0/0 0/0 .text daUdFloor_Create__FP10fopAc_ac_c */
|
||||
static void daUdFloor_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8CB44-80C8CBA0 000F24 005C+00 2/1 0/0 0/0 .text __dt__15daUdFloor_HIO_cFv */
|
||||
daUdFloor_HIO_c::~daUdFloor_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8CBA0-80C8CBDC 000F80 003C+00 0/0 1/0 0/0 .text __sinit_d_a_obj_lv8UdFloor_cpp */
|
||||
void __sinit_d_a_obj_lv8UdFloor_cpp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x80C8CBA0, __sinit_d_a_obj_lv8UdFloor_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 80C8CC34-80C8CC34 000044 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -6,146 +6,216 @@
|
||||
#include "d/dolzel_rel.h" // IWYU pragma: keep
|
||||
|
||||
#include "d/actor/d_a_obj_lv9SwShutter.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
class daLv9SwShutter_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
/* 80C8CEAC */ daLv9SwShutter_HIO_c();
|
||||
/* 80C8D730 */ virtual ~daLv9SwShutter_HIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__20daLv9SwShutter_HIO_cFv();
|
||||
extern "C" void __dt__14mDoHIO_entry_cFv();
|
||||
extern "C" void setBaseMtx__16daLv9SwShutter_cFv();
|
||||
extern "C" void CreateHeap__16daLv9SwShutter_cFv();
|
||||
extern "C" void create__16daLv9SwShutter_cFv();
|
||||
extern "C" void Execute__16daLv9SwShutter_cFPPA3_A4_f();
|
||||
extern "C" void moveShutter__16daLv9SwShutter_cFv();
|
||||
extern "C" void init_modeWait__16daLv9SwShutter_cFv();
|
||||
extern "C" void modeWait__16daLv9SwShutter_cFv();
|
||||
extern "C" void init_modeOpen__16daLv9SwShutter_cFv();
|
||||
extern "C" void modeOpen__16daLv9SwShutter_cFv();
|
||||
extern "C" void init_modeClose__16daLv9SwShutter_cFv();
|
||||
extern "C" void modeClose__16daLv9SwShutter_cFv();
|
||||
extern "C" void Draw__16daLv9SwShutter_cFv();
|
||||
extern "C" void Delete__16daLv9SwShutter_cFv();
|
||||
extern "C" static void daLv9SwShutter_Draw__FP16daLv9SwShutter_c();
|
||||
extern "C" static void daLv9SwShutter_Execute__FP16daLv9SwShutter_c();
|
||||
extern "C" static void daLv9SwShutter_Delete__FP16daLv9SwShutter_c();
|
||||
extern "C" static void daLv9SwShutter_Create__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__20daLv9SwShutter_HIO_cFv();
|
||||
extern "C" void __sinit_d_a_obj_lv9SwShutter_cpp();
|
||||
extern "C" extern char const* const d_a_obj_lv9SwShutter__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_ZXYrotS__FPA4_fsss();
|
||||
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
|
||||
extern "C" void transM__14mDoMtx_stack_cFfff();
|
||||
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 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 cLib_addCalc__FPfffff();
|
||||
extern "C" void cLib_chaseF__FPfff();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void __dl__FPv();
|
||||
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:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C8D7DC-80C8D7E0 000000 0004+00 3/3 0/0 0/0 .rodata @3627 */
|
||||
SECTION_RODATA static f32 const lit_3627 = 6.0f;
|
||||
COMPILER_STRIP_GATE(0x80C8D7DC, &lit_3627);
|
||||
|
||||
/* 80C8D7E0-80C8D7E4 000004 0004+00 0/1 0/0 0/0 .rodata @3628 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3628 = 30.0f;
|
||||
COMPILER_STRIP_GATE(0x80C8D7E0, &lit_3628);
|
||||
#pragma pop
|
||||
|
||||
/* 80C8D7E4-80C8D7E8 000008 0004+00 0/1 0/0 0/0 .rodata @3629 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3629 = 15.0f;
|
||||
COMPILER_STRIP_GATE(0x80C8D7E4, &lit_3629);
|
||||
#pragma pop
|
||||
|
||||
/* 80C8D82C-80C8D838 -00001 000C+00 0/1 0/0 0/0 .data @3722 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3722[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeWait__16daLv9SwShutter_cFv,
|
||||
/* 0x04 */ f32 open_speed;
|
||||
/* 0x08 */ f32 close_speed;
|
||||
/* 0x0C */ f32 close_accel;
|
||||
/* 0x10 */ u8 vibration;
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80C8D838-80C8D844 -00001 000C+00 0/1 0/0 0/0 .data @3723 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3723[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeOpen__16daLv9SwShutter_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80C8CEAC-80C8CEF0 0000EC 0044+00 1/1 0/0 0/0 .text __ct__20daLv9SwShutter_HIO_cFv */
|
||||
daLv9SwShutter_HIO_c::daLv9SwShutter_HIO_c() {
|
||||
open_speed = 6.0f;
|
||||
close_speed = 30.0f;
|
||||
close_accel = 15.0f;
|
||||
vibration = 3;
|
||||
}
|
||||
|
||||
/* 80C8D844-80C8D850 -00001 000C+00 0/1 0/0 0/0 .data @3724 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3724[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeClose__16daLv9SwShutter_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80C8D91C-80C8D930 000014 0014+00 3/3 0/0 0/0 .bss l_HIO */
|
||||
static daLv9SwShutter_HIO_c l_HIO;
|
||||
|
||||
/* 80C8D850-80C8D874 000044 0024+00 0/1 0/0 0/0 .data mode_proc$3721 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 mode_proc[36] = {
|
||||
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
|
||||
/* 80C8CF38-80C8CFD4 000178 009C+00 2/2 0/0 0/0 .text setBaseMtx__16daLv9SwShutter_cFv */
|
||||
void daLv9SwShutter_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);
|
||||
mDoMtx_stack_c::transM(0.0f, field_0x5b0, 0.0f);
|
||||
mpModel->setBaseScale(scale);
|
||||
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
/* 80C8CFD4-80C8D040 000214 006C+00 1/0 0/0 0/0 .text CreateHeap__16daLv9SwShutter_cFv */
|
||||
int daLv9SwShutter_c::CreateHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("L9SwShut", 4);
|
||||
JUT_ASSERT(167, modelData != NULL);
|
||||
|
||||
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (mpModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C8D040-80C8D168 000280 0128+00 1/1 0/0 0/0 .text create__16daLv9SwShutter_cFv */
|
||||
int daLv9SwShutter_c::create() {
|
||||
fopAcM_ct(this, daLv9SwShutter_c);
|
||||
|
||||
int phase_state = dComIfG_resLoad(&mPhase, "L9SwShut");
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
if (MoveBGCreate("L9SwShut", 7, dBgS_MoveBGProc_TypicalRotY, 0x1300, NULL) == cPhs_ERROR_e) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
|
||||
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
|
||||
|
||||
mSwbit = getSw();
|
||||
field_0x5b0 = 0.0f;
|
||||
|
||||
mIsSwitch = fopAcM_isSwitch(this, mSwbit);
|
||||
if (mIsSwitch) {
|
||||
field_0x5b0 = 600.0f;
|
||||
}
|
||||
|
||||
init_modeWait();
|
||||
setBaseMtx();
|
||||
|
||||
#if DEBUG
|
||||
l_HIO.entryHIO("スイッチシャッター(Lv9)");
|
||||
#endif
|
||||
}
|
||||
|
||||
return phase_state;
|
||||
}
|
||||
|
||||
/* 80C8D168-80C8D1B8 0003A8 0050+00 1/0 0/0 0/0 .text Execute__16daLv9SwShutter_cFPPA3_A4_f */
|
||||
int daLv9SwShutter_c::Execute(Mtx** param_0) {
|
||||
moveShutter();
|
||||
*param_0 = &mpModel->getBaseTRMtx();
|
||||
setBaseMtx();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C8D1B8-80C8D2BC 0003F8 0104+00 1/1 0/0 0/0 .text moveShutter__16daLv9SwShutter_cFv
|
||||
*/
|
||||
void daLv9SwShutter_c::moveShutter() {
|
||||
static void (daLv9SwShutter_c::*mode_proc[])() = {
|
||||
&daLv9SwShutter_c::modeWait,
|
||||
&daLv9SwShutter_c::modeOpen,
|
||||
&daLv9SwShutter_c::modeClose,
|
||||
};
|
||||
|
||||
u8 prev_switch = mIsSwitch;
|
||||
mIsSwitch = fopAcM_isSwitch(this, mSwbit);
|
||||
if (mIsSwitch != prev_switch) {
|
||||
if (mIsSwitch) {
|
||||
init_modeOpen();
|
||||
} else {
|
||||
init_modeClose();
|
||||
}
|
||||
}
|
||||
|
||||
(this->*mode_proc[mMode])();
|
||||
}
|
||||
|
||||
/* 80C8D2BC-80C8D2C8 0004FC 000C+00 3/3 0/0 0/0 .text init_modeWait__16daLv9SwShutter_cFv
|
||||
*/
|
||||
void daLv9SwShutter_c::init_modeWait() {
|
||||
mMode = 0;
|
||||
}
|
||||
|
||||
/* 80C8D2C8-80C8D2CC 000508 0004+00 1/0 0/0 0/0 .text modeWait__16daLv9SwShutter_cFv */
|
||||
void daLv9SwShutter_c::modeWait() {}
|
||||
|
||||
/* 80C8D2CC-80C8D2D8 00050C 000C+00 1/1 0/0 0/0 .text init_modeOpen__16daLv9SwShutter_cFv
|
||||
*/
|
||||
void daLv9SwShutter_c::init_modeOpen() {
|
||||
mMode = 1;
|
||||
}
|
||||
|
||||
/* 80C8D2D8-80C8D440 000518 0168+00 1/0 0/0 0/0 .text modeOpen__16daLv9SwShutter_cFv */
|
||||
void daLv9SwShutter_c::modeOpen() {
|
||||
f32 temp_f31 = cLib_addCalc(&field_0x5b0, 600.0f, 0.1f, l_HIO.open_speed, 5.0f);
|
||||
mDoMtx_stack_c::ZXYrotS(shape_angle.x, shape_angle.y, shape_angle.z);
|
||||
cXyz sp8(0.0f, field_0x5b0, 0.0f);
|
||||
mDoMtx_stack_c::multVec(&sp8, &sp8);
|
||||
sp8 += current.pos;
|
||||
|
||||
mDoAud_seStartLevel(Z2SE_OBJ_GATE_LV9_OP, &sp8, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
if (0.0f == temp_f31) {
|
||||
mDoAud_seStart(Z2SE_OBJ_GATE_LV9_STOP, &sp8, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
init_modeWait();
|
||||
}
|
||||
}
|
||||
|
||||
/* 80C8D440-80C8D458 000680 0018+00 1/1 0/0 0/0 .text init_modeClose__16daLv9SwShutter_cFv */
|
||||
void daLv9SwShutter_c::init_modeClose() {
|
||||
fopAcM_SetSpeedF(this, 0.0f);
|
||||
mMode = 2;
|
||||
}
|
||||
|
||||
/* 80C8D458-80C8D5D0 000698 0178+00 1/0 0/0 0/0 .text modeClose__16daLv9SwShutter_cFv */
|
||||
void daLv9SwShutter_c::modeClose() {
|
||||
cLib_chaseF(&speedF, l_HIO.close_speed, l_HIO.close_accel);
|
||||
|
||||
f32 temp_f31 = cLib_addCalc(&field_0x5b0, 0.0f, 1.0f, fopAcM_GetSpeedF(this), 5.0f);
|
||||
mDoMtx_stack_c::ZXYrotS(shape_angle.x, shape_angle.y, shape_angle.z);
|
||||
cXyz sp8(0.0f, field_0x5b0, 0.0f);
|
||||
mDoMtx_stack_c::multVec(&sp8, &sp8);
|
||||
sp8 += current.pos;
|
||||
|
||||
mDoAud_seStartLevel(Z2SE_OBJ_GATE_LV9_OP, &sp8, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
if (0.0f == temp_f31) {
|
||||
mDoAud_seStart(Z2SE_OBJ_GATE_LV9_STOP, &sp8, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
init_modeWait();
|
||||
}
|
||||
}
|
||||
|
||||
/* 80C8D5D0-80C8D674 000810 00A4+00 1/0 0/0 0/0 .text Draw__16daLv9SwShutter_cFv */
|
||||
int daLv9SwShutter_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;
|
||||
}
|
||||
|
||||
/* 80C8D674-80C8D6A4 0008B4 0030+00 1/0 0/0 0/0 .text Delete__16daLv9SwShutter_cFv */
|
||||
int daLv9SwShutter_c::Delete() {
|
||||
dComIfG_resDelete(&mPhase, "L9SwShut");
|
||||
#if DEBUG
|
||||
l_HIO.removeHIO();
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C8D6A4-80C8D6D0 0008E4 002C+00 1/0 0/0 0/0 .text daLv9SwShutter_Draw__FP16daLv9SwShutter_c */
|
||||
static int daLv9SwShutter_Draw(daLv9SwShutter_c* i_this) {
|
||||
return i_this->MoveBGDraw();
|
||||
}
|
||||
|
||||
/* 80C8D6D0-80C8D6F0 000910 0020+00 1/0 0/0 0/0 .text daLv9SwShutter_Execute__FP16daLv9SwShutter_c
|
||||
*/
|
||||
static int daLv9SwShutter_Execute(daLv9SwShutter_c* i_this) {
|
||||
return i_this->MoveBGExecute();
|
||||
}
|
||||
|
||||
/* 80C8D6F0-80C8D710 000930 0020+00 1/0 0/0 0/0 .text daLv9SwShutter_Delete__FP16daLv9SwShutter_c
|
||||
*/
|
||||
static int daLv9SwShutter_Delete(daLv9SwShutter_c* i_this) {
|
||||
return i_this->MoveBGDelete();
|
||||
}
|
||||
|
||||
/* 80C8D710-80C8D730 000950 0020+00 1/0 0/0 0/0 .text daLv9SwShutter_Create__FP10fopAc_ac_c */
|
||||
static int daLv9SwShutter_Create(fopAc_ac_c* i_this) {
|
||||
return ((daLv9SwShutter_c*)i_this)->create();
|
||||
}
|
||||
|
||||
/* 80C8D874-80C8D894 -00001 0020+00 1/0 0/0 0/0 .data l_daLv9SwShutter_Method */
|
||||
static actor_method_class l_daLv9SwShutter_Method = {
|
||||
(process_method_func)daLv9SwShutter_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daLv9SwShutter_Delete__FP16daLv9SwShutter_c,
|
||||
(process_method_func)daLv9SwShutter_Execute__FP16daLv9SwShutter_c,
|
||||
0,
|
||||
(process_method_func)daLv9SwShutter_Draw__FP16daLv9SwShutter_c,
|
||||
(process_method_func)daLv9SwShutter_Create,
|
||||
(process_method_func)daLv9SwShutter_Delete,
|
||||
(process_method_func)daLv9SwShutter_Execute,
|
||||
NULL,
|
||||
(process_method_func)daLv9SwShutter_Draw,
|
||||
};
|
||||
|
||||
/* 80C8D894-80C8D8C4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Lv9SwShutter */
|
||||
@@ -165,210 +235,3 @@ extern actor_process_profile_definition g_profile_Obj_Lv9SwShutter = {
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80C8D8C4-80C8D8EC 0000B8 0028+00 1/1 0/0 0/0 .data __vt__16daLv9SwShutter_c */
|
||||
SECTION_DATA extern void* __vt__16daLv9SwShutter_c[10] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)CreateHeap__16daLv9SwShutter_cFv,
|
||||
(void*)Create__16dBgS_MoveBgActorFv,
|
||||
(void*)Execute__16daLv9SwShutter_cFPPA3_A4_f,
|
||||
(void*)Draw__16daLv9SwShutter_cFv,
|
||||
(void*)Delete__16daLv9SwShutter_cFv,
|
||||
(void*)IsDelete__16dBgS_MoveBgActorFv,
|
||||
(void*)ToFore__16dBgS_MoveBgActorFv,
|
||||
(void*)ToBack__16dBgS_MoveBgActorFv,
|
||||
};
|
||||
|
||||
/* 80C8D8EC-80C8D8F8 0000E0 000C+00 2/2 0/0 0/0 .data __vt__20daLv9SwShutter_HIO_c */
|
||||
SECTION_DATA extern void* __vt__20daLv9SwShutter_HIO_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__20daLv9SwShutter_HIO_cFv,
|
||||
};
|
||||
|
||||
/* 80C8D8F8-80C8D904 0000EC 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,
|
||||
};
|
||||
|
||||
/* 80C8CEAC-80C8CEF0 0000EC 0044+00 1/1 0/0 0/0 .text __ct__20daLv9SwShutter_HIO_cFv */
|
||||
daLv9SwShutter_HIO_c::daLv9SwShutter_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8CEF0-80C8CF38 000130 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
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C8D7E8-80C8D7EC 00000C 0004+00 3/5 0/0 0/0 .rodata @3650 */
|
||||
SECTION_RODATA static u8 const lit_3650[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C8D7E8, &lit_3650);
|
||||
|
||||
/* 80C8CF38-80C8CFD4 000178 009C+00 2/2 0/0 0/0 .text setBaseMtx__16daLv9SwShutter_cFv */
|
||||
void daLv9SwShutter_c::setBaseMtx() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C8D800-80C8D800 000024 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80C8D800 = "L9SwShut";
|
||||
#pragma pop
|
||||
|
||||
/* 80C8CFD4-80C8D040 000214 006C+00 1/0 0/0 0/0 .text CreateHeap__16daLv9SwShutter_cFv */
|
||||
void daLv9SwShutter_c::CreateHeap() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C8D7EC-80C8D7F0 000010 0004+00 1/2 0/0 0/0 .rodata @3708 */
|
||||
SECTION_RODATA static f32 const lit_3708 = 600.0f;
|
||||
COMPILER_STRIP_GATE(0x80C8D7EC, &lit_3708);
|
||||
|
||||
/* 80C8D040-80C8D168 000280 0128+00 1/1 0/0 0/0 .text create__16daLv9SwShutter_cFv */
|
||||
void daLv9SwShutter_c::create() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8D168-80C8D1B8 0003A8 0050+00 1/0 0/0 0/0 .text Execute__16daLv9SwShutter_cFPPA3_A4_f */
|
||||
void daLv9SwShutter_c::Execute(Mtx** param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C8D910-80C8D91C 000008 000C+00 1/1 0/0 0/0 .bss @3621 */
|
||||
static u8 lit_3621[12];
|
||||
|
||||
/* 80C8D91C-80C8D930 000014 0014+00 3/3 0/0 0/0 .bss l_HIO */
|
||||
static u8 l_HIO[20];
|
||||
|
||||
/* 80C8D930-80C8D934 000028 0004+00 1/1 0/0 0/0 .bss None */
|
||||
static u8 data_80C8D930[4];
|
||||
|
||||
/* 80C8D1B8-80C8D2BC 0003F8 0104+00 1/1 0/0 0/0 .text moveShutter__16daLv9SwShutter_cFv
|
||||
*/
|
||||
void daLv9SwShutter_c::moveShutter() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8D2BC-80C8D2C8 0004FC 000C+00 3/3 0/0 0/0 .text init_modeWait__16daLv9SwShutter_cFv
|
||||
*/
|
||||
void daLv9SwShutter_c::init_modeWait() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8D2C8-80C8D2CC 000508 0004+00 1/0 0/0 0/0 .text modeWait__16daLv9SwShutter_cFv */
|
||||
void daLv9SwShutter_c::modeWait() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80C8D2CC-80C8D2D8 00050C 000C+00 1/1 0/0 0/0 .text init_modeOpen__16daLv9SwShutter_cFv
|
||||
*/
|
||||
void daLv9SwShutter_c::init_modeOpen() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C8D7F0-80C8D7F4 000014 0004+00 0/1 0/0 0/0 .rodata @3782 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3782 = 1.0f / 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80C8D7F0, &lit_3782);
|
||||
#pragma pop
|
||||
|
||||
/* 80C8D7F4-80C8D7F8 000018 0004+00 0/2 0/0 0/0 .rodata @3783 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3783 = 5.0f;
|
||||
COMPILER_STRIP_GATE(0x80C8D7F4, &lit_3783);
|
||||
#pragma pop
|
||||
|
||||
/* 80C8D7F8-80C8D7FC 00001C 0004+00 0/2 0/0 0/0 .rodata @3784 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3784 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C8D7F8, &lit_3784);
|
||||
#pragma pop
|
||||
|
||||
/* 80C8D7FC-80C8D800 000020 0004+00 0/2 0/0 0/0 .rodata @3785 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3785 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C8D7FC, &lit_3785);
|
||||
#pragma pop
|
||||
|
||||
/* 80C8D2D8-80C8D440 000518 0168+00 1/0 0/0 0/0 .text modeOpen__16daLv9SwShutter_cFv */
|
||||
void daLv9SwShutter_c::modeOpen() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8D440-80C8D458 000680 0018+00 1/1 0/0 0/0 .text init_modeClose__16daLv9SwShutter_cFv */
|
||||
void daLv9SwShutter_c::init_modeClose() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8D458-80C8D5D0 000698 0178+00 1/0 0/0 0/0 .text modeClose__16daLv9SwShutter_cFv */
|
||||
void daLv9SwShutter_c::modeClose() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8D5D0-80C8D674 000810 00A4+00 1/0 0/0 0/0 .text Draw__16daLv9SwShutter_cFv */
|
||||
void daLv9SwShutter_c::Draw() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8D674-80C8D6A4 0008B4 0030+00 1/0 0/0 0/0 .text Delete__16daLv9SwShutter_cFv */
|
||||
void daLv9SwShutter_c::Delete() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8D6A4-80C8D6D0 0008E4 002C+00 1/0 0/0 0/0 .text daLv9SwShutter_Draw__FP16daLv9SwShutter_c */
|
||||
static void daLv9SwShutter_Draw(daLv9SwShutter_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8D6D0-80C8D6F0 000910 0020+00 1/0 0/0 0/0 .text daLv9SwShutter_Execute__FP16daLv9SwShutter_c
|
||||
*/
|
||||
static void daLv9SwShutter_Execute(daLv9SwShutter_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8D6F0-80C8D710 000930 0020+00 1/0 0/0 0/0 .text daLv9SwShutter_Delete__FP16daLv9SwShutter_c
|
||||
*/
|
||||
static void daLv9SwShutter_Delete(daLv9SwShutter_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8D710-80C8D730 000950 0020+00 1/0 0/0 0/0 .text daLv9SwShutter_Create__FP10fopAc_ac_c */
|
||||
static void daLv9SwShutter_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8D730-80C8D78C 000970 005C+00 2/1 0/0 0/0 .text __dt__20daLv9SwShutter_HIO_cFv */
|
||||
daLv9SwShutter_HIO_c::~daLv9SwShutter_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8D78C-80C8D7C8 0009CC 003C+00 0/0 1/0 0/0 .text __sinit_d_a_obj_lv9SwShutter_cpp */
|
||||
void __sinit_d_a_obj_lv9SwShutter_cpp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x80C8D78C, __sinit_d_a_obj_lv9SwShutter_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 80C8D800-80C8D800 000024 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -364,7 +364,7 @@ static void drawDepth2(view_class* param_0, view_port_class* param_1, int param_
|
||||
|
||||
if (atn_actor != NULL) {
|
||||
cXyz sp28 = atn_actor->eyePos;
|
||||
if (fabsf(sp28.y - camera_p->lookat.eye.y) < 400.0f) {
|
||||
if (std::fabs(sp28.y - camera_p->lookat.eye.y) < 400.0f) {
|
||||
sp28.y = camera_p->lookat.eye.y;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user