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.
This commit is contained in:
		
							parent
							
								
									2def8f35ad
								
							
						
					
					
						commit
						30c447b9f3
					
				| 
						 | 
					@ -21,9 +21,11 @@ from urllib.parse import urlparse
 | 
				
			||||||
from urllib.request import urlopen
 | 
					from urllib.request import urlopen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from worlds.alttp.Rom import Sprite, LocalRom, apply_rom_settings, get_base_rom_bytes
 | 
					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
 | 
					from Patch import GAME_ALTTP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class AdjusterWorld(object):
 | 
					class AdjusterWorld(object):
 | 
				
			||||||
    def __init__(self, sprite_pool):
 | 
					    def __init__(self, sprite_pool):
 | 
				
			||||||
        import random
 | 
					        import random
 | 
				
			||||||
| 
						 | 
					@ -40,7 +42,7 @@ class ArgumentDefaultsHelpFormatter(argparse.RawTextHelpFormatter):
 | 
				
			||||||
def main():
 | 
					def main():
 | 
				
			||||||
    parser = argparse.ArgumentParser(formatter_class=ArgumentDefaultsHelpFormatter)
 | 
					    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',
 | 
					    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.')
 | 
					                        help='Path to an ALttP JAP(1.0) rom to use as a base.')
 | 
				
			||||||
    parser.add_argument('--loglevel', default='info', const='info', nargs='?',
 | 
					    parser.add_argument('--loglevel', default='info', const='info', nargs='?',
 | 
				
			||||||
| 
						 | 
					@ -128,9 +130,12 @@ def main():
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def adjust(args):
 | 
					def adjust(args):
 | 
				
			||||||
    start = time.perf_counter()
 | 
					    start = time.perf_counter()
 | 
				
			||||||
 | 
					    init_logging("LttP Adjuster")
 | 
				
			||||||
    logger = logging.getLogger('Adjuster')
 | 
					    logger = logging.getLogger('Adjuster')
 | 
				
			||||||
    logger.info('Patching ROM.')
 | 
					    logger.info('Patching ROM.')
 | 
				
			||||||
    vanillaRom = args.baserom
 | 
					    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'}:
 | 
					    if os.path.splitext(args.rom)[-1].lower() in {'.apbp', '.aplttp'}:
 | 
				
			||||||
        import Patch
 | 
					        import Patch
 | 
				
			||||||
        meta, args.rom = Patch.create_rom_file(args.rom)
 | 
					        meta, args.rom = Patch.create_rom_file(args.rom)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue