// // Generated by dtk // Translation Unit: d_s_name.cpp // #include "d/dolzel.h" // IWYU pragma: keep #include "d/d_s_name.h" #include "d/d_com_inf_game.h" #include "d/d_com_lib_game.h" #include "d/d_file_error.h" #include "d/d_file_select.h" #include "d/d_procname.h" #include "d/d_menu_cloth.h" #include "d/d_menu_save.h" #include "d/d_name.h" #include "f_ap/f_ap_game.h" #include "f_op/f_op_draw_iter.h" #include "f_op/f_op_kankyo_mng.h" #include "f_op/f_op_overlap_mng.h" #include "f_op/f_op_scene_mng.h" #include "m_Do/m_Do_audio.h" #include "m_Do/m_Do_dvd_thread.h" #include "m_Do/m_Do_graphic.h" #include "m_Do/m_Do_hostIO.h" #include "m_Do/m_Do_machine.h" #include "m_Do/m_Do_MemCard.h" #include "m_Do/m_Do_MemCardRWmng.h" #include "m_Do/m_Do_mtx.h" #include "m_Do/m_Do_Reset.h" #include "JSystem/JKernel/JKRAram.h" #include "JSystem/J2DGraph/J2DOrthoGraph.h" #include "JSystem/J2DGraph/J2DScreen.h" #include "JSystem/JKernel/JKRExpHeap.h" #include "JSystem/JKernel/JKRMemArchive.h" dSn_HIO_c g_snHIO; /* 8022F86C-8022F8F0 .text __ct__9dSn_HIO_cFv */ dSn_HIO_c::dSn_HIO_c() { field_0x5 = 20; field_0x6 = 15; field_0x7 = 30; field_0x8 = 0; field_0x9 = 0; field_0xa = 0; field_0xb = 0; field_0xe = 7; field_0xc = -200; field_0xf = 2; field_0x10 = 0; field_0x11 = 0; field_0x12 = 0; field_0x13 = 0; field_0x14 = 0; field_0x15 = 0; field_0x16 = 0; field_0x17 = 0; field_0x18 = 0; field_0x19 = 0; field_0x1a = 0; field_0x1b = 0; } /* 8022F8F0-8022F95C .text phase_1__FPc */ static cPhs_State phase_1(char* resName) { mDoAud_bgmStart(JA_BGM_SELECT); if (dComIfG_setStageRes(resName, NULL) == FALSE) { return cPhs_ERROR_e; } return cPhs_NEXT_e; } /* 8022F95C-8022F9B4 .text phase_2__FPc */ static cPhs_State phase_2(char* resName) { s32 rt = dComIfG_syncStageRes(resName); if (rt < 0) return cPhs_ERROR_e; else if (rt > 0) return cPhs_INIT_e; return cPhs_NEXT_e; } /* 8022F9B4-8022F9BC .text phase_3__FPc */ static cPhs_State phase_3(char*) { return cPhs_COMPLEATE_e; } /* 8022F9BC-8022F9FC .text resLoad__FP30request_of_phase_process_classPc */ cPhs_State resLoad(request_of_phase_process_class* phase, char* resName) { static cPhs__Handler l_method[] = { (cPhs__Handler)phase_1, (cPhs__Handler)phase_2, (cPhs__Handler)phase_3, }; if (phase->id == 2) { return cPhs_COMPLEATE_e; } return dComLbG_PhaseHandler(phase, l_method, resName); } /* 8022F9FC-802301C8 .text create__10dScnName_cFv */ cPhs_State dScnName_c::create() { dComIfGp_offEnableNextStage(); dComIfGp_setNextStage("Name", 0, 0); dComIfGp_setStartStage(dComIfGp_getNextStartStage()); dComIfGp_offEnableNextStage(); cPhs_State rt = resLoad(&mPhs, "Stage"); if (rt == cPhs_COMPLEATE_e) { heap = JKRCreateExpHeap(0x68000, mDoExt_getGameHeap(), false); JUT_ASSERT(0x1c8, heap != NULL); oldHeap = mDoExt_setCurrentHeap(heap); mArchive = new JKRMemArchive(); mArchive->mountFixed(dComIfG_getStageRes("Stage", 0x17), JKRMEMBREAK_FLAG_UNKNOWN0); cloth_create(); buttonIconCreate(); dFs_c = new dFile_select_c(); JUT_ASSERT(470, dFs_c != NULL); dFs_c->field_0x0 = mArchive; savePicDatabuf = new (0x20) card_pictdata[3 * 3]; JUT_ASSERT(476, savePicDatabuf != NULL); if (fpcM_GetName(this) == PROC_NAME_SCENE) { dFs_c->setUseType(0); dNm_c = new dName_c(); JUT_ASSERT(484, dNm_c != NULL); dNm_c->_create(); dFe_c = new dFile_error_c(); JUT_ASSERT(489, dFe_c != NULL); dFe_c->_create(); dMs_c = NULL; dComIfGs_setNoFile(0); dComIfGs_setNewFile(0); } if (fpcM_GetName(this) == PROC_NAMEEX_SCENE) { dComIfGs_setClearCount(1); dFs_c->setUseType(1); dMs_c = new dMenu_save_c(); JUT_ASSERT(511, dMs_c != NULL); dMs_c->setUseType(3); dMs_c->_create(); dFe_c = NULL; dNm_c = NULL; } dFs_c->_create(); g_snHIO.mNo = mDoHIO_root.m_subroot.createChild("名前登録シーン", &g_snHIO); dComIfGp_setWindowNum(1); dComIfGp_setWindow(0, 0.0f, 0.0f, mDoMch_render_c::getFbWidth(), mDoMch_render_c::getEfbHeight(), 0.0f, 1.0f, 0, 2); g_dComIfG_gameInfo.play.mCameraInfo[0].mpCamera = (camera_class*)&field_0x1d4; field_0x29c = 5.0f; field_0x2a0 = 160000.0f; field_0x2a4 = 60.0f; f32 aspect = dComIfGp_getWindow(0)->getViewPort()->mWidth / dComIfGp_getWindow(0)->getViewPort()->mHeight; field_0x2a8 = aspect * fapGmHIO_getAspectRatio(); field_0x2ac.x = 9377.0f; field_0x2ac.y = 0.0; field_0x2ac.z = 7644.0; field_0x2b8.x = 0.0; field_0x2b8.y = 6311.0; field_0x2b8.z = 1000.0; field_0x2d0 = 0; dComIfGp_setPlayer(0, NULL); dComIfGd_setWindow(dComIfGp_getWindow(0)); dComIfGd_setViewport(dComIfGp_getWindow(0)->getViewPort()); dComIfGd_setView((view_class*)&field_0x1d4); mDoGph_gInf_c::offAutoForcus(); setView(); dKy_setLight_init(); fopKyM_Create(PROC_KYEFF, 0, 0); fopKyM_Create(PROC_KYEFF2, 0, 0); fpcSCtRq_Request(fpcLy_CurrentLayer(), PROC_VRBOX, NULL, NULL, NULL); fpcSCtRq_Request(fpcLy_CurrentLayer(), PROC_VRBOX2, NULL, NULL, NULL); g_env_light.mVrSkyColor.r = 0x50; g_env_light.mVrSkyColor.g = 0x78; g_env_light.mVrSkyColor.b = 0xff; g_env_light.mVrSkyColor.a = 0xff; g_env_light.mVrkumoColor.r = 0xff; g_env_light.mVrkumoColor.g = 0xff; g_env_light.mVrkumoColor.b = 0xff; g_env_light.mVrkumoColor.a = 0xff; g_env_light.mVrKasumiMaeColor.r = 0xd2; g_env_light.mVrKasumiMaeColor.g = 0xe5; g_env_light.mVrKasumiMaeColor.b = 0xff; g_env_light.mVrKasumiMaeColor.a = 0xff; field_0x558 = g_snHIO.field_0x5; field_0x1bb8 = 0; if (fpcM_GetName(this) == PROC_NAME_SCENE) { mMainProc = 0; field_0x556 = 0; mDrawProc = 0; } else if (fpcM_GetName(this) == PROC_NAMEEX_SCENE) { mMainProc = 10; mDrawProc = 3; } JFWDisplay::getManager()->setTickRate(OS_TIMER_CLOCK / 30); } return rt; } /* 802301C8-802301FC .text cloth_create__10dScnName_cFv */ void dScnName_c::cloth_create() { cloth2D_create(); field_0x55d = 0; } /* 802301FC-80230240 .text cloth_move__10dScnName_cFv */ void dScnName_c::cloth_move() { if (field_0x55d && !g_snHIO.field_0xb) { cloth.cloth_c->cloth_move(); } } /* 80230240-802302F8 .text cloth2D_create__10dScnName_cFv */ void dScnName_c::cloth2D_create() { JKRArchive* clothRes = dComIfGp_getClothResArchive(); cloth.cloth_c = new dMCloth_c(); JUT_ASSERT(801, cloth.cloth_c != NULL); cloth.cloth_c->setArchive(clothRes); cloth.cloth_c->setClothType(MENU_CLOTH_TYPE_FILE_SELECT); } static void dummy() { OSReport("baseMdl != 0"); OSReport("baseMdl->getModel() != 0"); OSReport("brkAnm != 0"); OSReport("res != 0"); } /* 802302F8-80230500 .text buttonIconCreate__10dScnName_cFv */ void dScnName_c::buttonIconCreate() { btnIcon.scr = new J2DScreen(); JUT_ASSERT(866, btnIcon.scr != NULL); btnIcon.scr->set("main_parts_fileselect.blo", mArchive); fopMsgM_setPaneData(&field_0x43c, btnIcon.scr->search('cent')); fopMsgM_setPaneData(&field_0x474, btnIcon.scr->search('bab')); fopMsgM_setPaneData(&field_0x4ac, btnIcon.scr->search('baat')); fopMsgM_setPaneData(&field_0x4e4, btnIcon.scr->search('bawp')); fopMsgM_setPaneData(&field_0x51c, btnIcon.scr->search('bawd')); field_0x1bb4 = 0; paneTransButtonIcon(field_0x1bb4, g_snHIO.field_0xe, g_snHIO.field_0xc, 0.0f, 0); field_0x1bb6 = 6; } /* 80230500-802305E0 .text paneTransButtonIcon__10dScnName_cFsUcffUc */ BOOL dScnName_c::paneTransButtonIcon(s16 param_1, u8 param_2, f32 param_3, f32 param_4, u8 param_5) { if (param_1 < 0) { return false; } if (param_1 > param_2) { return true; } f32 tmp = fopMsgM_valueIncrease(param_2, param_1, param_5); tmp *= (param_4 - param_3); fopMsgM_paneTrans(&field_0x43c, 0.0f, param_3 + tmp); fopMsgM_paneTrans(&field_0x474, 0.0f, param_3 + tmp); fopMsgM_paneTrans(&field_0x4ac, 0.0f, param_3 + tmp); fopMsgM_paneTrans(&field_0x4e4, 0.0f, param_3 + tmp); fopMsgM_paneTrans(&field_0x51c, 0.0f, param_3 + tmp); return false; } void (dScnName_c::*MainProc[])() = { &dScnName_c::MemCardCheckMain, &dScnName_c::NoteOpen, &dScnName_c::NoteOpenWait, &dScnName_c::FileSelectOpen, &dScnName_c::FileSelectMain, &dScnName_c::FileSelectClose, &dScnName_c::NameInOpen, &dScnName_c::NameInMain, &dScnName_c::NameInClose, &dScnName_c::changeGameScene, &dScnName_c::SaveOpen, &dScnName_c::SaveMain, &dScnName_c::SaveClose, &dScnName_c::ResetWait, &dScnName_c::ShopDemoDataLoad, &dScnName_c::ShopDemoDataSet, }; void (dScnName_c::*MemCardCheckProc[])() = { &dScnName_c::MemCardStatCheck, &dScnName_c::MemCardLoadWait, &dScnName_c::MemCardErrMsgWaitKey, &dScnName_c::MemCardErrMsgWaitKey2, &dScnName_c::MemCardErrMsgWaitNoSaveSel, &dScnName_c::MemCardErrMsgWaitFormatSel, &dScnName_c::MemCardErrMsgWaitFormatSel2, &dScnName_c::MemCardFormat, &dScnName_c::MemCardFormatCheck, &dScnName_c::MemCardMakeGameFileSel, &dScnName_c::MemCardMakeGameFile, &dScnName_c::MemCardMakeGameFileCheck, &dScnName_c::MemCardGotoFileSelect, &dScnName_c::MemCardGotoIPLSelect, &dScnName_c::MemCardGotoIPL, &dScnName_c::MemCardCheckDbg, &dScnName_c::MemCardCheckDbgWait, }; void (dScnName_c::*NameOpenProc[])() = { &dScnName_c::NameOpenMain, &dScnName_c::NameOpenWait, }; void (dScnName_c::*FileSelOpenProc[])() = { &dScnName_c::FileSelOpenMain, &dScnName_c::FileselOpenWait, }; void (dScnName_c::*DrawProc[])() = { &dScnName_c::FileErrorDraw, &dScnName_c::FileSelectDraw, &dScnName_c::NameInDraw, &dScnName_c::SaveDraw, &dScnName_c::NoneDraw, }; /* 802305E0-80230678 .text execute__10dScnName_cFv */ BOOL dScnName_c::execute() { if (!fopOvlpM_IsPeek()) { dComIfG_resetToOpening(this); } if (mDoRst::isReset()) { return TRUE; } cloth_move(); if (dFe_c != NULL) { dFe_c->_move(); } (this->*(MainProc[mMainProc]))(); buttonIconProc(); return TRUE; } /* 80230678-80230714 .text setView__10dScnName_cFv */ void dScnName_c::setView() { C_MTXPerspective(field_0x2d4, field_0x2a4, field_0x2a8, field_0x29c, field_0x2a0); mDoMtx_lookAt(field_0x314, &field_0x2ac, &field_0x2b8, field_0x2d0); mDoMtx_inverse(field_0x314, field_0x344); mDoMtx_copy(field_0x314, field_0x3b4); field_0x3b4[0][3] = 0.0f; field_0x3b4[1][3] = 0.0f; field_0x3b4[2][3] = 0.0f; j3dSys.setViewMtx(field_0x314); mDoMtx_concatProjView(field_0x2d4, field_0x314, field_0x374); } /* 80230714-802307EC .text draw__10dScnName_cFv */ BOOL dScnName_c::draw() { setView(); for (create_tag_class* pTag = fopDwIt_Begin(); pTag != NULL; pTag = fopDwIt_Next(pTag)) fpcM_Draw(pTag->mpTagData); if (field_0x55d && !g_snHIO.field_0xb) { dComIfGd_set2DOpa(&cloth); } (this->*(DrawProc[mDrawProc]))(); dComIfGd_set2DOpa(&btnIcon); return TRUE; } /* 802307EC-80230A14 .text __dt__10dScnName_cFv */ dScnName_c::~dScnName_c() { dFs_c->_delete(); delete dFs_c; if (dNm_c) { dNm_c->_delete(); delete dNm_c; } if (dFe_c) { dFe_c->_delete(); delete dFe_c; } if (dMs_c) { dMs_c->_delete(); delete dMs_c; } delete savePicDatabuf; delete btnIcon.scr; mArchive->unmountFixed(); delete cloth.cloth_c; mDoHIO_root.m_subroot.deleteChild(g_snHIO.mNo); JKRSetCurrentHeap(oldHeap); heap->destroy(); dComIfG_deleteStageRes("Stage"); dComIfGp_setWindowNum(0); dComIfGs_setRestartOption(0); } /* 80230A14-80230AD0 .text MemCardCheckMain__10dScnName_cFv */ void dScnName_c::MemCardCheckMain() { /* Nonmatching */ } /* 80230AD0-80230C78 .text MemCardStatCheck__10dScnName_cFv */ void dScnName_c::MemCardStatCheck() { /* Nonmatching */ } /* 80230C78-80230D20 .text MemCardLoadWait__10dScnName_cFv */ void dScnName_c::MemCardLoadWait() { /* Nonmatching */ } /* 80230D20-80230D74 .text MemCardErrMsgWaitKey__10dScnName_cFv */ void dScnName_c::MemCardErrMsgWaitKey() { /* Nonmatching */ } /* 80230D74-80230DE8 .text MemCardErrMsgWaitKey2__10dScnName_cFv */ void dScnName_c::MemCardErrMsgWaitKey2() { /* Nonmatching */ } /* 80230DE8-80230E50 .text MemCardGotoIPLSelect__10dScnName_cFv */ void dScnName_c::MemCardGotoIPLSelect() { /* Nonmatching */ } /* 80230E50-80230E7C .text MemCardGotoIPL__10dScnName_cFv */ void dScnName_c::MemCardGotoIPL() { OSResetSystem(1, 1, TRUE); } /* 80230E7C-80230F4C .text MemCardErrMsgWaitNoSaveSel__10dScnName_cFv */ void dScnName_c::MemCardErrMsgWaitNoSaveSel() { /* Nonmatching */ } /* 80230F4C-80230FD0 .text MemCardErrMsgWaitFormatSel__10dScnName_cFv */ void dScnName_c::MemCardErrMsgWaitFormatSel() { /* Nonmatching */ } /* 80230FD0-8023106C .text MemCardErrMsgWaitFormatSel2__10dScnName_cFv */ void dScnName_c::MemCardErrMsgWaitFormatSel2() { /* Nonmatching */ } /* 8023106C-802310C0 .text MemCardFormat__10dScnName_cFv */ void dScnName_c::MemCardFormat() { field_0x1bbc = mDoMemCd_FormatSync(); if (field_0x1bbc != 0) { dFe_c->closeMessage(); field_0x556 = 8; } } /* 802310C0-8023117C .text MemCardFormatCheck__10dScnName_cFv */ void dScnName_c::MemCardFormatCheck() { /* Nonmatching */ } /* 8023117C-80231284 .text MemCardMakeGameFileSel__10dScnName_cFv */ void dScnName_c::MemCardMakeGameFileSel() { /* Nonmatching */ } /* 80231284-802312D8 .text MemCardMakeGameFile__10dScnName_cFv */ void dScnName_c::MemCardMakeGameFile() { field_0x1bbc = mDoMemCd_SaveSync(); if (field_0x1bbc != 0) { dFe_c->closeMessage(); field_0x556 = 11; } } /* 802312D8-80231398 .text MemCardMakeGameFileCheck__10dScnName_cFv */ void dScnName_c::MemCardMakeGameFileCheck() { /* Nonmatching */ } /* 80231398-802313AC .text MemCardGotoFileSelect__10dScnName_cFv */ void dScnName_c::MemCardGotoFileSelect() { mMainProc = 1; mDrawProc = 4; } /* 802313AC-802313B0 .text MemCardCheckDbg__10dScnName_cFv */ void dScnName_c::MemCardCheckDbg() {} /* 802313B0-80231428 .text MemCardCheckDbgWait__10dScnName_cFv */ void dScnName_c::MemCardCheckDbgWait() { } /* 80231428-80231454 .text FileErrorDraw__10dScnName_cFv */ void dScnName_c::FileErrorDraw() { if (dFe_c) { dFe_c->_draw(); } } /* 80231454-802314E8 .text NoteOpen__10dScnName_cFv */ void dScnName_c::NoteOpen() { if (field_0x558) { field_0x558--; return; } mDoAud_seStart(JA_SE_MSEL_CLOTH_ON); mMainProc = 2; field_0x55d = 1; cloth.cloth_c->init(); field_0x559 = g_snHIO.field_0x6; } /* 802314E8-802315A8 .text NoteOpenWait__10dScnName_cFv */ void dScnName_c::NoteOpenWait() { if (field_0x559) { field_0x559--; return; } if (g_snHIO.field_0x8 == 0) { if (fpcM_GetName(this) == PROC_NAME_SCENE) { dFs_c->setSaveDataPtr(saveMemory); dFs_c->setSavePicDataPtr((u8*)savePicDatabuf); } if (fpcM_GetName(this) == PROC_NAMEEX_SCENE) { dFs_c->setSaveDataPtr(dMs_c->getDataBufPtr()); dFs_c->setSavePicDataPtr((u8*)savePicDatabuf); } dFs_c->initial(); mMainProc = 3; field_0x555 = 0; mDrawProc = 1; } } /* 802315A8-802315E0 .text FileSelectOpen__10dScnName_cFv */ void dScnName_c::FileSelectOpen() { (this->*(FileSelOpenProc[field_0x555]))(); } /* 802315E0-802319B4 .text buttonIconProc__10dScnName_cFv */ void dScnName_c::buttonIconProc() { switch (field_0x1bb6) { case 0: { s32 ret = paneTransButtonIcon(field_0x1bb4 - g_snHIO.field_0xf, g_snHIO.field_0xe, g_snHIO.field_0xc, 0.0f, 1); field_0x1bb4++; if (ret == 1) { field_0x1bb4 = 0; field_0x1bb6 = 6; dFs_c->setIconMode(field_0x1bb6); } } break; case 1: { if (field_0x51c.pane->isVisible()) { field_0x51c.pane->hide(); field_0x474.pane->hide(); field_0x4ac.pane->hide(); } s32 ret = paneTransButtonIcon(field_0x1bb4 - g_snHIO.field_0xf, g_snHIO.field_0xe, g_snHIO.field_0xc, 0.0f, 1); field_0x1bb4++; if (ret == 1) { field_0x1bb4 = 0; field_0x1bb6 = 6; dFs_c->setIconMode(field_0x1bb6); } } break; case 2: { if (!field_0x51c.pane->isVisible()) { field_0x51c.pane->show(); field_0x474.pane->show(); field_0x4ac.pane->show(); } s32 ret = paneTransButtonIcon(field_0x1bb4 - g_snHIO.field_0xf, g_snHIO.field_0xe, g_snHIO.field_0xc, 0.0f, 1); field_0x1bb4++; if (ret == 1) { field_0x1bb4 = 0; field_0x1bb6 = 6; dFs_c->setIconMode(field_0x1bb6); } } break; case 3: { s32 ret = paneTransButtonIcon(field_0x1bb4 - g_snHIO.field_0xf, g_snHIO.field_0xe, 0.0f, g_snHIO.field_0xc, 0); field_0x1bb4++; if (ret == 1) { field_0x1bb4 = 0; field_0x1bb6 = 6; dFs_c->setIconMode(field_0x1bb6); } } break; case 4: { s32 ret = paneTransButtonIcon(field_0x1bb4 - g_snHIO.field_0xf, g_snHIO.field_0xe, 0.0f, g_snHIO.field_0xc, 0); field_0x1bb4++; if (ret == 1) { field_0x1bb4 = 0; if (!field_0x51c.pane->isVisible()) { field_0x51c.pane->show(); field_0x474.pane->show(); field_0x4ac.pane->show(); } field_0x1bb6 = 0; dFs_c->setIconMode(field_0x1bb6); } } break; case 5: { s32 ret = paneTransButtonIcon(field_0x1bb4 - g_snHIO.field_0xf, g_snHIO.field_0xe, 0.0f, g_snHIO.field_0xc, 0); field_0x1bb4++; if (ret == 1) { field_0x1bb4 = 0; if (field_0x51c.pane->isVisible()) { field_0x51c.pane->hide(); field_0x474.pane->hide(); field_0x4ac.pane->hide(); } field_0x1bb6 = 0; dFs_c->setIconMode(field_0x1bb6); } } break; case 6: break; } } /* 802319B4-80231A24 .text FileSelOpenMain__10dScnName_cFv */ void dScnName_c::FileSelOpenMain() { if (dFs_c->_open() != 1) { return; } if (fpcM_GetName(this) == PROC_NAMEEX_SCENE) { field_0x1bb6 = 2; } else { field_0x1bb6 = 1; } dFs_c->setIconMode(field_0x1bb6); mMainProc = 4; } /* 80231A24-80231A28 .text FileselOpenWait__10dScnName_cFv */ void dScnName_c::FileselOpenWait() {} /* 80231A28-80231A8C .text FileSelectMain__10dScnName_cFv */ void dScnName_c::FileSelectMain() { dFs_c->_move(); field_0x1bb6 = dFs_c->getIconMode(); if (fpcM_GetName(this) == PROC_NAME_SCENE) FileSelectMainNormal(); if (fpcM_GetName(this) == PROC_NAMEEX_SCENE) FileSelectMainExSave(); } /* 80231A8C-80231CB8 .text FileSelectMainNormal__10dScnName_cFv */ void dScnName_c::FileSelectMainNormal() { /* Nonmatching */ switch (dFs_c->field_0x392c) { case 1: field_0x1bb9 = 0; if (dFs_c->field_0x3914[dFs_c->saveSlot] != 0) { field_0x1bb6 = 3; mMainProc = 5; } else { dComIfGs_setCardToMemory(saveMemory, dFs_c->saveSlot); if (dFs_c->saveStatus[dFs_c->saveSlot] != 0 && !dComIfGs_isEventBit(dSv_event_flag_c::UNK_3510)) { field_0x1bb9 = 1; } u8 pictureNum = dComIfGs_getPictureNum(); if (dComIfGs_getPictureNum() != 0) { u8 failed = 0; u8 boxDataIdx = 0; u8 r25 = 0; card_pictdata* workBuf = &savePicDatabuf[dFs_c->saveSlot * 3]; for (s32 i = 0; i < 3; i++) { u32 mask = 1 << i; if ((dComIfGs_getEventReg(dSv_event_flag_c::UNK_89FF) & mask)) { workBuf++; continue; } if (mDoMemCdRWm_TestCheckSumPictData(workBuf)) { JKRMainRamToAram((u8*)workBuf, dComIfGp_getPictureBoxData(boxDataIdx), sizeof(card_pictdata), EXPAND_SWITCH_UNKNOWN0, 0, NULL, -1); boxDataIdx++; } else { failed++; } r25++; if (r25 == pictureNum) break; workBuf++; } dComIfGs_setPictureNum(pictureNum - failed); } dComIfGs_setEventReg(dSv_event_flag_c::UNK_89FF, 0); mDoMemCd_setPictDataPtr(NULL); dComIfGp_itemDataInit(); if (field_0x1bb9 != 0) { field_0x1bb6 = 3; mMainProc = 5; } else { field_0x55f = 0; mMainProc = 9; } } break; case 2: field_0x1bb6 = 3; mMainProc = 5; break; } } /* 80231CB8-80231D00 .text FileSelectMainExSave__10dScnName_cFv */ void dScnName_c::FileSelectMainExSave() { /* Nonmatching */ switch (dFs_c->field_0x392c) { case 1: field_0x558 = 0x2d; mMainProc = 13; return; case 2: case 3: field_0x1bb6 = 3; mMainProc = 5; return; default: return; } } /* 80231D00-80231D28 .text ResetWait__10dScnName_cFv */ void dScnName_c::ResetWait() { if (field_0x558) { field_0x558--; return; } mDoRst::onReset(); } /* 80231D28-80231E9C .text FileSelectClose__10dScnName_cFv */ void dScnName_c::FileSelectClose() { if (dFs_c->_close() == 1) { switch (dFs_c->field_0x392c) { case 2: if (fpcM_GetName(this) == PROC_NAMEEX_SCENE) { dMs_c->initialize(); dMs_c->field_0x053c = 1; dMs_c->field_0x053d = dFs_c->field_0x392f; // getErrType? if (dFs_c->field_0x392f == 2) { dMs_c->initializeEx(); } mMainProc = 10; mDrawProc = 3; } else { field_0x55d = 0; cloth.cloth_c->init(); mMainProc = 0; field_0x556 = 0; mDrawProc = 0; } cloth.cloth_c->alpha_out(); break; case 3: cloth.cloth_c->alpha_out(); dMs_c->initialize(); mMainProc = 10; mDrawProc = 3; break; case 1: if (field_0x1bb9) { dNm_c->setNextNameStr((char*)dComIfGs_getPlayerName()); } else { dNm_c->setNextNameStr(""); } dNm_c->initial(); mMainProc = 6; field_0x555 = 0; mDrawProc = 2; break; } } } /* 80231E9C-80231EC0 .text FileSelectDraw__10dScnName_cFv */ void dScnName_c::FileSelectDraw() { dFs_c->_draw(); } /* 80231EC0-80231EF8 .text NameInOpen__10dScnName_cFv */ void dScnName_c::NameInOpen() { (this->*(NameOpenProc[field_0x555]))(); } /* 80231EF8-80231F44 .text NameOpenMain__10dScnName_cFv */ void dScnName_c::NameOpenMain() { if (dNm_c->_open() == true) { field_0x1bb6 = 0; mMainProc = 7; } } /* 80231F44-80231F48 .text NameOpenWait__10dScnName_cFv */ void dScnName_c::NameOpenWait() {} /* 80231F48-80231FF4 .text NameInMain__10dScnName_cFv */ void dScnName_c::NameInMain() { dNm_c->_move(); if (dNm_c->isInputEnd() == 1) { if (!field_0x1bb9) { dComIfGs_init(); dComIfGp_itemDataInit(); } dComIfGs_setPlayerName(dNm_c->getInputStrPtr()); field_0x55f = 1; mMainProc = 9; } else if (dNm_c->isInputEnd() == 2) { field_0x1bb6 = 3; mMainProc = 8; } } /* 80231FF4-80232050 .text NameInClose__10dScnName_cFv */ void dScnName_c::NameInClose() { if ((BOOL)dNm_c->_close() == TRUE) { dFs_c->initial(); mMainProc = 3; field_0x555 = 0; mDrawProc = 1; } } /* 80232050-80232074 .text NameInDraw__10dScnName_cFv */ void dScnName_c::NameInDraw() { dNm_c->draw(); } /* 80232074-802320C0 .text ShopDemoDataLoad__10dScnName_cFv */ void dScnName_c::ShopDemoDataLoad() { field_0x410 = mDoDvdThd_toMainRam_c::create("/res/ShopDemo/zelda_save.bin", 0, NULL); mMainProc = 15; } /* 802320C0-8023213C .text ShopDemoDataSet__10dScnName_cFv */ void dScnName_c::ShopDemoDataSet() { if (field_0x410->sync()) { memcpy(saveMemory, ((u8*)field_0x410->getMemAddress()) + 8, sizeof(saveMemory)); delete field_0x410; mMainProc = 1; mDrawProc = 4; } } /* 8023213C-802321AC .text SaveOpen__10dScnName_cFv */ void dScnName_c::SaveOpen() { if (field_0x558) { field_0x558--; return; } if (dMs_c->_open() == 1) { field_0x1bb6 = 1; dFs_c->setIconMode(field_0x1bb6); mMainProc = 11; } } /* 802321AC-8023222C .text SaveMain__10dScnName_cFv */ void dScnName_c::SaveMain() { switch (dMs_c->getSaveStatus()) { case 2: dMs_c->_move(); if (dMs_c->getEndStatus() == 0) { field_0x558 = 0x2d; mMainProc = 13; } break; case 3: field_0x1bb6 = 3; mMainProc = 12; break; } } /* 8023222C-80232278 .text SaveClose__10dScnName_cFv */ void dScnName_c::SaveClose() { if (dMs_c->_close() == true) { mMainProc = 1; mDrawProc = 4; } } /* 80232278-8023229C .text SaveDraw__10dScnName_cFv */ void dScnName_c::SaveDraw() { dMs_c->_draw2(); } /* 8023229C-802322A0 .text NoneDraw__10dScnName_cFv */ void dScnName_c::NoneDraw() { } /* 802322A0-80232338 .text changeGameScene__10dScnName_cFv */ void dScnName_c::changeGameScene() { if (fopOvlpM_IsPeek()) return; dComIfGs_gameStart(); u32 procName = field_0x55f ? PROC_OPEN_SCENE : PROC_PLAY_SCENE; if (fopScnM_ChangeReq(this, procName, PROC_OVERLAP0, 5)) { g_dComIfG_gameInfo.save.getDan().mStageNo = -1; dComIfGs_setRestartRoomParam(0); mDoAud_setSceneName(dComIfGp_getNextStageName(), dComIfGp_getNextStageRoomNo(), dComIfGp_getNextStageLayer()); } } /* 80232338-80232358 .text dScnName_Draw__FP10dScnName_c */ static BOOL dScnName_Draw(dScnName_c* i_this) { return i_this->draw(); } /* 80232358-80232378 .text dScnName_Execute__FP10dScnName_c */ static BOOL dScnName_Execute(dScnName_c* i_this) { return i_this->execute(); } /* 80232378-80232380 .text dScnName_IsDelete__FP10dScnName_c */ static BOOL dScnName_IsDelete(dScnName_c*) { return TRUE; } /* 80232380-802323A8 .text dScnName_Delete__FP10dScnName_c */ static BOOL dScnName_Delete(dScnName_c* i_this) { i_this->~dScnName_c(); return TRUE; } /* 802323A8-802323F8 .text dScnName_Create__FP11scene_class */ static cPhs_State dScnName_Create(scene_class* i_scn) { dScnName_c* i_this = new (i_scn) dScnName_c(); return i_this->create(); } /* 802323F8-8023245C .text draw__13dDlst_BTICN_cFv */ void dDlst_BTICN_c::draw() { J2DOrthoGraph* graf = dComIfGp_getCurrentGrafPort(); graf->setPort(); scr->draw(0.0f, 0.0f, graf); } /* 8023245C-80232518 .text draw__19dDlst_FLSEL_CLOTH_cFv */ void dDlst_FLSEL_CLOTH_c::draw() { Mtx44 mtx; view_port_class* viewport = dComIfGp_getCurrentViewport(); f32 aspect = viewport->mWidth / viewport->mHeight; C_MTXPerspective(mtx, 30.0f, aspect * fapGmHIO_getAspectRatio(), 1.0f, 100000.0f); GXSetProjection(mtx, GX_PERSPECTIVE); cloth_c->draw(0.0f, (GXColor){0xe3, 0xff, 0xb3, 0xff}, (GXColor){0x00, 0x00, 0x00, 0x00}, 0); dComIfGp_getCurrentGrafPort()->setPort(); } scene_method_class l_dScnName_Method = { (process_method_func)dScnName_Create, (process_method_func)dScnName_Delete, (process_method_func)dScnName_Execute, (process_method_func)dScnName_IsDelete, (process_method_func)dScnName_Draw, }; scene_process_profile_definition g_profile_NAME_SCENE = { /* LayerID */ fpcLy_ROOT_e, /* ListID */ 1, /* ListPrio */ fpcPi_CURRENT_e, /* ProcName */ PROC_NAME_SCENE, /* Proc SubMtd */ &g_fpcNd_Method.base, /* Size */ sizeof(dScnName_c), /* SizeOther */ 0, /* Parameters */ 0, /* Node SubMtd */ &g_fopScn_Method.base, /* Scene SubMtd */ &l_dScnName_Method, }; scene_process_profile_definition g_profile_NAMEEX_SCENE = { /* LayerID */ fpcLy_ROOT_e, /* ListID */ 1, /* ListPrio */ fpcPi_CURRENT_e, /* ProcName */ PROC_NAMEEX_SCENE, /* Proc SubMtd */ &g_fpcNd_Method.base, /* Size */ sizeof(dScnName_c), /* SizeOther */ 0, /* Parameters */ 0, /* Node SubMtd */ &g_fopScn_Method.base, /* Scene SubMtd */ &l_dScnName_Method, };