Skip to content

Conversation

@Zunawe
Copy link
Collaborator

@Zunawe Zunawe commented Apr 3, 2025

What is this fixing or adding?

Converts Pokemon Red/Blue to use APProcedurePatch so it can generate without needing a ROM. This is largely a sort of manual find and replace. There are some times that the original code looped over a sequence and replaced each byte manually. Those mostly were swapped for a single token containing the whole sequence. And there were some additional cleanup changes, some typing, and replacing single-quoted strings with double-quoted strings.

How was this tested?

Generated a couple hundred 2-player games with Eijebong's fuzzer. Stole about a dozen of those randomly generated yamls to generate a set of patch files on main and a set of patch files on this branch using the same seed. Patched them all, and then compared the hashes of the resulting ROMs.

Based on the testing, it creates the same resulting ROM byte for byte, which also means the RNG calls are the same.

Only tested for Pokemon Red; I don't own Pokemon Blue.

@github-actions github-actions bot added the waiting-on: peer-review Issue/PR has not been reviewed by enough people yet. label Apr 3, 2025
@remyjette remyjette added is: enhancement Issues requesting new features or pull requests implementing new features. waiting-on: world-maintainer Issue/PR is waiting for feedback or approval by the maintainer of a world. labels Apr 3, 2025
@remyjette
Copy link
Collaborator

@Alchav

@remyjette
Copy link
Collaborator

remyjette commented Apr 3, 2025

Only tested for Pokemon Red; I don't own Pokemon Blue.

I own Pokemon Blue. Tested. Did not require a ROM for generation, it created a .apblue in the output zip. Resulting .apblue was able to patch, connect, send an item, receive an item.

Copy link
Contributor

@Alchav Alchav left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, you saved me a lot of work.

@Zunawe Zunawe removed the waiting-on: world-maintainer Issue/PR is waiting for feedback or approval by the maintainer of a world. label Apr 4, 2025
Copy link
Collaborator

@qwint qwint left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

refactors look equivalent and code changes look good; pure code review ran no tests/gens/patches/etc.

@Zunawe Zunawe added waiting-on: core-review Issue/PR has been peer-reviewed and is ready to be merged or needs input from a core maintainer. and removed waiting-on: peer-review Issue/PR has not been reviewed by enough people yet. labels Apr 12, 2025
@Berserker66 Berserker66 merged commit 227f0bc into ArchipelagoMW:main Apr 30, 2025
15 of 16 checks passed
FlitPix pushed a commit to FlitPix/Archipelago that referenced this pull request Jun 4, 2025
ProfDeCube pushed a commit to ProfDeCube/Archipelago that referenced this pull request Jun 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

is: enhancement Issues requesting new features or pull requests implementing new features. waiting-on: core-review Issue/PR has been peer-reviewed and is ready to be merged or needs input from a core maintainer.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants