From f62a16535334a20ddd5bd41d6f2c91d4c3366abd Mon Sep 17 00:00:00 2001 From: codemann8 Date: Tue, 29 Jun 2021 01:07:14 -0500 Subject: [PATCH] Switching rom buffer writes to function call --- Rom.py | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/Rom.py b/Rom.py index adfb4f1b..a2682399 100644 --- a/Rom.py +++ b/Rom.py @@ -596,17 +596,16 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False): if world.owShuffle[player] != 'vanilla' or world.owSwap[player] != 'vanilla': rom.write_byte(0x18004C, 0x01) #patch for allowing Frogsmith to enter multi-entrance caves #patches map data specific for OW Shuffle - rom.buffer[0x153B03] = rom.buffer[0x153B03] | 0x2 #convenient portal on WDM - rom.buffer[0x153B1A] = rom.buffer[0x153B1A] | 0x2 #rocks added to prevent OWG hardlock - rom.buffer[0x153B1B] = rom.buffer[0x153B1B] | 0x2 #rocks added to prevent OWG hardlock - rom.buffer[0x153B22] = rom.buffer[0x153B22] | 0x2 #rocks added to prevent OWG hardlock - rom.buffer[0x153B3F] = rom.buffer[0x153B3F] | 0x2 #added C to terrain - rom.buffer[0x153B43] = rom.buffer[0x153B43] | 0x2 #convenient portal on WDDM - rom.buffer[0x153B5A] = rom.buffer[0x153B5A] | 0x2 #rocks added to prevent OWG hardlock - rom.buffer[0x153B5B] = rom.buffer[0x153B5B] | 0x2 #rocks added to prevent OWG hardlock - rom.buffer[0x153B62] = rom.buffer[0x153B62] | 0x2 #rocks added to prevent OWG hardlock - rom.buffer[0x153B7F] = rom.buffer[0x153B7F] | 0x2 #added C to terrain - + rom.write_byte(0x153B03, rom.buffer[0x153B03] | 0x2) #convenient portal on WDM + rom.write_byte(0x153B1A, rom.buffer[0x153B1A] | 0x2) #rocks added to prevent OWG hardlock + rom.write_byte(0x153B1B, rom.buffer[0x153B1B] | 0x2) #rocks added to prevent OWG hardlock + rom.write_byte(0x153B22, rom.buffer[0x153B22] | 0x2) #rocks added to prevent OWG hardlock + rom.write_byte(0x153B3F, rom.buffer[0x153B3F] | 0x2) #added C to terrain + rom.write_byte(0x153B43, rom.buffer[0x153B43] | 0x2) #convenient portal on WDDM + rom.write_byte(0x153B5A, rom.buffer[0x153B5A] | 0x2) #rocks added to prevent OWG hardlock + rom.write_byte(0x153B5B, rom.buffer[0x153B5B] | 0x2) #rocks added to prevent OWG hardlock + rom.write_byte(0x153B62, rom.buffer[0x153B62] | 0x2) #rocks added to prevent OWG hardlock + rom.write_byte(0x153B7F, rom.buffer[0x153B7F] | 0x2) #added C to terrain owMode = 0 if world.owShuffle[player] == 'parallel': @@ -636,12 +635,12 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False): # load inverted maps v = rom.buffer[0x153B00 + b] v = (v & 0xFE) | ((v + 1) % 2) - rom.buffer[0x153B00 + b] = v + rom.write_byte(0x153B00 + b, v) # set world flag v = rom.buffer[0x153A00 + b] v = (v & 0xBF) | ((((v >> 6) + 1) % 2) << 6) - rom.buffer[0x153A00 + b] = v + rom.write_byte(0x153A00 + b, v) for edge in world.owedges: if edge.dest is not None and isinstance(edge.dest, OWEdge) and edge.player == player: @@ -673,10 +672,10 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False): write_int16(rom, snes_to_pc(0x02E97B + (o * 2)), data[9]) # unknown 2 # flute menu blips - rom.buffer[snes_to_pc(0x0AB783 + o)] = data[11] & 0xff # X low byte - rom.buffer[snes_to_pc(0x0AB78B + o)] = data[11] // 0x100 # X high byte - rom.buffer[snes_to_pc(0x0AB793 + o)] = data[10] & 0xff # Y low byte - rom.buffer[snes_to_pc(0x0AB79B + o)] = data[10] // 0x100 # Y high byte + rom.write_byte(snes_to_pc(0x0AB783 + o), data[11] & 0xff) # X low byte + rom.write_byte(snes_to_pc(0x0AB78B + o), data[11] // 0x100) # X high byte + rom.write_byte(snes_to_pc(0x0AB793 + o), data[10] & 0xff) # Y low byte + rom.write_byte(snes_to_pc(0x0AB79B + o), data[10] // 0x100) # Y high byte # patch entrance/exits/holes @@ -2280,7 +2279,7 @@ def set_inverted_mode(world, player, rom): # load inverted maps for b in range(0x00, 0x82): v = rom.buffer[0x153B00 + b] - rom.buffer[0x153B00 + b] = (v & 0xFE) | ((v + 1) % 2) + rom.write_byte(0x153B00 + b, (v & 0xFE) | ((v + 1) % 2)) rom.write_byte(snes_to_pc(0x0283E0), 0xF0) # residual portals rom.write_byte(snes_to_pc(0x02B34D), 0xF0)