mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00

Does not include the server/client code or the rom writes specific to it. Indeed it cannot write multiworld roms at all right now, pending addition future updates to support the official ALTTPR Multiworld client. Includes some GUI changes by Alaszun Co-authored-by: Alaszun <koelze@google.com>
37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
import os
|
|
import time
|
|
import logging
|
|
|
|
from Utils import output_path
|
|
from Rom import LocalRom, Sprite, apply_rom_settings
|
|
|
|
|
|
def adjust(args):
|
|
start = time.clock()
|
|
logger = logging.getLogger('')
|
|
logger.info('Patching ROM.')
|
|
|
|
if args.sprite is not None:
|
|
if isinstance(args.sprite, Sprite):
|
|
sprite = args.sprite
|
|
else:
|
|
sprite = Sprite(args.sprite)
|
|
else:
|
|
sprite = None
|
|
|
|
outfilebase = os.path.basename(args.rom)[:-4] + '_adjusted'
|
|
|
|
if os.stat(args.rom).st_size in (0x200000, 0x400000) and os.path.splitext(args.rom)[-1].lower() == '.sfc':
|
|
rom = LocalRom(args.rom, False)
|
|
else:
|
|
raise RuntimeError('Provided Rom is not a valid Link to the Past Randomizer Rom. Please provide one for adjusting.')
|
|
|
|
apply_rom_settings(rom, args.heartbeep, args.heartcolor, args.quickswap, args.fastmenu, args.disablemusic, sprite)
|
|
|
|
rom.write_to_file(output_path('%s.sfc' % outfilebase))
|
|
|
|
logger.info('Done. Enjoy.')
|
|
logger.debug('Total Time: %s', time.clock() - start)
|
|
|
|
return args
|