diff --git a/include/d/d_ovlp_fade2.h b/include/d/d_ovlp_fade2.h new file mode 100644 index 000000000..3a4fc3711 --- /dev/null +++ b/include/d/d_ovlp_fade2.h @@ -0,0 +1,28 @@ +#ifndef D_OVLP_FADE2_H +#define D_OVLP_FADE2_H + +#include "d/d_drawlist.h" +#include "f_op/f_op_overlap_mng.h" + +class dOvlpFd2_dlst_c : public dDlst_base_c { +public: + ~dOvlpFd2_dlst_c() {} + void draw(); +}; + +class dOvlpFd2_c : public overlap_task_class { +public: + dOvlpFd2_c(); + void execFirstSnap(); + void execFadeOut(); + void execNextSnap(); + void execFadeIn(); + + /* 0x0CC */ void (dOvlpFd2_c::*field_0xcc)(); + /* 0x0D8 */ dDlst_snapShot_c field_0xd8; + /* 0x0DC */ dOvlpFd2_dlst_c field_0xdc; + /* 0x0E0 */ u8 field_0xe0[0x11D - 0xE0]; + /* 0x11D */ u8 field_0x11d; +}; + +#endif /* D_OVLP_FADE2_H */ diff --git a/include/d/d_ovlp_fade4.h b/include/d/d_ovlp_fade4.h new file mode 100644 index 000000000..796eca97d --- /dev/null +++ b/include/d/d_ovlp_fade4.h @@ -0,0 +1,85 @@ +#ifndef D_OVLP_FADE4_H +#define D_OVLP_FADE4_H + +#include "d/d_drawlist.h" +#include "f_op/f_op_overlap_mng.h" + +class dDlst_snapShot2_c : public dDlst_base_c { +public: + ~dDlst_snapShot2_c() {} + void draw(); + + /* 0x04 */ void* field_0x4; + /* 0x08 */ u16 field_0x8; + /* 0x0A */ u16 field_0xa; +}; + +class dDlst_2Dt_Sp_c : public dDlst_base_c { +public: + ~dDlst_2Dt_Sp_c() {} + void draw(); + void init(ResTIMG*, f32, f32, f32, f32, _GXColor); + + /* 0x04 */ GXTexObj field_0x4; + /* 0x24 */ ResTIMG* field_0x24; + /* 0x28 */ void* field_0x28; + /* 0x2C */ u32 field_0x2c; + /* 0x30 */ u32 field_0x30; + /* 0x34 */ f32 field_0x34; + /* 0x38 */ f32 field_0x38; + /* 0x3C */ f32 field_0x3c; + /* 0x40 */ f32 field_0x40; + /* 0x44 */ GXColor field_0x44; + /* 0x48 */ f32 field_0x48; +}; + +class dDlst_2DtEff1_c : public dDlst_base_c { +public: + ~dDlst_2DtEff1_c() {} + void init(_GXColor); + void draw(); + + /* 0x004 */ f32 field_0x4; + /* 0x008 */ u8 field_0x8[0xC - 0x8]; + /* 0x00C */ dDlst_snapShot2_c field_0xc; + /* 0x018 */ dDlst_2Dt_Sp_c field_0x18; + /* 0x064 */ dDlst_snapShot2_c field_0x64; + /* 0x070 */ dDlst_2Dt_Sp_c field_0x70; + /* 0x0BC */ dDlst_snapShot2_c field_0xbc; + /* 0x0C8 */ dDlst_2Dt_Sp_c field_0xc8; + /* 0x114 */ short field_0x114; + /* 0x118 */ short field_0x118; +}; + +class dOvlpFd4_c : public overlap_task_class { +public: + dOvlpFd4_c(); + void drawFadeOut(); + void drawFadeIn(); + void execFirstSnap(); + void execFadeOut(); + void execNextSnap(); + void execFadeIn(); + + /* 0x0CC */ void (dOvlpFd4_c::*field_0xcc)(); + /* 0x0D8 */ void (dOvlpFd4_c::*field_0xd8)(); + /* 0x0E4 */ dDlst_snapShot2_c field_0xe4; + /* 0x0F0 */ dDlst_snapShot2_c field_0xf0; + /* 0x0FC */ dDlst_2Dt_Sp_c field_0xfc; + /* 0x148 */ dDlst_2Dt_Sp_c field_0x148; + /* 0x194 */ dDlst_2DtEff1_c field_0x194; + /* 0x2AC */ u8 field_0x2ac; + /* 0x2AD */ u8 field_0x2ad; + /* 0x2AE */ u8 field_0x2ae; + /* 0x2B0 */ short field_0x2b0; + /* 0x2B4 */ f32 field_0x2b4; + /* 0x2B8 */ u8 field_0x2b8[0x2BC - 0x2B8]; + /* 0x2BC */ f32 field_0x2bc; + /* 0x2C0 */ u8 field_0x2c0; + /* 0x2C1 */ u8 field_0x2c1; + /* 0x2C2 */ u8 field_0x2c2[0x2C8 - 0x2C2]; + /* 0x2C8 */ f32 field_0x2c8; + /* 0x2CC */ u8 field_0x2cc; +}; + +#endif /* D_OVLP_FADE4_H */ diff --git a/include/d/d_s_name.h b/include/d/d_s_name.h new file mode 100644 index 000000000..d764887df --- /dev/null +++ b/include/d/d_s_name.h @@ -0,0 +1,163 @@ +#ifndef D_S_NAME +#define D_S_NAME + +#include "d/d_drawlist.h" +#include "f_op/f_op_msg_mng.h" +#include "f_op/f_op_scene.h" + +class J2DScreen; +class JKRMemArchive; +class dFile_error_c; +class dFile_select_c; +class dMCloth; +class dMenu_save_c; +class dName_c; +class mDoDvdThd_toMainRam_c; + +class dSn_HIO_c { +public: + dSn_HIO_c(); + virtual ~dSn_HIO_c() {} + + /* 0x04 */ u8 field_0x4; + /* 0x05 */ u8 field_0x5; + /* 0x06 */ u8 field_0x6; + /* 0x07 */ u8 field_0x7; + /* 0x08 */ u8 field_0x8; + /* 0x09 */ u8 field_0x9; + /* 0x0A */ u8 field_0xa; + /* 0x0B */ u8 field_0xb; + /* 0x0C */ s16 field_0xc; + /* 0x0E */ u8 field_0xe; + /* 0x0F */ u8 field_0xf; + /* 0x10 */ u8 field_0x10; + /* 0x11 */ u8 field_0x11; + /* 0x12 */ u8 field_0x12; + /* 0x13 */ u8 field_0x13; + /* 0x14 */ u8 field_0x14; + /* 0x15 */ u8 field_0x15; + /* 0x16 */ u8 field_0x16; + /* 0x17 */ u8 field_0x17; + /* 0x18 */ u8 field_0x18; + /* 0x19 */ u8 field_0x19; + /* 0x1A */ u8 field_0x1a; + /* 0x1B */ u8 field_0x1b; +}; + +class dDlst_BTICN_c : public dDlst_base_c { +public: + ~dDlst_BTICN_c() {} + void draw(); + + /* 0x04 */ J2DScreen* scr; +}; + +class dDlst_FLSEL_CLOTH_c : public dDlst_base_c { +public: + ~dDlst_FLSEL_CLOTH_c() {} + void draw(); + + /* 0x04 */ dMCloth* cloth_c; +}; + +class dScnName_c : public scene_class { +public: + ~dScnName_c(); + s32 create(); + void cloth_create(); + void cloth_move(); + void cloth2D_create(); + void buttonIconCreate(); + void paneTransButtonIcon(s16, u8, f32, f32, u8); + s32 execute(); + void setView(); + s32 draw(); + void MemCardCheckMain(); + void MemCardStatCheck(); + void MemCardLoadWait(); + void MemCardErrMsgWaitKey(); + void MemCardErrMsgWaitKey2(); + void MemCardGotoIPLSelect(); + void MemCardGotoIPL(); + void MemCardErrMsgWaitNoSaveSel(); + void MemCardErrMsgWaitFormatSel(); + void MemCardErrMsgWaitFormatSel2(); + void MemCardFormat(); + void MemCardFormatCheck(); + void MemCardMakeGameFileSel(); + void MemCardMakeGameFile(); + void MemCardMakeGameFileCheck(); + void MemCardGotoFileSelect(); + void MemCardCheckDbg(); + void MemCardCheckDbgWait(); + void FileErrorDraw(); + void NoteOpen(); + void NoteOpenWait(); + void FileSelectOpen(); + void buttonIconProc(); + void FileSelOpenMain(); + void FileselOpenWait(); + void FileSelectMain(); + void FileSelectMainNormal(); + void FileSelectMainExSave(); + void ResetWait(); + void FileSelectClose(); + void FileSelectDraw(); + void NameInOpen(); + void NameOpenMain(); + void NameOpenWait(); + void NameInMain(); + void NameInClose(); + void NameInDraw(); + void ShopDemoDataLoad(); + void ShopDemoDataSet(); + void SaveOpen(); + void SaveMain(); + void SaveClose(); + void SaveDraw(); + void NoneDraw(); + void changeGameScene(); + + /* 0x1C4 */ request_of_phase_process_class mPhs; + /* 0x1CC */ JKRHeap* heap; + /* 0x1D0 */ JKRHeap* field_0x1d0; + /* 0x1D4 */ u8 field_0x1d4[0x29C - 0x1D4]; + /* 0x29C */ f32 field_0x29c; + /* 0x2A0 */ f32 field_0x2a0; + /* 0x2A4 */ f32 field_0x2a4; + /* 0x2A8 */ f32 field_0x2a8; + /* 0x2AC */ Vec field_0x2ac; + /* 0x2B8 */ Vec field_0x2b8; + /* 0x2C4 */ u8 field_0x2c4[0x2D0 - 0x2C4]; + /* 0x2D0 */ s16 field_0x2d0; + /* 0x2D4 */ Mtx44 field_0x2d4; + /* 0x314 */ Mtx field_0x314; + /* 0x344 */ Mtx field_0x344; + /* 0x374 */ Mtx field_0x374; + /* 0x3A4 */ u8 field_0x3a4[0x3B4 - 0x3A4]; + /* 0x3B4 */ Mtx field_0x3b4; + /* 0x3E4 */ u8 field_0x3e4[0x40C - 0x3E4]; + /* 0x40C */ JKRMemArchive* field_0x40c; + /* 0x410 */ mDoDvdThd_toMainRam_c* field_0x410; + /* 0x414 */ dDlst_BTICN_c btnIcon; + /* 0x41C */ dDlst_FLSEL_CLOTH_c cloth; + /* 0x424 */ dName_c* dNm_c; + /* 0x428 */ dFile_select_c* dFs_c; + /* 0x42C */ dFile_error_c* dFe_c; + /* 0x430 */ dMenu_save_c* dMs_c; + /* 0x434 */ u8 field_0x434[0x43C - 0x434]; + /* 0x43C */ fopMsgM_pane_class field_0x43c; + /* 0x474 */ fopMsgM_pane_class field_0x474; + /* 0x4AC */ fopMsgM_pane_class field_0x4ac; + /* 0x4E4 */ fopMsgM_pane_class field_0x4e4; + /* 0x41C */ fopMsgM_pane_class field_0x51c; + /* 0x554 */ u8 field_0x554[0x560 - 0x554]; + /* 0x560 */ u8 field_0x560[0x1650]; + /* 0x1BB0 */ void* savePicDatabuf; + /* 0x1BB4 */ short field_0x1bb4; + /* 0x1BB6 */ u8 field_0x1bb6; + /* 0x1BB7 */ u8 field_0x1bb7[0x1BBC - 0x1BB7]; + /* 0x1BBC */ int field_0x1bbc; +}; + +#endif /* D_S_NAME */ diff --git a/src/d/d_ovlp_fade2.cpp b/src/d/d_ovlp_fade2.cpp index c4daa8e6f..8d479e7df 100644 --- a/src/d/d_ovlp_fade2.cpp +++ b/src/d/d_ovlp_fade2.cpp @@ -3,8 +3,11 @@ // Translation Unit: d_ovlp_fade2.cpp // -#include "d_ovlp_fade2.h" -#include "dolphin/types.h" +#include "d/d_ovlp_fade2.h" +#include "d/d_com_inf_game.h" +#include "d/d_procname.h" +#include "f_op/f_op_overlap.h" +#include "new.h" /* 802237F4-80223D20 .text draw__15dOvlpFd2_dlst_cFv */ void dOvlpFd2_dlst_c::draw() { @@ -13,7 +16,9 @@ void dOvlpFd2_dlst_c::draw() { /* 80223D20-80223D84 .text __ct__10dOvlpFd2_cFv */ dOvlpFd2_c::dOvlpFd2_c() { - /* Nonmatching */ + field_0xcc = &dOvlpFd2_c::execFirstSnap; + dComIfGp_2dShowOff(); + field_0x11d = 2; } /* 80223D84-80223E18 .text execFirstSnap__10dOvlpFd2_cFv */ @@ -42,32 +47,59 @@ void dOvlpFd2_Draw(dOvlpFd2_c*) { } /* 80224200-8022422C .text dOvlpFd2_Execute__FP10dOvlpFd2_c */ -void dOvlpFd2_Execute(dOvlpFd2_c*) { - /* Nonmatching */ +s32 dOvlpFd2_Execute(dOvlpFd2_c* i_this) { + (i_this->*i_this->field_0xcc)(); + return 1; } /* 8022422C-80224234 .text dOvlpFd2_IsDelete__FP10dOvlpFd2_c */ -void dOvlpFd2_IsDelete(dOvlpFd2_c*) { - /* Nonmatching */ +s32 dOvlpFd2_IsDelete(dOvlpFd2_c*) { + return 1; } /* 80224234-8022423C .text dOvlpFd2_Delete__FP10dOvlpFd2_c */ -void dOvlpFd2_Delete(dOvlpFd2_c*) { - /* Nonmatching */ +s32 dOvlpFd2_Delete(dOvlpFd2_c*) { + return 1; } /* 8022423C-80224268 .text dOvlpFd2_Create__FPv */ -void dOvlpFd2_Create(void*) { - /* Nonmatching */ +s32 dOvlpFd2_Create(void* i_this) { + new (i_this) dOvlpFd2_c(); + return 4; } -/* 80224284-802242E0 .text __dt__15dOvlpFd2_dlst_cFv */ -dOvlpFd2_dlst_c::~dOvlpFd2_dlst_c() { - /* Nonmatching */ -} +overlap_method_class l_dOvlpFd2_Method = { + (process_method_func)dOvlpFd2_Create, + (process_method_func)dOvlpFd2_Delete, + (process_method_func)dOvlpFd2_Execute, + (process_method_func)dOvlpFd2_IsDelete, + (process_method_func)dOvlpFd2_Draw, +}; -/* 802242E0-8022433C .text __dt__16dDlst_snapShot_cFv */ -dDlst_snapShot_c::~dDlst_snapShot_c() { - /* Nonmatching */ -} +overlap_process_profile_definition g_profile_OVERLAP2 = { + fpcLy_ROOT_e, + 2, + fpcPi_CURRENT_e, + PROC_OVERLAP2, + &g_fpcLf_Method.mBase, + sizeof(dOvlpFd2_c), + 0, + 0, + &g_fopOvlp_Method, + 0x1E3, + &l_dOvlpFd2_Method, +}; +overlap_process_profile_definition g_profile_OVERLAP3 = { + fpcLy_ROOT_e, + 2, + fpcPi_CURRENT_e, + PROC_OVERLAP3, + &g_fpcLf_Method.mBase, + sizeof(dOvlpFd2_c), + 0, + 0, + &g_fopOvlp_Method, + 0x1E4, + &l_dOvlpFd2_Method, +}; diff --git a/src/d/d_ovlp_fade4.cpp b/src/d/d_ovlp_fade4.cpp index d396e1ccb..2d6e5e90c 100644 --- a/src/d/d_ovlp_fade4.cpp +++ b/src/d/d_ovlp_fade4.cpp @@ -3,8 +3,12 @@ // Translation Unit: d_ovlp_fade4.cpp // -#include "d_ovlp_fade4.h" -#include "dolphin/types.h" +#include "d/d_ovlp_fade4.h" +#include "d/d_com_inf_game.h" +#include "d/d_procname.h" +#include "f_op/f_op_overlap.h" +#include "m_Do/m_Do_graphic.h" +#include "new.h" /* 80224390-80224484 .text init__15dDlst_2DtEff1_cF8_GXColor */ void dDlst_2DtEff1_c::init(_GXColor) { @@ -22,12 +26,12 @@ void dDlst_snapShot2_c::draw() { } /* 80224748-80224884 .text dDlst_setResTimgObj__FPC7ResTIMGP9_GXTexObjPvUlUl */ -void dDlst_setResTimgObj(const ResTIMG*, _GXTexObj*, void*, unsigned long, unsigned long) { +void dDlst_setResTimgObj(const ResTIMG*, _GXTexObj*, void*, u32, u32) { /* Nonmatching */ } /* 80224884-802249C4 .text cnvAddress__FffPfPf */ -void cnvAddress(float, float, float*, float*) { +void cnvAddress(f32, f32, f32*, f32*) { /* Nonmatching */ } @@ -37,13 +41,35 @@ void dDlst_2Dt_Sp_c::draw() { } /* 80224CC4-80224DBC .text init__14dDlst_2Dt_Sp_cFP7ResTIMGffff8_GXColor */ -void dDlst_2Dt_Sp_c::init(ResTIMG*, float, float, float, float, _GXColor) { +void dDlst_2Dt_Sp_c::init(ResTIMG*, f32, f32, f32, f32, _GXColor) { /* Nonmatching */ } /* 80224DBC-80224F98 .text __ct__10dOvlpFd4_cFv */ dOvlpFd4_c::dOvlpFd4_c() { /* Nonmatching */ + field_0x2ac = 1; + field_0xcc = &dOvlpFd4_c::execFirstSnap; + field_0xd8 = &dOvlpFd4_c::drawFadeOut; + if (mBase.mProcName == PROC_OVERLAP4) { + field_0xfc.init(mDoGph_gInf_c::mFrameBufferTimg, 0.0f, 0.0f, 640.0f, 480.0f, g_saftyWhiteColor); + } else { + GXColor tmp = {0, 0, 0, 0}; + field_0xfc.init(mDoGph_gInf_c::mFrameBufferTimg, 0.0f, 0.0f, 640.0f, 480.0f, tmp); + } + field_0x148.init(mDoGph_gInf_c::mFrameBufferTimg, 0.0f, 0.0f, 640.0f, 480.0f, g_whiteColor); + field_0xe4.field_0x4 = mDoGph_gInf_c::mFrameBufferTex; + field_0xe4.field_0x8 = 640; + field_0xe4.field_0xa = 480; + field_0xf0.field_0x4 = mDoGph_gInf_c::mFrameBufferTex; + field_0xf0.field_0x8 = 640; + field_0xf0.field_0xa = 480; + field_0x194.init(g_saftyWhiteColor); + dComIfGp_2dShowOff(); + field_0x2b0 = 2; + field_0x2ae = 39; + field_0x2b4 = 0.0f; + field_0x2ad = 0; } /* 80224F98-80225060 .text drawFadeOut__10dOvlpFd4_cFv */ @@ -77,42 +103,68 @@ void dOvlpFd4_c::execFadeIn() { } /* 802255F4-80225658 .text dOvlpFd4_Draw__FP10dOvlpFd4_c */ -void dOvlpFd4_Draw(dOvlpFd4_c*) { - /* Nonmatching */ +s32 dOvlpFd4_Draw(dOvlpFd4_c* i_this) { + void (dOvlpFd4_c::*tmp)() = i_this->field_0xd8; + if (tmp) { + (i_this->*i_this->field_0xd8)(); + } + return 1; } /* 80225658-80225684 .text dOvlpFd4_Execute__FP10dOvlpFd4_c */ -void dOvlpFd4_Execute(dOvlpFd4_c*) { - /* Nonmatching */ +s32 dOvlpFd4_Execute(dOvlpFd4_c* i_this) { + (i_this->*i_this->field_0xcc)(); + return 1; } /* 80225684-8022568C .text dOvlpFd4_IsDelete__FP10dOvlpFd4_c */ -void dOvlpFd4_IsDelete(dOvlpFd4_c*) { - /* Nonmatching */ +s32 dOvlpFd4_IsDelete(dOvlpFd4_c*) { + return 1; } /* 8022568C-80225694 .text dOvlpFd4_Delete__FP10dOvlpFd4_c */ -void dOvlpFd4_Delete(dOvlpFd4_c*) { - /* Nonmatching */ +s32 dOvlpFd4_Delete(dOvlpFd4_c*) { + return 1; } /* 80225694-802256C0 .text dOvlpFd4_Create__FPv */ -void dOvlpFd4_Create(void*) { - /* Nonmatching */ +s32 dOvlpFd4_Create(void* i_this) { + new (i_this) dOvlpFd4_c(); + return 4; } -/* 802256C0-80225810 .text __dt__15dDlst_2DtEff1_cFv */ -dDlst_2DtEff1_c::~dDlst_2DtEff1_c() { - /* Nonmatching */ -} +overlap_method_class l_dOvlpFd4_Method = { + (process_method_func)dOvlpFd4_Create, + (process_method_func)dOvlpFd4_Delete, + (process_method_func)dOvlpFd4_Execute, + (process_method_func)dOvlpFd4_IsDelete, + (process_method_func)dOvlpFd4_Draw, +}; -/* 80225810-8022586C .text __dt__14dDlst_2Dt_Sp_cFv */ -dDlst_2Dt_Sp_c::~dDlst_2Dt_Sp_c() { - /* Nonmatching */ -} - -/* 8022586C-802258C8 .text __dt__17dDlst_snapShot2_cFv */ -dDlst_snapShot2_c::~dDlst_snapShot2_c() { - /* Nonmatching */ -} +overlap_process_profile_definition g_profile_OVERLAP4 = { + fpcLy_ROOT_e, + 2, + fpcPi_CURRENT_e, + PROC_OVERLAP4, + &g_fpcLf_Method.mBase, + sizeof(dOvlpFd4_c), + 0, + 0, + &g_fopOvlp_Method, + 0x1E5, + &l_dOvlpFd4_Method, +}; +overlap_process_profile_definition g_profile_OVERLAP5 = { + fpcLy_ROOT_e, + 2, + fpcPi_CURRENT_e, + PROC_OVERLAP5, + &g_fpcLf_Method.mBase, + sizeof(dOvlpFd4_c), + 0, + 0, + &g_fopOvlp_Method, + 0x1E6, + &l_dOvlpFd4_Method, +}; diff --git a/src/d/d_s_name.cpp b/src/d/d_s_name.cpp index 63a3996e7..4abb4a763 100644 --- a/src/d/d_s_name.cpp +++ b/src/d/d_s_name.cpp @@ -3,36 +3,73 @@ // Translation Unit: d_s_name.cpp // -#include "d_s_name.h" -#include "dolphin/types.h" +#include "d/d_s_name.h" +#include "d/d_com_lib_game.h" +#include "d/d_procname.h" +#include "new.h" + +static Vec lit_2100 = {1.0f, 1.0f, 1.0f}; +static Vec lit_2080 = {1.0f, 1.0f, 1.0f}; + +dSn_HIO_c g_snHIO; /* 8022F86C-8022F8F0 .text __ct__9dSn_HIO_cFv */ dSn_HIO_c::dSn_HIO_c() { - /* Nonmatching */ + this->field_0x5 = 20; + this->field_0x6 = 15; + this->field_0x7 = 30; + this->field_0x8 = 0; + this->field_0x9 = 0; + this->field_0xa = 0; + this->field_0xb = 0; + this->field_0xe = 7; + this->field_0xc = -200; + this->field_0xf = 2; + this->field_0x10 = 0; + this->field_0x11 = 0; + this->field_0x12 = 0; + this->field_0x13 = 0; + this->field_0x14 = 0; + this->field_0x15 = 0; + this->field_0x16 = 0; + this->field_0x17 = 0; + this->field_0x18 = 0; + this->field_0x19 = 0; + this->field_0x1a = 0; + this->field_0x1b = 0; } /* 8022F8F0-8022F95C .text phase_1__FPc */ -void phase_1(char*) { +static void phase_1(char*) { /* Nonmatching */ } /* 8022F95C-8022F9B4 .text phase_2__FPc */ -void phase_2(char*) { +static void phase_2(char*) { /* Nonmatching */ } /* 8022F9B4-8022F9BC .text phase_3__FPc */ -void phase_3(char*) { - /* Nonmatching */ +static s32 phase_3(char*) { + return cPhs_COMPLEATE_e; } /* 8022F9BC-8022F9FC .text resLoad__FP30request_of_phase_process_classPc */ -void resLoad(request_of_phase_process_class*, char*) { +s32 resLoad(request_of_phase_process_class* param_1, char* param_2) { /* Nonmatching */ + static cPhs__Handler l_method[] = { + (cPhs__Handler)phase_1, + (cPhs__Handler)phase_2, + (cPhs__Handler)phase_3, + }; + if (param_1->id == 2) { + return cPhs_COMPLEATE_e; + } + return dComLbG_PhaseHandler(param_1, l_method, param_2); } /* 8022F9FC-802301C8 .text create__10dScnName_cFv */ -void dScnName_c::create() { +s32 dScnName_c::create() { /* Nonmatching */ } @@ -57,12 +94,69 @@ void dScnName_c::buttonIconCreate() { } /* 80230500-802305E0 .text paneTransButtonIcon__10dScnName_cFsUcffUc */ -void dScnName_c::paneTransButtonIcon(short, unsigned char, float, float, unsigned char) { +void dScnName_c::paneTransButtonIcon(s16, u8, f32, f32, u8) { /* Nonmatching */ } +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 */ -void dScnName_c::execute() { +s32 dScnName_c::execute() { /* Nonmatching */ } @@ -72,7 +166,7 @@ void dScnName_c::setView() { } /* 80230714-802307EC .text draw__10dScnName_cFv */ -void dScnName_c::draw() { +s32 dScnName_c::draw() { /* Nonmatching */ } @@ -162,9 +256,7 @@ void dScnName_c::MemCardGotoFileSelect() { } /* 802313AC-802313B0 .text MemCardCheckDbg__10dScnName_cFv */ -void dScnName_c::MemCardCheckDbg() { - /* Nonmatching */ -} +void dScnName_c::MemCardCheckDbg() {} /* 802313B0-80231428 .text MemCardCheckDbgWait__10dScnName_cFv */ void dScnName_c::MemCardCheckDbgWait() { @@ -202,9 +294,7 @@ void dScnName_c::FileSelOpenMain() { } /* 80231A24-80231A28 .text FileselOpenWait__10dScnName_cFv */ -void dScnName_c::FileselOpenWait() { - /* Nonmatching */ -} +void dScnName_c::FileselOpenWait() {} /* 80231A28-80231A8C .text FileSelectMain__10dScnName_cFv */ void dScnName_c::FileSelectMain() { @@ -247,9 +337,7 @@ void dScnName_c::NameOpenMain() { } /* 80231F44-80231F48 .text NameOpenWait__10dScnName_cFv */ -void dScnName_c::NameOpenWait() { - /* Nonmatching */ -} +void dScnName_c::NameOpenWait() {} /* 80231F48-80231FF4 .text NameInMain__10dScnName_cFv */ void dScnName_c::NameInMain() { @@ -297,9 +385,7 @@ void dScnName_c::SaveDraw() { } /* 8023229C-802322A0 .text NoneDraw__10dScnName_cFv */ -void dScnName_c::NoneDraw() { - /* Nonmatching */ -} +void dScnName_c::NoneDraw() {} /* 802322A0-80232338 .text changeGameScene__10dScnName_cFv */ void dScnName_c::changeGameScene() { @@ -307,28 +393,30 @@ void dScnName_c::changeGameScene() { } /* 80232338-80232358 .text dScnName_Draw__FP10dScnName_c */ -void dScnName_Draw(dScnName_c*) { - /* Nonmatching */ +s32 dScnName_Draw(dScnName_c* i_this) { + return i_this->draw(); } /* 80232358-80232378 .text dScnName_Execute__FP10dScnName_c */ -void dScnName_Execute(dScnName_c*) { - /* Nonmatching */ +s32 dScnName_Execute(dScnName_c* i_this) { + return i_this->execute(); } /* 80232378-80232380 .text dScnName_IsDelete__FP10dScnName_c */ -void dScnName_IsDelete(dScnName_c*) { - /* Nonmatching */ +s32 dScnName_IsDelete(dScnName_c*) { + return 1; } /* 80232380-802323A8 .text dScnName_Delete__FP10dScnName_c */ -void dScnName_Delete(dScnName_c*) { - /* Nonmatching */ +s32 dScnName_Delete(dScnName_c* i_this) { + i_this->~dScnName_c(); + return 1; } /* 802323A8-802323F8 .text dScnName_Create__FP11scene_class */ -void dScnName_Create(scene_class*) { - /* Nonmatching */ +s32 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 */ @@ -341,18 +429,38 @@ void dDlst_FLSEL_CLOTH_c::draw() { /* Nonmatching */ } -/* 80232518-80232574 .text __dt__19dDlst_FLSEL_CLOTH_cFv */ -dDlst_FLSEL_CLOTH_c::~dDlst_FLSEL_CLOTH_c() { - /* Nonmatching */ -} +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, +}; -/* 80232574-802325D0 .text __dt__13dDlst_BTICN_cFv */ -dDlst_BTICN_c::~dDlst_BTICN_c() { - /* Nonmatching */ -} - -/* 802325D0-80232618 .text __dt__9dSn_HIO_cFv */ -dSn_HIO_c::~dSn_HIO_c() { - /* Nonmatching */ -} +scene_process_profile_definition g_profile_NAME_SCENE = { + fpcLy_ROOT_e, + 1, + fpcPi_CURRENT_e, + PROC_NAME_SCENE, + &g_fpcNd_Method.mBase, + sizeof(dScnName_c), + 0, + 0, + &g_fopScn_Method.mBase, + &l_dScnName_Method, + NULL, +}; +scene_process_profile_definition g_profile_NAMEEX_SCENE = { + fpcLy_ROOT_e, + 1, + fpcPi_CURRENT_e, + PROC_NAMEEX_SCENE, + &g_fpcNd_Method.mBase, + sizeof(dScnName_c), + 0, + 0, + &g_fopScn_Method.mBase, + &l_dScnName_Method, + NULL, +};