From b8e6f6332f9cfc6808dbef796256f4b4b0971ac6 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Fri, 10 Jul 2020 11:39:29 +1000 Subject: Revert "ui: allow to skip warning popup at start" This reverts commit 74f456df945cd1720dc4d6bc105f64c13e62ced8. I will allow the feature with the following conditions: * No skipping red warnings. * A key-value map of device shortnames and yellow warnings must be stored in the .cfg file, along with a timestamp of the last time the system was run and the last time a warning was shown. * On starting a system, the map of device shortnames and yellow warnings must be built and compared to the one loaded from the .cfg file. If it doesn't match, if the system hasn't been started in seven days, or a yellow warning hasn't been shown in 14 days, the warning is not to be skipped. --- src/emu/emuopts.cpp | 1 - src/emu/emuopts.h | 2 - src/frontend/mame/ui/submenu.cpp | 133 +++++++++++++++++++-------------------- src/frontend/mame/ui/ui.cpp | 3 +- 4 files changed, 67 insertions(+), 72 deletions(-) diff --git a/src/emu/emuopts.cpp b/src/emu/emuopts.cpp index cfb34277ed5..440121e5136 100644 --- a/src/emu/emuopts.cpp +++ b/src/emu/emuopts.cpp @@ -195,7 +195,6 @@ const options_entry emu_options::s_option_entries[] = { OPTION_BIOS, nullptr, OPTION_STRING, "select the system BIOS to use" }, { OPTION_CHEAT ";c", "0", OPTION_BOOLEAN, "enable cheat subsystem" }, { OPTION_SKIP_GAMEINFO, "0", OPTION_BOOLEAN, "skip displaying the system information screen at startup" }, - { OPTION_SKIP_WARNINGS, "0", OPTION_BOOLEAN, "skip displaying emulation warnings screen at startup" }, { OPTION_UI_FONT, "default", OPTION_STRING, "specify a font to use" }, { OPTION_UI, "cabinet", OPTION_STRING, "type of UI (simple|cabinet)" }, { OPTION_RAMSIZE ";ram", nullptr, OPTION_STRING, "size of RAM (if supported by driver)" }, diff --git a/src/emu/emuopts.h b/src/emu/emuopts.h index b5d236d496f..5a4bc3f118b 100644 --- a/src/emu/emuopts.h +++ b/src/emu/emuopts.h @@ -164,7 +164,6 @@ #define OPTION_BIOS "bios" #define OPTION_CHEAT "cheat" #define OPTION_SKIP_GAMEINFO "skip_gameinfo" -#define OPTION_SKIP_WARNINGS "skip_warnings" #define OPTION_UI_FONT "uifont" #define OPTION_UI "ui" #define OPTION_RAMSIZE "ramsize" @@ -442,7 +441,6 @@ public: const char *bios() const { return value(OPTION_BIOS); } bool cheat() const { return bool_value(OPTION_CHEAT); } bool skip_gameinfo() const { return bool_value(OPTION_SKIP_GAMEINFO); } - bool skip_warnings() const { return bool_value(OPTION_SKIP_WARNINGS); } const char *ui_font() const { return value(OPTION_UI_FONT); } ui_option ui() const { return m_ui; } const char *ram_size() const { return value(OPTION_RAMSIZE); } diff --git a/src/frontend/mame/ui/submenu.cpp b/src/frontend/mame/ui/submenu.cpp index c638f613fc6..207ac56d057 100644 --- a/src/frontend/mame/ui/submenu.cpp +++ b/src/frontend/mame/ui/submenu.cpp @@ -20,96 +20,95 @@ namespace ui { std::vector const submenu::misc_options = { { submenu::option_type::HEAD, __("Miscellaneous Options") }, - { submenu::option_type::UI, __("Re-select last machine played"), 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::EMU, __("Skip emulation warnings screen at startup"), OPTION_SKIP_WARNINGS }, - { 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 }, + { submenu::option_type::UI, __("Re-select last machine played"), 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 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::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::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::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::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 }, + { 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 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 } + { 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 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 }, + { submenu::option_type::OSD, __("Video Mode"), OSDOPTION_VIDEO }, + { submenu::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 }, + { submenu::option_type::OSD, __("Triple Buffering"), WINOPTION_TRIPLEBUFFER }, + { submenu::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 } + { 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 const submenu::export_options = { diff --git a/src/frontend/mame/ui/ui.cpp b/src/frontend/mame/ui/ui.cpp index 9ea166a5c90..e1b0990193b 100644 --- a/src/frontend/mame/ui/ui.cpp +++ b/src/frontend/mame/ui/ui.cpp @@ -305,8 +305,7 @@ void mame_ui_manager::display_startup_screens(bool first_time) const int maxstate = 3; int str = machine().options().seconds_to_run(); bool show_gameinfo = !machine().options().skip_gameinfo(); - bool show_warnings = !machine().options().skip_warnings(); - bool show_mandatory_fileman = true; + bool show_warnings = true, show_mandatory_fileman = true; bool video_none = strcmp(downcast(machine().options()).video(), OSDOPTVAL_NONE) == 0; // disable everything if we are using -str for 300 or fewer seconds, or if we're the empty driver, -- cgit v1.2.3