Add fix for gtower exit point to enable it for dungeon shuffling.

This commit is contained in:
LLCoolDave 2017-07-14 16:11:07 +02:00
parent a76be32429
commit e9b752fbed
3 changed files with 9 additions and 0 deletions

View File

@ -41,6 +41,7 @@ class World(object):
self.fix_skullwoods_exit = self.shuffle not in ['vanilla', 'simple', 'restricted', 'dungeonssimple']
self.fix_palaceofdarkness_exit = self.shuffle not in ['vanilla', 'simple', 'restricted', 'dungeonssimple']
self.fix_trock_exit = self.shuffle not in ['vanilla', 'simple', 'restricted', 'dungeonssimple']
self.fix_gtower_exit = self.goal != 'ganon'
def get_region(self, regionname):
if isinstance(regionname, Region):

View File

@ -144,6 +144,9 @@ def fill_world(world, plando, text_patches):
elif line.startswith('!fix_trock_exit'):
_, trfstr = line.split(':', 1)
world.fix_trock_exit = trfstr.strip().lower() == 'true'
elif line.startswith('!fix_gtower_exit'):
_, gtfstr = line.split(':', 1)
world.fix_gtower_exit = gtfstr.strip().lower() == 'true'
elif line.startswith('!fix_pod_exit'):
_, podestr = line.split(':', 1)
world.fix_palaceofdarkness_exit = podestr.strip().lower() == 'true'

5
Rom.py
View File

@ -331,6 +331,11 @@ def patch_rom(world, rom, hashtable, quickswap=False, beep='normal', sprite=None
if world.fix_trock_exit:
rom.write_byte(0x15E1D, 0x34)
# fix ganons tower exit point
if world.fix_gtower_exit:
rom.write_byte(0x15E25, 0xA4)
# todo fix screen scrolling
# enable quick item swapping with L and R (ported by Amazing Ampharos)
if quickswap:
rom.write_bytes(0x107fb, [0x22, 0x50, 0xFF, 0x1F])