Restored vanilla Ice Palace terrain for Inverted

This commit is contained in:
codemann8
2022-01-19 03:43:37 -06:00
parent a61a3d3693
commit 185e7f967d
6 changed files with 13 additions and 9 deletions

View File

@@ -820,6 +820,7 @@ OWTileRegions = bidict({
'Lake Hylia Central Island': 0x35, 'Lake Hylia Central Island': 0x35,
'Lake Hylia Island': 0x35, 'Lake Hylia Island': 0x35,
'Lake Hylia Water': 0x35, 'Lake Hylia Water': 0x35,
'Lake Hylia Water D': 0x35,
'Ice Cave Area': 0x37, 'Ice Cave Area': 0x37,
@@ -1584,6 +1585,7 @@ OWExitTypes = {
'Lake Hylia West Pier', 'Lake Hylia West Pier',
'Lake Hylia Northeast Water Drop', 'Lake Hylia Northeast Water Drop',
'Lake Hylia East Pier', 'Lake Hylia East Pier',
'Lake Hylia Water D Entry',
'Desert Pass Ladder (South)', 'Desert Pass Ladder (South)',
'Desert Pass Rocks (North)', 'Desert Pass Rocks (North)',
'Desert Pass Rocks (South)', 'Desert Pass Rocks (South)',
@@ -1639,8 +1641,6 @@ OWExitTypes = {
'Ice Lake Northeast Pier', 'Ice Lake Northeast Pier',
'Ice Lake Northeast Pier Hop', 'Ice Lake Northeast Pier Hop',
'Ice Lake Moat Water Entry', 'Ice Lake Moat Water Entry',
'Ice Palace Approach',
'Ice Palace Leave',
'Bomber Corner Water Drop', 'Bomber Corner Water Drop',
'Bomber Corner Pier' 'Bomber Corner Pier'
], ],
@@ -1760,6 +1760,7 @@ OWExitTypes = {
'Ice Lake Southeast Mirror Spot', 'Ice Lake Southeast Mirror Spot',
'Ice Lake Northeast Mirror Spot', 'Ice Lake Northeast Mirror Spot',
'Ice Palace Mirror Spot', 'Ice Palace Mirror Spot',
'Ice Lake Moat Mirror Spot',
'Shopping Mall Mirror Spot', 'Shopping Mall Mirror Spot',
'Swamp Nook Mirror Spot', 'Swamp Nook Mirror Spot',
'Swamp Nook Southeast Mirror Spot', 'Swamp Nook Southeast Mirror Spot',

View File

@@ -1208,6 +1208,7 @@ mandatory_connections = [# Intra-tile OW Connections
('Lake Hylia Central Island Pier', 'Lake Hylia Central Island'), ('Lake Hylia Central Island Pier', 'Lake Hylia Central Island'),
('Lake Hylia West Pier', 'Lake Hylia Area'), ('Lake Hylia West Pier', 'Lake Hylia Area'),
('Lake Hylia East Pier', 'Lake Hylia Northeast Bank'), ('Lake Hylia East Pier', 'Lake Hylia Northeast Bank'),
('Lake Hylia Water D Entry', 'Lake Hylia Water'), #flippers
('Desert Pass Ledge Drop', 'Desert Pass Area'), ('Desert Pass Ledge Drop', 'Desert Pass Area'),
('Desert Pass Rocks (North)', 'Desert Pass Southeast'), #glove ('Desert Pass Rocks (North)', 'Desert Pass Southeast'), #glove
('Desert Pass Rocks (South)', 'Desert Pass Area'), #glove ('Desert Pass Rocks (South)', 'Desert Pass Area'), #glove
@@ -1669,14 +1670,13 @@ ow_connections = {
('Lake Hylia Teleporter', 'Ice Palace Area') ('Lake Hylia Teleporter', 'Ice Palace Area')
], [ ], [
('Lake Hylia Island Pier', 'Lake Hylia Island'), ('Lake Hylia Island Pier', 'Lake Hylia Island'),
('Ice Palace Approach', 'Ice Palace Area'),
('Ice Palace Leave', 'Ice Lake Moat'),
('Ice Lake Mirror Spot', 'Ice Lake Area'), ('Ice Lake Mirror Spot', 'Ice Lake Area'),
('Ice Lake Southwest Mirror Spot', 'Ice Lake Ledge (West)'), ('Ice Lake Southwest Mirror Spot', 'Ice Lake Ledge (West)'),
('Ice Lake Southeast Mirror Spot', 'Ice Lake Ledge (East)'), ('Ice Lake Southeast Mirror Spot', 'Ice Lake Ledge (East)'),
('Ice Lake Northeast Mirror Spot', 'Ice Lake Northeast Bank'), ('Ice Lake Northeast Mirror Spot', 'Ice Lake Northeast Bank'),
('Ice Palace Mirror Spot', 'Ice Palace Area'), ('Ice Palace Mirror Spot', 'Ice Palace Area'),
('Ice Palace Teleporter', 'Lake Hylia Central Island') ('Ice Lake Moat Mirror Spot', 'Ice Lake Moat'),
('Ice Palace Teleporter', 'Lake Hylia Water D')
]), ]),
0x37: ([ 0x37: ([
('Ice Cave Mirror Spot', 'Ice Cave Area') ('Ice Cave Mirror Spot', 'Ice Cave Area')

View File

@@ -112,6 +112,7 @@ def create_regions(world, player):
create_lw_region(player, 'Lake Hylia Central Island', None, ['Lake Hylia Central Water Drop', 'Capacity Upgrade', 'Ice Palace Mirror Spot', 'Lake Hylia Teleporter']), create_lw_region(player, 'Lake Hylia Central Island', None, ['Lake Hylia Central Water Drop', 'Capacity Upgrade', 'Ice Palace Mirror Spot', 'Lake Hylia Teleporter']),
create_lw_region(player, 'Lake Hylia Island', ['Lake Hylia Island'], ['Lake Hylia Island Water Drop']), create_lw_region(player, 'Lake Hylia Island', ['Lake Hylia Island'], ['Lake Hylia Island Water Drop']),
create_lw_region(player, 'Lake Hylia Water', None, ['Lake Hylia Central Island Pier', 'Lake Hylia Island Pier', 'Lake Hylia West Pier', 'Lake Hylia East Pier', 'Lake Hylia NC', 'Lake Hylia EC', 'Lake Hylia Whirlpool'], Terrain.Water), create_lw_region(player, 'Lake Hylia Water', None, ['Lake Hylia Central Island Pier', 'Lake Hylia Island Pier', 'Lake Hylia West Pier', 'Lake Hylia East Pier', 'Lake Hylia NC', 'Lake Hylia EC', 'Lake Hylia Whirlpool'], Terrain.Water),
create_lw_region(player, 'Lake Hylia Water D', None, ['Lake Hylia Water D Entry', 'Ice Lake Moat Mirror Spot'], Terrain.Water),
create_lw_region(player, 'Ice Cave Area', None, ['Ice Rod Cave', 'Good Bee Cave', '20 Rupee Cave', 'Shopping Mall Mirror Spot', 'Ice Cave SE', 'Ice Cave SW']), create_lw_region(player, 'Ice Cave Area', None, ['Ice Rod Cave', 'Good Bee Cave', '20 Rupee Cave', 'Shopping Mall Mirror Spot', 'Ice Cave SE', 'Ice Cave SW']),
create_lw_region(player, 'Desert Pass Area', ['Middle Aged Man'], ['Desert Pass Ladder (South)', 'Middle Aged Man', 'Desert Fairy', '50 Rupee Cave', 'Swamp Nook Mirror Spot', 'Desert Pass WS', 'Desert Pass EC', 'Desert Pass Rocks (North)']), create_lw_region(player, 'Desert Pass Area', ['Middle Aged Man'], ['Desert Pass Ladder (South)', 'Middle Aged Man', 'Desert Fairy', '50 Rupee Cave', 'Swamp Nook Mirror Spot', 'Desert Pass WS', 'Desert Pass EC', 'Desert Pass Rocks (North)']),
create_lw_region(player, 'Middle Aged Man', ['Purple Chest'], None), create_lw_region(player, 'Middle Aged Man', ['Purple Chest'], None),
@@ -212,8 +213,8 @@ def create_regions(world, player):
create_dw_region(player, 'Ice Lake Ledge (West)', None, ['Ice Lake Southwest Water Drop', 'South Shore Mirror Spot', 'Ice Lake WS']), create_dw_region(player, 'Ice Lake Ledge (West)', None, ['Ice Lake Southwest Water Drop', 'South Shore Mirror Spot', 'Ice Lake WS']),
create_dw_region(player, 'Ice Lake Ledge (East)', None, ['Ice Lake Southeast Water Drop', 'South Shore East Mirror Spot', 'Ice Lake ES']), create_dw_region(player, 'Ice Lake Ledge (East)', None, ['Ice Lake Southeast Water Drop', 'South Shore East Mirror Spot', 'Ice Lake ES']),
create_dw_region(player, 'Ice Lake Water', None, ['Ice Lake Northeast Pier', 'Ice Lake Moat Bomb Jump', 'Lake Hylia Island Mirror Spot', 'Ice Lake NC', 'Ice Lake EC'], Terrain.Water), create_dw_region(player, 'Ice Lake Water', None, ['Ice Lake Northeast Pier', 'Ice Lake Moat Bomb Jump', 'Lake Hylia Island Mirror Spot', 'Ice Lake NC', 'Ice Lake EC'], Terrain.Water),
create_dw_region(player, 'Ice Lake Moat', None, ['Ice Lake Moat Water Entry', 'Ice Lake Northeast Pier Hop', 'Ice Palace Approach', 'Lake Hylia Water Mirror Spot']), create_dw_region(player, 'Ice Lake Moat', None, ['Ice Lake Moat Water Entry', 'Ice Lake Northeast Pier Hop', 'Lake Hylia Water Mirror Spot']),
create_dw_region(player, 'Ice Palace Area', None, ['Ice Palace Leave', 'Ice Palace', 'Ice Palace Teleporter', 'Lake Hylia Central Island Mirror Spot']), create_dw_region(player, 'Ice Palace Area', None, ['Ice Palace', 'Ice Palace Teleporter', 'Lake Hylia Central Island Mirror Spot']),
create_dw_region(player, 'Shopping Mall Area', None, ['Dark Lake Hylia Ledge Fairy', 'Dark Lake Hylia Ledge Hint', 'Dark Lake Hylia Ledge Spike Cave', 'Ice Cave Mirror Spot', 'Shopping Mall SW', 'Shopping Mall SE']), create_dw_region(player, 'Shopping Mall Area', None, ['Dark Lake Hylia Ledge Fairy', 'Dark Lake Hylia Ledge Hint', 'Dark Lake Hylia Ledge Spike Cave', 'Ice Cave Mirror Spot', 'Shopping Mall SW', 'Shopping Mall SE']),
create_dw_region(player, 'Swamp Nook Area', None, ['Desert Pass Ledge Mirror Spot', 'Desert Pass Mirror Spot', 'Swamp Nook EC', 'Swamp Nook ES']), create_dw_region(player, 'Swamp Nook Area', None, ['Desert Pass Ledge Mirror Spot', 'Desert Pass Mirror Spot', 'Swamp Nook EC', 'Swamp Nook ES']),
create_dw_region(player, 'Swamp Area', None, ['Swamp Palace', 'Dam Mirror Spot', 'Swamp WC', 'Swamp WS', 'Swamp NC', 'Swamp EC']), create_dw_region(player, 'Swamp Area', None, ['Swamp Palace', 'Dam Mirror Spot', 'Swamp WC', 'Swamp WS', 'Swamp NC', 'Swamp EC']),

5
Rom.py
View File

@@ -33,7 +33,7 @@ from source.classes.SFX import randomize_sfx
JAP10HASH = '03a63945398191337e896e5771f77173' JAP10HASH = '03a63945398191337e896e5771f77173'
RANDOMIZERBASEHASH = 'ea4215dbf86da55ffa1255fa5e687b62' RANDOMIZERBASEHASH = 'b300438a7242825e33300f9d155814ef'
class JsonRom(object): class JsonRom(object):
@@ -2682,7 +2682,8 @@ def set_inverted_mode(world, player, rom, inverted_buffer):
rom.write_bytes(snes_to_pc(0x1BD1D8), [0xA8, 0x02, 0x82, 0xFF, 0xFF]) # add warp under rock rom.write_bytes(snes_to_pc(0x1BD1D8), [0xA8, 0x02, 0x82, 0xFF, 0xFF]) # add warp under rock
rom.write_byte(snes_to_pc(0x1BC5B1), 0x00) # remove secret portal rom.write_byte(snes_to_pc(0x1BC5B1), 0x00) # remove secret portal
if world.is_tile_swapped(0x35, player): if world.is_tile_swapped(0x35, player):
rom.write_bytes(snes_to_pc(0x1BC85A), [0x50, 0x0F, 0x82]) # add warp under rock #rom.write_bytes(snes_to_pc(0x1BC85A), [0x50, 0x0F, 0x82]) # add warp under rock
rom.write_bytes(snes_to_pc(0x1BC85A), [0x52, 0x13, 0x82]) # add warp under rock
rom.write_byte(snes_to_pc(0x1BC5C7), 0x00) # remove secret portal rom.write_byte(snes_to_pc(0x1BC5C7), 0x00) # remove secret portal
# apply inverted map changes # apply inverted map changes

View File

@@ -825,6 +825,7 @@ def default_rules(world, player):
set_rule(world.get_entrance('Lake Hylia Northeast Water Drop', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Lake Hylia Northeast Water Drop', player), lambda state: state.has('Flippers', player))
set_rule(world.get_entrance('Lake Hylia Central Water Drop', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Lake Hylia Central Water Drop', player), lambda state: state.has('Flippers', player))
set_rule(world.get_entrance('Lake Hylia Island Water Drop', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Lake Hylia Island Water Drop', player), lambda state: state.has('Flippers', player))
set_rule(world.get_entrance('Lake Hylia Water D Entry', player), lambda state: state.has('Flippers', player))
set_rule(world.get_entrance('Ice Cave SW', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Ice Cave SW', player), lambda state: state.has('Flippers', player))
set_rule(world.get_entrance('Octoballoon Water Drop', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Octoballoon Water Drop', player), lambda state: state.has('Flippers', player))
set_rule(world.get_entrance('Octoballoon Waterfall Water Drop', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Octoballoon Waterfall Water Drop', player), lambda state: state.has('Flippers', player))

Binary file not shown.