Add fastrom disable option

This commit is contained in:
cassidoxa
2023-08-26 20:31:02 -04:00
parent aaaa7b9239
commit e4e0a9f5a1
5 changed files with 11 additions and 2 deletions

View File

@@ -85,6 +85,7 @@ class World(object):
self.lamps_needed_for_dark_rooms = 1 self.lamps_needed_for_dark_rooms = 1
self.pseudoboots = {player: False for player in range(1, players + 1)} self.pseudoboots = {player: False for player in range(1, players + 1)}
self.item_counter_hud = {player: False for player in range(1, players + 1)} self.item_counter_hud = {player: False for player in range(1, players + 1)}
self.fastrom = True
def intialize_regions(self): def intialize_regions(self):
for region in self.regions: for region in self.regions:

View File

@@ -248,6 +248,10 @@ def start():
Displays a (number of items collected) / (total items available) counter Displays a (number of items collected) / (total items available) counter
on the HUD. on the HUD.
''', action='store_true') ''', action='store_true')
parser.add_argument('--nofastrom', default=False, help='''\
Displays a (number of items collected) / (total items available) counter
on the HUD.
''', action='store_true')
parser.add_argument('--suppress_rom', help='Do not create an output rom file.', action='store_true') parser.add_argument('--suppress_rom', help='Do not create an output rom file.', action='store_true')
parser.add_argument('--gui', help='Launch the GUI', action='store_true') parser.add_argument('--gui', help='Launch the GUI', action='store_true')
parser.add_argument('--jsonout', action='store_true', help='''\ parser.add_argument('--jsonout', action='store_true', help='''\

View File

@@ -42,6 +42,8 @@ def main(args, seed=None):
raise Exception("Goals requiring all items must use 'locations' accessibility") raise Exception("Goals requiring all items must use 'locations' accessibility")
if args.huditemcounter: if args.huditemcounter:
world.item_counter_hud = {player: True for player in range(1, world.players + 1)} world.item_counter_hud = {player: True for player in range(1, world.players + 1)}
if args.nofastrom:
world.fastrom = False
world.crystals_needed_for_ganon = random.randint(0, 7) if args.crystals_ganon == 'random' else int(args.crystals_ganon) world.crystals_needed_for_ganon = random.randint(0, 7) if args.crystals_ganon == 'random' else int(args.crystals_ganon)
world.crystals_needed_for_gt = random.randint(0, 7) if args.crystals_gt == 'random' else int(args.crystals_gt) world.crystals_needed_for_gt = random.randint(0, 7) if args.crystals_gt == 'random' else int(args.crystals_gt)

4
Rom.py
View File

@@ -19,7 +19,7 @@ from EntranceShuffle import door_addresses
JAP10HASH = '03a63945398191337e896e5771f77173' JAP10HASH = '03a63945398191337e896e5771f77173'
RANDOMIZERBASEHASH = 'c9b88e9a10f9f0c9ad732962825cb1d8' RANDOMIZERBASEHASH = 'bcbe116984dbfe4ea90a2dda17755f60'
class JsonRom(object): class JsonRom(object):
@@ -1048,6 +1048,8 @@ def patch_rom(world, player, rom):
else: else:
rom.write_byte(0x180039, 0x00) rom.write_byte(0x180039, 0x00)
rom.write_byte(0x187032, 0x01 if world.fastrom else 0x00)
write_strings(rom, world, player) write_strings(rom, world, player)
# write initial sram # write initial sram

File diff suppressed because one or more lines are too long