Skip to content

Conversation

@snowflav-goob
Copy link
Contributor

What is this fixing or adding?

Adds an explicit warning for users if the game they're playing has a different APWorld than the one used for generation. I've noticed that the errors that follow in that situation can often leave users confused, especially when APWorlds change their patching procedures, so I'm hoping to mitigate that.

How was this tested?

Generated a multiworld with Pokemon Crystal 5.3.5, patched, then downgraded to 5.3.0 and patched again

If this makes graphical changes, please attach screenshots.

image

@github-actions github-actions bot added affects: core Issues/PRs that touch core and may need additional validation. waiting-on: peer-review Issue/PR has not been reviewed by enough people yet. labels Dec 29, 2025
@duckboycool duckboycool added the is: enhancement Issues requesting new features or pull requests implementing new features. label Dec 30, 2025
@qwint
Copy link
Collaborator

qwint commented Jan 1, 2026

is this wanted? I don't have a proper Patch game myself, but I don't believe that every game with one is changing the format every version, meaning this would cause needless worry with extra warnings.
rather this functionality might be more well placed into a mixin on the patch class that a world could opt into and potentially even tweak (i.e. ignore the final version digit when comparing)

@snowflav-goob
Copy link
Contributor Author

is this wanted? I don't have a proper Patch game myself, but I don't believe that every game with one is changing the format every version, meaning this would cause needless worry with extra warnings.

I made this PR mostly because the first troubleshooting step when a user has trouble patching or connecting is usually to make sure their apworld is the same as the one used for generation, so hopefully with this they can figure that out on their own.
Sure, the entire patching procedure changing is quite rare, but even small basepatch updates can cause issues. Some games provide a way to override cosmetic YAML options at patch time, which relies on knowing the correct ROM addresses, and that can change with a basepatch update.

For backwards compatibility that can be alleviated with worlds reporting a minimum compatible version, or other custom behavior like you mentioned. As for forwards compatibility I think a user should always be aware that they're using an outdated apworld

rather this functionality might be more well placed into a mixin on the patch class that a world could opt into and potentially even tweak (i.e. ignore the final version digit when comparing)

Agreed that it should be tweakable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

affects: core Issues/PRs that touch core and may need additional validation. is: enhancement Issues requesting new features or pull requests implementing new features. waiting-on: peer-review Issue/PR has not been reviewed by enough people yet.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants