diff options
Diffstat (limited to 'src/emu/emuopts.cpp')
-rw-r--r-- | src/emu/emuopts.cpp | 326 |
1 files changed, 163 insertions, 163 deletions
diff --git a/src/emu/emuopts.cpp b/src/emu/emuopts.cpp index 5a1722df737..0da23495dc8 100644 --- a/src/emu/emuopts.cpp +++ b/src/emu/emuopts.cpp @@ -26,201 +26,201 @@ const options_entry emu_options::s_option_entries[] = { // unadorned options - only a single one supported at the moment - { OPTION_SYSTEMNAME, nullptr, OPTION_STRING, nullptr }, - { OPTION_SOFTWARENAME, nullptr, OPTION_STRING, nullptr }, + { OPTION_SYSTEMNAME, nullptr, core_options::option_type::STRING, nullptr }, + { OPTION_SOFTWARENAME, nullptr, core_options::option_type::STRING, nullptr }, // config options - { nullptr, nullptr, OPTION_HEADER, "CORE CONFIGURATION OPTIONS" }, - { OPTION_READCONFIG ";rc", "1", OPTION_BOOLEAN, "enable loading of configuration files" }, - { OPTION_WRITECONFIG ";wc", "0", OPTION_BOOLEAN, "write configuration to (driver).ini on exit" }, + { nullptr, nullptr, core_options::option_type::HEADER, "CORE CONFIGURATION OPTIONS" }, + { OPTION_READCONFIG ";rc", "1", core_options::option_type::BOOLEAN, "enable loading of configuration files" }, + { OPTION_WRITECONFIG ";wc", "0", core_options::option_type::BOOLEAN, "write configuration to (driver).ini on exit" }, // search path options - { nullptr, nullptr, OPTION_HEADER, "CORE SEARCH PATH OPTIONS" }, - { OPTION_PLUGINDATAPATH, ".", OPTION_STRING, "path to base folder for plugin data (read/write)" }, - { OPTION_MEDIAPATH ";rp;biospath;bp", "roms", OPTION_STRING, "path to ROM sets and hard disk images" }, - { OPTION_HASHPATH ";hash_directory;hash", "hash", OPTION_STRING, "path to software definition files" }, - { OPTION_SAMPLEPATH ";sp", "samples", OPTION_STRING, "path to audio sample sets" }, - { OPTION_ARTPATH, "artwork", OPTION_STRING, "path to artwork files" }, - { OPTION_CTRLRPATH, "ctrlr", OPTION_STRING, "path to controller definitions" }, - { OPTION_INIPATH, ".;ini;ini/presets", OPTION_STRING, "path to ini files" }, - { OPTION_FONTPATH, ".", OPTION_STRING, "path to font files" }, - { OPTION_CHEATPATH, "cheat", OPTION_STRING, "path to cheat files" }, - { OPTION_CROSSHAIRPATH, "crosshair", OPTION_STRING, "path to crosshair files" }, - { OPTION_PLUGINSPATH, "plugins", OPTION_STRING, "path to plugin files" }, - { OPTION_LANGUAGEPATH, "language", OPTION_STRING, "path to UI translation files" }, - { OPTION_SWPATH, "software", OPTION_STRING, "path to loose software" }, + { nullptr, nullptr, core_options::option_type::HEADER, "CORE SEARCH PATH OPTIONS" }, + { OPTION_PLUGINDATAPATH, ".", core_options::option_type::STRING, "path to base folder for plugin data (read/write)" }, + { OPTION_MEDIAPATH ";rp;biospath;bp", "roms", core_options::option_type::STRING, "path to ROM sets and hard disk images" }, + { OPTION_HASHPATH ";hash_directory;hash", "hash", core_options::option_type::STRING, "path to software definition files" }, + { OPTION_SAMPLEPATH ";sp", "samples", core_options::option_type::STRING, "path to audio sample sets" }, + { OPTION_ARTPATH, "artwork", core_options::option_type::STRING, "path to artwork files" }, + { OPTION_CTRLRPATH, "ctrlr", core_options::option_type::STRING, "path to controller definitions" }, + { OPTION_INIPATH, ".;ini;ini/presets", core_options::option_type::STRING, "path to ini files" }, + { OPTION_FONTPATH, ".", core_options::option_type::STRING, "path to font files" }, + { OPTION_CHEATPATH, "cheat", core_options::option_type::STRING, "path to cheat files" }, + { OPTION_CROSSHAIRPATH, "crosshair", core_options::option_type::STRING, "path to crosshair files" }, + { OPTION_PLUGINSPATH, "plugins", core_options::option_type::STRING, "path to plugin files" }, + { OPTION_LANGUAGEPATH, "language", core_options::option_type::STRING, "path to UI translation files" }, + { OPTION_SWPATH, "software", core_options::option_type::STRING, "path to loose software" }, // output directory options - { nullptr, nullptr, OPTION_HEADER, "CORE OUTPUT DIRECTORY OPTIONS" }, - { OPTION_CFG_DIRECTORY, "cfg", OPTION_STRING, "directory to save configurations" }, - { OPTION_NVRAM_DIRECTORY, "nvram", OPTION_STRING, "directory to save NVRAM contents" }, - { OPTION_INPUT_DIRECTORY, "inp", OPTION_STRING, "directory to save input device logs" }, - { OPTION_STATE_DIRECTORY, "sta", OPTION_STRING, "directory to save states" }, - { OPTION_SNAPSHOT_DIRECTORY, "snap", OPTION_STRING, "directory to save/load screenshots" }, - { OPTION_DIFF_DIRECTORY, "diff", OPTION_STRING, "directory to save hard drive image difference files" }, - { OPTION_COMMENT_DIRECTORY, "comments", OPTION_STRING, "directory to save debugger comments" }, - { OPTION_SHARE_DIRECTORY, "share", OPTION_STRING, "directory to share with emulated machines" }, + { nullptr, nullptr, core_options::option_type::HEADER, "CORE OUTPUT DIRECTORY OPTIONS" }, + { OPTION_CFG_DIRECTORY, "cfg", core_options::option_type::STRING, "directory to save configurations" }, + { OPTION_NVRAM_DIRECTORY, "nvram", core_options::option_type::STRING, "directory to save NVRAM contents" }, + { OPTION_INPUT_DIRECTORY, "inp", core_options::option_type::STRING, "directory to save input device logs" }, + { OPTION_STATE_DIRECTORY, "sta", core_options::option_type::STRING, "directory to save states" }, + { OPTION_SNAPSHOT_DIRECTORY, "snap", core_options::option_type::STRING, "directory to save/load screenshots" }, + { OPTION_DIFF_DIRECTORY, "diff", core_options::option_type::STRING, "directory to save hard drive image difference files" }, + { OPTION_COMMENT_DIRECTORY, "comments", core_options::option_type::STRING, "directory to save debugger comments" }, + { OPTION_SHARE_DIRECTORY, "share", core_options::option_type::STRING, "directory to share with emulated machines" }, // state/playback options - { nullptr, nullptr, OPTION_HEADER, "CORE STATE/PLAYBACK OPTIONS" }, - { OPTION_STATE, nullptr, OPTION_STRING, "saved state to load" }, - { OPTION_AUTOSAVE, "0", OPTION_BOOLEAN, "automatically restore state on start and save on exit for supported systems" }, - { OPTION_REWIND, "0", OPTION_BOOLEAN, "enable rewind savestates" }, - { OPTION_REWIND_CAPACITY "(1-2048)", "100", OPTION_INTEGER, "rewind buffer size in megabytes" }, - { OPTION_PLAYBACK ";pb", nullptr, OPTION_STRING, "playback an input file" }, - { OPTION_RECORD ";rec", nullptr, OPTION_STRING, "record an input file" }, - { OPTION_EXIT_AFTER_PLAYBACK, "0", OPTION_BOOLEAN, "close the program at the end of playback" }, - - { OPTION_MNGWRITE, nullptr, OPTION_STRING, "optional filename to write a MNG movie of the current session" }, - { OPTION_AVIWRITE, nullptr, OPTION_STRING, "optional filename to write an AVI movie of the current session" }, - { OPTION_WAVWRITE, nullptr, OPTION_STRING, "optional filename to write a WAV file of the current session" }, - { OPTION_SNAPNAME, "%g/%i", OPTION_STRING, "override of the default snapshot/movie naming; %g == gamename, %i == index" }, - { OPTION_SNAPSIZE, "auto", OPTION_STRING, "specify snapshot/movie resolution (<width>x<height>) or 'auto' to use minimal size " }, - { OPTION_SNAPVIEW, "auto", OPTION_STRING, "snapshot/movie view - 'auto' for default, or 'native' for per-screen pixel-aspect views" }, - { OPTION_SNAPBILINEAR, "1", OPTION_BOOLEAN, "specify if the snapshot/movie should have bilinear filtering applied" }, - { OPTION_STATENAME, "%g", OPTION_STRING, "override of the default state subfolder naming; %g == gamename" }, - { OPTION_BURNIN, "0", OPTION_BOOLEAN, "create burn-in snapshots for each screen" }, + { nullptr, nullptr, core_options::option_type::HEADER, "CORE STATE/PLAYBACK OPTIONS" }, + { OPTION_STATE, nullptr, core_options::option_type::STRING, "saved state to load" }, + { OPTION_AUTOSAVE, "0", core_options::option_type::BOOLEAN, "automatically restore state on start and save on exit for supported systems" }, + { OPTION_REWIND, "0", core_options::option_type::BOOLEAN, "enable rewind savestates" }, + { OPTION_REWIND_CAPACITY "(1-2048)", "100", core_options::option_type::INTEGER, "rewind buffer size in megabytes" }, + { OPTION_PLAYBACK ";pb", nullptr, core_options::option_type::STRING, "playback an input file" }, + { OPTION_RECORD ";rec", nullptr, core_options::option_type::STRING, "record an input file" }, + { OPTION_EXIT_AFTER_PLAYBACK, "0", core_options::option_type::BOOLEAN, "close the program at the end of playback" }, + + { OPTION_MNGWRITE, nullptr, core_options::option_type::STRING, "optional filename to write a MNG movie of the current session" }, + { OPTION_AVIWRITE, nullptr, core_options::option_type::STRING, "optional filename to write an AVI movie of the current session" }, + { OPTION_WAVWRITE, nullptr, core_options::option_type::STRING, "optional filename to write a WAV file of the current session" }, + { OPTION_SNAPNAME, "%g/%i", core_options::option_type::STRING, "override of the default snapshot/movie naming; %g == gamename, %i == index" }, + { OPTION_SNAPSIZE, "auto", core_options::option_type::STRING, "specify snapshot/movie resolution (<width>x<height>) or 'auto' to use minimal size " }, + { OPTION_SNAPVIEW, "auto", core_options::option_type::STRING, "snapshot/movie view - 'auto' for default, or 'native' for per-screen pixel-aspect views" }, + { OPTION_SNAPBILINEAR, "1", core_options::option_type::BOOLEAN, "specify if the snapshot/movie should have bilinear filtering applied" }, + { OPTION_STATENAME, "%g", core_options::option_type::STRING, "override of the default state subfolder naming; %g == gamename" }, + { OPTION_BURNIN, "0", core_options::option_type::BOOLEAN, "create burn-in snapshots for each screen" }, // performance options - { nullptr, nullptr, OPTION_HEADER, "CORE PERFORMANCE OPTIONS" }, - { OPTION_AUTOFRAMESKIP ";afs", "0", OPTION_BOOLEAN, "enable automatic frameskip adjustment to maintain emulation speed" }, - { OPTION_FRAMESKIP ";fs(0-10)", "0", OPTION_INTEGER, "set frameskip to fixed value, 0-10 (upper limit with autoframeskip)" }, - { OPTION_SECONDS_TO_RUN ";str", "0", OPTION_INTEGER, "number of emulated seconds to run before automatically exiting" }, - { OPTION_THROTTLE, "1", OPTION_BOOLEAN, "throttle emulation to keep system running in sync with real time" }, - { OPTION_SLEEP, "1", OPTION_BOOLEAN, "enable sleeping, which gives time back to other applications when idle" }, - { OPTION_SPEED "(0.01-100)", "1.0", OPTION_FLOAT, "controls the speed of gameplay, relative to realtime; smaller numbers are slower" }, - { OPTION_REFRESHSPEED ";rs", "0", OPTION_BOOLEAN, "automatically adjust emulation speed to keep the emulated refresh rate slower than the host screen" }, - { OPTION_LOWLATENCY ";lolat", "0", OPTION_BOOLEAN, "draws new frame before throttling to reduce input latency" }, + { nullptr, nullptr, core_options::option_type::HEADER, "CORE PERFORMANCE OPTIONS" }, + { OPTION_AUTOFRAMESKIP ";afs", "0", core_options::option_type::BOOLEAN, "enable automatic frameskip adjustment to maintain emulation speed" }, + { OPTION_FRAMESKIP ";fs(0-10)", "0", core_options::option_type::INTEGER, "set frameskip to fixed value, 0-10 (upper limit with autoframeskip)" }, + { OPTION_SECONDS_TO_RUN ";str", "0", core_options::option_type::INTEGER, "number of emulated seconds to run before automatically exiting" }, + { OPTION_THROTTLE, "1", core_options::option_type::BOOLEAN, "throttle emulation to keep system running in sync with real time" }, + { OPTION_SLEEP, "1", core_options::option_type::BOOLEAN, "enable sleeping, which gives time back to other applications when idle" }, + { OPTION_SPEED "(0.01-100)", "1.0", core_options::option_type::FLOAT, "controls the speed of gameplay, relative to realtime; smaller numbers are slower" }, + { OPTION_REFRESHSPEED ";rs", "0", core_options::option_type::BOOLEAN, "automatically adjust emulation speed to keep the emulated refresh rate slower than the host screen" }, + { OPTION_LOWLATENCY ";lolat", "0", core_options::option_type::BOOLEAN, "draws new frame before throttling to reduce input latency" }, // render options - { nullptr, nullptr, OPTION_HEADER, "CORE RENDER OPTIONS" }, - { OPTION_KEEPASPECT ";ka", "1", OPTION_BOOLEAN, "maintain aspect ratio when scaling to fill output screen/window" }, - { OPTION_UNEVENSTRETCH ";ues", "1", OPTION_BOOLEAN, "allow non-integer ratios when scaling to fill output screen/window horizontally or vertically" }, - { OPTION_UNEVENSTRETCHX ";uesx", "0", OPTION_BOOLEAN, "allow non-integer ratios when scaling to fill output screen/window horizontally"}, - { OPTION_UNEVENSTRETCHY ";uesy", "0", OPTION_BOOLEAN, "allow non-integer ratios when scaling to fill otuput screen/window vertially"}, - { OPTION_AUTOSTRETCHXY ";asxy", "0", OPTION_BOOLEAN, "automatically apply -unevenstretchx/y based on source native orientation"}, - { OPTION_INTOVERSCAN ";ios", "0", OPTION_BOOLEAN, "allow overscan on integer scaled targets"}, - { OPTION_INTSCALEX ";sx", "0", OPTION_INTEGER, "set horizontal integer scale factor"}, - { OPTION_INTSCALEY ";sy", "0", OPTION_INTEGER, "set vertical integer scale factor"}, + { nullptr, nullptr, core_options::option_type::HEADER, "CORE RENDER OPTIONS" }, + { OPTION_KEEPASPECT ";ka", "1", core_options::option_type::BOOLEAN, "maintain aspect ratio when scaling to fill output screen/window" }, + { OPTION_UNEVENSTRETCH ";ues", "1", core_options::option_type::BOOLEAN, "allow non-integer ratios when scaling to fill output screen/window horizontally or vertically" }, + { OPTION_UNEVENSTRETCHX ";uesx", "0", core_options::option_type::BOOLEAN, "allow non-integer ratios when scaling to fill output screen/window horizontally"}, + { OPTION_UNEVENSTRETCHY ";uesy", "0", core_options::option_type::BOOLEAN, "allow non-integer ratios when scaling to fill otuput screen/window vertially"}, + { OPTION_AUTOSTRETCHXY ";asxy", "0", core_options::option_type::BOOLEAN, "automatically apply -unevenstretchx/y based on source native orientation"}, + { OPTION_INTOVERSCAN ";ios", "0", core_options::option_type::BOOLEAN, "allow overscan on integer scaled targets"}, + { OPTION_INTSCALEX ";sx", "0", core_options::option_type::INTEGER, "set horizontal integer scale factor"}, + { OPTION_INTSCALEY ";sy", "0", core_options::option_type::INTEGER, "set vertical integer scale factor"}, // rotation options - { nullptr, nullptr, OPTION_HEADER, "CORE ROTATION OPTIONS" }, - { OPTION_ROTATE, "1", OPTION_BOOLEAN, "rotate the game screen according to the game's orientation when needed" }, - { OPTION_ROR, "0", OPTION_BOOLEAN, "rotate screen clockwise 90 degrees" }, - { OPTION_ROL, "0", OPTION_BOOLEAN, "rotate screen counterclockwise 90 degrees" }, - { OPTION_AUTOROR, "0", OPTION_BOOLEAN, "automatically rotate screen clockwise 90 degrees if vertical" }, - { OPTION_AUTOROL, "0", OPTION_BOOLEAN, "automatically rotate screen counterclockwise 90 degrees if vertical" }, - { OPTION_FLIPX, "0", OPTION_BOOLEAN, "flip screen left-right" }, - { OPTION_FLIPY, "0", OPTION_BOOLEAN, "flip screen upside-down" }, + { nullptr, nullptr, core_options::option_type::HEADER, "CORE ROTATION OPTIONS" }, + { OPTION_ROTATE, "1", core_options::option_type::BOOLEAN, "rotate the game screen according to the game's orientation when needed" }, + { OPTION_ROR, "0", core_options::option_type::BOOLEAN, "rotate screen clockwise 90 degrees" }, + { OPTION_ROL, "0", core_options::option_type::BOOLEAN, "rotate screen counterclockwise 90 degrees" }, + { OPTION_AUTOROR, "0", core_options::option_type::BOOLEAN, "automatically rotate screen clockwise 90 degrees if vertical" }, + { OPTION_AUTOROL, "0", core_options::option_type::BOOLEAN, "automatically rotate screen counterclockwise 90 degrees if vertical" }, + { OPTION_FLIPX, "0", core_options::option_type::BOOLEAN, "flip screen left-right" }, + { OPTION_FLIPY, "0", core_options::option_type::BOOLEAN, "flip screen upside-down" }, // artwork options - { nullptr, nullptr, OPTION_HEADER, "CORE ARTWORK OPTIONS" }, - { OPTION_ARTWORK_CROP ";artcrop", "0", OPTION_BOOLEAN, "crop artwork so emulated screen image fills output screen/window in one axis" }, - { OPTION_FALLBACK_ARTWORK, nullptr, OPTION_STRING, "fallback artwork if no external artwork or internal driver layout defined" }, - { OPTION_OVERRIDE_ARTWORK, nullptr, OPTION_STRING, "override artwork for external artwork and internal driver layout" }, + { nullptr, nullptr, core_options::option_type::HEADER, "CORE ARTWORK OPTIONS" }, + { OPTION_ARTWORK_CROP ";artcrop", "0", core_options::option_type::BOOLEAN, "crop artwork so emulated screen image fills output screen/window in one axis" }, + { OPTION_FALLBACK_ARTWORK, nullptr, core_options::option_type::STRING, "fallback artwork if no external artwork or internal driver layout defined" }, + { OPTION_OVERRIDE_ARTWORK, nullptr, core_options::option_type::STRING, "override artwork for external artwork and internal driver layout" }, // screen options - { nullptr, nullptr, OPTION_HEADER, "CORE SCREEN OPTIONS" }, - { OPTION_BRIGHTNESS "(0.1-2.0)", "1.0", OPTION_FLOAT, "default game screen brightness correction" }, - { OPTION_CONTRAST "(0.1-2.0)", "1.0", OPTION_FLOAT, "default game screen contrast correction" }, - { OPTION_GAMMA "(0.1-3.0)", "1.0", OPTION_FLOAT, "default game screen gamma correction" }, - { OPTION_PAUSE_BRIGHTNESS "(0.0-1.0)", "0.65", OPTION_FLOAT, "amount to scale the screen brightness when paused" }, - { OPTION_EFFECT, "none", OPTION_STRING, "name of a PNG file to use for visual effects, or 'none'" }, + { nullptr, nullptr, core_options::option_type::HEADER, "CORE SCREEN OPTIONS" }, + { OPTION_BRIGHTNESS "(0.1-2.0)", "1.0", core_options::option_type::FLOAT, "default game screen brightness correction" }, + { OPTION_CONTRAST "(0.1-2.0)", "1.0", core_options::option_type::FLOAT, "default game screen contrast correction" }, + { OPTION_GAMMA "(0.1-3.0)", "1.0", core_options::option_type::FLOAT, "default game screen gamma correction" }, + { OPTION_PAUSE_BRIGHTNESS "(0.0-1.0)", "0.65", core_options::option_type::FLOAT, "amount to scale the screen brightness when paused" }, + { OPTION_EFFECT, "none", core_options::option_type::STRING, "name of a PNG file to use for visual effects, or 'none'" }, // vector options - { nullptr, nullptr, OPTION_HEADER, "CORE VECTOR OPTIONS" }, - { OPTION_BEAM_WIDTH_MIN, "1.0", OPTION_FLOAT, "set vector beam width minimum" }, - { OPTION_BEAM_WIDTH_MAX, "1.0", OPTION_FLOAT, "set vector beam width maximum" }, - { OPTION_BEAM_DOT_SIZE, "1.0", OPTION_FLOAT, "set vector beam size for dots" }, - { OPTION_BEAM_INTENSITY_WEIGHT, "0", OPTION_FLOAT, "set vector beam intensity weight " }, - { OPTION_FLICKER, "0", OPTION_FLOAT, "set vector flicker effect" }, + { nullptr, nullptr, core_options::option_type::HEADER, "CORE VECTOR OPTIONS" }, + { OPTION_BEAM_WIDTH_MIN, "1.0", core_options::option_type::FLOAT, "set vector beam width minimum" }, + { OPTION_BEAM_WIDTH_MAX, "1.0", core_options::option_type::FLOAT, "set vector beam width maximum" }, + { OPTION_BEAM_DOT_SIZE, "1.0", core_options::option_type::FLOAT, "set vector beam size for dots" }, + { OPTION_BEAM_INTENSITY_WEIGHT, "0", core_options::option_type::FLOAT, "set vector beam intensity weight " }, + { OPTION_FLICKER, "0", core_options::option_type::FLOAT, "set vector flicker effect" }, // sound options - { nullptr, nullptr, OPTION_HEADER, "CORE SOUND OPTIONS" }, - { OPTION_SAMPLERATE ";sr(1000-1000000)", "48000", OPTION_INTEGER, "set sound output sample rate" }, - { OPTION_SAMPLES, "1", OPTION_BOOLEAN, "enable the use of external samples if available" }, - { OPTION_VOLUME ";vol", "0", OPTION_INTEGER, "sound volume in decibels (-32 min, 0 max)" }, - { OPTION_COMPRESSOR, "1", OPTION_BOOLEAN, "enable compressor for sound" }, - { OPTION_SPEAKER_REPORT "(0-4)", "0", OPTION_INTEGER, "print report of speaker ouput maxima (0=none, or 1-4 for more detail)" }, + { nullptr, nullptr, core_options::option_type::HEADER, "CORE SOUND OPTIONS" }, + { OPTION_SAMPLERATE ";sr(1000-1000000)", "48000", core_options::option_type::INTEGER, "set sound output sample rate" }, + { OPTION_SAMPLES, "1", core_options::option_type::BOOLEAN, "enable the use of external samples if available" }, + { OPTION_VOLUME ";vol", "0", core_options::option_type::INTEGER, "sound volume in decibels (-32 min, 0 max)" }, + { OPTION_COMPRESSOR, "1", core_options::option_type::BOOLEAN, "enable compressor for sound" }, + { OPTION_SPEAKER_REPORT "(0-4)", "0", core_options::option_type::INTEGER, "print report of speaker ouput maxima (0=none, or 1-4 for more detail)" }, // input options - { nullptr, nullptr, OPTION_HEADER, "CORE INPUT OPTIONS" }, - { OPTION_COIN_LOCKOUT ";coinlock", "1", OPTION_BOOLEAN, "ignore coin inputs if coin lockout output is active" }, - { OPTION_CTRLR, nullptr, OPTION_STRING, "preconfigure for specified controller" }, - { OPTION_MOUSE, "0", OPTION_BOOLEAN, "enable mouse input" }, - { OPTION_JOYSTICK ";joy", "1", OPTION_BOOLEAN, "enable joystick input" }, - { OPTION_LIGHTGUN ";gun", "0", OPTION_BOOLEAN, "enable lightgun input" }, - { OPTION_MULTIKEYBOARD ";multikey", "0", OPTION_BOOLEAN, "enable separate input from each keyboard device (if present)" }, - { OPTION_MULTIMOUSE, "0", OPTION_BOOLEAN, "enable separate input from each mouse device (if present)" }, - { OPTION_STEADYKEY ";steady", "0", OPTION_BOOLEAN, "enable steadykey support" }, - { OPTION_UI_ACTIVE, "0", OPTION_BOOLEAN, "enable user interface on top of emulated keyboard (if present)" }, - { OPTION_OFFSCREEN_RELOAD ";reload", "0", OPTION_BOOLEAN, "convert lightgun button 2 into offscreen reload" }, - { OPTION_JOYSTICK_MAP ";joymap", "auto", OPTION_STRING, "explicit joystick map, or auto to auto-select" }, - { OPTION_JOYSTICK_DEADZONE ";joy_deadzone;jdz(0.00-1)", "0.3", OPTION_FLOAT, "center deadzone range for joystick where change is ignored (0.0 center, 1.0 end)" }, - { OPTION_JOYSTICK_SATURATION ";joy_saturation;jsat(0.00-1)", "0.85", OPTION_FLOAT, "end of axis saturation range for joystick where change is ignored (0.0 center, 1.0 end)" }, - { OPTION_NATURAL_KEYBOARD ";nat", "0", OPTION_BOOLEAN, "specifies whether to use a natural keyboard or not" }, - { OPTION_JOYSTICK_CONTRADICTORY ";joy_contradictory","0", OPTION_BOOLEAN, "enable contradictory direction digital joystick input at the same time" }, - { OPTION_COIN_IMPULSE, "0", OPTION_INTEGER, "set coin impulse time (n<0 disable impulse, n==0 obey driver, 0<n set time n)" }, + { nullptr, nullptr, core_options::option_type::HEADER, "CORE INPUT OPTIONS" }, + { OPTION_COIN_LOCKOUT ";coinlock", "1", core_options::option_type::BOOLEAN, "ignore coin inputs if coin lockout output is active" }, + { OPTION_CTRLR, nullptr, core_options::option_type::STRING, "preconfigure for specified controller" }, + { OPTION_MOUSE, "0", core_options::option_type::BOOLEAN, "enable mouse input" }, + { OPTION_JOYSTICK ";joy", "1", core_options::option_type::BOOLEAN, "enable joystick input" }, + { OPTION_LIGHTGUN ";gun", "0", core_options::option_type::BOOLEAN, "enable lightgun input" }, + { OPTION_MULTIKEYBOARD ";multikey", "0", core_options::option_type::BOOLEAN, "enable separate input from each keyboard device (if present)" }, + { OPTION_MULTIMOUSE, "0", core_options::option_type::BOOLEAN, "enable separate input from each mouse device (if present)" }, + { OPTION_STEADYKEY ";steady", "0", core_options::option_type::BOOLEAN, "enable steadykey support" }, + { OPTION_UI_ACTIVE, "0", core_options::option_type::BOOLEAN, "enable user interface on top of emulated keyboard (if present)" }, + { OPTION_OFFSCREEN_RELOAD ";reload", "0", core_options::option_type::BOOLEAN, "convert lightgun button 2 into offscreen reload" }, + { OPTION_JOYSTICK_MAP ";joymap", "auto", core_options::option_type::STRING, "explicit joystick map, or auto to auto-select" }, + { OPTION_JOYSTICK_DEADZONE ";joy_deadzone;jdz(0.00-1)", "0.3", core_options::option_type::FLOAT, "center deadzone range for joystick where change is ignored (0.0 center, 1.0 end)" }, + { OPTION_JOYSTICK_SATURATION ";joy_saturation;jsat(0.00-1)", "0.85", core_options::option_type::FLOAT, "end of axis saturation range for joystick where change is ignored (0.0 center, 1.0 end)" }, + { OPTION_NATURAL_KEYBOARD ";nat", "0", core_options::option_type::BOOLEAN, "specifies whether to use a natural keyboard or not" }, + { OPTION_JOYSTICK_CONTRADICTORY ";joy_contradictory","0", core_options::option_type::BOOLEAN, "enable contradictory direction digital joystick input at the same time" }, + { OPTION_COIN_IMPULSE, "0", core_options::option_type::INTEGER, "set coin impulse time (n<0 disable impulse, n==0 obey driver, 0<n set time n)" }, // input autoenable options - { nullptr, nullptr, OPTION_HEADER, "CORE INPUT AUTOMATIC ENABLE OPTIONS" }, - { OPTION_PADDLE_DEVICE ";paddle", "keyboard", OPTION_STRING, "enable (none|keyboard|mouse|lightgun|joystick) if a paddle control is present" }, - { OPTION_ADSTICK_DEVICE ";adstick", "keyboard", OPTION_STRING, "enable (none|keyboard|mouse|lightgun|joystick) if an analog joystick control is present" }, - { OPTION_PEDAL_DEVICE ";pedal", "keyboard", OPTION_STRING, "enable (none|keyboard|mouse|lightgun|joystick) if a pedal control is present" }, - { OPTION_DIAL_DEVICE ";dial", "keyboard", OPTION_STRING, "enable (none|keyboard|mouse|lightgun|joystick) if a dial control is present" }, - { OPTION_TRACKBALL_DEVICE ";trackball", "keyboard", OPTION_STRING, "enable (none|keyboard|mouse|lightgun|joystick) if a trackball control is present" }, - { OPTION_LIGHTGUN_DEVICE, "keyboard", OPTION_STRING, "enable (none|keyboard|mouse|lightgun|joystick) if a lightgun control is present" }, - { OPTION_POSITIONAL_DEVICE, "keyboard", OPTION_STRING, "enable (none|keyboard|mouse|lightgun|joystick) if a positional control is present" }, - { OPTION_MOUSE_DEVICE, "mouse", OPTION_STRING, "enable (none|keyboard|mouse|lightgun|joystick) if a mouse control is present" }, + { nullptr, nullptr, core_options::option_type::HEADER, "CORE INPUT AUTOMATIC ENABLE OPTIONS" }, + { OPTION_PADDLE_DEVICE ";paddle", "keyboard", core_options::option_type::STRING, "enable (none|keyboard|mouse|lightgun|joystick) if a paddle control is present" }, + { OPTION_ADSTICK_DEVICE ";adstick", "keyboard", core_options::option_type::STRING, "enable (none|keyboard|mouse|lightgun|joystick) if an analog joystick control is present" }, + { OPTION_PEDAL_DEVICE ";pedal", "keyboard", core_options::option_type::STRING, "enable (none|keyboard|mouse|lightgun|joystick) if a pedal control is present" }, + { OPTION_DIAL_DEVICE ";dial", "keyboard", core_options::option_type::STRING, "enable (none|keyboard|mouse|lightgun|joystick) if a dial control is present" }, + { OPTION_TRACKBALL_DEVICE ";trackball", "keyboard", core_options::option_type::STRING, "enable (none|keyboard|mouse|lightgun|joystick) if a trackball control is present" }, + { OPTION_LIGHTGUN_DEVICE, "keyboard", core_options::option_type::STRING, "enable (none|keyboard|mouse|lightgun|joystick) if a lightgun control is present" }, + { OPTION_POSITIONAL_DEVICE, "keyboard", core_options::option_type::STRING, "enable (none|keyboard|mouse|lightgun|joystick) if a positional control is present" }, + { OPTION_MOUSE_DEVICE, "mouse", core_options::option_type::STRING, "enable (none|keyboard|mouse|lightgun|joystick) if a mouse control is present" }, // debugging options - { nullptr, nullptr, OPTION_HEADER, "CORE DEBUGGING OPTIONS" }, - { OPTION_VERBOSE ";v", "0", OPTION_BOOLEAN, "display additional diagnostic information" }, - { OPTION_LOG, "0", OPTION_BOOLEAN, "generate an error.log file" }, - { OPTION_OSLOG, "0", OPTION_BOOLEAN, "output error.log data to system diagnostic output (debugger or standard error)" }, - { OPTION_DEBUG ";d", "0", OPTION_BOOLEAN, "enable/disable debugger" }, - { OPTION_UPDATEINPAUSE, "0", OPTION_BOOLEAN, "keep calling video updates while in pause" }, - { OPTION_DEBUGSCRIPT, nullptr, OPTION_STRING, "script for debugger" }, - { OPTION_DEBUGLOG, "0", OPTION_BOOLEAN, "write debug console output to debug.log" }, + { nullptr, nullptr, core_options::option_type::HEADER, "CORE DEBUGGING OPTIONS" }, + { OPTION_VERBOSE ";v", "0", core_options::option_type::BOOLEAN, "display additional diagnostic information" }, + { OPTION_LOG, "0", core_options::option_type::BOOLEAN, "generate an error.log file" }, + { OPTION_OSLOG, "0", core_options::option_type::BOOLEAN, "output error.log data to system diagnostic output (debugger or standard error)" }, + { OPTION_DEBUG ";d", "0", core_options::option_type::BOOLEAN, "enable/disable debugger" }, + { OPTION_UPDATEINPAUSE, "0", core_options::option_type::BOOLEAN, "keep calling video updates while in pause" }, + { OPTION_DEBUGSCRIPT, nullptr, core_options::option_type::STRING, "script for debugger" }, + { OPTION_DEBUGLOG, "0", core_options::option_type::BOOLEAN, "write debug console output to debug.log" }, // comm options - { nullptr, nullptr, OPTION_HEADER, "CORE COMM OPTIONS" }, - { OPTION_COMM_LOCAL_HOST, "0.0.0.0", OPTION_STRING, "local address to bind to" }, - { OPTION_COMM_LOCAL_PORT, "15112", OPTION_STRING, "local port to bind to" }, - { OPTION_COMM_REMOTE_HOST, "127.0.0.1", OPTION_STRING, "remote address to connect to" }, - { OPTION_COMM_REMOTE_PORT, "15112", OPTION_STRING, "remote port to connect to" }, - { OPTION_COMM_FRAME_SYNC, "0", OPTION_BOOLEAN, "sync frames" }, + { nullptr, nullptr, core_options::option_type::HEADER, "CORE COMM OPTIONS" }, + { OPTION_COMM_LOCAL_HOST, "0.0.0.0", core_options::option_type::STRING, "local address to bind to" }, + { OPTION_COMM_LOCAL_PORT, "15112", core_options::option_type::STRING, "local port to bind to" }, + { OPTION_COMM_REMOTE_HOST, "127.0.0.1", core_options::option_type::STRING, "remote address to connect to" }, + { OPTION_COMM_REMOTE_PORT, "15112", core_options::option_type::STRING, "remote port to connect to" }, + { OPTION_COMM_FRAME_SYNC, "0", core_options::option_type::BOOLEAN, "sync frames" }, // misc options - { nullptr, nullptr, OPTION_HEADER, "CORE MISC OPTIONS" }, - { OPTION_DRC, "1", OPTION_BOOLEAN, "enable DRC CPU core if available" }, - { OPTION_DRC_USE_C, "0", OPTION_BOOLEAN, "force DRC to use C backend" }, - { OPTION_DRC_LOG_UML, "0", OPTION_BOOLEAN, "write DRC UML disassembly log" }, - { OPTION_DRC_LOG_NATIVE, "0", OPTION_BOOLEAN, "write DRC native disassembly log" }, - { 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_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)" }, - { OPTION_CONFIRM_QUIT, "0", OPTION_BOOLEAN, "ask for confirmation before exiting" }, - { OPTION_UI_MOUSE, "1", OPTION_BOOLEAN, "display UI mouse cursor" }, - { OPTION_LANGUAGE ";lang", "", OPTION_STRING, "set UI display language" }, - { OPTION_NVRAM_SAVE ";nvwrite", "1", OPTION_BOOLEAN, "save NVRAM data on exit" }, - - { nullptr, nullptr, OPTION_HEADER, "SCRIPTING OPTIONS" }, - { OPTION_AUTOBOOT_COMMAND ";ab", nullptr, OPTION_STRING, "command to execute after machine boot" }, - { OPTION_AUTOBOOT_DELAY, "0", OPTION_INTEGER, "delay before executing autoboot command (seconds)" }, - { OPTION_AUTOBOOT_SCRIPT ";script", nullptr, OPTION_STRING, "Lua script to execute after machine boot" }, - { OPTION_CONSOLE, "0", OPTION_BOOLEAN, "enable emulator Lua console" }, - { OPTION_PLUGINS, "1", OPTION_BOOLEAN, "enable Lua plugin support" }, - { OPTION_PLUGIN, nullptr, OPTION_STRING, "list of plugins to enable" }, - { OPTION_NO_PLUGIN, nullptr, OPTION_STRING, "list of plugins to disable" }, - - { nullptr, nullptr, OPTION_HEADER, "HTTP SERVER OPTIONS" }, - { OPTION_HTTP, "0", OPTION_BOOLEAN, "enable HTTP server" }, - { OPTION_HTTP_PORT, "8080", OPTION_INTEGER, "HTTP server port" }, - { OPTION_HTTP_ROOT, "web", OPTION_STRING, "HTTP server document root" }, + { nullptr, nullptr, core_options::option_type::HEADER, "CORE MISC OPTIONS" }, + { OPTION_DRC, "1", core_options::option_type::BOOLEAN, "enable DRC CPU core if available" }, + { OPTION_DRC_USE_C, "0", core_options::option_type::BOOLEAN, "force DRC to use C backend" }, + { OPTION_DRC_LOG_UML, "0", core_options::option_type::BOOLEAN, "write DRC UML disassembly log" }, + { OPTION_DRC_LOG_NATIVE, "0", core_options::option_type::BOOLEAN, "write DRC native disassembly log" }, + { OPTION_BIOS, nullptr, core_options::option_type::STRING, "select the system BIOS to use" }, + { OPTION_CHEAT ";c", "0", core_options::option_type::BOOLEAN, "enable cheat subsystem" }, + { OPTION_SKIP_GAMEINFO, "0", core_options::option_type::BOOLEAN, "skip displaying the system information screen at startup" }, + { OPTION_UI_FONT, "default", core_options::option_type::STRING, "specify a font to use" }, + { OPTION_UI, "cabinet", core_options::option_type::STRING, "type of UI (simple|cabinet)" }, + { OPTION_RAMSIZE ";ram", nullptr, core_options::option_type::STRING, "size of RAM (if supported by driver)" }, + { OPTION_CONFIRM_QUIT, "0", core_options::option_type::BOOLEAN, "ask for confirmation before exiting" }, + { OPTION_UI_MOUSE, "1", core_options::option_type::BOOLEAN, "display UI mouse cursor" }, + { OPTION_LANGUAGE ";lang", "", core_options::option_type::STRING, "set UI display language" }, + { OPTION_NVRAM_SAVE ";nvwrite", "1", core_options::option_type::BOOLEAN, "save NVRAM data on exit" }, + + { nullptr, nullptr, core_options::option_type::HEADER, "SCRIPTING OPTIONS" }, + { OPTION_AUTOBOOT_COMMAND ";ab", nullptr, core_options::option_type::STRING, "command to execute after machine boot" }, + { OPTION_AUTOBOOT_DELAY, "0", core_options::option_type::INTEGER, "delay before executing autoboot command (seconds)" }, + { OPTION_AUTOBOOT_SCRIPT ";script", nullptr, core_options::option_type::STRING, "Lua script to execute after machine boot" }, + { OPTION_CONSOLE, "0", core_options::option_type::BOOLEAN, "enable emulator Lua console" }, + { OPTION_PLUGINS, "1", core_options::option_type::BOOLEAN, "enable Lua plugin support" }, + { OPTION_PLUGIN, nullptr, core_options::option_type::STRING, "list of plugins to enable" }, + { OPTION_NO_PLUGIN, nullptr, core_options::option_type::STRING, "list of plugins to disable" }, + + { nullptr, nullptr, core_options::option_type::HEADER, "HTTP SERVER OPTIONS" }, + { OPTION_HTTP, "0", core_options::option_type::BOOLEAN, "enable HTTP server" }, + { OPTION_HTTP_PORT, "8080", core_options::option_type::INTEGER, "HTTP server port" }, + { OPTION_HTTP_ROOT, "web", core_options::option_type::STRING, "HTTP server document root" }, { nullptr } }; |