* When a switch-type input is selected, show feedback when it's pressed
* If an invalid code is entered (e.g. only negatives) abandon the change rather than cycling default/none
* If an invalid code is entered display a message until the user takes some other action
input.cpp updates:
* constexpr crusade on input_code and input_seq and some very slight optimisation to input_seq
* seq_poll* is a frontend function and had no business being in the core, so it's a utility class now
* seq_poll* now exposes a bit more detail, enabling improved interaction on the UI inputs menu
* global state is reduced a little, but the poll_* functions are still members of the input manager with global state
(nw) The Lua engine has been updated in a way that maintains source compatibility with existing Lua
scripts. This is less than ideal, but it minimises impact. Ideally someone (possibly me) will be
able to expose the input sequence poller helper properly. I tested the changes with the cheat and
autofire plugins and I was able to assign sequences. However I found two issues: it's seems
impossible to assign a more complex sequence than a single key/button in the autofire plugin (i.e.
no AND or NOT conditions, I confirmed this is pre-existing, not a regression), and in both the cheat
and autofire plugins I found it a bit unwieldy trying to enter a complex sequence without live
feedback of the sequence as it's built (this was also applicable to MAME's own input mapping menu
until I added the live display yesterday).
PORT_CONDITION can now enabled/disabled the display of PORT_ADJUSTER
sliders in the UI, i.e.
PORT_START("SOMEPORT")
PORT_ADJUSTER(...) PORT_CONDITION("OTHERPORT", ...)
(nw) It's annoying that if you accidentally start to change an input, there's no way to
back out at all. You need to press something before it will do anything. Also, if you
go to add an additional "or" combination and press the wrong thing, you can't back out
just the change - hitting UI_CANCEL takes you back to the default. This at least
partially addresses it: if you hit UI_SELECT to modify an input then hit UI_CANCEL
immediately, it will cycle default/none; however if you press any other input first and
then hit UI_CANCEL, it will just back out the change. The implementation is a bit
whacky at the moment, but doing better would require another emu.h change which I don't
want to do right now.
------------------------------------------
Fishing Master [SpinalFeyd, The Dumping Union]
Metabee Shot [SpinalFeyd, The Dumping Union]
New clones marked as NOT_WORKING
--------------------------------
Oba-Oba (old hardware) [PinMAME]
Space Train (Pinball, old hardware) [PinMAME]
* reference table (nw)
* move some machine specific stuff into different class (nw)
* put things behind log macros (nw)
* add in some controls, that work for the 32-in-1 at least (nw)
* note (nw)
* hide excessive logging (nw)
* dma fix for tetris (nw)
* alu work (nw)
* clean up some palettes
* clean up some bitscanning and indentation in olibuchu
* rename machine/epos.cpp to machine/pacman.cpp as it's unrelated to drivers/epos.cpp
* move epos-on-pacman members from pacman_state to derived epospm_state
-sun4.cpp: Various changes: [Ryan Holtz]
* Split sun4 and sun4c hardware emulation into separate derived classes.
* Hooked up Sbus IRQs.
* Removed now-unnecessary duplicate MMU code.
-cgsix.cpp: Added VSync IRQ, cleaned up save state usage, and added THC MISC register. [Ryan Holtz]
-sparc.cpp: Renamed MB86901 to SPARCV7, and added a separate class for SPARCV8. [Ryan Holtz]
-bt45x.cpp: Made logmacro.h usage more consistent. [Ryan Holtz]
* Hook up focus next/focus prev on system/software selection menus (Tab and LShift-Tab, respectively by default)
* Allow joystick buttons to be used to change focus on system/software selection menus
* Fixed bug that allowed focus to move to hidden panels
(nw) Second attempt at doing this, and it worked fine. Must've been in bad mental health when I tried and failed to do this back in May