dolphin/Source/Core/DolphinWX/Globals.h
Léo Lam 239167245d Add a way to check the NAND for issues and fix them
Old versions of Dolphin are so broken regarding NAND handling that
we need this to repair common issues and avoid issues with titles
like the System Menu or the Wii Shop.

This isn't an exhaustive check, but this will catch most issues
and offer to fix them automatically (if possible).
2017-10-08 18:31:42 +02:00

343 lines
7.3 KiB
C

// Copyright 2008 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.
// This file holds global data for DolphinWx and DebuggerWx
#pragma once
#include <cstddef>
#include <wx/event.h>
enum
{
// Emulation menu
IDM_LOAD_STATE = 200,
IDM_SAVE_STATE,
IDM_SELECT_SLOT,
IDM_SAVE_FIRST_STATE,
IDM_UNDO_LOAD_STATE,
IDM_UNDO_SAVE_STATE,
IDM_LOAD_STATE_FILE,
IDM_SAVE_STATE_FILE,
IDM_SAVE_SLOT_1,
IDM_SAVE_SLOT_2,
IDM_SAVE_SLOT_3,
IDM_SAVE_SLOT_4,
IDM_SAVE_SLOT_5,
IDM_SAVE_SLOT_6,
IDM_SAVE_SLOT_7,
IDM_SAVE_SLOT_8,
IDM_SAVE_SLOT_9,
IDM_SAVE_SLOT_10,
IDM_LOAD_SLOT_1,
IDM_LOAD_SLOT_2,
IDM_LOAD_SLOT_3,
IDM_LOAD_SLOT_4,
IDM_LOAD_SLOT_5,
IDM_LOAD_SLOT_6,
IDM_LOAD_SLOT_7,
IDM_LOAD_SLOT_8,
IDM_LOAD_SLOT_9,
IDM_LOAD_SLOT_10,
IDM_LOAD_LAST_1,
IDM_LOAD_LAST_2,
IDM_LOAD_LAST_3,
IDM_LOAD_LAST_4,
IDM_LOAD_LAST_5,
IDM_LOAD_LAST_6,
IDM_LOAD_LAST_7,
IDM_LOAD_LAST_8,
IDM_LOAD_LAST_9,
IDM_LOAD_LAST_10,
IDM_SELECT_SLOT_1,
IDM_SELECT_SLOT_2,
IDM_SELECT_SLOT_3,
IDM_SELECT_SLOT_4,
IDM_SELECT_SLOT_5,
IDM_SELECT_SLOT_6,
IDM_SELECT_SLOT_7,
IDM_SELECT_SLOT_8,
IDM_SELECT_SLOT_9,
IDM_SELECT_SLOT_10,
IDM_SAVE_SELECTED_SLOT,
IDM_LOAD_SELECTED_SLOT,
IDM_PLAY,
IDM_STOP,
IDM_RESET,
IDM_TOGGLE_FULLSCREEN,
// Movie menu
IDM_RECORD,
IDM_PLAY_RECORD,
IDM_STOP_RECORD,
IDM_RECORD_EXPORT,
IDM_RECORD_READ_ONLY,
IDM_TAS_INPUT,
IDM_TOGGLE_PAUSE_MOVIE,
IDM_SHOW_LAG,
IDM_SHOW_FRAME_COUNT,
IDM_SHOW_INPUT_DISPLAY,
IDM_SHOW_RTC_DISPLAY,
IDM_FRAMESTEP,
IDM_SCREENSHOT,
IDM_TOGGLE_DUMP_FRAMES,
IDM_TOGGLE_DUMP_AUDIO,
// File menu
IDM_DRIVES,
IDM_DRIVE1,
IDM_DRIVE24 = IDM_DRIVE1 + 23, // 248,
// Tools menu
IDM_MEMCARD,
IDM_CHEATS,
IDM_NETPLAY,
IDM_RESTART,
IDM_EJECT_DISC,
IDM_CHANGE_DISC,
IDM_LIST_CHANGE_DISC,
IDM_PROPERTIES,
IDM_GAME_WIKI,
IDM_LOAD_WII_MENU,
IDM_MENU_INSTALL_WAD,
IDM_LIST_PERFORM_DISC_UPDATE,
IDM_LIST_INSTALL_WAD,
IDM_LIST_UNINSTALL_WAD,
IDM_IMPORT_NAND,
IDM_CHECK_NAND,
IDM_EXTRACT_CERTIFICATES,
IDM_PERFORM_ONLINE_UPDATE_CURRENT,
IDM_PERFORM_ONLINE_UPDATE_EUR,
IDM_PERFORM_ONLINE_UPDATE_JPN,
IDM_PERFORM_ONLINE_UPDATE_KOR,
IDM_PERFORM_ONLINE_UPDATE_USA,
IDM_FIFOPLAYER,
IDM_LOAD_GC_IPL_JAP,
IDM_LOAD_GC_IPL_USA,
IDM_LOAD_GC_IPL_EUR,
IDM_CONNECT_WIIMOTE1,
IDM_CONNECT_WIIMOTE2,
IDM_CONNECT_WIIMOTE3,
IDM_CONNECT_WIIMOTE4,
IDM_CONNECT_BALANCEBOARD,
// View menu
IDM_LIST_WAD,
IDM_LIST_WII,
IDM_LIST_GC,
IDM_LIST_ELFDOL,
IDM_LIST_JAP,
IDM_LIST_PAL,
IDM_LIST_USA,
IDM_LIST_AUSTRALIA,
IDM_LIST_FRANCE,
IDM_LIST_GERMANY,
IDM_LIST_ITALY,
IDM_LIST_KOREA,
IDM_LIST_NETHERLANDS,
IDM_LIST_RUSSIA,
IDM_LIST_SPAIN,
IDM_LIST_TAIWAN,
IDM_LIST_WORLD,
IDM_LIST_UNKNOWN,
IDM_LIST_DRIVES,
IDM_PURGE_GAME_LIST_CACHE,
// Help menu
IDM_HELP_WEBSITE,
IDM_HELP_ONLINE_DOCS,
IDM_HELP_GITHUB,
// Options menu
IDM_CONFIG_GFX_BACKEND,
IDM_CONFIG_AUDIO,
IDM_CONFIG_CONTROLLERS,
IDM_CONFIG_HOTKEYS,
IDM_CONFIG_LOGGER,
// Views
// IMPORTANT: Make sure IDM_FLOAT_xxx and IDM_xxx_PARENT are kept in sync!
IDM_DEBUG_WINDOW_LIST_START, // Bookend for doing array lookups
IDM_LOG_WINDOW = IDM_DEBUG_WINDOW_LIST_START,
IDM_LOG_CONFIG_WINDOW,
IDM_REGISTER_WINDOW,
IDM_WATCH_WINDOW,
IDM_BREAKPOINT_WINDOW,
IDM_MEMORY_WINDOW,
IDM_JIT_WINDOW,
IDM_SOUND_WINDOW,
IDM_VIDEO_WINDOW,
IDM_CODE_WINDOW,
IDM_DEBUG_WINDOW_LIST_END, // Bookend for doing array lookups
// List Column Title Toggles
IDM_SHOW_SYSTEM = IDM_DEBUG_WINDOW_LIST_END,
IDM_SHOW_BANNER,
IDM_SHOW_TITLE,
IDM_SHOW_MAKER,
IDM_SHOW_FILENAME,
IDM_SHOW_ID,
IDM_SHOW_REGION,
IDM_SHOW_SIZE,
IDM_SHOW_STATE,
// Float Window IDs
IDM_LOG_WINDOW_PARENT,
IDM_LOG_CONFIG_WINDOW_PARENT,
IDM_REGISTER_WINDOW_PARENT,
IDM_WATCH_WINDOW_PARENT,
IDM_BREAKPOINT_WINDOW_PARENT,
IDM_MEMORY_WINDOW_PARENT,
IDM_JIT_WINDOW_PARENT,
IDM_SOUND_WINDOW_PARENT,
IDM_VIDEO_WINDOW_PARENT,
IDM_CODE_WINDOW_PARENT,
// Float popup menu IDs
IDM_FLOAT_LOG_WINDOW,
IDM_FLOAT_LOG_CONFIG_WINDOW,
IDM_FLOAT_REGISTER_WINDOW,
IDM_FLOAT_WATCH_WINDOW,
IDM_FLOAT_BREAKPOINT_WINDOW,
IDM_FLOAT_MEMORY_WINDOW,
IDM_FLOAT_JIT_WINDOW,
IDM_FLOAT_SOUND_WINDOW,
IDM_FLOAT_VIDEO_WINDOW,
IDM_FLOAT_CODE_WINDOW,
// --------------------------------------------------------------
// Debugger Menu Entries
// --------------------
// CPU Mode
IDM_INTERPRETER,
IDM_JIT_NO_BLOCK_CACHE,
IDM_JIT_NO_BLOCK_LINKING, // JIT
IDM_JIT_OFF,
IDM_JIT_LS_OFF,
IDM_JIT_LSLXZ_OFF,
IDM_JIT_LSLWZ_OFF,
IDM_JIT_LSLBZX_OFF,
IDM_JIT_LSP_OFF,
IDM_JIT_LSF_OFF,
IDM_JIT_I_OFF,
IDM_JIT_FP_OFF,
IDM_JIT_P_OFF,
IDM_JIT_SR_OFF,
IDM_FONT_PICKER,
IDM_AUTOMATIC_START,
IDM_BOOT_TO_PAUSE,
// Symbols
IDM_CLEAR_SYMBOLS,
IDM_SCAN_FUNCTIONS,
IDM_SCAN_SIGNATURES,
IDM_SCAN_RSO,
IDM_LOAD_MAP_FILE,
IDM_LOAD_MAP_FILE_AS,
IDM_LOAD_BAD_MAP_FILE,
IDM_SAVEMAPFILE,
IDM_SAVE_MAP_FILE_WITH_CODES,
IDM_SAVE_MAP_FILE_AS,
IDM_CREATE_SIGNATURE_FILE,
IDM_APPEND_SIGNATURE_FILE,
IDM_COMBINE_SIGNATURE_FILES,
IDM_RENAME_SYMBOLS,
IDM_USE_SIGNATURE_FILE,
IDM_PATCH_HLE_FUNCTIONS,
// JIT
IDM_CLEAR_CODE_CACHE,
IDM_LOG_INSTRUCTIONS,
IDM_SEARCH_INSTRUCTION,
// Profiler
IDM_PROFILE_BLOCKS,
IDM_WRITE_PROFILE,
// --------------------------------------------------------------
// --------------------------------------------------------------
// Debugger Toolbar
// --------------------
ID_TOOLBAR_DEBUG,
IDM_STEP,
IDM_STEPOVER,
IDM_STEPOUT,
IDM_TOGGLE_BREAKPOINT,
IDM_SKIP,
IDM_SETPC,
IDM_GOTOPC,
IDM_ADDRBOX,
ID_TOOLBAR_AUI,
IDM_SAVE_PERSPECTIVE,
IDM_ADD_PERSPECTIVE,
IDM_PERSPECTIVES_ADD_PANE_TOP,
IDM_PERSPECTIVES_ADD_PANE_BOTTOM,
IDM_PERSPECTIVES_ADD_PANE_LEFT,
IDM_PERSPECTIVES_ADD_PANE_RIGHT,
IDM_PERSPECTIVES_ADD_PANE_CENTER,
IDM_EDIT_PERSPECTIVES,
IDM_TAB_SPLIT,
IDM_NO_DOCKING,
IDM_PERSPECTIVES_0,
IDM_PERSPECTIVES_100 = IDM_PERSPECTIVES_0 + 100,
// --------------------------------------------------------------
IDM_TOGGLE_DUAL_CORE, // Other
IDM_TOGGLE_TOOLBAR,
IDM_TOGGLE_STATUSBAR,
IDM_NOTIFY_MAP_LOADED,
IDM_OPEN_CONTAINING_FOLDER,
IDM_OPEN_SAVE_FOLDER,
IDM_EXPORT_SAVE,
IDM_IMPORT_SAVE,
IDM_EXPORT_ALL_SAVE,
IDM_SET_DEFAULT_ISO,
IDM_DELETE_ISO,
IDM_COMPRESS_ISO,
IDM_START_NETPLAY,
IDM_MULTI_COMPRESS_ISO,
IDM_MULTI_DECOMPRESS_ISO,
IDM_UPDATE_DISASM_DIALOG,
IDM_UPDATE_GUI,
IDM_UPDATE_STATUS_BAR,
IDM_UPDATE_TITLE,
IDM_UPDATE_BREAKPOINTS,
IDM_UPDATE_JIT_PANE,
IDM_PANIC,
IDM_KEYSTATE,
IDM_WINDOW_SIZE_REQUEST,
IDM_STOPPED,
IDM_HOST_MESSAGE,
IDM_UPDATE_PROGRESS_DIALOG,
IDM_MPANEL,
ID_STATUSBAR,
IDM_FREELOOK_DECREASE_SPEED,
IDM_FREELOOK_INCREASE_SPEED,
IDM_FREELOOK_RESET_SPEED,
IDM_FREELOOK_UP,
IDM_FREELOOK_DOWN,
IDM_FREELOOK_LEFT,
IDM_FREELOOK_RIGHT,
IDM_FREELOOK_ZOOM_IN,
IDM_FREELOOK_ZOOM_OUT,
IDM_FREELOOK_RESET,
ID_TOOLBAR = 500,
};
// custom message macro
#define EVT_HOST_COMMAND(id, fn) EVT_COMMAND(id, wxEVT_HOST_COMMAND, fn)
// FIXME: This should be changed to wxThreadEvent
wxDECLARE_EVENT(wxEVT_HOST_COMMAND, wxCommandEvent);
// Sent to wxTheApp
// GetString() == Game's Unique ID
// GetInt() == Game's Revision
wxDECLARE_EVENT(DOLPHIN_EVT_LOCAL_INI_CHANGED, wxCommandEvent);