From 4c9ce97f3e8ed7657b6aedcb702c841d32ae4e28 Mon Sep 17 00:00:00 2001 From: YunataSavior <58997725+YunataSavior@users.noreply.github.com> Date: Sat, 13 Sep 2025 04:11:05 -0700 Subject: [PATCH] d_a_e_gb and d_a_obj_bosswarp OK (#2652) * d_a_e_gb and d_a_obj_bosswarp OK * fix e_gb and obj_bosswarp symbols * mark e_gb and obj_bosswarp as OK for JPN * Remove nonmatching comment --------- Co-authored-by: hatal175 --- config/GZ2E01/rels/d_a_e_gb/symbols.txt | 24 +- .../GZ2E01/rels/d_a_obj_bosswarp/symbols.txt | 20 +- .../GZ2J01/rels/d_a_obj_bosswarp/splits.txt | 1 + configure.py | 4 +- include/d/actor/d_a_e_gb.h | 17 - include/d/actor/d_a_obj_life_container.h | 4 +- src/d/actor/d_a_e_gb.cpp | 35 +- src/d/actor/d_a_obj_bosswarp.cpp | 307 +----------------- 8 files changed, 55 insertions(+), 357 deletions(-) diff --git a/config/GZ2E01/rels/d_a_e_gb/symbols.txt b/config/GZ2E01/rels/d_a_e_gb/symbols.txt index 27ec5655a3b..e88440aed45 100644 --- a/config/GZ2E01/rels/d_a_e_gb/symbols.txt +++ b/config/GZ2E01/rels/d_a_e_gb/symbols.txt @@ -6,7 +6,7 @@ __destroy_global_chain = .text:0x00000094; // type:function size:0x58 scope:glob __ct__12daE_GB_HIO_cFv = .text:0x000000EC; // type:function size:0x50 scope:global head_anm_init__FP10e_gb_classifUcf = .text:0x0000013C; // type:function size:0xB0 scope:global body_anm_init__FP10e_gb_classifUcf = .text:0x000001EC; // type:function size:0xB0 scope:global -daE_GB_Draw__FP10e_gb_class = .text:0x0000029C; // type:function size:0x1DC scope:global +daE_GB_Draw__FP10e_gb_class = .text:0x0000029C; // type:function size:0x1DC scope:local e_gb_wait__FP10e_gb_class = .text:0x00000478; // type:function size:0x4E8 scope:global e_gb_attack_1__FP10e_gb_class = .text:0x00000960; // type:function size:0x550 scope:global e_gb_attack_2__FP10e_gb_class = .text:0x00000EB0; // type:function size:0x510 scope:global @@ -16,9 +16,9 @@ e_gb_start__FP10e_gb_class = .text:0x000017C8; // type:function size:0x190 scope kuki_control1__FP10e_gb_class = .text:0x00001958; // type:function size:0x3AC scope:global kuki_control2__FP10e_gb_class = .text:0x00001D04; // type:function size:0x174 scope:global kuki_control3__FP10e_gb_class = .text:0x00001E78; // type:function size:0x1CC scope:global -s_b_sub__FPvPv = .text:0x00002044; // type:function size:0xDC scope:global +s_b_sub__FPvPv = .text:0x00002044; // type:function size:0xDC scope:local damage_check__FP10e_gb_class = .text:0x00002120; // type:function size:0x1EC scope:global -action__FP10e_gb_class = .text:0x0000230C; // type:function size:0x5EC scope:global +action__FP10e_gb_class = .text:0x0000230C; // type:function size:0x5EC scope:local e_gf_wait__FP10e_gb_class = .text:0x000028F8; // type:function size:0x24 scope:global e_gf_chance__FP10e_gb_class = .text:0x0000291C; // type:function size:0x16C scope:global e_gf_eatbomb__FP10e_gb_class = .text:0x00002A88; // type:function size:0x264 scope:global @@ -27,12 +27,12 @@ damage_check2__FP10e_gb_class = .text:0x00002EB4; // type:function size:0x210 sc action2__FP10e_gb_class = .text:0x000030C4; // type:function size:0x164 scope:global cam_3d_morf__FP10e_gb_classf = .text:0x00003228; // type:function size:0xE4 scope:global demo_camera__FP10e_gb_class = .text:0x0000330C; // type:function size:0xAE8 scope:global -daE_GB_Execute__FP10e_gb_class = .text:0x00003DF4; // type:function size:0xAAC scope:global -daE_GB_IsDelete__FP10e_gb_class = .text:0x000048A0; // type:function size:0x8 scope:global -daE_GB_Delete__FP10e_gb_class = .text:0x000048A8; // type:function size:0x74 scope:global -useHeapInit__FP10fopAc_ac_c = .text:0x0000491C; // type:function size:0x378 scope:global +daE_GB_Execute__FP10e_gb_class = .text:0x00003DF4; // type:function size:0xAAC scope:local +daE_GB_IsDelete__FP10e_gb_class = .text:0x000048A0; // type:function size:0x8 scope:local +daE_GB_Delete__FP10e_gb_class = .text:0x000048A8; // type:function size:0x74 scope:local +useHeapInit__FP10fopAc_ac_c = .text:0x0000491C; // type:function size:0x378 scope:local __dt__12J3DFrameCtrlFv = .text:0x00004C94; // type:function size:0x48 scope:global -daE_GB_Create__FP10fopAc_ac_c = .text:0x00004CDC; // type:function size:0x2B8 scope:global +daE_GB_Create__FP10fopAc_ac_c = .text:0x00004CDC; // type:function size:0x2B8 scope:local __ct__10e_gb_classFv = .text:0x00004F94; // type:function size:0x1A0 scope:global __dt__12dBgS_ObjAcchFv = .text:0x00005134; // type:function size:0x70 scope:global __dt__12dBgS_AcchCirFv = .text:0x000051A4; // type:function size:0x70 scope:global @@ -165,7 +165,7 @@ _dtors = .dtors:0x00000000; // type:label scope:global @5877 = .rodata:0x000001CC; // type:object size:0x4 scope:local @stringBase0 = .rodata:0x000001D0; // type:object size:0xC scope:local data:string_table ...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 lbl_192_data_10 = .data:0x00000010; // type:object size:0x10 e_prim$3785 = .data:0x00000020; // type:object size:0x8 scope:local @@ -180,7 +180,7 @@ eno$4864 = .data:0x000000F4; // type:object size:0xA scope:local key_eno$5459 = .data:0x00000100; // type:object size:0x4 scope:local head_cc_sph_src$5811 = .data:0x00000104; // type:object size:0x40 scope:local body_cyl_src$5812 = .data:0x00000144; // type:object size:0x44 scope:local -l_daE_GB_Method = .data:0x00000188; // type:object size:0x20 scope:global +l_daE_GB_Method = .data:0x00000188; // type:object size:0x20 scope:local g_profile_E_GB = .data:0x000001A8; // type:object size:0x30 scope:global __vt__10cCcD_GStts = .data:0x000001D8; // type:object size:0xC scope:global __vt__10dCcD_GStts = .data:0x000001E4; // type:object size:0xC scope:global @@ -192,6 +192,6 @@ __vt__8cM3dGAab = .data:0x00000238; // type:object size:0xC scope:global __vt__12J3DFrameCtrl = .data:0x00000244; // type:object size:0xC scope:global __vt__12daE_GB_HIO_c = .data:0x00000250; // type:object size:0xC scope:global __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global -lbl_192_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte +lbl_192_bss_8 = .bss:0x00000008; // type:object size:0x1 scope:local data:byte @3922 = .bss:0x0000000C; // type:object size:0xC scope:local -l_HIO = .bss:0x00000018; // type:object size:0x20 scope:global data:byte +l_HIO = .bss:0x00000018; // type:object size:0x20 scope:local data:byte diff --git a/config/GZ2E01/rels/d_a_obj_bosswarp/symbols.txt b/config/GZ2E01/rels/d_a_obj_bosswarp/symbols.txt index 0b712638d4a..12a9bb93dca 100644 --- a/config/GZ2E01/rels/d_a_obj_bosswarp/symbols.txt +++ b/config/GZ2E01/rels/d_a_obj_bosswarp/symbols.txt @@ -1,7 +1,7 @@ _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 -CheckCreateHeap__FP10fopAc_ac_c = .text:0x00000078; // type:function size:0x20 scope:global +CheckCreateHeap__FP10fopAc_ac_c = .text:0x00000078; // type:function size:0x20 scope:local getNowLevel__Fv = .text:0x00000098; // type:function size:0xA8 scope:global initBaseMtx__15daObjBossWarp_cFv = .text:0x00000140; // type:function size:0x48 scope:global setBaseMtx__15daObjBossWarp_cFv = .text:0x00000188; // type:function size:0x70 scope:global @@ -30,17 +30,17 @@ demoProc__15daObjBossWarp_cFv = .text:0x000014D4; // type:function size:0x644 sc setGoal__15daObjBossWarp_cFv = .text:0x00001B18; // type:function size:0xB8 scope:global draw__15daObjBossWarp_cFv = .text:0x00001BD0; // type:function size:0xAC scope:global _delete__15daObjBossWarp_cFv = .text:0x00001C7C; // type:function size:0x48 scope:global -daObjBossWarp_Draw__FP15daObjBossWarp_c = .text:0x00001CC4; // type:function size:0x20 scope:global -daObjBossWarp_Execute__FP15daObjBossWarp_c = .text:0x00001CE4; // type:function size:0x20 scope:global -daObjBossWarp_Delete__FP15daObjBossWarp_c = .text:0x00001D04; // type:function size:0x20 scope:global -daObjBossWarp_Create__FP10fopAc_ac_c = .text:0x00001D24; // type:function size:0x20 scope:global +daObjBossWarp_Draw__FP15daObjBossWarp_c = .text:0x00001CC4; // type:function size:0x20 scope:local +daObjBossWarp_Execute__FP15daObjBossWarp_c = .text:0x00001CE4; // type:function size:0x20 scope:local +daObjBossWarp_Delete__FP15daObjBossWarp_c = .text:0x00001D04; // type:function size:0x20 scope:local +daObjBossWarp_Create__FP10fopAc_ac_c = .text:0x00001D24; // type:function size:0x20 scope:local cLib_calcTimer__FPi = .text:0x00001D44; // type:function size:0x1C scope:global setPos__11daObjLife_cF4cXyz = .text:0x00001D60; // type:function size:0x1C scope:global setCurrentPos__16obj_ystone_classF4cXyz = .text:0x00001D7C; // type:function size:0x1C 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_hair_offset = .rodata:0x00000000; // type:object size:0x54 scope:global +l_hair_offset = .rodata:0x00000000; // type:object size:0x54 scope:local l_hair_rotate = .rodata:0x00000054; // type:object size:0x54 scope:global @3683 = .rodata:0x000000A8; // type:object size:0x24 scope:local @3701 = .rodata:0x000000CC; // type:object size:0x4 scope:local align:4 data:float @@ -77,10 +77,10 @@ l_dangeon_clr_bitNo$4282 = .rodata:0x00000130; // type:object size:0x24 scope:lo @4541 = .rodata:0x00000188; // type:object size:0x4 scope:local align:4 data:float @stringBase0 = .rodata:0x0000018C; // type:object size:0x169 scope:local data:string_table ...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 lbl_91_data_10 = .data:0x00000010; // type:object size:0x10 -l_arcName = .data:0x00000020; // type:object size:0x4 scope:global data:4byte +l_arcName = .data:0x00000020; // type:object size:0x4 scope:local data:4byte l_clearEvName = .data:0x00000024; // type:object size:0x24 scope:global l_warp_check_evName = .data:0x00000048; // type:object size:0x4 scope:global l_warp_cancel_evName = .data:0x0000004C; // type:object size:0x4 scope:global @@ -100,7 +100,7 @@ action_table$4273 = .data:0x00000158; // type:object size:0x3C scope:local @4504 = .data:0x00000194; // type:object size:0x2C scope:local @4503 = .data:0x000001C0; // type:object size:0x1C scope:local @4502 = .data:0x000001DC; // type:object size:0x3C scope:local -l_daObjBossWarp_Method = .data:0x00000218; // type:object size:0x20 scope:global +l_daObjBossWarp_Method = .data:0x00000218; // type:object size:0x20 scope:local g_profile_Obj_BossWarp = .data:0x00000238; // type:object size:0x30 scope:global __vt__12J3DFrameCtrl = .data:0x00000268; // type:object size:0xC scope:global -lbl_91_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte +lbl_91_bss_0 = .bss:0x00000000; // type:object size:0x1 scope:local data:byte diff --git a/config/GZ2J01/rels/d_a_obj_bosswarp/splits.txt b/config/GZ2J01/rels/d_a_obj_bosswarp/splits.txt index b6938082ccb..601c78c477d 100644 --- a/config/GZ2J01/rels/d_a_obj_bosswarp/splits.txt +++ b/config/GZ2J01/rels/d_a_obj_bosswarp/splits.txt @@ -13,3 +13,4 @@ d/actor/d_a_obj_bosswarp.cpp: .text start:0x00000078 end:0x00001D98 .rodata start:0x00000000 end:0x000002F8 .data start:0x00000000 end:0x00000274 + .bss start:0x00000000 end:0x00000004 diff --git a/configure.py b/configure.py index 0b27cb2efdc..6ef960938a0 100755 --- a/configure.py +++ b/configure.py @@ -1617,7 +1617,7 @@ config.libs = [ ActorRel(MatchingFor("GZ2E01"), "d_a_npc_tkj"), ActorRel(NonMatching, "d_a_obj_bhashi"), ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_bkdoor"), - ActorRel(NonMatching, "d_a_obj_bosswarp"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_bosswarp"), ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_cboard"), ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_digplace"), ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_eff"), @@ -1718,7 +1718,7 @@ config.libs = [ ActorRel(Equivalent, "d_a_e_fk"), # weak func order ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_fs"), ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_fz"), - ActorRel(NonMatching, "d_a_e_gb"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_gb"), ActorRel(NonMatching, "d_a_e_ge"), ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_gi"), ActorRel(NonMatching, "d_a_e_gm"), diff --git a/include/d/actor/d_a_e_gb.h b/include/d/actor/d_a_e_gb.h index 0f2c1cb8f5e..ca3b09a1ee1 100644 --- a/include/d/actor/d_a_e_gb.h +++ b/include/d/actor/d_a_e_gb.h @@ -113,22 +113,5 @@ public: STATIC_ASSERT(sizeof(e_gb_class) == 0xef8); -class daE_GB_HIO_c : public JORReflexible{ -public: - /* 806C1CEC */ daE_GB_HIO_c(); - /* 806C6F98 */ virtual ~daE_GB_HIO_c() {} - - void genMessage(JORMContext*); - - /* 0x04 */ s8 field_0x4; - /* 0x08 */ f32 field_0x8; - /* 0x0C */ f32 field_0xc; - /* 0x10 */ f32 field_0x10; - /* 0x14 */ s16 field_0x14; - /* 0x18 */ f32 field_0x18; - /* 0x1C */ s16 field_0x1c; - /* 0x1E */ s16 field_0x1e; -}; - #endif /* D_A_E_GB_H */ diff --git a/include/d/actor/d_a_obj_life_container.h b/include/d/actor/d_a_obj_life_container.h index bbaf2f3f5ec..c3f9246b872 100644 --- a/include/d/actor/d_a_obj_life_container.h +++ b/include/d/actor/d_a_obj_life_container.h @@ -60,7 +60,9 @@ public: actionInitWait2(); } - void setPos(cXyz); + void setPos(cXyz new_pos) { + current.pos = new_pos; + } private: /* 0x92C */ fpc_ProcID mItemId; diff --git a/src/d/actor/d_a_e_gb.cpp b/src/d/actor/d_a_e_gb.cpp index af2148118aa..cce42938f78 100644 --- a/src/d/actor/d_a_e_gb.cpp +++ b/src/d/actor/d_a_e_gb.cpp @@ -13,6 +13,23 @@ #include "f_op/f_op_actor_enemy.h" #include "f_op/f_op_camera_mng.h" +class daE_GB_HIO_c : public JORReflexible{ +public: + /* 806C1CEC */ daE_GB_HIO_c(); + /* 806C6F98 */ virtual ~daE_GB_HIO_c() {} + + void genMessage(JORMContext*); + + /* 0x04 */ s8 field_0x4; + /* 0x08 */ f32 field_0x8; + /* 0x0C */ f32 field_0xc; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ s16 field_0x14; + /* 0x18 */ f32 field_0x18; + /* 0x1C */ s16 field_0x1c; + /* 0x1E */ s16 field_0x1e; +}; + /* 806C1CEC-806C1D3C 0000EC 0050+00 1/1 0/0 0/0 .text __ct__12daE_GB_HIO_cFv */ daE_GB_HIO_c::daE_GB_HIO_c() { @@ -1509,18 +1526,17 @@ static int daE_GB_Delete(e_gb_class* i_this) { /* 806C651C-806C6894 00491C 0378+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */ static int useHeapInit(fopAc_ac_c* a_this) { - // NONMATCHING - r30 is used instead of r27 in dComIfG_getObjectRes e_gb_class* i_this = (e_gb_class*)a_this; - - i_this->mpModelMorf1 = new mDoExt_McaMorf((J3DModelData*)dComIfG_getObjectRes("E_gb", 29), NULL, NULL, - (J3DAnmTransform*)dComIfG_getObjectRes("E_gb", 17), 2, 1.0f, + + i_this->mpModelMorf1 = new mDoExt_McaMorf(static_cast(dComIfG_getObjectRes("E_gb", 29)), NULL, NULL, + static_cast(dComIfG_getObjectRes("E_gb", 17)), 2, 1.0f, 0, -1, 1, NULL, 0x80000, 0x11000084); if (i_this->mpModelMorf1 == NULL || i_this->mpModelMorf1->getModel() == NULL) { return 0; } - i_this->mpModelMorf2 = new mDoExt_McaMorf((J3DModelData*)dComIfG_getObjectRes("E_gb", 31), NULL, NULL, - (J3DAnmTransform*)dComIfG_getObjectRes("E_gb", 26), 2, 1.0f, + i_this->mpModelMorf2 = new mDoExt_McaMorf(static_cast(dComIfG_getObjectRes("E_gb", 31)), NULL, NULL, + static_cast(dComIfG_getObjectRes("E_gb", 26)), 2, 1.0f, 0, -1, 1, NULL, 0x80000, 0x11000084); i_this->field_0x68c = 26; if (i_this->mpModelMorf2 == NULL || i_this->mpModelMorf2->getModel() == NULL) { @@ -1532,13 +1548,14 @@ static int useHeapInit(fopAc_ac_c* a_this) { return 0; } - if (i_this->mBrkAnm->init(i_this->mpModelMorf2->getModel()->getModelData(), (J3DAnmTevRegKey*)dComIfG_getObjectRes("E_gb", 35), + if (i_this->mBrkAnm->init(i_this->mpModelMorf2->getModel()->getModelData(), + static_cast(dComIfG_getObjectRes("E_gb", 35)), 1, 0, 1.0f, 0, -1) == 0) { return 0; } i_this->mBrkAnm->setPlaySpeed(0.0f); - J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("E_gb", 32); + J3DModelData* modelData = static_cast(dComIfG_getObjectRes("E_gb", 32)); JUT_ASSERT(3378, modelData != 0); for (int i = 0; i < 18; i++) { @@ -1551,7 +1568,7 @@ static int useHeapInit(fopAc_ac_c* a_this) { } if (strcmp(dComIfGp_getStartStageName(), "D_MN05") == 0) { - modelData = (J3DModelData*)dComIfG_getObjectRes("E_gb", 30); + modelData = static_cast(dComIfG_getObjectRes("E_gb", 30)); JUT_ASSERT(3395, modelData != 0); i_this->field_0x66c = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); if (i_this->field_0x66c == NULL) { diff --git a/src/d/actor/d_a_obj_bosswarp.cpp b/src/d/actor/d_a_obj_bosswarp.cpp index d917c41675d..4e65b9a7ce2 100644 --- a/src/d/actor/d_a_obj_bosswarp.cpp +++ b/src/d/actor/d_a_obj_bosswarp.cpp @@ -14,126 +14,6 @@ #include "d/actor/d_a_obj_ystone.h" #include "dol2asm.h" - -// -// Forward References: -// - -extern "C" static void CheckCreateHeap__FP10fopAc_ac_c(); -extern "C" static void getNowLevel__Fv(); -extern "C" void initBaseMtx__15daObjBossWarp_cFv(); -extern "C" void setBaseMtx__15daObjBossWarp_cFv(); -extern "C" void Create__15daObjBossWarp_cFv(); -extern "C" void CreateHeap__15daObjBossWarp_cFv(); -extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" void create__15daObjBossWarp_cFv(); -extern "C" void appear__15daObjBossWarp_cFi(); -extern "C" void set_appear__15daObjBossWarp_cFv(); -extern "C" void disappear__15daObjBossWarp_cFi(); -extern "C" void checkDistance__15daObjBossWarp_cFv(); -extern "C" void execute__15daObjBossWarp_cFv(); -extern "C" void event_proc_call__15daObjBossWarp_cFv(); -extern "C" void actionWait__15daObjBossWarp_cFv(); -extern "C" void actionOrderEvent__15daObjBossWarp_cFv(); -extern "C" void actionEvent__15daObjBossWarp_cFv(); -extern "C" void actionWaitWarp__15daObjBossWarp_cFv(); -extern "C" void actionOrderWarpEvent__15daObjBossWarp_cFv(); -extern "C" void actionWarpEvent__15daObjBossWarp_cFv(); -extern "C" void actionDead__15daObjBossWarp_cFv(); -extern "C" void actionOrderChkEvent__15daObjBossWarp_cFv(); -extern "C" void actionChkEvent__15daObjBossWarp_cFv(); -extern "C" void actionOrderCancelEvent__15daObjBossWarp_cFv(); -extern "C" void actionCancelEvent__15daObjBossWarp_cFv(); -extern "C" void demoProc__15daObjBossWarp_cFv(); -extern "C" void setGoal__15daObjBossWarp_cFv(); -extern "C" void draw__15daObjBossWarp_cFv(); -extern "C" void _delete__15daObjBossWarp_cFv(); -extern "C" static void daObjBossWarp_Draw__FP15daObjBossWarp_c(); -extern "C" static void daObjBossWarp_Execute__FP15daObjBossWarp_c(); -extern "C" static void daObjBossWarp_Delete__FP15daObjBossWarp_c(); -extern "C" static void daObjBossWarp_Create__FP10fopAc_ac_c(); -extern "C" void func_8057B304(void* _this, int*); -extern "C" void setPos__11daObjLife_cF4cXyz(); -extern "C" void setCurrentPos__16obj_ystone_classF4cXyz(); -extern "C" extern char const* const d_a_obj_bosswarp__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_ZXYrotM__FPA4_fsss(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void transM__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void scaleM__14mDoMtx_stack_cFfff(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss(); -extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef(); -extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss(); -extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_delete__FUi(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs(); -extern "C" void fpcSch_JudgeForPName__FPvPv(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void onCollectCrystal__20dSv_player_collect_cFUc(); -extern "C" void onCollectMirror__20dSv_player_collect_cFUc(); -extern "C" void onEventBit__11dSv_event_cFUs(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void setPtT__14dEvt_control_cFPv(); -extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc(); -extern "C" void endCheck__16dEvent_manager_cFs(); -extern "C" void getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci(); -extern "C" void getIsAddvance__16dEvent_manager_cFi(); -extern "C" void getMyActIdx__16dEvent_manager_cFiPCPCciii(); -extern "C" void getMySubstanceP__16dEvent_manager_cFiPCci(); -extern "C" void cutEnd__16dEvent_manager_cFi(); -extern "C" void setGoal__16dEvent_manager_cFP4cXyz(); -extern "C" void checkStartDemo__16dEvent_manager_cFv(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c(); -extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci(); -extern "C" void query005__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __ml__4cXyzCFf(); -extern "C" void normalizeZP__4cXyzFv(); -extern "C" void cLib_addCalc__FPfffff(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_20(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_20(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 m_midnaActor__9daPy_py_c[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" extern u8 data_8057B8D0[4]; - // // Declarations: // @@ -572,97 +452,7 @@ void daObjBossWarp_c::actionCancelEvent() { } } -/* 8057B490-8057B4B4 000130 0024+00 0/0 0/0 0/0 .rodata l_dangeon_clr_bitNo$4282 */ -static int const l_dangeon_clr_bitNo[9] = { - 0x37, 0x40, 0x4E, 0x109, 0x10A, 0x10B, 0x10C, -1, -1 -}; - -/* 8057B7B0-8057B7EC -00001 003C+00 1/1 0/0 0/0 .data action_table$4273 */ -static char* action_table[15] = { - "WAIT", - "APPEAR", - "DISAPPEAR", - "SCENE_CHG", - "STONE_FALL", - "STONE_MIDNA", - "WALK_TARGET1", - "APPEAR_END", - "STONE_DELETE", - "STONE_PUTAWAY", - "WCHECK", - "SETPOS", - "SCALING", - "STONE_SCALE", - "HEART_MOVE", -}; - -/* 8057B7EC-8057B818 -00001 002C+00 1/1 0/0 0/0 .data @4504 */ -SECTION_DATA static void* lit_4504[11] = { - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x444), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x464), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x474), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x628), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x484), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x51C), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x61C), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x598), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x61C), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x54C), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x5C8), -}; - -/* 8057B818-8057B834 -00001 001C+00 1/1 0/0 0/0 .data @4503 */ -SECTION_DATA static void* lit_4503[7] = { - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x304), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x31C), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x334), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x390), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x34C), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x364), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x37C), -}; - -/* 8057B834-8057B870 -00001 003C+00 1/1 0/0 0/0 .data @4502 */ -SECTION_DATA static void* lit_4502[15] = { - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0xF8), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x134), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x18C), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x19C), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x1C8), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x39C), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x3B4), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x424), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x424), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x3A8), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x3C4), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x3E0), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x3EC), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x424), - (void*)(((char*)demoProc__15daObjBossWarp_cFv) + 0x3F8), -}; - -/* 8057B4B4-8057B4B8 000154 0004+00 0/1 0/0 0/0 .rodata @4489 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4489 = 100000.0f; -COMPILER_STRIP_GATE(0x8057B4B4, &lit_4489); -#pragma pop - -/* 8057B4B8-8057B4BC 000158 0004+00 0/1 0/0 0/0 .rodata @4490 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4490 = 900.0f; -COMPILER_STRIP_GATE(0x8057B4B8, &lit_4490); -#pragma pop - -/* 8057B4EC-8057B4EC 00018C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8057B64F = "Timer"; -#pragma pop - /* 8057AA94-8057B0D8 0014D4 0644+00 11/8 0/0 0/0 .text demoProc__15daObjBossWarp_cFv */ -// NONMATCHING - regalloc int daObjBossWarp_c::demoProc() { static char* action_table[15] = { "WAIT", @@ -694,7 +484,7 @@ int daObjBossWarp_c::demoProc() { -1 }; - daPy_py_c* player = (daPy_py_c*)daPy_getPlayerActorClass(); + daPy_py_c* player = daPy_getPlayerActorClass(); obj_ystone_class* ystone = (obj_ystone_class*)fopAcM_SearchByName(PROC_OBJ_YSTONE); cXyz unused(100000.0f, 0.0f, 0.0f); daMidna_c* midna = (daMidna_c*)daPy_py_c::getMidnaActor(); @@ -870,84 +660,6 @@ int daObjBossWarp_c::demoProc() { return 1; } -/* ############################################################################################## */ -/* 8057B4BC-8057B4C0 00015C 0004+00 0/0 0/0 0/0 .rodata @4491 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4491 = 50.0f; -COMPILER_STRIP_GATE(0x8057B4BC, &lit_4491); -#pragma pop - -/* 8057B4C0-8057B4C4 000160 0004+00 0/0 0/0 0/0 .rodata @4492 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4492 = 120.0f; -COMPILER_STRIP_GATE(0x8057B4C0, &lit_4492); -#pragma pop - -/* 8057B4C4-8057B4C8 000164 0004+00 0/0 0/0 0/0 .rodata @4493 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4493 = 270.0f; -COMPILER_STRIP_GATE(0x8057B4C4, &lit_4493); -#pragma pop - -/* 8057B4C8-8057B4CC 000168 0004+00 0/0 0/0 0/0 .rodata @4494 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4494 = 145.0f; -COMPILER_STRIP_GATE(0x8057B4C8, &lit_4494); -#pragma pop - -/* 8057B4CC-8057B4D0 00016C 0004+00 0/0 0/0 0/0 .rodata @4495 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4495 = 74.0f; -COMPILER_STRIP_GATE(0x8057B4CC, &lit_4495); -#pragma pop - -/* 8057B4D0-8057B4D4 000170 0004+00 0/0 0/0 0/0 .rodata @4496 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4496 = 175.0f; -COMPILER_STRIP_GATE(0x8057B4D0, &lit_4496); -#pragma pop - -/* 8057B4D4-8057B4D8 000174 0004+00 0/0 0/0 0/0 .rodata @4497 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4497 = 54.0f; -COMPILER_STRIP_GATE(0x8057B4D4, &lit_4497); -#pragma pop - -/* 8057B4D8-8057B4DC 000178 0004+00 0/0 0/0 0/0 .rodata @4498 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4498 = 1.0f / 20.0f; -COMPILER_STRIP_GATE(0x8057B4D8, &lit_4498); -#pragma pop - -/* 8057B4DC-8057B4E0 00017C 0004+00 0/0 0/0 0/0 .rodata @4499 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4499 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x8057B4DC, &lit_4499); -#pragma pop - -/* 8057B4E0-8057B4E4 000180 0004+00 0/0 0/0 0/0 .rodata @4500 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4500 = 40.0f; -COMPILER_STRIP_GATE(0x8057B4E0, &lit_4500); -#pragma pop - -/* 8057B4E4-8057B4E8 000184 0004+00 0/0 0/0 0/0 .rodata @4501 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4501 = 0x3D072B02; -COMPILER_STRIP_GATE(0x8057B4E4, &lit_4501); -#pragma pop - /* 8057B0D8-8057B190 001B18 00B8+00 1/1 0/0 0/0 .text setGoal__15daObjBossWarp_cFv */ void daObjBossWarp_c::setGoal() { daPy_py_c* player = daPy_getPlayerActorClass(); @@ -995,23 +707,6 @@ static cPhs__Step daObjBossWarp_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } -/* 8057B304-8057B320 001D44 001C+00 1/1 0/0 0/0 .text cLib_calcTimer__FPi */ -extern "C" void func_8057B304(void* _this, int* param_0) { - // NONMATCHING -} - -/* 8057B320-8057B33C 001D60 001C+00 1/1 0/0 0/0 .text setPos__11daObjLife_cF4cXyz */ -// void daObjLife_c::setPos(cXyz param_0) { -extern "C" void setPos__11daObjLife_cF4cXyz() { - // NONMATCHING -} - -/* 8057B33C-8057B358 001D7C 001C+00 1/1 0/0 0/0 .text setCurrentPos__16obj_ystone_classF4cXyz */ -// void obj_ystone_class::setCurrentPos(cXyz param_0) { -extern "C" void setCurrentPos__16obj_ystone_classF4cXyz() { - // NONMATCHING -} - /* 8057B870-8057B890 -00001 0020+00 1/0 0/0 0/0 .data l_daObjBossWarp_Method */ static actor_method_class l_daObjBossWarp_Method = { (process_method_func)daObjBossWarp_Create,