-
Notifications
You must be signed in to change notification settings - Fork 1.3k
OoT: Refactor RuleParser.py for deprecations #5797
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
base: main
Are you sure you want to change the base?
Conversation
|
May resolve #3993, but not positive |
|
Not sure which exact change from the last commit broke things, but clearly it did somehow. |
|
As I mentioned in #3993, the reason I didn't do the simple change of replacing the deprecated ast types with their new types was because doing so actually breaks generation with entrance randomization enabled because parts of the code now actually run as they were originally supposed to, whereas those parts of the code do not run currently with the deprecated types because the code compares This PR hasn't actually updated the parts of the code that still refer to "NameConstant" by name, so it does not resolve #3993. So OoT has probably been broken since AP started supporting Python 3.8 (when these ast types were deprecated), and its entrance randomization has probably only worked because of that part of the code that broke with the deprecations. |
This reverts commit 8eaf57f.
I was able to track down the issue with Entrance randomization to a bug in Archipelago/worlds/oot/EntranceShuffle.py Line 335 in 5a88641
It is telling AP that there are 2-way entrances that do not exist. However, I am a bit at a loss as of the correct way to fix this. The reason it crashes on the Barinade Boss Room transition is because it is the first boss room that does not have a proper return entrance. So when AP looks for the transition, it fails to find it. |
|
Could someone please add the help wanted meta tag to this PR? |
What is this fixing or adding?
Num,Str,Bytes, orNameConstantHow was this tested?
Ran unittests and CI to check for any issues
Did NOT run any seperate test generations