Globals.h 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  1. // Copyright 2008 Dolphin Emulator Project
  2. // Licensed under GPLv2+
  3. // Refer to the license.txt file included.
  4. // This file holds global data for DolphinWx and DebuggerWx
  5. #pragma once
  6. #include <cstddef>
  7. #include <wx/event.h>
  8. enum
  9. {
  10. Toolbar_Step,
  11. Toolbar_StepOver,
  12. Toolbar_StepOut,
  13. Toolbar_Skip,
  14. Toolbar_GotoPC,
  15. Toolbar_SetPC,
  16. Toolbar_Debug_Bitmap_Max
  17. };
  18. enum
  19. {
  20. // Emulation menu
  21. IDM_LOAD_STATE = 200,
  22. IDM_SAVE_STATE,
  23. IDM_SELECT_SLOT,
  24. IDM_SAVE_FIRST_STATE,
  25. IDM_UNDO_LOAD_STATE,
  26. IDM_UNDO_SAVE_STATE,
  27. IDM_LOAD_STATE_FILE,
  28. IDM_SAVE_STATE_FILE,
  29. IDM_SAVE_SLOT_1,
  30. IDM_SAVE_SLOT_2,
  31. IDM_SAVE_SLOT_3,
  32. IDM_SAVE_SLOT_4,
  33. IDM_SAVE_SLOT_5,
  34. IDM_SAVE_SLOT_6,
  35. IDM_SAVE_SLOT_7,
  36. IDM_SAVE_SLOT_8,
  37. IDM_SAVE_SLOT_9,
  38. IDM_SAVE_SLOT_10,
  39. IDM_LOAD_SLOT_1,
  40. IDM_LOAD_SLOT_2,
  41. IDM_LOAD_SLOT_3,
  42. IDM_LOAD_SLOT_4,
  43. IDM_LOAD_SLOT_5,
  44. IDM_LOAD_SLOT_6,
  45. IDM_LOAD_SLOT_7,
  46. IDM_LOAD_SLOT_8,
  47. IDM_LOAD_SLOT_9,
  48. IDM_LOAD_SLOT_10,
  49. IDM_LOAD_LAST_1,
  50. IDM_LOAD_LAST_2,
  51. IDM_LOAD_LAST_3,
  52. IDM_LOAD_LAST_4,
  53. IDM_LOAD_LAST_5,
  54. IDM_LOAD_LAST_6,
  55. IDM_LOAD_LAST_7,
  56. IDM_LOAD_LAST_8,
  57. IDM_SELECT_SLOT_1,
  58. IDM_SELECT_SLOT_2,
  59. IDM_SELECT_SLOT_3,
  60. IDM_SELECT_SLOT_4,
  61. IDM_SELECT_SLOT_5,
  62. IDM_SELECT_SLOT_6,
  63. IDM_SELECT_SLOT_7,
  64. IDM_SELECT_SLOT_8,
  65. IDM_SELECT_SLOT_9,
  66. IDM_SELECT_SLOT_10,
  67. IDM_SAVE_SELECTED_SLOT,
  68. IDM_LOAD_SELECTED_SLOT,
  69. IDM_FRAME_SKIP_0,
  70. IDM_FRAME_SKIP_1,
  71. IDM_FRAME_SKIP_2,
  72. IDM_FRAME_SKIP_3,
  73. IDM_FRAME_SKIP_4,
  74. IDM_FRAME_SKIP_5,
  75. IDM_FRAME_SKIP_6,
  76. IDM_FRAME_SKIP_7,
  77. IDM_FRAME_SKIP_8,
  78. IDM_FRAME_SKIP_9,
  79. IDM_PLAY,
  80. IDM_STOP,
  81. IDM_RESET,
  82. IDM_TOGGLE_FULLSCREEN,
  83. // Movie menu
  84. IDM_RECORD,
  85. IDM_PLAY_RECORD,
  86. IDM_RECORD_EXPORT,
  87. IDM_RECORD_READ_ONLY,
  88. IDM_TAS_INPUT,
  89. IDM_TOGGLE_PAUSE_MOVIE,
  90. IDM_SHOW_LAG,
  91. IDM_SHOW_FRAME_COUNT,
  92. IDM_SHOW_INPUT_DISPLAY,
  93. IDM_FRAMESTEP,
  94. IDM_SCREENSHOT,
  95. IDM_TOGGLE_DUMP_FRAMES,
  96. IDM_TOGGLE_DUMP_AUDIO,
  97. // File menu
  98. IDM_BROWSE,
  99. IDM_DRIVES,
  100. IDM_DRIVE1,
  101. IDM_DRIVE24 = IDM_DRIVE1 + 23,//248,
  102. // Tools menu
  103. IDM_MEMCARD,
  104. IDM_CHEATS,
  105. IDM_NETPLAY,
  106. IDM_RESTART,
  107. IDM_CHANGE_DISC,
  108. IDM_LIST_CHANGE_DISC,
  109. IDM_PROPERTIES,
  110. IDM_GAME_WIKI,
  111. IDM_LOAD_WII_MENU,
  112. IDM_MENU_INSTALL_WAD,
  113. IDM_LIST_INSTALL_WAD,
  114. IDM_FIFOPLAYER,
  115. IDM_CONNECT_WIIMOTE1,
  116. IDM_CONNECT_WIIMOTE2,
  117. IDM_CONNECT_WIIMOTE3,
  118. IDM_CONNECT_WIIMOTE4,
  119. IDM_CONNECT_BALANCEBOARD,
  120. // View menu
  121. IDM_LIST_WAD,
  122. IDM_LIST_WII,
  123. IDM_LIST_GC,
  124. IDM_LIST_JAP,
  125. IDM_LIST_PAL,
  126. IDM_LIST_USA,
  127. IDM_LIST_AUSTRALIA,
  128. IDM_LIST_FRANCE,
  129. IDM_LIST_GERMANY,
  130. IDM_LIST_ITALY,
  131. IDM_LIST_KOREA,
  132. IDM_LIST_NETHERLANDS,
  133. IDM_LIST_RUSSIA,
  134. IDM_LIST_SPAIN,
  135. IDM_LIST_TAIWAN,
  136. IDM_LIST_WORLD,
  137. IDM_LIST_UNKNOWN,
  138. IDM_LIST_DRIVES,
  139. IDM_PURGE_CACHE,
  140. // Help menu
  141. IDM_HELP_WEBSITE,
  142. IDM_HELP_ONLINE_DOCS,
  143. IDM_HELP_GITHUB,
  144. // Options menu
  145. IDM_CONFIG_GFX_BACKEND,
  146. IDM_CONFIG_AUDIO,
  147. IDM_CONFIG_CONTROLLERS,
  148. IDM_CONFIG_HOTKEYS,
  149. IDM_CONFIG_LOGGER,
  150. // Views
  151. IDM_LOG_WINDOW,
  152. IDM_LOG_CONFIG_WINDOW,
  153. IDM_REGISTER_WINDOW,
  154. IDM_WATCH_WINDOW,
  155. IDM_BREAKPOINT_WINDOW,
  156. IDM_MEMORY_WINDOW,
  157. IDM_JIT_WINDOW,
  158. IDM_SOUND_WINDOW,
  159. IDM_VIDEO_WINDOW,
  160. IDM_CODE_WINDOW,
  161. // List Column Title Toggles
  162. IDM_SHOW_SYSTEM,
  163. IDM_SHOW_BANNER,
  164. IDM_SHOW_MAKER,
  165. IDM_SHOW_ID,
  166. IDM_SHOW_REGION,
  167. IDM_SHOW_SIZE,
  168. IDM_SHOW_STATE,
  169. // Float Window IDs
  170. IDM_LOG_WINDOW_PARENT,
  171. IDM_LOG_CONFIG_WINDOW_PARENT,
  172. IDM_REGISTER_WINDOW_PARENT,
  173. IDM_BREAKPOINT_WINDOW_PARENT,
  174. IDM_MEMORY_WINDOW_PARENT,
  175. IDM_JIT_WINDOW_PARENT,
  176. IDM_SOUND_WINDOW_PARENT,
  177. IDM_VIDEO_WINDOW_PARENT,
  178. IDM_CODE_WINDOW_PARENT,
  179. // Float popup menu IDs
  180. IDM_FLOAT_LOG_WINDOW,
  181. IDM_FLOAT_LOG_CONFIG_WINDOW,
  182. IDM_FLOAT_REGISTER_WINDOW,
  183. IDM_FLOAT_BREAKPOINT_WINDOW,
  184. IDM_FLOAT_MEMORY_WINDOW,
  185. IDM_FLOAT_JIT_WINDOW,
  186. IDM_FLOAT_SOUND_WINDOW,
  187. IDM_FLOAT_VIDEO_WINDOW,
  188. IDM_FLOAT_CODE_WINDOW,
  189. // --------------------------------------------------------------
  190. // Debugger Menu Entries
  191. // --------------------
  192. // CPU Mode
  193. IDM_INTERPRETER,
  194. IDM_AUTOMATIC_START, IDM_BOOT_TO_PAUSE,
  195. IDM_JIT_NO_BLOCK_CACHE, IDM_JIT_NO_BLOCK_LINKING, // JIT
  196. IDM_JIT_OFF,
  197. IDM_JIT_LS_OFF, IDM_JIT_LSLXZ_OFF, IDM_JIT_LSLWZ_OFF, IDM_JIT_LSLBZX_OFF,
  198. IDM_JIT_LSP_OFF, IDM_JIT_LSF_OFF,
  199. IDM_JIT_I_OFF,
  200. IDM_JIT_FP_OFF,
  201. IDM_JIT_P_OFF,
  202. IDM_JIT_SR_OFF,
  203. IDM_FONT_PICKER,
  204. // Symbols
  205. IDM_CLEAR_SYMBOLS,
  206. IDM_SCAN_FUNCTIONS,
  207. IDM_LOAD_MAP_FILE, IDM_LOAD_MAP_FILE_AS, IDM_LOAD_BAD_MAP_FILE,
  208. IDM_SAVEMAPFILE, IDM_SAVE_MAP_FILE_WITH_CODES, IDM_SAVE_MAP_FILE_AS,
  209. IDM_CREATE_SIGNATURE_FILE,
  210. IDM_APPEND_SIGNATURE_FILE,
  211. IDM_COMBINE_SIGNATURE_FILES,
  212. IDM_RENAME_SYMBOLS,
  213. IDM_USE_SIGNATURE_FILE,
  214. IDM_PATCH_HLE_FUNCTIONS,
  215. // JIT
  216. IDM_CLEAR_CODE_CACHE,
  217. IDM_LOG_INSTRUCTIONS,
  218. IDM_SEARCH_INSTRUCTION,
  219. // Profiler
  220. IDM_PROFILE_BLOCKS,
  221. IDM_WRITE_PROFILE,
  222. // --------------------------------------------------------------
  223. // --------------------------------------------------------------
  224. // Debugger Toolbar
  225. // --------------------
  226. ID_TOOLBAR_DEBUG,
  227. IDM_STEP,
  228. IDM_STEPOVER,
  229. IDM_STEPOUT,
  230. IDM_TOGGLE_BREAKPOINT,
  231. IDM_SKIP,
  232. IDM_SETPC,
  233. IDM_GOTOPC,
  234. IDM_ADDRBOX,
  235. ID_TOOLBAR_AUI,
  236. IDM_SAVE_PERSPECTIVE,
  237. IDM_ADD_PERSPECTIVE,
  238. IDM_PERSPECTIVES_ADD_PANE_TOP,
  239. IDM_PERSPECTIVES_ADD_PANE_BOTTOM,
  240. IDM_PERSPECTIVES_ADD_PANE_LEFT,
  241. IDM_PERSPECTIVES_ADD_PANE_RIGHT,
  242. IDM_PERSPECTIVES_ADD_PANE_CENTER,
  243. IDM_EDIT_PERSPECTIVES,
  244. IDM_TAB_SPLIT,
  245. IDM_NO_DOCKING,
  246. IDM_PERSPECTIVES_0,
  247. IDM_PERSPECTIVES_100 = IDM_PERSPECTIVES_0 + 100,
  248. // --------------------------------------------------------------
  249. IDM_TOGGLE_DUAL_CORE, // Other
  250. IDM_TOGGLE_SKIP_IDLE,
  251. IDM_TOGGLE_TOOLBAR,
  252. IDM_TOGGLE_STATUSBAR,
  253. IDM_NOTIFY_MAP_LOADED,
  254. IDM_OPEN_CONTAINING_FOLDER,
  255. IDM_OPEN_SAVE_FOLDER,
  256. IDM_EXPORT_SAVE,
  257. IDM_IMPORT_SAVE,
  258. IDM_EXPORT_ALL_SAVE,
  259. IDM_SET_DEFAULT_ISO,
  260. IDM_DELETE_ISO,
  261. IDM_COMPRESS_ISO,
  262. IDM_MULTI_COMPRESS_ISO,
  263. IDM_MULTI_DECOMPRESS_ISO,
  264. IDM_UPDATE_DISASM_DIALOG,
  265. IDM_UPDATE_GUI,
  266. IDM_UPDATE_STATUS_BAR,
  267. IDM_UPDATE_TITLE,
  268. IDM_UPDATE_BREAKPOINTS,
  269. IDM_UPDATE_JIT_PANE,
  270. IDM_PANIC,
  271. IDM_KEYSTATE,
  272. IDM_WINDOW_SIZE_REQUEST,
  273. IDM_STOPPED,
  274. IDM_HOST_MESSAGE,
  275. IDM_FULLSCREEN_REQUEST,
  276. IDM_MPANEL, ID_STATUSBAR,
  277. IDM_FREELOOK_DECREASE_SPEED,
  278. IDM_FREELOOK_INCREASE_SPEED,
  279. IDM_FREELOOK_RESET_SPEED,
  280. IDM_FREELOOK_UP,
  281. IDM_FREELOOK_DOWN,
  282. IDM_FREELOOK_LEFT,
  283. IDM_FREELOOK_RIGHT,
  284. IDM_FREELOOK_ZOOM_IN,
  285. IDM_FREELOOK_ZOOM_OUT,
  286. IDM_FREELOOK_RESET,
  287. ID_TOOLBAR = 500,
  288. };
  289. // custom message macro
  290. #define EVT_HOST_COMMAND(id, fn) \
  291. DECLARE_EVENT_TABLE_ENTRY(\
  292. wxEVT_HOST_COMMAND, id, wxID_ANY, \
  293. (wxObjectEventFunction)(wxEventFunction) wxStaticCastEvent(wxCommandEventFunction, &fn), \
  294. (wxObject*) nullptr \
  295. ),
  296. wxDECLARE_EVENT(wxEVT_HOST_COMMAND, wxCommandEvent);