83 lines
3.3 KiB
C++
83 lines
3.3 KiB
C++
enum MainMenuID {
|
|
//File Menu
|
|
ID_FILE_OPEN_ROM = 4000, ID_FILE_ROM_INFO, ID_FILE_STARTEMULATION, ID_FILE_ENDEMULATION,
|
|
ID_FILE_ROMDIRECTORY, ID_FILE_REFRESHROMLIST, ID_FILE_EXIT,
|
|
|
|
//language
|
|
ID_LANG_START, ID_LANG_END = ID_LANG_START + 100,
|
|
|
|
//Recent Files
|
|
ID_RECENT_ROM_START, ID_RECENT_ROM_END = ID_RECENT_ROM_START + 20,
|
|
|
|
//Recent Dir
|
|
ID_RECENT_DIR_START, ID_RECENT_DIR_END = ID_RECENT_DIR_START + 20,
|
|
|
|
//System Menu
|
|
ID_SYSTEM_RESET_SOFT, ID_SYSTEM_RESET_HARD, ID_SYSTEM_PAUSE, ID_SYSTEM_BITMAP,
|
|
ID_SYSTEM_LIMITFPS, ID_SYSTEM_RESTORE, ID_SYSTEM_LOAD, ID_SYSTEM_SAVE,
|
|
ID_SYSTEM_SAVEAS, ID_SYSTEM_CHEAT, ID_SYSTEM_GSBUTTON,
|
|
|
|
//Current Save Slot
|
|
ID_CURRENT_SAVE_1,ID_CURRENT_SAVE_2,ID_CURRENT_SAVE_3,ID_CURRENT_SAVE_4,ID_CURRENT_SAVE_5,
|
|
ID_CURRENT_SAVE_6,ID_CURRENT_SAVE_7,ID_CURRENT_SAVE_8,ID_CURRENT_SAVE_9,ID_CURRENT_SAVE_10,
|
|
ID_CURRENT_SAVE_DEFAULT,
|
|
|
|
//Option Menu
|
|
ID_OPTIONS_FULLSCREEN, ID_OPTIONS_FULLSCREEN2, ID_OPTIONS_ALWAYSONTOP, ID_OPTIONS_CONFIG_GFX,
|
|
ID_OPTIONS_CONFIG_AUDIO, ID_OPTIONS_CONFIG_CONT,ID_OPTIONS_CONFIG_RSP, ID_OPTIONS_CPU_USAGE,
|
|
ID_OPTIONS_SETTINGS, ID_OPTIONS_DISPLAY_FR, ID_OPTIONS_CHANGE_FR, ID_OPTIONS_INCREASE_SPEED,
|
|
ID_OPTIONS_DECREASE_SPEED,
|
|
|
|
//Debugger Menu
|
|
ID_DEBUG_SHOW_TLB_MISSES, ID_DEBUG_SHOW_UNHANDLED_MEM, ID_DEBUG_SHOW_PIF_ERRORS,
|
|
ID_DEBUG_SHOW_DLIST_COUNT, ID_DEBUG_SHOW_RECOMP_MEM_SIZE,ID_DEBUG_SHOW_DIV_BY_ZERO,
|
|
ID_DEBUG_GENERATE_LOG_FILES, ID_DEBUG_DISABLE_GAMEFIX,
|
|
ID_DEBUGGER_LOGOPTIONS, ID_DEBUGGER_GENERATELOG, ID_DEBUGGER_DUMPMEMORY, ID_DEBUGGER_SEARCHMEMORY,
|
|
ID_DEBUGGER_TLBENTRIES, ID_DEBUGGER_BREAKPOINTS, ID_DEBUGGER_MEMORY, ID_DEBUGGER_R4300REGISTERS,
|
|
ID_DEBUGGER_INTERRUPT_SP, ID_DEBUGGER_INTERRUPT_SI, ID_DEBUGGER_INTERRUPT_AI, ID_DEBUGGER_INTERRUPT_VI,
|
|
ID_DEBUGGER_INTERRUPT_PI, ID_DEBUGGER_INTERRUPT_DP,
|
|
|
|
// App logging
|
|
ID_DEBUGGER_APPLOG_ERRORS, ID_DEBUGGER_APPLOG_SETTINGS, ID_DEBUGGER_APPLOG_GFX_PLUGIN,
|
|
ID_DEBUGGER_APPLOG_DEBUG, ID_DEBUGGER_APPLOG_FLUSH, ID_DEBUGGER_APPLOG_RECOMPILER,
|
|
ID_DEBUGGER_APPLOG_RSP, ID_DEBUGGER_APPLOG_TLB, ID_DEBUGGER_APPLOG_AUDIO_EMU,
|
|
|
|
//Profile Menu
|
|
ID_PROFILE_PROFILE, ID_PROFILE_RESETCOUNTER, ID_PROFILE_GENERATELOG,
|
|
|
|
//Help Menu
|
|
ID_HELP_CONTENTS, ID_HELP_GAMEFAQ, ID_HELP_SUPPORTFORUM, ID_HELP_HOMEPAGE, ID_HELP_ABOUTSETTINGFILES, ID_HELP_ABOUT,
|
|
};
|
|
|
|
class CMainMenu :
|
|
public CBaseMenu,
|
|
private CDebugSettings
|
|
{
|
|
typedef std::list<SettingID> SettingList;
|
|
|
|
CMainGui * _Gui;
|
|
|
|
//MSC_MAP m_ShortCuts;
|
|
void * m_AccelTable;
|
|
bool m_ResetAccelerators;
|
|
CShortCuts m_ShortCuts;
|
|
SettingList m_ChangeSettingList;
|
|
CriticalSection m_CS;
|
|
|
|
void FillOutMenu ( HMENU hMenu );
|
|
//stdstr ShortCutString(MSC_MAP & ShortCuts, int MenuID, CMenuShortCutKey::ACCESS_MODE AccessLevel);
|
|
stdstr GetSaveSlotString ( int Slot );
|
|
stdstr GetFileLastMod ( stdstr FileName );
|
|
void RebuildAccelerators ( void );
|
|
|
|
static void SettingsChanged (CMainMenu * _this );
|
|
public:
|
|
CMainMenu ( CMainGui * Window );
|
|
~CMainMenu();
|
|
|
|
int ProcessAccelerator ( HWND hWnd, void * lpMsg );
|
|
bool ProcessMessage ( HWND hWnd, DWORD wNotifyCode, DWORD wID);
|
|
void ResetMenu ( void );
|
|
void ResetAccelerators ( void ) { m_ResetAccelerators = true; }
|
|
};
|