* autofire, inputmacro: Made left/right repeat when held (makes setting
long delays/durations easier).
* autofire, inputmacro: Added headings for devices in input selection
menus (helps when controller buttons have identical names, e.g. AES)
* autofire: Made intial selection when moving between menus intuitive,
log some errors on saving/loading configuration.
* autofire: Fixed two errors in Chinese localisations.
-plugins: Sort input selection menus for autofire plugin.
-frontend: Fixed another case where the menus may not automatically
scroll the first item into view.
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.
Trying to collect messages from everything at once hits some limit in
xgettext and causes messages to be lost no, so I've split it up by the
second-level source directories.
For some reason xgettext thinks overloaded Lua functions are blasphemy,
so that has to be worked around, too.
Got rid of one of the UI audit inputs. There only needs to be one, and
the options can be presented in the confirmation menu. Two secret
keystrokes is too confusing. Also got rid of the long-obsolete UI
Toggle Debugger input.
Added audit media button to the toolbar so it's a bit less opaque, and
it can be accessed with a mouse/trackball (not just by knowing the key
mapping).
Made default I/O port names localisable.
Made autofire plugin save port fields using the { port, mask, type }
tuple, the same way MAME does. Unfortunately this will break existing
autofire configuration, but it should be more stable going forward.
Added some more UI keys to the default key mappings documentation.
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.
* 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.
* 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.
* Fixed bugs related to reloading roms
Soft resets would reload autofire settings without saving them first, causing the settings to be lost. This commit adds a check to only reload from the settings file if loading a different rom than before.
Hard resets would leave bad references lying around, causing MAME to crash under certain circumstances (i.e. resetting while in the edit menu and entering the menu again). This commit makes sure to properly clean up and reinitialize menu and button states when resetting.
* Used set_folder to avoid hardcoding plugin name in settings path
* Bumped autofire plugin version
* Hardcoded autofire plugin
* Changed register_frame to register_frame_done, removed pause check
* Added support for multiple buttons loaded from a file
* Implemented saving settings on quit
* Fixed multiple keybindings for same button from overwriting each other
* Replaced double-quotes with single-quotes
* Refactored saving/loading into a separate module
* Changed button format to use input_code rather than string token
Settings format is unchanged (still saved as string token).
* Rewrote table initialization in save/load
* Implemented menus
* Added helper messages for "on frames"/"off frames"