• src/doors/syncretro/CMakeLists.txt syncretro_binds.c test_binds.c

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Fri Jul 24 11:06:27 2026
    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.

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net