summaryrefslogtreecommitdiffstatshomepage
path: root/src/frontend/mame/ui/submenu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/mame/ui/submenu.cpp')
-rw-r--r--src/frontend/mame/ui/submenu.cpp206
1 files changed, 109 insertions, 97 deletions
diff --git a/src/frontend/mame/ui/submenu.cpp b/src/frontend/mame/ui/submenu.cpp
index 6d034841b51..d93b7a8af6a 100644
--- a/src/frontend/mame/ui/submenu.cpp
+++ b/src/frontend/mame/ui/submenu.cpp
@@ -24,104 +24,116 @@
namespace ui {
-std::vector<submenu::option> const submenu::misc_options = {
- { submenu::option_type::HEAD, __("Miscellaneous Options") },
- { submenu::option_type::UI, __("Skip imperfect emulation warnings"), OPTION_SKIP_WARNINGS },
- { submenu::option_type::UI, __("Re-select last machine launched"), OPTION_REMEMBER_LAST },
- { submenu::option_type::UI, __("Enlarge images in the right panel"), OPTION_ENLARGE_SNAPS },
- { submenu::option_type::EMU, __("Cheats"), OPTION_CHEAT },
- { submenu::option_type::EMU, __("Show mouse pointer"), OPTION_UI_MOUSE },
- { submenu::option_type::EMU, __("Confirm quit from machines"), OPTION_CONFIRM_QUIT },
- { submenu::option_type::EMU, __("Skip information screen at startup"), OPTION_SKIP_GAMEINFO },
- { submenu::option_type::UI, __("Force 4:3 aspect for snapshot display"), OPTION_FORCED4X3 },
- { submenu::option_type::UI, __("Use image as background"), OPTION_USE_BACKGROUND },
- { submenu::option_type::UI, __("Skip BIOS selection menu"), OPTION_SKIP_BIOS_MENU },
- { submenu::option_type::UI, __("Skip software parts selection menu"), OPTION_SKIP_PARTS_MENU },
- { submenu::option_type::UI, __("Info auto audit"), OPTION_INFO_AUTO_AUDIT },
- { submenu::option_type::UI, __("Hide romless machine from available list"),OPTION_HIDE_ROMLESS },
-};
-
-std::vector<submenu::option> const submenu::advanced_options = {
- { submenu::option_type::HEAD, __("Advanced Options") },
- { submenu::option_type::HEAD, __("Performance Options") },
- { submenu::option_type::EMU, __("Auto frame skip"), OPTION_AUTOFRAMESKIP },
- { submenu::option_type::EMU, __("Frame skip"), OPTION_FRAMESKIP },
- { submenu::option_type::EMU, __("Throttle"), OPTION_THROTTLE },
- { submenu::option_type::EMU, __("Sleep"), OPTION_SLEEP },
- { submenu::option_type::EMU, __("Speed"), OPTION_SPEED },
- { submenu::option_type::EMU, __("Refresh speed"), OPTION_REFRESHSPEED },
- { submenu::option_type::EMU, __("Low latency"), OPTION_LOWLATENCY },
-
- { submenu::option_type::HEAD, __("Rotation Options") },
- { submenu::option_type::EMU, __("Rotate"), OPTION_ROTATE },
- { submenu::option_type::EMU, __("Rotate right"), OPTION_ROR },
- { submenu::option_type::EMU, __("Rotate left"), OPTION_ROL },
- { submenu::option_type::EMU, __("Auto rotate right"), OPTION_AUTOROR },
- { submenu::option_type::EMU, __("Auto rotate left"), OPTION_AUTOROL },
- { submenu::option_type::EMU, __("Flip X"), OPTION_FLIPX },
- { submenu::option_type::EMU, __("Flip Y"), OPTION_FLIPY },
-
- { submenu::option_type::HEAD, __("Artwork Options") },
- { submenu::option_type::EMU, __("Artwork Crop"), OPTION_ARTWORK_CROP },
-
- { submenu::option_type::HEAD, __("State/Playback Options") },
- { submenu::option_type::EMU, __("Automatic save/restore"), OPTION_AUTOSAVE },
- { submenu::option_type::EMU, __("Rewind"), OPTION_REWIND },
- { submenu::option_type::EMU, __("Rewind capacity"), OPTION_REWIND_CAPACITY },
- { submenu::option_type::EMU, __("Bilinear snapshot"), OPTION_SNAPBILINEAR },
- { submenu::option_type::EMU, __("Burn-in"), OPTION_BURNIN },
-
- { submenu::option_type::HEAD, __("Input Options") },
- { submenu::option_type::EMU, __("Coin lockout"), OPTION_COIN_LOCKOUT },
- { submenu::option_type::EMU, __("Mouse"), OPTION_MOUSE },
- { submenu::option_type::EMU, __("Joystick"), OPTION_JOYSTICK },
- { submenu::option_type::EMU, __("Lightgun"), OPTION_LIGHTGUN },
- { submenu::option_type::EMU, __("Multi-keyboard"), OPTION_MULTIKEYBOARD },
- { submenu::option_type::EMU, __("Multi-mouse"), OPTION_MULTIMOUSE },
- { submenu::option_type::EMU, __("Steadykey"), OPTION_STEADYKEY },
- { submenu::option_type::EMU, __("UI active"), OPTION_UI_ACTIVE },
- { submenu::option_type::EMU, __("Offscreen reload"), OPTION_OFFSCREEN_RELOAD },
- { submenu::option_type::EMU, __("Joystick deadzone"), OPTION_JOYSTICK_DEADZONE },
- { submenu::option_type::EMU, __("Joystick saturation"), OPTION_JOYSTICK_SATURATION },
- { submenu::option_type::EMU, __("Natural keyboard"), OPTION_NATURAL_KEYBOARD },
- { submenu::option_type::EMU, __("Simultaneous contradictory"), OPTION_JOYSTICK_CONTRADICTORY },
- { submenu::option_type::EMU, __("Coin impulse"), OPTION_COIN_IMPULSE },
-};
-
-std::vector<submenu::option> const submenu::control_options = {
- { submenu::option_type::HEAD, __("Device Mapping") },
- { submenu::option_type::EMU, __("Lightgun Device Assignment"), OPTION_LIGHTGUN_DEVICE },
- { submenu::option_type::EMU, __("Trackball Device Assignment"), OPTION_TRACKBALL_DEVICE },
- { submenu::option_type::EMU, __("Pedal Device Assignment"), OPTION_PEDAL_DEVICE },
- { submenu::option_type::EMU, __("Adstick Device Assignment"), OPTION_ADSTICK_DEVICE },
- { submenu::option_type::EMU, __("Paddle Device Assignment"), OPTION_PADDLE_DEVICE },
- { submenu::option_type::EMU, __("Dial Device Assignment"), OPTION_DIAL_DEVICE },
- { submenu::option_type::EMU, __("Positional Device Assignment"), OPTION_POSITIONAL_DEVICE },
- { submenu::option_type::EMU, __("Mouse Device Assignment"), OPTION_MOUSE_DEVICE }
-};
-
-std::vector<submenu::option> const submenu::video_options = {
- { submenu::option_type::HEAD, __("Video Options") },
- { submenu::option_type::OSD, __("Video Mode"), OSDOPTION_VIDEO },
- { submenu::option_type::OSD, __("Number Of Screens"), OSDOPTION_NUMSCREENS },
+
+std::vector<submenu::option> submenu::misc_options()
+{
+ return std::vector<option>{
+ { option_type::HEAD, __("Miscellaneous Options") },
+ { option_type::UI, __("Skip imperfect emulation warnings"), OPTION_SKIP_WARNINGS },
+ { option_type::UI, __("Re-select last machine launched"), OPTION_REMEMBER_LAST },
+ { option_type::UI, __("Enlarge images in the right panel"), OPTION_ENLARGE_SNAPS },
+ { option_type::EMU, __("Cheats"), OPTION_CHEAT },
+ { option_type::EMU, __("Show mouse pointer"), OPTION_UI_MOUSE },
+ { option_type::EMU, __("Confirm quit from machines"), OPTION_CONFIRM_QUIT },
+ { option_type::EMU, __("Skip information screen at startup"), OPTION_SKIP_GAMEINFO },
+ { option_type::UI, __("Force 4:3 aspect for snapshot display"), OPTION_FORCED4X3 },
+ { option_type::UI, __("Use image as background"), OPTION_USE_BACKGROUND },
+ { option_type::UI, __("Skip BIOS selection menu"), OPTION_SKIP_BIOS_MENU },
+ { option_type::UI, __("Skip software parts selection menu"), OPTION_SKIP_PARTS_MENU },
+ { option_type::UI, __("Info auto audit"), OPTION_INFO_AUTO_AUDIT },
+ { option_type::UI, __("Hide romless machine from available list"),OPTION_HIDE_ROMLESS } };
+}
+
+std::vector<submenu::option> submenu::advanced_options()
+{
+ return std::vector<option>{
+ { option_type::HEAD, __("Advanced Options") },
+ { option_type::HEAD, __("Performance Options") },
+ { option_type::EMU, __("Auto frame skip"), OPTION_AUTOFRAMESKIP },
+ { option_type::EMU, __("Frame skip"), OPTION_FRAMESKIP },
+ { option_type::EMU, __("Throttle"), OPTION_THROTTLE },
+ { option_type::UI, __("Mute when unthrottled"), OPTION_UNTHROTTLE_MUTE },
+ { option_type::EMU, __("Sleep"), OPTION_SLEEP },
+ { option_type::EMU, __("Speed"), OPTION_SPEED },
+ { option_type::EMU, __("Adjust speed to match refresh rate"), OPTION_REFRESHSPEED },
+ { option_type::EMU, __("Low latency"), OPTION_LOWLATENCY },
+
+ { option_type::HEAD, __("Rotation Options") },
+ { option_type::EMU, __("Rotate"), OPTION_ROTATE },
+ { option_type::EMU, __("Rotate right"), OPTION_ROR },
+ { option_type::EMU, __("Rotate left"), OPTION_ROL },
+ { option_type::EMU, __("Auto rotate right"), OPTION_AUTOROR },
+ { option_type::EMU, __("Auto rotate left"), OPTION_AUTOROL },
+ { option_type::EMU, __("Flip X"), OPTION_FLIPX },
+ { option_type::EMU, __("Flip Y"), OPTION_FLIPY },
+
+ { option_type::HEAD, __("Artwork Options") },
+ { option_type::EMU, __("Zoom to screen area"), OPTION_ARTWORK_CROP },
+
+ { option_type::HEAD, __("State/Playback Options") },
+ { option_type::EMU, __("Automatic save/restore"), OPTION_AUTOSAVE },
+ { option_type::EMU, __("Allow rewind"), OPTION_REWIND },
+ { option_type::EMU, __("Rewind capacity"), OPTION_REWIND_CAPACITY },
+ { option_type::EMU, __("Bilinear filtering for snapshots"), OPTION_SNAPBILINEAR },
+ { option_type::EMU, __("Burn-in"), OPTION_BURNIN },
+
+ { option_type::HEAD, __("Input Options") },
+ { option_type::EMU, __("Coin lockout"), OPTION_COIN_LOCKOUT },
+ { option_type::EMU, __("Mouse"), OPTION_MOUSE },
+ { option_type::EMU, __("Joystick"), OPTION_JOYSTICK },
+ { option_type::EMU, __("Lightgun"), OPTION_LIGHTGUN },
+ { option_type::EMU, __("Multi-keyboard"), OPTION_MULTIKEYBOARD },
+ { option_type::EMU, __("Multi-mouse"), OPTION_MULTIMOUSE },
+ { option_type::EMU, __("Steadykey"), OPTION_STEADYKEY },
+ { option_type::EMU, __("UI active"), OPTION_UI_ACTIVE },
+ { option_type::EMU, __("Offscreen reload"), OPTION_OFFSCREEN_RELOAD },
+ { option_type::EMU, __("Joystick deadzone"), OPTION_JOYSTICK_DEADZONE },
+ { option_type::EMU, __("Joystick saturation"), OPTION_JOYSTICK_SATURATION },
+ { option_type::EMU, __("Natural keyboard"), OPTION_NATURAL_KEYBOARD },
+ { option_type::EMU, __("Simultaneous contradictory"), OPTION_JOYSTICK_CONTRADICTORY },
+ { option_type::EMU, __("Coin impulse"), OPTION_COIN_IMPULSE } };
+}
+
+std::vector<submenu::option> submenu::control_options()
+{
+ return std::vector<option>{
+ { option_type::HEAD, __("Device Mapping") },
+ { option_type::EMU, __("Lightgun Device Assignment"), OPTION_LIGHTGUN_DEVICE },
+ { option_type::EMU, __("Trackball Device Assignment"), OPTION_TRACKBALL_DEVICE },
+ { option_type::EMU, __("Pedal Device Assignment"), OPTION_PEDAL_DEVICE },
+ { option_type::EMU, __("Adstick Device Assignment"), OPTION_ADSTICK_DEVICE },
+ { option_type::EMU, __("Paddle Device Assignment"), OPTION_PADDLE_DEVICE },
+ { option_type::EMU, __("Dial Device Assignment"), OPTION_DIAL_DEVICE },
+ { option_type::EMU, __("Positional Device Assignment"), OPTION_POSITIONAL_DEVICE },
+ { option_type::EMU, __("Mouse Device Assignment"), OPTION_MOUSE_DEVICE } };
+}
+
+std::vector<submenu::option> submenu::video_options()
+{
+ return std::vector<option>{
+ { option_type::HEAD, __("Video Options") },
+ { option_type::OSD, __("Video Mode"), OSDOPTION_VIDEO },
+ { option_type::OSD, __("Number Of Screens"), OSDOPTION_NUMSCREENS },
#if defined(UI_WINDOWS) && !defined(UI_SDL)
- { submenu::option_type::OSD, __("Triple Buffering"), WINOPTION_TRIPLEBUFFER },
- { submenu::option_type::OSD, __("HLSL"), WINOPTION_HLSL_ENABLE },
+ { option_type::OSD, __("Triple Buffering"), WINOPTION_TRIPLEBUFFER },
+ { option_type::OSD, __("HLSL"), WINOPTION_HLSL_ENABLE },
#endif
- { submenu::option_type::OSD, __("GLSL"), OSDOPTION_GL_GLSL },
- { submenu::option_type::OSD, __("Bilinear Filtering"), OSDOPTION_FILTER },
- { submenu::option_type::OSD, __("Bitmap Prescaling"), OSDOPTION_PRESCALE },
- { submenu::option_type::OSD, __("Window Mode"), OSDOPTION_WINDOW },
- { submenu::option_type::EMU, __("Enforce Aspect Ratio"), OPTION_KEEPASPECT },
- { submenu::option_type::OSD, __("Start Out Maximized"), OSDOPTION_MAXIMIZE },
- { submenu::option_type::OSD, __("Synchronized Refresh"), OSDOPTION_SYNCREFRESH },
- { submenu::option_type::OSD, __("Wait Vertical Sync"), OSDOPTION_WAITVSYNC }
-};
-
-//std::vector<submenu::option> const submenu::export_options = {
-// { ui_submenu::option_type::COMMAND, __("Export XML format (like -listxml)"), "exportxml" },
-// { ui_submenu::option_type::COMMAND, __("Export TXT format (like -listfull)"), "exporttxt" },
-//};
+ { option_type::OSD, __("GLSL"), OSDOPTION_GL_GLSL },
+ { option_type::OSD, __("Bilinear Filtering"), OSDOPTION_FILTER },
+ { option_type::OSD, __("Bitmap Prescaling"), OSDOPTION_PRESCALE },
+ { option_type::OSD, __("Window Mode"), OSDOPTION_WINDOW },
+ { option_type::EMU, __("Enforce Aspect Ratio"), OPTION_KEEPASPECT },
+ { option_type::OSD, __("Start Out Maximized"), OSDOPTION_MAXIMIZE },
+ { option_type::OSD, __("Synchronized Refresh"), OSDOPTION_SYNCREFRESH },
+ { option_type::OSD, __("Wait Vertical Sync"), OSDOPTION_WAITVSYNC } };
+}
+
+//std::vector<submenu::option> submenu::export_options()
+//{
+// return std::vector<option>{
+// { option_type::COMMAND, __("Export XML format (like -listxml)"), "exportxml" },
+// { option_type::COMMAND, __("Export TXT format (like -listfull)"), "exporttxt" } };
+//}
//-------------------------------------------------
@@ -219,7 +231,7 @@ submenu::~submenu()
}
//-------------------------------------------------
-// handlethe options menu
+// handle the options menu
//-------------------------------------------------
void submenu::handle()