daObjLadder OK (#2211)

* daObjLadder OK

* daObjFPillar_c OK

* Remove commented out code
This commit is contained in:
hatal175 2024-10-16 00:09:38 +03:00 committed by GitHub
parent ae77e60de8
commit 030d6533f0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 633 additions and 760 deletions

View File

@ -20,10 +20,10 @@ actionOn__14daObjFPillar_cFv = .text:0x00000800; // type:function size:0xE0 scop
drawCylinder__FP4cXyzP4cXyzP5csXyz = .text:0x000008E0; // type:function size:0x4 scope:global
draw__14daObjFPillar_cFv = .text:0x000008E4; // type:function size:0x34 scope:global
_delete__14daObjFPillar_cFv = .text:0x00000918; // type:function size:0x8 scope:global
daObjFPillar_Draw__FP14daObjFPillar_c = .text:0x00000920; // type:function size:0x20 scope:global
daObjFPillar_Execute__FP14daObjFPillar_c = .text:0x00000940; // type:function size:0x20 scope:global
daObjFPillar_Delete__FP14daObjFPillar_c = .text:0x00000960; // type:function size:0x20 scope:global
daObjFPillar_Create__FP10fopAc_ac_c = .text:0x00000980; // type:function size:0x20 scope:global
daObjFPillar_Draw__FP14daObjFPillar_c = .text:0x00000920; // type:function size:0x20 scope:local
daObjFPillar_Execute__FP14daObjFPillar_c = .text:0x00000940; // type:function size:0x20 scope:local
daObjFPillar_Delete__FP14daObjFPillar_c = .text:0x00000960; // type:function size:0x20 scope:local
daObjFPillar_Create__FP10fopAc_ac_c = .text:0x00000980; // type:function size:0x20 scope:local
__dt__10cCcD_GSttsFv = .text:0x000009A0; // type:function size:0x48 scope:global
@36@__dt__12dBgS_ObjAcchFv = .text:0x000009E8; // type:function size:0x8 scope:local
@20@__dt__12dBgS_ObjAcchFv = .text:0x000009F0; // type:function size:0x8 scope:local
@ -38,19 +38,19 @@ _dtors = .dtors:0x00000000; // type:label scope:global
@3853 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float
@3895 = .rodata:0x00000018; // type:object size:0x4 scope:local
...data.0 = .data:0x00000000; // type:label scope:local
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
l_cull_box = .data:0x00000020; // type:object size:0x18 scope:global data:float
l_cps_src = .data:0x00000038; // type:object size:0x4C scope:global
l_cull_box = .data:0x00000020; // type:object size:0x18 scope:local data:float
l_cps_src = .data:0x00000038; // type:object size:0x4C scope:local
@3789 = .data:0x00000084; // type:object size:0xC scope:local
@3790 = .data:0x00000090; // type:object size:0xC scope:local
@3791 = .data:0x0000009C; // type:object size:0xC scope:local
l_func$3788 = .data:0x000000A8; // type:object size:0x24 scope:local
l_daObjFPillar_Method = .data:0x000000CC; // type:object size:0x20 scope:global
l_daObjFPillar_Method = .data:0x000000CC; // type:object size:0x20 scope:local
g_profile_Obj_FirePillar = .data:0x000000EC; // type:object size:0x30 scope:global
__vt__12dBgS_AcchCir = .data:0x0000011C; // type:object size:0xC scope:global
__vt__10cCcD_GStts = .data:0x00000128; // type:object size:0xC scope:global
__vt__10dCcD_GStts = .data:0x00000134; // type:object size:0xC scope:global
__vt__8cM3dGAab = .data:0x00000140; // type:object size:0xC scope:global
__vt__12dBgS_ObjAcch = .data:0x0000014C; // type:object size:0x24 scope:global
lbl_447_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte
lbl_447_bss_0 = .bss:0x00000000; // type:object size:0x1 scope:local data:byte

View File

@ -22,11 +22,11 @@ set_mtx__Q211daObjLadder5Act_cFv = .text:0x000008F0; // type:function size:0x94
init_mtx__Q211daObjLadder5Act_cFv = .text:0x00000984; // type:function size:0x3C scope:global
Execute__Q211daObjLadder5Act_cFPPA3_A4_f = .text:0x000009C0; // type:function size:0x118 scope:global
Draw__Q211daObjLadder5Act_cFv = .text:0x00000AD8; // type:function size:0xA4 scope:global
Mthd_Create__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv = .text:0x00000B7C; // type:function size:0x20 scope:global
Mthd_Delete__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv = .text:0x00000B9C; // type:function size:0x20 scope:global
Mthd_Execute__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv = .text:0x00000BBC; // type:function size:0x20 scope:global
Mthd_Draw__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv = .text:0x00000BDC; // type:function size:0x2C scope:global
Mthd_IsDelete__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv = .text:0x00000C08; // type:function size:0x2C scope:global
Mthd_Create__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv = .text:0x00000B7C; // type:function size:0x20 scope:local
Mthd_Delete__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv = .text:0x00000B9C; // type:function size:0x20 scope:local
Mthd_Execute__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv = .text:0x00000BBC; // type:function size:0x20 scope:local
Mthd_Draw__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv = .text:0x00000BDC; // type:function size:0x2C scope:local
Mthd_IsDelete__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv = .text:0x00000C08; // type:function size:0x2C scope:local
PrmAbstract<Q311daObjLadder5Act_c5Prm_e>__5daObjFPC10fopAc_ac_cQ311daObjLadder5Act_c5Prm_eQ311daObjLadder5Act_c5Prm_e = .text:0x00000C34; // type:function size:0x1C scope:global
@20@__dt__14dBgS_ObjGndChkFv = .text:0x00000C50; // type:function size:0x8 scope:local
@76@__dt__14dBgS_ObjGndChkFv = .text:0x00000C58; // type:function size:0x8 scope:local
@ -34,7 +34,7 @@ PrmAbstract<Q311daObjLadder5Act_c5Prm_e>__5daObjFPC10fopAc_ac_cQ311daObjLadder5A
_ctors = .ctors:0x00000000; // type:label scope:global
_dtors = .dtors:0x00000000; // type:label scope:global
...rodata.0 = .rodata:0x00000000; // type:label scope:local
L_attr__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@ = .rodata:0x00000000; // type:object size:0x24 scope:global
L_attr__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@ = .rodata:0x00000000; // type:object size:0x24 scope:local
M_arcname__Q211daObjLadder5Act_c = .rodata:0x00000024; // type:object size:0x5 scope:global data:string
@3667 = .rodata:0x0000002C; // type:object size:0x4 scope:local
@3668 = .rodata:0x00000030; // type:object size:0x4 scope:local
@ -49,18 +49,18 @@ M_arcname__Q211daObjLadder5Act_c = .rodata:0x00000024; // type:object size:0x5 s
@3839 = .rodata:0x00000054; // type:object size:0x4 scope:local
@3840 = .rodata:0x00000058; // type:object size:0x4 scope:local
...data.0 = .data:0x00000000; // type:label scope:local
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
L_attr_type__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@ = .data:0x00000020; // type:object size:0x30 scope:global
L_attr_type__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@ = .data:0x00000020; // type:object size:0x30 scope:local
@3878 = .data:0x00000050; // type:object size:0xC scope:local
@3879 = .data:0x0000005C; // type:object size:0xC scope:local
@3880 = .data:0x00000068; // type:object size:0xC scope:local
@3881 = .data:0x00000074; // type:object size:0xC scope:local
@3882 = .data:0x00000080; // type:object size:0xC scope:local
mode_proc$3877 = .data:0x0000008C; // type:object size:0x3C scope:local
Mthd_Table__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@ = .data:0x000000C8; // type:object size:0x20 scope:global
Mthd_Table__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@ = .data:0x000000C8; // type:object size:0x20 scope:local
g_profile_Obj_Ladder = .data:0x000000E8; // type:object size:0x30 scope:global
__vt__14dBgS_ObjGndChk = .data:0x00000118; // type:object size:0x30 scope:global
__vt__Q211daObjLadder5Act_c = .data:0x00000148; // type:object size:0x28 scope:global
M_tmp_mtx__Q211daObjLadder5Act_c = .bss:0x00000000; // type:object size:0x30 scope:global
lbl_103_bss_30 = .bss:0x00000030; // type:object size:0x1 data:byte
lbl_103_bss_30 = .bss:0x00000030; // type:object size:0x1 scope:local data:byte

View File

@ -1451,7 +1451,7 @@ config.libs = [
ActorRel(Matching, "d_a_obj_kgate"),
ActorRel(NonMatching, "d_a_obj_klift00"),
ActorRel(NonMatching, "d_a_obj_ktOnFire"),
ActorRel(NonMatching, "d_a_obj_ladder"),
ActorRel(Matching, "d_a_obj_ladder"),
ActorRel(Matching, "d_a_obj_lv2Candle"),
ActorRel(NonMatching, "d_a_obj_magne_arm"),
ActorRel(NonMatching, "d_a_obj_metalbox"),
@ -1795,7 +1795,7 @@ config.libs = [
ActorRel(NonMatching, "d_a_obj_fchain"),
ActorRel(Matching, "d_a_obj_fireWood"),
ActorRel(Matching, "d_a_obj_fireWood2"),
ActorRel(NonMatching, "d_a_obj_firepillar"),
ActorRel(Matching, "d_a_obj_firepillar"),
ActorRel(NonMatching, "d_a_obj_firepillar2"),
ActorRel(NonMatching, "d_a_obj_flag"),
ActorRel(NonMatching, "d_a_obj_flag2"),

View File

@ -1,7 +1,10 @@
#ifndef D_A_OBJ_FIREPILLAR_H
#define D_A_OBJ_FIREPILLAR_H
#include "d/d_bg_s_acch.h"
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_cc_d.h"
/**
* @ingroup actors-objects
@ -13,11 +16,27 @@
*/
class daObjFPillar_c : public fopAc_ac_c {
public:
typedef void (daObjFPillar_c::*actionFunc)();
enum Action {
ACTION_OFF,
ACTION_ON_WAIT,
ACTION_ON,
};
class daObjFPillar_prm {
public:
static u8 getArg0(daObjFPillar_c* i_this) { return fopAcM_GetParam(i_this) >> 8; }
static u8 getArg1(daObjFPillar_c* i_this) { return fopAcM_GetParam(i_this) >> 24; }
static u8 getArg2(daObjFPillar_c* i_this) { return fopAcM_GetParam(i_this) >> 16; }
static u8 getSwNo(daObjFPillar_c* i_this) { return fopAcM_GetParam(i_this); }
};
/* 80BE9118 */ void initBaseMtx();
/* 80BE9138 */ void setBaseMtx();
/* 80BE9190 */ void Create();
/* 80BE9230 */ void create();
/* 80BE94E4 */ void execute();
/* 80BE9190 */ int Create();
/* 80BE9230 */ int create();
/* 80BE94E4 */ int execute();
/* 80BE9610 */ void action();
/* 80BE96B4 */ void actionOffInit();
/* 80BE96E0 */ void actionOff();
@ -25,11 +44,22 @@ public:
/* 80BE97B8 */ void actionOnWait();
/* 80BE986C */ void actionOnInit();
/* 80BE98A0 */ void actionOn();
/* 80BE9984 */ void draw();
/* 80BE99B8 */ bool _delete();
/* 80BE9984 */ int draw();
/* 80BE99B8 */ int _delete();
private:
/* 0x568 */ u8 field_0x568[0x974 - 0x568];
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ int field_0x570;
/* 0x574 */ dBgS_ObjAcch mAcch;
/* 0x74C */ dBgS_AcchCir mAcchCir;
/* 0x78C */ dCcD_Stts mStts;
/* 0x7C8 */ dCcD_Cps mCps;
/* 0x90C */ u8 field_0x90c[0x93c - 0x90c];
/* 0x93C */ cXyz mCylScale;
/* 0x948 */ Vec field_0x948;
/* 0x954 */ cM3dGCpsS field_0x954;
/* 0x970 */ u8 mAction;
/* 0x972 */ u16 mActionTimer;
};
STATIC_ASSERT(sizeof(daObjFPillar_c) == 0x974);

View File

@ -1,7 +1,8 @@
#ifndef D_A_OBJ_LADDER_H
#define D_A_OBJ_LADDER_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_bg_s_movebg_actor.h"
#include "d/d_a_obj.h"
/**
* @ingroup actors-objects
@ -11,17 +12,40 @@
* @details
*
*/
class daObjLadder : public fopAc_ac_c {
public:
class Act_c {
namespace daObjLadder {
class Act_c : public dBgS_MoveBgActor {
public:
struct Prm_e {};
enum Prm_e {
PRM_0 = 0,
PRM_3 = 3,
PRM_8 = 8,
PRM_16 = 16,
};
/* 8058D158 */ void CreateHeap();
/* 8058D1D8 */ void Create();
/* 8058D378 */ void Mthd_Create();
/* 8058D4F0 */ bool Delete();
/* 8058D4F8 */ void Mthd_Delete();
enum Type_e {
TYPE_0,
TYPE_1,
TYPE_2,
TYPE_3,
TYPE_4,
TYPE_5,
};
enum Mode {
MODE_WAIT,
MODE_DEMOREQ,
MODE_VIB,
MODE_DROP,
MODE_FELL,
};
typedef void (Act_c::*modeProc)();
/* 8058D158 */ int CreateHeap();
/* 8058D1D8 */ int Create();
/* 8058D378 */ int Mthd_Create();
/* 8058D4F0 */ int Delete();
/* 8058D4F8 */ int Mthd_Delete();
/* 8058D544 */ void demo_end_reset();
/* 8058D5AC */ void mode_wait_init();
/* 8058D5B8 */ void mode_wait();
@ -35,28 +59,41 @@ public:
/* 8058D9CC */ void mode_fell();
/* 8058D9D0 */ void set_mtx();
/* 8058DA64 */ void init_mtx();
/* 8058DAA0 */ void Execute(f32 (**)[3][4]);
/* 8058DBB8 */ void Draw();
/* 8058DAA0 */ int Execute(f32 (**)[3][4]);
/* 8058DBB8 */ int Draw();
static u8 const M_arcname[5 + 3 /* padding */];
static u8 M_tmp_mtx[48];
};
u8 prm_get_evId() {
return daObj::PrmAbstract(this, PRM_8, PRM_16);
}
int prm_get_swSave() {
return daObj::PrmAbstract(this,PRM_8, PRM_8);
}
Type_e prm_get_type() {
return(Type_e)daObj::PrmAbstract(this,PRM_3, PRM_0);
}
static char const M_arcname[5];
static Mtx M_tmp_mtx;
private:
/* 0x568 */ u8 field_0x568[0x620 - 0x568];
};
STATIC_ASSERT(sizeof(daObjLadder) == 0x620);
struct daObj {
public:
/* 800373C0 */ void posMoveF_stream(fopAc_ac_c*, cXyz const*, cXyz const*, f32, f32);
template <typename A1>
void PrmAbstract(/* ... */);
/* 8058DD14 */ /* daObj::PrmAbstract<daObjLadder::Act_c::Prm_e> */
void func_8058DD14(void* _this, fopAc_ac_c const*, daObjLadder::Act_c::Prm_e,
daObjLadder::Act_c::Prm_e);
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mModel;
/* 0x5AC */ Type_e mType;
/* 0x5B0 */ Mode mMode;
/* 0x5B4 */ s16 mVibrationTimer;
/* 0x5B6 */ s16 field_0x5b6;
/* 0x5B8 */ f32 mHeight;
/* 0x5BC */ dBgS_ObjGndChk mGndChk;
/* 0x610 */ s16 field_0x610;
/* 0x612 */ s16 field_0x612;
/* 0x614 */ f32 field_0x614;
/* 0x618 */ f32 field_0x618;
/* 0x61C */ s16 mEventIdx;
/* 0x61E */ bool mInDemo;
};
};
STATIC_ASSERT(sizeof(daObjLadder::Act_c) == 0x620);
#endif /* D_A_OBJ_LADDER_H */

View File

@ -109,6 +109,7 @@ public:
bool WaterChk(dBgS_SplGrpChk* chk) { return SplGrpChk(chk); }
u32 GetMtrlSndId(const cBgS_PolyInfo& param_0) { return dKy_pol_sound_get(&param_0); }
void DebugDrawPoly(dBgW_Base *param_1) {}
}; // Size: 0x1404
bool dBgS_CheckBGroundPoly(cBgS_PolyInfo const&);

View File

@ -5,101 +5,30 @@
#include "d/actor/d_a_obj_firepillar.h"
#include "d/d_cc_d.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" void initBaseMtx__14daObjFPillar_cFv();
extern "C" void setBaseMtx__14daObjFPillar_cFv();
extern "C" void Create__14daObjFPillar_cFv();
extern "C" void create__14daObjFPillar_cFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" void __dt__10dCcD_GSttsFv();
extern "C" void __dt__12dBgS_AcchCirFv();
extern "C" void __dt__12dBgS_ObjAcchFv();
extern "C" void execute__14daObjFPillar_cFv();
extern "C" void action__14daObjFPillar_cFv();
extern "C" void actionOffInit__14daObjFPillar_cFv();
extern "C" void actionOff__14daObjFPillar_cFv();
extern "C" void actionOnWaitInit__14daObjFPillar_cFv();
extern "C" void actionOnWait__14daObjFPillar_cFv();
extern "C" void actionOnInit__14daObjFPillar_cFv();
extern "C" void actionOn__14daObjFPillar_cFv();
extern "C" static void drawCylinder__FP4cXyzP4cXyzP5csXyz();
extern "C" void draw__14daObjFPillar_cFv();
extern "C" bool _delete__14daObjFPillar_cFv();
extern "C" static void daObjFPillar_Draw__FP14daObjFPillar_c();
extern "C" static void daObjFPillar_Execute__FP14daObjFPillar_c();
extern "C" static void daObjFPillar_Delete__FP14daObjFPillar_c();
extern "C" static void daObjFPillar_Create__FP10fopAc_ac_c();
extern "C" void __dt__10cCcD_GSttsFv();
extern "C" static void func_80BE9A88();
extern "C" static void func_80BE9A90();
//
// External References:
//
extern "C" void mDoMtx_ZXYrotS__FPA4_fsss();
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void __ct__12dBgS_AcchCirFv();
extern "C" void __dt__9dBgS_AcchFv();
extern "C" void __ct__9dBgS_AcchFv();
extern "C" void SetObj__16dBgS_PolyPassChkFv();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
extern "C" void __ct__12dCcD_GObjInfFv();
extern "C" void Set__8dCcD_CpsFRC11dCcD_SrcCps();
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void __pl__4cXyzCFRC3Vec();
extern "C" void __dt__13cBgS_PolyInfoFv();
extern "C" void __dt__8cM3dGCirFv();
extern "C" void __ct__8cM3dGCpsFv();
extern "C" void Set__8cM3dGCpsFRC9cM3dGCpsS();
extern "C" void cLib_chaseF__FPfff();
extern "C" void __dl__FPv();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__8dCcD_Cps[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_CpsAttr[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" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 data_80BE9C30[4];
//
// Declarations:
//
#include "d/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
/* 80BE9118-80BE9138 000078 0020+00 1/1 0/0 0/0 .text initBaseMtx__14daObjFPillar_cFv */
void daObjFPillar_c::initBaseMtx() {
// NONMATCHING
setBaseMtx();
}
/* 80BE9138-80BE9190 000098 0058+00 1/1 0/0 0/0 .text setBaseMtx__14daObjFPillar_cFv */
void daObjFPillar_c::setBaseMtx() {
// NONMATCHING
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);
}
/* ############################################################################################## */
/* 80BE9ABC-80BE9AC8 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80BE9AC8-80BE9ADC 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 */] = {
static u32 lit_1787[1 + 4 /* padding */] = {
0x02000201,
/* padding */
0x40080000,
@ -110,9 +39,9 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
#pragma pop
/* 80BE9ADC-80BE9AF4 000020 0018+00 1/1 0/0 0/0 .data l_cull_box */
SECTION_DATA static u8 l_cull_box[24] = {
0xC1, 0xF0, 0x00, 0x00, 0xC1, 0x20, 0x00, 0x00, 0xC1, 0xF0, 0x00, 0x00,
0x41, 0xF0, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00,
static f32 l_cull_box[6] = {
-30.0f, -10.0f, -30.0f,
30.0f, 60.0f, 30.0f,
};
/* 80BE9AF4-80BE9B40 000038 004C+00 1/1 0/0 0/0 .data l_cps_src */
@ -129,58 +58,208 @@ static dCcD_SrcCps l_cps_src = {
};
/* 80BE9190-80BE9230 0000F0 00A0+00 1/1 0/0 0/0 .text Create__14daObjFPillar_cFv */
void daObjFPillar_c::Create() {
// NONMATCHING
int daObjFPillar_c::Create() {
initBaseMtx();
mStts.Init(0, 0xff, this);
mCps.Set(l_cps_src);
mCps.SetStts(&mStts);
f32 maxy = l_cull_box[4] * scale.y;
fopAcM_setCullSizeBox(this,
(l_cull_box[0] * scale.x),
(l_cull_box[1] * scale.y),
(l_cull_box[2] * scale.x),
(l_cull_box[3] * scale.x),
maxy,
maxy);
return 1;
}
/* ############################################################################################## */
/* 80BE9B40-80BE9B4C -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*)actionOff__14daObjFPillar_cFv,
};
#pragma pop
/* 80BE9230-80BE9360 000190 0130+00 1/1 0/0 0/0 .text create__14daObjFPillar_cFv */
int daObjFPillar_c::create() {
fopAcM_SetupActor(this, daObjFPillar_c);
int rv = Create();
if (rv == 0) {
return cPhs_ERROR_e;
}
return cPhs_COMPLEATE_e;
}
/* 80BE9B4C-80BE9B58 -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*)actionOnWait__14daObjFPillar_cFv,
};
#pragma pop
/* 80BE94E4-80BE9610 000444 012C+00 1/1 0/0 0/0 .text execute__14daObjFPillar_cFv */
int daObjFPillar_c::execute() {
action();
mCylScale.x = scale.x;
mCylScale.z = scale.z;
cXyz cStack_1c(0.0f, 1.0f, 0.0f);
cStack_1c.y *= mCylScale.y * 100.0f;
mDoMtx_stack_c::ZXYrotS(current.angle.x, current.angle.y, current.angle.z);
mDoMtx_stack_c::multVec(&cStack_1c, &cStack_1c);
field_0x954.mStart = current.pos;
field_0x954.mEnd = cStack_1c + current.pos;
field_0x954.mRadius = scale.x * 50.0f;
if (mCylScale.y > scale.y * 0.1f) {
mCps.cM3dGCps::Set(field_0x954);
dComIfG_Ccsp()->Set(&mCps);
}
return 1;
}
/* 80BE9B58-80BE9B64 -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*)actionOn__14daObjFPillar_cFv,
};
#pragma pop
/* 80BE9610-80BE96B4 000570 00A4+00 1/1 0/0 0/0 .text action__14daObjFPillar_cFv */
void daObjFPillar_c::action() {
static daObjFPillar_c::actionFunc l_func[3] = {
&daObjFPillar_c::actionOff,
&daObjFPillar_c::actionOnWait,
&daObjFPillar_c::actionOn,
};
(this->*(l_func[mAction]))();
}
/* 80BE9B64-80BE9B88 0000A8 0024+00 0/1 0/0 0/0 .data l_func$3788 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 l_func[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
/* 80BE96B4-80BE96E0 000614 002C+00 2/2 0/0 0/0 .text actionOffInit__14daObjFPillar_cFv
*/
void daObjFPillar_c::actionOffInit() {
u8 bVar1 = daObjFPillar_prm::getArg0(this);
if (bVar1 == 0xff) {
bVar1 = 1;
}
mActionTimer = bVar1 * 15;
mAction = ACTION_OFF;
}
/* 80BE96E0-80BE9784 000640 00A4+00 1/0 0/0 0/0 .text actionOff__14daObjFPillar_cFv */
void daObjFPillar_c::actionOff() {
cLib_chaseF(&mCylScale.y, 0.0f, scale.y * 0.1f);
if (mActionTimer == 0) {
actionOnWaitInit();
} else {
if (daObjFPillar_prm::getSwNo(this) != 0xff) {
if (fopAcM_isSwitch(this, daObjFPillar_prm::getSwNo(this))) {
mActionTimer--;
}
} else {
mActionTimer--;
}
}
}
/* 80BE9784-80BE97B8 0006E4 0034+00 1/1 0/0 0/0 .text actionOnWaitInit__14daObjFPillar_cFv */
void daObjFPillar_c::actionOnWaitInit() {
u8 bVar1 = daObjFPillar_prm::getArg1(this);
if (bVar1 == 0xff) {
bVar1 = 1;
}
mActionTimer = bVar1 * 15;
mActionTimer = 30;
mAction = ACTION_ON_WAIT;
}
/* 80BE97B8-80BE986C 000718 00B4+00 1/0 0/0 0/0 .text actionOnWait__14daObjFPillar_cFv */
void daObjFPillar_c::actionOnWait() {
cLib_chaseF(&mCylScale.y, scale.y * 0.1f, scale.y * 0.02f);
if (mActionTimer == 0) {
actionOnInit();
} else {
if (daObjFPillar_prm::getSwNo(this) != 0xff) {
if (fopAcM_isSwitch(this, daObjFPillar_prm::getSwNo(this))) {
mActionTimer--;
} else {
actionOffInit();
}
} else {
mActionTimer--;
}
}
}
/* 80BE986C-80BE98A0 0007CC 0034+00 1/1 0/0 0/0 .text actionOnInit__14daObjFPillar_cFv */
void daObjFPillar_c::actionOnInit() {
u8 bVar1 = daObjFPillar_prm::getArg2(this);
if (bVar1 == 0xff) {
bVar1 = 1;
}
mActionTimer = bVar1 * 15;
mActionTimer = 30;
mAction = ACTION_ON;
}
/* 80BE98A0-80BE9980 000800 00E0+00 1/0 0/0 0/0 .text actionOn__14daObjFPillar_cFv */
void daObjFPillar_c::actionOn() {
f32 target = scale.y;
if (mActionTimer == 0) {
target = 0.0;
} else {
if (daObjFPillar_prm::getSwNo(this) != 0xff) {
if (fopAcM_isSwitch(this, daObjFPillar_prm::getSwNo(this))) {
mActionTimer--;
} else {
target = 0.0;
}
} else {
mActionTimer--;
}
}
int reachedTarget = cLib_chaseF(&mCylScale.y, target, scale.y * 0.1f);
if (reachedTarget && target == 0.0f) {
actionOffInit();
}
}
/* 80BE9980-80BE9984 0008E0 0004+00 1/1 0/0 0/0 .text drawCylinder__FP4cXyzP4cXyzP5csXyz
*/
static void drawCylinder(cXyz* pos, cXyz* scale, csXyz* angle) {
static GXColor const color = {0xFF,00,00,0x60};
#if DEBUG
mDoMtx_stack_c::transS(pos->x, pos->y, pos->z);
mDoMtx_stack_c::ZXYrotM(angle->x, angle->y, angle->z);
mDoMtx_stack_c::scaleM(scale.x * 50.0f, scale.y * 50.0f, scale.x * 50.0f);
mDoMtx_stack_c::transM(0.0f, 1.0f, 0.0f);
mDoMtx_stack_c::XrotM(0x4000);
Mtx mtx;
MTXCopy(mDoMtx_stack_c::get(), mtx);
dDbVw_drawCylinderMXlu(mtx, color, 1);
#endif
}
/* 80BE9984-80BE99B8 0008E4 0034+00 1/1 0/0 0/0 .text draw__14daObjFPillar_cFv */
int daObjFPillar_c::draw() {
drawCylinder(&current.pos, &mCylScale, &current.angle);
return 1;
}
/* 80BE99B8-80BE99C0 000918 0008+00 1/1 0/0 0/0 .text _delete__14daObjFPillar_cFv */
int daObjFPillar_c::_delete() {
return 1;
}
/* 80BE99C0-80BE99E0 000920 0020+00 1/0 0/0 0/0 .text daObjFPillar_Draw__FP14daObjFPillar_c */
static int daObjFPillar_Draw(daObjFPillar_c* i_this) {
return i_this->draw();
}
/* 80BE99E0-80BE9A00 000940 0020+00 1/0 0/0 0/0 .text daObjFPillar_Execute__FP14daObjFPillar_c */
static int daObjFPillar_Execute(daObjFPillar_c* i_this) {
return i_this->execute();
}
/* 80BE9A00-80BE9A20 000960 0020+00 1/0 0/0 0/0 .text daObjFPillar_Delete__FP14daObjFPillar_c */
static int daObjFPillar_Delete(daObjFPillar_c* i_this) {
fopAcM_GetID(i_this);
return i_this->_delete();
}
/* 80BE9A20-80BE9A40 000980 0020+00 1/0 0/0 0/0 .text daObjFPillar_Create__FP10fopAc_ac_c
*/
static int daObjFPillar_Create(fopAc_ac_c* i_this) {
fopAcM_GetID(i_this);
return static_cast<daObjFPillar_c*>(i_this)->create();
}
/* 80BE9B88-80BE9BA8 -00001 0020+00 1/0 0/0 0/0 .data l_daObjFPillar_Method */
static actor_method_class l_daObjFPillar_Method = {
(process_method_func)daObjFPillar_Create__FP10fopAc_ac_c,
(process_method_func)daObjFPillar_Delete__FP14daObjFPillar_c,
(process_method_func)daObjFPillar_Execute__FP14daObjFPillar_c,
0,
(process_method_func)daObjFPillar_Draw__FP14daObjFPillar_c,
(process_method_func)daObjFPillar_Create,
(process_method_func)daObjFPillar_Delete,
(process_method_func)daObjFPillar_Execute,
NULL,
(process_method_func)daObjFPillar_Draw,
};
/* 80BE9BA8-80BE9BD8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_FirePillar */
@ -200,215 +279,3 @@ extern actor_process_profile_definition g_profile_Obj_FirePillar = {
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
/* 80BE9BD8-80BE9BE4 00011C 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */
SECTION_DATA extern void* __vt__12dBgS_AcchCir[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12dBgS_AcchCirFv,
};
/* 80BE9BE4-80BE9BF0 000128 000C+00 2/2 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,
};
/* 80BE9BF0-80BE9BFC 000134 000C+00 1/1 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,
};
/* 80BE9BFC-80BE9C08 000140 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGAabFv,
};
/* 80BE9C08-80BE9C2C 00014C 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */
SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12dBgS_ObjAcchFv,
(void*)NULL,
(void*)NULL,
(void*)func_80BE9A90,
(void*)NULL,
(void*)NULL,
(void*)func_80BE9A88,
};
/* 80BE9230-80BE9360 000190 0130+00 1/1 0/0 0/0 .text create__14daObjFPillar_cFv */
void daObjFPillar_c::create() {
// NONMATCHING
}
/* 80BE9360-80BE93A8 0002C0 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
// cM3dGAab::~cM3dGAab() {
extern "C" void __dt__8cM3dGAabFv() {
// NONMATCHING
}
/* 80BE93A8-80BE9404 000308 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
// dCcD_GStts::~dCcD_GStts() {
extern "C" void __dt__10dCcD_GSttsFv() {
// NONMATCHING
}
/* 80BE9404-80BE9474 000364 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */
// dBgS_AcchCir::~dBgS_AcchCir() {
extern "C" void __dt__12dBgS_AcchCirFv() {
// NONMATCHING
}
/* 80BE9474-80BE94E4 0003D4 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */
// dBgS_ObjAcch::~dBgS_ObjAcch() {
extern "C" void __dt__12dBgS_ObjAcchFv() {
// NONMATCHING
}
/* ############################################################################################## */
/* 80BE9AA0-80BE9AA4 000000 0004+00 3/3 0/0 0/0 .rodata @3780 */
SECTION_RODATA static u8 const lit_3780[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80BE9AA0, &lit_3780);
/* 80BE9AA4-80BE9AA8 000004 0004+00 0/1 0/0 0/0 .rodata @3781 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3781 = 1.0f;
COMPILER_STRIP_GATE(0x80BE9AA4, &lit_3781);
#pragma pop
/* 80BE9AA8-80BE9AAC 000008 0004+00 0/1 0/0 0/0 .rodata @3782 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3782 = 100.0f;
COMPILER_STRIP_GATE(0x80BE9AA8, &lit_3782);
#pragma pop
/* 80BE9AAC-80BE9AB0 00000C 0004+00 0/1 0/0 0/0 .rodata @3783 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3783 = 50.0f;
COMPILER_STRIP_GATE(0x80BE9AAC, &lit_3783);
#pragma pop
/* 80BE9AB0-80BE9AB4 000010 0004+00 3/4 0/0 0/0 .rodata @3784 */
SECTION_RODATA static f32 const lit_3784 = 1.0f / 10.0f;
COMPILER_STRIP_GATE(0x80BE9AB0, &lit_3784);
/* 80BE94E4-80BE9610 000444 012C+00 1/1 0/0 0/0 .text execute__14daObjFPillar_cFv */
void daObjFPillar_c::execute() {
// NONMATCHING
}
/* 80BE9610-80BE96B4 000570 00A4+00 1/1 0/0 0/0 .text action__14daObjFPillar_cFv */
void daObjFPillar_c::action() {
// NONMATCHING
}
/* 80BE96B4-80BE96E0 000614 002C+00 2/2 0/0 0/0 .text actionOffInit__14daObjFPillar_cFv
*/
void daObjFPillar_c::actionOffInit() {
// NONMATCHING
}
/* 80BE96E0-80BE9784 000640 00A4+00 1/0 0/0 0/0 .text actionOff__14daObjFPillar_cFv */
void daObjFPillar_c::actionOff() {
// NONMATCHING
}
/* 80BE9784-80BE97B8 0006E4 0034+00 1/1 0/0 0/0 .text actionOnWaitInit__14daObjFPillar_cFv */
void daObjFPillar_c::actionOnWaitInit() {
// NONMATCHING
}
/* ############################################################################################## */
/* 80BE9AB4-80BE9AB8 000014 0004+00 1/1 0/0 0/0 .rodata @3853 */
SECTION_RODATA static f32 const lit_3853 = 1.0f / 50.0f;
COMPILER_STRIP_GATE(0x80BE9AB4, &lit_3853);
/* 80BE97B8-80BE986C 000718 00B4+00 1/0 0/0 0/0 .text actionOnWait__14daObjFPillar_cFv */
void daObjFPillar_c::actionOnWait() {
// NONMATCHING
}
/* 80BE986C-80BE98A0 0007CC 0034+00 1/1 0/0 0/0 .text actionOnInit__14daObjFPillar_cFv */
void daObjFPillar_c::actionOnInit() {
// NONMATCHING
}
/* 80BE98A0-80BE9980 000800 00E0+00 1/0 0/0 0/0 .text actionOn__14daObjFPillar_cFv */
void daObjFPillar_c::actionOn() {
// NONMATCHING
}
/* 80BE9980-80BE9984 0008E0 0004+00 1/1 0/0 0/0 .text drawCylinder__FP4cXyzP4cXyzP5csXyz
*/
static void drawCylinder(cXyz* param_0, cXyz* param_1, csXyz* param_2) {
/* empty function */
}
/* 80BE9984-80BE99B8 0008E4 0034+00 1/1 0/0 0/0 .text draw__14daObjFPillar_cFv */
void daObjFPillar_c::draw() {
// NONMATCHING
}
/* 80BE99B8-80BE99C0 000918 0008+00 1/1 0/0 0/0 .text _delete__14daObjFPillar_cFv */
bool daObjFPillar_c::_delete() {
return true;
}
/* 80BE99C0-80BE99E0 000920 0020+00 1/0 0/0 0/0 .text daObjFPillar_Draw__FP14daObjFPillar_c */
static void daObjFPillar_Draw(daObjFPillar_c* param_0) {
// NONMATCHING
}
/* 80BE99E0-80BE9A00 000940 0020+00 1/0 0/0 0/0 .text daObjFPillar_Execute__FP14daObjFPillar_c */
static void daObjFPillar_Execute(daObjFPillar_c* param_0) {
// NONMATCHING
}
/* 80BE9A00-80BE9A20 000960 0020+00 1/0 0/0 0/0 .text daObjFPillar_Delete__FP14daObjFPillar_c */
static void daObjFPillar_Delete(daObjFPillar_c* param_0) {
// NONMATCHING
}
/* 80BE9A20-80BE9A40 000980 0020+00 1/0 0/0 0/0 .text daObjFPillar_Create__FP10fopAc_ac_c
*/
static void daObjFPillar_Create(fopAc_ac_c* param_0) {
// NONMATCHING
}
/* 80BE9A40-80BE9A88 0009A0 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
// cCcD_GStts::~cCcD_GStts() {
extern "C" void __dt__10cCcD_GSttsFv() {
// NONMATCHING
}
/* 80BE9A88-80BE9A90 0009E8 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */
static void func_80BE9A88() {
// NONMATCHING
}
/* 80BE9A90-80BE9A98 0009F0 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */
static void func_80BE9A90() {
// NONMATCHING
}
/* ############################################################################################## */
/* 80BE9AB8-80BE9ABC 000018 0004+00 0/0 0/0 0/0 .rodata @3895 */
#pragma push
#pragma force_active on
SECTION_RODATA static u32 const lit_3895 = 0xFF000060;
COMPILER_STRIP_GATE(0x80BE9AB8, &lit_3895);
#pragma pop

View File

@ -4,7 +4,13 @@
*/
#include "d/actor/d_a_obj_ladder.h"
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
#include "SSystem/SComponent/c_math.h"
#include "d/d_com_inf_game.h"
#include "d/d_bg_s.h"
#include "d/d_bg_w.h"
#include "dol2asm.h"
#include "f_op/f_op_actor_mng.h"
//
// Forward References:
@ -92,7 +98,6 @@ 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" extern u8 g_dComIfG_gameInfo[122384];
extern "C" f32 Zero__4cXyz[3];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
@ -101,29 +106,38 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
// Declarations:
//
struct Attr {
/* 0x00 */ f32 field_0x00;
/* 0x04 */ f32 field_0x04;
/* 0x08 */ f32 field_0x08;
/* 0x0C */ f32 field_0x0c;
/* 0x10 */ u8 field_0x10;
/* 0x11 */ u8 field_0x11;
/* 0x12 */ u8 field_0x12;
/* 0x13 */ u8 field_0x13;
/* 0x14 */ u8 field_0x14;
/* 0x16 */ s16 field_0x16;
/* 0x18 */ s16 field_0x18;
/* 0x1A */ s16 vibrationTimer;
/* 0x1C */ f32 field_0x1c;
/* 0x20 */ f32 field_0x20;
};
/* ############################################################################################## */
/* 8058DD50-8058DD74 000000 0024+00 5/5 0/0 0/0 .rodata
* L_attr__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@ */
SECTION_RODATA static u8 const data_8058DD50[36] = {
0xC0, 0x40, 0x00, 0x00, 0x3B, 0xA3, 0xD7, 0x0A, 0x3A, 0x03, 0x12, 0x6F,
0x3F, 0x00, 0x00, 0x00, 0x03, 0x4B, 0x32, 0x2D, 0x28, 0x00, 0x4E, 0x20,
0x3C, 0xC3, 0x00, 0x0F, 0x40, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
SECTION_RODATA static Attr const L_attr = {
-3.0f, 0.005f, 0.0005f,
0.5f, 0x03, 0x4B, 0x32, 0x2D, 0x28, 0x4E20,
0x3CC3, 0x0F, 2.0f, 1.0f,
};
COMPILER_STRIP_GATE(0x8058DD50, &data_8058DD50);
inline static const Attr& attr() {
return L_attr;
}
/* 8058DD74-8058DD7C 000024 0005+03 3/3 0/0 0/0 .rodata M_arcname__Q211daObjLadder5Act_c */
SECTION_RODATA u8 const daObjLadder::Act_c::M_arcname[5 + 3 /* padding */] = {
0x4D,
0x68,
0x73,
0x67,
0x00,
/* padding */
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x8058DD74, &daObjLadder::Act_c::M_arcname);
SECTION_RODATA char const daObjLadder::Act_c::M_arcname[5] = "Mhsg";
/* 8058DDAC-8058DDB8 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
@ -143,154 +157,299 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
};
#pragma pop
struct AttrType {
/* 0x0 */ s16 field_0x0;
/* 0x2 */ s16 field_0x2;
/* 0x4 */ f32 field_0x4;
};
/* 8058DDCC-8058DDFC 000020 0030+00 3/3 0/0 0/0 .data
* L_attr_type__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@ */
SECTION_DATA static u8 data_8058DDCC[48] = {
0x00, 0x08, 0x00, 0x10, 0x44, 0x16, 0x00, 0x00, 0x00, 0x09, 0x00, 0x11, 0x44, 0x61, 0x00, 0x00,
0x00, 0x04, 0x00, 0x0C, 0x44, 0x96, 0x00, 0x00, 0x00, 0x05, 0x00, 0x0D, 0x44, 0xBB, 0x80, 0x00,
0x00, 0x07, 0x00, 0x0F, 0x43, 0xE1, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0E, 0x43, 0x96, 0x00, 0x00,
SECTION_DATA static AttrType L_attr_type[6] = {
{ 0x08, 0x10, 600.0f},
{ 0x09, 0x11, 900.0f},
{ 0x04, 0x0C, 1200.0f},
{ 0x05, 0x0D, 1500.0f},
{ 0x07, 0x0F, 450.0f},
{ 0x06, 0x0E, 300.0f},
};
static inline const AttrType& attr_type(daObjLadder::Act_c::Type_e type) {
return L_attr_type[type];
}
/* 8058D158-8058D1D8 000078 0080+00 1/0 0/0 0/0 .text CreateHeap__Q211daObjLadder5Act_cFv
*/
void daObjLadder::Act_c::CreateHeap() {
// NONMATCHING
int daObjLadder::Act_c::CreateHeap() {
J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes(M_arcname, attr_type(mType).field_0x0);
JUT_ASSERT(382, model_data != 0);
mModel = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000084);
return mModel != NULL;
}
/* ############################################################################################## */
/* 8058DD7C-8058DD80 00002C 0004+00 0/1 0/0 0/0 .rodata @3667 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3667 = -55.0f;
COMPILER_STRIP_GATE(0x8058DD7C, &lit_3667);
#pragma pop
/* 8058DD80-8058DD84 000030 0004+00 0/2 0/0 0/0 .rodata @3668 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3668 = -1.0f;
COMPILER_STRIP_GATE(0x8058DD80, &lit_3668);
#pragma pop
/* 8058DD84-8058DD88 000034 0004+00 0/1 0/0 0/0 .rodata @3669 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3669 = -10.0f;
COMPILER_STRIP_GATE(0x8058DD84, &lit_3669);
#pragma pop
/* 8058DD88-8058DD8C 000038 0004+00 0/1 0/0 0/0 .rodata @3670 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3670 = 55.0f;
COMPILER_STRIP_GATE(0x8058DD88, &lit_3670);
#pragma pop
/* 8058DD8C-8058DD90 00003C 0004+00 0/1 0/0 0/0 .rodata @3671 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3671 = 41.0f;
COMPILER_STRIP_GATE(0x8058DD8C, &lit_3671);
#pragma pop
/* 8058DD90-8058DD94 000040 0004+00 0/1 0/0 0/0 .rodata @3672 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3672 = 10.0f;
COMPILER_STRIP_GATE(0x8058DD90, &lit_3672);
#pragma pop
/* 8058DD94-8058DD98 000044 0004+00 1/3 0/0 0/0 .rodata @3673 */
SECTION_RODATA static u8 const lit_3673[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x8058DD94, &lit_3673);
/* 8058DD98-8058DD9C 000048 0004+00 0/1 0/0 0/0 .rodata @3674 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3674 = 5.0f;
COMPILER_STRIP_GATE(0x8058DD98, &lit_3674);
#pragma pop
/* 8058D1D8-8058D378 0000F8 01A0+00 1/0 0/0 0/0 .text Create__Q211daObjLadder5Act_cFv */
void daObjLadder::Act_c::Create() {
int daObjLadder::Act_c::Create() {
// NONMATCHING
fopAcM_SetMtx(this, mModel->getBaseTRMtx());
init_mtx();
fopAcM_setCullSizeBox(this, -55.0f, -1.0f, -10.0f, 55.0f, attr_type(mType).field_0x4 + 41.0f,
10.0f);
cXyz gndVec;
mDoMtx_stack_c::push();
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::YrotM(shape_angle.y);
mDoMtx_stack_c::transM(0.0f, 10.0f, 5.0f);
mDoMtx_stack_c::multVecZero(&gndVec);
mDoMtx_stack_c::pop();
mGndChk.SetPos(&gndVec);
mGndChk.SetActorPid(mBase.mBsPcId);
mHeight = dComIfG_Bgsp().GroundCross(&mGndChk);
mInDemo = false;
mEventIdx = dComIfGp_getEventManager().getEventIdx(this, prm_get_evId());
if (prm_get_swSave() != 0xff && fopAcM_isSwitch(this, prm_get_swSave())) {
current.pos.y = mHeight;
set_mtx();
mode_fell_init();
} else {
mode_wait_init();
}
return 1;
}
/* 8058D378-8058D478 000298 0100+00 1/1 0/0 0/0 .text Mthd_Create__Q211daObjLadder5Act_cFv */
int daObjLadder::Act_c::Mthd_Create() {
fopAcM_SetupActor(this, Act_c);
int phase_state = dComIfG_resLoad(&mPhase, M_arcname);
if (phase_state == cPhs_COMPLEATE_e) {
mType = prm_get_type();
phase_state = MoveBGCreate(M_arcname, attr_type(mType).field_0x2,
dBgS_MoveBGProc_Trans, 0xcb0, NULL);
JUT_ASSERT(486, (phase_state == cPhs_COMPLEATE_e) || (phase_state == cPhs_ERROR_e));
}
return phase_state;
}
/* 8058D4F0-8058D4F8 000410 0008+00 1/0 0/0 0/0 .text Delete__Q211daObjLadder5Act_cFv */
int daObjLadder::Act_c::Delete() {
return 1;
}
/* 8058D4F8-8058D544 000418 004C+00 1/1 0/0 0/0 .text Mthd_Delete__Q211daObjLadder5Act_cFv */
int daObjLadder::Act_c::Mthd_Delete() {
int rv = MoveBGDelete();
dComIfG_resDelete(&mPhase, M_arcname);
return rv;
}
/* 8058D544-8058D5AC 000464 0068+00 1/1 0/0 0/0 .text demo_end_reset__Q211daObjLadder5Act_cFv */
void daObjLadder::Act_c::demo_end_reset() {
if (mInDemo && dComIfGp_evmng_endCheck(mEventIdx)) {
dComIfGp_event_reset();
mInDemo = false;
}
}
/* 8058D5AC-8058D5B8 0004CC 000C+00 1/1 0/0 0/0 .text mode_wait_init__Q211daObjLadder5Act_cFv */
void daObjLadder::Act_c::mode_wait_init() {
mMode = MODE_WAIT;
}
/* 8058D5B8-8058D614 0004D8 005C+00 1/0 0/0 0/0 .text mode_wait__Q211daObjLadder5Act_cFv
*/
void daObjLadder::Act_c::mode_wait() {
if (fopAcM_isSwitch(this, prm_get_swSave())) {
mode_demoreq_init();
}
}
/* 8058D614-8058D628 000534 0014+00 1/1 0/0 0/0 .text mode_demoreq_init__Q211daObjLadder5Act_cFv
*/
void daObjLadder::Act_c::mode_demoreq_init() {
mMode = MODE_DEMOREQ;
mInDemo = false;
}
static inline bool dComIfGp_evmng_existence(s16 eventIdx) {
return g_dComIfG_gameInfo.play.getEvtManager().getEventData(eventIdx) != NULL;
}
/* 8058D628-8058D6E8 000548 00C0+00 1/0 0/0 0/0 .text mode_demoreq__Q211daObjLadder5Act_cFv */
void daObjLadder::Act_c::mode_demoreq() {
bool isDemo = false;
if (dComIfGp_evmng_existence(mEventIdx)) {
if (eventInfo.checkCommandDemoAccrpt()) {
isDemo = true;
mInDemo = true;
} else {
fopAcM_orderOtherEventId(this, mEventIdx, prm_get_evId(), 0xffff, 0, 1);
eventInfo.i_onCondition(2);
}
} else {
isDemo = true;
}
if (isDemo) {
mode_vib_init();
}
}
/* 8058D6E8-8058D710 000608 0028+00 1/1 0/0 0/0 .text mode_vib_init__Q211daObjLadder5Act_cFv */
void daObjLadder::Act_c::mode_vib_init() {
mVibrationTimer = attr().vibrationTimer;
field_0x610 = 0;
field_0x612 = 0;
mMode = MODE_VIB;
}
/* 8058D710-8058D7A8 000630 0098+00 1/0 0/0 0/0 .text mode_vib__Q211daObjLadder5Act_cFv
*/
void daObjLadder::Act_c::mode_vib() {
field_0x610 += attr().field_0x16;
field_0x612 += attr().field_0x18;
field_0x614 = cM_scos(field_0x610) * attr().field_0x1c;
field_0x618 = cM_scos(field_0x612) * attr().field_0x20;
if (--mVibrationTimer <= 0) {
mode_drop_init();
}
}
/* 8058D7A8-8058D7EC 0006C8 0044+00 1/1 0/0 0/0 .text mode_drop_init__Q211daObjLadder5Act_cFv */
void daObjLadder::Act_c::mode_drop_init() {
gravity = -5.0f;
speed.set(cXyz::Zero);
field_0x5b6 = attr().field_0x10;
mMode = MODE_DROP;
}
/* 8058D7EC-8058D9C0 00070C 01D4+00 1/0 0/0 0/0 .text mode_drop__Q211daObjLadder5Act_cFv
*/
void daObjLadder::Act_c::mode_drop() {
daObj::posMoveF_stream(this, NULL, &cXyz::Zero, attr().field_0x04, attr().field_0x08);
if (current.pos.y < mHeight) {
if (field_0x5b6 == attr().field_0x10) {
fopAcM_seStart(this, Z2SE_SY_DUMMY, dComIfG_Bgsp().GetMtrlSndId(mGndChk));
dComIfGp_getVibration().StartShock(4, 0x1f, cXyz(0.0f, 1.0f, 0.0f));
} else {
int uVar7;
int iVar5 = attr().field_0x10 - field_0x5b6;
if (iVar5 == 1) {
uVar7 = attr().field_0x11;
} else if (iVar5 == 2) {
uVar7 = attr().field_0x12;
} else if (iVar5 == 3) {
uVar7 = attr().field_0x13;
} else {
uVar7 = attr().field_0x14;
}
fopAcM_seStart(this, Z2SE_SY_DUMMY, uVar7);
}
if (field_0x5b6 >= 0) {
field_0x5b6--;
current.pos.y =
mHeight - (current.pos.y - mHeight) * 0.5f;
speed.y *= -0.5f;
} else {
current.pos.y = mHeight;
mode_fell_init();
}
}
}
/* 8058D9C0-8058D9CC 0008E0 000C+00 2/2 0/0 0/0 .text mode_fell_init__Q211daObjLadder5Act_cFv */
void daObjLadder::Act_c::mode_fell_init() {
mMode = MODE_FELL;
}
/* 8058D9CC-8058D9D0 0008EC 0004+00 1/0 0/0 0/0 .text mode_fell__Q211daObjLadder5Act_cFv
*/
void daObjLadder::Act_c::mode_fell() {
}
/* ############################################################################################## */
/* 8058DDFC-8058DE08 -00001 000C+00 0/1 0/0 0/0 .data @3878 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3878[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)mode_wait__Q211daObjLadder5Act_cFv,
};
#pragma pop
/* 8058DF20-8058DF50 000000 0030+00 2/2 0/0 0/0 .bss M_tmp_mtx__Q211daObjLadder5Act_c */
Mtx daObjLadder::Act_c::M_tmp_mtx;
/* 8058DE08-8058DE14 -00001 000C+00 0/1 0/0 0/0 .data @3879 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3879[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)mode_demoreq__Q211daObjLadder5Act_cFv,
};
#pragma pop
/* 8058D9D0-8058DA64 0008F0 0094+00 3/3 0/0 0/0 .text set_mtx__Q211daObjLadder5Act_cFv */
void daObjLadder::Act_c::set_mtx() {
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);
cMtx_copy(mDoMtx_stack_c::get(), M_tmp_mtx);
mDoMtx_stack_c::transM(field_0x614, field_0x618, 0.0f);
mModel->setBaseTRMtx(mDoMtx_stack_c::get());
}
/* 8058DE14-8058DE20 -00001 000C+00 0/1 0/0 0/0 .data @3880 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3880[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)mode_vib__Q211daObjLadder5Act_cFv,
};
#pragma pop
/* 8058DA64-8058DAA0 000984 003C+00 1/1 0/0 0/0 .text init_mtx__Q211daObjLadder5Act_cFv
*/
void daObjLadder::Act_c::init_mtx() {
mModel->setBaseScale(scale);
set_mtx();
}
/* 8058DE20-8058DE2C -00001 000C+00 0/1 0/0 0/0 .data @3881 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3881[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)mode_drop__Q211daObjLadder5Act_cFv,
};
#pragma pop
/* 8058DAA0-8058DBB8 0009C0 0118+00 1/0 0/0 0/0 .text Execute__Q211daObjLadder5Act_cFPPA3_A4_f */
int daObjLadder::Act_c::Execute(f32 (**param_1)[3][4]) {
static const daObjLadder::Act_c::modeProc mode_proc[5] = {
&daObjLadder::Act_c::mode_wait, &daObjLadder::Act_c::mode_demoreq,
&daObjLadder::Act_c::mode_vib, &daObjLadder::Act_c::mode_drop,
&daObjLadder::Act_c::mode_fell,
};
/* 8058DE2C-8058DE38 -00001 000C+00 0/1 0/0 0/0 .data @3882 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3882[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)mode_fell__Q211daObjLadder5Act_cFv,
};
#pragma pop
demo_end_reset();
(this->*(mode_proc[mMode]))();
eyePos.y = current.pos.y;
set_mtx();
*param_1 = &M_tmp_mtx;
return 1;
}
/* 8058DE38-8058DE74 00008C 003C+00 0/1 0/0 0/0 .data mode_proc$3877 */
#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
/* 8058DBB8-8058DC5C 000AD8 00A4+00 1/0 0/0 0/0 .text Draw__Q211daObjLadder5Act_cFv */
int daObjLadder::Act_c::Draw() {
g_env_light.settingTevStruct(0x10, &current.pos, &tevStr);
g_env_light.setLightTevColorType_MAJI(mModel, &tevStr);
dComIfGd_setListBG();
mDoExt_modelUpdateDL(mModel);
dComIfGd_setList();
dComIfG_Bgsp().DebugDrawPoly(mpBgW);
return 1;
}
/* 8058DC5C-8058DC7C 000B7C 0020+00 1/0 0/0 0/0 .text
* Mthd_Create__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv */
static int Mthd_Create(daObjLadder::Act_c* i_this) {
return i_this->Mthd_Create();
}
/* 8058DC7C-8058DC9C 000B9C 0020+00 1/0 0/0 0/0 .text
* Mthd_Delete__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv */
static int Mthd_Delete(daObjLadder::Act_c* i_this) {
return i_this->Mthd_Delete();
}
/* 8058DC9C-8058DCBC 000BBC 0020+00 1/0 0/0 0/0 .text
* Mthd_Execute__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv */
static int Mthd_Execute(daObjLadder::Act_c* i_this) {
return i_this->MoveBGExecute();
}
/* 8058DCBC-8058DCE8 000BDC 002C+00 1/0 0/0 0/0 .text
* Mthd_Draw__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv */
static int Mthd_Draw(daObjLadder::Act_c* i_this) {
return i_this->MoveBGDraw();
}
/* 8058DCE8-8058DD14 000C08 002C+00 1/0 0/0 0/0 .text
* Mthd_IsDelete__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv */
static int Mthd_IsDelete(daObjLadder::Act_c* i_this) {
return i_this->MoveBGIsDelete();
}
/* 8058DE74-8058DE94 -00001 0020+00 1/0 0/0 0/0 .data
* Mthd_Table__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@ */
static actor_method_class data_8058DE74 = {
(process_method_func)func_8058DC5C,
(process_method_func)func_8058DC7C,
(process_method_func)func_8058DC9C,
(process_method_func)func_8058DCE8,
(process_method_func)func_8058DCBC,
static actor_method_class Mthd_Table = {
(process_method_func)Mthd_Create,
(process_method_func)Mthd_Delete,
(process_method_func)Mthd_Execute,
(process_method_func)Mthd_IsDelete,
(process_method_func)Mthd_Draw,
};
/* 8058DE94-8058DEC4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Ladder */
@ -300,234 +459,13 @@ extern actor_process_profile_definition g_profile_Obj_Ladder = {
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_Ladder, // mProcName
&g_fpcLf_Method.mBase, // sub_method
sizeof(daObjLadder), // mSize
sizeof(daObjLadder::Act_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
23, // mPriority
&data_8058DE74, // sub_method
&Mthd_Table, // sub_method
0x00040100, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
/* 8058DEC4-8058DEF4 000118 0030+00 2/2 0/0 0/0 .data __vt__14dBgS_ObjGndChk */
SECTION_DATA extern void* __vt__14dBgS_ObjGndChk[12] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__14dBgS_ObjGndChkFv,
(void*)NULL,
(void*)NULL,
(void*)func_8058DD30,
(void*)NULL,
(void*)NULL,
(void*)func_8058DD40,
(void*)NULL,
(void*)NULL,
(void*)func_8058DD38,
};
/* 8058DEF4-8058DF1C 000148 0028+00 1/1 0/0 0/0 .data __vt__Q211daObjLadder5Act_c */
SECTION_DATA extern void* __vt__Q211daObjLadder5Act_c[10] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)CreateHeap__Q211daObjLadder5Act_cFv,
(void*)Create__Q211daObjLadder5Act_cFv,
(void*)Execute__Q211daObjLadder5Act_cFPPA3_A4_f,
(void*)Draw__Q211daObjLadder5Act_cFv,
(void*)Delete__Q211daObjLadder5Act_cFv,
(void*)IsDelete__16dBgS_MoveBgActorFv,
(void*)ToFore__16dBgS_MoveBgActorFv,
(void*)ToBack__16dBgS_MoveBgActorFv,
};
/* 8058D378-8058D478 000298 0100+00 1/1 0/0 0/0 .text Mthd_Create__Q211daObjLadder5Act_cFv */
void daObjLadder::Act_c::Mthd_Create() {
// NONMATCHING
}
/* 8058D478-8058D4F0 000398 0078+00 4/3 0/0 0/0 .text __dt__14dBgS_ObjGndChkFv */
// dBgS_ObjGndChk::~dBgS_ObjGndChk() {
extern "C" void __dt__14dBgS_ObjGndChkFv() {
// NONMATCHING
}
/* 8058D4F0-8058D4F8 000410 0008+00 1/0 0/0 0/0 .text Delete__Q211daObjLadder5Act_cFv */
bool daObjLadder::Act_c::Delete() {
return true;
}
/* 8058D4F8-8058D544 000418 004C+00 1/1 0/0 0/0 .text Mthd_Delete__Q211daObjLadder5Act_cFv */
void daObjLadder::Act_c::Mthd_Delete() {
// NONMATCHING
}
/* 8058D544-8058D5AC 000464 0068+00 1/1 0/0 0/0 .text demo_end_reset__Q211daObjLadder5Act_cFv */
void daObjLadder::Act_c::demo_end_reset() {
// NONMATCHING
}
/* 8058D5AC-8058D5B8 0004CC 000C+00 1/1 0/0 0/0 .text mode_wait_init__Q211daObjLadder5Act_cFv */
void daObjLadder::Act_c::mode_wait_init() {
// NONMATCHING
}
/* 8058D5B8-8058D614 0004D8 005C+00 1/0 0/0 0/0 .text mode_wait__Q211daObjLadder5Act_cFv
*/
void daObjLadder::Act_c::mode_wait() {
// NONMATCHING
}
/* 8058D614-8058D628 000534 0014+00 1/1 0/0 0/0 .text mode_demoreq_init__Q211daObjLadder5Act_cFv
*/
void daObjLadder::Act_c::mode_demoreq_init() {
// NONMATCHING
}
/* 8058D628-8058D6E8 000548 00C0+00 1/0 0/0 0/0 .text mode_demoreq__Q211daObjLadder5Act_cFv */
void daObjLadder::Act_c::mode_demoreq() {
// NONMATCHING
}
/* 8058D6E8-8058D710 000608 0028+00 1/1 0/0 0/0 .text mode_vib_init__Q211daObjLadder5Act_cFv */
void daObjLadder::Act_c::mode_vib_init() {
// NONMATCHING
}
/* 8058D710-8058D7A8 000630 0098+00 1/0 0/0 0/0 .text mode_vib__Q211daObjLadder5Act_cFv
*/
void daObjLadder::Act_c::mode_vib() {
// NONMATCHING
}
/* ############################################################################################## */
/* 8058DD9C-8058DDA0 00004C 0004+00 1/1 0/0 0/0 .rodata @3792 */
SECTION_RODATA static f32 const lit_3792 = -5.0f;
COMPILER_STRIP_GATE(0x8058DD9C, &lit_3792);
/* 8058D7A8-8058D7EC 0006C8 0044+00 1/1 0/0 0/0 .text mode_drop_init__Q211daObjLadder5Act_cFv */
void daObjLadder::Act_c::mode_drop_init() {
// NONMATCHING
}
/* ############################################################################################## */
/* 8058DDA0-8058DDA4 000050 0004+00 0/1 0/0 0/0 .rodata @3838 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3838 = 1.0f;
COMPILER_STRIP_GATE(0x8058DDA0, &lit_3838);
#pragma pop
/* 8058DDA4-8058DDA8 000054 0004+00 0/1 0/0 0/0 .rodata @3839 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3839 = 0.5f;
COMPILER_STRIP_GATE(0x8058DDA4, &lit_3839);
#pragma pop
/* 8058DDA8-8058DDAC 000058 0004+00 0/1 0/0 0/0 .rodata @3840 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3840 = -0.5f;
COMPILER_STRIP_GATE(0x8058DDA8, &lit_3840);
#pragma pop
/* 8058D7EC-8058D9C0 00070C 01D4+00 1/0 0/0 0/0 .text mode_drop__Q211daObjLadder5Act_cFv
*/
void daObjLadder::Act_c::mode_drop() {
// NONMATCHING
}
/* 8058D9C0-8058D9CC 0008E0 000C+00 2/2 0/0 0/0 .text mode_fell_init__Q211daObjLadder5Act_cFv */
void daObjLadder::Act_c::mode_fell_init() {
// NONMATCHING
}
/* 8058D9CC-8058D9D0 0008EC 0004+00 1/0 0/0 0/0 .text mode_fell__Q211daObjLadder5Act_cFv
*/
void daObjLadder::Act_c::mode_fell() {
/* empty function */
}
/* ############################################################################################## */
/* 8058DF20-8058DF50 000000 0030+00 2/2 0/0 0/0 .bss M_tmp_mtx__Q211daObjLadder5Act_c */
u8 daObjLadder::Act_c::M_tmp_mtx[48];
/* 8058D9D0-8058DA64 0008F0 0094+00 3/3 0/0 0/0 .text set_mtx__Q211daObjLadder5Act_cFv */
void daObjLadder::Act_c::set_mtx() {
// NONMATCHING
}
/* 8058DA64-8058DAA0 000984 003C+00 1/1 0/0 0/0 .text init_mtx__Q211daObjLadder5Act_cFv
*/
void daObjLadder::Act_c::init_mtx() {
// NONMATCHING
}
/* ############################################################################################## */
/* 8058DF50-8058DF54 000030 0004+00 1/1 0/0 0/0 .bss None */
static u8 data_8058DF50[4];
/* 8058DAA0-8058DBB8 0009C0 0118+00 1/0 0/0 0/0 .text Execute__Q211daObjLadder5Act_cFPPA3_A4_f */
void daObjLadder::Act_c::Execute(f32 (**param_0)[3][4]) {
// NONMATCHING
}
/* 8058DBB8-8058DC5C 000AD8 00A4+00 1/0 0/0 0/0 .text Draw__Q211daObjLadder5Act_cFv */
void daObjLadder::Act_c::Draw() {
// NONMATCHING
}
/* 8058DC5C-8058DC7C 000B7C 0020+00 1/0 0/0 0/0 .text
* Mthd_Create__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv */
static void func_8058DC5C() {
// NONMATCHING
}
/* 8058DC7C-8058DC9C 000B9C 0020+00 1/0 0/0 0/0 .text
* Mthd_Delete__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv */
static void func_8058DC7C() {
// NONMATCHING
}
/* 8058DC9C-8058DCBC 000BBC 0020+00 1/0 0/0 0/0 .text
* Mthd_Execute__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv */
static void func_8058DC9C() {
// NONMATCHING
}
/* 8058DCBC-8058DCE8 000BDC 002C+00 1/0 0/0 0/0 .text
* Mthd_Draw__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv */
static void func_8058DCBC() {
// NONMATCHING
}
/* 8058DCE8-8058DD14 000C08 002C+00 1/0 0/0 0/0 .text
* Mthd_IsDelete__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv */
static void func_8058DCE8() {
// NONMATCHING
}
/* 8058DD14-8058DD30 000C34 001C+00 4/4 0/0 0/0 .text
* PrmAbstract<Q311daObjLadder5Act_c5Prm_e>__5daObjFPC10fopAc_ac_cQ311daObjLadder5Act_c5Prm_eQ311daObjLadder5Act_c5Prm_e
*/
extern "C" void func_8058DD14(void* _this, fopAc_ac_c const* param_0,
daObjLadder::Act_c::Prm_e param_1,
daObjLadder::Act_c::Prm_e param_2) {
// NONMATCHING
}
/* 8058DD30-8058DD38 000C50 0008+00 1/0 0/0 0/0 .text @20@__dt__14dBgS_ObjGndChkFv */
static void func_8058DD30() {
// NONMATCHING
}
/* 8058DD38-8058DD40 000C58 0008+00 1/0 0/0 0/0 .text @76@__dt__14dBgS_ObjGndChkFv */
static void func_8058DD38() {
// NONMATCHING
}
/* 8058DD40-8058DD48 000C60 0008+00 1/0 0/0 0/0 .text @60@__dt__14dBgS_ObjGndChkFv */
static void func_8058DD40() {
// NONMATCHING
}