SM: failing generation fixes (#1726)

- fixed wrong condition in Collect to assign lastAP
- fixed possible infinite loop in generating output when many SM worlds are present
- fixed new VARIA code that changed a list used for every SM worlds and would throw if many SM worlds uses Aea rando and not AreaLayout
This commit is contained in:
lordlou
2023-04-16 23:46:19 -04:00
committed by GitHub
parent f6758524d5
commit cb634fa8d4
6 changed files with 43 additions and 34 deletions

View File

@@ -279,11 +279,12 @@ class RomPatcher:
# apply area patches
if self.settings["area"] == True:
areaPatches = list(RomPatcher.IPSPatches['Area'])
if not self.settings["areaLayout"]:
for p in ['area_rando_layout.ips', 'Sponge_Bath_Blinking_Door', 'east_ocean.ips', 'aqueduct_bomb_blocks.ips']:
RomPatcher.IPSPatches['Area'].remove(p)
RomPatcher.IPSPatches['Area'].append('area_rando_layout_base.ips')
for patchName in RomPatcher.IPSPatches['Area']:
areaPatches.remove(p)
areaPatches.append('area_rando_layout_base.ips')
for patchName in areaPatches:
self.applyIPSPatch(patchName)
else:
self.applyIPSPatch('area_ids_alt.ips')