-
Notifications
You must be signed in to change notification settings - Fork 723
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
OoT Time Optimization #2401
OoT Time Optimization #2401
Conversation
It shouldn't need this?
Split itempool into main and prefill pools Modify only prefill pool Faster state creation
I hope???
Eventually we want to remove the full recache and just delete them from the cache directly, but I will save that for after ArchipelagoMW#2366
and not the other way around.
Prevents new entrance cache from breaking
@@ -1271,9 +1301,17 @@ def get_region(self, region_name): | |||
self._regions_cache[region_name] = ret | |||
return ret | |||
|
|||
@functools.cache | |||
def get_entrances(self): |
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.
self.multiworld.get_entrances(self.player) gives you all entrances for that player, already cached and already filtered.
worlds/oot/__init__.py
Outdated
|
||
def get_shuffled_entrances(self, type=None, only_primary=False): | ||
return [entrance for entrance in self.get_shufflable_entrances(type=type, only_primary=only_primary) if | ||
entrance.shuffled] | ||
|
||
@functools.cache |
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.
functools.cache is not available on Python 3.8
goodbye event cache
- Entrance randomizer no longer grows with multiworld - Improved ER success rate again by prioritizing Temple of Time even more - Prefill is faster, has slightly reduced failure rate when map/compass are in dungeon but previous items in any_dungeon (which consumed all available locations), no longer removes items from the main itempool; itemlinked prefill items removed to accomodate improvements - Now triggers only one recache after `generate_basic` instead of one per oot world - Avoids recaches during `create_regions` - All ER temp entrances have unique names (so the entrance cache does not break)
- Entrance randomizer no longer grows with multiworld - Improved ER success rate again by prioritizing Temple of Time even more - Prefill is faster, has slightly reduced failure rate when map/compass are in dungeon but previous items in any_dungeon (which consumed all available locations), no longer removes items from the main itempool; itemlinked prefill items removed to accomodate improvements - Now triggers only one recache after `generate_basic` instead of one per oot world - Avoids recaches during `create_regions` - All ER temp entrances have unique names (so the entrance cache does not break)
generate_basic
instead of one per oot worldcreate_regions