From 31c0f94a1052de4cd5cc9c829d41c4389b3fc7b7 Mon Sep 17 00:00:00 2001 From: roeming Date: Sat, 18 Oct 2025 22:13:43 -0400 Subject: [PATCH] link d_a_obj_lv6FurikoTrap (#2745) * link d_a_obj_lv6FurikoTrap.cpp * name all fields --- configure.py | 2 +- include/d/actor/d_a_obj_lv6FurikoTrap.h | 38 +- src/d/actor/d_a_obj_lv6FurikoTrap.cpp | 588 ++++++++---------------- 3 files changed, 213 insertions(+), 415 deletions(-) diff --git a/configure.py b/configure.py index f8d9d6e4a7e..beab213e69b 100755 --- a/configure.py +++ b/configure.py @@ -2084,7 +2084,7 @@ config.libs = [ ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv5ychndlr"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv5yiblltray"), ActorRel(Equivalent, "d_a_obj_lv6ChangeGate"), # weak func order - ActorRel(NonMatching, "d_a_obj_lv6FurikoTrap"), + ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv6FurikoTrap"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv6Lblock"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv6SwGate"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv6SzGate"), diff --git a/include/d/actor/d_a_obj_lv6FurikoTrap.h b/include/d/actor/d_a_obj_lv6FurikoTrap.h index 5788090fba4..37b079f8abe 100644 --- a/include/d/actor/d_a_obj_lv6FurikoTrap.h +++ b/include/d/actor/d_a_obj_lv6FurikoTrap.h @@ -1,6 +1,8 @@ #ifndef D_A_OBJ_LV6FURIKOTRAP_H #define D_A_OBJ_LV6FURIKOTRAP_H +#include "d/d_bg_s_movebg_actor.h" +#include "d/d_cc_d.h" #include "f_op/f_op_actor_mng.h" /** @@ -11,32 +13,44 @@ * @details * */ -class daLv6FurikoTrap_c : public fopAc_ac_c { +class daLv6FurikoTrap_c : public dBgS_MoveBgActor { public: /* 80C72510 */ void setBaseMtx(); - /* 80C72598 */ void CreateHeap(); - /* 80C72604 */ void create(); - /* 80C729B4 */ void Execute(Mtx**); + /* 80C72598 */ int CreateHeap(); + /* 80C72604 */ int create(); + /* 80C729B4 */ int Execute(Mtx**); /* 80C72CA8 */ void move(); /* 80C72D24 */ void init_modeMove(); /* 80C72D38 */ void modeMove(); - /* 80C72EE0 */ void Draw(); - /* 80C72F94 */ void Delete(); + /* 80C72EE0 */ int Draw(); + /* 80C72F94 */ int Delete(); - static u8 const mCcDObjInfo[48]; - static u8 mCcDSph[64]; + static const dCcD_SrcGObjInf mCcDObjInfo; + static dCcD_SrcSph mCcDSph; private: - /* 0x568 */ u8 field_0x568[0x1d18 - 0x568]; + /* 0x5A0 */ request_of_phase_process_class mPhase; + /* 0x5A8 */ J3DModel* mModel; + /* 0x5AC */ u8 mMode; + /* 0x5AE */ s16 mAngleIncrement; + /* 0x5B0 */ s16 mAngle; + /* 0x5B2 */ u8 mTimer; + /* 0x5B4 */ dCcD_Stts mCcStts; + /* 0x5F0 */ dCcD_Sph mCcSph1[13]; + /* 0x15C8 */ dCcD_Sph mCcSph2[6]; }; STATIC_ASSERT(sizeof(daLv6FurikoTrap_c) == 0x1d18); -class daLv6FurikoTrap_HIO_c { +class daLv6FurikoTrap_HIO_c : public mDoHIO_entry_c { public: /* 80C7248C */ daLv6FurikoTrap_HIO_c(); - /* 80C73050 */ ~daLv6FurikoTrap_HIO_c(); +#if DEBUG + void genMessage(JORMContext*); +#endif + /* 0x8 */ f32 mIntervalSeconds; + /* 0xC */ f32 mMaxAngle; + /* 0x10 */ u8 unk10; }; - #endif /* D_A_OBJ_LV6FURIKOTRAP_H */ diff --git a/src/d/actor/d_a_obj_lv6FurikoTrap.cpp b/src/d/actor/d_a_obj_lv6FurikoTrap.cpp index 06833a814f3..9c5dd546392 100644 --- a/src/d/actor/d_a_obj_lv6FurikoTrap.cpp +++ b/src/d/actor/d_a_obj_lv6FurikoTrap.cpp @@ -4,148 +4,208 @@ */ #include "d/dolzel_rel.h" // IWYU pragma: keep +#include "d/d_s_play.h" #include "d/actor/d_a_obj_lv6FurikoTrap.h" -#include "dol2asm.h" +/* 80C7248C-80C724C8 0000EC 003C+00 1/1 0/0 0/0 .text __ct__21daLv6FurikoTrap_HIO_cFv */ +daLv6FurikoTrap_HIO_c::daLv6FurikoTrap_HIO_c() { + mIntervalSeconds = 1.0f; + mMaxAngle = 45.0f; + unk10 = 3; +} -// -// Forward References: -// +#if DEBUG +void daLv6FurikoTrap_HIO_c::genMessage(JORMContext* context) { + context->genSlider("周期(秒)", &mIntervalSeconds, 0.1f, 100.0f, 0, NULL, -1, -1, 0x200, 0x18); + context->genSlider("最大角度", &mMaxAngle, 0.1f, 90.0f, 0, NULL, -1, -1, 0x200, 0x18); +} +#endif -extern "C" void __ct__21daLv6FurikoTrap_HIO_cFv(); -extern "C" void __dt__14mDoHIO_entry_cFv(); -extern "C" void setBaseMtx__17daLv6FurikoTrap_cFv(); -extern "C" void CreateHeap__17daLv6FurikoTrap_cFv(); -extern "C" void create__17daLv6FurikoTrap_cFv(); -extern "C" void __dt__8dCcD_SphFv(); -extern "C" void __ct__8dCcD_SphFv(); -extern "C" void __dt__8cM3dGSphFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void Execute__17daLv6FurikoTrap_cFPPA3_A4_f(); -extern "C" void move__17daLv6FurikoTrap_cFv(); -extern "C" void init_modeMove__17daLv6FurikoTrap_cFv(); -extern "C" void modeMove__17daLv6FurikoTrap_cFv(); -extern "C" void Draw__17daLv6FurikoTrap_cFv(); -extern "C" void Delete__17daLv6FurikoTrap_cFv(); -extern "C" static void daLv6FurikoTrap_Draw__FP17daLv6FurikoTrap_c(); -extern "C" static void daLv6FurikoTrap_Execute__FP17daLv6FurikoTrap_c(); -extern "C" static void daLv6FurikoTrap_Delete__FP17daLv6FurikoTrap_c(); -extern "C" static void daLv6FurikoTrap_Create__FP10fopAc_ac_c(); -extern "C" void __dt__21daLv6FurikoTrap_HIO_cFv(); -extern "C" void __sinit_d_a_obj_lv6FurikoTrap_cpp(); -extern "C" u8 const mCcDObjInfo__17daLv6FurikoTrap_c[48]; -extern "C" extern char const* const d_a_obj_lv6FurikoTrap__stringBase0; -extern "C" u8 mCcDSph__17daLv6FurikoTrap_c[64]; +static daLv6FurikoTrap_HIO_c l_HIO; -// -// External References: -// - -extern "C" void mDoMtx_ZXYrotS__FPA4_fsss(); -extern "C" void mDoMtx_ZXYrotM__FPA4_fsss(); -extern "C" void mDoMtx_ZrotS__FPA4_fs(); -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_setEffectMtx__FPC10fopAc_ac_cPC12J3DModelData(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz(); -extern "C" void __ct__16dBgS_MoveBgActorFv(); -extern "C" bool Create__16dBgS_MoveBgActorFv(); -extern "C" bool IsDelete__16dBgS_MoveBgActorFv(); -extern "C" bool ToFore__16dBgS_MoveBgActorFv(); -extern "C" bool ToBack__16dBgS_MoveBgActorFv(); -extern "C" void -MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f(); -extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv(); -extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Move__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void __dt__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void SetC__8cM3dGSphFRC4cXyz(); -extern "C" void SetR__8cM3dGSphFf(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void __dl__FPv(); -extern "C" void __construct_array(); -extern "C" void __ptmf_scall(); -extern "C" void __cvt_fp2unsigned(); -extern "C" void _savegpr_18(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_18(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__8dCcD_Sph[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80C73130-80C73134 000000 0004+00 3/3 0/0 0/0 .rodata @3625 */ -SECTION_RODATA static f32 const lit_3625 = 1.0f; -COMPILER_STRIP_GATE(0x80C73130, &lit_3625); - -/* 80C73134-80C73138 000004 0004+00 1/2 0/0 0/0 .rodata @3626 */ -SECTION_RODATA static f32 const lit_3626 = 45.0f; -COMPILER_STRIP_GATE(0x80C73134, &lit_3626); - -/* 80C731A4-80C731E4 000000 0040+00 2/2 0/0 0/0 .data mCcDSph__17daLv6FurikoTrap_c */ -SECTION_DATA u8 daLv6FurikoTrap_c::mCcDSph[64] = { - 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, 0x00, 0x00, 0x00, 0x00, +const dCcD_SrcGObjInf daLv6FurikoTrap_c::mCcDObjInfo = { + {0, {{0x800, 1, 0x1f}, {0, 0}, {0x79}}}, + {1, 0, 1, 0, 1}, + {0xa, 5, 0, 0, 0}, + {0}, }; +dCcD_SrcSph daLv6FurikoTrap_c::mCcDSph = {mCcDObjInfo}; -/* 80C731E4-80C731F0 000040 000C+00 1/1 0/0 0/0 .data posx$3810 */ -SECTION_DATA static u8 posx[12] = { - 0x43, 0xBF, 0x80, 0x00, 0x43, 0xB2, 0x00, 0x00, 0x43, 0xA4, 0x80, 0x00, -}; +/* 80C72510-80C72598 000170 0088+00 2/2 0/0 0/0 .text setBaseMtx__17daLv6FurikoTrap_cFv */ +void daLv6FurikoTrap_c::setBaseMtx() { + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); + mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z); + mModel->setBaseScale(scale); + mModel->setBaseTRMtx(mDoMtx_stack_c::get()); +} -/* 80C731F0-80C731FC 00004C 000C+00 1/1 0/0 0/0 .data posy$3811 */ -SECTION_DATA static u8 posy[12] = { - 0xC4, 0x25, 0x00, 0x00, 0xC4, 0x2F, 0x00, 0x00, 0xC4, 0x39, 0x00, 0x00, -}; +/* 80C72598-80C72604 0001F8 006C+00 1/0 0/0 0/0 .text CreateHeap__17daLv6FurikoTrap_cFv */ +int daLv6FurikoTrap_c::CreateHeap() { + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("L6Furiko", 4); + JUT_ASSERT(236, modelData != NULL); + mModel = mDoExt_J3DModel__create(modelData, 0, 0x11000084); + if (mModel == NULL) { + return FALSE; + } + return TRUE; +} -/* 80C731FC-80C73208 -00001 000C+00 1/1 0/0 0/0 .data @3884 */ -SECTION_DATA static void* lit_3884[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)modeMove__17daLv6FurikoTrap_cFv, -}; +/* 80C72604-80C727D4 000264 01D0+00 1/1 0/0 0/0 .text create__17daLv6FurikoTrap_cFv */ +int daLv6FurikoTrap_c::create() { + fopAcM_SetupActor(this, daLv6FurikoTrap_c); + int phase = dComIfG_resLoad(&mPhase, "L6Furiko"); + if (phase == cPhs_COMPLEATE_e) { + if (MoveBGCreate("L6Furiko", 7, dBgS_MoveBGProc_TypicalRotY, 0x2e80, NULL) == cPhs_ERROR_e) + { + return cPhs_ERROR_e; + } + fopAcM_SetMtx(this, mModel->getBaseTRMtx()); + fopAcM_setCullSizeBox2(this, mModel->getModelData()); + init_modeMove(); + setBaseMtx(); + mCcStts.Init(0xff, 0, this); + for (int i = 0; i < 13; i++) { + mCcSph1[i].Set(mCcDSph); + mCcSph1[i].SetStts(&mCcStts); + } + for (int i = 0; i < 6; i++) { + mCcSph2[i].Set(mCcDSph); + mCcSph2[i].SetStts(&mCcStts); + } +#if DEBUG + l_HIO.entryHIO("振り子トラップ(Lv6)"); +#endif + } + return phase; +} -/* 80C73208-80C73214 000064 000C+00 1/1 0/0 0/0 .data mode_proc$3883 */ -SECTION_DATA static u8 mode_proc[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; +/* 80C729B4-80C72CA8 000614 02F4+00 1/0 0/0 0/0 .text Execute__17daLv6FurikoTrap_cFPPA3_A4_f */ +int daLv6FurikoTrap_c::Execute(Mtx** i_pMtx) { + move(); + *i_pMtx = &mModel->getBaseTRMtx(); + setBaseMtx(); + for (int i = 0; i < 13; i++) { + cXyz c(0.0f, -850.0f + oREG_F(0), 0.0f); + mDoMtx_stack_c::ZrotS(cM_deg2s((-21.5f + oREG_F(2)) + i * (3.6f + oREG_F(3)))); + mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z); + mDoMtx_stack_c::multVec(&c, &c); + c += current.pos; + mCcSph1[i].SetR(30.0f + oREG_F(4)); + mCcSph1[i].SetC(c); + dComIfG_Ccsp()->Set(&mCcSph1[i]); + mCcSph1[i].ClrAtHit(); + } + for (int i = 0; i < 3; i++) { + static f32 posx[] = {383.0f, 356.0f, 329.0f}; + static f32 posy[] = {-660.0f, -700.0f, -740.0f}; + cXyz c(posx[i] + oREG_F(5), posy[i] + oREG_F(6), 0.0f); + cXyz c2(-posx[i] + oREG_F(5), posy[i] + oREG_F(6), 0.0f); + mDoMtx_stack_c::ZXYrotS(shape_angle.x, shape_angle.y, shape_angle.z); + mDoMtx_stack_c::multVec(&c, &c); + mDoMtx_stack_c::multVec(&c2, &c2); + c += current.pos; + c2 += current.pos; + mCcSph2[i].SetR(30.0f + oREG_F(4)); + mCcSph2[i + 3].SetR(30.0f + oREG_F(4)); + mCcSph2[i].SetC(c); + mCcSph2[i + 3].SetC(c2); + dComIfG_Ccsp()->Set(&mCcSph2[i]); + dComIfG_Ccsp()->Set(&mCcSph2[i + 3]); + mCcSph2[i].ClrAtHit(); + } + mCcStts.Move(); + return TRUE; +} + +/* 80C72CA8-80C72D24 000908 007C+00 1/1 0/0 0/0 .text move__17daLv6FurikoTrap_cFv */ +void daLv6FurikoTrap_c::move() { + typedef void (daLv6FurikoTrap_c::*func_call)(); + static const func_call mode_proc[] = { + &daLv6FurikoTrap_c::modeMove + }; + (this->*mode_proc[mMode])(); +} + +/* 80C72D24-80C72D38 000984 0014+00 1/1 0/0 0/0 .text init_modeMove__17daLv6FurikoTrap_cFv */ +void daLv6FurikoTrap_c::init_modeMove() { + mAngle = 0; + mTimer = 0; + mMode = 0; +} + +/* 80C72D38-80C72EE0 000998 01A8+00 1/0 0/0 0/0 .text modeMove__17daLv6FurikoTrap_cFv */ +void daLv6FurikoTrap_c::modeMove() { + int unused = shape_angle.z; + mAngleIncrement = cM_deg2s((2.0f * l_HIO.mMaxAngle) / (30.0f * l_HIO.mIntervalSeconds)); + s16 s = cM_deg2s(cM_scos(mAngle) * l_HIO.mMaxAngle); + shape_angle.z = s; + mAngle += mAngleIncrement; + if (std::fabs(cM_scos(mAngle)) > 0.999f && mTimer == 0) { + mTimer = 3; + cXyz c(0.0f, -940.0f, 0.0f); + mDoMtx_stack_c::ZXYrotS(shape_angle.x, shape_angle.y, shape_angle.z); + mDoMtx_stack_c::multVec(&c, &c); + c += current.pos; + mDoAud_seStart(Z2SE_OBJ_L6_BLADE, &c, (u32)fopAcM_GetSpeedF(this), + dComIfGp_getReverb(fopAcM_GetRoomNo(this))); + } + if (mTimer != 0) { + mTimer--; + } +} + +/* 80C72EE0-80C72F94 000B40 00B4+00 1/0 0/0 0/0 .text Draw__17daLv6FurikoTrap_cFv */ +int daLv6FurikoTrap_c::Draw() { + g_env_light.settingTevStruct(0x10, ¤t.pos, &tevStr); + g_env_light.setLightTevColorType_MAJI(mModel, &tevStr); + fopAcM_setEffectMtx(this, mModel->getModelData()); + dComIfGd_setListBG(); + mDoExt_modelUpdateDL(mModel); + dComIfGd_setList(); + return TRUE; +} + +/* 80C72F94-80C72FC4 000BF4 0030+00 1/0 0/0 0/0 .text Delete__17daLv6FurikoTrap_cFv */ +int daLv6FurikoTrap_c::Delete() { + dComIfG_resDelete(&mPhase, "L6Furiko"); +#if DEBUG + l_HIO.removeHIO(); +#endif + return TRUE; +} + +/* 80C72FC4-80C72FF0 000C24 002C+00 1/0 0/0 0/0 .text daLv6FurikoTrap_Draw__FP17daLv6FurikoTrap_c */ +static int daLv6FurikoTrap_Draw(daLv6FurikoTrap_c* i_this) { + return i_this->MoveBGDraw(); +} + +/* 80C72FF0-80C73010 000C50 0020+00 1/0 0/0 0/0 .text daLv6FurikoTrap_Execute__FP17daLv6FurikoTrap_c */ +static int daLv6FurikoTrap_Execute(daLv6FurikoTrap_c* i_this) { + return i_this->MoveBGExecute(); +} + +/* 80C73010-80C73030 000C70 0020+00 1/0 0/0 0/0 .text daLv6FurikoTrap_Delete__FP17daLv6FurikoTrap_c */ +static int daLv6FurikoTrap_Delete(daLv6FurikoTrap_c* i_this) { + fpc_ProcID id = fopAcM_GetID(i_this); + return i_this->MoveBGDelete(); +} + +/* 80C73030-80C73050 000C90 0020+00 1/0 0/0 0/0 .text daLv6FurikoTrap_Create__FP10fopAc_ac_c */ +static int daLv6FurikoTrap_Create(fopAc_ac_c* i_this) { + daLv6FurikoTrap_c* this_trap = (daLv6FurikoTrap_c*)i_this; + fpc_ProcID id = fopAcM_GetID(i_this); + return this_trap->create(); +} /* 80C73214-80C73234 -00001 0020+00 1/0 0/0 0/0 .data l_daLv6FurikoTrap_Method */ static actor_method_class l_daLv6FurikoTrap_Method = { - (process_method_func)daLv6FurikoTrap_Create__FP10fopAc_ac_c, - (process_method_func)daLv6FurikoTrap_Delete__FP17daLv6FurikoTrap_c, - (process_method_func)daLv6FurikoTrap_Execute__FP17daLv6FurikoTrap_c, + (process_method_func)daLv6FurikoTrap_Create, + (process_method_func)daLv6FurikoTrap_Delete, + (process_method_func)daLv6FurikoTrap_Execute, 0, - (process_method_func)daLv6FurikoTrap_Draw__FP17daLv6FurikoTrap_c, + (process_method_func)daLv6FurikoTrap_Draw, }; /* 80C73234-80C73264 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Lv6FuriTrap */ @@ -165,279 +225,3 @@ extern actor_process_profile_definition g_profile_Obj_Lv6FuriTrap = { fopAc_ACTOR_e, // mActorType fopAc_CULLBOX_CUSTOM_e, // cullType }; - -/* 80C73264-80C73270 0000C0 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 80C73270-80C7327C 0000CC 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGSph */ -SECTION_DATA extern void* __vt__8cM3dGSph[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGSphFv, -}; - -/* 80C7327C-80C732A4 0000D8 0028+00 1/1 0/0 0/0 .data __vt__17daLv6FurikoTrap_c */ -SECTION_DATA extern void* __vt__17daLv6FurikoTrap_c[10] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)CreateHeap__17daLv6FurikoTrap_cFv, - (void*)Create__16dBgS_MoveBgActorFv, - (void*)Execute__17daLv6FurikoTrap_cFPPA3_A4_f, - (void*)Draw__17daLv6FurikoTrap_cFv, - (void*)Delete__17daLv6FurikoTrap_cFv, - (void*)IsDelete__16dBgS_MoveBgActorFv, - (void*)ToFore__16dBgS_MoveBgActorFv, - (void*)ToBack__16dBgS_MoveBgActorFv, -}; - -/* 80C732A4-80C732B0 000100 000C+00 2/2 0/0 0/0 .data __vt__21daLv6FurikoTrap_HIO_c */ -SECTION_DATA extern void* __vt__21daLv6FurikoTrap_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__21daLv6FurikoTrap_HIO_cFv, -}; - -/* 80C732B0-80C732BC 00010C 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */ -SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__14mDoHIO_entry_cFv, -}; - -/* 80C7248C-80C724C8 0000EC 003C+00 1/1 0/0 0/0 .text __ct__21daLv6FurikoTrap_HIO_cFv */ -daLv6FurikoTrap_HIO_c::daLv6FurikoTrap_HIO_c() { - // NONMATCHING -} - -/* 80C724C8-80C72510 000128 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */ -// mDoHIO_entry_c::~mDoHIO_entry_c() { -extern "C" void __dt__14mDoHIO_entry_cFv() { - // NONMATCHING -} - -/* 80C72510-80C72598 000170 0088+00 2/2 0/0 0/0 .text setBaseMtx__17daLv6FurikoTrap_cFv - */ -void daLv6FurikoTrap_c::setBaseMtx() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80C73198-80C73198 000068 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80C73198 = "L6Furiko"; -#pragma pop - -/* 80C72598-80C72604 0001F8 006C+00 1/0 0/0 0/0 .text CreateHeap__17daLv6FurikoTrap_cFv - */ -void daLv6FurikoTrap_c::CreateHeap() { - // NONMATCHING -} - -/* 80C72604-80C727D4 000264 01D0+00 1/1 0/0 0/0 .text create__17daLv6FurikoTrap_cFv */ -void daLv6FurikoTrap_c::create() { - // NONMATCHING -} - -/* 80C727D4-80C728A0 000434 00CC+00 1/1 0/0 0/0 .text __dt__8dCcD_SphFv */ -// dCcD_Sph::~dCcD_Sph() { -extern "C" void __dt__8dCcD_SphFv() { - // NONMATCHING -} - -/* 80C728A0-80C72924 000500 0084+00 1/1 0/0 0/0 .text __ct__8dCcD_SphFv */ -// dCcD_Sph::dCcD_Sph() { -extern "C" void __ct__8dCcD_SphFv() { - // NONMATCHING -} - -/* 80C72924-80C7296C 000584 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */ -// cM3dGSph::~cM3dGSph() { -extern "C" void __dt__8cM3dGSphFv() { - // NONMATCHING -} - -/* 80C7296C-80C729B4 0005CC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80C73138-80C73168 000008 0030+00 1/1 0/0 0/0 .rodata mCcDObjInfo__17daLv6FurikoTrap_c */ -SECTION_RODATA u8 const daLv6FurikoTrap_c::mCcDObjInfo[48] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x01, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x0A, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80C73138, &daLv6FurikoTrap_c::mCcDObjInfo); - -/* 80C73168-80C7316C 000038 0004+00 0/2 0/0 0/0 .rodata @3871 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3871[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80C73168, &lit_3871); -#pragma pop - -/* 80C7316C-80C73170 00003C 0004+00 0/1 0/0 0/0 .rodata @3872 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3872 = -850.0f; -COMPILER_STRIP_GATE(0x80C7316C, &lit_3872); -#pragma pop - -/* 80C73170-80C73174 000040 0004+00 0/2 0/0 0/0 .rodata @3873 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_3873 = 0x43360B61; -COMPILER_STRIP_GATE(0x80C73170, &lit_3873); -#pragma pop - -/* 80C73174-80C73178 000044 0004+00 0/1 0/0 0/0 .rodata @3874 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3874 = -21.5f; -COMPILER_STRIP_GATE(0x80C73174, &lit_3874); -#pragma pop - -/* 80C73178-80C7317C 000048 0004+00 0/1 0/0 0/0 .rodata @3875 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3875 = 18.0f / 5.0f; -COMPILER_STRIP_GATE(0x80C73178, &lit_3875); -#pragma pop - -/* 80C7317C-80C73180 00004C 0004+00 0/2 0/0 0/0 .rodata @3876 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3876 = 30.0f; -COMPILER_STRIP_GATE(0x80C7317C, &lit_3876); -#pragma pop - -/* 80C73180-80C73188 000050 0008+00 0/1 0/0 0/0 .rodata @3878 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3878[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80C73180, &lit_3878); -#pragma pop - -/* 80C729B4-80C72CA8 000614 02F4+00 1/0 0/0 0/0 .text Execute__17daLv6FurikoTrap_cFPPA3_A4_f */ -void daLv6FurikoTrap_c::Execute(Mtx** param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80C732C8-80C732D4 000008 000C+00 1/1 0/0 0/0 .bss @3619 */ -static u8 lit_3619[12]; - -/* 80C732D4-80C732E4 000014 0010+00 2/2 0/0 0/0 .bss l_HIO */ -static u8 l_HIO[16]; - -/* 80C732E4-80C732E8 000024 0004+00 1/1 0/0 0/0 .bss None */ -static u8 data_80C732E4[4]; - -/* 80C72CA8-80C72D24 000908 007C+00 1/1 0/0 0/0 .text move__17daLv6FurikoTrap_cFv */ -void daLv6FurikoTrap_c::move() { - // NONMATCHING -} - -/* 80C72D24-80C72D38 000984 0014+00 1/1 0/0 0/0 .text init_modeMove__17daLv6FurikoTrap_cFv */ -void daLv6FurikoTrap_c::init_modeMove() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80C73188-80C7318C 000058 0004+00 0/1 0/0 0/0 .rodata @3941 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3941 = 2.0f; -COMPILER_STRIP_GATE(0x80C73188, &lit_3941); -#pragma pop - -/* 80C7318C-80C73190 00005C 0004+00 0/1 0/0 0/0 .rodata @3942 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_3942 = 0x3F7FBE77; -COMPILER_STRIP_GATE(0x80C7318C, &lit_3942); -#pragma pop - -/* 80C73190-80C73194 000060 0004+00 0/1 0/0 0/0 .rodata @3943 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3943 = -940.0f; -COMPILER_STRIP_GATE(0x80C73190, &lit_3943); -#pragma pop - -/* 80C73194-80C73198 000064 0004+00 0/1 0/0 0/0 .rodata @3944 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3944 = -1.0f; -COMPILER_STRIP_GATE(0x80C73194, &lit_3944); -#pragma pop - -/* 80C72D38-80C72EE0 000998 01A8+00 1/0 0/0 0/0 .text modeMove__17daLv6FurikoTrap_cFv */ -void daLv6FurikoTrap_c::modeMove() { - // NONMATCHING -} - -/* 80C72EE0-80C72F94 000B40 00B4+00 1/0 0/0 0/0 .text Draw__17daLv6FurikoTrap_cFv */ -void daLv6FurikoTrap_c::Draw() { - // NONMATCHING -} - -/* 80C72F94-80C72FC4 000BF4 0030+00 1/0 0/0 0/0 .text Delete__17daLv6FurikoTrap_cFv */ -void daLv6FurikoTrap_c::Delete() { - // NONMATCHING -} - -/* 80C72FC4-80C72FF0 000C24 002C+00 1/0 0/0 0/0 .text daLv6FurikoTrap_Draw__FP17daLv6FurikoTrap_c - */ -static void daLv6FurikoTrap_Draw(daLv6FurikoTrap_c* param_0) { - // NONMATCHING -} - -/* 80C72FF0-80C73010 000C50 0020+00 1/0 0/0 0/0 .text - * daLv6FurikoTrap_Execute__FP17daLv6FurikoTrap_c */ -static void daLv6FurikoTrap_Execute(daLv6FurikoTrap_c* param_0) { - // NONMATCHING -} - -/* 80C73010-80C73030 000C70 0020+00 1/0 0/0 0/0 .text - * daLv6FurikoTrap_Delete__FP17daLv6FurikoTrap_c */ -static void daLv6FurikoTrap_Delete(daLv6FurikoTrap_c* param_0) { - // NONMATCHING -} - -/* 80C73030-80C73050 000C90 0020+00 1/0 0/0 0/0 .text daLv6FurikoTrap_Create__FP10fopAc_ac_c */ -static void daLv6FurikoTrap_Create(fopAc_ac_c* param_0) { - // NONMATCHING -} - -/* 80C73050-80C730AC 000CB0 005C+00 2/1 0/0 0/0 .text __dt__21daLv6FurikoTrap_HIO_cFv */ -daLv6FurikoTrap_HIO_c::~daLv6FurikoTrap_HIO_c() { - // NONMATCHING -} - -/* 80C730AC-80C7311C 000D0C 0070+00 0/0 1/0 0/0 .text __sinit_d_a_obj_lv6FurikoTrap_cpp - */ -void __sinit_d_a_obj_lv6FurikoTrap_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80C730AC, __sinit_d_a_obj_lv6FurikoTrap_cpp); -#pragma pop - -/* 80C73198-80C73198 000068 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */