mirror of https://github.com/zeldaret/tp.git
Compare commits
2 Commits
e0bbad1f3f
...
91e84ecd33
Author | SHA1 | Date |
---|---|---|
![]() |
91e84ecd33 | |
![]() |
8410e4fd40 |
|
@ -1905,7 +1905,7 @@ config.libs = [
|
|||
ActorRel(NonMatching, "d_a_obj_crope"),
|
||||
ActorRel(NonMatching, "d_a_obj_crvfence"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_crvgate"),
|
||||
ActorRel(NonMatching, "d_a_obj_crvhahen"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_crvhahen"),
|
||||
ActorRel(NonMatching, "d_a_obj_crvlh_down"),
|
||||
ActorRel(NonMatching, "d_a_obj_crvlh_up"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_crvsteel"),
|
||||
|
@ -2055,7 +2055,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_mirror_screw"),
|
||||
ActorRel(NonMatching, "d_a_obj_mirror_table"),
|
||||
ActorRel(NonMatching, "d_a_obj_msima"),
|
||||
ActorRel(NonMatching, "d_a_obj_mvstair"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_mvstair"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_myogan"),
|
||||
ActorRel(NonMatching, "d_a_obj_nagaisu"),
|
||||
ActorRel(Equivalent, "d_a_obj_nan"), # weak function order
|
||||
|
@ -2137,7 +2137,7 @@ config.libs = [
|
|||
ActorRel(NonMatching, "d_a_obj_thashi"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_thdoor"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_timeFire"),
|
||||
ActorRel(NonMatching, "d_a_obj_tks"),
|
||||
ActorRel(Equivalent, "d_a_obj_tks", extra_cflags=[DANPCF_C_HACK]), # weak function order, sinShort inline issue
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tmoon"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_toaru_maki"),
|
||||
ActorRel(NonMatching, "d_a_obj_toby"),
|
||||
|
|
|
@ -1,33 +1,54 @@
|
|||
#ifndef D_A_OBJ_CRVHAHEN_H
|
||||
#define D_A_OBJ_CRVHAHEN_H
|
||||
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "m_Do/m_Do_lib.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
* @class daObjCRVHAHEN_c
|
||||
* @brief Caravan Wood
|
||||
* @brief Bulblin Camp Caraven Wooden Fence Fragments
|
||||
*
|
||||
* @details
|
||||
* @details Hahen (はへん) a fragment, shard, or splinter.
|
||||
* physics-enabled shards or fragments that simulate debris from destruction.
|
||||
*
|
||||
*/
|
||||
class daObjCRVHAHEN_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80BD342C */ void HahenSet(cXyz, cXyz, cXyz, cXyz, f32);
|
||||
/* 80BD3628 */ void Wall_Check(cXyz, cXyz);
|
||||
/* 80BD342C */ int HahenSet(cXyz, cXyz, cXyz, cXyz, f32);
|
||||
/* 80BD3628 */ bool Wall_Check(cXyz, cXyz);
|
||||
/* 80BD3720 */ void Hahen_Hakai(int, int);
|
||||
/* 80BD38DC */ void CheckCull();
|
||||
/* 80BD3A9C */ void checkViewArea(cXyz*);
|
||||
/* 80BD3B20 */ void Execute();
|
||||
/* 80BD3B74 */ void Delete();
|
||||
/* 80BD3A9C */ bool checkViewArea(cXyz*);
|
||||
/* 80BD3B20 */ int Execute();
|
||||
/* 80BD3B74 */ int Delete();
|
||||
/* 80BD3C0C */ void setBaseMtx();
|
||||
/* 80BD3DBC */ void create();
|
||||
/* 80BD3DBC */ int create();
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x794 - 0x568];
|
||||
/* 80BD3338 */ int CreateHeap();
|
||||
/* 80BD3CA0 */ int Draw();
|
||||
|
||||
/* 0x568 */ cXyz mPos[10];
|
||||
/* 0x5e0 */ cXyz mVelocity[10];
|
||||
/* 0x658 */ cXyz mInitialPos[10];
|
||||
/* 0x6d0 */ csXyz mRotation[10];
|
||||
/* 0x70c */ csXyz mRotSpeed[10];
|
||||
/* 0x748 */ u32 mFlags;
|
||||
/* 0x74c */ f32 mGroundHeight;
|
||||
/* 0x750 */ bool mDrawHahen;
|
||||
/* 0x751 */ u8 mStatus[10];
|
||||
/* 0x75b */ u8 field_0x75b;
|
||||
/* 0x75c */ f32 mTimer;
|
||||
/* 0x760 */ J3DModel* mpModel[10];
|
||||
/* 0x788 */ request_of_phase_process_class mPhase;
|
||||
/* 0x790 */ u8 mEffectState;
|
||||
/* 0x791 */ bool mInitialized;
|
||||
/* 0x792 */ u8 mCounter;
|
||||
/* 0x793 */ u8 mDrawState;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjCRVHAHEN_c) == 0x794);
|
||||
|
||||
|
||||
#endif /* D_A_OBJ_CRVHAHEN_H */
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
#define D_A_OBJ_MVSTAIR_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_bg_s_movebg_actor.h"
|
||||
#include "d/d_particle.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
|
@ -11,35 +13,80 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class daObjStair_c : public fopAc_ac_c {
|
||||
class daObjStair_c : public dBgS_MoveBgActor {
|
||||
public:
|
||||
enum Action_e {
|
||||
ACTION_WAIT_e,
|
||||
ACTION_ORDER_EVENT_e,
|
||||
ACTION_EVENT_e,
|
||||
ACTION_END_e,
|
||||
};
|
||||
|
||||
enum MODE_e {
|
||||
MODE_WAIT_UPPER_e,
|
||||
MODE_UPPER_e,
|
||||
MODE_WAIT_LOWER_e,
|
||||
MODE_LOWER_e,
|
||||
};
|
||||
|
||||
/* 80C9D098 */ void initBaseMtx();
|
||||
/* 80C9D0D4 */ void setBaseMtx();
|
||||
/* 80C9D148 */ void Create();
|
||||
/* 80C9D2B8 */ void CreateHeap();
|
||||
/* 80C9D338 */ void create1st();
|
||||
/* 80C9D338 */ int create1st();
|
||||
/* 80C9D41C */ void event_proc_call();
|
||||
/* 80C9D4D8 */ void mode_proc_call();
|
||||
/* 80C9D594 */ void Execute(f32 (**)[3][4]);
|
||||
/* 80C9D710 */ void Draw();
|
||||
/* 80C9D7B4 */ void Delete();
|
||||
/* 80C9D82C */ void actionWait();
|
||||
/* 80C9D8EC */ void actionOrderEvent();
|
||||
/* 80C9D95C */ void actionEvent();
|
||||
/* 80C9D9BC */ bool actionEnd();
|
||||
/* 80C9D9C4 */ void modeWaitUpperInit();
|
||||
/* 80C9D9F4 */ void modeWaitUpper();
|
||||
/* 80C9DA98 */ void modeUpperInit();
|
||||
/* 80C9DADC */ void modeUpper();
|
||||
/* 80C9DF18 */ void modeWaitLowerInit();
|
||||
/* 80C9DF60 */ void modeWaitLower();
|
||||
/* 80C9E004 */ void modeLowerInit();
|
||||
/* 80C9E034 */ void modeLower();
|
||||
/* 80C9D82C */ int actionWait();
|
||||
/* 80C9D8EC */ int actionOrderEvent();
|
||||
/* 80C9D95C */ int actionEvent();
|
||||
/* 80C9D9BC */ int actionEnd();
|
||||
/* 80C9D9C4 */ int modeWaitUpperInit();
|
||||
/* 80C9D9F4 */ int modeWaitUpper();
|
||||
/* 80C9DA98 */ int modeUpperInit();
|
||||
/* 80C9DADC */ int modeUpper();
|
||||
/* 80C9DF18 */ int modeWaitLowerInit();
|
||||
/* 80C9DF60 */ int modeWaitLower();
|
||||
/* 80C9E004 */ int modeLowerInit();
|
||||
/* 80C9E034 */ int modeLower();
|
||||
/* 80C9E3D8 */ void setParticle();
|
||||
/* 80C9E5A0 */ void removeParticle();
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x66c - 0x568];
|
||||
/* 80C9D2B8 */ virtual int CreateHeap();
|
||||
/* 80C9D148 */ virtual int Create();
|
||||
/* 80C9D594 */ virtual int Execute(f32 (**)[3][4]);
|
||||
/* 80C9D710 */ virtual int Draw();
|
||||
/* 80C9D7B4 */ virtual int Delete();
|
||||
|
||||
u8 getSwbit() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
u8 getSwbit2() { return fopAcM_GetParamBit(this, 8, 8); }
|
||||
u8 getEvNo() { return fopAcM_GetParamBit(this, 16, 8); }
|
||||
u8 getDir() { return fopAcM_GetParamBit(this, 28, 1); }
|
||||
u8 getType() { return fopAcM_GetParamBit(this, 24, 4); }
|
||||
u8 getMdlType() { return fopAcM_GetParamBit(this, 29, 3); }
|
||||
|
||||
void setAction(u8 i_action) { mAction = i_action; }
|
||||
|
||||
/* 0x5A0 */ request_of_phase_process_class mPhase;
|
||||
/* 0x5A8 */ J3DModel* mpModel;
|
||||
/* 0x5AC */ JPABaseEmitter* mSmokeEmitter;
|
||||
/* 0x5B0 */ dPa_followEcallBack mParticleLeftEmitter[2];
|
||||
/* 0x5D8 */ dPa_followEcallBack mParticleRightEmitter[2];
|
||||
/* 0x600 */ cXyz mParticleLeftPos[2];
|
||||
/* 0x618 */ cXyz mParticleRightPos[2];
|
||||
/* 0x630 */ cXyz mSoundPos;
|
||||
/* 0x63C */ u8 mType;
|
||||
/* 0x63D */ u8 mAction;
|
||||
/* 0x63E */ u8 mMode;
|
||||
/* 0x63F */ u8 mIsSwitch;
|
||||
/* 0x640 */ s16 mEventId;
|
||||
/* 0x644 */ f32 mMoveAccel;
|
||||
/* 0x648 */ f32 mMoveStep;
|
||||
/* 0x64C */ u8 field_0x64C[0x650 - 0x64C];
|
||||
/* 0x650 */ cXyz mModelPos;
|
||||
/* 0x65C */ u16 mMoveStartShakeTimer;
|
||||
/* 0x65E */ s16 mMoveEndShakeTimer;
|
||||
/* 0x660 */ f32 mMoveStartShakeAmount;
|
||||
/* 0x664 */ u8 field_0x664[0x668 - 0x664];
|
||||
/* 0x668 */ u8 mMoveMode;
|
||||
/* 0x669 */ u8 mResType;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjStair_c) == 0x66c);
|
||||
|
|
|
@ -2,6 +2,23 @@
|
|||
#define D_A_OBJ_TKS_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/actor/d_a_npc.h"
|
||||
|
||||
struct daObjTks_HIOParam {
|
||||
/* 0x00 */ daNpcF_HIOParam common;
|
||||
/* 0x6C */ f32 offset_x;
|
||||
/* 0x70 */ f32 offset_y;
|
||||
/* 0x74 */ f32 offset_z;
|
||||
/* 0x78 */ f32 spring_factor;
|
||||
/* 0x7C */ f32 spring_atten;
|
||||
};
|
||||
|
||||
class daObjTks_Param_c {
|
||||
public:
|
||||
/* 80D126D0 */ virtual ~daObjTks_Param_c() {}
|
||||
|
||||
static const daObjTks_HIOParam m;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
|
@ -11,53 +28,79 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class daObjTks_c : public fopAc_ac_c {
|
||||
class daObjTks_c : public daNpcF_c {
|
||||
public:
|
||||
/* 80D0F28C */ daObjTks_c();
|
||||
/* 80D0F480 */ ~daObjTks_c();
|
||||
/* 80D0F640 */ void Create();
|
||||
/* 80D0F904 */ void CreateHeap();
|
||||
/* 80D0FD34 */ void Delete();
|
||||
/* 80D0FD68 */ void Execute();
|
||||
/* 80D0FE60 */ void Draw();
|
||||
/* 80D0FED0 */ void ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 80D10094 */ void createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80D100B4 */ void ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80D10100 */ void setMtx();
|
||||
/* 80D10184 */ void setExpressionAnm(int, bool);
|
||||
/* 80D102D0 */ void setExpressionBtp(int);
|
||||
/* 80D103A4 */ void setMotion(int, f32, int);
|
||||
/* 80D0F480 */ virtual ~daObjTks_c();
|
||||
|
||||
/* 80D0F640 */ int Create();
|
||||
/* 80D0F904 */ int CreateHeap();
|
||||
/* 80D0FD34 */ int Delete();
|
||||
/* 80D0FD68 */ int Execute();
|
||||
/* 80D0FE60 */ int Draw();
|
||||
/* 80D0FED0 */ int ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 80D10094 */ static int createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80D100B4 */ static int ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80D103E8 */ void reset();
|
||||
/* 80D10578 */ void setAction(void (daObjTks_c::*)());
|
||||
/* 80D10578 */ inline int setAction(void (daObjTks_c::*)());
|
||||
/* 80D10618 */ void wait();
|
||||
/* 80D106C8 */ void setExpression(int, f32);
|
||||
/* 80D106F4 */ void talk();
|
||||
/* 80D10A80 */ void demo();
|
||||
/* 80D11104 */ bool setMotionAnm(int, f32);
|
||||
/* 80D11228 */ void warp();
|
||||
/* 80D11670 */ void setParam();
|
||||
/* 80D116C8 */ void main();
|
||||
/* 80D118E8 */ void ctrlBtk();
|
||||
/* 80D119BC */ void setAttnPos();
|
||||
/* 80D11CB4 */ void lookat();
|
||||
/* 80D11E94 */ bool drawDbgInfo();
|
||||
/* 80D11E9C */ void drawOtherMdls();
|
||||
/* 80D11CB4 */ inline void lookat();
|
||||
|
||||
/* 80D11670 */ virtual void setParam();
|
||||
/* 80D116C8 */ virtual BOOL main();
|
||||
/* 80D118E8 */ virtual BOOL ctrlBtk();
|
||||
/* 80D10100 */ virtual void setMtx();
|
||||
/* 80D119BC */ virtual void setAttnPos();
|
||||
/* 80D10184 */ virtual bool setExpressionAnm(int, bool);
|
||||
/* 80D102D0 */ virtual bool setExpressionBtp(int);
|
||||
/* 80D106C8 */ virtual void setExpression(int, f32);
|
||||
/* 80D11104 */ virtual void setMotionAnm(int, f32);
|
||||
/* 80D103A4 */ virtual void setMotion(int, f32, int);
|
||||
/* 80D11E94 */ virtual BOOL drawDbgInfo();
|
||||
/* 80D11E9C */ virtual void drawOtherMdls();
|
||||
|
||||
void calcSpringF(f32* param_0, f32 param_1, f32* param_2) {
|
||||
*param_2 = daObjTks_Param_c::m.spring_atten * (*param_2 + (daObjTks_Param_c::m.spring_factor * (*param_0 - param_1)));
|
||||
*param_0 += *param_2;
|
||||
}
|
||||
|
||||
inline void playExpression();
|
||||
inline void playMotion();
|
||||
|
||||
bool chkAction(void (daObjTks_c::*i_action)()) { return i_action == mAction; }
|
||||
|
||||
void setStart() { field_0xde0 = 1; }
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0xDE0 - 0x568];
|
||||
void setLookMode(int i_mode) {
|
||||
if (i_mode >= 0 && i_mode < 6 && i_mode != mLookMode) {
|
||||
mLookMode = i_mode;
|
||||
}
|
||||
}
|
||||
|
||||
void setExpressionTalkAfter() {
|
||||
(void)mExpression;
|
||||
setExpression(1, -1.0f);
|
||||
}
|
||||
|
||||
/* 0xB48 */ Z2Creature mSound;
|
||||
/* 0xBD8 */ daNpcF_MatAnm_c* mpMatAnm;
|
||||
/* 0xBDC */ daNpcF_Lookat_c mLookat;
|
||||
/* 0xC78 */ u8 field_0xC78[0xC7C - 0xC78];
|
||||
/* 0xC7C */ dCcD_Cyl mCcCyl;
|
||||
/* 0xDB8 */ void (daObjTks_c::*mAction)();
|
||||
/* 0xDC4 */ request_of_phase_process_class mPhase;
|
||||
/* 0xDCC */ f32 field_0xdcc;
|
||||
/* 0xDD0 */ f32 field_0xdd0;
|
||||
/* 0xDD4 */ u8 field_0xDD4[0xDDC - 0xDD4];
|
||||
/* 0xDDC */ s16 mLookMode;
|
||||
/* 0xDDE */ u16 field_0xdde;
|
||||
/* 0xDE0 */ u8 field_0xde0;
|
||||
/* 0xDE1 */ u8 field_0xde1[0xDE4 - 0xDE1];
|
||||
/* 0xDE1 */ u8 field_0xde1;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjTks_c) == 0xDE4);
|
||||
|
||||
class daObjTks_Param_c {
|
||||
public:
|
||||
/* 80D126D0 */ ~daObjTks_Param_c();
|
||||
|
||||
static u8 const m[128];
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_TKS_H */
|
||||
|
|
|
@ -4,348 +4,260 @@
|
|||
*/
|
||||
|
||||
#include "d/actor/d_a_obj_crvhahen.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static void useHeapInit__FP10fopAc_ac_c();
|
||||
extern "C" static void daObjCRVHAHEN_Create__FP10fopAc_ac_c();
|
||||
extern "C" static void daObjCRVHAHEN_Delete__FP15daObjCRVHAHEN_c();
|
||||
extern "C" void HahenSet__15daObjCRVHAHEN_cF4cXyz4cXyz4cXyz4cXyzf();
|
||||
extern "C" void Wall_Check__15daObjCRVHAHEN_cF4cXyz4cXyz();
|
||||
extern "C" void __dt__4cXyzFv();
|
||||
extern "C" void Hahen_Hakai__15daObjCRVHAHEN_cFii();
|
||||
extern "C" void CheckCull__15daObjCRVHAHEN_cFv();
|
||||
extern "C" void checkViewArea__15daObjCRVHAHEN_cFP4cXyz();
|
||||
extern "C" void Execute__15daObjCRVHAHEN_cFv();
|
||||
extern "C" void Delete__15daObjCRVHAHEN_cFv();
|
||||
extern "C" void setBaseMtx__15daObjCRVHAHEN_cFv();
|
||||
extern "C" static void daObjCRVHAHEN_Draw__FP15daObjCRVHAHEN_c();
|
||||
extern "C" static void daObjCRVHAHEN_Execute__FP15daObjCRVHAHEN_c();
|
||||
extern "C" void create__15daObjCRVHAHEN_cFv();
|
||||
extern "C" void __dt__5csXyzFv();
|
||||
extern "C" void __ct__5csXyzFv();
|
||||
extern "C" void __ct__4cXyzFv();
|
||||
extern "C" static bool daObjCRVHAHEN_IsDelete__FP15daObjCRVHAHEN_c();
|
||||
extern "C" extern char const* const d_a_obj_crvhahen__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
|
||||
extern "C" void scaleM__14mDoMtx_stack_cFRC4cXyz();
|
||||
extern "C" void ZXYrotS__14mDoMtx_stack_cFRC5csXyz();
|
||||
extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void mDoLib_project__FP3VecP3Vec();
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
|
||||
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
|
||||
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
|
||||
extern "C" void addSimpleModel__14dComIfG_play_cFP12J3DModelDataiUc();
|
||||
extern "C" void removeSimpleModel__14dComIfG_play_cFP12J3DModelDatai();
|
||||
extern "C" void entrySimpleModel__14dComIfG_play_cFP8J3DModeli();
|
||||
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci();
|
||||
extern "C" void LineCross__4cBgSFP11cBgS_LinChk();
|
||||
extern "C" void __ct__11dBgS_LinChkFv();
|
||||
extern "C" void __dt__11dBgS_LinChkFv();
|
||||
extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c();
|
||||
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void cM_rndF__Ff();
|
||||
extern "C" void cM_rndFX__Ff();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_21();
|
||||
extern "C" void _savegpr_24();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_21();
|
||||
extern "C" void _restgpr_24();
|
||||
extern "C" void _restgpr_25();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BD4048-80BD4048 000058 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80BD4048 = "CrvFence";
|
||||
SECTION_DEAD static char const* const stringBase_80BD4051 = "CaravanPiece.bmd";
|
||||
#pragma pop
|
||||
|
||||
/* 80BD4064-80BD4068 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
|
||||
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_crvhahen__stringBase0;
|
||||
static const char* l_arcName = "CrvFence";
|
||||
|
||||
inline int daObjCRVHAHEN_c::CreateHeap() {
|
||||
J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, "CaravanPiece.bmd");
|
||||
|
||||
for (int i = 0; i < 10; i++) {
|
||||
mpModel[i] = mDoExt_J3DModel__create(model_data, 0x20000, 0x11000084);
|
||||
if (mpModel[i] == NULL) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BD3338-80BD33E8 000078 00B0+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */
|
||||
static void useHeapInit(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int useHeapInit(fopAc_ac_c* i_this) {
|
||||
return ((daObjCRVHAHEN_c*)i_this)->CreateHeap();
|
||||
}
|
||||
|
||||
/* 80BD33E8-80BD3408 000128 0020+00 1/0 0/0 0/0 .text daObjCRVHAHEN_Create__FP10fopAc_ac_c */
|
||||
static void daObjCRVHAHEN_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObjCRVHAHEN_Create(fopAc_ac_c* i_this) {
|
||||
static_cast<daObjCRVHAHEN_c*>(i_this)->create();
|
||||
}
|
||||
|
||||
/* 80BD3408-80BD342C 000148 0024+00 1/0 0/0 0/0 .text daObjCRVHAHEN_Delete__FP15daObjCRVHAHEN_c */
|
||||
static void daObjCRVHAHEN_Delete(daObjCRVHAHEN_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObjCRVHAHEN_Delete(daObjCRVHAHEN_c* i_this) {
|
||||
i_this->Delete();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BD3FF0-80BD3FF4 000000 0004+00 5/5 0/0 0/0 .rodata @3703 */
|
||||
SECTION_RODATA static f32 const lit_3703 = 0.5f;
|
||||
COMPILER_STRIP_GATE(0x80BD3FF0, &lit_3703);
|
||||
|
||||
/* 80BD3FF4-80BD3FF8 000004 0004+00 0/1 0/0 0/0 .rodata @3704 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3704 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD3FF4, &lit_3704);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD3FF8-80BD3FFC 000008 0004+00 0/1 0/0 0/0 .rodata @3705 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3705 = 5000.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD3FF8, &lit_3705);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD3FFC-80BD4000 00000C 0004+00 0/1 0/0 0/0 .rodata @3706 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3706 = 65536.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD3FFC, &lit_3706);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD342C-80BD3628 00016C 01FC+00 0/0 0/0 2/2 .text
|
||||
* HahenSet__15daObjCRVHAHEN_cF4cXyz4cXyz4cXyz4cXyzf */
|
||||
void daObjCRVHAHEN_c::HahenSet(cXyz param_0, cXyz param_1, cXyz param_2, cXyz param_3,
|
||||
f32 param_4) {
|
||||
// NONMATCHING
|
||||
int daObjCRVHAHEN_c::HahenSet(cXyz i_param_1, cXyz i_param_2, cXyz i_param_3, cXyz i_param_4,
|
||||
f32 duration) {
|
||||
mDrawHahen = true;
|
||||
mTimer = duration;
|
||||
|
||||
for (int i = 0; i < 10; i++) {
|
||||
mPos[i].set(i_param_2.x + cM_rndFX(i_param_1.x), i_param_2.y + cM_rndF(i_param_1.y),
|
||||
i_param_2.z + cM_rndFX(i_param_1.z));
|
||||
mInitialPos[i].set(cM_rndF(1.0f) + 0.5f, cM_rndF(1.0f) + 0.5f, cM_rndF(1.0f) + 0.5f);
|
||||
mVelocity[i].set(i_param_4.x + cM_rndFX(i_param_3.x), i_param_4.y + cM_rndF(i_param_3.y),
|
||||
i_param_4.z + cM_rndF(i_param_3.z));
|
||||
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::ZXYrotM(shape_angle);
|
||||
|
||||
mDoMtx_stack_c::multVec(&mPos[i], &mPos[i]);
|
||||
mDoMtx_stack_c::ZXYrotS(shape_angle);
|
||||
mDoMtx_stack_c::multVec(&mVelocity[i], &mVelocity[i]);
|
||||
|
||||
mRotSpeed[i].x = cM_rndFX(5000.0f);
|
||||
mRotSpeed[i].y = cM_rndFX(5000.0f);
|
||||
mRotation[i].x = cM_rndFX(65536.0f);
|
||||
mRotation[i].y = cM_rndFX(65536.0f);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BD3628-80BD36E4 000368 00BC+00 1/1 0/0 0/0 .text Wall_Check__15daObjCRVHAHEN_cF4cXyz4cXyz */
|
||||
void daObjCRVHAHEN_c::Wall_Check(cXyz param_0, cXyz param_1) {
|
||||
// NONMATCHING
|
||||
bool daObjCRVHAHEN_c::Wall_Check(cXyz i_origin, cXyz i_target) {
|
||||
dBgS_LinChk line_check;
|
||||
|
||||
cXyz linePos(i_origin.x + i_target.x, i_origin.y, i_origin.z + i_target.z);
|
||||
|
||||
line_check.Set(&i_origin, &linePos, NULL);
|
||||
|
||||
bool did_line_cross = dComIfG_Bgsp().LineCross(&line_check);
|
||||
|
||||
if (did_line_cross == true) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 80BD36E4-80BD3720 000424 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */
|
||||
// cXyz::~cXyz() {
|
||||
extern "C" void __dt__4cXyzFv() {
|
||||
// NONMATCHING
|
||||
return did_line_cross;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BD4000-80BD4004 000010 0004+00 0/2 0/0 0/0 .rodata @3773 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3773 = -9.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD4000, &lit_3773);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD4004-80BD4008 000014 0004+00 0/1 0/0 0/0 .rodata @3774 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3774 = 13.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD4004, &lit_3774);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD4008-80BD400C 000018 0004+00 0/1 0/0 0/0 .rodata @3775 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3775 = -3.0f / 5.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD4008, &lit_3775);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD400C-80BD4010 00001C 0004+00 0/1 0/0 0/0 .rodata @3776 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3776 = 4.0f / 5.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD400C, &lit_3776);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD3720-80BD38DC 000460 01BC+00 1/1 0/0 0/0 .text Hahen_Hakai__15daObjCRVHAHEN_cFii
|
||||
*/
|
||||
void daObjCRVHAHEN_c::Hahen_Hakai(int param_0, int param_1) {
|
||||
// NONMATCHING
|
||||
void daObjCRVHAHEN_c::Hahen_Hakai(int i_start, int i_end) {
|
||||
for (int i = i_start; i < i_end; ++i) {
|
||||
if (mStatus[i] > 3) {
|
||||
mPos[i].y = mGroundHeight;
|
||||
mRotation[i].x = 0x4000;
|
||||
} else {
|
||||
mVelocity[i].y += +-9.0f;
|
||||
Wall_Check(mPos[i], mVelocity[i]);
|
||||
|
||||
// mPos[i].x = mPos[i].x + mVelocity[i].x;
|
||||
// mPos[i].y = mPos[i].y + mVelocity[i].y;
|
||||
// mPos[i].z = mPos[i].z + mVelocity[i].z;
|
||||
|
||||
mPos[i].x += mVelocity[i].x;
|
||||
mPos[i].y += mVelocity[i].y;
|
||||
mPos[i].z += mVelocity[i].z;
|
||||
|
||||
mRotation[i].x += mRotSpeed[i].x;
|
||||
mRotation[i].y += mRotSpeed[i].y;
|
||||
mRotation[i].z += mRotSpeed[i].z;
|
||||
|
||||
if ((mGroundHeight + 13.0f) >= mPos[i].y) {
|
||||
++mStatus[i];
|
||||
mPos[i].y = mGroundHeight + 13.0f;
|
||||
|
||||
mVelocity[i].y = mVelocity[i].y * -0.6f;
|
||||
mVelocity[i].x = mVelocity[i].x * 0.8f;
|
||||
mVelocity[i].z = mVelocity[i].z * 0.8f;
|
||||
|
||||
// mVelocity[i].y *= -0.6f;
|
||||
// mVelocity[i].x *= 0.8f;
|
||||
// mVelocity[i].z *= 0.8f;
|
||||
|
||||
mRotation[i].x = 0x4000;
|
||||
mRotation[i].y = mRotation[i].y + mRotSpeed[i].y;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BD4010-80BD4018 000020 0004+04 0/2 0/0 0/0 .rodata @3836 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3836[4 + 4 /* padding */] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
/* padding */
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BD4010, &lit_3836);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD4018-80BD4020 000028 0008+00 0/1 0/0 0/0 .rodata @3837 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3837[8] = {
|
||||
0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BD4018, &lit_3837);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD4020-80BD4028 000030 0008+00 0/1 0/0 0/0 .rodata @3838 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3838[8] = {
|
||||
0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BD4020, &lit_3838);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD4028-80BD4030 000038 0008+00 0/1 0/0 0/0 .rodata @3839 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3839[8] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BD4028, &lit_3839);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD38DC-80BD3A9C 00061C 01C0+00 1/1 0/0 0/0 .text CheckCull__15daObjCRVHAHEN_cFv */
|
||||
void daObjCRVHAHEN_c::CheckCull() {
|
||||
// NONMATCHING
|
||||
daPy_py_c* player_actor = daPy_getPlayerActorClass();
|
||||
cXyz& player_pos = fopAcM_GetPosition((fopAc_ac_c*)player_actor);
|
||||
|
||||
int culled_num = 1;
|
||||
for (int i = 0; i < 10; i++) {
|
||||
if ((mPos[i].absXZ(player_pos) > mTimer) && !checkViewArea(&mPos[i])) {
|
||||
culled_num++;
|
||||
if (culled_num == 10) {
|
||||
fopAcM_delete(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BD4030-80BD4034 000040 0004+00 0/1 0/0 0/0 .rodata @3852 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3852 = 608.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD4030, &lit_3852);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD4034-80BD4038 000044 0004+00 0/1 0/0 0/0 .rodata @3853 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3853 = 448.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD4034, &lit_3853);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD3A9C-80BD3B20 0007DC 0084+00 1/1 0/0 0/0 .text checkViewArea__15daObjCRVHAHEN_cFP4cXyz */
|
||||
void daObjCRVHAHEN_c::checkViewArea(cXyz* param_0) {
|
||||
// NONMATCHING
|
||||
bool daObjCRVHAHEN_c::checkViewArea(cXyz* i_this) {
|
||||
Vec proj;
|
||||
mDoLib_project(i_this, &proj);
|
||||
|
||||
bool ret = false;
|
||||
|
||||
if (proj.x >= 0.0f && proj.x <= 608.0f && proj.y >= 0.0f && proj.y <= 448.0f) {
|
||||
ret = true;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 80BD3B20-80BD3B74 000860 0054+00 1/1 0/0 0/0 .text Execute__15daObjCRVHAHEN_cFv */
|
||||
void daObjCRVHAHEN_c::Execute() {
|
||||
// NONMATCHING
|
||||
int daObjCRVHAHEN_c::Execute() {
|
||||
if (mDrawHahen) {
|
||||
daObjCRVHAHEN_c::Hahen_Hakai(0, 10);
|
||||
}
|
||||
|
||||
daObjCRVHAHEN_c::setBaseMtx();
|
||||
daObjCRVHAHEN_c::CheckCull();
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BD3B74-80BD3C0C 0008B4 0098+00 1/1 0/0 0/0 .text Delete__15daObjCRVHAHEN_cFv */
|
||||
void daObjCRVHAHEN_c::Delete() {
|
||||
// NONMATCHING
|
||||
int daObjCRVHAHEN_c::Delete() {
|
||||
if (mInitialized) {
|
||||
J3DModelData* model_data = (J3DModelData*)dRes_control_c::getRes(
|
||||
l_arcName, "CaravanPiece.bmd", g_dComIfG_gameInfo.mResControl.mObjectInfo, 0x80);
|
||||
dComIfGp_removeSimpleModel(model_data, (int)(char)current.roomNo);
|
||||
}
|
||||
|
||||
dComIfG_resDelete(&mPhase, l_arcName);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BD3C0C-80BD3CA0 00094C 0094+00 1/1 0/0 0/0 .text setBaseMtx__15daObjCRVHAHEN_cFv */
|
||||
void daObjCRVHAHEN_c::setBaseMtx() {
|
||||
// NONMATCHING
|
||||
for (int i = 0; i < 10; i++) {
|
||||
mDoMtx_stack_c::transS(mPos[i]);
|
||||
mDoMtx_stack_c::ZXYrotM(mRotation[i]);
|
||||
mDoMtx_stack_c::scaleM(mInitialPos[i]);
|
||||
mpModel[i]->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
}
|
||||
|
||||
inline int daObjCRVHAHEN_c::Draw() {
|
||||
g_env_light.settingTevStruct(0, ¤t.pos, &tevStr);
|
||||
|
||||
for (int i = 0, j = i; i < 10; i = i + 1) {
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel[i], &tevStr);
|
||||
}
|
||||
|
||||
dComIfGd_setListBG();
|
||||
|
||||
if (mDrawHahen) {
|
||||
for (int i = 0; i < 10; i = i + 1) {
|
||||
s8 roomno = fopAcM_GetRoomNo(this);
|
||||
dComIfGp_entrySimpleModel(mpModel[i], roomno);
|
||||
}
|
||||
}
|
||||
|
||||
dComIfGd_setList();
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BD3CA0-80BD3D9C 0009E0 00FC+00 1/0 0/0 0/0 .text daObjCRVHAHEN_Draw__FP15daObjCRVHAHEN_c */
|
||||
static void daObjCRVHAHEN_Draw(daObjCRVHAHEN_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObjCRVHAHEN_Draw(daObjCRVHAHEN_c* i_this) {
|
||||
return i_this->Draw();
|
||||
}
|
||||
|
||||
/* 80BD3D9C-80BD3DBC 000ADC 0020+00 2/1 0/0 0/0 .text daObjCRVHAHEN_Execute__FP15daObjCRVHAHEN_c
|
||||
*/
|
||||
static void daObjCRVHAHEN_Execute(daObjCRVHAHEN_c* param_0) {
|
||||
// NONMATCHING
|
||||
/* 80BD3D9C-80BD3DBC 000ADC 0020+00 2/1 0/0 0/0 .text daObjCRVHAHEN_Execute__FP15daObjCRVHAHEN_c */
|
||||
static int daObjCRVHAHEN_Execute(daObjCRVHAHEN_c* i_this) {
|
||||
i_this->Execute();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BD4038-80BD403C 000048 0004+00 0/1 0/0 0/0 .rodata @3993 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3993 = -1000.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD4038, &lit_3993);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD403C-80BD4040 00004C 0004+00 0/1 0/0 0/0 .rodata @3994 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3994 = -500.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD403C, &lit_3994);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD4040-80BD4044 000050 0004+00 0/1 0/0 0/0 .rodata @3995 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3995 = 1000.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD4040, &lit_3995);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD4044-80BD4048 000054 0004+00 0/1 0/0 0/0 .rodata @3996 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3996 = 500.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD4044, &lit_3996);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD3DBC-80BD3F9C 000AFC 01E0+00 1/1 0/0 0/0 .text create__15daObjCRVHAHEN_cFv */
|
||||
void daObjCRVHAHEN_c::create() {
|
||||
// NONMATCHING
|
||||
int daObjCRVHAHEN_c::create() {
|
||||
fopAcM_SetupActor(this, daObjCRVHAHEN_c);
|
||||
|
||||
|
||||
|
||||
int phase_state = dComIfG_resLoad(&mPhase, l_arcName);
|
||||
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
if (!fopAcM_entrySolidHeap(this, useHeapInit, 0x1320)) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
mDrawHahen = 0;
|
||||
gravity = -9.0f;
|
||||
J3DModelData* model_data = (J3DModelData*)dRes_control_c::getRes(
|
||||
l_arcName, "CaravanPiece.bmd", g_dComIfG_gameInfo.mResControl.mObjectInfo, 0x80);
|
||||
dComIfGp_addSimpleModel(model_data, (int)(char)current.roomNo, '\0');
|
||||
mInitialized = true;
|
||||
mGroundHeight = current.pos.y;
|
||||
fopAcM_setCullSizeBox(this, -1000.0, -500.0, -1000.0, 1000.0, 500.0, 1000.0);
|
||||
daObjCRVHAHEN_Execute(this);
|
||||
}
|
||||
return phase_state;
|
||||
}
|
||||
|
||||
/* 80BD3F9C-80BD3FD8 000CDC 003C+00 1/1 0/0 0/0 .text __dt__5csXyzFv */
|
||||
// csXyz::~csXyz() {
|
||||
extern "C" void __dt__5csXyzFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BD3FD8-80BD3FDC 000D18 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */
|
||||
// csXyz::csXyz() {
|
||||
extern "C" void __ct__5csXyzFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80BD3FDC-80BD3FE0 000D1C 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
|
||||
// cXyz::cXyz() {
|
||||
extern "C" void __ct__4cXyzFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80BD3FE0-80BD3FE8 000D20 0008+00 1/0 0/0 0/0 .text daObjCRVHAHEN_IsDelete__FP15daObjCRVHAHEN_c
|
||||
*/
|
||||
static bool daObjCRVHAHEN_IsDelete(daObjCRVHAHEN_c* param_0) {
|
||||
/* 80BD3FE0-80BD3FE8 000D20 0008+00 1/0 0/0 0/0 .text daObjCRVHAHEN_IsDelete__FP15daObjCRVHAHEN_c */
|
||||
static int daObjCRVHAHEN_IsDelete(daObjCRVHAHEN_c* i_this) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BD4068-80BD4088 -00001 0020+00 1/0 0/0 0/0 .data l_daObjCRVHAHEN_Method */
|
||||
static actor_method_class l_daObjCRVHAHEN_Method = {
|
||||
(process_method_func)daObjCRVHAHEN_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daObjCRVHAHEN_Delete__FP15daObjCRVHAHEN_c,
|
||||
(process_method_func)daObjCRVHAHEN_Execute__FP15daObjCRVHAHEN_c,
|
||||
(process_method_func)daObjCRVHAHEN_IsDelete__FP15daObjCRVHAHEN_c,
|
||||
(process_method_func)daObjCRVHAHEN_Draw__FP15daObjCRVHAHEN_c,
|
||||
(process_method_func)daObjCRVHAHEN_Create, (process_method_func)daObjCRVHAHEN_Delete,
|
||||
(process_method_func)daObjCRVHAHEN_Execute, (process_method_func)daObjCRVHAHEN_IsDelete,
|
||||
(process_method_func)daObjCRVHAHEN_Draw,
|
||||
};
|
||||
|
||||
/* 80BD4088-80BD40B8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_CRVHAHEN */
|
||||
|
@ -365,5 +277,3 @@ extern actor_process_profile_definition g_profile_Obj_CRVHAHEN = {
|
|||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80BD4048-80BD4048 000058 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
|
|
@ -4,487 +4,502 @@
|
|||
*/
|
||||
|
||||
#include "d/actor/d_a_obj_mvstair.h"
|
||||
#include "dol2asm.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_s_play.h"
|
||||
|
||||
/* 80C9E8AC-80C9E8B4 000000 0008+00 4/4 0/0 0/0 .rodata l_bmdName */
|
||||
static const int l_bmdName[] = {4, 4};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
/* 80C9E8B4-80C9E8BC 000008 0008+00 1/1 0/0 0/0 .rodata l_dzbName */
|
||||
static const int l_dzbName[] = {7, 7};
|
||||
|
||||
extern "C" void initBaseMtx__12daObjStair_cFv();
|
||||
extern "C" void setBaseMtx__12daObjStair_cFv();
|
||||
extern "C" void Create__12daObjStair_cFv();
|
||||
extern "C" void CreateHeap__12daObjStair_cFv();
|
||||
extern "C" void create1st__12daObjStair_cFv();
|
||||
extern "C" void event_proc_call__12daObjStair_cFv();
|
||||
extern "C" void mode_proc_call__12daObjStair_cFv();
|
||||
extern "C" void Execute__12daObjStair_cFPPA3_A4_f();
|
||||
extern "C" void Draw__12daObjStair_cFv();
|
||||
extern "C" void Delete__12daObjStair_cFv();
|
||||
extern "C" void actionWait__12daObjStair_cFv();
|
||||
extern "C" void actionOrderEvent__12daObjStair_cFv();
|
||||
extern "C" void actionEvent__12daObjStair_cFv();
|
||||
extern "C" bool actionEnd__12daObjStair_cFv();
|
||||
extern "C" void modeWaitUpperInit__12daObjStair_cFv();
|
||||
extern "C" void modeWaitUpper__12daObjStair_cFv();
|
||||
extern "C" void modeUpperInit__12daObjStair_cFv();
|
||||
extern "C" void modeUpper__12daObjStair_cFv();
|
||||
extern "C" void __dt__4cXyzFv();
|
||||
extern "C" void modeWaitLowerInit__12daObjStair_cFv();
|
||||
extern "C" void modeWaitLower__12daObjStair_cFv();
|
||||
extern "C" void modeLowerInit__12daObjStair_cFv();
|
||||
extern "C" void modeLower__12daObjStair_cFv();
|
||||
extern "C" void setParticle__12daObjStair_cFv();
|
||||
extern "C" void removeParticle__12daObjStair_cFv();
|
||||
extern "C" static void daObjStair_create1st__FP12daObjStair_c();
|
||||
extern "C" void __ct__4cXyzFv();
|
||||
extern "C" void __dt__19dPa_followEcallBackFv();
|
||||
extern "C" void cleanup__18dPa_levelEcallBackFv();
|
||||
extern "C" void __defctor__19dPa_followEcallBackFv();
|
||||
extern "C" static void daObjStair_MoveBGDelete__FP12daObjStair_c();
|
||||
extern "C" static void daObjStair_MoveBGExecute__FP12daObjStair_c();
|
||||
extern "C" static void daObjStair_MoveBGDraw__FP12daObjStair_c();
|
||||
extern "C" void __dt__18dPa_levelEcallBackFv();
|
||||
extern "C" void execute__18JPAEmitterCallBackFP14JPABaseEmitter();
|
||||
extern "C" void executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter();
|
||||
extern "C" void draw__18JPAEmitterCallBackFP14JPABaseEmitter();
|
||||
extern "C" void drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter();
|
||||
extern "C" extern char const* const d_a_obj_mvstair__stringBase0;
|
||||
/* 80C9E8BC-80C9E8D4 000010 0018+00 1/2 0/0 0/0 .rodata l_move_len */
|
||||
static const f32 l_move_len[] = {
|
||||
150.0f,
|
||||
300.0f,
|
||||
450.0f,
|
||||
600.0f,
|
||||
500.0f,
|
||||
550.0f,
|
||||
};
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData();
|
||||
extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs();
|
||||
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 getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void reset__14dEvt_control_cFv();
|
||||
extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc();
|
||||
extern "C" void endCheck__16dEvent_manager_cFs();
|
||||
extern "C" void __ct__19dPa_followEcallBackFUcUc();
|
||||
extern "C" void
|
||||
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
|
||||
extern "C" void StartShock__12dVibration_cFii4cXyz();
|
||||
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 settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void cLib_addCalc0__FPfff();
|
||||
extern "C" void cLib_chaseF__FPfff();
|
||||
extern "C" void __dt__18JPAEmitterCallBackFv();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void __ptmf_scall();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__19dPa_followEcallBack[10];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
extern "C" extern u8 struct_80C9EAA8[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
/* 80C9E8D4-80C9E8DC 000028 0008+00 1/1 0/0 0/0 .rodata l_heap_size */
|
||||
static const u32 l_heap_size[] = {0xB40, 0x2C60};
|
||||
|
||||
/* 80C9D098-80C9D0D4 000078 003C+00 1/1 0/0 0/0 .text initBaseMtx__12daObjStair_cFv */
|
||||
void daObjStair_c::initBaseMtx() {
|
||||
// NONMATCHING
|
||||
mpModel->setBaseScale(scale);
|
||||
setBaseMtx();
|
||||
}
|
||||
|
||||
/* 80C9D0D4-80C9D148 0000B4 0074+00 2/2 0/0 0/0 .text setBaseMtx__12daObjStair_cFv */
|
||||
void daObjStair_c::setBaseMtx() {
|
||||
// NONMATCHING
|
||||
mDoMtx_stack_c::transS(mModelPos.x, mModelPos.y, mModelPos.z);
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
|
||||
MTXCopy(mDoMtx_stack_c::get(), mBgMtx);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C9E8AC-80C9E8B4 000000 0008+00 4/4 0/0 0/0 .rodata l_bmdName */
|
||||
SECTION_RODATA static u8 const l_bmdName[8] = {
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C9E8AC, &l_bmdName);
|
||||
|
||||
/* 80C9E8B4-80C9E8BC 000008 0008+00 1/1 0/0 0/0 .rodata l_dzbName */
|
||||
SECTION_RODATA static u8 const l_dzbName[8] = {
|
||||
0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C9E8B4, &l_dzbName);
|
||||
|
||||
/* 80C9E8BC-80C9E8D4 000010 0018+00 1/2 0/0 0/0 .rodata l_move_len */
|
||||
SECTION_RODATA static u8 const l_move_len[24] = {
|
||||
0x43, 0x16, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0x43, 0xE1, 0x00, 0x00,
|
||||
0x44, 0x16, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C9E8BC, &l_move_len);
|
||||
|
||||
/* 80C9E8D4-80C9E8DC 000028 0008+00 1/1 0/0 0/0 .rodata l_heap_size */
|
||||
SECTION_RODATA static u8 const l_heap_size[8] = {
|
||||
0x00, 0x00, 0x0B, 0x40, 0x00, 0x00, 0x2C, 0x60,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C9E8D4, &l_heap_size);
|
||||
|
||||
/* 80C9E8DC-80C9E8E0 000030 0004+00 1/3 0/0 0/0 .rodata @3709 */
|
||||
SECTION_RODATA static f32 const lit_3709 = 600.0f;
|
||||
COMPILER_STRIP_GATE(0x80C9E8DC, &lit_3709);
|
||||
|
||||
/* 80C9D148-80C9D2B8 000128 0170+00 1/0 0/0 0/0 .text Create__12daObjStair_cFv */
|
||||
void daObjStair_c::Create() {
|
||||
// NONMATCHING
|
||||
int daObjStair_c::Create() {
|
||||
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
|
||||
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
|
||||
|
||||
mEventId = dComIfGp_getEventManager().getEventIdx(this, getEvNo());
|
||||
u8 swbit = getSwbit();
|
||||
u8 swbit2 = getSwbit2();
|
||||
|
||||
if (fopAcM_isSwitch(this, swbit2)) {
|
||||
setAction(ACTION_END_e);
|
||||
modeWaitLowerInit();
|
||||
} else {
|
||||
if (getEvNo() == 0xFF) {
|
||||
setAction(ACTION_END_e);
|
||||
} else {
|
||||
setAction(ACTION_WAIT_e);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C9E90C-80C9E90C 000060 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80C9E90C = "K_mvkai00";
|
||||
SECTION_DEAD static char const* const stringBase_80C9E916 = "Lv9_mvkai";
|
||||
#pragma pop
|
||||
BOOL is_swbit = fopAcM_isSwitch(this, swbit);
|
||||
int dir = getDir();
|
||||
|
||||
/* 80C9E920-80C9E92C 000000 000C+00 2/2 0/0 0/0 .data cNullVec__6Z2Calc */
|
||||
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
if ((dir == 0 && is_swbit) || (dir == 1 && !is_swbit)) {
|
||||
modeWaitLowerInit();
|
||||
} else {
|
||||
modeWaitUpperInit();
|
||||
}
|
||||
}
|
||||
|
||||
/* 80C9E92C-80C9E940 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
|
||||
0x02000201,
|
||||
/* padding */
|
||||
0x40080000,
|
||||
0x00000000,
|
||||
0x3FE00000,
|
||||
0x00000000,
|
||||
};
|
||||
#pragma pop
|
||||
initBaseMtx();
|
||||
mIsSwitch = fopAcM_isSwitch(this, getSwbit());
|
||||
mSoundPos = home.pos;
|
||||
mSoundPos.y = 600.0f + home.pos.y;
|
||||
return 1;
|
||||
}
|
||||
|
||||
UNK_REL_DATA
|
||||
|
||||
/* 80C9E940-80C9E948 -00001 0008+00 3/3 0/0 0/0 .data l_arcName */
|
||||
SECTION_DATA static void* l_arcName[2] = {
|
||||
(void*)&d_a_obj_mvstair__stringBase0,
|
||||
(void*)(((char*)&d_a_obj_mvstair__stringBase0) + 0xA),
|
||||
static char* l_arcName[2] = {
|
||||
"K_mvkai00",
|
||||
"Lv9_mvkai",
|
||||
};
|
||||
|
||||
/* 80C9D2B8-80C9D338 000298 0080+00 1/0 0/0 0/0 .text CreateHeap__12daObjStair_cFv */
|
||||
void daObjStair_c::CreateHeap() {
|
||||
// NONMATCHING
|
||||
int daObjStair_c::CreateHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName[mResType], l_bmdName[mResType]);
|
||||
JUT_ASSERT(250, modelData != 0);
|
||||
|
||||
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (mpModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C9D338-80C9D41C 000318 00E4+00 1/1 0/0 0/0 .text create1st__12daObjStair_cFv */
|
||||
void daObjStair_c::create1st() {
|
||||
// NONMATCHING
|
||||
int daObjStair_c::create1st() {
|
||||
mType = getType();
|
||||
if (getMdlType() == 7 || getMdlType() == 0) {
|
||||
mResType = 0;
|
||||
} else if (getMdlType() == 1) {
|
||||
mResType = 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C9E948-80C9E954 -00001 000C+00 0/1 0/0 0/0 .data @3754 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3754[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)actionWait__12daObjStair_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
int phase_state = dComIfG_resLoad(&mPhase, l_arcName[mResType]);
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
phase_state = MoveBGCreate(l_arcName[mResType], l_dzbName[mResType], dBgS_MoveBGProc_TypicalRotY, l_heap_size[mResType], NULL);
|
||||
if (phase_state == cPhs_ERROR_e) {
|
||||
return phase_state;
|
||||
}
|
||||
|
||||
/* 80C9E954-80C9E960 -00001 000C+00 0/1 0/0 0/0 .data @3755 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3755[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)actionOrderEvent__12daObjStair_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
OS_REPORT("MVSTAIR PARAM:0x%x\n", fopAcM_GetParam(this));
|
||||
}
|
||||
|
||||
/* 80C9E960-80C9E96C -00001 000C+00 0/1 0/0 0/0 .data @3756 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3756[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)actionEvent__12daObjStair_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80C9E96C-80C9E978 -00001 000C+00 0/1 0/0 0/0 .data @3757 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3757[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)actionEnd__12daObjStair_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80C9E978-80C9E9A8 000058 0030+00 0/1 0/0 0/0 .data l_func$3753 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 l_func_3753[48] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
#pragma pop
|
||||
return phase_state;
|
||||
}
|
||||
|
||||
/* 80C9D41C-80C9D4D8 0003FC 00BC+00 1/1 0/0 0/0 .text event_proc_call__12daObjStair_cFv
|
||||
*/
|
||||
void daObjStair_c::event_proc_call() {
|
||||
// NONMATCHING
|
||||
static int (daObjStair_c::*l_func[])() = {
|
||||
&daObjStair_c::actionWait,
|
||||
&daObjStair_c::actionOrderEvent,
|
||||
&daObjStair_c::actionEvent,
|
||||
&daObjStair_c::actionEnd,
|
||||
};
|
||||
|
||||
(this->*l_func[mAction])();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C9E9A8-80C9E9B4 -00001 000C+00 0/1 0/0 0/0 .data @3765 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3765[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeWaitUpper__12daObjStair_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80C9E9B4-80C9E9C0 -00001 000C+00 0/1 0/0 0/0 .data @3766 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3766[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeUpper__12daObjStair_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80C9E9C0-80C9E9CC -00001 000C+00 0/1 0/0 0/0 .data @3767 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3767[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeWaitLower__12daObjStair_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80C9E9CC-80C9E9D8 -00001 000C+00 0/1 0/0 0/0 .data @3768 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3768[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeLower__12daObjStair_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80C9E9D8-80C9EA08 0000B8 0030+00 0/1 0/0 0/0 .data l_func$3764 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 l_func_3764[48] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80C9D4D8-80C9D594 0004B8 00BC+00 1/1 0/0 0/0 .text mode_proc_call__12daObjStair_cFv */
|
||||
void daObjStair_c::mode_proc_call() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C9E8E0-80C9E8E4 000034 0004+00 2/5 0/0 0/0 .rodata @3802 */
|
||||
SECTION_RODATA static u8 const lit_3802[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
static int (daObjStair_c::*l_func[])() = {
|
||||
&daObjStair_c::modeWaitUpper,
|
||||
&daObjStair_c::modeUpper,
|
||||
&daObjStair_c::modeWaitLower,
|
||||
&daObjStair_c::modeLower,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C9E8E0, &lit_3802);
|
||||
|
||||
/* 80C9E8E4-80C9E8E8 000038 0004+00 0/1 0/0 0/0 .rodata @3803 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3803 = -140.0f;
|
||||
COMPILER_STRIP_GATE(0x80C9E8E4, &lit_3803);
|
||||
#pragma pop
|
||||
|
||||
/* 80C9E8E8-80C9E8EC 00003C 0004+00 0/1 0/0 0/0 .rodata @3804 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3804 = 140.0f;
|
||||
COMPILER_STRIP_GATE(0x80C9E8E8, &lit_3804);
|
||||
#pragma pop
|
||||
|
||||
/* 80C9E8EC-80C9E8F0 000040 0004+00 0/1 0/0 0/0 .rodata @3805 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3805 = -450.0f;
|
||||
COMPILER_STRIP_GATE(0x80C9E8EC, &lit_3805);
|
||||
#pragma pop
|
||||
|
||||
/* 80C9E8F0-80C9E8F4 000044 0004+00 0/1 0/0 0/0 .rodata @3806 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3806 = 450.0f;
|
||||
COMPILER_STRIP_GATE(0x80C9E8F0, &lit_3806);
|
||||
#pragma pop
|
||||
(this->*l_func[mMode])();
|
||||
}
|
||||
|
||||
/* 80C9D594-80C9D710 000574 017C+00 1/0 0/0 0/0 .text Execute__12daObjStair_cFPPA3_A4_f
|
||||
*/
|
||||
void daObjStair_c::Execute(f32 (**param_0)[3][4]) {
|
||||
// NONMATCHING
|
||||
int daObjStair_c::Execute(f32 (**param_0)[3][4]) {
|
||||
event_proc_call();
|
||||
mode_proc_call();
|
||||
|
||||
*param_0 = &mBgMtx;
|
||||
setBaseMtx();
|
||||
|
||||
mIsSwitch = fopAcM_isSwitch(this, getSwbit());
|
||||
|
||||
mParticleLeftPos[0].set(0.0f, 0.0f, -140.0f);
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
mDoMtx_stack_c::multVec(&mParticleLeftPos[0], &mParticleLeftPos[0]);
|
||||
|
||||
mParticleLeftPos[1].set(0.0f, 0.0f, 140.0f);
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
mDoMtx_stack_c::multVec(&mParticleLeftPos[1], &mParticleLeftPos[1]);
|
||||
|
||||
mParticleRightPos[0].set(-450.0f, 0.0f, 0.0f);
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
mDoMtx_stack_c::multVec(&mParticleRightPos[0], &mParticleRightPos[0]);
|
||||
|
||||
mParticleRightPos[1].set(450.0f, 0.0f, 0.0f);
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
mDoMtx_stack_c::multVec(&mParticleRightPos[1], &mParticleRightPos[1]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C9D710-80C9D7B4 0006F0 00A4+00 1/0 0/0 0/0 .text Draw__12daObjStair_cFv */
|
||||
void daObjStair_c::Draw() {
|
||||
// NONMATCHING
|
||||
int daObjStair_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;
|
||||
}
|
||||
|
||||
/* 80C9D7B4-80C9D82C 000794 0078+00 1/0 0/0 0/0 .text Delete__12daObjStair_cFv */
|
||||
void daObjStair_c::Delete() {
|
||||
// NONMATCHING
|
||||
int daObjStair_c::Delete() {
|
||||
if (mSmokeEmitter != NULL) {
|
||||
mSmokeEmitter->becomeInvalidEmitter();
|
||||
mSmokeEmitter = NULL;
|
||||
}
|
||||
|
||||
removeParticle();
|
||||
dComIfG_resDelete(&mPhase, l_arcName[mResType]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C9D82C-80C9D8EC 00080C 00C0+00 1/0 0/0 0/0 .text actionWait__12daObjStair_cFv */
|
||||
void daObjStair_c::actionWait() {
|
||||
// NONMATCHING
|
||||
int daObjStair_c::actionWait() {
|
||||
if (fopAcM_isSwitch(this, getSwbit2())) {
|
||||
setAction(ACTION_END_e);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (mIsSwitch != fopAcM_isSwitch(this, getSwbit())) {
|
||||
setAction(ACTION_ORDER_EVENT_e);
|
||||
fopAcM_orderOtherEventId(this, mEventId, getEvNo(), 0xFFFF, 0, 1);
|
||||
eventInfo.onCondition(2);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C9D8EC-80C9D95C 0008CC 0070+00 1/0 0/0 0/0 .text actionOrderEvent__12daObjStair_cFv
|
||||
*/
|
||||
void daObjStair_c::actionOrderEvent() {
|
||||
// NONMATCHING
|
||||
int daObjStair_c::actionOrderEvent() {
|
||||
if (eventInfo.checkCommandDemoAccrpt()) {
|
||||
setAction(ACTION_EVENT_e);
|
||||
} else {
|
||||
fopAcM_orderOtherEventId(this, mEventId, getEvNo(), 0xFFFF, 0, 1);
|
||||
eventInfo.onCondition(2);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C9D95C-80C9D9BC 00093C 0060+00 1/0 0/0 0/0 .text actionEvent__12daObjStair_cFv */
|
||||
void daObjStair_c::actionEvent() {
|
||||
// NONMATCHING
|
||||
int daObjStair_c::actionEvent() {
|
||||
if (dComIfGp_evmng_endCheck(mEventId)) {
|
||||
setAction(ACTION_WAIT_e);
|
||||
dComIfGp_event_reset();
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C9D9BC-80C9D9C4 00099C 0008+00 1/0 0/0 0/0 .text actionEnd__12daObjStair_cFv */
|
||||
bool daObjStair_c::actionEnd() {
|
||||
return true;
|
||||
int daObjStair_c::actionEnd() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C9D9C4-80C9D9F4 0009A4 0030+00 2/2 0/0 0/0 .text modeWaitUpperInit__12daObjStair_cFv
|
||||
*/
|
||||
void daObjStair_c::modeWaitUpperInit() {
|
||||
// NONMATCHING
|
||||
int daObjStair_c::modeWaitUpperInit() {
|
||||
current.pos.y = home.pos.y;
|
||||
mModelPos = current.pos;
|
||||
mMode = MODE_WAIT_UPPER_e;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C9D9F4-80C9DA98 0009D4 00A4+00 1/0 0/0 0/0 .text modeWaitUpper__12daObjStair_cFv */
|
||||
void daObjStair_c::modeWaitUpper() {
|
||||
// NONMATCHING
|
||||
int daObjStair_c::modeWaitUpper() {
|
||||
int is_swbit = fopAcM_isSwitch(this, getSwbit());
|
||||
int dir = getDir();
|
||||
|
||||
if (!fopAcM_isSwitch(this, getSwbit2()) && ((is_swbit && dir == 0) || (!is_swbit && dir == 1))) {
|
||||
modeUpperInit();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C9E8F4-80C9E8F8 000048 0004+00 1/2 0/0 0/0 .rodata @3946 */
|
||||
SECTION_RODATA static f32 const lit_3946 = 3.0f;
|
||||
COMPILER_STRIP_GATE(0x80C9E8F4, &lit_3946);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C9DA98-80C9DADC 000A78 0044+00 1/1 0/0 0/0 .text modeUpperInit__12daObjStair_cFv */
|
||||
void daObjStair_c::modeUpperInit() {
|
||||
// NONMATCHING
|
||||
int daObjStair_c::modeUpperInit() {
|
||||
mMoveStartShakeTimer = 30;
|
||||
mMoveEndShakeTimer = 15;
|
||||
mMoveStartShakeAmount = 3.0f;
|
||||
mMoveMode = 0;
|
||||
mMoveAccel = 0.0f;
|
||||
mMoveStep = 0.0f;
|
||||
mMode = MODE_UPPER_e;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C9E8F8-80C9E8FC 00004C 0004+00 1/3 0/0 0/0 .rodata @4061 */
|
||||
SECTION_RODATA static f32 const lit_4061 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C9E8F8, &lit_4061);
|
||||
|
||||
/* 80C9E8FC-80C9E900 000050 0004+00 0/2 0/0 0/0 .rodata @4062 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4062 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C9E8FC, &lit_4062);
|
||||
#pragma pop
|
||||
|
||||
/* 80C9E900-80C9E904 000054 0004+00 0/2 0/0 0/0 .rodata @4063 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4063 = 9.0f / 20.0f;
|
||||
COMPILER_STRIP_GATE(0x80C9E900, &lit_4063);
|
||||
#pragma pop
|
||||
|
||||
/* 80C9E904-80C9E908 000058 0004+00 0/2 0/0 0/0 .rodata @4064 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4064 = 0.5f;
|
||||
COMPILER_STRIP_GATE(0x80C9E904, &lit_4064);
|
||||
#pragma pop
|
||||
|
||||
/* 80C9E908-80C9E90C 00005C 0004+00 0/2 0/0 0/0 .rodata @4065 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4065 = 50.0f;
|
||||
COMPILER_STRIP_GATE(0x80C9E908, &lit_4065);
|
||||
#pragma pop
|
||||
|
||||
/* 80C9DADC-80C9DEDC 000ABC 0400+00 1/0 0/0 0/0 .text modeUpper__12daObjStair_cFv */
|
||||
void daObjStair_c::modeUpper() {
|
||||
// NONMATCHING
|
||||
int daObjStair_c::modeUpper() {
|
||||
f32 move_speed = 50.0f;
|
||||
s16 shake_speed = 15000;
|
||||
|
||||
switch (mMoveMode) {
|
||||
case 0:
|
||||
if (mMoveStartShakeTimer == 0) {
|
||||
if (mSmokeEmitter == NULL) {
|
||||
cXyz effpos(home.pos);
|
||||
effpos.y += 600.0f;
|
||||
mSmokeEmitter = dComIfGp_particle_set(0x833E, &effpos, &home.angle, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
}
|
||||
setParticle();
|
||||
mMoveMode = 1;
|
||||
} else if (mMoveStartShakeTimer == 2 && getMdlType() != 1) {
|
||||
mDoAud_seStart(Z2SE_OBJ_STEP_MOVESTART, &mSoundPos, 0, 0);
|
||||
}
|
||||
|
||||
/* 80C9DEDC-80C9DF18 000EBC 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */
|
||||
// cXyz::~cXyz() {
|
||||
extern "C" void __dt__4cXyzFv() {
|
||||
// NONMATCHING
|
||||
mMoveStartShakeTimer--;
|
||||
break;
|
||||
case 1: {
|
||||
cLib_chaseF(&mMoveAccel, 0.45f, 0.5f + KREG_F(0));
|
||||
cLib_chaseF(&mMoveStep, move_speed, mMoveAccel);
|
||||
|
||||
int is_move_end = cLib_chaseF(¤t.pos.y, home.pos.y + l_move_len[mType], mMoveStep);
|
||||
mModelPos.y = current.pos.y;
|
||||
|
||||
if (is_move_end) {
|
||||
mMoveMode = 2;
|
||||
if (mSmokeEmitter != NULL) {
|
||||
mSmokeEmitter->becomeInvalidEmitter();
|
||||
mSmokeEmitter = NULL;
|
||||
}
|
||||
|
||||
removeParticle();
|
||||
|
||||
if (getMdlType() != 1) {
|
||||
mDoAud_seStart(Z2SE_OBJ_STEP_MOVEEND, &mSoundPos, 0, 0);
|
||||
} else {
|
||||
mDoAud_seStart(Z2SE_OBJ_L6_UD_BLOCK_UP_ST, &mSoundPos, 0, 0);
|
||||
}
|
||||
} else if (getMdlType() != 1) {
|
||||
mDoAud_seStartLevel(Z2SE_OBJ_STEP_MOVE, &mSoundPos, 0, 0);
|
||||
} else {
|
||||
mDoAud_seStartLevel(Z2SE_OBJ_L6_UD_BLOCK_UP, &mSoundPos, 0, 0);
|
||||
}
|
||||
|
||||
mModelPos = current.pos;
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
dComIfGp_getVibration().StartShock(4, 0x1F, cXyz(0.0f, 1.0f, 0.0f));
|
||||
mMoveMode = 3;
|
||||
mMoveStartShakeTimer = 15;
|
||||
break;
|
||||
case 3:
|
||||
mMoveStartShakeTimer--;
|
||||
mModelPos = current.pos;
|
||||
|
||||
if (mMoveStartShakeTimer == 0) {
|
||||
modeWaitLowerInit();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
mModelPos.y += mMoveStartShakeAmount * cM_scos(mMoveStartShakeTimer * shake_speed);
|
||||
cLib_addCalc0(&mMoveStartShakeAmount, 0.5f + KREG_F(1), 0.5f + KREG_F(3));
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C9DF18-80C9DF60 000EF8 0048+00 2/2 0/0 0/0 .text modeWaitLowerInit__12daObjStair_cFv
|
||||
*/
|
||||
void daObjStair_c::modeWaitLowerInit() {
|
||||
// NONMATCHING
|
||||
int daObjStair_c::modeWaitLowerInit() {
|
||||
current.pos.y = home.pos.y + l_move_len[mType];
|
||||
mModelPos = current.pos;
|
||||
mMode = MODE_WAIT_LOWER_e;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C9DF60-80C9E004 000F40 00A4+00 1/0 0/0 0/0 .text modeWaitLower__12daObjStair_cFv */
|
||||
void daObjStair_c::modeWaitLower() {
|
||||
// NONMATCHING
|
||||
int daObjStair_c::modeWaitLower() {
|
||||
int is_swbit = fopAcM_isSwitch(this, getSwbit());
|
||||
int dir = getDir();
|
||||
|
||||
if (!fopAcM_isSwitch(this, getSwbit2()) && ((!is_swbit && dir == 0) || (is_swbit && dir == 1))) {
|
||||
modeLowerInit();
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C9E004-80C9E034 000FE4 0030+00 1/1 0/0 0/0 .text modeLowerInit__12daObjStair_cFv */
|
||||
void daObjStair_c::modeLowerInit() {
|
||||
// NONMATCHING
|
||||
int daObjStair_c::modeLowerInit() {
|
||||
mMoveAccel = 0.0f;
|
||||
mMoveStep = 0.0f;
|
||||
mMoveMode = 0;
|
||||
mMoveStartShakeTimer = 30;
|
||||
mMode = MODE_LOWER_e;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C9E034-80C9E3D8 001014 03A4+00 1/0 0/0 0/0 .text modeLower__12daObjStair_cFv */
|
||||
void daObjStair_c::modeLower() {
|
||||
// NONMATCHING
|
||||
int daObjStair_c::modeLower() {
|
||||
f32 move_speed = 50.0f;
|
||||
f32 shake_amount = 3.0f;
|
||||
s16 shake_speed = 15000;
|
||||
|
||||
if (mMoveMode == 0) {
|
||||
if (mMoveStartShakeTimer == 0) {
|
||||
cLib_chaseF(&mMoveAccel, 0.45f, 0.5f + KREG_F(4));
|
||||
cLib_chaseF(&mMoveStep, move_speed, mMoveAccel);
|
||||
|
||||
int is_move_end = cLib_chaseF(¤t.pos.y, home.pos.y, mMoveStep);
|
||||
mModelPos.y = current.pos.y;
|
||||
|
||||
if (is_move_end) {
|
||||
mMoveMode = 1;
|
||||
if (mSmokeEmitter != NULL) {
|
||||
mSmokeEmitter->becomeInvalidEmitter();
|
||||
mSmokeEmitter = NULL;
|
||||
}
|
||||
|
||||
if (getMdlType() != 1) {
|
||||
mDoAud_seStart(Z2SE_OBJ_STEP_MOVEEND, &mSoundPos, 0, 0);
|
||||
} else {
|
||||
mDoAud_seStart(Z2SE_OBJ_L6_UD_BLOCK_DW_ST, &mSoundPos, 0, 0);
|
||||
}
|
||||
} else if (getMdlType() != 1) {
|
||||
mDoAud_seStartLevel(Z2SE_OBJ_STEP_MOVE, &mSoundPos, 0, 0);
|
||||
} else {
|
||||
mDoAud_seStartLevel(Z2SE_OBJ_L6_UD_BLOCK_DW, &mSoundPos, 0, 0);
|
||||
}
|
||||
} else {
|
||||
mMoveStartShakeTimer--;
|
||||
if (mMoveStartShakeTimer == 0) {
|
||||
if (mSmokeEmitter == NULL) {
|
||||
cXyz effpos(home.pos);
|
||||
effpos.y += 600.0f;
|
||||
mSmokeEmitter = dComIfGp_particle_set(0x833E, &effpos, &home.angle, NULL, 0xFF, NULL, -1, NULL, NULL, NULL);
|
||||
}
|
||||
} else if (mMoveStartShakeTimer == 2 && getMdlType() != 1) {
|
||||
mDoAud_seStart(Z2SE_OBJ_STEP_MOVESTART, &mSoundPos, 0, 0);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (mMoveStartShakeTimer == 0 && mMoveMode == 1) {
|
||||
mMoveStartShakeTimer = 15;
|
||||
mMoveMode = 2;
|
||||
dComIfGp_getVibration().StartShock(4, 0x1F, cXyz(0.0f, 1.0f, 0.0f));
|
||||
}
|
||||
|
||||
mMoveStartShakeTimer--;
|
||||
mModelPos = current.pos;
|
||||
mModelPos.y += shake_amount * cM_scos(mMoveStartShakeTimer * shake_speed);
|
||||
|
||||
if (mMoveStartShakeTimer == 0) {
|
||||
modeWaitUpperInit();
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C9E3D8-80C9E5A0 0013B8 01C8+00 1/1 0/0 0/0 .text setParticle__12daObjStair_cFv */
|
||||
void daObjStair_c::setParticle() {
|
||||
// NONMATCHING
|
||||
if (mParticleLeftEmitter[0].getEmitter() == NULL) {
|
||||
dComIfGp_particle_set(0x833C, &mParticleLeftPos[0], &home.angle, NULL, 0xFF, &mParticleLeftEmitter[0], fopAcM_GetRoomNo(this), NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
if (mParticleLeftEmitter[1].getEmitter() == NULL) {
|
||||
dComIfGp_particle_set(0x833C, &mParticleLeftPos[1], &home.angle, NULL, 0xFF, &mParticleLeftEmitter[1], fopAcM_GetRoomNo(this), NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
if (mParticleRightEmitter[0].getEmitter() == NULL) {
|
||||
dComIfGp_particle_set(0x833D, &mParticleRightPos[0], &home.angle, NULL, 0xFF, &mParticleRightEmitter[0], fopAcM_GetRoomNo(this), NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
if (mParticleRightEmitter[1].getEmitter() == NULL) {
|
||||
dComIfGp_particle_set(0x833D, &mParticleRightPos[1], &home.angle, NULL, 0xFF, &mParticleRightEmitter[1], fopAcM_GetRoomNo(this), NULL, NULL, NULL);
|
||||
// "Up/Down Stairs: Right Effect set"
|
||||
OS_REPORT("上下階段:右エフェクトセット\n");
|
||||
}
|
||||
}
|
||||
|
||||
/* 80C9E5A0-80C9E614 001580 0074+00 2/2 0/0 0/0 .text removeParticle__12daObjStair_cFv */
|
||||
void daObjStair_c::removeParticle() {
|
||||
// NONMATCHING
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mParticleLeftEmitter[i].remove();
|
||||
mParticleRightEmitter[i].remove();
|
||||
}
|
||||
}
|
||||
|
||||
/* 80C9E614-80C9E700 0015F4 00EC+00 1/0 0/0 0/0 .text daObjStair_create1st__FP12daObjStair_c */
|
||||
static int daObjStair_create1st(daObjStair_c* i_this) {
|
||||
fopAcM_SetupActor(i_this, daObjStair_c);
|
||||
return i_this->create1st();
|
||||
}
|
||||
|
||||
/* 80C9E7B4-80C9E7D4 001794 0020+00 1/0 0/0 0/0 .text daObjStair_MoveBGDelete__FP12daObjStair_c */
|
||||
static int daObjStair_MoveBGDelete(daObjStair_c* i_this) {
|
||||
return i_this->MoveBGDelete();
|
||||
}
|
||||
|
||||
/* 80C9E7D4-80C9E7F4 0017B4 0020+00 1/0 0/0 0/0 .text daObjStair_MoveBGExecute__FP12daObjStair_c
|
||||
*/
|
||||
static int daObjStair_MoveBGExecute(daObjStair_c* i_this) {
|
||||
return i_this->MoveBGExecute();
|
||||
}
|
||||
|
||||
/* 80C9E7F4-80C9E820 0017D4 002C+00 1/0 0/0 0/0 .text daObjStair_MoveBGDraw__FP12daObjStair_c */
|
||||
static int daObjStair_MoveBGDraw(daObjStair_c* i_this) {
|
||||
return i_this->MoveBGDraw();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C9EA08-80C9EA28 -00001 0020+00 1/0 0/0 0/0 .data daObjStair_METHODS */
|
||||
static actor_method_class daObjStair_METHODS = {
|
||||
(process_method_func)daObjStair_create1st__FP12daObjStair_c,
|
||||
(process_method_func)daObjStair_MoveBGDelete__FP12daObjStair_c,
|
||||
(process_method_func)daObjStair_MoveBGExecute__FP12daObjStair_c,
|
||||
0,
|
||||
(process_method_func)daObjStair_MoveBGDraw__FP12daObjStair_c,
|
||||
(process_method_func)daObjStair_create1st,
|
||||
(process_method_func)daObjStair_MoveBGDelete,
|
||||
(process_method_func)daObjStair_MoveBGExecute,
|
||||
(process_method_func)NULL,
|
||||
(process_method_func)daObjStair_MoveBGDraw,
|
||||
};
|
||||
|
||||
/* 80C9EA28-80C9EA58 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_MvStair */
|
||||
|
@ -504,112 +519,3 @@ extern actor_process_profile_definition g_profile_Obj_MvStair = {
|
|||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80C9EA58-80C9EA7C 000138 0024+00 2/2 0/0 0/0 .data __vt__18dPa_levelEcallBack */
|
||||
SECTION_DATA extern void* __vt__18dPa_levelEcallBack[9] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__18dPa_levelEcallBackFv,
|
||||
(void*)execute__18JPAEmitterCallBackFP14JPABaseEmitter,
|
||||
(void*)executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter,
|
||||
(void*)draw__18JPAEmitterCallBackFP14JPABaseEmitter,
|
||||
(void*)drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter,
|
||||
(void*)NULL,
|
||||
(void*)cleanup__18dPa_levelEcallBackFv,
|
||||
};
|
||||
|
||||
/* 80C9EA7C-80C9EAA4 00015C 0028+00 1/1 0/0 0/0 .data __vt__12daObjStair_c */
|
||||
SECTION_DATA extern void* __vt__12daObjStair_c[10] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)CreateHeap__12daObjStair_cFv,
|
||||
(void*)Create__12daObjStair_cFv,
|
||||
(void*)Execute__12daObjStair_cFPPA3_A4_f,
|
||||
(void*)Draw__12daObjStair_cFv,
|
||||
(void*)Delete__12daObjStair_cFv,
|
||||
(void*)IsDelete__16dBgS_MoveBgActorFv,
|
||||
(void*)ToFore__16dBgS_MoveBgActorFv,
|
||||
(void*)ToBack__16dBgS_MoveBgActorFv,
|
||||
};
|
||||
|
||||
/* 80C9E614-80C9E700 0015F4 00EC+00 1/0 0/0 0/0 .text daObjStair_create1st__FP12daObjStair_c */
|
||||
static void daObjStair_create1st(daObjStair_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C9E700-80C9E704 0016E0 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
|
||||
// cXyz::cXyz() {
|
||||
extern "C" void __ct__4cXyzFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80C9E704-80C9E788 0016E4 0084+00 1/1 0/0 0/0 .text __dt__19dPa_followEcallBackFv */
|
||||
// dPa_followEcallBack::~dPa_followEcallBack() {
|
||||
extern "C" void __dt__19dPa_followEcallBackFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C9E788-80C9E78C 001768 0004+00 1/0 0/0 0/0 .text cleanup__18dPa_levelEcallBackFv */
|
||||
// void dPa_levelEcallBack::cleanup() {
|
||||
extern "C" void cleanup__18dPa_levelEcallBackFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80C9E78C-80C9E7B4 00176C 0028+00 1/1 0/0 0/0 .text __defctor__19dPa_followEcallBackFv
|
||||
*/
|
||||
// void dPa_followEcallBack::__defctor() {
|
||||
extern "C" void __defctor__19dPa_followEcallBackFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C9E7B4-80C9E7D4 001794 0020+00 1/0 0/0 0/0 .text daObjStair_MoveBGDelete__FP12daObjStair_c */
|
||||
static void daObjStair_MoveBGDelete(daObjStair_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C9E7D4-80C9E7F4 0017B4 0020+00 1/0 0/0 0/0 .text daObjStair_MoveBGExecute__FP12daObjStair_c
|
||||
*/
|
||||
static void daObjStair_MoveBGExecute(daObjStair_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C9E7F4-80C9E820 0017D4 002C+00 1/0 0/0 0/0 .text daObjStair_MoveBGDraw__FP12daObjStair_c */
|
||||
static void daObjStair_MoveBGDraw(daObjStair_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C9E820-80C9E894 001800 0074+00 1/0 0/0 0/0 .text __dt__18dPa_levelEcallBackFv */
|
||||
// dPa_levelEcallBack::~dPa_levelEcallBack() {
|
||||
extern "C" void __dt__18dPa_levelEcallBackFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C9E894-80C9E898 001874 0004+00 1/0 0/0 0/0 .text
|
||||
* execute__18JPAEmitterCallBackFP14JPABaseEmitter */
|
||||
// void JPAEmitterCallBack::execute(JPABaseEmitter* param_0) {
|
||||
extern "C" void execute__18JPAEmitterCallBackFP14JPABaseEmitter() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80C9E898-80C9E89C 001878 0004+00 1/0 0/0 0/0 .text
|
||||
* executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter */
|
||||
// void JPAEmitterCallBack::executeAfter(JPABaseEmitter* param_0) {
|
||||
extern "C" void executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80C9E89C-80C9E8A0 00187C 0004+00 1/0 0/0 0/0 .text draw__18JPAEmitterCallBackFP14JPABaseEmitter
|
||||
*/
|
||||
// void JPAEmitterCallBack::draw(JPABaseEmitter* param_0) {
|
||||
extern "C" void draw__18JPAEmitterCallBackFP14JPABaseEmitter() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80C9E8A0-80C9E8A4 001880 0004+00 1/0 0/0 0/0 .text
|
||||
* drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter */
|
||||
// void JPAEmitterCallBack::drawAfter(JPABaseEmitter* param_0) {
|
||||
extern "C" void drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80C9E90C-80C9E90C 000060 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue