// license:BSD-3-Clause // copyright-holders:Maurizio Petrarota,Jeffrey Clark /*************************************************************************** ui/submenu.cpp UI options menu ***************************************************************************/ #include "emu.h" #include "ui/ui.h" #include "ui/submenu.h" #include "ui/utils.h" #include "ui/menuitem.h" #if defined(UI_WINDOWS) && !defined(UI_SDL) #include "../osd/windows/winmain.h" #else #include "../osd/modules/lib/osdobj_common.h" #endif #include namespace ui { std::vector 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 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 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 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 }, #if defined(UI_WINDOWS) && !defined(UI_SDL) { 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 } }; //std::vector 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" }, //}; //------------------------------------------------- // ctor / dtor //------------------------------------------------- submenu::submenu(mame_ui_manager &mui, render_container &container, std::vector