Skip to content

Add fast-forward speed control and IPS32/BPS support - #32

Draft
Nicktendonick wants to merge 2 commits into
mstan:masterfrom
Nicktendonick:upstream-pr/gba-assist-patches
Draft

Add fast-forward speed control and IPS32/BPS support#32
Nicktendonick wants to merge 2 commits into
mstan:masterfrom
Nicktendonick:upstream-pr/gba-assist-patches

Conversation

@Nicktendonick

Copy link
Copy Markdown
Contributor

Summary

  • add an opt-in fast-forward speed slider to the existing Assist Tools page, with host-provided minimum and maximum values
  • extend source-ROM patching from classic IPS to IPS, IPS32, and BPS
  • expose patch selection and cached effective-ROM identity through the existing launcher model/C API
  • add a standalone patch utility plus parser regression coverage

Why

GBA recomp projects need a launcher-level way to apply community translation and modification patches while continuing to verify the user's clean source ROM. BPS and IPS32 cover common patches that classic IPS alone cannot represent, and the Assist speed setting lets a host expose a controlled fast-forward range without adding game-specific UI code.

The existing configurable Assist bindings already landed upstream in a newer generalized form, so that redundant commit is intentionally not part of this PR.

Validation

  • built the full standalone recomp-ui launcher from current master with the SDL2 backend
  • ran all seven CTest targets, including the new IPS/IPS32/BPS parser test
  • verified the ROM patch tool and launcher integration compile successfully

All seven tests passed on Windows with MinGW/Ninja.

Notes for review

  • patch settings are appended to the public settings structure and remain disabled when zero-initialized
  • the launcher verifies the stock source image, writes a cached effective image, and records the patched SHA-1/CRC32 identity for the host
  • the speed control is shown only through the existing opt-in Assist Tools surface
  • no ROM, BIOS, or patch payload is included

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