Archipelago
Archipelago copied to clipboard
FFMQ: Efficiency Improvement and Use New Options Methods
What is this fixing or adding?
- Converts rooms.yaml and entrances.yaml to python data so no yaml loading and converting takes place during runtime while the apworld is initialized. This saves a good few seconds of loading time.
- Updates FFMQ to use new options methods
- Removes some
printstatements that were left in by mistake. - Fixes a bug where one option was being checked twice and two others not checked at all, for determining if a map shuffle API call was necessary.
- Entrance hints will now show locations at Mac's Ship (why did I go out of my way to exclude it? It is a mystery)
How was this tested?
Generating several times with various options.
Output.pyline 102 usesself.multiworld.sky_coin_mode[self.player]
stage_generate_earlycould (should?) access options through theworldvariable
Regions.pyline 70 usesself.multiworld.brown_boxes[self.player]
Regions.pyline 213 usesmultiworld.enemies_density[player]Otherwise, does what it says on the tin.
World load on my machine goes from
* ~0.75s to ~0.075s on Python 3.8 * ~0.55s to ~0.08s on Python 3.11
Fixed
Can you change
settings_templateinOutput.pyto useUtils.parse_yaml? (see below)
Done
This should be reverted, as it currently breaks SNI connection on FFMQ. The reason is the one line change in client.py
@Alchav can just make another PR, no?