From 0c058d2a2c0ed11c93e07e4faa90b34ffe91a09a Mon Sep 17 00:00:00 2001 From: roeming Date: Sat, 4 Oct 2025 07:39:48 -0400 Subject: [PATCH] link d_a_obj_hasu2 (#2722) * link d_a_obj_hasu2 * fix suggestions * move dtor to .h, move inline func to .h --- config/GZ2E01/rels/d_a_obj_hasu2/symbols.txt | 16 +- configure.py | 2 +- include/d/actor/d_a_obj_hasu2.h | 31 +- src/d/actor/d_a_obj_hasu2.cpp | 465 ++++++++----------- 4 files changed, 223 insertions(+), 291 deletions(-) diff --git a/config/GZ2E01/rels/d_a_obj_hasu2/symbols.txt b/config/GZ2E01/rels/d_a_obj_hasu2/symbols.txt index ccb25c662e3..32239f1284b 100644 --- a/config/GZ2E01/rels/d_a_obj_hasu2/symbols.txt +++ b/config/GZ2E01/rels/d_a_obj_hasu2/symbols.txt @@ -1,9 +1,9 @@ _prolog = .text:0x00000000; // type:function size:0x2C scope:global _epilog = .text:0x0000002C; // type:function size:0x2C scope:global _unresolved = .text:0x00000058; // type:function size:0x20 scope:global -rideCallBack__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c = .text:0x00000078; // type:function size:0x44 scope:global +rideCallBack__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c = .text:0x00000078; // type:function size:0x44 scope:local __ct__Q29nObjMHasu12daObjMHasu_cFv = .text:0x000000BC; // type:function size:0x64 scope:global -create1st__Q29nObjMHasu12daObjMHasu_cFv = .text:0x00000120; // type:function size:0x90 scope:global +create1st__Q29nObjMHasu12daObjMHasu_cFv = .text:0x00000120; // type:function size:0x90 scope:local setMtx__Q29nObjMHasu12daObjMHasu_cFv = .text:0x000001B0; // type:function size:0x70 scope:global CreateHeap__Q29nObjMHasu12daObjMHasu_cFv = .text:0x00000220; // type:function size:0x70 scope:global Create__Q29nObjMHasu12daObjMHasu_cFv = .text:0x00000290; // type:function size:0xF4 scope:global @@ -13,15 +13,15 @@ Delete__Q29nObjMHasu12daObjMHasu_cFv = .text:0x00000484; // type:function size:0 upDownHasu__Q29nObjMHasu12daObjMHasu_cFv = .text:0x000004C0; // type:function size:0x1A8 scope:global updateCount__Q29nObjMHasu12daObjMHasu_cFUc = .text:0x00000668; // type:function size:0x18 scope:global setHasuCount__Q29nObjMHasu12daObjMHasu_cFf = .text:0x00000680; // type:function size:0x80 scope:global -daObjMHasu_create1st__FPQ29nObjMHasu12daObjMHasu_c = .text:0x00000700; // type:function size:0x54 scope:global -daObjMHasu_MoveBGDelete__FPQ29nObjMHasu12daObjMHasu_c = .text:0x00000754; // type:function size:0x20 scope:global -daObjMHasu_MoveBGExecute__FPQ29nObjMHasu12daObjMHasu_c = .text:0x00000774; // type:function size:0x20 scope:global -daObjMHasu_MoveBGDraw__FPQ29nObjMHasu12daObjMHasu_c = .text:0x00000794; // type:function size:0x2C scope:global +daObjMHasu_create1st__FPQ29nObjMHasu12daObjMHasu_c = .text:0x00000700; // type:function size:0x54 scope:local +daObjMHasu_MoveBGDelete__FPQ29nObjMHasu12daObjMHasu_c = .text:0x00000754; // type:function size:0x20 scope:local +daObjMHasu_MoveBGExecute__FPQ29nObjMHasu12daObjMHasu_c = .text:0x00000774; // type:function size:0x20 scope:local +daObjMHasu_MoveBGDraw__FPQ29nObjMHasu12daObjMHasu_c = .text:0x00000794; // type:function size:0x2C scope:local __dt__Q29nObjMHasu12daObjMHasu_cFv = .text:0x000007C0; // type:function size:0x70 scope:global _ctors = .ctors:0x00000000; // type:label scope:global _dtors = .dtors:0x00000000; // type:label scope:global ...rodata.0 = .rodata:0x00000000; // type:label scope:local -l_cull_box = .rodata:0x00000000; // type:object size:0x18 scope:global +l_cull_box = .rodata:0x00000000; // type:object size:0x18 scope:local @3634 = .rodata:0x00000018; // type:object size:0x4 scope:local @3635 = .rodata:0x0000001C; // type:object size:0x4 scope:local @3636 = .rodata:0x00000020; // type:object size:0x4 scope:local @@ -35,7 +35,7 @@ l_cull_box = .rodata:0x00000000; // type:object size:0x18 scope:global @3782 = .rodata:0x00000040; // type:object size:0x4 scope:local @3783 = .rodata:0x00000044; // type:object size:0x4 scope:local @stringBase0 = .rodata:0x00000048; // type:object size:0x7 scope:local data:string_table -l_arcName = .data:0x00000000; // type:object size:0x4 scope:global +l_arcName = .data:0x00000000; // type:object size:0x4 scope:local daObjMHasu_METHODS = .data:0x00000004; // type:object size:0x20 scope:global g_profile_Obj_MHasu = .data:0x00000024; // type:object size:0x30 scope:global __vt__Q29nObjMHasu12daObjMHasu_c = .data:0x00000054; // type:object size:0x2C scope:global diff --git a/configure.py b/configure.py index f6fbc2eba17..79246fa7ebc 100755 --- a/configure.py +++ b/configure.py @@ -1999,7 +1999,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_obj_h_saku"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_hakai_brl"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_hakai_ftr"), - ActorRel(NonMatching, "d_a_obj_hasu2"), + ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_hasu2"), ActorRel(NonMatching, "d_a_obj_hata"), ActorRel(NonMatching, "d_a_obj_hb"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_hbombkoya"), diff --git a/include/d/actor/d_a_obj_hasu2.h b/include/d/actor/d_a_obj_hasu2.h index c1a4ca89620..f463393b209 100644 --- a/include/d/actor/d_a_obj_hasu2.h +++ b/include/d/actor/d_a_obj_hasu2.h @@ -2,6 +2,7 @@ #define D_A_OBJ_HASU2_H #include "f_op/f_op_actor_mng.h" +#include "d/d_bg_s_movebg_actor.h" namespace nObjMHasu { /** @@ -12,23 +13,35 @@ namespace nObjMHasu { * @details * */ -class daObjMHasu_c : public fopAc_ac_c { +class daObjMHasu_c : public dBgS_MoveBgActor, public request_of_phase_process_class { public: /* 80C182DC */ daObjMHasu_c(); - /* 80C18340 */ void create1st(); + /* 80C18340 */ int create1st(); /* 80C183D0 */ void setMtx(); - /* 80C18440 */ void CreateHeap(); - /* 80C184B0 */ void Create(); - /* 80C185A4 */ void Execute(Mtx**); - /* 80C18600 */ void Draw(); - /* 80C186A4 */ void Delete(); + /* 80C18440 */ int CreateHeap(); + /* 80C184B0 */ int Create(); + /* 80C185A4 */ int Execute(Mtx**); + /* 80C18600 */ int Draw(); + /* 80C186A4 */ int Delete(); /* 80C186E0 */ void upDownHasu(); /* 80C18888 */ void updateCount(u8); /* 80C188A0 */ void setHasuCount(f32); - /* 80C189E0 */ ~daObjMHasu_c(); + /* 80C189E0 */ virtual ~daObjMHasu_c() {}; + void setRideFlag(bool i_ride) { mRideFlag = i_ride; } private: - /* 0x568 */ u8 field_0x568[0x634 - 0x568]; + /* 0x5A8 */ Mtx mMtx; + /* 0x5D8 */ Mtx mMtx2; + /* 0x608 */ J3DModel* mModel; + /* 0x60C */ bool mRideFlag : 1; + /* 0x60C */ bool unk60c_1 : 1; + /* 0x610 */ const f32 mConst1; + /* 0x614 */ const f32 mConst2; + /* 0x618 */ const f32 mConst3; + /* 0x61C */ cXyz mPos; + /* 0x628 */ f32 mStep; + /* 0x62C */ f32 unk62C; + /* 0x630 */ u8 mTimer; }; STATIC_ASSERT(sizeof(daObjMHasu_c) == 0x634); diff --git a/src/d/actor/d_a_obj_hasu2.cpp b/src/d/actor/d_a_obj_hasu2.cpp index d5295788275..9d406d0f806 100644 --- a/src/d/actor/d_a_obj_hasu2.cpp +++ b/src/d/actor/d_a_obj_hasu2.cpp @@ -6,63 +6,6 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_obj_hasu2.h" -#include "dol2asm.h" - -// -// Forward References: -// - -extern "C" static void rideCallBack__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c(); -extern "C" void __ct__Q29nObjMHasu12daObjMHasu_cFv(); -extern "C" void create1st__Q29nObjMHasu12daObjMHasu_cFv(); -extern "C" void setMtx__Q29nObjMHasu12daObjMHasu_cFv(); -extern "C" void CreateHeap__Q29nObjMHasu12daObjMHasu_cFv(); -extern "C" void Create__Q29nObjMHasu12daObjMHasu_cFv(); -extern "C" void Execute__Q29nObjMHasu12daObjMHasu_cFPPA3_A4_f(); -extern "C" void Draw__Q29nObjMHasu12daObjMHasu_cFv(); -extern "C" void Delete__Q29nObjMHasu12daObjMHasu_cFv(); -extern "C" void upDownHasu__Q29nObjMHasu12daObjMHasu_cFv(); -extern "C" void updateCount__Q29nObjMHasu12daObjMHasu_cFUc(); -extern "C" void setHasuCount__Q29nObjMHasu12daObjMHasu_cFf(); -extern "C" static void daObjMHasu_create1st__FPQ29nObjMHasu12daObjMHasu_c(); -extern "C" static void daObjMHasu_MoveBGDelete__FPQ29nObjMHasu12daObjMHasu_c(); -extern "C" static void daObjMHasu_MoveBGExecute__FPQ29nObjMHasu12daObjMHasu_c(); -extern "C" static void daObjMHasu_MoveBGDraw__FPQ29nObjMHasu12daObjMHasu_c(); -extern "C" void __dt__Q29nObjMHasu12daObjMHasu_cFv(); -extern "C" extern char const* const d_a_obj_hasu2__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -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 cM_rnd__Fv(); -extern "C" void cM_rndF__Ff(); -extern "C" void cLib_addCalc__FPfffff(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void __dl__FPv(); -extern "C" void __cvt_fp2unsigned(); -extern "C" extern void* __vt__16dBgS_MoveBgActor[10]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // // Declarations: @@ -71,54 +14,208 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; /* 80C18298-80C182DC 000078 0044+00 1/1 0/0 0/0 .text * rideCallBack__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c */ static void rideCallBack(dBgW* param_0, fopAc_ac_c* param_1, fopAc_ac_c* param_2) { - // NONMATCHING + (void)param_0; + if (fopAcM_GetName(param_2) == PROC_ALINK) { + nObjMHasu::daObjMHasu_c* hasu = (nObjMHasu::daObjMHasu_c*)(param_1); + hasu->setRideFlag(true); + hasu->setHasuCount(param_2->speedF); + } } /* ############################################################################################## */ +const int l_dzbidx = {7}; +const int l_bmdidx = {4}; + /* 80C18A58-80C18A70 000000 0018+00 4/4 0/0 0/0 .rodata l_cull_box */ -SECTION_RODATA static u8 const l_cull_box[24] = { - 0xC2, 0xF6, 0x00, 0x00, 0xC3, 0x2F, 0x00, 0x00, 0xC3, 0x0E, 0x00, 0x00, - 0x43, 0x05, 0x00, 0x00, 0x41, 0xE8, 0x00, 0x00, 0x42, 0xFE, 0x00, 0x00, +static const cull_box l_cull_box = { + {-123.0f, -175.0f, -142.0f}, + {133.0f, 29.0f, 127.0f} }; -COMPILER_STRIP_GATE(0x80C18A58, &l_cull_box); - -/* 80C18A70-80C18A74 000018 0004+00 0/1 0/0 0/0 .rodata @3634 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3634 = 25.5f; -COMPILER_STRIP_GATE(0x80C18A70, &lit_3634); -#pragma pop - -/* 80C18A74-80C18A78 00001C 0004+00 0/2 0/0 0/0 .rodata @3635 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3635 = 6.5f; -COMPILER_STRIP_GATE(0x80C18A74, &lit_3635); -#pragma pop - -/* 80C18A78-80C18A7C 000020 0004+00 0/1 0/0 0/0 .rodata @3636 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3636 = 5.5f; -COMPILER_STRIP_GATE(0x80C18A78, &lit_3636); -#pragma pop - -/* 80C18AA0-80C18AA0 000048 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80C18AA0 = "M_Hasu"; -#pragma pop /* 80C18AA8-80C18AAC -00001 0004+00 3/3 0/0 0/0 .data l_arcName */ -SECTION_DATA static void* l_arcName = (void*)&d_a_obj_hasu2__stringBase0; +static char* l_arcName = "M_Hasu"; + +/* 80C182DC-80C18340 0000BC 0064+00 1/1 0/0 0/0 .text __ct__Q29nObjMHasu12daObjMHasu_cFv + */ +nObjMHasu::daObjMHasu_c::daObjMHasu_c() : + mConst1(25.5f), + mConst2(6.5f), + mConst3(5.5f) +{ +} + +/* 80C18340-80C183D0 000120 0090+00 1/1 0/0 0/0 .text create1st__Q29nObjMHasu12daObjMHasu_cFv */ +int nObjMHasu::daObjMHasu_c::create1st() { + cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(this, l_arcName); + if (phase == cPhs_COMPLEATE_e) + { + setMtx(); + phase = (cPhs__Step)MoveBGCreate(l_arcName, l_dzbidx, dBgS_MoveBGProc_TypicalRotY, 0x1450, &mMtx); + if (phase == cPhs_ERROR_e) + { + return phase; + } + } + return phase; +} + +/* 80C183D0-80C18440 0001B0 0070+00 2/2 0/0 0/0 .text setMtx__Q29nObjMHasu12daObjMHasu_cFv */ +void nObjMHasu::daObjMHasu_c::setMtx() { + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); + mDoMtx_stack_c::YrotM(current.angle.y); + MTXCopy(mDoMtx_stack_c::get(), mMtx2); + MTXCopy(mDoMtx_stack_c::get(), mMtx); +} + +/* 80C18440-80C184B0 000220 0070+00 1/0 0/0 0/0 .text CreateHeap__Q29nObjMHasu12daObjMHasu_cFv */ +int nObjMHasu::daObjMHasu_c::CreateHeap() { + J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, l_bmdidx); + JUT_ASSERT(193, model_data != NULL); + mModel = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000084); + if (mModel == NULL) + { + return FALSE; + } + return TRUE; +} + +/* 80C184B0-80C185A4 000290 00F4+00 1/0 0/0 0/0 .text Create__Q29nObjMHasu12daObjMHasu_cFv */ +int nObjMHasu::daObjMHasu_c::Create() { + mModel->setBaseTRMtx(mMtx2); + fopAcM_SetMtx(this, mMtx2); + fopAcM_setCullSizeBox(this, l_cull_box.min.x, l_cull_box.min.y, l_cull_box.min.z, + l_cull_box.max.x, l_cull_box.max.y, l_cull_box.max.z); + mpBgW->SetRideCallback(rideCallBack); + mRideFlag = false; + if (cM_rnd() > 0.5f) { + unk62C = mConst2; + } else { + unk62C = -mConst2; + } + mPos = current.pos; + mStep = 0.35f + cM_rndF(0.2f); + mTimer = 0; + return 1; +} + +/* 80C185A4-80C18600 000384 005C+00 1/0 0/0 0/0 .text + * Execute__Q29nObjMHasu12daObjMHasu_cFPPA3_A4_f */ +int nObjMHasu::daObjMHasu_c::Execute(Mtx** i_pMtx) { + setMtx(); + mModel->setBaseTRMtx(mMtx2); + *i_pMtx = &mMtx; + upDownHasu(); + return 1; +} + +/* 80C18600-80C186A4 0003E0 00A4+00 1/0 0/0 0/0 .text Draw__Q29nObjMHasu12daObjMHasu_cFv + */ +int nObjMHasu::daObjMHasu_c::Draw() { + g_env_light.settingTevStruct(0x10, ¤t.pos, &tevStr); + g_env_light.setLightTevColorType_MAJI(mModel, &tevStr); + dComIfGd_setListBG(); + mDoExt_modelUpdateDL(mModel); + dComIfGd_setList(); + return 1; +} + +/* 80C186A4-80C186E0 000484 003C+00 1/0 0/0 0/0 .text Delete__Q29nObjMHasu12daObjMHasu_cFv */ +int nObjMHasu::daObjMHasu_c::Delete() { + dComIfG_resDelete(this, l_arcName); + return 1; +} + +/* 80C186E0-80C18888 0004C0 01A8+00 1/1 0/0 0/0 .text upDownHasu__Q29nObjMHasu12daObjMHasu_cFv */ +void nObjMHasu::daObjMHasu_c::upDownHasu() { + { // nested scope from debug + f32 step; + f32 target; + if (mRideFlag) { + target = unk62C + (mPos.y - mConst1); + if (current.pos.y > (mPos.y - mConst1) + mConst2 + mConst2) { + step = mStep + mConst3; + } else if (mTimer) { + step = 6.0f * mStep; + target += unk62C; + } else { + step = mStep / 2.0f; + } + if (mTimer) { + --mTimer; + } + } else { + target = mPos.y + unk62C; + step = mStep; + } + if (step > mStep) { + u32 x = fabsf(current.pos.y - mPos.y); + Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_HASU_WTR, ¤t.pos, x, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + } + if (cLib_addCalc(¤t.pos.y, target, 0.35f, step, step) == 0.0f) { + unk62C *= -1.0f; + } + } + unk60c_1 = mRideFlag; + mRideFlag = 0; +} + +/* 80C18888-80C188A0 000668 0018+00 1/1 0/0 0/0 .text updateCount__Q29nObjMHasu12daObjMHasu_cFUc + */ +void nObjMHasu::daObjMHasu_c::updateCount(u8 i_count) { + if (mTimer < i_count) { + mTimer = i_count; + } +} + +/* 80C188A0-80C18920 000680 0080+00 1/1 0/0 0/0 .text setHasuCount__Q29nObjMHasu12daObjMHasu_cFf + */ +void nObjMHasu::daObjMHasu_c::setHasuCount(f32 i_count) { + if (!unk60c_1) { + mTimer = 45; + } else if (i_count > 1.5f) { + if (i_count < 6.5f) { + updateCount(25); + } else if (i_count < 10.0f) { + updateCount(40); + } else { + updateCount(60); + } + } +} + +/* 80C18920-80C18974 000700 0054+00 1/0 0/0 0/0 .text + * daObjMHasu_create1st__FPQ29nObjMHasu12daObjMHasu_c */ +static int daObjMHasu_create1st(nObjMHasu::daObjMHasu_c* i_this) { + fopAcM_SetupActor(i_this, nObjMHasu::daObjMHasu_c); + return i_this->create1st(); +} + +/* 80C18974-80C18994 000754 0020+00 1/0 0/0 0/0 .text + * daObjMHasu_MoveBGDelete__FPQ29nObjMHasu12daObjMHasu_c */ +static int daObjMHasu_MoveBGDelete(nObjMHasu::daObjMHasu_c* i_this) { + return i_this->MoveBGDelete(); +} + +/* 80C18994-80C189B4 000774 0020+00 1/0 0/0 0/0 .text + * daObjMHasu_MoveBGExecute__FPQ29nObjMHasu12daObjMHasu_c */ +static int daObjMHasu_MoveBGExecute(nObjMHasu::daObjMHasu_c* i_this) { + return i_this->MoveBGExecute(); +} + +/* 80C189B4-80C189E0 000794 002C+00 1/0 0/0 0/0 .text + * daObjMHasu_MoveBGDraw__FPQ29nObjMHasu12daObjMHasu_c */ +static int daObjMHasu_MoveBGDraw(nObjMHasu::daObjMHasu_c* i_this) { + return i_this->MoveBGDraw(); +} /* 80C18AAC-80C18ACC -00001 0020+00 1/0 0/0 0/0 .data daObjMHasu_METHODS */ -static actor_method_class daObjMHasu_METHODS = { - (process_method_func)daObjMHasu_create1st__FPQ29nObjMHasu12daObjMHasu_c, - (process_method_func)daObjMHasu_MoveBGDelete__FPQ29nObjMHasu12daObjMHasu_c, - (process_method_func)daObjMHasu_MoveBGExecute__FPQ29nObjMHasu12daObjMHasu_c, +actor_method_class daObjMHasu_METHODS = { + (process_method_func)&daObjMHasu_create1st, + (process_method_func)&daObjMHasu_MoveBGDelete, + (process_method_func)&daObjMHasu_MoveBGExecute, 0, - (process_method_func)daObjMHasu_MoveBGDraw__FPQ29nObjMHasu12daObjMHasu_c, + (process_method_func)&daObjMHasu_MoveBGDraw, }; /* 80C18ACC-80C18AFC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_MHasu */ @@ -138,181 +235,3 @@ extern actor_process_profile_definition g_profile_Obj_MHasu = { fopAc_ACTOR_e, // mActorType fopAc_CULLBOX_CUSTOM_e, // cullType }; - -/* 80C18AFC-80C18B28 000054 002C+00 2/2 0/0 0/0 .data __vt__Q29nObjMHasu12daObjMHasu_c */ -SECTION_DATA extern void* __vt__Q29nObjMHasu12daObjMHasu_c[11] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)CreateHeap__Q29nObjMHasu12daObjMHasu_cFv, - (void*)Create__Q29nObjMHasu12daObjMHasu_cFv, - (void*)Execute__Q29nObjMHasu12daObjMHasu_cFPPA3_A4_f, - (void*)Draw__Q29nObjMHasu12daObjMHasu_cFv, - (void*)Delete__Q29nObjMHasu12daObjMHasu_cFv, - (void*)IsDelete__16dBgS_MoveBgActorFv, - (void*)ToFore__16dBgS_MoveBgActorFv, - (void*)ToBack__16dBgS_MoveBgActorFv, - (void*)__dt__Q29nObjMHasu12daObjMHasu_cFv, -}; - -/* 80C182DC-80C18340 0000BC 0064+00 1/1 0/0 0/0 .text __ct__Q29nObjMHasu12daObjMHasu_cFv - */ -nObjMHasu::daObjMHasu_c::daObjMHasu_c() { - // NONMATCHING -} - -/* 80C18340-80C183D0 000120 0090+00 1/1 0/0 0/0 .text create1st__Q29nObjMHasu12daObjMHasu_cFv */ -void nObjMHasu::daObjMHasu_c::create1st() { - // NONMATCHING -} - -/* 80C183D0-80C18440 0001B0 0070+00 2/2 0/0 0/0 .text setMtx__Q29nObjMHasu12daObjMHasu_cFv */ -void nObjMHasu::daObjMHasu_c::setMtx() { - // NONMATCHING -} - -/* 80C18440-80C184B0 000220 0070+00 1/0 0/0 0/0 .text CreateHeap__Q29nObjMHasu12daObjMHasu_cFv */ -void nObjMHasu::daObjMHasu_c::CreateHeap() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80C18A7C-80C18A80 000024 0004+00 0/2 0/0 0/0 .rodata @3685 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3685 = 0.5f; -COMPILER_STRIP_GATE(0x80C18A7C, &lit_3685); -#pragma pop - -/* 80C18A80-80C18A84 000028 0004+00 0/2 0/0 0/0 .rodata @3686 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3686 = 7.0f / 20.0f; -COMPILER_STRIP_GATE(0x80C18A80, &lit_3686); -#pragma pop - -/* 80C18A84-80C18A88 00002C 0004+00 0/1 0/0 0/0 .rodata @3687 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3687 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80C18A84, &lit_3687); -#pragma pop - -/* 80C184B0-80C185A4 000290 00F4+00 1/0 0/0 0/0 .text Create__Q29nObjMHasu12daObjMHasu_cFv */ -void nObjMHasu::daObjMHasu_c::Create() { - // NONMATCHING -} - -/* 80C185A4-80C18600 000384 005C+00 1/0 0/0 0/0 .text - * Execute__Q29nObjMHasu12daObjMHasu_cFPPA3_A4_f */ -void nObjMHasu::daObjMHasu_c::Execute(Mtx** param_0) { - // NONMATCHING -} - -/* 80C18600-80C186A4 0003E0 00A4+00 1/0 0/0 0/0 .text Draw__Q29nObjMHasu12daObjMHasu_cFv - */ -void nObjMHasu::daObjMHasu_c::Draw() { - // NONMATCHING -} - -/* 80C186A4-80C186E0 000484 003C+00 1/0 0/0 0/0 .text Delete__Q29nObjMHasu12daObjMHasu_cFv */ -void nObjMHasu::daObjMHasu_c::Delete() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80C18A88-80C18A8C 000030 0004+00 0/1 0/0 0/0 .rodata @3757 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3757 = 6.0f; -COMPILER_STRIP_GATE(0x80C18A88, &lit_3757); -#pragma pop - -/* 80C18A8C-80C18A90 000034 0004+00 0/1 0/0 0/0 .rodata @3758 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3758 = 1.0f; -COMPILER_STRIP_GATE(0x80C18A8C, &lit_3758); -#pragma pop - -/* 80C18A90-80C18A94 000038 0004+00 0/1 0/0 0/0 .rodata @3759 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3759 = -1.0f; -COMPILER_STRIP_GATE(0x80C18A90, &lit_3759); -#pragma pop - -/* 80C18A94-80C18A98 00003C 0004+00 0/1 0/0 0/0 .rodata @3760 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3760[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80C18A94, &lit_3760); -#pragma pop - -/* 80C186E0-80C18888 0004C0 01A8+00 1/1 0/0 0/0 .text upDownHasu__Q29nObjMHasu12daObjMHasu_cFv */ -void nObjMHasu::daObjMHasu_c::upDownHasu() { - // NONMATCHING -} - -/* 80C18888-80C188A0 000668 0018+00 1/1 0/0 0/0 .text updateCount__Q29nObjMHasu12daObjMHasu_cFUc - */ -void nObjMHasu::daObjMHasu_c::updateCount(u8 param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80C18A98-80C18A9C 000040 0004+00 0/1 0/0 0/0 .rodata @3782 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3782 = 1.5f; -COMPILER_STRIP_GATE(0x80C18A98, &lit_3782); -#pragma pop - -/* 80C18A9C-80C18AA0 000044 0004+00 0/1 0/0 0/0 .rodata @3783 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3783 = 10.0f; -COMPILER_STRIP_GATE(0x80C18A9C, &lit_3783); -#pragma pop - -/* 80C188A0-80C18920 000680 0080+00 1/1 0/0 0/0 .text setHasuCount__Q29nObjMHasu12daObjMHasu_cFf - */ -void nObjMHasu::daObjMHasu_c::setHasuCount(f32 param_0) { - // NONMATCHING -} - -/* 80C18920-80C18974 000700 0054+00 1/0 0/0 0/0 .text - * daObjMHasu_create1st__FPQ29nObjMHasu12daObjMHasu_c */ -static void daObjMHasu_create1st(nObjMHasu::daObjMHasu_c* param_0) { - // NONMATCHING -} - -/* 80C18974-80C18994 000754 0020+00 1/0 0/0 0/0 .text - * daObjMHasu_MoveBGDelete__FPQ29nObjMHasu12daObjMHasu_c */ -static void daObjMHasu_MoveBGDelete(nObjMHasu::daObjMHasu_c* param_0) { - // NONMATCHING -} - -/* 80C18994-80C189B4 000774 0020+00 1/0 0/0 0/0 .text - * daObjMHasu_MoveBGExecute__FPQ29nObjMHasu12daObjMHasu_c */ -static void daObjMHasu_MoveBGExecute(nObjMHasu::daObjMHasu_c* param_0) { - // NONMATCHING -} - -/* 80C189B4-80C189E0 000794 002C+00 1/0 0/0 0/0 .text - * daObjMHasu_MoveBGDraw__FPQ29nObjMHasu12daObjMHasu_c */ -static void daObjMHasu_MoveBGDraw(nObjMHasu::daObjMHasu_c* param_0) { - // NONMATCHING -} - -/* 80C189E0-80C18A50 0007C0 0070+00 1/0 0/0 0/0 .text __dt__Q29nObjMHasu12daObjMHasu_cFv - */ -nObjMHasu::daObjMHasu_c::~daObjMHasu_c() { - // NONMATCHING -} - -/* 80C18AA0-80C18AA0 000048 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */