singe/testScripts/ports
2026-09-22 18:32:07 -05:00
..
actionMaxInputs.singe More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00
actionMaxOriginal.singe More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00
actionMaxPort.singe More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00
algDrive.singe More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00
algOriginal.singe More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00
algPort.singe More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00
compare.sh More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00
karisDrive.singe More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00
karisOriginal.singe More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00
karisPort.singe More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00
launch.sh More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00
README More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00
shots.sh More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00
sweep.sh More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00
timetravelerDrive.singe More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00
timetravelerOriginal.singe More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00
timetravelerPort.singe More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00
videolandDrive.singe More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00
videolandOriginal.singe More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00
videolandPort.singe More work on the menu system and Forge. 2026-09-22 18:32:07 -05:00

Port comparisons (FORGE.md section 14):  each pair runs an original game from the test library
and its Forge port with the same scripted inputs, on the deterministic clock, and prints TRACE
lines;  the port passes when the two traces agree.  They need the library beside the repo
(SINGE_LIBRARY, or ~/claude/singetest) and are not part of the reference sweep.

    ActionMax:  actionMaxOriginal.singe and actionMaxPort.singe, with
                -v <library>/ActionMax/frame_<game>.txt and PORT_GAME=<game>
                (38AmbushAlley, BlueThunder, Hydrosub2021, PopsGhostly, SonicFury);
                the descriptions come from util/forgePortActionMax.py.

    compare.sh <family> <game> runs a pair and says whether the traces agree:
                testScripts/ports/compare.sh actionMax 38AmbushAlley

    Karis:      karisOriginal.singe and karisPort.singe, driven by karisDrive.singe, with
                -v the video the game's games.dat names, PORT_GAME=<directory> and
                PORT_SCRIPT=<main script>;  the descriptions come from util/forgePortKaris.lua:
                testScripts/ports/compare.sh karis TimeGal/Timegal.singe

    ALG:        algOriginal.singe and algPort.singe, driven by algDrive.singe, for the American
                Laser Games titles of the Hypseus library (Mad Dog McCree, Mad Dog II, Crime
                Patrol, Drug Wars, The Last Bounty Hunter, Space Pirates, both Who Shot Johnny
                Rocks, and the typing edition of Mad Dog II), with the title's folder as the game:
                testScripts/ports/compare.sh alg maddog-hd
                PORT_FRAMES=<n> sets the run's length in engine frames (15000 by default) and
                PORT_PERFECT=1 plays without a wrong or a missed shot, to walk the whole game.
                The views hand the drive each level's shoot window and the first hitbox of the
                frame (aimed at the overlap with the next frame's box, since a press is judged a
                frame later), the targets of the games' menus and puzzles, and, for the typing
                edition, the key the game waits for;  the drive shoots, misses on schedule, coins
                and starts, continues once, and types.