From 30c447b9f3a61e661d559f849561d0b2baf00cef Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Tue, 5 Apr 2022 15:16:06 +0200 Subject: [PATCH] Lttp adjuster (#417) * LttP: Allow running Adjuster with positional arg rom (windows -> open with) * LttP: use "proper" logging in adjuster and load baserom from local directory if not found. --- LttPAdjuster.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/LttPAdjuster.py b/LttPAdjuster.py index 5e4996fe..b6f5c7ae 100644 --- a/LttPAdjuster.py +++ b/LttPAdjuster.py @@ -21,9 +21,11 @@ from urllib.parse import urlparse from urllib.request import urlopen from worlds.alttp.Rom import Sprite, LocalRom, apply_rom_settings, get_base_rom_bytes -from Utils import output_path, local_path, user_path, open_file, get_cert_none_ssl_context, persistent_store, get_adjuster_settings, tkinter_center_window +from Utils import output_path, local_path, user_path, open_file, get_cert_none_ssl_context, persistent_store, \ + get_adjuster_settings, tkinter_center_window, init_logging from Patch import GAME_ALTTP + class AdjusterWorld(object): def __init__(self, sprite_pool): import random @@ -40,7 +42,7 @@ class ArgumentDefaultsHelpFormatter(argparse.RawTextHelpFormatter): def main(): parser = argparse.ArgumentParser(formatter_class=ArgumentDefaultsHelpFormatter) - parser.add_argument('--rom', default='ER_base.sfc', help='Path to an ALttP rom to adjust.') + parser.add_argument('rom', nargs="?", default='AP_LttP.sfc', help='Path to an ALttP rom to adjust.') parser.add_argument('--baserom', default='Zelda no Densetsu - Kamigami no Triforce (Japan).sfc', help='Path to an ALttP JAP(1.0) rom to use as a base.') parser.add_argument('--loglevel', default='info', const='info', nargs='?', @@ -128,9 +130,12 @@ def main(): def adjust(args): start = time.perf_counter() + init_logging("LttP Adjuster") logger = logging.getLogger('Adjuster') logger.info('Patching ROM.') vanillaRom = args.baserom + if not os.path.exists(vanillaRom) and not os.path.isabs(vanillaRom): + vanillaRom = local_path(vanillaRom) if os.path.splitext(args.rom)[-1].lower() in {'.apbp', '.aplttp'}: import Patch meta, args.rom = Patch.create_rom_file(args.rom)