diff --git a/CHANGELOG.md b/CHANGELOG.md index d47f7c1e..f4eb0a11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +### 0.2.2.3 +- Fixed GT entrance not being opened when Inverted and WDM is Tile Swapped +- The Goal sign is moved to the area where the hole will be (always in opposite world as starting) + ### 0.2.2.2 - Fixed Whirlpool Shuffle with Grouped Crossed OW - Made filename not spoil OWR in Mystery diff --git a/OverworldShuffle.py b/OverworldShuffle.py index 65236379..67b2dee7 100644 --- a/OverworldShuffle.py +++ b/OverworldShuffle.py @@ -3,7 +3,7 @@ from BaseClasses import OWEdge, WorldType, RegionType, Direction, Terrain, PolSl from Regions import mark_dark_world_regions, mark_light_world_regions from OWEdges import OWTileRegions, OWTileGroups, OWEdgeGroups, OWExitTypes, OpenStd, parallel_links, IsParallel -__version__ = '0.2.2.2-u' +__version__ = '0.2.2.3-u' def link_overworld(world, player): # setup mandatory connections 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 a73808cb..53c32fda 100644 Binary files a/data/base2current.bps and b/data/base2current.bps differ