summaryrefslogtreecommitdiffstatshomepage
path: root/plugins/cheat
Commit message (Collapse)AuthorAgeFilesLines
* cheat: Make string.char and string.format available to cheats (#12183) eientei952024-03-271-15/+16
|
* -Improved some Lua APIs: Vas Crabb2023-04-071-3/+5
| | | | | | | | | | | | | | | | * Moved several machine lifecycle callbacks to the notifier/subscriber model. The old callback registration model is still available for them for now, but prints a deprecation warning. * Added pre-save/post-load notifications. * Use a single allocated timer rather than one anonymous timer per waiter. Waiters no longer prevent saved states from being loaded. * Clean up outstanding waiters on stop or state load rather than just leaking them. * Started documenting parts of the emulator interface object that should be relatively stable. -imagedev/avivideo.cpp: Fixed an object leak on unload. Also changed some other media image devices to use smart pointers.
* Input refactoring: Vas Crabb2023-02-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | osd/modules/input, emu/inpttype.cpp: Made most default joystick assignments supplied by input modules. Input modules take available controls into consideration when generating default assignments. emu/inpttype.ipp: Added a separate "Back" UI input separate from Cancel. You may want an easier to hit combination for moving to the previous menu than for exiting or cancelling input. They both default to Escape. emu/inpttype.ipp: Added a UI Help control. Currently only used by analog inputs menu emu/inpttype.h: Moved I/O port field type enum to its own header and sorted UI controls so they appear in a more logical order. ui: Don't use UI Select to restore defaults - people should be getting used to the UI Clear input by now. UI Select cycles multi-value items instead. ui/inputmap.cpp: Don't use immediate cancel to cycle between clearing and restoring default assignment (use UI Clear instead). osd: Reduced the number of files needing to include the dreaded emu.h. Got some implementation out of headers.
* osd/modules/file: Don't magically substitute environment variables when ↵ npwoods2022-12-171-2/+2
| | | | | | | | opening files. (#9859) * util/options.cpp: Added option types for single and multiple paths. * util/options.cpp: Substitute environment variables in values from defaults and INI files. * ui/dirmenu.cpp: Removed hard-coded list of multi-path options. * plugins: Don't substitute environment variables in path options.
* plugins/cheat: Overwrite existing hotkeys if all hotkeys are cleared (fixes ↵ Vas Crabb2022-10-041-3/+14
| | | | GitHub #10387).
* plugins: Reduced amnesia for autofire and inputmacro plugins. Vas Crabb2021-11-051-1/+1
| | | | | | Made autofire and inputmacro plugins capable of remembering settings if the host input device for the binding is missing or if an input for a slot device that isn't present is referenced.
* plugins/cheat: one more flag cracyc2021-11-031-1/+1
|
* plugins: fix cheatfind menu flags and write xml cheat text to ui container ↵ cracyc2021-11-032-2/+5
| | | | so it's not sideways on rotated screens
* Two small fixes (bad menu flags in cheat plugin, copy/paste in docs). Vas Crabb2021-11-041-4/+4
|
* -frontend: Refactored menu event handling and fixed a number of issues. (#8777) Vas Crabb2021-10-311-33/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* plugins: Use SPDX short identifiers for licenses in exports (more precise ↵ Vas Crabb2021-10-251-1/+1
| | | | and easier to localise), use CC0 for hiscore plugin rather than CC0.
* More user experience improvements: Vas Crabb2021-10-151-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | frontend: Made it possible to cancel a media audit while it's in progress. Also made the media audit multi-threaded so it's faster. frontend: Made the DIP switches in the DIP switch preview clickable. frontend: Made the system and software selection menus leave focus on the same system when clearing the search rather than jumping to the first item. Also fixed a couple of bugs in the logic for keeping the selected item visible. frontend: Fixed a few places that weren't showing localised system names. frontend: Made UI Cancel clear a search in the file manager the same way it does on the system and sofware selection menus. frontend: Made it possible for plugin menus to handle UI Cancel more naturally, backing up to the previous plugin menu rather than dropping straight back to the list of plugins. Updated the autofire, cheat and cheatfind plugins, and fixed a few other issues in the cheatfind plugin. debugger: Made the mount and unmount commands accept instance names as well as brief instance names. Also updated another page of debugger documentation.
* Mostly revert "Create console history file in homepath (#8026)" Vas Crabb2021-05-071-3/+2
| | | | | | The change to make the console plugin work is preserved. This reverts commit 25137717c9392d142650fcd679b09c400a2f5c4a.
* Create console history file in homepath (#8026) Szunti2021-05-031-2/+3
| | | | | | | | | | | * Fix console history path, homepath is a core option * Create missing directories recursively in lua plugins. * Add lfs to global environment in a less magical way. require normally doesn't bind the name globally just returns the module, mame sets a preloader that does bind lfs globally, but maybe it's less surprising to do it explicitly
* plugins/cheat: fix regions in xml cheats too cracyc2021-04-231-1/+0
|
* Fix XML cheats which use multiple spaces. (#7998) Szunti2021-04-231-1/+0
|
* plugins/cheat: fix getting arbitrary screen cracyc2021-04-041-1/+2
|
* plugins/cheat: removed spurious print etabeta2021-04-011-1/+0
|
* plugins/cheat: fix XML cheat loading when emulation is launched with an ↵ Priuli2021-04-011-9/+6
| | | | image option specified (e.g. mame nes -cart smb) or by loading directly one part of the software (e.g. mame a600 amigaocs_flop:lslarry2:flop1)
* plugins/cheat: fix selection cracyc2021-03-171-1/+1
|
* plugins: another leftover cracyc2021-03-071-2/+2
|
* plugins: fix missed lua api changes cracyc2021-03-061-1/+1
|
* plugins/cheat: Migrate remaining XML cheat code for Lua API changes. Vas Crabb2021-01-011-7/+8
|
* Expose a couple more things to Lua so the plugins can show the actual key ↵ Vas Crabb2020-12-271-3/+4
| | | | mapped to UI clear.
* More Lua interface cleanup - it's simpler with cleaner underlyng APIs. Vas Crabb2020-12-273-49/+49
| | | | | | | | | | | Made the sound manager mute controls readable, and got rid of system enable since it just controls system mute anyway. This was causing confusion: phantom2 was trying to use both independentlyt casuing the mute bit to be ignored. THe Lua interface changes are mostly changing methods to properties, some renames to make things clearer, and some additional properties for better control over snapshots.
* More Lua engine clean-up and documentation, resulting in core cleanup. Vas Crabb2020-12-181-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* -Lua cleanup and documentation migration checkpoint. Vas Crabb2020-12-161-13/+17
| | | | | | | | | | | | | | | | | | | | * Cleaned up some more of the Lua inteface. Mostly replacing methods with properties, some consistency fixes, a few renames, some more exposed functionality, and a couple of properties that have no business being set from scripts made read-only. * Moved a lot more Lua documentation out of source comments into the documentation, and expanded on it in the process. * Got more UI code out of the input manager. * Changed input sequence poller to a polymorphic class where you specify your intention upfront. * Changed the cheat plugin to use UI Clear to clear hotkey assignments and leave them unchanged if the user starts assignment but doesn't press any switches. * Ported AJR's fix for over-eager double-click recognition from SDL to Windows OSD. -goldnpkr.cpp: Cleaned up inputs, using standard keyout and payout types and key assignments.
* plugins: Replace environment variable substitution function with core version AJR2020-12-081-2/+2
|
* -Lua engine cleanup, input edition: Vas Crabb2020-12-091-8/+10
| | | | | | | | | | | | | | | | | | | * Modernised and cleaned up Lua bindings for input classes. * Exposed the input_sequence_poller class to Lua and updated the autofire and cheat plugins to use it, rather than continuing to pretend it's part of the input manager. * Exposed more of the natural keyboard manager, including the ability to enable/disable individual keyboard and keypad devices like you can from the keyboard mode menu. * Exposed a few more things on ioport_port and input_device. -plugins/cheat: Fixed menu item not updating visually when disabling a cheat with UI Left. -plugins/cheatfind: Fixed not finding the first screen after screen enumerator was exposed as an object rather than using a table. -bwidow.cpp, pacman.cpp: Minor cleanup to recent changes.
* Disable SOUND_DEBUG for non-debug builds, and srcclean Vas Crabb2020-09-271-1/+1
|
* Fixing a cheat plugin bug npwoods2020-09-191-0/+1
|
* plugins/cheat: small simplification cracyc2020-09-151-21/+20
|
* plugins/cheat: copy the cheat table to not expose internal state (#7238) cracyc2020-09-151-4/+42
|
* plugin/cheat: subtract min before dividing cracyc2020-09-131-1/+1
|
* plugin/cheat: check value is a mulitple of step cracyc2020-09-131-1/+5
|
* plugin/cheat: flesh out the exported interface a bit more cracyc2020-09-131-91/+107
|
* plugins: add emu.plugin table to contain plugin exported interfaces cracyc2020-09-131-1/+1
|
* cheat_simple: with game genie codes try 32k nes banks then fall back to 8k ↵ cracyc2020-09-081-2/+9
| | | | and warn with 6 char codes and banked prg
* srcclean, manual adjustments (nw) Vas Crabb2020-01-261-2/+2
|
* -cheat_xml: Attempt at fixing Github issue #6114. Strip the leading colon ↵ MooglyGuy2020-01-041-1/+12
| | | | from device names as necessary in order to avoid doubling of the root colon. [Ryan Holtz, DjDiabolik]
* plugins/cheat, plugins/autofire: only time out input sequence entry if ↵ Vas Crabb2019-11-221-1/+1
| | | | nothing is entered (nw)
* plugins/cheat: don't clear error message (nw) cracyc2019-11-201-1/+5
|
* plugins/cheat: show pressed buttons when setting hotkeys (nw) cracyc2019-11-201-2/+15
|
* plugins/cheat: add time functions to cheat sandbox cracyc2019-09-091-0/+1
|
* plugins/cheat[find]: fix memshares (nw) cracyc2018-08-271-0/+14
|
* plugins: handle the case where the ui prepends the list name to the list ↵ cracyc2018-05-021-3/+7
| | | | entry name (nw)
* plugins/cheat: oops (nw) cracyc2018-05-021-13/+12
|
* plugins/cheat: translate debugger expressions by space index as the debugger ↵ cracyc2018-05-021-5/+24
| | | | | | does (nw) pc9801: use correct video clock, fixes policenauts video speed (nw)
* plugins/cheat: fix opcode space (nw) cracyc2018-04-301-1/+5
|
* plugins/cheat: work around small issue in conversion (nw) cracyc2018-04-181-2/+3
|