- 
                Notifications
    
You must be signed in to change notification settings  - Fork 1.2k
 
Pokemon Red/Blue: Convert to Procedure Patch #4801
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
          
 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.  | 
    
There was a problem hiding this 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.
There was a problem hiding this 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.
(cherry picked from commit 227f0bc)
What is this fixing or adding?
Converts Pokemon Red/Blue to use
APProcedurePatchso 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
mainand 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.