A read-only line of the game's state for scripted runs #2335
Labels
No labels
accessibility
autorelease: pending
autorelease: tagged
bug
dependencies
documentation
duplicate
enhancement
github_actions
good first issue
help wanted
invalid
question
testing wanted
wontfix
No milestone
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Hookshot#2335
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The idea
A script that plays the game through
HOS_INPUT_LIVEsees only pictures and the log. Before its next press it cannot tell where Link is, which way the camera looks, or whether a cutscene or a talk holds him, so a scripted test has to wait fixed times.With
HOS_OOT_STATE_FILE=<file>the game would write one line of JSON every few presents: the map, Link's position and facing, the camera's yaw, whether an event plays, loading, age, life, rupees, the A button's action and the music, and on request named GameData flags. Everything is read from the places the debug tools already read; nothing in the game is written, and without the switch nothing is read.It helps anyone who tests a change in the game without a hand on the controller: a script can wait for "Link stands in Kokiri Forest and no event plays" instead of for 40 seconds.
Anything else
docs/workflow.md: S3 (1), a feature for developers; confidence 1.0 (it runs here; my own scripted runs use it).This is being done in your pull request #2292; closing the issue so the work is tracked in one place there.