Skip to content

FRLG AutoStory: stop for SID Helper and resume after it - #178

Closed
dayfine wants to merge 31 commits into
frlg/autostory-player-namefrom
frlg/autostory-sid-helper
Closed

dayfine wants to merge 31 commits into
frlg/autostory-player-namefrom
frlg/autostory-sid-helper

Conversation

@dayfine

@dayfine dayfine commented Nov 2, 2026 •

Copy link
Copy Markdown
Owner

Depends on #177. Base frlg/autostory-player-name (#177); the diff shows only this change.

AutoStory can now hand a new game to upstream's SID Helper and pick the story up again after it.

  • New option "Stop for SID Helper", off by default. With it on, 00.01 plays the intro to the player's keyboard, types the name with FRLG: type names on the in-game naming screen #81's new type_name_without_confirming(), and stops with "Run SID Helper now, then start AutoStory at 00.01b". OK is left for SID Helper, which presses PLUS then A on its own timing and keeps the rival's default name.
  • New checkpoint 00.01b "after SID Helper": starts from the live game (Trainer Card open, or HOME), closes the card, sets the options and saves in the bedroom at (6, 6) facing north, so 00.02 follows unchanged.
  • Starting without a save is FRLG-only: a live_start field on FRLG's StoryCheckpoint, and plan_story_run() in PokemonFRLG_AutoStoryEvents.cpp, which skips 00.01b unless the run starts there. The shared story-steps code is unchanged. A failure in 00.01b doesn't reload, since there's no save to go back to.
  • The start/end dropdowns are indexed by position, so 00.02 to 00.11 move down one (00.01b is index 1). Saved start/end settings point one row earlier.
  • SID Helper wants text speed and the Help-button setting already saved. On a blank cartridge that's a manual bootstrap for now: save once with those settings, choose NEW GAME by hand, then start AutoStory on the first message.

Testing: FRLG unit tests, including new run-plan tests. With the option off, a run takes the same rows as before, and the simulation runs the planned rows. The full app builds locally (macOS, at #179's tip). I didn't run unit tests locally because test mode can flip the lab app's panel. Ubuntu CI is dispatched: https://github.com/dayfine/Arduino-Source/actions/runs/41528879694

Console checks: nobody has seen 00.01 stop on the keyboard, SID Helper start from there, or 00.01b close the Trainer Card (or come back from HOME) and save.

🤖 Generated with Claude Code

https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

A "Stop for SID Helper" option (off by default) makes 00.01 stop on the
player's keyboard with the name typed and OK not pressed, and end the
program with what to do next. A new checkpoint, 00.01b, starts from the
game as SID Helper leaves it (the Trainer Card, or HOME), loading no save:
it closes the card, sets the options and saves in the bedroom at (6, 6)
facing north, where 00.02 starts.

A row that starts from the live game is a field on FRLG's StoryCheckpoint
(live_start); plan_story_run() picks the rows a run takes, passing over
00.01b unless the run starts there, so with the option off a run takes
the same rows as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E
dayfine and others added 28 commits November 2, 2026 14:06
# Conflicts:
#	SerialPrograms/Source/VideoGames/PokemonFRLG/Programs/AutoStory/PokemonFRLG_AutoStory.cpp
# Conflicts:
#	SerialPrograms/Source/VideoGames/PokemonFRLG/Programs/AutoStory/PokemonFRLG_AutoStoryActions.cpp
# Conflicts:
#	SerialPrograms/Source/VideoGames/PokemonFRLG/Programs/AutoStory/PokemonFRLG_AutoStoryTable.cpp
#	SerialPrograms/Source/VideoGames/PokemonFRLG/Programs/AutoStory/PokemonFRLG_AutoStoryTable.h
# Conflicts:
#	SerialPrograms/Source/VideoGames/PokemonFRLG/Programs/AutoStory/PokemonFRLG_AutoStory_Tests.cpp
…ow_index()

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E
…utostory-sid-helper

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E
… HEAD

# Conflicts:
#	SerialPrograms/Source/VideoGames/PokemonFRLG/Programs/AutoStory/PokemonFRLG_AutoStory.cpp
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

# Conflicts:
#	SerialPrograms/Source/VideoGames/PokemonFRLG/Programs/AutoStory/PokemonFRLG_AutoStory.cpp
…fter RUN in a dark cave) into frlg/autostory-sid-helper
…at never showed) into frlg/autostory-sid-helper
…mpts out of step) into frlg/autostory-sid-helper
A live-start row starts from the game as an RNG program left it, with no
save to reload between verify runs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E
dayfine and others added 2 commits November 3, 2026 07:22
…o frlg/autostory-sid-helper

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E
…an't name) into frlg/autostory-sid-helper

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AKYzhrMnPK61XHWEch4a6E

# Conflicts:
#	SerialPrograms/Source/VideoGames/PokemonFRLG/Programs/AutoStory/PokemonFRLG_AutoStory.cpp
@dayfine

dayfine commented Nov 3, 2026

Copy link
Copy Markdown
Owner Author

Superseded by #214 (FRLG stack consolidated into stage PRs; will be resplit for upstream).

@dayfine dayfine closed this Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant