summaryrefslogtreecommitdiffstatshomepage
path: root/src/frontend/mame/ui/devopt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* full xtal conversionxtal Olivier Galibert3 days1-5/+5
|
* Move UTF8_xxx string literal macros to new header in lib/util AJR2022-09-251-0/+2
|
* Render-related cleanup AJR2021-12-301-0/+1
| | | | | | | - Undo inclusion of screen.h within render.h and update many source files that were stealth-including the former - Move texture_format enum to rendertypes.h - rendlay.h: Make a few methods static - ui/info.cpp: Use C++11-style iteration for render targets
* frontend: Don't call .name() on I/O port fields without a running machine. Vas Crabb2021-12-151-4/+4
|
* screen: report refresh rate <1hz as error in validity check hap2021-12-081-7/+10
|
* ui: change string parse for screen hz info hap2021-12-071-2/+5
|
* frontend: Make all the textbox menus use the custom navigation flag, on the ↵ Vas Crabb2021-10-311-1/+2
| | | | off chance they become scrollable somehow.
* -frontend: Refactored menu event handling and fixed a number of issues. (#8777) Vas Crabb2021-10-311-236/+283
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Moved common code for drawing about box, info viewer, and other text box menus to a base class; removed the last of the info viewer logic and the multi-line item hack from the base menu class. * Added previous/next group navigation for general inputs and plugin input selection menus. * Moved message catalog logic to lib/util, allowing osd and emu to use localised messages. * Made the base menu class use the UI manager’s feature for holding session state rather than a static map and mutex. * Improved menu event handling model, and fixed many issues, particularly with menus behaving badly when hidden/shown. * Added better support for menus that don’t participate in the usual menu stack, like the menuless sliders and the save/load state menus. * Made a number of menus refresh state when being shown after being hidden (fixes MT08121 among other issues). * Fixed indication of mounted slot option in the slot option details menu. * Improved appearance of background menus when emulation isn't running - draw all menus in the stack, and darken the background menus to make the edges of the active menu clearer. * Fixed locale issues in -listxml. -debugger: Made GUI debuggers more uniform. * Added new memory view features to Win32 debugger. * Fixed spelling of hexadecimal in Cocoa debugger and added decimal address option. * Fixed duplicate keyboard shortcut in Cocoa debugger (Shift-Cmd-D was both new device window and 64-bit float format). * Made keyboard shortcuts slightly more consistent across debuggers. -plugins: Moved input selection menu and sequence polling code to a common library. Fixed the issue that prevented keyboard inputs being mapped with -steadykey on. -docs: Started adding some documentation for MAME's internal UI, and updated the list of example front-ends. -Regenerated message catalog sources. For translators, the new strings are mostly: * The names of the inputs provided by the OS-dependent layer for things like fullscreen and video features. These show up in the user interface inputs menu. * The names for automatically generated views. These show up in the video options menu - test with a system with a lot of screens to see more variants. * The input macro plugin UI. * A few format strings for analog input assignments. * A few strings for the about box header.
* API cleanups and miscellaneous fixes. Vas Crabb2021-07-151-2/+2
| | | | | | | | | | | | | | | | emu/ioport.cpp: Allow controller files to override input sequences for inputs that don't use defaults, and to override the toggle setting for digital inputs. emu/config.cpp: Expose configuration level (mostly matters for controller files), improved verbose diagnostic messages, and moved a few things out of the global and preprocessor namespaces. docs: Added documentation for some controller configuration file features. The device mapping feature documentation will be merged in at some point. util/unicode.cpp, emu/input.cpp: API cleanups.
* More Lua engine clean-up and documentation, resulting in core cleanup. Vas Crabb2020-12-181-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | More Lua interface cleanup, additional properties and methods, and documentation migration/expansion. Emulated switch inputs can have "not" codes applied to host input axis directions. It works the same way as host switch inputs - push twice for a "not" prefix. Input polling helpers no longer need to store state in the input device items. There’s less leakage, and less chance of things interfering with each other. Allow snapshot view options to be configured through the internal UI via the video options menu. Made video options menus place initial focus on the currently selected view item. Removed some crud from the menu base class. Fixed the description of the "snapview" option. The value to get raw screen pixels was changed to "native" a long time ago but the description was never updated. Re-arranged the Golden Poker button lamps so that the 6-button layouts for Jolli Witch and Wild Witch make sense. In 6-button mode, the hold buttons double as bonus game and bet buttons, but the lamp outputs don't change. The simplest way to deal with this without requiring the user to switch views or using layout scripting is to place the dedicated buttons directly below the hold buttons that correspond to them. Removed some software list data that was redundantly copied into device_image_interface (m_supported was never even set, so it didn't even work), and made crc() work better (previously it wasn't recalculuated after unloading and loading another image). Made strformat.h and devcb.h play nicer with C++17 and pre-standard C++20. Format precision now correctly limits the length of string views. Confirmed that strformat.{h,cpp} works with pre-standard C++20 support in GCC 9. Removed an auto_alloc from cpu/arm7.
* C++17 string handling updates (without charconv so as not to break GCC 7) AJR2020-12-081-1/+1
| | | | | | - render.cpp, rendlay.cpp, ui/ui.cpp, ui/menu.cpp: Change argument types for text processing functions from const char * to std::string_view - ui/menu.cpp: Add overloads of item_append omitting the frequently empty subtext argument - cheat.cpp: Remove some c_str() calls that became unnecessary a while ago
* Fairly significant overhaul of Lua engine and some cleanup. Vas Crabb2020-11-251-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The things that were previously called device iterators are not iterators in the C++ sense of the word. This is confusing for newcomers. These have been renamed to be device enumerators. Several Lua methods and properties that previously returned tables now return lightweight wrappers for the underlying objects. This means creating them is a lot faster, but you can't modify them, and the performance characteristics of different operations varies. The render manager's target list uses 1-based indexing to be more like idiomatic Lua. It's now possible to create a device enumerator on any device, and then get subdevices (or sibling devices) using a relative tag. Much more render/layout functionality has been exposed to Lua. Layout scripts now have access to the layout file and can directly set the state of an item with no bindings, or register callbacks to obtain state. Some things that were previously methods are now read-only properties. Layout files are no longer required to supply a "name". This was problematic because the same layout file could be loaded for multiple instances of the same device, and each instance of the layout file should use the correct inputs (and in the future outputs) for the device instance it's associated with. This should also fix video output with MSVC builds by avoiding delegates that return things that don't fit in a register.
* ui: remove clock freqs trailing 0s on machine info screen (nw) hap2020-04-031-24/+43
|
* Revert "ui: remove clock freqs trailing 0s on machine info screen (nw)" hap2020-04-031-30/+26
| | | | This reverts commit 64c1136440d696e571edcff36b66a30c720e20bd.
* ui: remove clock freqs trailing 0s on machine info screen (nw) hap2020-04-031-26/+30
|
* Replace ATTOSECONDS_TO_HZ with as_hz where appropriate (nw) AJR2018-11-051-1/+1
|
* Better support for screen orientation/geometry: Vas Crabb2018-07-261-1/+4
| | | | | | | | | | | | | | | | | | | | | * Eliminates the need for the horizontal/vertical/LCD/SVG layout files * Screens can now have orientation and physical aspect ratio specified * RASTER/VECTOR defaults to 4:3, LCD/SVG defaults to square pixels at config time * System orientation is applied on top of screen orientation Automatically generated single-screen views and orientation flags in XML output now work correctly for systems with multiple screens in different geometries/orientations, e.g. housemnq, rocnms, stepstag, or netmerc. The "core rotation options" only interact with system orientation. Allowing multi-screen systems to work well with one monitor per emulated screen is a complex topic. System orientation also affects the GFX viewer while screen orientation doesn't. The orientation displayed in the system selection menu is from the system orientation. Let me know if I've broken any systems or use cases. Also, add save state support for std::array/C array nested to any depth.
* Move ROM loading macros to romentry.h and remove romload.h from emu.h (nw) AJR2018-06-241-0/+1
|
* Make MCFG_DEVICE_ADD and callable device types more flexible: Vas Crabb2018-05-041-1/+1
| | | | | | | | | | | | | | | | | | | | | * Allows defaulted clocks (see subtle example with vboy) * Allows additional constructors (see RS232 port in tranz330) * Allows use of device finder in place of tag in MCFG_DEVICE_ADD * Requires out-of-line destructor for devices using incomplete types * Requires XTAL or explicit u32 for clocks for devices with private types Devices must still define the standard constructor. When writing additional constructors, be aware that the constructor runs before device_add_mconfig in the context of the existing device, not the new device. See osborne1, zorba, tranz330, and vboy for examples of this in use. Compilation is a bit slower, but this is temporary while refactoring is in progress. Eliminated the need for MCFG_SOUND_ROUTE_EX. Removed macros from slot option configuration - they just obfuscated code and slowed it down with needless dynamic casts, but didn't actually simplify it.
* well that was dumb (nw) Vas Crabb2018-04-301-2/+2
|
* Make devopt menu localisable. Vas Crabb2018-04-281-72/+76
| | | | Make machine_config aware of device being configured so owner doesn't need to be passed everywhere.
* Start adding stuff for iterating ROM entries in a more C++ way without ↵ Vas Crabb2017-09-221-7/+4
| | | | needing to allocate everywhere, improve performance of -listxml by another 10% or so
* Turn most of the ROM entry accessor macros into templates, and make them ↵ Vas Crabb2017-09-181-9/+12
| | | | work on tiny_rom_entry/rom_entry pointers/references, also claw back a little performance lost in the ROM entry refactoring
* Encapsulate a bit more of the menu base class to control when layout changes ↵ Vas Crabb2016-11-231-1/+1
| | | | can happen
* DAC WIP, started documenting the DACs in use. [smf] smf-2016-10-171-1/+1
| | | | | | | | | | | | | | | | | | ataxx: Fixed missing sound channel caused by one dac not being hooked up and one dac being hooked up to two addresses. bestbest: Fixed high pitch screech caused by incorrect addressing (two dacs weren't hooked up and two were hooked up to two addresses). cchasm: Fixed static noise generation caused by feeding the same bit to both dacs. cheekyms: Slightly improved sound by implementing sound triggers as 8 x 1 bit dacs instead of 1 x 8 bit dac. galeb: Fixed sound by implementing it according to http://www.deltasoft.com.hr/retro/galebemu.htm & implemented enough of LOAD/SAVE to stop it hanging. hard drivin: (all games in driver) Improved 12 bit controls, although centre still goes out of sync. mea8000: Converted to a sound device. megaphx: Fixed noisy samples due to wrong format. microvsn: Fixed sound pitch caused by incorrect usage of write_signed8(). seicross: Changed to a 4 bit dac as samples are packed nibble. spaceg: Preliminary sound using space invaders samples. suna8: Changed to a 4 bit dac as samples are packed nibble. vcombat: Fixed static during machine gun fire due to incorrect dc offset removal. vectrex: Fixed noisy samples due to wrong format. wheelfir: Fixed sound, eeprom & analogue steering wheel and brake pedal.
* C++-fiied code that iterates over rom_entry arrays (without usage of ↵ Nathan Woods2016-08-071-7/+7
| | | | rom_[first|next]_*)
* UI refactoring: [Vas Crabb] Vas Crabb2016-07-101-1/+1
| | | | | | | | | * std::bind - accept no substitutes * pointer -> reference conversion * make more menu members private or protected * don't play so fast and loose with integer types * reduce some vector copying * make more static constants const
* Revert "C++ comments for some parts." Vas Crabb2016-07-051-1/+1
| | | | This reverts commit 19c4764090d1c5131945d11737de8a3bb421b9aa.
* C++ comments for some parts. dankan18902016-07-041-1/+1
| | | | | Increased use of the specifier auto. Some code cleanups.
* Added a move constructor and got rid of the 'const char *' overload. I had ↵ Nathan Woods2016-06-291-1/+1
| | | | | | to update a ton of call sites that relied on being able to pass nullptr. It is inevitable that there are more
* Cleanup and version bumpmame0175 Miodrag Milanovic2016-06-291-1/+0
|
* ioport tagged_list to unordered_map (nw) Miodrag Milanovic2016-06-181-2/+2
|
* ui refactoring [Vas Crabb] Vas Crabb2016-05-271-7/+11
| | | | | | | * move menu classes into ::ui namesapce * reduce scope of many symbols (first step in making UI code less rage-inducing so I can fix text input)
* Relieve UI menus and such from having to constantly fetch UI object from ↵ AJR2016-04-261-1/+1
| | | | global state (nw)
* Split UI and frontend part from core [Miodrag Milanovic] Miodrag Milanovic2016-04-231-0/+279