Merge branch 'OverworldShuffleDev' into OverworldShuffle
This commit is contained in:
@@ -1,5 +1,9 @@
|
|||||||
# Changelog
|
# 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
|
### 0.2.2.2
|
||||||
- Fixed Whirlpool Shuffle with Grouped Crossed OW
|
- Fixed Whirlpool Shuffle with Grouped Crossed OW
|
||||||
- Made filename not spoil OWR in Mystery
|
- Made filename not spoil OWR in Mystery
|
||||||
|
|||||||
@@ -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 Regions import mark_dark_world_regions, mark_light_world_regions
|
||||||
from OWEdges import OWTileRegions, OWTileGroups, OWEdgeGroups, OWExitTypes, OpenStd, parallel_links, IsParallel
|
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):
|
def link_overworld(world, player):
|
||||||
# setup mandatory connections
|
# setup mandatory connections
|
||||||
|
|||||||
22
Rom.py
22
Rom.py
@@ -33,7 +33,7 @@ from source.classes.SFX import randomize_sfx
|
|||||||
|
|
||||||
|
|
||||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||||
RANDOMIZERBASEHASH = '9df10796c8a8fe07d81fc0012700934a'
|
RANDOMIZERBASEHASH = '9dfff0f3d093eb9adce053e9773f523e'
|
||||||
|
|
||||||
|
|
||||||
class JsonRom(object):
|
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
|
# patches map data specific for OW Shuffle
|
||||||
#inverted_buffer[0x03] = inverted_buffer[0x03] | 0x2 # convenient portal on WDM
|
#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[0x1A] |= 0x2 # rocks added to prevent OWG hardlock
|
||||||
inverted_buffer[0x1B] = inverted_buffer[0x1B] | 0x2 # rocks added to prevent OWG hardlock
|
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[0x22] |= 0x2 # rocks added to prevent OWG hardlock
|
||||||
inverted_buffer[0x3F] = inverted_buffer[0x3F] | 0x2 # added C to terrain
|
inverted_buffer[0x3F] |= 0x2 # added C to terrain
|
||||||
#inverted_buffer[0x43] = inverted_buffer[0x43] | 0x2 # convenient portal on WDDM
|
#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[0x5A] |= 0x2 # rocks added to prevent OWG hardlock
|
||||||
inverted_buffer[0x5B] = inverted_buffer[0x5B] | 0x2 # rocks added to prevent OWG hardlock
|
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[0x62] |= 0x2 # rocks added to prevent OWG hardlock
|
||||||
inverted_buffer[0x7F] = inverted_buffer[0x7F] | 0x2 # added C to terrain
|
inverted_buffer[0x7F] |= 0x2 # added C to terrain
|
||||||
|
|
||||||
if world.owMixed[player]:
|
if world.owMixed[player]:
|
||||||
for b in world.owswaps[player][0]:
|
for b in world.owswaps[player][0]:
|
||||||
# load inverted maps
|
# load inverted maps
|
||||||
inverted_buffer[b] = (inverted_buffer[b] & 0xFE) | ((inverted_buffer[b] + 1) % 2)
|
inverted_buffer[b] ^= 0x1
|
||||||
|
|
||||||
# set world flag
|
# set world flag
|
||||||
rom.write_byte(0x153A00 + b, 0x00 if b >= 0x40 else 0x40)
|
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':
|
if world.mode[player] == 'inverted':
|
||||||
# load inverted maps
|
# load inverted maps
|
||||||
for b in range(0x00, len(inverted_buffer)):
|
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(0x0283E0), 0xF0) # residual portals
|
||||||
rom.write_byte(snes_to_pc(0x02B34D), 0xF0)
|
rom.write_byte(snes_to_pc(0x02B34D), 0xF0)
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user