diff options
| author | hatal175 <hatal175@users.noreply.github.com> | 2024-04-15 01:01:11 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-14 15:01:11 -0700 |
| commit | fafbfcb833f8c649fcbb064bbb06cdb3af8b1023 (patch) | |
| tree | ff55f9739e462cdf66d01d0861af3b46e605add8 /rel | |
| parent | 5ffd54f2869cfc08f8675d56b198cb47f334888f (diff) | |
daBdoorL5 OK (#2129)
* daBdoorL5 OK
* Remove dol2asm from d_a_door_dbdoor00
Diffstat (limited to 'rel')
| -rw-r--r-- | rel/d/a/door/d_a_door_bossL5/Makefile | 2 | ||||
| -rw-r--r-- | rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5.cpp | 1454 | ||||
| -rw-r--r-- | rel/d/a/door/d_a_door_bossL5/unknown_translation_unit_bss.cpp | 26 | ||||
| -rw-r--r-- | rel/d/a/door/d_a_door_dbdoor00/d_a_door_dbdoor00.cpp | 18 |
4 files changed, 436 insertions, 1064 deletions
diff --git a/rel/d/a/door/d_a_door_bossL5/Makefile b/rel/d/a/door/d_a_door_bossL5/Makefile index 52439283c2..9bb78974bc 100644 --- a/rel/d/a/door/d_a_door_bossL5/Makefile +++ b/rel/d/a/door/d_a_door_bossL5/Makefile @@ -8,12 +8,10 @@ M167_MAP := $(BUILD_DIR)/rel/d/a/door/d_a_door_bossL5.map M167_CPP_FILES := \ rel/executor.cpp \ - rel/d/a/door/d_a_door_bossL5/unknown_translation_unit_bss.cpp \ rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5.cpp \ M167_O_FILES := \ $(BUILD_DIR)/rel/executor.o \ - $(BUILD_DIR)/rel/d/a/door/d_a_door_bossL5/unknown_translation_unit_bss.o \ $(BUILD_DIR)/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5.o \ M167_LIBS := \ diff --git a/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5.cpp b/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5.cpp index 72eae6bc99..d4757fcb10 100644 --- a/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5.cpp +++ b/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5.cpp @@ -1,430 +1,39 @@ // -// Generated By: dol2asm -// Translation Unit: d_a_door_bossL5 +// Boss Door Level 5 // #include "rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5.h" -#include "dol2asm.h" - -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - - static u8 now[48]; -}; - -struct J3DModelData {}; - -struct J3DAnmTransform {}; - -struct mDoExt_bckAnm { - /* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool); - /* 8000D9CC */ void entry(J3DModelData*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct door_param2_c { - /* 8003A1D0 */ void getSwbit(fopAc_ac_c*); - /* 8003A224 */ void getExitNo(fopAc_ac_c*); -}; - -struct daBdoorL5_c { - /* 80670C38 */ void getArcName(); - /* 80670C44 */ void getAlwaysArcName(); - /* 80670C54 */ void getBmd(); - /* 80670C64 */ void getDzb(); - /* 80670C74 */ void getAnmArcName(); - /* 80670C84 */ s32 getOpenAnm(); - /* 80670C8C */ s32 getCloseAnm(); - /* 80670C94 */ void getDoorModelData(); - /* 80670D10 */ void CreateHeap(); - /* 80670F08 */ void calcMtx(); - /* 80670F5C */ void CreateInit(); - /* 8067106C */ void create(); - /* 806712DC */ void getDemoAction(); - /* 80671324 */ void demoProc(); - /* 806715D0 */ void openInit(); - /* 80671670 */ void openProc(); - /* 80671718 */ bool openEnd(); - /* 80671720 */ void closeInit(); - /* 806717FC */ void closeProc(); - /* 80671820 */ void closeEnd(); - /* 80671878 */ void unlockInit(); - /* 80671954 */ void calcGoal(cXyz*, int); - /* 80671A7C */ void smokeInit(); - /* 80671B14 */ void createKey(); - /* 80671C14 */ void checkArea(); - /* 80671D44 */ void checkFront(); - /* 80671DE4 */ void checkOpen(); - /* 80671E70 */ bool actionWait(); - /* 80671E78 */ void actionCloseWait(); - /* 80671F58 */ void actionOpen(); - /* 80672004 */ void actionEnd(); - /* 80672164 */ void execute(); - /* 8067228C */ void draw(); - /* 80672374 */ void Delete(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_restart_c { - /* 80034F80 */ void setRoom(cXyz const&, s16, s8); -}; - -struct dSv_memBit_c { - /* 80034934 */ void isDungeonItem(int) const; -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int); - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct csXyz {}; - -struct dPa_control_c { - /* 8004D068 */ void setPoly(u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, int, dPa_levelEcallBack*, s8, cXyz const*); -}; - -struct dEvent_manager_c { - /* 80047758 */ void getEventIdx(fopAc_ac_c*, char const*, u8); - /* 80047B1C */ void getMyStaffId(char const*, fopAc_ac_c*, int); - /* 80047D4C */ void getIsAddvance(int); - /* 80047E10 */ void getMyActIdx(int, char const* const*, int, int, int); - /* 8004817C */ void cutEnd(int); - /* 800483C4 */ void setGoal(cXyz*); -}; - -struct dBgW_Base {}; - -struct dBgW { - /* 8007B970 */ dBgW(); - /* 8007B9C0 */ void Move(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 8067126C */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 806711FC */ ~dBgS_AcchCir(); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); -}; - -struct dBgS { - /* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cBgW_BgId { - /* 802681D4 */ void ChkUsed() const; -}; - -struct cBgD_t {}; - -struct cBgW { - /* 80079F38 */ void Set(cBgD_t*, u32, f32 (*)[3][4]); -}; - -struct cBgS { - /* 80074250 */ void Release(dBgW_Base*); -}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 80670EC0 */ ~J3DFrameCtrl(); -}; - -// -// Forward References: -// - -extern "C" void getArcName__11daBdoorL5_cFv(); -extern "C" void getAlwaysArcName__11daBdoorL5_cFv(); -extern "C" void getBmd__11daBdoorL5_cFv(); -extern "C" void getDzb__11daBdoorL5_cFv(); -extern "C" void getAnmArcName__11daBdoorL5_cFv(); -extern "C" s32 getOpenAnm__11daBdoorL5_cFv(); -extern "C" s32 getCloseAnm__11daBdoorL5_cFv(); -extern "C" void getDoorModelData__11daBdoorL5_cFv(); -extern "C" static void CheckCreateHeap__FP10fopAc_ac_c(); -extern "C" void CreateHeap__11daBdoorL5_cFv(); -extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" void calcMtx__11daBdoorL5_cFv(); -extern "C" void CreateInit__11daBdoorL5_cFv(); -extern "C" void create__11daBdoorL5_cFv(); -extern "C" void __dt__12dBgS_AcchCirFv(); -extern "C" void __dt__12dBgS_ObjAcchFv(); -extern "C" void getDemoAction__11daBdoorL5_cFv(); -extern "C" void demoProc__11daBdoorL5_cFv(); -extern "C" void openInit__11daBdoorL5_cFv(); -extern "C" void openProc__11daBdoorL5_cFv(); -extern "C" bool openEnd__11daBdoorL5_cFv(); -extern "C" void closeInit__11daBdoorL5_cFv(); -extern "C" void closeProc__11daBdoorL5_cFv(); -extern "C" void closeEnd__11daBdoorL5_cFv(); -extern "C" void unlockInit__11daBdoorL5_cFv(); -extern "C" void calcGoal__11daBdoorL5_cFP4cXyzi(); -extern "C" void smokeInit__11daBdoorL5_cFv(); -extern "C" void createKey__11daBdoorL5_cFv(); -extern "C" void checkArea__11daBdoorL5_cFv(); -extern "C" void checkFront__11daBdoorL5_cFv(); -extern "C" void checkOpen__11daBdoorL5_cFv(); -extern "C" bool actionWait__11daBdoorL5_cFv(); -extern "C" void actionCloseWait__11daBdoorL5_cFv(); -extern "C" void actionOpen__11daBdoorL5_cFv(); -extern "C" void actionEnd__11daBdoorL5_cFv(); -extern "C" void execute__11daBdoorL5_cFv(); -extern "C" void draw__11daBdoorL5_cFv(); -extern "C" void Delete__11daBdoorL5_cFv(); -extern "C" static void daBdoorL5_Draw__FP11daBdoorL5_c(); -extern "C" static void daBdoorL5_Execute__FP11daBdoorL5_c(); -extern "C" static void daBdoorL5_Delete__FP11daBdoorL5_c(); -extern "C" static void daBdoorL5_Create__FP10fopAc_ac_c(); -extern "C" void func_80672494(void* _this, u8*); -extern "C" static void func_806724B0(); -extern "C" static void func_806724B8(); -extern "C" extern char const* const d_a_door_bossL5__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb(); -extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf(); -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_createChildFromOffset__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fpcM_IsCreating__FUi(); -extern "C" void fpcSch_JudgeByID__FPvPv(); -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 isDungeonItem__12dSv_memBit_cCFi(); -extern "C" void setRoom__13dSv_restart_cFRC4cXyzsSc(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void getSwbit__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getExitNo__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci(); -extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc(); -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 cutEnd__16dEvent_manager_cFi(); -extern "C" void setGoal__16dEvent_manager_cFP4cXyz(); -extern "C" void -setPoly__13dPa_control_cFUsR13cBgS_PolyInfoPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyziP18dPa_levelEcallBackScPC4cXyz(); -extern "C" void StartShock__12dVibration_cFii4cXyz(); -extern "C" void Release__4cBgSFP9dBgW_Base(); -extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c(); -extern "C" void __ct__12dBgS_AcchCirFv(); -extern "C" void __dt__9dBgS_AcchFv(); -extern "C" void __ct__9dBgS_AcchFv(); -extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz(); -extern "C" void SetObj__16dBgS_PolyPassChkFv(); -extern "C" void Set__4cBgWFP6cBgD_tUlPA3_A4_f(); -extern "C" void __ct__4dBgWFv(); -extern "C" void Move__4dBgWFv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void ChkUsed__9cBgW_BgIdCFv(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 g_meter2_info[248]; -extern "C" extern u8 j3dSys[284]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" extern u8 data_806727A0[4]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80672548-80672548 000080 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80672548 = "Z_bdor00"; -#pragma pop +#include "rel/d/a/obj/d_a_obj_keyhole/d_a_obj_keyhole.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_door_param2.h" +#include "d/a/d_a_player.h" +#include "d/meter/d_meter2_info.h" +#include "SSystem/SComponent/c_math.h" /* 80670C38-80670C44 000078 000C+00 4/4 0/0 0/0 .text getArcName__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::getArcName() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/getArcName__11daBdoorL5_cFv.s" +const char* daBdoorL5_c::getArcName() { + return "Z_bdor00"; } -#pragma pop - -/* ############################################################################################## */ -/* 80672548-80672548 000080 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80672551 = "static"; -#pragma pop /* 80670C44-80670C54 000084 0010+00 3/3 0/0 0/0 .text getAlwaysArcName__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::getAlwaysArcName() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/getAlwaysArcName__11daBdoorL5_cFv.s" +const char* daBdoorL5_c::getAlwaysArcName() { + return "static"; } -#pragma pop - -/* ############################################################################################## */ -/* 80672548-80672548 000080 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80672558 = "Z_bdor00.bmd"; -#pragma pop /* 80670C54-80670C64 000094 0010+00 1/1 0/0 0/0 .text getBmd__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::getBmd() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/getBmd__11daBdoorL5_cFv.s" +const char* daBdoorL5_c::getBmd() { + return "Z_bdor00.bmd"; } -#pragma pop - -/* ############################################################################################## */ -/* 80672548-80672548 000080 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80672565 = "door-shutterBoss.dzb"; -#pragma pop /* 80670C64-80670C74 0000A4 0010+00 1/1 0/0 0/0 .text getDzb__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::getDzb() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/getDzb__11daBdoorL5_cFv.s" +const char* daBdoorL5_c::getDzb() { + return "door-shutterBoss.dzb"; } -#pragma pop -/* ############################################################################################## */ -/* 80672548-80672548 000080 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8067257A = "BDoorTAnm"; -#pragma pop - -/* 80670C74-80670C84 0000B4 0010+00 5/5 0/0 0/0 .text getAnmArcName__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::getAnmArcName() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/getAnmArcName__11daBdoorL5_cFv.s" +const char* daBdoorL5_c::getAnmArcName() { + return "BDoorTAnm"; } -#pragma pop /* 80670C84-80670C8C 0000C4 0008+00 2/2 0/0 0/0 .text getOpenAnm__11daBdoorL5_cFv */ s32 daBdoorL5_c::getOpenAnm() { @@ -438,147 +47,33 @@ s32 daBdoorL5_c::getCloseAnm() { /* 80670C94-80670CF0 0000D4 005C+00 1/1 0/0 0/0 .text getDoorModelData__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::getDoorModelData() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/getDoorModelData__11daBdoorL5_cFv.s" +J3DModelData* daBdoorL5_c::getDoorModelData() { + return static_cast<J3DModelData*>(dComIfG_getObjectRes(getArcName(), getBmd())); } -#pragma pop /* 80670CF0-80670D10 000130 0020+00 1/1 0/0 0/0 .text CheckCreateHeap__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void CheckCreateHeap(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/CheckCreateHeap__FP10fopAc_ac_c.s" +static int CheckCreateHeap(fopAc_ac_c* i_this) { + return static_cast<daBdoorL5_c*>(i_this)->CreateHeap(); } -#pragma pop -/* ############################################################################################## */ /* 806724C8-806724E0 000000 0016+02 4/4 0/0 0/0 .rodata l_door_open_demo */ -SECTION_RODATA static u8 const l_door_open_demo[22 + 2 /* padding */] = { - 0x44, - 0x45, - 0x46, - 0x41, - 0x55, - 0x4C, - 0x54, - 0x5F, - 0x42, - 0x53, - 0x5F, - 0x53, - 0x48, - 0x55, - 0x54, - 0x54, - 0x45, - 0x52, - 0x5F, - 0x4C, - 0x35, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x806724C8, &l_door_open_demo); +static char const l_door_open_demo[22] = "DEFAULT_BS_SHUTTER_L5"; /* 806724E0-806724FC 000018 001A+02 0/1 0/0 0/0 .rodata l_door_open_demo_1st */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const l_door_open_demo_1st[26 + 2 /* padding */] = { - 0x44, - 0x45, - 0x46, - 0x41, - 0x55, - 0x4C, - 0x54, - 0x5F, - 0x42, - 0x53, - 0x5F, - 0x53, - 0x48, - 0x55, - 0x54, - 0x54, - 0x45, - 0x52, - 0x5F, - 0x4C, - 0x35, - 0x5F, - 0x31, - 0x53, - 0x54, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x806724E0, &l_door_open_demo_1st); -#pragma pop +static char const l_door_open_demo_1st[26] = "DEFAULT_BS_SHUTTER_L5_1ST"; /* 806724FC-8067250C 000034 000D+03 3/3 0/0 0/0 .rodata l_staff_name */ -SECTION_RODATA static u8 const l_staff_name[13 + 3 /* padding */] = { - 0x53, - 0x48, - 0x55, - 0x54, - 0x54, - 0x45, - 0x52, - 0x5F, - 0x44, - 0x4F, - 0x4F, - 0x52, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x806724FC, &l_staff_name); - -/* 8067250C-80672510 000044 0004+00 5/6 0/0 0/0 .rodata @3757 */ -SECTION_RODATA static f32 const lit_3757 = 1.0f; -COMPILER_STRIP_GATE(0x8067250C, &lit_3757); - -/* 80672548-80672548 000080 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80672584 = "WAIT"; -SECTION_DEAD static char const* const stringBase_80672589 = "UNLOCK"; -SECTION_DEAD static char const* const stringBase_80672590 = "OPEN"; -SECTION_DEAD static char const* const stringBase_80672595 = "SETGOAL"; -SECTION_DEAD static char const* const stringBase_8067259D = "SETGOAL2"; -SECTION_DEAD static char const* const stringBase_806725A6 = "CLOSE"; -SECTION_DEAD static char const* const stringBase_806725AC = "SMOKE"; -SECTION_DEAD static char const* const stringBase_806725B2 = "SMOKE_END"; -SECTION_DEAD static char const* const stringBase_806725BC = "END"; -SECTION_DEAD static char const* const stringBase_806725C0 = "END_CHECK"; -SECTION_DEAD static char const* const stringBase_806725CA = "CHG_SCENE"; -SECTION_DEAD static char const* const stringBase_806725D4 = "KEYDELETE"; -SECTION_DEAD static char const* const stringBase_806725DE = "PLY_NODISP"; -SECTION_DEAD static char const* const stringBase_806725E9 = "PLY_DISP"; -#pragma pop +static char const l_staff_name[13] = "SHUTTER_DOOR"; /* 806725F4-80672600 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, }; /* 80672600-80672614 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, @@ -589,592 +84,503 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { #pragma pop /* 80672614-8067264C -00001 0038+00 1/1 0/0 0/0 .data action_table$3861 */ -SECTION_DATA static void* action_table[14] = { - (void*)(((char*)&d_a_door_bossL5__stringBase0) + 0x3C), - (void*)(((char*)&d_a_door_bossL5__stringBase0) + 0x41), - (void*)(((char*)&d_a_door_bossL5__stringBase0) + 0x48), - (void*)(((char*)&d_a_door_bossL5__stringBase0) + 0x4D), - (void*)(((char*)&d_a_door_bossL5__stringBase0) + 0x55), - (void*)(((char*)&d_a_door_bossL5__stringBase0) + 0x5E), - (void*)(((char*)&d_a_door_bossL5__stringBase0) + 0x64), - (void*)(((char*)&d_a_door_bossL5__stringBase0) + 0x6A), - (void*)(((char*)&d_a_door_bossL5__stringBase0) + 0x74), - (void*)(((char*)&d_a_door_bossL5__stringBase0) + 0x78), - (void*)(((char*)&d_a_door_bossL5__stringBase0) + 0x82), - (void*)(((char*)&d_a_door_bossL5__stringBase0) + 0x8C), - (void*)(((char*)&d_a_door_bossL5__stringBase0) + 0x96), - (void*)(((char*)&d_a_door_bossL5__stringBase0) + 0xA1), -}; - -/* 8067264C-80672678 -00001 002C+00 1/1 0/0 0/0 .data @3952 */ -SECTION_DATA static void* lit_3952[11] = { - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x288), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x18C), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x1D8), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x288), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x288), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x200), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x288), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x288), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x294), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x270), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x228), -}; - -/* 80672678-806726B0 -00001 0038+00 1/1 0/0 0/0 .data @3951 */ -SECTION_DATA static void* lit_3951[14] = { - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x16C), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x6C), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0xBC), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0xC8), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0xE8), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x108), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x114), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x16C), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x16C), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x16C), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x120), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x12C), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x138), - (void*)(((char*)demoProc__11daBdoorL5_cFv) + 0x154), -}; - -/* 806726B0-806726BC -00001 000C+00 0/1 0/0 0/0 .data @4295 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4295[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)actionWait__11daBdoorL5_cFv, -}; -#pragma pop - -/* 806726BC-806726C8 -00001 000C+00 0/1 0/0 0/0 .data @4296 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4296[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)actionCloseWait__11daBdoorL5_cFv, -}; -#pragma pop - -/* 806726C8-806726D4 -00001 000C+00 0/1 0/0 0/0 .data @4297 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4297[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)actionOpen__11daBdoorL5_cFv, -}; -#pragma pop - -/* 806726D4-806726E0 -00001 000C+00 0/1 0/0 0/0 .data @4298 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4298[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)actionEnd__11daBdoorL5_cFv, -}; -#pragma pop - -/* 806726E0-80672710 0000EC 0030+00 0/1 0/0 0/0 .data l_action$4294 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_action[48] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -#pragma pop - -/* 80672710-80672730 -00001 0020+00 1/0 0/0 0/0 .data l_daBdoorL5_Method */ -SECTION_DATA static void* l_daBdoorL5_Method[8] = { - (void*)daBdoorL5_Create__FP10fopAc_ac_c, - (void*)daBdoorL5_Delete__FP11daBdoorL5_c, - (void*)daBdoorL5_Execute__FP11daBdoorL5_c, - (void*)NULL, - (void*)daBdoorL5_Draw__FP11daBdoorL5_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 80672730-80672760 -00001 0030+00 0/0 0/0 1/0 .data g_profile_L5BOSS_DOOR */ -SECTION_DATA extern void* g_profile_L5BOSS_DOOR[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x022B0000, (void*)&g_fpcLf_Method, - (void*)0x000007D0, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x012C0000, (void*)&l_daBdoorL5_Method, - (void*)0x00044000, (void*)0x00060000, -}; - -/* 80672760-8067276C 00016C 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, -}; - -/* 8067276C-80672790 000178 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_806724B8, - (void*)NULL, - (void*)NULL, - (void*)func_806724B0, -}; - -/* 80672790-8067279C 00019C 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, +static char* action_table[14] = { + "WAIT", + "UNLOCK", + "OPEN", + "SETGOAL", + "SETGOAL2", + "CLOSE", + "SMOKE", + "SMOKE_END", + "END", + "END_CHECK", + "CHG_SCENE", + "KEYDELETE", + "PLY_NODISP", + "PLY_DISP", }; /* 80670D10-80670EC0 000150 01B0+00 1/1 0/0 0/0 .text CreateHeap__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::CreateHeap() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/CreateHeap__11daBdoorL5_cFv.s" +int daBdoorL5_c::CreateHeap() { + J3DModelData* modelData = getDoorModelData(); + JUT_ASSERT(313, modelData != 0); + field_0x580 = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); + if (field_0x580 == NULL) { + return 0; + } + + J3DAnmTransform* anm = (J3DAnmTransform*)dComIfG_getObjectRes(getAnmArcName(), getOpenAnm()); + JUT_ASSERT(354, anm != 0); + field_0x584 = new mDoExt_bckAnm(); + if (field_0x584 == NULL || !field_0x584->init(anm, 1, 0, 1.0f, 0, -1, false)) { + return 0; + } + + field_0x584->entry(field_0x580->getModelData()); + field_0x580->calc(); + calcMtx(); + field_0x588 = new dBgW(); + if (field_0x588 == NULL || field_0x588->Set((cBgD_t*)dComIfG_getObjectRes(getAlwaysArcName(), getDzb()), 1, &field_0x580->getBaseTRMtx())) { + return 0; + } + return 1; } -#pragma pop - -/* 80670EC0-80670F08 000300 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/__dt__12J3DFrameCtrlFv.s" -} -#pragma pop /* 80670F08-80670F5C 000348 0054+00 2/2 0/0 0/0 .text calcMtx__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::calcMtx() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/calcMtx__11daBdoorL5_cFv.s" +void daBdoorL5_c::calcMtx() { + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::YrotM(home.angle.y); + field_0x580->setBaseTRMtx(mDoMtx_stack_c::get()); } -#pragma pop - -/* ############################################################################################## */ -/* 80672510-80672514 000048 0004+00 0/1 0/0 0/0 .rodata @3787 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3787 = 250.0f; -COMPILER_STRIP_GATE(0x80672510, &lit_3787); -#pragma pop /* 80670F5C-8067106C 00039C 0110+00 1/1 0/0 0/0 .text CreateInit__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::CreateInit() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/CreateInit__11daBdoorL5_cFv.s" +int daBdoorL5_c::CreateInit() { + field_0x5b8.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, + &field_0x790, fopAcM_GetSpeed_p(this), NULL, NULL); + int rt = dComIfG_Bgsp().Regist(field_0x588, this); + JUT_ASSERT(217, rt == 0); + setAction(ACTION_CLOSE_WAIT); + attention_info.position.y += 250.0f; + eyePos.y += 250.0f; + attention_info.flags = 0x20; + calcMtx(); + field_0x588->Move(); + door_param2_c::getSwbit(this); + field_0x593 = 0xff; + eventInfo.setArchiveName((char*)getArcName()); + field_0x598 = dComIfGp_getEventManager().getEventIdx(this, + l_door_open_demo_1st, 0xff); + field_0x59a = + dComIfGp_getEventManager().getEventIdx(this, l_door_open_demo, 0xff); + return 1; } -#pragma pop /* 8067106C-806711FC 0004AC 0190+00 1/1 0/0 0/0 .text create__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::create() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/create__11daBdoorL5_cFv.s" +int daBdoorL5_c::create() { + fopAcM_SetupActor(this, daBdoorL5_c); + int rv = dComIfG_resLoad(&mPhase1, getArcName()); + if (rv != cPhs_COMPLEATE_e) { + return rv; + } + rv = dComIfG_resLoad(&mPhase3, getAnmArcName()); + if (rv != cPhs_COMPLEATE_e) { + return rv; + } + rv = dComIfG_resLoad(&mPhase2, getAlwaysArcName()); + if (rv != cPhs_COMPLEATE_e) { + return rv; + } + s32 roomNo = fopAcM_GetRoomNo(this); + u8 swBit = door_param2_c::getSwbit(this); + if (dComIfGs_isSwitch(swBit, roomNo) == 0 && dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) != 3) { + createKey(); + } else { + mKeyHoleId = -1; + } + + if (fopAcM_entrySolidHeap(this, CheckCreateHeap, 0xd40) == 0) { + return cPhs_ERROR_e; + } + if (CreateInit() != 0) { + return cPhs_COMPLEATE_e; + } + return cPhs_ERROR_e; } -#pragma pop - -/* 806711FC-8067126C 00063C 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/__dt__12dBgS_AcchCirFv.s" -} -#pragma pop - -/* 8067126C-806712DC 0006AC 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/__dt__12dBgS_ObjAcchFv.s" -} -#pragma pop /* 806712DC-80671324 00071C 0048+00 1/1 0/0 0/0 .text getDemoAction__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::getDemoAction() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/getDemoAction__11daBdoorL5_cFv.s" +int daBdoorL5_c::getDemoAction() { + return dComIfGp_evmng_getMyActIdx(field_0x59c, action_table, 14, 0, 0); } -#pragma pop /* 80671324-806715D0 000764 02AC+00 5/3 0/0 0/0 .text demoProc__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::demoProc() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/demoProc__11daBdoorL5_cFv.s" +void daBdoorL5_c::demoProc() { + daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); + int demoAction = getDemoAction(); + cXyz cStack_38; + if (dComIfGp_evmng_getIsAddvance(field_0x59c)) { + switch (demoAction) { + case 1: + if (dComIfGs_isSwitch((u8)door_param2_c::getSwbit(this), fopAcM_GetRoomNo(this)) == 0) { + player->onPlayerNoDraw(); + player->onPlayerShadowNoDraw(); + } + unlockInit(); + break; + case 2: + openInit(); + break; + case 3: + calcGoal(&cStack_38, 0); + dComIfGp_evmng_setGoal(&cStack_38); + break; + case 4: + calcGoal(&cStack_38, 1); + dComIfGp_evmng_setGoal(&cStack_38); + break; + case 5: + closeInit(); + break; + case 6: + smokeInit(); + break; + case 10: + field_0x596 = 0; + break; + case 11: + field_0x594 = 40; + break; + case 12: + player->onPlayerNoDraw(); + player->onPlayerShadowNoDraw(); + break; + case 13: + player->offPlayerNoDraw(); + player->offPlayerShadowNoDraw(); + break; + } + } + switch (demoAction) { + case 1: + obj_keyhole_class* keyhole = (obj_keyhole_class*)fopAcM_SearchByID(mKeyHoleId); + if ((keyhole != NULL && keyhole->checkOpenEnd()) || mKeyHoleId == -1) { + dComIfGp_evmng_cutEnd(field_0x59c); + } + break; + case 2: + if (openProc() != 0) { + openEnd(); + dComIfGp_evmng_cutEnd(field_0x59c); + } + break; + case 5: + if (closeProc() != 0) { + closeEnd(); + dComIfGp_evmng_cutEnd(field_0x59c); + } + break; + case 8: + break; + case 10: + if (field_0x596 == 0) { + daPy_py_c* player = daPy_getPlayerActorClass(); + player->onSceneChangeArea(door_param2_c::getExitNo(this), 0xff, NULL); + } + field_0x596--; + break; + case 9: + setAction(ACTION_END); + dComIfGp_evmng_cutEnd(field_0x59c); + break; + default: + dComIfGp_evmng_cutEnd(field_0x59c); + break; + } } -#pragma pop /* 806715D0-80671670 000A10 00A0+00 1/1 0/0 0/0 .text openInit__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::openInit() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/openInit__11daBdoorL5_cFv.s" +int daBdoorL5_c::openInit() { + dComIfG_Bgsp().Release(field_0x588); + J3DAnmTransform* anm = (J3DAnmTransform*)dComIfG_getObjectRes(getAnmArcName(), getOpenAnm()); + JUT_ASSERT(454, anm != 0); + int rt = field_0x584->init(anm, 1, 0, 1.0f, 0, -1, true); + JUT_ASSERT(456, rt == 0); + return 1; } -#pragma pop - -/* ############################################################################################## */ -/* 80672514-80672518 00004C 0004+00 0/1 0/0 0/0 .rodata @3980 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3980 = 18.0f; -COMPILER_STRIP_GATE(0x80672514, &lit_3980); -#pragma pop - -/* 80672518-8067251C 000050 0004+00 2/3 0/0 0/0 .rodata @3981 */ -SECTION_RODATA static f32 const lit_3981 = -1.0f; -COMPILER_STRIP_GATE(0x80672518, &lit_3981); /* 80671670-80671718 000AB0 00A8+00 1/1 0/0 0/0 .text openProc__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::openProc() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/openProc__11daBdoorL5_cFv.s" +int daBdoorL5_c::openProc() { + int rv = field_0x584->play(); + if (field_0x584->getFrame() == 18.0f) { + mDoAud_seStart(Z2SE_OBJ_LV3_SHTR_OP, ¤t.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this))); + } + return rv; } -#pragma pop /* 80671718-80671720 000B58 0008+00 1/1 0/0 0/0 .text openEnd__11daBdoorL5_cFv */ -bool daBdoorL5_c::openEnd() { - return true; +int daBdoorL5_c::openEnd() { + return 1; } /* 80671720-806717FC 000B60 00DC+00 1/1 0/0 0/0 .text closeInit__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::closeInit() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/closeInit__11daBdoorL5_cFv.s" +int daBdoorL5_c::closeInit() { + J3DAnmTransform* anm = (J3DAnmTransform*)dComIfG_getObjectRes(getAnmArcName(), getCloseAnm()); + JUT_ASSERT(511, anm != 0); + int rt = field_0x584->init(anm, 1, 0, 1.0f, 0, -1, true); + JUT_ASSERT(513, rt == 0); + mDoAud_seStart(Z2SE_OBJ_LV3_SHTR_CL, ¤t.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this))); + return 1; } -#pragma pop /* 806717FC-80671820 000C3C 0024+00 1/1 0/0 0/0 .text closeProc__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::closeProc() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/closeProc__11daBdoorL5_cFv.s" +int daBdoorL5_c::closeProc() { + return field_0x584->play(); } -#pragma pop - -/* ############################################################################################## */ -/* 8067251C-80672520 000054 0004+00 3/5 0/0 0/0 .rodata @4015 */ -SECTION_RODATA static u8 const lit_4015[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8067251C, &lit_4015); /* 80671820-80671878 000C60 0058+00 1/1 0/0 0/0 .text closeEnd__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::closeEnd() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/closeEnd__11daBdoorL5_cFv.s" +int daBdoorL5_c::closeEnd() { + dComIfGp_getVibration().StartShock(4, 31, cXyz(0.0f, 1.0f, 0.0f)); + return 1; } -#pragma pop /* 80671878-80671954 000CB8 00DC+00 1/1 0/0 0/0 .text unlockInit__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::unlockInit() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/unlockInit__11daBdoorL5_cFv.s" +int daBdoorL5_c::unlockInit() { + if (mKeyHoleId == -1) { + return 1; + } + obj_keyhole_class* keyHole = (obj_keyhole_class*)fopAcM_SearchByID(mKeyHoleId); + if (keyHole != NULL) { + keyHole->setOpen(); + mDoAud_seStart(Z2SE_OBJ_BOSS_LOCK_OPEN_LV5, &keyHole->current.pos, 0, 0); + } + dComIfGs_onSwitch((u8)door_param2_c::getSwbit(this), fopAcM_GetRoomNo(this)); + return 1; } -#pragma pop - -/* ############################################################################################## */ -/* 80672520-80672524 000058 0004+00 0/1 0/0 0/0 .rodata @4063 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4063 = 0.5f; -COMPILER_STRIP_GATE(0x80672520, &lit_4063); -#pragma pop - -/* 80672524-80672528 00005C 0004+00 0/1 0/0 0/0 .rodata @4064 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4064 = -1000.0f; -COMPILER_STRIP_GATE(0x80672524, &lit_4064); -#pragma pop - -/* 80672528-8067252C 000060 0004+00 0/1 0/0 0/0 .rodata @4065 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4065 = -240.0f; -COMPILER_STRIP_GATE(0x80672528, &lit_4065); -#pragma pop /* 80671954-80671A7C 000D94 0128+00 1/1 0/0 0/0 .text calcGoal__11daBdoorL5_cFP4cXyzi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::calcGoal(cXyz* param_0, int param_1) { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/calcGoal__11daBdoorL5_cFP4cXyzi.s" +void daBdoorL5_c::calcGoal(cXyz* param_1, int param_2) { + cXyz local_24 = dComIfGp_getPlayer(0)->current.pos - current.pos; + mDoMtx_stack_c::YrotS(-current.angle.y); + mDoMtx_stack_c::multVec(&local_24, &local_24); + local_24.x = local_24.x * 0.5f; + local_24.y = 0.0f; + if (param_2 == 0) { + local_24.z = -1000.0f; + } else { + local_24.z = -240.0f; + } + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); + mDoMtx_stack_c::YrotM(current.angle.y); + mDoMtx_stack_c::multVec(&local_24, &local_24); + param_1->x = local_24.x; + param_1->y = 0.0f; + param_1->z = local_24.z; } -#pragma pop /* 80671A7C-80671B14 000EBC 0098+00 1/1 0/0 0/0 .text smokeInit__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::smokeInit() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/smokeInit__11daBdoorL5_cFv.s" +void daBdoorL5_c::smokeInit() { + field_0x5a4 = current.pos; + field_0x5b0 = shape_angle; + s32 roomNo = fopAcM_GetRoomNo(this); + dComIfGp_particle_setPolyColor(0x8156, field_0x5b8.m_gnd, &field_0x5a4, &tevStr, &field_0x5b0, + 0, 0, 0, roomNo, 0); } -#pragma pop - -/* ############################################################################################## */ -/* 8067252C-80672530 000064 0004+00 1/1 0/0 0/0 .rodata @4110 */ -SECTION_RODATA static f32 const lit_4110 = 50.0f; -COMPILER_STRIP_GATE(0x8067252C, &lit_4110); /* 80671B14-80671C14 000F54 0100+00 1/1 0/0 0/0 .text createKey__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::createKey() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/createKey__11daBdoorL5_cFv.s" +int daBdoorL5_c::createKey() { + if (field_0x590 == 0) { + cXyz prevPos(current.pos); + current.pos = home.pos; + cXyz pos(0.0f, 0.0f, 50.0f); + mKeyHoleId = fopAcM_createChildFromOffset(PROC_OBJ_KEYHOLE, fopAcM_GetID(this), 0xffffff05, + &pos, fopAcM_GetRoomNo(this), &shape_angle, + &scale, -1, 0); + current.pos = prevPos; + if (mKeyHoleId == -1) { + return 0; + } + field_0x590 = 1; + } + return 1; } -#pragma pop - -/* ############################################################################################## */ -/* 80672530-80672534 000068 0004+00 1/1 0/0 0/0 .rodata @4154 */ -SECTION_RODATA static f32 const lit_4154 = 200.0f; -COMPILER_STRIP_GATE(0x80672530, &lit_4154); - -/* 80672534-80672538 00006C 0004+00 1/1 0/0 0/0 .rodata @4155 */ -SECTION_RODATA static f32 const lit_4155 = 100.0f; -COMPILER_STRIP_GATE(0x80672534, &lit_4155); - -/* 80672538-80672540 000070 0008+00 1/1 0/0 0/0 .rodata @4157 */ -SECTION_RODATA static u8 const lit_4157[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80672538, &lit_4157); /* 80671C14-80671D44 001054 0130+00 1/1 0/0 0/0 .text checkArea__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::checkArea() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/checkArea__11daBdoorL5_cFv.s" +int daBdoorL5_c::checkArea() { + daPy_py_c* player = daPy_getPlayerActorClass(); + cXyz local_48 = player->current.pos - current.pos; + mDoMtx_stack_c::YrotS(-current.angle.y); + mDoMtx_stack_c::multVec(&local_48, &local_48); + if (fabsf(local_48.x) > 200.0f) { + return 0; + } + if (fabsf(local_48.z) > 100.0f) { + return 0; + } + if ((s16)fabs(current.angle.y - 0x7fff - player->current.angle.y) <= 0x4000) { + return 1; + } else { + return 0; + } } -#pragma pop /* 80671D44-80671DE4 001184 00A0+00 1/1 0/0 0/0 .text checkFront__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::checkFront() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/checkFront__11daBdoorL5_cFv.s" +int daBdoorL5_c::checkFront() { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + cXyz distance = player->current.pos - current.pos; + mDoMtx_stack_c::YrotS(-current.angle.y); + mDoMtx_stack_c::multVec(&distance, &distance); + return distance.z > 0.0f; } -#pragma pop /* 80671DE4-80671E70 001224 008C+00 1/1 0/0 0/0 .text checkOpen__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::checkOpen() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/checkOpen__11daBdoorL5_cFv.s" +int daBdoorL5_c::checkOpen() { + // Fake Match - should be daPy_py_c::i_checkNowWolf + if (dComIfGp_getLinkPlayer()->mNoResetFlg1 & daPy_py_c::FLG1_IS_WOLF) { + return 0; + } + + if (!dComIfGs_isDungeonItemBossKey()) { + return 0; + } + if (!checkFront()) { + return 0; + } + if (checkArea()) { + return 1; + } else { + return 0; + } } -#pragma pop /* 80671E70-80671E78 0012B0 0008+00 1/0 0/0 0/0 .text actionWait__11daBdoorL5_cFv */ -bool daBdoorL5_c::actionWait() { - return true; +int daBdoorL5_c::actionWait() { + return 1; } /* 80671E78-80671F58 0012B8 00E0+00 1/0 0/0 0/0 .text actionCloseWait__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::actionCloseWait() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/actionCloseWait__11daBdoorL5_cFv.s" +int daBdoorL5_c::actionCloseWait() { + if (eventInfo.i_checkCommandDoor()) { + field_0x59c = dComIfGp_evmng_getMyStaffId(l_staff_name, 0, 0); + demoProc(); + setAction(ACTION_OPEN); + } else { + if (checkOpen()) { + if (dComIfGs_isSwitch((u8)door_param2_c::getSwbit(this), fopAcM_GetRoomNo(this))) { + eventInfo.setEventId(field_0x59a); + eventInfo.setMapToolId(field_0x593); + } else { + eventInfo.setEventId(field_0x598); + eventInfo.setMapToolId(field_0x593); + } + eventInfo.i_onCondition(4); + } + } + return 1; } -#pragma pop /* 80671F58-80672004 001398 00AC+00 1/0 0/0 0/0 .text actionOpen__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::actionOpen() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/actionOpen__11daBdoorL5_cFv.s" +int daBdoorL5_c::actionOpen() { + field_0x59c = dComIfGp_evmng_getMyStaffId(l_staff_name, 0, 0); + demoProc(); + dMeter2Info_onGameStatus(2); + if (cLib_calcTimer(&field_0x594) == 1) { + deleteKey(); + } + return 1; } -#pragma pop - -/* ############################################################################################## */ -/* 80672540-80672544 000078 0004+00 0/1 0/0 0/0 .rodata @4289 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4289 = 180.0f; -COMPILER_STRIP_GATE(0x80672540, &lit_4289); -#pragma pop - -/* 80672544-80672548 00007C 0004+00 0/1 0/0 0/0 .rodata @4290 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4290 = -180.0f; -COMPILER_STRIP_GATE(0x80672544, &lit_4290); -#pragma pop /* 80672004-80672164 001444 0160+00 1/0 0/0 0/0 .text actionEnd__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::actionEnd() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/actionEnd__11daBdoorL5_cFv.s" +int daBdoorL5_c::actionEnd() { + if (!field_0x588->ChkUsed()) { + bool rt = dComIfG_Bgsp().Regist(field_0x588, this); + JUT_ASSERT(860, rt != 0); + } + setAction(0); + cXyz local_70(cM_ssin(home.angle.y), 0.0f, cM_scos(home.angle.y)); + fopAc_ac_c* player = dComIfGp_getPlayer(0); + cXyz cStack_7c = player->current.pos - current.pos; + f32 fVar1; + f32 dVar12 = cStack_7c.inprodXZ(local_70); + fVar1 = dVar12 < 0.0f ? 180.0f : -180.0f; + cXyz cStack_88(current.pos.x - fVar1 * local_70.x, current.pos.y, + current.pos.z - fVar1 * local_70.z); + s32 roomNo = fopAcM_GetRoomNo(player); + s16 angle; + if (dVar12 > 0.0f) { + angle = current.angle.y; + } else { + angle = current.angle.y + 0x8000; + } + dComIfGs_setRestartRoom(cStack_88, angle, roomNo); + return 1; } -#pragma pop /* 80672164-8067228C 0015A4 0128+00 1/1 0/0 0/0 .text execute__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::execute() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/execute__11daBdoorL5_cFv.s" +int daBdoorL5_c::execute() { + static actionFunc l_action[4] = {&daBdoorL5_c::actionWait, &daBdoorL5_c::actionCloseWait, &daBdoorL5_c::actionOpen, &daBdoorL5_c::actionEnd}; + field_0x59c = -1; + if (fopAcM_checkStatus(this, 0x1000)) { + field_0x59c = dComIfGp_evmng_getMyStaffId(l_staff_name, 0, 0); + dMeter2Info_onGameStatus(2); + demoProc(); + } else { + (this->*(((actionFunc*)l_action)[mAction]))(); + } + return 1; } -#pragma pop /* 8067228C-80672374 0016CC 00E8+00 1/1 0/0 0/0 .text draw__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::draw() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/draw__11daBdoorL5_cFv.s" +int daBdoorL5_c::draw() { + g_env_light.settingTevStruct(0x10, ¤t.pos, &tevStr); + g_env_light.setLightTevColorType_MAJI(field_0x580, &tevStr); + dComIfGd_setListBG(); + g_env_light.setLightTevColorType_MAJI(field_0x580, &tevStr); + field_0x584->entry(field_0x580->getModelData()); + mDoExt_modelUpdateDL(field_0x580); + mDoExt_bckAnmRemove(field_0x580->getModelData()); + dComIfGd_setList(); + return 1; } -#pragma pop /* 80672374-8067240C 0017B4 0098+00 1/1 0/0 0/0 .text Delete__11daBdoorL5_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBdoorL5_c::Delete() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/Delete__11daBdoorL5_cFv.s" +int daBdoorL5_c::Delete() { + if (heap != NULL && field_0x588->ChkUsed()) { + dComIfG_Bgsp().Release(field_0x588); + } + dComIfG_resDelete(&mPhase1, getArcName()); + dComIfG_resDelete(&mPhase3, getAnmArcName()); + dComIfG_resDelete(&mPhase2, getAlwaysArcName()); + return 1; } -#pragma pop /* 8067240C-8067242C 00184C 0020+00 1/0 0/0 0/0 .text daBdoorL5_Draw__FP11daBdoorL5_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daBdoorL5_Draw(daBdoorL5_c* param_0) { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/daBdoorL5_Draw__FP11daBdoorL5_c.s" +static int daBdoorL5_Draw(daBdoorL5_c* i_this) { + return i_this->draw(); } -#pragma pop /* 8067242C-80672450 00186C 0024+00 1/0 0/0 0/0 .text daBdoorL5_Execute__FP11daBdoorL5_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daBdoorL5_Execute(daBdoorL5_c* param_0) { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/daBdoorL5_Execute__FP11daBdoorL5_c.s" +static int daBdoorL5_Execute(daBdoorL5_c* i_this) { + i_this->execute(); + return 1; } -#pragma pop /* 80672450-80672474 001890 0024+00 1/0 0/0 0/0 .text daBdoorL5_Delete__FP11daBdoorL5_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daBdoorL5_Delete(daBdoorL5_c* param_0) { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/daBdoorL5_Delete__FP11daBdoorL5_c.s" +static int daBdoorL5_Delete(daBdoorL5_c* i_this) { + i_this->Delete(); + return 1; } -#pragma pop /* 80672474-80672494 0018B4 0020+00 1/0 0/0 0/0 .text daBdoorL5_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daBdoorL5_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/daBdoorL5_Create__FP10fopAc_ac_c.s" +static int daBdoorL5_Create(fopAc_ac_c* i_this) { + return static_cast<daBdoorL5_c*>(i_this)->create(); } -#pragma pop -/* 80672494-806724B0 0018D4 001C+00 1/1 0/0 0/0 .text cLib_calcTimer<Uc>__FPUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_80672494(void* _this, u8* param_0) { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/func_80672494.s" -} -#pragma pop - -/* 806724B0-806724B8 0018F0 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void func_806724B0() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/func_806724B0.s" -} -#pragma pop -/* 806724B8-806724C0 0018F8 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void func_806724B8() { - nofralloc -#include "asm/rel/d/a/door/d_a_door_bossL5/d_a_door_bossL5/func_806724B8.s" -} -#pragma pop +/* 80672710-80672730 -00001 0020+00 1/0 0/0 0/0 .data l_daBdoorL5_Method */ +static actor_method_class l_daBdoorL5_Method = { + (process_method_func)daBdoorL5_Create, + (process_method_func)daBdoorL5_Delete, + (process_method_func)daBdoorL5_Execute, + (process_method_func)NULL, + (process_method_func)daBdoorL5_Draw, +}; -/* 80672548-80672548 000080 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +/* 80672730-80672760 -00001 0030+00 0/0 0/0 1/0 .data g_profile_L5BOSS_DOOR */ +extern actor_process_profile_definition g_profile_L5BOSS_DOOR = { + fpcLy_CURRENT_e, + 7, + fpcPi_CURRENT_e, + PROC_L5BOSS_DOOR, + &g_fpcLf_Method.mBase, + sizeof(daBdoorL5_c), + 0, + 0, + &g_fopAc_Method.base, + 0x12C, + &l_daBdoorL5_Method, + 0x44000, + fopAc_ACTOR_e, + fopAc_CULLBOX_6_e, +}; diff --git a/rel/d/a/door/d_a_door_bossL5/unknown_translation_unit_bss.cpp b/rel/d/a/door/d_a_door_bossL5/unknown_translation_unit_bss.cpp deleted file mode 100644 index ef8bce2a44..0000000000 --- a/rel/d/a/door/d_a_door_bossL5/unknown_translation_unit_bss.cpp +++ /dev/null @@ -1,26 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: unknown_translation_unit_bss -// - -#include "rel/d/a/door/d_a_door_bossL5/unknown_translation_unit_bss.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" extern u8 data_806727A0[4]; - -// -// External References: -// - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 806727A0-806727A4 000000 0004+00 0/0 1/1 0/0 .bss None */ -extern u8 data_806727A0[4]; -u8 data_806727A0[4]; diff --git a/rel/d/a/door/d_a_door_dbdoor00/d_a_door_dbdoor00.cpp b/rel/d/a/door/d_a_door_dbdoor00/d_a_door_dbdoor00.cpp index 902e1af1d0..88eec69e8c 100644 --- a/rel/d/a/door/d_a_door_dbdoor00/d_a_door_dbdoor00.cpp +++ b/rel/d/a/door/d_a_door_dbdoor00/d_a_door_dbdoor00.cpp @@ -1,6 +1,5 @@ // -// Generated By: dol2asm -// Translation Unit: d_a_door_dbdoor00 +// d_a_door_dbdoor00 // #include "rel/d/a/door/d_a_door_dbdoor00/d_a_door_dbdoor00.h" @@ -8,9 +7,6 @@ #include "SSystem/SComponent/c_math.h" #include "d/a/d_a_player.h" #include "d/d_door_param2.h" -#include "dol2asm.h" - -extern "C" extern char const* const d_a_door_dbdoor00__stringBase0; /* 8045D378-8045D470 000078 00F8+00 1/1 0/0 0/0 .text nodeCallBack__FP8J3DJointi */ static int nodeCallBack(J3DJoint* i_joint, int param_1) { @@ -30,11 +26,9 @@ static int nodeCallBack(J3DJoint* i_joint, int param_1) { return 1; } -/* 8045E56C-8045E56C 000038 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8045E56C = "door-pushDouble_"; -#pragma pop +static char* dummyStringFunc() { + return "door-pushDouble_"; +} /* 8045D470-8045D480 000170 0010+00 3/3 0/0 0/0 .text getAlwaysArcName__12daDbDoor00_cFv */ @@ -66,7 +60,7 @@ static u8 cNullVec__6Z2Calc[12] = { /* 8045E670-8045E684 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, @@ -77,7 +71,7 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { #pragma pop /* 8045E684-8045E688 -00001 0004+00 1/1 0/0 0/0 .data l_bmd_base_name */ -SECTION_DATA static void* l_bmd_base_name = (void*)&d_a_door_dbdoor00__stringBase0; +static char* l_bmd_base_name = "door-pushDouble_"; /* 8045D4B0-8045D504 0001B0 0054+00 1/1 0/0 0/0 .text getBmdName__12daDbDoor00_cFv */ char* daDbDoor00_c::getBmdName() { |
