LttP: Fixes patching on a fresh AP install (#2118)

This commit is contained in:
zig-for
2023-08-25 13:25:02 -07:00
committed by GitHub
parent b235ba2c52
commit 41a34b140c
3 changed files with 86 additions and 59 deletions

View File

@@ -581,31 +581,25 @@ class ALTTPSNIClient(SNIClient):
def get_alttp_settings(romfile: str):
import LttPAdjuster
last_settings = Utils.get_adjuster_settings(GAME_ALTTP)
base_settings = LttPAdjuster.get_argparser().parse_known_args(args=[])[0]
allow_list = {"music", "menuspeed", "heartbeep", "heartcolor", "ow_palettes", "quickswap",
"uw_palettes", "sprite", "sword_palettes", "shield_palettes", "hud_palettes",
"reduceflashing", "deathlink", "allowcollect", "oof"}
for option_name in allow_list:
# set new defaults since last_settings were created
if not hasattr(last_settings, option_name):
setattr(last_settings, option_name, getattr(base_settings, option_name))
adjustedromfile = ''
if last_settings:
if vars(Utils.get_adjuster_settings_no_defaults(GAME_ALTTP)):
last_settings = Utils.get_adjuster_settings(GAME_ALTTP)
allow_list = {"music", "menuspeed", "heartbeep", "heartcolor", "ow_palettes", "quickswap",
"uw_palettes", "sprite", "sword_palettes", "shield_palettes", "hud_palettes",
"reduceflashing", "deathlink", "allowcollect", "oof"}
choice = 'no'
if not hasattr(last_settings, 'auto_apply') or 'ask' in last_settings.auto_apply:
if 'ask' in last_settings.auto_apply:
printed_options = {name: value for name, value in vars(last_settings).items() if name in allow_list}
if hasattr(last_settings, "sprite_pool"):
sprite_pool = {}
for sprite in last_settings.sprite_pool:
if sprite in sprite_pool:
sprite_pool[sprite] += 1
else:
sprite_pool[sprite] = 1
if sprite_pool:
printed_options["sprite_pool"] = sprite_pool
sprite_pool = {}
for sprite in last_settings.sprite_pool:
if sprite in sprite_pool:
sprite_pool[sprite] += 1
else:
sprite_pool[sprite] = 1
if sprite_pool:
printed_options["sprite_pool"] = sprite_pool
import pprint
from CommonClient import gui_enabled
@@ -685,17 +679,17 @@ def get_alttp_settings(romfile: str):
choice = 'yes'
if 'yes' in choice:
import LttPAdjuster
from worlds.alttp.Rom import get_base_rom_path
last_settings.rom = romfile
last_settings.baserom = get_base_rom_path()
last_settings.world = None
if hasattr(last_settings, "sprite_pool"):
if last_settings.sprite_pool:
from LttPAdjuster import AdjusterWorld
last_settings.world = AdjusterWorld(getattr(last_settings, "sprite_pool"))
adjusted = True
import LttPAdjuster
_, adjustedromfile = LttPAdjuster.adjust(last_settings)
if hasattr(last_settings, "world"):