-
Notifications
You must be signed in to change notification settings - Fork 701
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
Core, all worlds: Hard-deprecate old options API (by August 10th 2024) #3284
base: main
Are you sure you want to change the base?
Core, all worlds: Hard-deprecate old options API (by August 10th 2024) #3284
Conversation
SMW should be done as of this PR opened in January and merged in March: SA2B is slated for resolution with our next content update, which does not yet have a release window. |
Also, did you cross-reference with the output provided by this: Archipelago/worlds/AutoWorld.py Line 83 in d48f2ab
|
TUNIC is good to go |
My bad, I was on something outdated :) Will mark SMW as resolved |
I did, yes, that's how I confirmed some worlds were bad immediately, before going in and checking whether any worlds offend in different ways at runtime |
Alrighty :) |
As for SA2B, I will accept that for now, but if it takes so long that we're past the deadline and SA2B is the last world on old options, I will ask for something to be done about it ahead of the content update. Hopefully not tho |
Just mentioning because I was pinged here, the world side of HK is not my problem. This is a phar issue, I have no intent of trying to figure out how to programmatically generate a dataclass (this change is like actively bad for HK, fwiw) |
From a code perspective there at least one block of code somewhere with a "todo: remove this when the old way is deprecated" which I don't see removed here. |
That's fair, this is a copy of #3284 which as I understand didn't actually aim to remove this functionality & wanted to preserve it working on the WebHost I'm more here to lead the charge in getting all the worlds changed - @alwaysintreble can I involve you in this to think about the code side of what a hard removal with all worlds being forced to switch over would look like? (Would prefer to have that discussion in Discord tho because I imagine this PR is gonna see a lot of activity already) |
SC2 already migrated with 0.4.5 |
Timespinner is worked on in #2485 |
The old way is not removed, just hard deprecated rather than soft deprecated. This means it won't work on source but will still function for apworlds used with the 0.4.7 (if this gets merged before then) release. |
Shivers removal of last two instances of using old options API is fixed in this PR: #3287 |
I will not be able to take a look at this and would recommend Thanks for the continued improvements. |
I should have time to get a PR put together for Adventure by sometime next weekend. |
Wargroove has a PR for the new options system: #3306 |
Adventure PR #3326 to remove the deprecated options |
#3357 Resolves SA2B. I'd forgotten that the Option Accessing was already handled with v2.3, and only migrating to the Dataclass was still required. |
#3357 is merged. |
Removing as world maintainer based on this comment: ArchipelagoMW#3284 (comment)
For Rogue Legacy: I believe I will wait for MultiClient.Net update to finalize and then do it in combination of that refactor to support #1933. For Clique: I will update it this weekend. |
#3372 resolves SM and SMZ3. |
#3414 resolves Terraria |
#3428 will resolve HK once merged |
#3528 will resolve Undertale when merged. |
As per https://discord.com/channels/731205301247803413/1214608557077700720/1253206955879694336, it is unclear whether Espeon will be able to go into OoT themselves by the deadline. Help on OoT is wanted as of today |
Subnautica had swim_rule fixed in #3685 |
Blasphemous is now ready for review #3355 |
August 10th is coming up. As far as I'm aware, the following worlds are not fixed & do not have a PR open to fix them: Everything is being worked on now. Let's go!!! (Edit) |
Thank you everyone so much for the work you've done so far :) This was a humongous team effort, and I especially appreciate the efforts of those who made PRs for worlds that they don't maintain.
OoT is being worked on! |
Seems OOT is merged so only ALttP left? |
And then anything and everything that got missed, yeah |
Yup I wanna merge this (and Hint Priority) at the start of next version basically |
We will merge this (after merging #3764, and seeing if unit tests pass) at the start of the next version. |
It's looking like the more complex rework of ALTTP will be required. Oh well, we'll get there. |
world.options_definitions
and accessing option values throughworld.multiworld.option_name[player]
was deprecated in #993.We are now looking to hard deprecate it.
Here is every world in source, and whether it is confirmed to have fully moved over:
The reason some worlds are "unconfirmed" is that it's not a trivial thing, some worlds might be using the new options API mostly, but using the old one in one instance at runtime. Also, some worlds might call their multiworld reference "world" or "mw". I did my best, please forgive any shortcomings of this initial list.
Also, there are generic features such as
starting_inventory
which are part of the options api, while others, likelocal_early_items
, are not. The ones that are part of options and have to be accessed through the new API can be found in the PerGameCommonOptions class:If your game is not checked off on this list, you will be given three months (Until the 10th of August, 2024) to do one of the following:
If neither of these are met by the deadline, core maintainers are entitled to go in and fix it themselves, or move your world to
worlds_disabled
if they can't figure out how to do it. You also might lose some status as a "responsive world maintainer", so please do not rely on core maintainers going in and doing it for you.The new API is detailed here: https://github.com/ArchipelagoMW/Archipelago/blob/main/docs/options%20api.md
If you have any questions, people will be happy to help you in the designated channels, such as #ap-world-dev in the Discord server!
World maintainers of worlds that are failing or unconfirmed:
@JusticePS @Berserker66 @TRPG0 @SunCatMC @ThePhar @LiquidCat64 @Marechal-L @axe-y @agilbert1412 @jtoyoda @Alchav @wildham0 @Daivuk @BadMagic100 @Silvris @JaredWeakStrike @zig-for @KonoTyran @espeon65536 @SunnyBat @PoryGone @RaspberrySpace @GodlFire @lordlou @Seldom-SE @Jarno458 @silent-destroyer @ScipioWright @NewSoupVi @jonloveslegos @FlySniper
If all of your worlds already are marked off, congratulations, your world passed the check independently since I created this PR thanks to the work of some lovely people~