tp/include/d/menu/d_menu_save.h

388 lines
14 KiB
C++

#ifndef D_MENU_D_MENU_SAVE_H
#define D_MENU_D_MENU_SAVE_H
#include "JSystem/J2DGraph/J2DScreen.h"
#include "d/d_lib.h"
#include "d/d_select_cursor.h"
#include "dolphin/types.h"
#include "m_Do/m_Do_dvd_thread.h"
class dMsgString_c;
class dFile_warning_c;
class dFile_info_c;
class dMsgScrnExplain_c;
class dDlst_MenuSaveExplain_c : public dDlst_base_c {
public:
dDlst_MenuSaveExplain_c() { mpScrn = NULL; }
/* 801F6ADC */ virtual void draw();
/* 801F6B8C */ virtual ~dDlst_MenuSaveExplain_c();
void setScrnExplain(dMsgScrnExplain_c* p_scrn) { mpScrn = p_scrn; }
private:
/* 0x4 */ dMsgScrnExplain_c* mpScrn;
};
class dDlst_MenuSave_c : public dDlst_base_c {
public:
dDlst_MenuSave_c() {
Scr = NULL;
mMsgString = NULL;
}
/* 801F6B0C */ virtual void draw();
/* 801F6B44 */ virtual ~dDlst_MenuSave_c();
/* 0x04 */ J2DScreen* Scr;
/* 0x08 */ JUTFont* font[2];
/* 0x10 */ dMsgString_c* mMsgString;
};
class dMs_HIO_c {
public:
/* 801EF654 */ dMs_HIO_c();
/* 801F6BD4 */ virtual ~dMs_HIO_c();
/* 0x4 */ s8 field_0x4;
/* 0x5 */ u8 mDisplayWaitFrames;
/* 0x6 */ u8 mCardWaitFrames;
/* 0x7 */ u8 mEffectDispFrames;
/* 0x8 */ u8 mCharSwitchFrames;
/* 0x9 */ u8 mSelectIcon;
/* 0xA */ u8 mSelectFrames;
/* 0xB */ u8 mFadeOutTimer;
/* 0xC */ bool mTitleMsgCheck;
/* 0xD */ u8 field_0xd;
/* 0xE */ bool mErrorMsgCheck;
/* 0xF */ u8 field_0xf;
};
class dMenu_save_c {
public:
enum {
TYPE_DEFAULT = 1,
TYPE_WHITE_EVENT = 3,
TYPE_BLACK_EVENT
};
enum {
CURSOR_NO,
CURSOR_YES,
};
enum {
/* 0x00 */ PROC_SAVE_QUESTION,
/* 0x01 */ PROC_SAVE_QUESTION2,
/* 0x02 */ PROC_SAVE_QUESTION21,
/* 0x03 */ PROC_SAVE_QUESTION3,
/* 0x04 */ PROC_SAVE_QUESTION4,
/* 0x05 */ PROC_SAVE_GUIDE,
/* 0x06 */ PROC_MEMCARD_CHECK,
/* 0x07 */ PROC_BACK_SAVE_QUESTION,
/* 0x08 */ PROC_BACK_SAVE_QUESTION2,
/* 0x09 */ PROC_MEMCARD_ERRMSG_WAIT_KEY,
/* 0x0A */ PROC_IPL_SELECT_DISP1,
/* 0x0B */ PROC_IPL_SELECT_DISP2,
/* 0x0C */ PROC_MEMCARD_ERR_GO_IPL_SEL,
/* 0x0D */ PROC_IPL_SELECT2_DISP,
/* 0x0E */ PROC_MEMCARD_ERR_GO_IPL_SEL2,
/* 0x0F */ PROC_MEMCARD_ERR_GOTO_IPL,
/* 0x10 */ PROC_MEMCARD_ERRMSG_WAIT_FORMAT_SEL,
/* 0x11 */ PROC_CARD_FORMAT_YES_SEL_DISP,
/* 0x12 */ PROC_CARD_FORMAT_NO_SEL_DISP,
/* 0x13 */ PROC_MEMCARD_ERRMSG_WAIT_FORMAT_SEL2,
/* 0x14 */ PROC_CARD_FORMAT_YES_SEL2_DISP,
/* 0x15 */ PROC_MEMCARD_FORMAT,
/* 0x16 */ PROC_MEMCARD_FORMAT_WAIT,
/* 0x17 */ PROC_MAKE_GAME_FILE_SEL_DISP,
/* 0x18 */ PROC_MEMCARD_MAKE_GAME_FILE_SEL,
/* 0x19 */ PROC_MAKE_GAME_FILE_DISP,
/* 0x1A */ PROC_MEMCARD_MAKE_GAME_FILE,
/* 0x1B */ PROC_MEMCARD_MAKE_GAME_FILE_WAIT,
/* 0x1C */ PROC_MEMCARD_COMMAND_END,
/* 0x1D */ PROC_MEMCARD_COMMAND_END2,
/* 0x1E */ PROC_MEMCARD_DATA_LOAD_WAIT,
/* 0x1F */ PROC_MEMCARD_DATA_SAVE_WAIT,
/* 0x20 */ PROC_MEMCARD_DATA_SAVE_WAIT2,
/* 0x21 */ PROC_GAME_CONTINUE_DISP,
/* 0x22 */ PROC_GAME_CONTINUE,
/* 0x23 */ PROC_GAME_CONTINUE2,
/* 0x24 */ PROC_GAME_CONTINUE3,
/* 0x25 */ PROC_SAVE_END,
/* 0x26 */ PROC_ENDING_NO_SAVE,
/* 0x27 */ PROC_ENDING_NO_SAVE2,
/* 0x28 */ PROC_ENDING_DATA_CHECK,
/* 0x29 */ PROC_SAVE_WAIT,
/* 0x2A */ PROC_MESSAGE_CHANGE,
/* 0x2B */ PROC_RETRY_QUESTION0,
/* 0x2C */ PROC_RETRY_QUESTION1,
/* 0x2D */ PROC_RETRY_QUESTION2,
/* 0x2E */ PROC_OPEN_SAVE_SELECT,
/* 0x2F */ PROC_OPEN_SAVE_SELECT2,
/* 0x30 */ PROC_OPEN_SAVE_SELECT3,
/* 0x31 */ PROC_SAVE_SELECT,
/* 0x32 */ PROC_SAVE_SELECT_MOVE_ANM,
/* 0x33 */ PROC_SELECT_DATA_OPEN_MOVE,
/* 0x34 */ PROC_SAVE_YES_NO_SELECT,
/* 0x35 */ PROC_YES_NO_CURSOR_MOVE_ANM,
/* 0x36 */ PROC_SAVE_YES_NO_CANCEL_MOVE,
/* 0x37 */ PROC_SAVE_MOVE_DISP,
/* 0x38 */ PROC_SAVE_MOVE_DISP2,
/* 0x39 */ PROC_MSG_WINDOW_INIT_OPEN,
/* 0x3A */ PROC_MSG_WINDOW_OPEN,
/* 0x3B */ PROC_MSG_WINDOW_CLOSE,
/* 0x3C */ PROC_ERR_YES_NO_CURSOR_MOVE_ANM,
};
/* 801EF6A0 */ dMenu_save_c();
/* 801EF7AC */ void _create();
/* 801EF904 */ void screenSet();
/* 801F0938 */ void initialize();
/* 801F0958 */ void displayInit();
/* 801F09AC */ bool _open();
/* 801F0B10 */ int _close();
/* 801F0B28 */ void _delete();
/* 801F1048 */ void _move();
/* 801F1100 */ void saveSelAnm();
/* 801F1148 */ void selFileWakuAnm();
/* 801F11F4 */ void bookIconAnm();
/* 801F12F0 */ void memCardWatch();
/* 801F1378 */ void saveQuestion();
/* 801F1558 */ void saveQuestion2();
/* 801F1620 */ void saveQuestion21();
/* 801F1644 */ void saveQuestion3();
/* 801F16B8 */ void saveQuestion4();
/* 801F16F4 */ void saveGuide();
/* 801F1720 */ void memCardCheck();
/* 801F191C */ void memCardErrMsgWaitKey();
/* 801F19A8 */ void backSaveQuestionInitSet();
/* 801F19DC */ void backSaveQuestion();
/* 801F1A48 */ void backSaveQuestion2();
/* 801F1B38 */ void closeSelect();
/* 801F1BF8 */ void closeSelect2();
/* 801F1C70 */ void iplSelMsgInitSet();
/* 801F1C94 */ void iplSelInitSet();
/* 801F1CEC */ void IPLSelectDisp1();
/* 801F1D54 */ void IPLSelectDisp2();
/* 801F1DD4 */ void memCardErrGoIPLSel();
/* 801F1E58 */ void IPLSelect2Disp();
/* 801F1EE0 */ void memCardErrGoIPLSel2();
/* 801F1F80 */ void memCardErrGotoIPL();
/* 801F2000 */ void memCardErrMsgWaitFormatSel();
/* 801F20AC */ void cardFormatYesSelDisp();
/* 801F2134 */ void cardFormatNoSelDisp();
/* 801F219C */ void memCardErrMsgWaitFormatSel2();
/* 801F2250 */ void cardFormatYesSel2Disp();
/* 801F22CC */ void memCardFormat();
/* 801F232C */ void memCardFormatWait();
/* 801F23A4 */ void gameFileMakeSelInitSet();
/* 801F23FC */ void makeGameFileSelDisp();
/* 801F247C */ void memCardMakeGameFileSel();
/* 801F2514 */ void makeGameFileDisp();
/* 801F25AC */ void memCardMakeGameFile();
/* 801F260C */ void memCardMakeGameFileWait();
/* 801F2698 */ void memCardCommandEnd();
/* 801F2708 */ void memCardCommandEnd2();
/* 801F27CC */ void memCardDataLoadWait();
/* 801F2840 */ void dataWrite();
/* 801F28E4 */ void memCardDataSaveWait();
/* 801F298C */ void memCardDataSaveWait2();
/* 801F2B5C */ void gameContinueDisp();
/* 801F2BF8 */ void gameContinue();
/* 801F2D78 */ void gameContinue2();
/* 801F2DA0 */ void gameContinue3();
/* 801F2DD4 */ void saveEnd();
/* 801F2E88 */ void endingNoSave();
/* 801F2F08 */ void endingNoSave2();
/* 801F2F38 */ void endingDataCheck();
/* 801F2F4C */ void retryQuestion0();
/* 801F2FB4 */ void retryQuestion1();
/* 801F3040 */ void retryQuestion2();
/* 801F30B8 */ void restartInit();
/* 801F31B0 */ void saveWait();
/* 801F31B4 */ void messageChange();
/* 801F328C */ int YesNoSelect();
/* 801F34BC */ void msgTxtSet(u16, bool);
/* 801F3588 */ void openSaveSelect();
/* 801F36B4 */ void openSaveSelect2();
/* 801F37A0 */ void openSaveSelect3();
/* 801F3934 */ void saveSelect();
/* 801F3A94 */ void saveSelectStart();
/* 801F3BE0 */ void selectDataOpenMove();
/* 801F3C7C */ void dataSelectAnmSet();
/* 801F3E30 */ void saveSelectMoveAnime();
/* 801F40D8 */ void saveYesNoSelect();
/* 801F4238 */ void yesnoSelectStart();
/* 801F42FC */ void saveMoveDisp();
/* 801F43F8 */ void saveMoveDisp2();
/* 801F4510 */ void yesnoSelectAnmSet(u8);
/* 801F46B4 */ void yesNoCursorMoveAnm();
/* 801F4724 */ void yesnoCancelAnmSet();
/* 801F47DC */ void saveYesNoCancelMove();
/* 801F485C */ void headerTxtSet(u16);
/* 801F4928 */ bool headerTxtChangeAnm();
/* 801F4A10 */ void errDispInitSet(int);
/* 801F4B84 */ void msgWindowInitOpen();
/* 801F4D10 */ void msgWindowOpen();
/* 801F4DAC */ void msgWindowClose();
/* 801F4E48 */ bool errYesNoSelect(u8, u8);
/* 801F4FB4 */ void errCurMove(u8, u8);
/* 801F5054 */ void errYesNoCursorMoveAnm();
/* 801F50C4 */ void errorTxtSet(u16);
/* 801F5190 */ bool errorTxtChangeAnm();
/* 801F5278 */ void saveSelectOpenInit();
/* 801F533C */ void selectDataBaseMoveAnmInitSet(int, int);
/* 801F53D4 */ bool selectDataBaseMoveAnm();
/* 801F54C0 */ void saveSelectOpenAnmSet();
/* 801F5508 */ void selectDataMoveAnmInitSet(int, int);
/* 801F5600 */ bool selectDataMoveAnm();
/* 801F5744 */ void yesnoMenuMoveAnmInitSet(int anmFrame, int frameMax, u8 param_2);
/* 801F58C8 */ bool yesnoMenuMoveAnm();
/* 801F5AE4 */ bool yesnoSelectMoveAnm(u8);
/* 801F5D84 */ void yesnoCursorShow();
/* 801F5EF4 */ void errorMoveAnmInitSet(int, int);
/* 801F5F84 */ bool errorMoveAnm();
/* 801F60A4 */ void modoruTxtDispAnmInit(u8);
/* 801F6120 */ bool modoruTxtDispAnm();
/* 801F61FC */ void ketteiTxtDispAnmInit(u8);
/* 801F6278 */ bool ketteiTxtDispAnm();
/* 801F6354 */ void selectWakuAlpahAnmInit(u8, u8, u8, u8);
/* 801F6390 */ bool selectWakuAlpahAnm(u8);
/* 801F6458 */ void selFileCursorShow();
/* 801F6608 */ void yesnoWakuAlpahAnmInit(u8, u8, u8, u8);
/* 801F6654 */ bool yesnoWakuAlpahAnm(u8);
/* 801F67B8 */ void dataSave();
/* 801F67F0 */ void setSaveData();
/* 801F6954 */ void setInitSaveData();
/* 801F69B8 */ void _draw();
/* 801F69FC */ void _draw2();
/* 802844D0 */ virtual ~dMenu_save_c();
u8 getSaveStatus() { return mSaveStatus; }
void setUseType(u8 type) { mUseType = type; }
private:
/* 0x0004 */ JKRArchive* mpArchive;
/* 0x0008 */ mDoDvdThd_mountArchive_c* mpMount;
/* 0x000C */ STControl* stick;
/* 0x0010 */ dDlst_MenuSaveExplain_c mMenuSaveExplain;
/* 0x0018 */ dDlst_MenuSave_c mSaveSel;
/* 0x002C */ dSelect_cursor_c* mSelIcon;
/* 0x0030 */ dFile_warning_c* mWarning;
/* 0x0034 */ dFile_info_c* mFileInfo[3];
/* 0x0040 */ J2DAnmTransformKey* field_0x40;
/* 0x0044 */ J2DAnmTransformKey* field_0x44;
/* 0x0048 */ J2DAnmTransformKey* field_0x48;
/* 0x004C */ J2DAnmTransformKey* field_0x4c;
/* 0x0050 */ s32 field_0x50;
/* 0x0054 */ u8 mSelectedFile;
/* 0x0055 */ u8 mLastSelFile;
/* 0x0058 */ CPaneMgr* mpSelectMoveBase;
/* 0x005C */ int mDataBaseMoveAnmFrame;
/* 0x0060 */ int mDataBaseMoveFrameMax;
/* 0x0064 */ u8 field_0x64;
/* 0x0065 */ u8 field_0x65;
/* 0x0068 */ CPaneMgr* mpSelData[3];
/* 0x0074 */ int field_0x74[3];
/* 0x0080 */ int field_0x80;
/* 0x0084 */ CPaneMgr* mpNoYes[2];
/* 0x008C */ int field_0x8c[2];
/* 0x0094 */ int mYesNoMoveAnmFrame;
/* 0x0098 */ int mYesNoMoveAnmMax;
/* 0x009C */ u8 field_0x9c;
/* 0x009D */ u8 field_0x9d;
/* 0x009E */ u8 field_0x9e;
/* 0x00A0 */ J2DPane* field_0xa0;
/* 0x00A4 */ u8 field_0xa4[0x10];
/* 0x00B4 */ J2DPane* field_0xb4;
/* 0x00B8 */ int field_0xb8;
/* 0x00BC */ int field_0xbc;
/* 0x00C0 */ CPaneMgrAlpha* mpErrTxtPane[2];
/* 0x00C8 */ char* mpErrTxt[2];
/* 0x00D0 */ u8 mErrTxtType;
/* 0x00D1 */ u8 mErrTxtAnmComplete;
/* 0x00D2 */ u8 field_0xd2;
/* 0x00D3 */ u8 field_0xd3;
/* 0x00D4 */ CPaneMgr* mpSelWakuMoyo[3];
/* 0x00E0 */ CPaneMgr* mpSelWakuGold[3];
/* 0x00EC */ CPaneMgr* mpSelWakuGold2[3];
/* 0x00F8 */ CPaneMgr* mpBookWaku[3];
/* 0x0104 */ u8 field_0x104[3];
/* 0x0107 */ u8 field_0x107[3];
/* 0x010A */ u8 field_0x10a[3];
/* 0x010D */ u8 field_0x10d[11];
/* 0x0118 */ CPaneMgr* mNoYesBase[2];
/* 0x0120 */ CPaneMgr* mNoYesGold[2];
/* 0x0128 */ CPaneMgr* mNoYesGold2[2];
/* 0x0130 */ u8 mNoYesWakuStartAlpha[2];
/* 0x0132 */ u8 mNoYesWakuEndAlpha[2];
/* 0x0134 */ u8 mNoYesWakuAnmTimer[2];
/* 0x0138 */ CPaneMgr* mpNoYesTxt[2];
/* 0x0140 */ J2DAnmColorKey* mpFileWakuAnm;
/* 0x0144 */ int mFileWakuAnmFrame;
/* 0x0148 */ J2DAnmTextureSRTKey* mpFileWakuRotAnm;
/* 0x014C */ int mFileWakuRotAnmFrame;
/* 0x0150 */ J2DAnmColorKey* field_0x150;
/* 0x0154 */ int field_0x154;
/* 0x0158 */ J2DAnmTextureSRTKey* field_0x158;
/* 0x015C */ int field_0x15c;
/* 0x0160 */ J2DAnmTevRegKey* field_0x160;
/* 0x0164 */ int field_0x164;
/* 0x0168 */ CPaneMgrAlpha* mpHeaderTxtPane[2];
/* 0x0170 */ char* mpHeaderTxt[2];
/* 0x0178 */ u8 mHeaderTxtType; // 0: Select Menu 1: YesNo Menu
/* 0x0179 */ u8 mHeaderAnmComplete;
/* 0x017A */ u8 field_0x17a;
/* 0x017B */ u8 field_0x17b;
/* 0x017C */ CPaneMgrAlpha* mpDataBase[3];
/* 0x0188 */ CPaneMgrAlpha* mpNoDataBase[3];
/* 0x0194 */ CPaneMgrAlpha* mpBBtnIcon;
/* 0x0198 */ CPaneMgrAlpha* mpABtnIcon;
/* 0x019C */ u8 field_0x19c;
/* 0x019D */ u8 field_0x19d;
/* 0x01A0 */ CPaneMgrAlpha* mpBackTxt;
/* 0x01A4 */ CPaneMgrAlpha* mpConfirmTxt;
/* 0x01A8 */ u8 field_0x1a8;
/* 0x01A9 */ u8 field_0x1a9;
/* 0x01AA */ u8 field_0x1aa[3];
/* 0x01AD */ u8 field_0x1ad[3];
/* 0x01B0 */ u8 mDisplayMenu;
/* 0x01B1 */ u8 field_0x1b1;
/* 0x01B2 */ u8 mMenuProc;
/* 0x01B3 */ u8 field_0x1b3;
/* 0x01B4 */ u8 field_0x1b4;
/* 0x01B5 */ u8 mErrProc;
/* 0x01B6 */ u8 mYesNoCursor;
/* 0x01B7 */ u8 mYesNoPrevCursor;
/* 0x01B8 */ u8 field_0x1b8;
/* 0x01B9 */ u8 field_0x1b9;
/* 0x01BA */ u8 mSaveStatus;
/* 0x01BB */ u8 mEndStatus;
/* 0x01BC */ u8 mUseType;
/* 0x01BD */ u8 mWaitTimer;
/* 0x01BE */ u8 field_0x1be;
/* 0x01BF */ u8 field_0x1bf;
/* 0x01C0 */ u8 field_0x1c0;
/* 0x01CC */ void (dMenu_save_c::*mpErrFunc)();
/* 0x01D0 */ u8 mSaveBuffer[0xA94 * 3];
/* 0x218C */ dMsgScrnExplain_c* mpScrnExplain;
/* 0x2190 */ u8 field_0x2190;
/* 0x2192 */ u16 field_0x2192;
/* 0x2194 */ u8 field_0x2194;
/* 0x2195 */ u8 field_0x2195;
/* 0x2198 */ int mCmdState;
/* 0x219C */ bool field_0x219c;
/* 0x219D */ u8 field_0x219d;
/* 0x219E */ u8 field_0x219e;
/* 0x219F */ u8 field_0x219f;
/* 0x21A0 */ u8 field_0x21a0;
/* 0x21A1 */ u8 field_0x21a1;
/* 0x21A2 */ u8 field_0x21a2;
/* 0x21A3 */ u8 field_0x21a3;
};
#endif /* D_MENU_D_MENU_SAVE_H */