From 64bc9189c5a58543fe2b9d29a040a4481877d224 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Sun, 14 Nov 2021 17:08:50 -0600 Subject: [PATCH] Fixed Inverted Double-Swap issue --- Rom.py | 22 +++++++++++----------- data/base2current.bps | Bin 141326 -> 141325 bytes 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Rom.py b/Rom.py index a5b95c56..d17fc0c4 100644 --- a/Rom.py +++ b/Rom.py @@ -33,7 +33,7 @@ from source.classes.SFX import randomize_sfx JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = '9df10796c8a8fe07d81fc0012700934a' +RANDOMIZERBASEHASH = '9dfff0f3d093eb9adce053e9773f523e' class JsonRom(object): @@ -668,20 +668,20 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False): # patches map data specific for OW Shuffle #inverted_buffer[0x03] = inverted_buffer[0x03] | 0x2 # convenient portal on WDM - inverted_buffer[0x1A] = inverted_buffer[0x1A] | 0x2 # rocks added to prevent OWG hardlock - inverted_buffer[0x1B] = inverted_buffer[0x1B] | 0x2 # rocks added to prevent OWG hardlock - inverted_buffer[0x22] = inverted_buffer[0x22] | 0x2 # rocks added to prevent OWG hardlock - inverted_buffer[0x3F] = inverted_buffer[0x3F] | 0x2 # added C to terrain + inverted_buffer[0x1A] |= 0x2 # rocks added to prevent OWG hardlock + inverted_buffer[0x1B] |= 0x2 # rocks added to prevent OWG hardlock + inverted_buffer[0x22] |= 0x2 # rocks added to prevent OWG hardlock + inverted_buffer[0x3F] |= 0x2 # added C to terrain #inverted_buffer[0x43] = inverted_buffer[0x43] | 0x2 # convenient portal on WDDM - inverted_buffer[0x5A] = inverted_buffer[0x5A] | 0x2 # rocks added to prevent OWG hardlock - inverted_buffer[0x5B] = inverted_buffer[0x5B] | 0x2 # rocks added to prevent OWG hardlock - inverted_buffer[0x62] = inverted_buffer[0x62] | 0x2 # rocks added to prevent OWG hardlock - inverted_buffer[0x7F] = inverted_buffer[0x7F] | 0x2 # added C to terrain + inverted_buffer[0x5A] |= 0x2 # rocks added to prevent OWG hardlock + inverted_buffer[0x5B] |= 0x2 # rocks added to prevent OWG hardlock + inverted_buffer[0x62] |= 0x2 # rocks added to prevent OWG hardlock + inverted_buffer[0x7F] |= 0x2 # added C to terrain if world.owMixed[player]: for b in world.owswaps[player][0]: # load inverted maps - inverted_buffer[b] = (inverted_buffer[b] & 0xFE) | ((inverted_buffer[b] + 1) % 2) + inverted_buffer[b] ^= 0x1 # set world flag rom.write_byte(0x153A00 + b, 0x00 if b >= 0x40 else 0x40) @@ -2458,7 +2458,7 @@ def set_inverted_mode(world, player, rom, inverted_buffer): if world.mode[player] == 'inverted': # load inverted maps for b in range(0x00, len(inverted_buffer)): - inverted_buffer[b] = (inverted_buffer[b] & 0xFE) | ((inverted_buffer[b] + 1) % 2) + inverted_buffer[b] ^= 0x1 rom.write_byte(snes_to_pc(0x0283E0), 0xF0) # residual portals rom.write_byte(snes_to_pc(0x02B34D), 0xF0) diff --git a/data/base2current.bps b/data/base2current.bps index a73808cb31a95e88023255877f8b0605f6da30ed..53c32fda396138439e597846c3178e30e8c92eb7 100644 GIT binary patch delta 2940 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 delta 2920 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