diff options
Diffstat (limited to 'src/d')
| -rw-r--r-- | src/d/file/d_file_select.cpp | 20 | ||||
| -rw-r--r-- | src/d/menu/d_menu_save.cpp | 2 | ||||
| -rw-r--r-- | src/d/menu/d_menu_window.cpp | 23 | ||||
| -rw-r--r-- | src/d/msg/d_msg_flow.cpp | 121 | ||||
| -rw-r--r-- | src/d/s/d_s_logo.cpp | 184 | ||||
| -rw-r--r-- | src/d/s/d_s_name.cpp | 26 | ||||
| -rw-r--r-- | src/d/s/d_s_play.cpp | 9 |
7 files changed, 133 insertions, 252 deletions
diff --git a/src/d/file/d_file_select.cpp b/src/d/file/d_file_select.cpp index de8ebe15e6..52707f9efd 100644 --- a/src/d/file/d_file_select.cpp +++ b/src/d/file/d_file_select.cpp @@ -19,6 +19,7 @@ #include "dolphin/types.h" #include "m_Do/m_Do_MemCard.h" #include "m_Do/m_Do_controller_pad.h" +#include "m_Do/m_Do_graphic.h" // @@ -1904,11 +1905,28 @@ SECTION_SDATA2 static f32 lit_4166[1 + 1 /* padding */] = { }; /* 801843CC-801844FC 17ED0C 0130+00 0/0 1/1 0/0 .text _create__14dFile_select_cFv */ +// Matches with literals #ifdef NONMATCHING void dFile_select_c::_create() { mDoGph_gInf_c::setFadeColor(static_cast<JUtility::TColor&>(g_blackColor)); - mStick = new STControl(); + mStick = new STControl(2, 2, 1, 1, 0.9f, 0.5f, 0, 0x2000); g_fsHIO.field_0x0004 = -1; + for (int iVar2 = 0; iVar2 < 3; iVar2++) { + mDataNew[iVar2] = 0; + field_0x025b[iVar2] = 0; + } + + mSelectNum = 0; + dComIfGs_init(); + dComIfGp_itemDataInit(); + dComIfGs_setNewFile(0); + mHasDrawn = 0; + screenSet(); + screenSetCopySel(); + screenSet3Menu(); + screenSetYesNo(); + screenSetDetail(); + displayInit(); } #else #pragma push diff --git a/src/d/menu/d_menu_save.cpp b/src/d/menu/d_menu_save.cpp index 3891965541..520b913408 100644 --- a/src/d/menu/d_menu_save.cpp +++ b/src/d/menu/d_menu_save.cpp @@ -1883,7 +1883,7 @@ void dMenu_save_c::memCardMakeGameFileWait() { errorTxtSet(0x3C6); // An error might have occurred when creating a save file. mMenuProc = PROC_MEMCARD_COMMAND_END; } else if (mCmdState == 1) { - dComIfGs_setNewFile(1); + dComIfGs_setNewFile(dComIfGs_getNewFile() | 1); errorTxtSet(0x3C7); // A save file has been created. mMenuProc = PROC_MEMCARD_COMMAND_END; } diff --git a/src/d/menu/d_menu_window.cpp b/src/d/menu/d_menu_window.cpp index 5f4291ca6f..99ecf51c60 100644 --- a/src/d/menu/d_menu_window.cpp +++ b/src/d/menu/d_menu_window.cpp @@ -2436,39 +2436,16 @@ bool dMw_c::isPauseReady() { } /* 801FCE08-801FCE78 1F7748 0070+00 10/10 3/3 0/0 .text dMw_fade_out__5dMw_cFv */ -// instructions switched -#ifdef NONMATCHING void dMw_c::dMw_fade_out() { mDoGph_gInf_c::startFadeOut(13); mDoGph_gInf_c::setFadeColor(static_cast<JUtility::TColor&>(g_blackColor)); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMw_c::dMw_fade_out() { - nofralloc -#include "asm/d/menu/d_menu_window/dMw_fade_out__5dMw_cFv.s" -} -#pragma pop -#endif /* 801FCE78-801FCEE8 1F77B8 0070+00 9/9 4/4 0/0 .text dMw_fade_in__5dMw_cFv */ -#ifdef NONMATCHING void dMw_c::dMw_fade_in() { mDoGph_gInf_c::startFadeIn(13); mDoGph_gInf_c::setFadeColor(static_cast<JUtility::TColor&>(g_blackColor)); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMw_c::dMw_fade_in() { - nofralloc -#include "asm/d/menu/d_menu_window/dMw_fade_in__5dMw_cFv.s" -} -#pragma pop -#endif /* 801FCEE8-801FCF84 1F7828 009C+00 1/1 0/0 0/0 .text checkCStickTrigger__5dMw_cFv */ int dMw_c::checkCStickTrigger() { diff --git a/src/d/msg/d_msg_flow.cpp b/src/d/msg/d_msg_flow.cpp index ae8ddbd6ab..0cc028b4e3 100644 --- a/src/d/msg/d_msg_flow.cpp +++ b/src/d/msg/d_msg_flow.cpp @@ -18,6 +18,7 @@ #include "f_op/f_op_actor_mng.h" #include "f_op/f_op_msg_mng.h" #include "m_Do/m_Do_audio.h" +#include "m_Do/m_Do_graphic.h" // // Forward References: @@ -1559,36 +1560,50 @@ int dMsgFlow_c::query038(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, in /* 8024BDB0-8024BE4C 2466F0 009C+00 1/0 0/0 0/0 .text * query039__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::query039(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/query039__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" +int dMsgFlow_c::query039(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { + u16 uVar2 = *(u16*)param_0->params; + u8 iVar4 = dComIfGs_getTmpReg(0xfbff); + u8 bombNum = dComIfGs_getBombNum(iVar4 - 1); + return dComIfGs_getBombMax(NORMAL_BOMB) >= bombNum + uVar2; } -#pragma pop /* 8024BE4C-8024BF50 24678C 0104+00 1/0 0/0 0/0 .text * query040__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::query040(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/query040__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" +int dMsgFlow_c::query040(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { + s32 uVar7 = *(u16*)param_0->params; + u8 unaff_r30; + if (uVar7 >= 1 && uVar7 < 4) { + unaff_r30 = uVar7 - 1; + } else if (uVar7 == 4) { + if (dMeter2Info_getRentalBombBag() != 0xff) { + unaff_r30 = dMeter2Info_getRentalBombBag(); + } + } else { + unaff_r30 = dComIfGs_getTmpReg(0xfbff) - 1; + } + + u8 bombNum = dComIfGs_getBombNum(unaff_r30); + u8 uVar4 = dComIfGs_getItem((u8)(unaff_r30 + SLOT_15), 0); + u8 bombMax = dComIfGs_getBombMax(uVar4); + u8 rv; + if (bombNum == 0) { + rv = 0; + } else if (bombNum >= bombMax) { + rv = 2; + } else { + rv = 1; + } + return rv; } -#pragma pop /* 8024BF50-8024BFEC 246890 009C+00 1/0 0/0 0/0 .text * query041__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::query041(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/query041__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" +int dMsgFlow_c::query041(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { + u16 uVar2 = *(u16*)param_0->params; + u8 iVar4 = dComIfGs_getTmpReg(0xfbff); + u8 bombNum = dComIfGs_getBombNum(iVar4 - 1); + return dComIfGs_getBombMax(WATER_BOMB) >= bombNum + uVar2; } -#pragma pop /* 8024BFEC-8024C0A8 24692C 00BC+00 1/0 0/0 0/0 .text * query042__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ @@ -1627,14 +1642,23 @@ int dMsgFlow_c::query044(mesg_flow_node_branch*, fopAc_ac_c*, int) { /* 8024C18C-8024C218 246ACC 008C+00 1/0 0/0 0/0 .text * query045__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::query045(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/query045__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" +int dMsgFlow_c::query045(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { + u8 insectNum = dComIfGs_checkGetInsectNum(); + u8 rv = 0; + if (insectNum == 0) { + rv = 0; + } else if (insectNum >= 1 && insectNum <= 11) { + rv = 1; + } else if (insectNum >= 12 && insectNum <= 22) { + rv = 2; + } else if (insectNum == 23) { + rv = 3; + } else if (insectNum == 24) { + rv = 4; + } + + return rv; } -#pragma pop /* 8024C218-8024C248 246B58 0030+00 1/0 0/0 0/0 .text * query046__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ @@ -2094,6 +2118,12 @@ int dMsgFlow_c::event020(mesg_flow_node_event* flow_node, fopAc_ac_c* actor) { /* 8024CD84-8024CDAC 2476C4 0028+00 1/0 0/0 0/0 .text * event021__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ +#ifndef NONMATCHING +int dMsgFlow_c::event021(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) { + cLib_calcTimer(&field_0x3c); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2102,6 +2132,7 @@ asm int dMsgFlow_c::event021(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) #include "asm/d/msg/d_msg_flow/event021__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80454DA8-80454DAC 0033A8 0004+00 1/1 0/0 0/0 .sdata2 @6273 */ @@ -2401,7 +2432,7 @@ SECTION_SDATA2 static f32 lit_6613 = 1.0f; /* 8024D5EC-8024D6BC 247F2C 00D0+00 1/0 0/0 0/0 .text * event032__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ #ifdef NONMATCHING -// Matches with literals and cLib_calcTimer implementation in the end +// Matches with literals int dMsgFlow_c::event032(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) { u16 uVar1; u16 uVar2; @@ -2435,6 +2466,29 @@ asm int dMsgFlow_c::event032(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) /* 8024D6BC-8024D788 247FFC 00CC+00 1/0 0/0 0/0 .text * event033__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ +#ifdef NONMATCHING +// Matches with literals +int dMsgFlow_c::event033(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) { + u16 uVar1; + u16 uVar2; + GXColor color; + + getParam(&uVar2, &uVar1, param_0->params); + if (uVar1 + 1 == field_0x3c) { + if (uVar2 == 0) { + color.r = 0; + color.g = 0; + color.b = 0; + color.a = 0; + } else { + color = g_saftyWhiteColor; + } + mDoGph_gInf_c::fadeOut(1.0f / uVar1, color); + } + cLib_calcTimer(&field_0x3c); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2443,6 +2497,7 @@ asm int dMsgFlow_c::event033(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) #include "asm/d/msg/d_msg_flow/event033__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s" } #pragma pop +#endif /* 8024D788-8024D7C8 2480C8 0040+00 1/0 0/0 0/0 .text * event034__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ @@ -2566,13 +2621,5 @@ int dMsgFlow_c::event042(mesg_flow_node_event*, fopAc_ac_c*) { } /* 8024DAB0-8024DACC 2483F0 001C+00 3/3 0/0 0/0 .text cLib_calcTimer<l>__FPl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_8024DAB0(void* _this, s32* param_0) { - nofralloc -#include "asm/d/msg/d_msg_flow/func_8024DAB0.s" -} -#pragma pop /* 80399CB0-80399CB0 026310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/s/d_s_logo.cpp b/src/d/s/d_s_logo.cpp index 0187320254..38c7a73545 100644 --- a/src/d/s/d_s_logo.cpp +++ b/src/d/s/d_s_logo.cpp @@ -18,6 +18,8 @@ #include "m_Do/m_Do_controller_pad.h" #include "m_Do/m_Do_graphic.h" #include "m_Do/m_Do_machine.h" +#include "dolphin/os/OSRtc.h" +#include "dolphin/vi/vi.h" // // Types: @@ -34,123 +36,10 @@ public: // Forward References: // -extern "C" void __ct__10dLog_HIO_cFv(); -extern "C" void preLoad_dyl_create__10dScnLogo_cFv(); -extern "C" void preLoad_dyl_remove__10dScnLogo_cFv(); -extern "C" void preLoad_dyl__10dScnLogo_cFv(); -extern "C" void checkProgSelect__10dScnLogo_cFv(); -extern "C" void draw__10dScnLogo_cFv(); -extern "C" void progInDraw__10dScnLogo_cFv(); -extern "C" void progSelDraw__10dScnLogo_cFv(); -extern "C" void progOutDraw__10dScnLogo_cFv(); -extern "C" void progSetDraw__10dScnLogo_cFv(); -extern "C" void progSet2Draw__10dScnLogo_cFv(); -extern "C" void progChangeDraw__10dScnLogo_cFv(); -extern "C" void warningInDraw__10dScnLogo_cFv(); -extern "C" void warningDispDraw__10dScnLogo_cFv(); -extern "C" void warningOutDraw__10dScnLogo_cFv(); -extern "C" void nintendoInDraw__10dScnLogo_cFv(); -extern "C" void nintendoOutDraw__10dScnLogo_cFv(); -extern "C" void dolbyInDraw__10dScnLogo_cFv(); -extern "C" void dolbyOutDraw__10dScnLogo_cFv(); -extern "C" void dolbyOutDraw2__10dScnLogo_cFv(); -extern "C" void dvdWaitDraw__10dScnLogo_cFv(); -extern "C" void nextSceneChange__10dScnLogo_cFv(); -extern "C" void __dt__10dScnLogo_cFv(); -extern "C" static void phase_0__FP10dScnLogo_c(); -extern "C" static void phase_1__FP10dScnLogo_c(); -extern "C" static void phase_2__FP10dScnLogo_c(); -extern "C" static void resLoad__FP30request_of_phase_process_classP10dScnLogo_c(); -extern "C" void create__10dScnLogo_cFv(); -extern "C" void logoInitGC__10dScnLogo_cFv(); -extern "C" void dvdDataLoad__10dScnLogo_cFv(); -extern "C" static void dScnLogo_Create__FP11scene_class(); -extern "C" static void dScnLogo_Execute__FP10dScnLogo_c(); -extern "C" static void dScnLogo_Draw__FP10dScnLogo_c(); -extern "C" static void dScnLogo_Delete__FP10dScnLogo_c(); -extern "C" static bool dScnLogo_IsDelete__FP10dScnLogo_c(); -extern "C" void setProgressiveMode__10dScnLogo_cFUc(); -extern "C" void getProgressiveMode__10dScnLogo_cFv(); -extern "C" void isProgressiveMode__10dScnLogo_cFv(); -extern "C" void setRenderMode__10dScnLogo_cFv(); -extern "C" void __dt__10dLog_HIO_cFv(); -extern "C" void func_802585A4(u16*); -extern "C" void __sinit_d_s_logo_cpp(); -extern "C" extern char const* const d_s_d_s_logo__stringBase0; - // // External References: // -extern "C" void mDoExt_getGameHeap__Fv(); -extern "C" void mDoExt_getJ2dHeap__Fv(); -extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap(); -extern "C" void mDoExt_getMesgFont__Fv(); -extern "C" void mDoExt_getRubyFont__Fv(); -extern "C" void mDoExt_getSubFont__Fv(); -extern "C" void mDoExt_setAraCacheSize__FUl(); -extern "C" void mDoRst_reset__FiUli(); -extern "C" void mDoRst_resetCallBack__FiPv(); -extern "C" void create__25mDoDvdThd_mountXArchive_cFPCcUcQ210JKRArchive10EMountModeP7JKRHeap(); -extern "C" void create__21mDoDvdThd_toMainRam_cFPCcUcP7JKRHeap(); -extern "C" void cDyl_InitAsyncIsDone__Fv(); -extern "C" void Link__7cDylPhsFP30request_of_phase_process_classs(); -extern "C" void fopScnM_ChangeReq__FP11scene_classssUs(); -extern "C" void createParticle__14dComIfG_play_cFv(); -extern "C" void dComIfG_changeOpeningScene__FP11scene_classs(); -extern "C" void dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv(); -extern "C" void setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap(); -extern "C" void deleteRes__14dRes_control_cFPCcP11dRes_info_ci(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void syncAllRes__14dRes_control_cFP11dRes_info_ci(); -extern "C" void createWork__8dMpath_cFv(); -extern "C" void createCommon__13dPa_control_cFPCv(); -extern "C" void __ct__10dDlst_2D_cFP7ResTIMGssssUc(); -extern "C" void setSimpleTex__21dDlst_shadowControl_cFPC7ResTIMG(); -extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c(); -extern "C" void createWork__7dTres_cFv(); -extern "C" void waitBlanking__10JFWDisplayFi(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void loadStaticWaves__10Z2SceneMgrFv(); -extern "C" bool checkFirstWaves__10Z2SceneMgrFv(); -extern "C" void resetProcess__10Z2AudioMgrFUlb(); -extern "C" void becomeCurrentHeap__7JKRHeapFv(); -extern "C" void destroy__7JKRHeapFv(); -extern "C" void alloc__7JKRHeapFUli(); -extern "C" void free__7JKRHeapFPvP7JKRHeap(); -extern "C" void* __nw__FUl(); -extern "C" void* __nwa__FUl(); -extern "C" void __dl__FPv(); -extern "C" void __dla__FPv(); -extern "C" void create__10JKRExpHeapFUlP7JKRHeapb(); -extern "C" void create__10JKRExpHeapFPvUlP7JKRHeapb(); -extern "C" void getTotalFreeSize__11JKRAramHeapFv(); -extern "C" void __dt__10J2DPictureFv(); -extern "C" u32 OSGetProgressiveMode(); -extern "C" void OSSetProgressiveMode(u32); -extern "C" u32 VIGetDTVStatus(); -extern "C" void __register_global_object(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__10dDlst_2D_c[3]; -extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; -extern "C" void* mRenderModeObj__15mDoMch_render_c[1 + 1 /* padding */]; -extern "C" extern u8 mInitFlag__17mDoAud_zelAudio_c[4]; -extern "C" u8 mFader__13mDoGph_gInf_c[4]; -extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; -extern "C" u8 mData__12dEnemyItem_c[4 + 4 /* padding */]; -extern "C" u8 sManager__10JFWDisplay[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" u8 sAramObject__7JKRAram[4]; -extern "C" u8 sCallback__Q210JUTGamePad13C3ButtonReset[4]; -extern "C" u8 sCallbackArg__Q210JUTGamePad13C3ButtonReset[4 + 4 /* padding */]; // // Declarations: @@ -158,7 +47,7 @@ extern "C" u8 sCallbackArg__Q210JUTGamePad13C3ButtonReset[4 + 4 /* padding */]; /* ############################################################################################## */ /* 803C2E38-803C2E44 01FF58 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, }; @@ -166,7 +55,7 @@ SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { static dLog_HIO_c g_LogHIO; typedef void (dScnLogo_c::*execFunc)(); -SECTION_DATA static execFunc l_execFunc[16] = { +static execFunc l_execFunc[16] = { &dScnLogo_c::warningInDraw, &dScnLogo_c::warningDispDraw, &dScnLogo_c::warningOutDraw, &dScnLogo_c::nintendoInDraw, &dScnLogo_c::nintendoOutDraw, &dScnLogo_c::dolbyInDraw, &dScnLogo_c::dolbyOutDraw, &dScnLogo_c::dolbyOutDraw2, &dScnLogo_c::progInDraw, @@ -632,8 +521,6 @@ dScnLogo_c::~dScnLogo_c() { } /* 80257910-802579BC 252250 00AC+00 1/0 0/0 0/0 .text phase_0__FP10dScnLogo_c */ -// setFadeColor instruction reordering -#ifdef NONMATCHING static int phase_0(dScnLogo_c* logo) { mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor); dComIfGp_particle_create(); @@ -644,16 +531,6 @@ static int phase_0(dScnLogo_c* logo) { return 2; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm int phase_0(dScnLogo_c* param_0) { - nofralloc -#include "asm/d/s/d_s_logo/phase_0__FP10dScnLogo_c.s" -} -#pragma pop -#endif /* 802579BC-80257A70 2522FC 00B4+00 1/0 0/0 0/0 .text phase_1__FP10dScnLogo_c */ static int phase_1(dScnLogo_c* logo) { @@ -822,20 +699,9 @@ void dScnLogo_c::dvdDataLoad() { } /* 80258420-80258444 252D60 0024+00 1/0 0/0 0/0 .text dScnLogo_Create__FP11scene_class */ -#ifdef NONMATCHING static int dScnLogo_Create(scene_class* scn) { - return static_cast<dScnLogo_c*>(scn)->create(); -} -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dScnLogo_Create(scene_class* param_0) { - nofralloc -#include "asm/d/s/d_s_logo/dScnLogo_Create__FP11scene_class.s" + return (new (scn) dScnLogo_c())->create(); } -#pragma pop -#endif /* 80258444-80258484 252D84 0040+00 1/0 0/0 0/0 .text dScnLogo_Execute__FP10dScnLogo_c */ static int dScnLogo_Execute(dScnLogo_c* logo) { @@ -889,34 +755,26 @@ void dScnLogo_c::setRenderMode() { /* 8025855C-802585A4 252E9C 0048+00 2/1 0/0 0/0 .text __dt__10dLog_HIO_cFv */ dLog_HIO_c::~dLog_HIO_c() {} -/* 802585A4-802585C0 252EE4 001C+00 1/1 0/0 0/0 .text cLib_calcTimer<Us>__FPUs */ -template <typename T> -T cLib_calcTimer(T* value) { - if (*value != 0) { - *value = *value - 1; - } - return *value; -} - /* 803C2FD0-803C2FE4 -00001 0014+00 1/0 0/0 0/0 .data l_dScnLogo_Method */ -SECTION_DATA static void* l_dScnLogo_Method[5] = { - (void*)dScnLogo_Create__FP11scene_class, (void*)dScnLogo_Delete__FP10dScnLogo_c, - (void*)dScnLogo_Execute__FP10dScnLogo_c, (void*)dScnLogo_IsDelete__FP10dScnLogo_c, - (void*)dScnLogo_Draw__FP10dScnLogo_c, +static dScnLogo_Method l_dScnLogo_Method[5] = { + (dScnLogo_Method) dScnLogo_Create, dScnLogo_Delete, + dScnLogo_Execute, dScnLogo_IsDelete, + dScnLogo_Draw, }; /* 803C2FE4-803C300C -00001 0028+00 0/0 0/0 1/0 .data g_profile_LOGO_SCENE */ -SECTION_DATA extern void* g_profile_LOGO_SCENE[10] = { - (void*)NULL, - (void*)0x0001FFFD, - (void*)0x00090000, - (void*)&g_fpcNd_Method, - (void*)0x000002A8, - (void*)NULL, - (void*)NULL, - (void*)&g_fopScn_Method, - (void*)&l_dScnLogo_Method, - (void*)NULL, +extern scene_process_profile_definition g_profile_LOGO_SCENE = { + 0, + 1, + -3, + PROC_LOGO_SCENE, + &g_fpcNd_Method.mBase, + sizeof(dScnLogo_c), + 0, + 0, + &g_fopScn_Method.mBase, + (process_method_class*)&l_dScnLogo_Method, + NULL, }; /* 80399FFC-80399FFC 02665C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/s/d_s_name.cpp b/src/d/s/d_s_name.cpp index 77bc75d70d..87cadcd654 100644 --- a/src/d/s/d_s_name.cpp +++ b/src/d/s/d_s_name.cpp @@ -474,29 +474,19 @@ void dScnName_c::FileSelectMain() { } /* 80258E78-80258F20 2537B8 00A8+00 1/1 0/0 0/0 .text FileSelectMainNormal__10dScnName_cFv */ -#ifdef NONMATCHING void dScnName_c::FileSelectMainNormal() { - if (dFs_c->isSelectEnd() == true) { + switch(dFs_c->isSelectEnd()) { + case 1: field_0x41e = 15; mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor); mDoGph_gInf_c::startFadeOut(15); field_0x41d = 2; field_0x420 = 1; + break; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dScnName_c::FileSelectMainNormal() { - nofralloc -#include "asm/d/s/d_s_name/FileSelectMainNormal__10dScnName_cFv.s" -} -#pragma pop -#endif /* 80258F20-80258FD4 253860 00B4+00 1/0 0/0 0/0 .text FileSelectClose__10dScnName_cFv */ -#ifdef NONMATCHING void dScnName_c::FileSelectClose() { field_0x41e--; @@ -509,16 +499,6 @@ void dScnName_c::FileSelectClose() { field_0x420 = 0; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dScnName_c::FileSelectClose() { - nofralloc -#include "asm/d/s/d_s_name/FileSelectClose__10dScnName_cFv.s" -} -#pragma pop -#endif /* 80258FD4-80259008 253914 0034+00 1/0 0/0 0/0 .text brightCheckOpen__10dScnName_cFv */ void dScnName_c::brightCheckOpen() { diff --git a/src/d/s/d_s_play.cpp b/src/d/s/d_s_play.cpp index fc16b0726d..631ab6c406 100644 --- a/src/d/s/d_s_play.cpp +++ b/src/d/s/d_s_play.cpp @@ -24,6 +24,7 @@ #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: @@ -387,7 +388,7 @@ asm dScnPly_env_debugHIO_c::dScnPly_env_debugHIO_c() { SECTION_SDATA2 static u32 lit_4100 = 0x2A1E46FF; /* 802594AC-802597B8 253DEC 030C+00 1/0 0/0 0/0 .text dScnPly_Draw__FP9dScnPly_c */ -// some small issues like instruction reordering +// bool comparison issues #ifdef NONMATCHING static int dScnPly_Draw(dScnPly_c* scn) { dComIfG_Ccsp()->Move(); @@ -425,7 +426,7 @@ static int dScnPly_Draw(dScnPly_c* scn) { } dMdl_mng_c::reset(); - if (!dComIfGp_isPauseFlag() && pauseTimer == 0) { + if (!dComIfGp_isPauseFlag() && dScnPly_c::pauseTimer == 0) { if (fpcM_GetName(scn) == PROC_PLAY_SCENE) { dComIfGp_getVibration().Run(); } @@ -436,9 +437,9 @@ static int dScnPly_Draw(dScnPly_c* scn) { cCt_execCounter(); } else { dPa_control_c::onStatus(1); - if (pauseTimer == 0) { + if (dScnPly_c::pauseTimer == 0) { dPa_control_c::onStatus(2); - if (pauseTimer == 0) { + if (dScnPly_c::pauseTimer == 0) { dComIfGp_getVibration().Pause(); } } |
