Files
tp/src/d/s/d_s_play.cpp
T
hatal175 2e6e468928 Work on d_resorce, d_vibration, d_tresure and others (#347)
* Work on d_resorce

* Work on d_a_tag_TWgate

* Work on d_meter_map

* d_tresure OK

* Work on d_vibration

* Work on d_a_npc

* Work on d_a_npc

* Work on d_a_npc
2023-06-19 14:39:09 -06:00

1098 lines
38 KiB
C++

//
// Generated By: dol2asm
// Translation Unit: d/s/d_s_play
//
#include "d/s/d_s_play.h"
#include "JSystem/JUtility/JUTConsole.h"
#include "JSystem/JUtility/JUTGamePad.h"
#include "SSystem/SComponent/c_counter.h"
#include "d/a/d_a_player.h"
#include "d/d_demo.h"
#include "d/d_item.h"
#include "d/d_model.h"
#include "d/d_procname.h"
#include "d/msg/d_msg_object.h"
#include "d/save/d_save_HIO.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#include "f_op/f_op_draw_iter.h"
#include "f_op/f_op_msg_mng.h"
#include "f_op/f_op_overlap_mng.h"
#include "f_op/f_op_scene_mng.h"
#include "m_Do/m_Do_Reset.h"
#include "m_Do/m_Do_audio.h"
#include "m_Do/m_Do_graphic.h"
#include "d/d_eye_hl.h"
//
// Types:
//
struct daSus_c {
/* 800313BC */ void reset();
/* 800315A4 */ static void execute();
};
struct cDylPhs {
/* 8001884C */ void Link(request_of_phase_process_class*, s16);
/* 80018890 */ void Unlink(request_of_phase_process_class*, s16);
};
//
// Forward References:
//
extern "C" void calcPauseTimer__9dScnPly_cFv();
extern "C" void __ct__22dScnPly_env_otherHIO_cFv();
extern "C" void __ct__22dScnPly_env_debugHIO_cFv();
extern "C" static void dScnPly_Draw__FP9dScnPly_c();
extern "C" static void dScnPly_Execute__FP9dScnPly_c();
extern "C" static void dScnPly_IsDelete__F9dScnPly_c();
extern "C" static void dScnPly_Delete__FP9dScnPly_c();
extern "C" void resetGame__9dScnPly_cFv();
extern "C" void offReset__9dScnPly_cFv();
extern "C" static void phase_00__FP9dScnPly_c();
extern "C" static void phase_01__FP9dScnPly_c();
extern "C" static s32 phase_0__FP9dScnPly_c();
extern "C" static void phase_1__FP9dScnPly_c();
extern "C" static void phase_1_0__FP9dScnPly_c();
extern "C" static void phase_2__FP9dScnPly_c();
extern "C" static void phase_3__FP9dScnPly_c();
extern "C" static void phase_4__FP9dScnPly_c();
extern "C" static void phase_5__FP9dScnPly_c();
extern "C" static void phase_6__FP9dScnPly_c();
extern "C" static s32 phase_compleate__FPv();
extern "C" static void dScnPly_Create__FP11scene_class();
extern "C" void __dt__22dScnPly_env_debugHIO_cFv();
extern "C" void __dt__22dScnPly_env_otherHIO_cFv();
extern "C" void __sinit_d_s_play_cpp();
extern "C" void __dt__17dScnPly_env_HIO_cFv();
extern "C" void __dt__17dScnPly_reg_HIO_cFv();
extern "C" void __dt__21dScnPly_preLoad_HIO_cFv();
extern "C" extern char const* const d_s_d_s_play__stringBase0;
//
// External References:
//
extern "C" void mDoAud_setSceneName__FPCcll();
extern "C" void mDoAud_load1stDynamicWave__Fv();
extern "C" void mDoAud_resetRecover__Fv();
extern "C" void remove__Q213mDoGph_gInf_c7bloom_cFv();
extern "C" void mDoRst_resetCallBack__FiPv();
extern "C" void Link__7cDylPhsFP30request_of_phase_process_classs();
extern "C" void Unlink__7cDylPhsFP30request_of_phase_process_classs();
extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc();
extern "C" void fopOvlpM_IsPeek__Fv();
extern "C" void fopScnM_ChangeReq__FP11scene_classssUs();
extern "C" void fopMsgM_createExpHeap__FUlP7JKRHeap();
extern "C" void fopMsgM_destroyExpHeap__FP10JKRExpHeap();
extern "C" void fopDwIt_Begin__Fv();
extern "C" void fopDwIt_Next__FP16create_tag_class();
extern "C" void fpcM_Draw__FPv();
extern "C" void resetArchiveBank__20dStage_roomControl_cFi();
extern "C" void dStage_stagInfo_GetParticleNo__FP21stage_stag_info_classi();
extern "C" void dStage_infoCreate__Fv();
extern "C" void dStage_Create__Fv();
extern "C" void dStage_Delete__Fv();
extern "C" void init__14dComIfG_play_cFv();
extern "C" void setStartStage__14dComIfG_play_cFP19dStage_startStage_c();
extern "C" void getLayerNo_common_common__14dComIfG_play_cFPCcii();
extern "C" void getLayerNo_common__14dComIfG_play_cFPCcii();
extern "C" void getLayerNo__14dComIfG_play_cFi();
extern "C" void createSimpleModel__14dComIfG_play_cFv();
extern "C" void deleteSimpleModel__14dComIfG_play_cFv();
extern "C" void dComIfG_resetToOpening__FP11scene_class();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void dComIfGs_BossLife_public_Set__FSc();
extern "C" void dComIfGp_calcNowRegion__Fv();
extern "C" void dComIfGp_world_dark_set__FUc();
extern "C" void dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv();
extern "C" void reset__7daSus_cFv();
extern "C" void execute__7daSus_cFv();
extern "C" void onDarkClearLV__21dSv_player_status_b_cFi();
extern "C" void onTransformLV__21dSv_player_status_b_cFi();
extern "C" void setItem__17dSv_player_item_cFiUc();
extern "C" void onFirstBit__21dSv_player_get_item_cFUc();
extern "C" void onEventBit__11dSv_event_cFUs();
extern "C" void onSwitch__12dSv_danBit_cFi();
extern "C" void init__10dSv_info_cFv();
extern "C" void create__7dDemo_cFv();
extern "C" void remove__7dDemo_cFv();
extern "C" void update__7dDemo_cFv();
extern "C" void setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap();
extern "C" void syncRes__14dRes_control_cFPCcP11dRes_info_ci();
extern "C" void syncAllRes__14dRes_control_cFP11dRes_info_ci();
extern "C" void setStageRes__14dRes_control_cFPCcP7JKRHeap();
extern "C" void create__8dMpath_cFv();
extern "C" void remove__8dMpath_cFv();
extern "C" void Step__14dEvt_control_cFv();
extern "C" void remove__14dEvt_control_cFv();
extern "C" void readScene__13dPa_control_cFUcPP21mDoDvdThd_toMainRam_c();
extern "C" void createScene__13dPa_control_cFPCv();
extern "C" void removeScene__13dPa_control_cFb();
extern "C" void cleanup__13dPa_control_cFv();
extern "C" void calc3D__13dPa_control_cFv();
extern "C" void calc2D__13dPa_control_cFv();
extern "C" void setViewPort__14dDlst_window_cFffffff();
extern "C" void setScissor__14dDlst_window_cFffff();
extern "C" void Run__12dVibration_cFv();
extern "C" void Init__12dVibration_cFv();
extern "C" void Pause__12dVibration_cFv();
extern "C" void Remove__12dVibration_cFv();
extern "C" void __ct__12dAttention_cFP10fopAc_ac_cUl();
extern "C" void __dt__12dAttention_cFv();
extern "C" void Run__12dAttention_cFv();
extern "C" void Draw__12dAttention_cFv();
extern "C" void ClrMoveFlag__4dBgSFv();
extern "C" void Move__4dBgSFv();
extern "C" void Ct__4dCcSFv();
extern "C" void Dt__4dCcSFv();
extern "C" void Move__4dCcSFv();
extern "C" void Draw__4dCcSFv();
extern "C" void execItemGet__FUc();
extern "C" void create__7dTres_cFv();
extern "C" void remove__7dTres_cFv();
extern "C" void create__10dMdl_mng_cFv();
extern "C" void remove__10dMdl_mng_cFv();
extern "C" void reset__10dMdl_mng_cFv();
extern "C" void update__12dEyeHL_mng_cFv();
extern "C" void checkRoomRestartStart__9daPy_py_cFv();
extern "C" void dKy_getdaytime_hour__Fv();
extern "C" void dKy_getdaytime_minute__Fv();
extern "C" void dKy_itudemo_se__Fv();
extern "C" void dKy_get_dayofweek__Fv();
extern "C" void dKy_darkworld_check__Fv();
extern "C" void dKy_darkworld_stage_check__FPCci();
extern "C" void dKy_darkworld_spot_check__FPCci();
extern "C" void dKy_darkworld_Area_set__FPCci();
extern "C" void dMeter2Info_setCloth__FUcb();
extern "C" void dMeter2Info_setSword__FUcb();
extern "C" void dMeter2Info_setShield__FUcb();
extern "C" void readMessageGroup__12dMsgObject_cFPP25mDoDvdThd_mountXArchive_c();
extern "C" s8 func_80252E70(s8*);
extern "C" void ClearPi__13cBgS_PolyInfoFv();
extern "C" void setInDarkness__10Z2SceneMgrFb();
extern "C" void check1stDynamicWave__10Z2SceneMgrFv();
extern "C" void load2ndDynamicWave__10Z2SceneMgrFv();
extern "C" void sceneBgmStart__10Z2SceneMgrFv();
extern "C" void __dl__FPv();
extern "C" void setMessageCount__12JUTAssertionFi();
extern "C" void __register_global_object();
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_fopScn_Method[5 + 1 /* padding */];
// extern "C" extern void* g_fpcNd_Method[5 + 1 /* padding */];
extern "C" extern void* __vt__14mDoHIO_entry_c[3];
extern "C" u8 m_bloom__13mDoGph_gInf_c[20];
extern "C" u8 mLineCheck__11fopAcM_lc_c[112];
extern "C" u8 mGndCheck__11fopAcM_gc_c[84];
extern "C" u8 mRoofCheck__11fopAcM_rc_c[80];
extern "C" u8 mWaterCheck__11fopAcM_wt_c[84 + 4 /* padding */];
extern "C" extern dScnKy_env_light_c g_env_light;
extern "C" extern dSvBit_HIO_c g_save_bit_HIO;
extern "C" extern GXColor g_saftyWhiteColor;
extern "C" u8 mFader__13mDoGph_gInf_c[4];
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
extern "C" u8 mProcID__20dStage_roomControl_c[4];
extern "C" extern u8 struct_80450D8C[4];
extern "C" extern u8 mBgmSet__17mDoAud_zelAudio_c;
extern "C" u8 m_emitter__8daYkgr_c[4];
extern "C" u8 sManager__10JFWDisplay[4];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
extern "C" u8 sCallback__Q210JUTGamePad13C3ButtonReset[4];
extern "C" u8 sCallbackArg__Q210JUTGamePad13C3ButtonReset[4 + 4 /* padding */];
extern "C" u8 mStatus__13dPa_control_c;
//
// Declarations:
//
/* ############################################################################################## */
/* 804510F8-80451100 0005F8 0008+00 2/2 0/0 0/0 .sbss resPhase */
static request_of_phase_process_class resPhase;
/* 80451100-80451108 000600 0008+00 2/2 0/0 0/0 .sbss dylPhase */
static request_of_phase_process_class dylPhase;
/* 80451108-8045110C 000608 0004+00 1/1 0/0 0/0 .sbss dylPreLoadTime1 */
static u8 dylPreLoadTime1[4];
/* 8045110C-80451110 00060C 0004+00 1/1 0/0 0/0 .sbss None */
static u8 data_8045110C[4];
/* 80451110-80451114 000610 0004+00 1/1 0/0 0/0 .sbss resPreLoadTime0 */
//static OSTime resPreLoadTime0;
static u8 resPreLoadTime0[4];
/* 80451114-80451118 000614 0004+00 1/1 0/0 0/0 .sbss None */
static u8 data_80451114[4];
/* 80451118-8045111C 000618 0004+00 1/1 0/0 0/0 .sbss resPreLoadTime1 */
static u8 resPreLoadTime1[4];
/* 8045111C-80451120 00061C 0004+00 1/1 0/0 0/0 .sbss None */
static u8 data_8045111C[4];
/* 80451120-80451124 000620 0004+00 1/1 0/0 0/0 .sbss g_preLoadHIO */
static u8 g_preLoadHIO[4];
/* 80451124-80451128 -00001 0004+00 3/3 7/7 38/38 .sbss None */
/* 80451124 0001+00 data_80451124 None */
/* 80451125 0003+00 nextPauseTimer__9dScnPly_c None */
s8 dScnPly_c::pauseTimer;
s8 dScnPly_c::nextPauseTimer;
/* 80259400-80259440 253D40 0040+00 1/1 0/0 0/0 .text calcPauseTimer__9dScnPly_cFv */
s8 dScnPly_c::calcPauseTimer() {
if (nextPauseTimer != 0) {
pauseTimer = nextPauseTimer;
nextPauseTimer = 0;
return pauseTimer;
} else {
return func_80252E70(&pauseTimer); // cLib_calcTimer<s8> : 80252E70
}
}
/* ############################################################################################## */
/* 803C3158-803C3188 020278 002E+02 1/1 0/0 0/0 .data l_wipeType$4081 */
SECTION_DATA static s16 l_wipeType[23] = {
0x0000, 0x0000, 0x0011, 0x0002, 0x0002, 0x0001, 0x0003, 0x0001, 0x0004, 0x0004, 0x0005, 0x0005,
0x0006, 0x0007, 0x0000, 0x0000, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0008, 0x0008,
};
/* 803C3188-803C3194 0202A8 000A+02 1/1 0/0 0/0 .data camparamarc$4608 */
SECTION_DATA static char camparamarc[10] = "CamParam";
/* 803C3194-803C31C0 -00001 002C+00 1/1 0/0 0/0 .data l_method$4860 */
SECTION_DATA static request_of_phase_process_fn l_method[11] = {
(request_of_phase_process_fn)phase_00__FP9dScnPly_c,
(request_of_phase_process_fn)phase_1__FP9dScnPly_c,
(request_of_phase_process_fn)phase_1_0__FP9dScnPly_c,
(request_of_phase_process_fn)phase_01__FP9dScnPly_c,
(request_of_phase_process_fn)phase_0__FP9dScnPly_c,
(request_of_phase_process_fn)phase_2__FP9dScnPly_c,
(request_of_phase_process_fn)phase_3__FP9dScnPly_c,
(request_of_phase_process_fn)phase_4__FP9dScnPly_c,
(request_of_phase_process_fn)phase_5__FP9dScnPly_c,
(request_of_phase_process_fn)phase_6__FP9dScnPly_c,
(request_of_phase_process_fn)phase_compleate__FPv,
};
/* 803C31C0-803C31D4 -00001 0014+00 2/0 0/0 0/0 .data l_dScnPly_Method */
SECTION_DATA static void* l_dScnPly_Method[5] = {
(void*)dScnPly_Create__FP11scene_class, (void*)dScnPly_Delete__FP9dScnPly_c,
(void*)dScnPly_Execute__FP9dScnPly_c, (void*)dScnPly_IsDelete__F9dScnPly_c,
(void*)dScnPly_Draw__FP9dScnPly_c,
};
/* 803C31D4-803C31FC -00001 0028+00 0/0 0/0 1/0 .data g_profile_PLAY_SCENE */
SECTION_DATA extern void* g_profile_PLAY_SCENE[10] = {
(void*)NULL,
(void*)0x0001FFFD,
(void*)0x000B0000,
(void*)&g_fpcNd_Method,
(void*)0x000001D8,
(void*)NULL,
(void*)NULL,
(void*)&g_fopScn_Method,
(void*)&l_dScnPly_Method,
(void*)NULL,
};
/* 803C31FC-803C3224 -00001 0028+00 0/0 0/0 1/0 .data g_profile_OPENING_SCENE */
SECTION_DATA extern void* g_profile_OPENING_SCENE[10] = {
(void*)NULL,
(void*)0x0001FFFD,
(void*)0x000C0000,
(void*)&g_fpcNd_Method,
(void*)0x000001D8,
(void*)NULL,
(void*)NULL,
(void*)&g_fopScn_Method,
(void*)&l_dScnPly_Method,
(void*)NULL,
};
/* 803C3224-803C3230 020344 000C+00 3/3 0/0 0/0 .data __vt__22dScnPly_env_debugHIO_c */
SECTION_DATA extern void* __vt__22dScnPly_env_debugHIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__22dScnPly_env_debugHIO_cFv,
};
/* 803C3230-803C323C 020350 000C+00 3/3 0/0 0/0 .data __vt__22dScnPly_env_otherHIO_c */
SECTION_DATA extern void* __vt__22dScnPly_env_otherHIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__22dScnPly_env_otherHIO_cFv,
};
/* 80454F18-80454F1C 003518 0002+02 1/0 0/0 0/0 .sdata2 T_JOINT_dylKeyTbl */
SECTION_SDATA2 static u16 T_JOINT_dylKeyTbl = {
0x0106,
};
/* 80259440-80259468 253D80 0028+00 1/1 0/0 0/0 .text __ct__22dScnPly_env_otherHIO_cFv */
dScnPly_env_otherHIO_c::dScnPly_env_otherHIO_c() {
mShadowDensity = 255.0f;
mLODBias = 1;
mDispTransCylinder = false;
}
/* ############################################################################################## */
/* 80454F20-80454F24 003520 0004+00 1/1 0/0 0/0 .sdata2 @4066 */
SECTION_SDATA2 static f32 lit_4066 = -100.0f;
/* 80454F24-80454F28 003524 0004+00 1/1 0/0 0/0 .sdata2 @4067 */
SECTION_SDATA2 static f32 lit_4067 = 100.0f;
/* 80454F28-80454F2C 003528 0004+00 2/2 0/0 0/0 .sdata2 @4068 */
SECTION_SDATA2 static u8 lit_4068[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 80259468-802594AC 253DA8 0044+00 1/1 0/0 0/0 .text __ct__22dScnPly_env_debugHIO_cFv */
// matches with literals
#ifdef NONMATCHING
dScnPly_env_debugHIO_c::dScnPly_env_debugHIO_c() {
mBoxCullMinSize.set(-100.0f, -100.0f, -100.0f);
mBoxCullMaxSize.set(100.0f, 100.0f, 100.0f);
mSphereCullCenter.set(0.0f, 0.0f, 0.0f);
mSphereCullRadius = 100.0f;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dScnPly_env_debugHIO_c::dScnPly_env_debugHIO_c() {
nofralloc
#include "asm/d/s/d_s_play/__ct__22dScnPly_env_debugHIO_cFv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 80454F2C-80454F30 00352C 0004+00 1/1 0/0 0/0 .sdata2 @4100 */
SECTION_SDATA2 static u32 lit_4100 = 0x2A1E46FF;
/* 802594AC-802597B8 253DEC 030C+00 1/0 0/0 0/0 .text dScnPly_Draw__FP9dScnPly_c */
// bool comparison issues
#ifdef NONMATCHING
static int dScnPly_Draw(dScnPly_c* scn) {
dComIfG_Ccsp()->Move();
dComIfG_Bgsp().ClrMoveFlag();
u8 useWhiteColor;
if (!fopOvlpM_IsPeek() && !dComIfG_resetToOpening(scn)) {
if (dComIfGp_isEnableNextStage()) {
u8 wipe = dComIfGp_getNextStageWipe();
fopScnM_ChangeReq(scn, 11, l_wipeType[wipe], 5);
int hour = dKy_getdaytime_hour();
useWhiteColor = false;
if (hour >= 6 && hour < 18) {
useWhiteColor = true;
}
bool tmp = useWhiteColor == 0;
if (wipe == 1 || wipe == 2 || wipe == 7 || wipe == 17 || wipe == 21 ||
((wipe == 8 || wipe == 10 || wipe == 18) && tmp) ||
((wipe == 9 || wipe == 11 || wipe == 19) && !tmp)) {
mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_saftyWhiteColor);
} else if (wipe == 14 || wipe == 20) {
GXColor color = {0x2A, 0x1E, 0x46, 0xFF};
if (dKy_darkworld_check()) {
color.r = 0xFF;
color.g = 0xCF;
color.b = 0xB4;
}
mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&color);
} else {
mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor);
}
}
}
dMdl_mng_c::reset();
if (!dComIfGp_isPauseFlag() && dScnPly_c::pauseTimer == 0) {
if (fpcM_GetName(scn) == PROC_PLAY_SCENE) {
dComIfGp_getVibration().Run();
}
daSus_c::execute();
dComIfG_Bgsp().Move();
dComIfGp_particle_calc3D();
dComIfGp_particle_calc2D();
cCt_execCounter();
} else {
dPa_control_c::onStatus(1);
if (dScnPly_c::pauseTimer == 0) {
dPa_control_c::onStatus(2);
if (dScnPly_c::pauseTimer == 0) {
dComIfGp_getVibration().Pause();
}
}
}
for (create_tag_class* i = fopDwIt_Begin(); i != NULL; i = fopDwIt_Next(i)) {
fpcM_Draw(i->mpTagData);
}
if (!dComIfGp_isPauseFlag()) {
dEyeHL_mng_c::update();
dComIfG_Ccsp()->Draw();
dComIfGp_getAttention().Draw();
}
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dScnPly_Draw(dScnPly_c* param_0) {
nofralloc
#include "asm/d/s/d_s_play/dScnPly_Draw__FP9dScnPly_c.s"
}
#pragma pop
#endif
/* 802597B8-8025987C 2540F8 00C4+00 1/0 0/0 0/0 .text dScnPly_Execute__FP9dScnPly_c */
static int dScnPly_Execute(dScnPly_c* scnPly) {
scnPly->offReset();
dStage_roomControl_c::offNoChangeRoom();
dStage_roomControl_c::setRoomReadId(0xFF);
if (!fopOvlpM_IsPeek()) {
if (mDoAud_zelAudio_c::isBgmSet()) {
mDoAud_sceneBgmStart();
mDoAud_load2ndDynamicWave();
mDoAud_zelAudio_c::offBgmSet();
}
if (scnPly->calcPauseTimer() != 0) {
return 1;
}
}
dKy_itudemo_se();
if (!dComIfGp_isPauseFlag()) {
dDemo_c::update();
i_dComIfGp_getEvent().Step();
dComIfGp_getAttention().Run();
}
return 1;
}
/* 8025987C-802598AC 2541BC 0030+00 1/0 0/0 0/0 .text dScnPly_IsDelete__F9dScnPly_c */
static int dScnPly_IsDelete(dScnPly_c scnPly) {
dComIfGp_particle_cleanup();
return 1;
}
/* ############################################################################################## */
/* 8039A2DF-8039A2E7 02693F 0008+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_8039A2DF;
/* 80450760-80450764 -00001 0004+00 1/0 0/0 0/0 .sdata T_JOINT_resName */
extern "C" const char* T_JOINT_resName;
/* 80454F18-80454F1C 003518 0002+02 1/0 0/0 0/0 .sdata2 T_JOINT_dylKeyTbl */
extern "C" u16 T_JOINT_dylKeyTbl;
/* 8039A2C8-8039A2D8 -00001 0010+00 4/4 0/0 0/0 .rodata PreLoadInfoT */
SECTION_RODATA static void* const PreLoadInfoT[4] = {
(void*)(((char*)&d_s_d_s_play__stringBase0) + 0x7),
&T_JOINT_dylKeyTbl,
&T_JOINT_resName,
(void*)0x01010000,
};
COMPILER_STRIP_GATE(0x8039A2C8, &PreLoadInfoT);
/* 8039A2D8-8039A2D8 026938 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8039A2D8 = "Always";
SECTION_DEAD static char const* const stringBase_8039A2DF = "T_JOINT";
#pragma pop
/* 80450760-80450764 -00001 0004+00 1/0 0/0 0/0 .sdata T_JOINT_resName */
SECTION_SDATA static const char* T_JOINT_resName = "Always";
/* 80450764-80450768 -00001 0004+00 4/4 0/0 0/0 .sdata None */
SECTION_SDATA static s8 preLoadNo = 0xFF;
#pragma push
#pragma force_active on
SECTION_SDATA static u8 doPreLoad = 1;
#pragma pop
/* 802598AC-80259AC4 2541EC 0218+00 1/0 0/0 0/0 .text dScnPly_Delete__FP9dScnPly_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dScnPly_Delete(dScnPly_c* param_0) {
nofralloc
#include "asm/d/s/d_s_play/dScnPly_Delete__FP9dScnPly_c.s"
}
#pragma pop
/* 80259AC4-80259BFC 254404 0138+00 1/1 0/0 0/0 .text resetGame__9dScnPly_cFv */
bool dScnPly_c::resetGame() {
if (fpcM_GetName(this) == PROC_OPENING_SCENE) {
if (!dStage_roomControl_c::resetArchiveBank(0)) {
return false;
}
if (!mDoAud_resetRecover()) {
return false;
}
if (mDoRst::isReset()) {
field_0x1d4 = 1;
}
} else {
if (dComIfGp_getNextStagePoint() == -4 || (dComIfGs_getLastSceneMode() & 0xF) == 0xC ||
!strcmp(dComIfGp_getNextStageName(), "F_SP109") ||
(!strcmp(dComIfGp_getNextStageName(), "F_SP116") &&
dComIfGp_getNextStageRoomNo() == 1 && dComIfGp_getNextStageLayer() == 9)) {
if (!dStage_roomControl_c::resetArchiveBank(0)) {
return false;
}
}
}
dComIfG_setBrightness(255);
mDoGph_gInf_c::offFade();
dDlst_list_c::offWipe();
return true;
}
/* 80259BFC-80259C70 25453C 0074+00 1/1 0/0 0/0 .text offReset__9dScnPly_cFv */
void dScnPly_c::offReset() {
if (field_0x1d4 != 0 && !fopOvlpM_IsPeek()) {
mDoRst::offReset();
mDoRst::offResetPrepare();
JUTGamePad::C3ButtonReset::sResetOccurred = false;
JUTGamePad::setResetCallback(mDoRst_resetCallBack, NULL);
field_0x1d4 = 0;
}
}
/* 80259C70-80259CAC 2545B0 003C+00 1/0 0/0 0/0 .text phase_00__FP9dScnPly_c */
static int phase_00(dScnPly_c* scn) {
if (!scn->resetGame()) {
return cPhs_ZERO_e;
} else {
mDoGph_gInf_c::offBlure();
return cPhs_TWO_e;
}
}
/* 80259CAC-80259D7C 2545EC 00D0+00 1/0 0/0 0/0 .text phase_01__FP9dScnPly_c */
static int phase_01(dScnPly_c* scn) {
mDoAud_setHour(dKy_getdaytime_hour());
mDoAud_setMinute(dKy_getdaytime_minute());
mDoAud_setWeekday(dKy_get_dayofweek());
if (dKy_darkworld_check()) {
mDoAud_setInDarkness(true);
} else {
mDoAud_setInDarkness(false);
}
s8 start_room = dComIfGp_getStartStageRoomNo();
int layer = dComIfG_play_c::getLayerNo_common(dComIfGp_getStartStageName(), start_room,
dComIfGp_getStartStageLayer());
mDoAud_setSceneName(dComIfGp_getStartStageName(), start_room, layer);
if (!mDoAud_load1stDynamicWave()) {
return cPhs_ZERO_e;
} else {
return cPhs_TWO_e;
}
}
/* 80259D7C-80259D84 2546BC 0008+00 1/0 0/0 0/0 .text phase_0__FP9dScnPly_c */
static int phase_0(dScnPly_c* param_0) {
return cPhs_TWO_e;
}
/* 80259D84-8025A438 2546C4 06B4+00 1/0 0/0 0/0 .text phase_1__FP9dScnPly_c */
static int phase_1(dScnPly_c* scn) {
u32 id = fopScnM_GetID(scn);
dStage_roomControl_c::setProcID(id);
dComIfGp_setStartStage(dComIfGp_getNextStartStage());
if (dComIfGp_getStartStageLayer() < 0 && daPy_py_c::checkRoomRestartStart()) {
const char* stage = dComIfGp_getStartStageName();
s8 room = dComIfGp_getStartStageRoomNo();
s8 layer = dComIfGp_getStartStageLayer();
if (dComIfG_play_c::getLayerNo_common_common(stage, room, layer) < 0) {
dComIfGp_setStartStageLayer(dComIfGp_getLayerOld());
}
}
dComIfGp_offEnableNextStage();
// Stage: Faron Woods, Room: Faron Spring
if (!strcmp(dComIfGp_getStartStageName(), "F_SP108") && dComIfGp_getStartStageRoomNo() == 1 &&
dComIfGp_getStartStagePoint() == 3) {
dComIfGs_onDarkClearLV(0);
execItemGet(WEAR_KOKIRI);
}
// Stage: Kakariko Village, Room: Kakariko Village
else if (!strcmp(dComIfGp_getStartStageName(), "F_SP109") &&
dComIfGp_getStartStageRoomNo() == 0 && dComIfGp_getStartStagePoint() == 30) {
dComIfGs_onDarkClearLV(1);
}
// Stage: Lake Hylia, Room: Fountain
else if (!strcmp(dComIfGp_getStartStageName(), "F_SP115") &&
dComIfGp_getStartStageRoomNo() == 1 && dComIfGp_getStartStagePoint() == 20) {
dComIfGs_onDarkClearLV(2);
}
// Stage: Sacred Grove, Room: Lost Woods
else if (!strcmp(dComIfGp_getStartStageName(), "F_SP117") &&
dComIfGp_getStartStageRoomNo() == 1 && dComIfGp_getStartStagePoint() == 99) {
dComIfGs_onDarkClearLV(3);
}
// Stage: Ordon Spring, Room: Ordon Spring
if (!strcmp(dComIfGp_getStartStageName(), "F_SP104") && dComIfGp_getStartStageRoomNo() == 1 &&
dComIfGp_getStartStagePoint() == 23 && dComIfGp_getStartStageLayer() == 12) {
dComIfGs_onItemFirstBit(HORSE_FLUTE);
dComIfGs_setItem(SLOT_21, HORSE_FLUTE);
}
if ((u8)dKy_darkworld_stage_check(dComIfGp_getStartStageName(),
dComIfGp_getStartStageRoomNo()) == true) {
dComIfGp_world_dark_set(1);
} else if ((u8)dKy_darkworld_spot_check(dComIfGp_getStartStageName(),
dComIfGp_getStartStageRoomNo()) == true) {
dComIfGp_world_dark_set(2);
} else {
dComIfGp_world_dark_set(0);
}
// Stage: Lake Hylia, Room: Fountain
if (!strcmp(dComIfGp_getStartStageName(), "F_SP115") && dComIfGp_getStartStageRoomNo() == 1 &&
dComIfGp_getStartStageLayer() < 0) {
const char* stage = dComIfGp_getStartStageName();
s8 room = dComIfGp_getStartStageRoomNo();
s8 layer = dComIfGp_getStartStageLayer();
if (dComIfG_play_c::getLayerNo_common(stage, room, layer) == 9) {
dComIfGp_setStartStageLayer(9);
}
}
// Stage: Faron Woods, Room: South Faron
// Stage: Faron Woods Cave
// Stage: Kakariko Village, Room: Kakariko Village
// Stage: Lake Hylia, Room: Fountain
if ((!strcmp(dComIfGp_getStartStageName(), "F_SP108") && dComIfGp_getStartStageRoomNo() == 0 &&
dComIfGp_getStartStageLayer() == 7) ||
(!strcmp(dComIfGp_getStartStageName(), "D_SB10") && dComIfG_play_c::getLayerNo(0) == 14) ||
(!strcmp(dComIfGp_getStartStageName(), "F_SP109") && dComIfGp_getStartStageRoomNo() == 0 &&
dComIfGp_getStartStageLayer() == 8) ||
(!strcmp(dComIfGp_getStartStageName(), "F_SP115") && dComIfGp_getStartStageRoomNo() == 1 &&
dComIfGp_getStartStageLayer() == 8) ||
(!strcmp(dComIfGp_getStartStageName(), "F_SP115") && dComIfGp_getStartStageRoomNo() == 1 &&
dComIfGp_getStartStageLayer() == 9)) {
dComIfGp_world_dark_set(1);
}
// Stage: Zant Boss Fight, Room: Throne Room
if (!strcmp(dComIfGp_getStartStageName(), "D_MN08D") && dComIfGp_getStartStageRoomNo() == 50 &&
dComIfGp_getStartStagePoint() == 20) {
dComIfGs_onSaveDunSwitch(30);
}
dKy_darkworld_Area_set(dComIfGp_getStartStageName(), dComIfGp_getStartStageRoomNo());
// Stage: Hyrule Castle Sewers, Room: Prison Cell
if (!strcmp(dComIfGp_getStartStageName(), "R_SP107") && dComIfGp_getStartStageRoomNo() == 0 &&
(dComIfGp_getStartStagePoint() == 24 || dComIfGp_getStartStagePoint() == 0)) {
dComIfGs_onTransformLV(0);
}
// Stage: Hyrule Field, Room: Eldin Gorge south entrance
else if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") &&
dComIfGp_getStartStageRoomNo() == 2 && dComIfGp_getStartStagePoint() == 10) {
dComIfGs_onTransformLV(1);
}
// Stage: Hyrule Field, Room: Lanayru Field north entrance
else if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") &&
dComIfGp_getStartStageRoomNo() == 9 && dComIfGp_getStartStagePoint() == 10) {
dComIfGs_onTransformLV(2);
}
// Stage: Hyrule Field, Room: Lanayru Field
else if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") &&
dComIfGp_getStartStageRoomNo() == 10 &&
(dComIfGp_getStartStagePoint() == 23 || dComIfGp_getStartStagePoint() == 20)) {
dComIfGs_onTransformLV(3);
}
// Stage: Fishing Pond, Room: Fishing Pond
if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") && dComIfGp_getStartStageRoomNo() == 0 &&
dComIfGp_getStartStagePoint() == 2) {
g_env_light.field_0x12fe++;
if (g_env_light.field_0x12fe > 4) {
g_env_light.field_0x12fe = 1;
}
}
dComIfGs_BossLife_public_Set(0xFF);
g_env_light.field_0x1308 = 0;
JUTReportConsole_f("Start StageName:RoomNo [%s:%d]\n", dComIfGp_getStartStageName(),
dComIfGp_getStartStageRoomNo());
dComIfGp_setStatus(0);
if (dComIfG_syncStageRes("Stg_00") < 0) {
dComIfG_setStageRes("Stg_00", NULL);
}
return cPhs_TWO_e;
}
/* 8025A438-8025A4F8 254D78 00C0+00 1/0 0/0 0/0 .text phase_1_0__FP9dScnPly_c */
static int phase_1_0(dScnPly_c* param_0) {
if (dComIfG_syncStageRes("Stg_00")) {
return cPhs_ZERO_e;
} else {
dStage_infoCreate();
dComIfG_setObjectRes("Event", (u8)0, NULL);
dComIfGp_setCameraParamFileName(0, camparamarc);
dComIfG_setObjectRes("CamParam", (u8)0, NULL);
return cPhs_TWO_e;
}
}
/* 8025A4F8-8025A5D4 254E38 00DC+00 1/0 0/0 0/0 .text phase_2__FP9dScnPly_c */
// extra mr
#ifdef NONMATCHING
static int phase_2(dScnPly_c* scn) {
int tmp = dComIfG_syncAllObjectRes();
if (tmp >= 0 && tmp != 0) {
return cPhs_ZERO_e;
}
int layer = dComIfG_play_c::getLayerNo(0);
stage_stag_info_class* stag_info = i_dComIfGp_getStage()->getStagInfo();
u8 particle_no = dStage_stagInfo_GetParticleNo(stag_info, layer);
if (particle_no == 255) {
particle_no = dStage_stagInfo_GetParticleNo(i_dComIfGp_getStage()->getStagInfo());
}
dComIfGp_particle_readScene(particle_no, &scn->sceneCommand);
dMsgObject_readMessageGroup(&scn->field_0x1d0);
return cPhs_TWO_e;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm int phase_2(dScnPly_c* param_0) {
nofralloc
#include "asm/d/s/d_s_play/phase_2__FP9dScnPly_c.s"
}
#pragma pop
#endif
/* 8025A5D4-8025A654 254F14 0080+00 1/0 0/0 0/0 .text phase_3__FP9dScnPly_c */
static int phase_3(dScnPly_c* scn) {
if ((scn->sceneCommand != NULL && !scn->sceneCommand->sync()) || mDoAud_check1stDynamicWave()) {
return cPhs_ZERO_e;
} else if (!scn->field_0x1d0 == NULL && !scn->field_0x1d0->sync()) {
return cPhs_ZERO_e;
} else {
return cPhs_TWO_e;
}
}
/* ############################################################################################## */
/* 80430778-80430784 05D498 000C+00 1/1 0/0 0/0 .bss @4041 */
static u8 lit_4041[12];
/* 80430784-80430790 05D4A4 000C+00 0/1 0/0 0/0 .bss @4049 */
#pragma push
#pragma force_active on
static u8 lit_4049[12];
#pragma pop
/* 80430790-8043079C 05D4B0 000C+00 0/1 0/0 0/0 .bss @4050 */
#pragma push
#pragma force_active on
static u8 lit_4050[12];
#pragma pop
/* 8043079C-804307E0 05D4BC 0044+00 1/2 3/3 0/0 .bss g_envHIO */
u8 g_envHIO[68];
/* 80454F30-80454F34 003530 0004+00 1/1 0/0 0/0 .sdata2 @4804 */
SECTION_SDATA2 static f32 lit_4804 = 608.0f;
/* 80454F34-80454F38 003534 0004+00 1/1 0/0 0/0 .sdata2 @4805 */
SECTION_SDATA2 static f32 lit_4805 = 448.0f;
/* 80454F38-80454F40 003538 0004+04 1/1 0/0 0/0 .sdata2 @4806 */
SECTION_SDATA2 static f32 lit_4806[1 + 1 /* padding */] = {
1.0f,
/* padding */
0.0f,
};
class daYkgr_c {
public:
static void init() {
m_emitter = 0;
m_flag = false;
m_alpha_flag = true;
m_alpha = 255;
}
static u32 m_emitter;
static bool m_flag;
static bool m_alpha_flag;
static u8 m_alpha;
};
/* 8025A654-8025A9F4 254F94 03A0+00 1/0 0/0 0/0 .text phase_4__FP9dScnPly_c */
#ifdef NONMATCHING
static int phase_4(dScnPly_c* i_this) {
if (i_this->sceneCommand) {
dComIfGp_particle_createScene(i_this->sceneCommand->getMemAddress());
i_this->sceneCommand->destroy();
} else {
dComIfGp_particle_createScene(NULL);
}
if (i_this->field_0x1d0 != NULL) {
dComIfGp_setMsgDtArchive(1, i_this->field_0x1d0->getArchive());
i_this->field_0x1d0->destroy();
}
dComIfGp_calcNowRegion();
dComIfG_Bgsp().Ct();
fopAcM_lc_c::getLineCheck()->ClearPi();
fopAcM_gc_c::getGroundCheck()->ClearPi();
fopAcM_rc_c::getRoofCheck()->ClearPi();
fopAcM_wt_c::getWaterCheck()->ClearPi();
dComIfG_Ccsp()->Ct();
dDemo_c::create();
dComIfGp_setPlayerInfo(0, NULL, 0);
for (int i = 0; i < 2; i++) {
dComIfGp_setPlayerPtr(i, NULL);
}
dComIfGp_setWindow(0, 0.0f, 0.0f, 608.0f, 448.0f, 0.0f, 1.0f, 0, 2);
dComIfGp_setCameraInfo(0, NULL, 0, 0, -1);
dComIfGd_setWindow(NULL);
dComIfGd_setViewport(NULL);
dComIfGd_setView(NULL);
dComIfGp_setExpHeap2D(fopMsgM_createExpHeap(0xBB800, NULL));
dComIfGp_setMsgExpHeap(fopMsgM_createExpHeap(0xA800, NULL));
if (fpcM_GetName(i_this) == PROC_OPENING_SCENE) {
fopAcM_create(PROC_TITLE, 0, NULL, -1, NULL, NULL, -1);
dComIfGs_init();
dComIfGs_setOptPointer(0);
dComIfGs_setLife(12);
dMeter2Info_setCloth(WEAR_KOKIRI, false);
dMeter2Info_setSword(SWORD, false);
dMeter2Info_setShield(HYLIA_SHIELD, false);
dComIfGs_onEventBit(0x0601); // Epona Tamed
}
dMpath_c::create();
dTres_c::create();
dStage_Create();
dComIfGp_createSimpleModel();
dMdl_mng_c::create();
mDoGph_gInf_c::setTickRate((OS_BUS_CLOCK / 4) / 30);
g_envHIO[4] = -1;
g_save_bit_HIO.field_0x4 = -1;
new (&dComIfGp_getAttention()) dAttention_c(dComIfGp_getPlayer(0), 0);
dComIfGp_getVibration().Init();
daYkgr_c::init();
dComIfG_setBrightness(255);
mDoGph_gInf_c::offFade();
mDoAud_zelAudio_c::onBgmSet();
dScnPly_c::pauseTimer = 0;
dScnPly_c::nextPauseTimer = 0;
preLoadNo = -1;
if (doPreLoad != 0 && !strcmp(dComIfGp_getStartStageName(), (char*)PreLoadInfoT[0])) {
preLoadNo = 0;
}
if (preLoadNo < 0) {
return cPhs_COMPLEATE_e;
}
resPreLoadTime0 = OSGetTime();
return cPhs_TWO_e;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void phase_4(dScnPly_c* param_0) {
nofralloc
#include "asm/d/s/d_s_play/phase_4__FP9dScnPly_c.s"
}
#pragma pop
#endif
/* 8025A9F4-8025AAC0 255334 00CC+00 1/0 0/0 0/0 .text phase_5__FP9dScnPly_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void phase_5(dScnPly_c* param_0) {
nofralloc
#include "asm/d/s/d_s_play/phase_5__FP9dScnPly_c.s"
}
#pragma pop
/* 8025AAC0-8025AB8C 255400 00CC+00 1/0 0/0 0/0 .text phase_6__FP9dScnPly_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void phase_6(dScnPly_c* param_0) {
nofralloc
#include "asm/d/s/d_s_play/phase_6__FP9dScnPly_c.s"
}
#pragma pop
/* 8025AB8C-8025AB94 2554CC 0008+00 1/0 0/0 0/0 .text phase_compleate__FPv */
static int phase_compleate(void* param_0) {
return cPhs_COMPLEATE_e;
}
/* 8025AB94-8025ABC4 2554D4 0030+00 1/0 0/0 0/0 .text dScnPly_Create__FP11scene_class */
#ifdef NONMATCHING
static void dScnPly_Create(scene_class* scn) {
dComLbG_PhaseHandler(&scn->field_0x1c4, l_method[0], scn);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dScnPly_Create(scene_class* param_0) {
nofralloc
#include "asm/d/s/d_s_play/dScnPly_Create__FP11scene_class.s"
}
#pragma pop
#endif
/* 8025ABC4-8025AC0C 255504 0048+00 1/0 0/0 0/0 .text __dt__22dScnPly_env_debugHIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dScnPly_env_debugHIO_c::~dScnPly_env_debugHIO_c() {
extern "C" asm void __dt__22dScnPly_env_debugHIO_cFv() {
nofralloc
#include "asm/d/s/d_s_play/__dt__22dScnPly_env_debugHIO_cFv.s"
}
#pragma pop
/* 8025AC0C-8025AC54 25554C 0048+00 1/0 0/0 0/0 .text __dt__22dScnPly_env_otherHIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dScnPly_env_otherHIO_c::~dScnPly_env_otherHIO_c() {
extern "C" asm void __dt__22dScnPly_env_otherHIO_cFv() {
nofralloc
#include "asm/d/s/d_s_play/__dt__22dScnPly_env_otherHIO_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 803C323C-803C3248 02035C 000C+00 2/2 0/0 0/0 .data __vt__17dScnPly_env_HIO_c */
SECTION_DATA extern void* __vt__17dScnPly_env_HIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__17dScnPly_env_HIO_cFv,
};
/* 803C3248-803C3254 020368 000C+00 2/2 0/0 0/0 .data __vt__17dScnPly_reg_HIO_c */
SECTION_DATA extern void* __vt__17dScnPly_reg_HIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__17dScnPly_reg_HIO_cFv,
};
/* 803C3254-803C3260 020374 000C+00 2/2 0/0 0/0 .data __vt__21dScnPly_preLoad_HIO_c */
SECTION_DATA extern void* __vt__21dScnPly_preLoad_HIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__21dScnPly_preLoad_HIO_cFv,
};
/* 80451128-80451130 000628 0004+04 1/1 0/0 0/0 .sbss g_regHIO */
static u8 g_regHIO[4 + 4 /* padding */];
/* 8025AC54-8025AD04 255594 00B0+00 0/0 1/0 0/0 .text __sinit_d_s_play_cpp */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __sinit_d_s_play_cpp() {
nofralloc
#include "asm/d/s/d_s_play/__sinit_d_s_play_cpp.s"
}
#pragma pop
#pragma push
#pragma force_active on
REGISTER_CTORS(0x8025AC54, __sinit_d_s_play_cpp);
#pragma pop
/* 8025AD04-8025AD78 255644 0074+00 2/1 0/0 0/0 .text __dt__17dScnPly_env_HIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dScnPly_env_HIO_c::~dScnPly_env_HIO_c() {
extern "C" asm void __dt__17dScnPly_env_HIO_cFv() {
nofralloc
#include "asm/d/s/d_s_play/__dt__17dScnPly_env_HIO_cFv.s"
}
#pragma pop
/* 8025AD78-8025ADC0 2556B8 0048+00 2/1 0/0 0/0 .text __dt__17dScnPly_reg_HIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dScnPly_reg_HIO_c::~dScnPly_reg_HIO_c() {
extern "C" asm void __dt__17dScnPly_reg_HIO_cFv() {
nofralloc
#include "asm/d/s/d_s_play/__dt__17dScnPly_reg_HIO_cFv.s"
}
#pragma pop
/* 8025ADC0-8025AE1C 255700 005C+00 2/1 0/0 0/0 .text __dt__21dScnPly_preLoad_HIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dScnPly_preLoad_HIO_c::~dScnPly_preLoad_HIO_c() {
extern "C" asm void __dt__21dScnPly_preLoad_HIO_cFv() {
nofralloc
#include "asm/d/s/d_s_play/__dt__21dScnPly_preLoad_HIO_cFv.s"
}
#pragma pop
/* 8039A2D8-8039A2D8 026938 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */