https://gitlab.synchro.net/main/sbbs/-/commit/b89c5a44f78c94d7c3ddfd34
Modified Files:
src/doors/syncretro/CMakeLists.txt syncretro_binds.c test_binds.c
Log Message:
syncretro: name a labelled cabinet's buttons on the help screen
Battlezone fires on Y and Centipede on B, but MAME 2003-Plus sends no SET_INPUT_DESCRIPTORS, so the door's arcade help screen could only
ever number six generic buttons -- "Z X: buttons 1 and 2" on a
one-button cabinet, five of them dead.
Give sr_bind_row_t a trailing `solo` field (each button row's own key
name) and make sr_bind_help_line() render one line per button, under
its games.ini label, once sr_games_labelled() says the section named
any of them; an unlabelled button in that case is omitted rather than renumbered. Do the same for the twin-stick I/K row, gated on
sr_games_stick2(). One table still drives both the key handler and
the help screen, and games.ini still supplies labels only -- never
which key does what.
test_binds.c gains a games.ini fixture for Battlezone (button.Y =
Fire, stick2 = Right tread) and asserts the grouped rows survive with
nothing loaded, then disappear in favor of per-key lines once the
cabinet is labelled. Wiring syncretro_binds.c to syncretro_games.h
means the main door binary and test_axis now also need
syncretro_games.c linked in, alongside test_binds's new sources.
All seven syncretro unit tests pass, including axis and the
audio_bytes golden.
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)