summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/emuopts.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert "(nw) Fixed random crashing when swapping one slot device with another." Vas Crabb2017-08-061-17/+0
| | | | | | | | This reverts commit 9968fc71b08b2a27e930d02333cb813977a37cbd. This hides the underlying problem that the options structure is getting out-of-sync. It's losing the image option but not the underlying option. Masking the problem doesn't fix it.
* (nw) Fixed random crashing when swapping one slot device with another. Robbbert2017-08-061-0/+17
|
* fix -sleep Vas Crabb2017-08-021-1/+1
|
* Fix subtle command regression (nw) AJR2017-07-061-1/+1
|
* Overhaul to how MAME handles options, take two (#2341) npwoods2017-06-251-69/+913
|
* Revert "Overhaul to how MAME handles options (#2260)" Vas Crabb2017-05-071-824/+69
| | | | | | | | | | | | This reverts commit 536990e77b49ccc50ef275bfbf1018cc29c16154. Conflicts: src/frontend/mame/mame.cpp Sorry, but this change was half-baked. It breaks a lot of existing functionality and clearly hasn't been tested in more than a tiny subset of use cases. Please play this work back onto your own branch, and test it before submitting another PR.
* Overhaul to how MAME handles options (#2260) npwoods2017-05-051-69/+824
| | | | | | | | | | | | This is an overhaul to how MAME handles options to provide a better foundation for what MAME is already doing in practice. Previously, core_options was designed to provide an input/output facility for reading options from the command line and INI files. However, the current needs (image/slot/get_default_card_software calculus and MewUI) go way beyond that. Broadly, this PR makes the following changes: * core_options now has an extensibility mechanism, so one can register options that behave dramatically differently * With that foundation, emu_options now encapsulates all of the funky image/slot/get_default_card_software calculus that were previously handled by static methods in mameopts.cpp. Changes to emu_options should not automatically cascade in such a way so that it stays in a consistent state * emu_options no longer provides direct access to the slot_options/image_options maps; there are simpler API functions that control these capabilities * Many core_options functions that expose internal data structures (e.g. - priority) that were only really needed because of previous (now obsolete) techniques have been removed. * core_options is now exception based (rather than dumping text to an std::string). The burden is on the caller to catch these, and discern between warnings and errors as needed. Obviously this is a risky change; that's why this is being submitted at the start of the dev cycle.
* srcclean (nw) Vas Crabb2017-04-231-19/+19
|
* Workaround for scenarios where both the command line and an INI specify an ↵ npwoods2017-04-191-1/+11
| | | | | image option (#2245) This is a hack; see commentary within the code. I intend to fix this "for real" when emu_options become more self contained
* More options refactoring Nathan Woods2017-04-161-21/+105
| | | | | | | | This should address outstanding concerns with PR#2231. I'm trying to turn emu_options into a self contained structure that encapsulates behaviors related to options, including the gymnastics pertaining to image/slot loading and interactions with get_default_card_software() and "just works". When the MAME 0.186 development cycle starts up, I hope to take this further. I want to make core_options::entry an abstract base class so that the entries associated with image options and slot options can derive from it. This will eliminate the current need for emu_options to directly expose maps for image and slot options. For now, I'm in stabilization mode, and I hope to get things working for a stable 0.185 release.
* Fixes issues specifying image/slot options fron INI files (reported by ↵ npwoods2017-04-151-1/+72
| | | | | | | Robbbert) (#2231) This fix really doesn't go far enough. I added hooks so that options specified at the command line can also be responded to when parsed from INI files, but in the long run much of the logic that is currently in mame_options should go into emu_options so that when an option is specified, all of the wacko logic around slot/image specification "just works" because it is encapsulated within emu_options. We have a release 11 days away; I want to be in stabilization mode.
* Refactoring in response to MT#6531 Nathan Woods2017-04-061-27/+0
| | | | | | | | | | Prior to this change, options for images and slots were stored in the emu_options collection. Anything that might restart the emulation (such as slot changes and images that reset on load) had to manipulate the emu_options structure directly. The dynamic nature of images and slots meant that some elaborate conventions for setting up this collection had to be understood by clients. After this change, emu_options has two new members (image_options and slot_options) that expose image and slot selections via an std::map. Anything that changes images or slots in a fashion that needs to persist across sessions needs to modify these data structures. Additionally, some of the hairly logic (e.g. - get_default_card_software) now records its data here rather than trying to subvert the core_options system. This is how MT#6531 was fixed; now when diimage.cpp sees an image that resets on load, it just modifies the image_options structure and forces a reset. This allowed some further cleanups to happen within diimage. This should be considered a very risky change, and scrutiny/feedback is welcome. In particular, there seems to be functionality surrounding device bioses that I'm not 100% sure how it works; the syntax seems to imply that it only works on slot devices.
* fix crash on excessive command-line options, clean up some tabulation, ↵ Vas Crabb2017-03-031-42/+39
| | | | remove long-dead option
* Softlist cleanup (#2075) npwoods2017-02-221-12/+25
| | | | | | | | | | * Eliminates the need for emu_options::update_cached_options() by providing a hook for when option values change * This is a preliminary fix to the issue identified in PR#2065 * More softlist related refactoring: - We now only parse the command line (with core_options::parse_command_line()) once - Options that are set up during slot and image setup go through a 'value_specifier' function - Eliminated the command line postprocessing
* srcclean (nw) Vas Crabb2017-01-221-3/+3
|
* Added initial HTTP/HTTPS webserver/websocket server support (nw) Miodrag Milanovic2017-01-041-0/+6
|
* Fixed spelling error (nw) Robbbert2016-11-131-1/+1
|
* added OPTION_HOMEPATH to point to read/write folder,for now used by LUA ↵ Miodrag Milanovic2016-11-121-0/+1
| | | | | | scripts (nw) Copied all needed files so plugins could be started under UWP
* Added swpath. Allows users to specify location of loose software. Robbbert2016-10-121-0/+1
|
* Implement new option -autostretchxy, to automatically apply Antonio Giner2016-08-271-0/+1
| | | | -unevenstretchx or -unevenstretchy based on source native orientation.
* Implement new option -unevenstretchy (complementary to -unevenstretchx) Antonio Giner2016-08-271-0/+1
|
* Procedural texture for vectors in HLSL ImJezze2016-06-051-1/+0
| | | | | | * added simple procedural texture for vectors with rounded line ends and beam smoothness * added optional -vector_beam_smooth option * removed -antialias option, antialiasing is now always applied, except for plain D3D
* Changed the backing representation of OPTION_UI from being a string to an enum Nathan Woods2016-05-291-0/+7
|
* Move system name lookup into frontend (nw) AJR2016-04-281-14/+0
|
* Various cleanups suggested by static analyzer (nw) Miodrag Milanovic2016-04-241-1/+1
|
* Added file for mame depended handling of opts (nw) Miodrag Milanovic2016-04-221-418/+0
|
* Created mame_options as 1st step towards creating core independent of MAME ↵ Miodrag Milanovic2016-04-211-153/+157
| | | | implementation (nw)
* Merge pull request #823 from ajrhacker/deviter Miodrag Milanović2016-04-201-27/+23
|\ | | | | Iterate over devices C++11 style [AJR]
| * Iterate over devices C++11 style AJR2016-04-181-27/+23
| | | | | | | | | | | | Replace the old device_iterator and its specialized versions with functionally equivalent classes that use standard operators to yield references to devices/interfaces rather than pointers. With range-based for loops, they no longer have to be stored in named variables, though they can also be reused concurrently since the iteration state is now maintained by a subclass. Add a few more typical getters to device_t::subdevice_list.
* | Forced reset in order to properly apply some options. (nw) dankan18902016-04-201-1/+1
|/
* ui: Re-enabled configuration menu for single-machine and added some options. dankan18902016-04-151-2/+2
| | | | Adding handler for the right mouse button in the main menu, calls the machine configuration.
* diimage.cpp: Allow image devices to be configured with a fixed etabeta782016-04-121-1/+4
| | | | | | | | | (not user selectable) piece of software and updated a few options and menu to acknowledge such possibility. [Fabio Priuli] macs.cpp: Converted to use generic cartslot with fixed software configuration. Cleaned up loading and banking systems in the driver as a result. [Fabio Priuli]
* Make overscan on integer scaled targets optional (add option -intoverscan). Antonio Giner2016-04-051-0/+1
|
* Revert software-installed slot/image options when changing software AJR2016-04-041-23/+30
| | | | | - Remove emu.h's stealth include of emuopts.h through mconfig.h; reduce dependency on emuopts.h in other headers and source files. - MCFG_CPU_FORCE_NO_DRC is now a CPU configuration parameter rather than a global one; it still works to override the -drc option setting.
* refactor miscmenu and add adv menu (nw) Jeffrey Clark2016-04-031-2/+2
|
* Iterate over core classes C++11 style AJR2016-03-311-1/+1
| | | | | | | | C++11 range-based for loops can now iterate over simple_list, tagged_list, core_options, device_t::subdevice_list, device_t::interface_list, render_primitive_list and all subclasses of the above, and much code has been refactored to use them. Most core classes that have these lists as members now have methods that return the lists themselves, replacing most of the methods that returned the object at an owned list's head. (A few have been retained due to their use in drivers or OSD.) device_t now manages subdevice and interface lists through subclasses, but has given up the work of adding and removing subdevices to machine_config. memory_manager has its tagged lists exposed, though the old rooted tag lookup methods have been removed (they were privatized already).
* Change INIPATH default to cover new HLSL presets (ini/presets) (nw) Scott Stone2016-03-301-1/+1
|
* added -plugins / -noplugins (to enable or disable plugins in total) ↵ Miodrag Milanovic2016-03-291-0/+3
| | | | | | | | [Miodrag Milanovic] and -plugin highscore (will enable just that plugin) and -noplugin highscore (will disable just that plugin) plugin/noplugin use comma separated list of plugins
* using same check as in clifront, just to check if string is empty (nw) Miodrag Milanovic2016-03-281-1/+1
|
* Avoid dereferencing null pointers in set_system_name (nw) AJR2016-03-271-2/+2
|
* Remember to load software when the system name doesn't change (nw) AJR2016-03-261-44/+50
|
* Allow software selected from UI to install slot defaults AJR2016-03-261-10/+53
| | | | Prevent clang warning about unused variable in BGFX target_manager (nw)
* Move integer scaling implementation to render_target::compute_visible_area Antonio Giner2016-03-201-2/+4
| | | | | - Add core option -unevenstretch - Add core option -unevenstretchx
* Implement integer scaling in core renderer [Calamity] Antonio Giner2016-03-151-0/+6
|
* Make osd_file a polymorphic class that's held with smart pointers Vas Crabb2016-03-141-2/+2
| | | | | | | | | | | | | | | Make avi_file a class that's held with smart pointers, encapsulate various AVI I/O structures Make zip_file and _7z_file classes rather than having free functions everywhere Hide zip/7z class implementation behind an interface, no longer need to call close() to send back to the cache Don't dump as much crap in global namespace Add solaris PTY implementation Improve variable expansion for SDL OSD - supports ~/$FOO/${BAR} syntax Rearrange stuff so the same things are in file module for all OSDs Move file stuff into its own module 7z/zip open and destruct are still not thread-safe due to lack of interlocks around cache access Directory functions still need to be moved to file module SDL OSD may not initialise WinSock on Windows
* Change default value of autoboot_delay to 0. The LUA scripts themselves can ↵ Scott Stone2016-03-121-1/+1
| | | | use wait() to delay. (nw)
* Let slot_default in softlists override INIs (but not the command line) AJR2016-03-091-3/+7
|
* Turn core_file into a proper class that gets cleaned up safely using unique_ptr Vas Crabb2016-03-061-1/+1
| | | | Subverted somewhat by chd_file class
* * Support *n conversion in stream_format/string_format Vas Crabb2016-03-011-2/+2
| | | | | | | | | * Make stream_format return characters printed * Add iostreams with std::vector storage * Move to type-safe templates for logerror and popmessage * Remove now-unnecessary I64FMT from calls to logerror/popmessage * Put some lib/util stuff in util:: namespace * Some fixes to Japanese translation
* Replace strformat, strprintf and strcatprintf with type-safe steam_format ↵ Vas Crabb2016-02-281-6/+6
| | | | | | | | | and string_format Update MAME to use new function Instantiate ODR-used static constant members Make some of the UI code more localisable Remove use of retired functions in tools