Merge branch 'OverworldShuffleDev' into OverworldShuffle

This commit is contained in:
codemann8
2021-05-02 20:33:19 -05:00
16 changed files with 807 additions and 727 deletions

View File

@@ -1503,11 +1503,11 @@ class OWEdge(object):
def getAddress(self): def getAddress(self):
base_address = { base_address = {
Direction.North: 0x153800, Direction.North: 0x153800,
Direction.South: 0x153800 + (0x42 * 26), Direction.South: 0x153800 + (0x42 * 16),
Direction.West: 0x153800 + (0x84 * 26), Direction.West: 0x153800 + (0x84 * 16),
Direction.East: 0x153800 + (0xcf * 26), Direction.East: 0x153800 + (0xcf * 16),
} }
return base_address[self.direction] + (self.edge_id * 26) return base_address[self.direction] + (self.edge_id * 16)
def getTarget(self): def getTarget(self):
return self.dest.edge_id return self.dest.edge_id
@@ -1515,24 +1515,8 @@ class OWEdge(object):
def dead_end(self): def dead_end(self):
self.deadEnd = True self.deadEnd = True
def coordInfo(self, vram_loc, scrollY, scrollX, linkY, linkX, camY, camX, unkY, unkX): def coordInfo(self, vram_loc):
if self.direction in [Direction.North, Direction.South]:
self.midpoint = linkX
self.linkOpp = linkY
self.scrollPos = scrollX
self.scrollOpp = scrollY
self.camPos = camX
self.camOpp = camY
elif self.direction in [Direction.West, Direction.East]:
self.midpoint = linkY
self.linkOpp = linkX
self.scrollPos = scrollY
self.scrollOpp = scrollX
self.camPos = camY
self.camOpp = camX
self.vramLoc = vram_loc self.vramLoc = vram_loc
self.unknownX = unkX
self.unknownY = unkY
return self return self
def __eq__(self, other): def __eq__(self, other):

2
CLI.py
View File

@@ -187,7 +187,7 @@ def parse_settings():
"quickswap": False, "quickswap": False,
"heartcolor": "red", "heartcolor": "red",
"heartbeep": "normal", "heartbeep": "normal",
"sprite": os.path.join(".", "data", "sprites", "official", "001.link.1.zspr"), "sprite": None,
"fastmenu": "normal", "fastmenu": "normal",
"ow_palettes": "default", "ow_palettes": "default",
"uw_palettes": "default", "uw_palettes": "default",

View File

@@ -555,7 +555,7 @@ def find_portal_candidates(door_list, dungeon, need_passage=False, dead_end_allo
if not dead_end_allowed: if not dead_end_allowed:
ret = [x for x in ret if not x.deadEnd] ret = [x for x in ret if not x.deadEnd]
if standard: if standard:
ret = [x for x in ret if not x.standard_restrict] ret = [x for x in ret if not x.standard_restricted]
return ret return ret

View File

@@ -1249,7 +1249,6 @@ def create_dungeon_builders(all_sectors, connections_tuple, world, player,
for r_name in ['Hyrule Dungeon Cellblock', 'Sanctuary']: # need to deliver zelda for r_name in ['Hyrule Dungeon Cellblock', 'Sanctuary']: # need to deliver zelda
assign_sector(find_sector(r_name, candidate_sectors), current_dungeon, assign_sector(find_sector(r_name, candidate_sectors), current_dungeon,
candidate_sectors, global_pole) candidate_sectors, global_pole)
standard_stair_check(dungeon_map, current_dungeon, candidate_sectors, global_pole)
entrances_map, potentials, connections = connections_tuple entrances_map, potentials, connections = connections_tuple
accessible_sectors, reverse_d_map = set(), {} accessible_sectors, reverse_d_map = set(), {}
for key in dungeon_entrances.keys(): for key in dungeon_entrances.keys():
@@ -1265,6 +1264,9 @@ def create_dungeon_builders(all_sectors, connections_tuple, world, player,
if not sector: if not sector:
sector = find_sector(r_name, all_sectors) sector = find_sector(r_name, all_sectors)
reverse_d_map[sector] = key reverse_d_map[sector] = key
if world.mode[player] == 'standard':
current_dungeon = dungeon_map['Hyrule Castle']
standard_stair_check(world, dungeon_map, current_dungeon, candidate_sectors, global_pole)
complete_dungeons = {x: y for x, y in dungeon_map.items() if sum(len(sector.outstanding_doors) for sector in y.sectors) <= 0} complete_dungeons = {x: y for x, y in dungeon_map.items() if sum(len(sector.outstanding_doors) for sector in y.sectors) <= 0}
[dungeon_map.pop(key) for key in complete_dungeons.keys()] [dungeon_map.pop(key) for key in complete_dungeons.keys()]

36
Fill.py
View File

@@ -534,6 +534,30 @@ def balance_money_progression(world):
'TR Rupees': 270, 'PoD Dark Basement': 270} 'TR Rupees': 270, 'PoD Dark Basement': 270}
acceptable_balancers = ['Bombs (3)', 'Arrows (10)', 'Bombs (10)'] acceptable_balancers = ['Bombs (3)', 'Arrows (10)', 'Bombs (10)']
base_value = sum(rupee_rooms.values())
available_money = {player: base_value for player in range(1, world.players+1)}
for loc in world.get_locations():
if loc.item.name in rupee_chart:
available_money[loc.item.player] += rupee_chart[loc.item.name]
total_price = {player: 0 for player in range(1, world.players+1)}
for player in range(1, world.players+1):
for shop, loc_list in shop_to_location_table.items():
for loc in loc_list:
loc = world.get_location(loc, player)
slot = shop_to_location_table[loc.parent_region.name].index(loc.name)
shop = loc.parent_region.shop
shop_item = shop.inventory[slot]
if shop_item:
total_price[player] += shop_item['price']
total_price[player] += 110 + sum(pay_for_locations.values())
# base needed: 830
# base available: 765
for player in range(1, world.players+1):
logger.debug(f'Money balance for P{player}: Needed: {total_price[player]} Available: {available_money[player]}')
def get_sphere_locations(sphere_state, locations): def get_sphere_locations(sphere_state, locations):
sphere_state.sweep_for_events(key_only=True, locations=locations) sphere_state.sweep_for_events(key_only=True, locations=locations)
return [loc for loc in locations if sphere_state.can_reach(loc) and sphere_state.not_flooding_a_key(sphere_state.world, loc)] return [loc for loc in locations if sphere_state.can_reach(loc) and sphere_state.not_flooding_a_key(sphere_state.world, loc)]
@@ -580,9 +604,15 @@ def balance_money_progression(world):
shop = location.parent_region.shop shop = location.parent_region.shop
shop_item = shop.inventory[slot] shop_item = shop.inventory[slot]
if interesting_item(location, location.item, world, location.item.player): if interesting_item(location, location.item, world, location.item.player):
sphere_costs[loc_player] += shop_item['price'] if location.item.name.startswith('Rupee') and loc_player == location.item.player:
location_free = False if shop_item['price'] < rupee_chart[location.item.name]:
locked_by_money[loc_player].add(location) wallet[loc_player] -= shop_item['price'] # will get picked up in the location_free block
else:
location_free = False
else:
location_free = False
sphere_costs[loc_player] += shop_item['price']
locked_by_money[loc_player].add(location)
elif location.name in pay_for_locations: elif location.name in pay_for_locations:
sphere_costs[loc_player] += pay_for_locations[location.name] sphere_costs[loc_player] += pay_for_locations[location.name]
location_free = False location_free = False

View File

@@ -3,12 +3,12 @@ import logging
import math import math
import random import random
from BaseClasses import Region, RegionType, Shop, ShopType, Location from BaseClasses import Region, RegionType, Shop, ShopType, Location, CollectionState
from Bosses import place_bosses from Bosses import place_bosses
from Dungeons import get_dungeon_item_pool from Dungeons import get_dungeon_item_pool
from EntranceShuffle import connect_entrance from EntranceShuffle import connect_entrance
from Regions import shop_to_location_table, retro_shops, shop_table_by_location from Regions import shop_to_location_table, retro_shops, shop_table_by_location
from Fill import FillError, fill_restrictive from Fill import FillError, fill_restrictive, fast_fill
from Items import ItemFactory from Items import ItemFactory
import source.classes.constants as CONST import source.classes.constants as CONST
@@ -575,6 +575,7 @@ def customize_shops(world, player):
loc.item = upgrade loc.item = upgrade
upgrade.location = loc upgrade.location = loc
change_shop_items_to_rupees(world, player, shops_to_customize) change_shop_items_to_rupees(world, player, shops_to_customize)
balance_prices(world, player)
def randomize_price(price): def randomize_price(price):
@@ -607,6 +608,77 @@ def change_shop_items_to_rupees(world, player, shops):
shop.add_inventory(slot, new_item.name, randomize_price(new_item.price), 1, player=new_item.player) shop.add_inventory(slot, new_item.name, randomize_price(new_item.price), 1, player=new_item.player)
def balance_prices(world, player):
available_money = 765 # this base just counts the main rupee rooms. Could up it for houlihan by 225
needed_money = 830 # this base is the pay for
for loc in world.get_filled_locations(player):
if loc.item.name in rupee_chart:
available_money += rupee_chart[loc.item.name] # rupee at locations
shop_locations = []
for shop, loc_list in shop_to_location_table.items():
for loc in loc_list:
loc = world.get_location(loc, player)
shop_locations.append(loc)
slot = shop_to_location_table[loc.parent_region.name].index(loc.name)
needed_money += loc.parent_region.shop.inventory[slot]['price']
target = available_money - needed_money
# remove the first set of shops from consideration (or used them for discounting)
state, done = CollectionState(world), False
unchecked_locations = world.get_locations().copy()
while not done:
state.sweep_for_events(key_only=True, locations=unchecked_locations)
sphere_loc = [l for l in unchecked_locations if state.can_reach(l) and state.not_flooding_a_key(state.world, l)]
if any(l in shop_locations for l in sphere_loc):
if target >= 0:
shop_locations = [l for l in shop_locations if l not in sphere_loc]
else:
shop_locations = [l for l in sphere_loc if l in shop_locations]
done = True
else:
for l in sphere_loc:
state.collect(l.item, True, l)
unchecked_locations.remove(l)
while len(shop_locations) > 0:
adjustment = target // len(shop_locations)
adjustment = 5 * (adjustment // 5)
more_adjustment = []
for loc in shop_locations:
slot = shop_to_location_table[loc.parent_region.name].index(loc.name)
price_max = loc.item.price * 2
inventory = loc.parent_region.shop.inventory[slot]
flex = price_max - inventory['price']
if flex <= adjustment:
inventory['price'] = price_max
target -= flex
elif adjustment <= 0:
old_price = inventory['price']
new_price = max(0, inventory['price'] + adjustment)
inventory['price'] = new_price
target += (old_price - new_price)
else:
more_adjustment.append(loc)
if len(shop_locations) == len(more_adjustment):
for loc in shop_locations:
slot = shop_to_location_table[loc.parent_region.name].index(loc.name)
inventory = loc.parent_region.shop.inventory[slot]
new_price = inventory['price'] + adjustment
new_price = min(500, max(0, new_price)) # cap prices between 0--twice base price
inventory['price'] = new_price
target -= adjustment
more_adjustment = []
shop_locations = more_adjustment
logging.getLogger('').debug(f'Price target is off by by {target} rupees')
# for loc in shop_locations:
# slot = shop_to_location_table[loc.parent_region.name].index(loc.name)
# new_price = loc.parent_region.shop.inventory[slot]['price'] + adjustment
#
# new_price = min(500, max(0, new_price)) # cap prices between 0--twice base price
# loc.parent_region.shop.inventory[slot]['price'] = new_price
repeatable_shop_items = ['Single Arrow', 'Arrows (10)', 'Bombs (3)', 'Bombs (10)', 'Red Potion', 'Small Heart', repeatable_shop_items = ['Single Arrow', 'Arrows (10)', 'Bombs (3)', 'Bombs (10)', 'Red Potion', 'Small Heart',
'Blue Shield', 'Red Shield', 'Bee', 'Small Key (Universal)', 'Blue Potion', 'Green Potion'] 'Blue Shield', 'Red Shield', 'Bee', 'Small Key (Universal)', 'Blue Potion', 'Green Potion']
@@ -622,6 +694,9 @@ shop_transfer = {'Red Potion': 'Rupees (50)', 'Bee': 'Rupees (5)', 'Blue Potion'
# 'Blue Shield': 'Rupees (50)', 'Red Shield': 'Rupees (300)', # 'Blue Shield': 'Rupees (50)', 'Red Shield': 'Rupees (300)',
} }
rupee_chart = {'Rupee (1)': 1, 'Rupees (5)': 5, 'Rupees (20)': 20, 'Rupees (50)': 50,
'Rupees (100)': 100, 'Rupees (300)': 300}
def get_pool_core(progressive, shuffle, difficulty, treasure_hunt_total, timer, goal, mode, swords, retro, door_shuffle): def get_pool_core(progressive, shuffle, difficulty, treasure_hunt_total, timer, goal, mode, swords, retro, door_shuffle):
pool = [] pool = []

View File

@@ -28,7 +28,7 @@ from Fill import sell_potions, sell_keys, balance_multiworld_progression, balanc
from ItemList import generate_itempool, difficulties, fill_prizes, customize_shops from ItemList import generate_itempool, difficulties, fill_prizes, customize_shops
from Utils import output_path, parse_player_names from Utils import output_path, parse_player_names
__version__ = '0.3.1.7-u' __version__ = '0.3.1.8-u'
class EnemizerError(RuntimeError): class EnemizerError(RuntimeError):

View File

@@ -19,289 +19,289 @@ Hz = PolSlot.EastWest
def create_owedges(world, player): def create_owedges(world, player):
edges = [ edges = [
# name, owID,dir,type,edge_id,(owSlot) #(vram, scrollY, scrollX, linkY, linkX, camY, camX, unk1, unk2) # name, owID,dir,type,edge_id,(owSlot) vram
create_owedge(player, 'Lost Woods NW', 0x00, No, Ld, 0x00) .coordInfo(0x0284, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lost Woods NW', 0x00, No, Ld, 0x00) .coordInfo(0x0284),
create_owedge(player, 'Lost Woods SW', 0x00, So, Ld, 0x01, 0x08).coordInfo(0x2000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lost Woods SW', 0x00, So, Ld, 0x01, 0x08).coordInfo(0x2000),
create_owedge(player, 'Lost Woods SC', 0x00, So, Ld, 0x02, 0x08).coordInfo(0x2020, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lost Woods SC', 0x00, So, Ld, 0x02, 0x08).coordInfo(0x2020),
create_owedge(player, 'Lost Woods SE', 0x00, So, Ld, 0x03, 0x09).coordInfo(0x2060, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lost Woods SE', 0x00, So, Ld, 0x03, 0x09).coordInfo(0x2060),
create_owedge(player, 'Lost Woods EN', 0x00, Ea, Ld, 0x00, 0x01).coordInfo(0x0180, 0x0024, 0x0400, 0x0088, 0x0405, 0x0093, 0x047d, 0x0c, 0x00), create_owedge(player, 'Lost Woods EN', 0x00, Ea, Ld, 0x00, 0x01).coordInfo(0x0180),
create_owedge(player, 'Lumberjack SW', 0x02, So, Ld, 0x00) .coordInfo(0x100a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lumberjack SW', 0x02, So, Ld, 0x00) .coordInfo(0x100a),
create_owedge(player, 'Lumberjack WN', 0x02, We, Ld, 0x00) .coordInfo(0x00e0, 0x0028, 0x0300, 0x0088, 0x03e8, 0x0097, 0x0385, 0xf8, 0x00), create_owedge(player, 'Lumberjack WN', 0x02, We, Ld, 0x00) .coordInfo(0x00e0),
create_owedge(player, 'West Death Mountain EN', 0x03, Ea, Ld, 0x01, 0x04).coordInfo(0x0180, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'West Death Mountain EN', 0x03, Ea, Ld, 0x01, 0x04).coordInfo(0x0180),
create_owedge(player, 'West Death Mountain ES', 0x03, Ea, Ld, 0x03, 0x0c).coordInfo(0x1780, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'West Death Mountain ES', 0x03, Ea, Ld, 0x03, 0x0c).coordInfo(0x1780),
create_owedge(player, 'East Death Mountain WN', 0x05, We, Ld, 0x01, 0x05).coordInfo(0x0060, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'East Death Mountain WN', 0x05, We, Ld, 0x01, 0x05).coordInfo(0x0060),
create_owedge(player, 'East Death Mountain WS', 0x05, We, Ld, 0x03, 0x0d).coordInfo(0x1660, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'East Death Mountain WS', 0x05, We, Ld, 0x03, 0x0d).coordInfo(0x1660),
create_owedge(player, 'East Death Mountain EN', 0x05, Ea, Ld, 0x02, 0x06).coordInfo(0x0180, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'East Death Mountain EN', 0x05, Ea, Ld, 0x02, 0x06).coordInfo(0x0180),
create_owedge(player, 'Death Mountain TR Pegs WN', 0x07, We, Ld, 0x02) .coordInfo(0x00e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Death Mountain TR Pegs WN', 0x07, We, Ld, 0x02) .coordInfo(0x00e0),
create_owedge(player, 'DM Ascent NW', 0x0a, No, Ld, 0x01) .coordInfo(0x180a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'DM Ascent NW', 0x0a, No, Ld, 0x01) .coordInfo(0x180a),
create_owedge(player, 'DM Ascent SE', 0x0a, So, Ld, 0x04) .coordInfo(0x1012, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'DM Ascent SE', 0x0a, So, Ld, 0x04) .coordInfo(0x1012),
create_owedge(player, 'Zora Approach NE', 0x0f, No, Ld, 0x02) .coordInfo(0x009a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Zora Approach NE', 0x0f, No, Ld, 0x02) .coordInfo(0x009a),
create_owedge(player, 'Zora Approach SE', 0x0f, So, Ld, 0x05) .coordInfo(0x1020, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Zora Approach SE', 0x0f, So, Ld, 0x05) .coordInfo(0x1020),
create_owedge(player, 'Lost Woods Pass NW', 0x10, No, Ld, 0x03) .coordInfo(0x1800, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lost Woods Pass NW', 0x10, No, Ld, 0x03) .coordInfo(0x1800),
create_owedge(player, 'Lost Woods Pass NE', 0x10, No, Ld, 0x04) .coordInfo(0x181e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lost Woods Pass NE', 0x10, No, Ld, 0x04) .coordInfo(0x181e),
create_owedge(player, 'Lost Woods Pass SW', 0x10, So, Ld, 0x06) .coordInfo(0x1002, 0x0600, 0x0006, 0x0603, 0x0088, 0x066d, 0x0093, 0x00, 0xfa), create_owedge(player, 'Lost Woods Pass SW', 0x10, So, Ld, 0x06) .coordInfo(0x1002),
create_owedge(player, 'Lost Woods Pass SE', 0x10, So, Ld, 0x07) .coordInfo(0x101a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lost Woods Pass SE', 0x10, So, Ld, 0x07) .coordInfo(0x101a),
create_owedge(player, 'Kakariko Fortune NE', 0x11, No, Ld, 0x05) .coordInfo(0x1820, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Fortune NE', 0x11, No, Ld, 0x05) .coordInfo(0x1820),
create_owedge(player, 'Kakariko Fortune SC', 0x11, So, Ld, 0x08) .coordInfo(0x1014, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Fortune SC', 0x11, So, Ld, 0x08) .coordInfo(0x1014),
create_owedge(player, 'Kakariko Fortune EN', 0x11, Ea, Ld, 0x04) .coordInfo(0x00c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Fortune EN', 0x11, Ea, Ld, 0x04) .coordInfo(0x00c0),
create_owedge(player, 'Kakariko Fortune ES', 0x11, Ea, Ld, 0x05) .coordInfo(0x08c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Fortune ES', 0x11, Ea, Ld, 0x05) .coordInfo(0x08c0),
create_owedge(player, 'Kakariko Pond NE', 0x12, No, Ld, 0x06) .coordInfo(0x1812, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Pond NE', 0x12, No, Ld, 0x06) .coordInfo(0x1812),
create_owedge(player, 'Kakariko Pond SW', 0x12, So, Ld, 0x09) .coordInfo(0x1006, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Pond SW', 0x12, So, Ld, 0x09) .coordInfo(0x1006),
create_owedge(player, 'Kakariko Pond SE', 0x12, So, Ld, 0x0a) .coordInfo(0x1016, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Pond SE', 0x12, So, Ld, 0x0a) .coordInfo(0x1016),
create_owedge(player, 'Kakariko Pond WN', 0x12, We, Ld, 0x04) .coordInfo(0x00e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Pond WN', 0x12, We, Ld, 0x04) .coordInfo(0x00e0),
create_owedge(player, 'Kakariko Pond WS', 0x12, We, Ld, 0x05) .coordInfo(0x08e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Pond WS', 0x12, We, Ld, 0x05) .coordInfo(0x08e0),
create_owedge(player, 'Kakariko Pond EN', 0x12, Ea, Ld, 0x06) .coordInfo(0x0340, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Pond EN', 0x12, Ea, Ld, 0x06) .coordInfo(0x0340),
create_owedge(player, 'Kakariko Pond ES', 0x12, Ea, Ld, 0x07) .coordInfo(0x08c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Pond ES', 0x12, Ea, Ld, 0x07) .coordInfo(0x08c0),
create_owedge(player, 'Sanctuary WN', 0x13, We, Ld, 0x06) .coordInfo(0x0360, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Sanctuary WN', 0x13, We, Ld, 0x06) .coordInfo(0x0360),
create_owedge(player, 'Sanctuary WS', 0x13, We, Ld, 0x07) .coordInfo(0x08e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Sanctuary WS', 0x13, We, Ld, 0x07) .coordInfo(0x08e0),
create_owedge(player, 'Sanctuary EC', 0x13, Ea, Ld, 0x08) .coordInfo(0x04c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Sanctuary EC', 0x13, Ea, Ld, 0x08) .coordInfo(0x04c0),
create_owedge(player, 'Graveyard WC', 0x14, We, Ld, 0x08) .coordInfo(0x04e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Graveyard WC', 0x14, We, Ld, 0x08) .coordInfo(0x04e0),
create_owedge(player, 'Graveyard EC', 0x14, Ea, Ld, 0x09) .coordInfo(0x04c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Graveyard EC', 0x14, Ea, Ld, 0x09) .coordInfo(0x04c0),
create_owedge(player, 'Useless Fairy SW', 0x15, So, Ld, 0x0b) .coordInfo(0x1004, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Useless Fairy SW', 0x15, So, Ld, 0x0b) .coordInfo(0x1004),
create_owedge(player, 'Useless Fairy SC', 0x15, So, Wr, 0x0c) .coordInfo(0x1018, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Useless Fairy SC', 0x15, So, Wr, 0x0c) .coordInfo(0x1018),
create_owedge(player, 'Useless Fairy SE', 0x15, So, Ld, 0x0d) .coordInfo(0x1020, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Useless Fairy SE', 0x15, So, Ld, 0x0d) .coordInfo(0x1020),
create_owedge(player, 'Useless Fairy WC', 0x15, We, Ld, 0x09) .coordInfo(0x04e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Useless Fairy WC', 0x15, We, Ld, 0x09) .coordInfo(0x04e0),
create_owedge(player, 'Useless Fairy EN', 0x15, Ea, Wr, 0x0a) .coordInfo(0x01c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Useless Fairy EN', 0x15, Ea, Wr, 0x0a) .coordInfo(0x01c0),
create_owedge(player, 'Useless Fairy EC', 0x15, Ea, Ld, 0x0b) .coordInfo(0x04c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Useless Fairy EC', 0x15, Ea, Ld, 0x0b) .coordInfo(0x04c0),
create_owedge(player, 'Useless Fairy ES', 0x15, Ea, Ld, 0x0c) .coordInfo(0x08c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Useless Fairy ES', 0x15, Ea, Ld, 0x0c) .coordInfo(0x08c0),
create_owedge(player, 'Potion Shop WN', 0x16, We, Wr, 0x0a) .coordInfo(0x01e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Potion Shop WN', 0x16, We, Wr, 0x0a) .coordInfo(0x01e0),
create_owedge(player, 'Potion Shop WC', 0x16, We, Ld, 0x0b) .coordInfo(0x04e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Potion Shop WC', 0x16, We, Ld, 0x0b) .coordInfo(0x04e0),
create_owedge(player, 'Potion Shop WS', 0x16, We, Ld, 0x0c) .coordInfo(0x08e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Potion Shop WS', 0x16, We, Ld, 0x0c) .coordInfo(0x08e0),
create_owedge(player, 'Potion Shop EN', 0x16, Ea, Wr, 0x0d) .coordInfo(0x00c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Potion Shop EN', 0x16, Ea, Wr, 0x0d) .coordInfo(0x00c0),
create_owedge(player, 'Potion Shop EC', 0x16, Ea, Ld, 0x0e) .coordInfo(0x01c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Potion Shop EC', 0x16, Ea, Ld, 0x0e) .coordInfo(0x01c0),
create_owedge(player, 'Zora Warning NE', 0x17, No, Ld, 0x07) .coordInfo(0x1820, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Zora Warning NE', 0x17, No, Ld, 0x07) .coordInfo(0x1820),
create_owedge(player, 'Zora Warning WN', 0x17, We, Wr, 0x0d) .coordInfo(0x00e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Zora Warning WN', 0x17, We, Wr, 0x0d) .coordInfo(0x00e0),
create_owedge(player, 'Zora Warning WC', 0x17, We, Ld, 0x0e) .coordInfo(0x01e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Zora Warning WC', 0x17, We, Ld, 0x0e) .coordInfo(0x01e0),
create_owedge(player, 'Kakariko NW', 0x18, No, Ld, 0x08) .coordInfo(0x1802, 0x051e, 0x0006, 0x05e4, 0x0088, 0x058d, 0x0093, 0x00, 0xfa), create_owedge(player, 'Kakariko NW', 0x18, No, Ld, 0x08) .coordInfo(0x1802),
create_owedge(player, 'Kakariko NC', 0x18, No, Ld, 0x09) .coordInfo(0x181a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko NC', 0x18, No, Ld, 0x09) .coordInfo(0x181a),
create_owedge(player, 'Kakariko NE', 0x18, No, Ld, 0x0a, 0x19).coordInfo(0x1854, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko NE', 0x18, No, Ld, 0x0a, 0x19).coordInfo(0x1854),
create_owedge(player, 'Kakariko SE', 0x18, So, Ld, 0x0f, 0x21).coordInfo(0x2060, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko SE', 0x18, So, Ld, 0x0f, 0x21).coordInfo(0x2060),
create_owedge(player, 'Kakariko ES', 0x18, Ea, Ld, 0x10, 0x21).coordInfo(0x1680, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko ES', 0x18, Ea, Ld, 0x10, 0x21).coordInfo(0x1680),
create_owedge(player, 'Forgotten Forest NW', 0x1a, No, Ld, 0x0b) .coordInfo(0x1806, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Forgotten Forest NW', 0x1a, No, Ld, 0x0b) .coordInfo(0x1806),
create_owedge(player, 'Forgotten Forest NE', 0x1a, No, Ld, 0x0c) .coordInfo(0x1816, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Forgotten Forest NE', 0x1a, No, Ld, 0x0c) .coordInfo(0x1816),
create_owedge(player, 'Forgotten Forest ES', 0x1a, Ea, Ld, 0x0f) .coordInfo(0x06c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Forgotten Forest ES', 0x1a, Ea, Ld, 0x0f) .coordInfo(0x06c0),
create_owedge(player, 'Hyrule Castle SW', 0x1b, So, Ld, 0x10, 0x23).coordInfo(0x2002, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hyrule Castle SW', 0x1b, So, Ld, 0x10, 0x23).coordInfo(0x2002),
create_owedge(player, 'Hyrule Castle SE', 0x1b, So, Ld, 0x11, 0x24).coordInfo(0x2054, 0x091e, 0x089e, 0x09e0, 0x0924, 0x098d, 0x092b, 0x00, 0x02), create_owedge(player, 'Hyrule Castle SE', 0x1b, So, Ld, 0x11, 0x24).coordInfo(0x2054),
create_owedge(player, 'Hyrule Castle WN', 0x1b, We, Ld, 0x0f) .coordInfo(0x0660, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hyrule Castle WN', 0x1b, We, Ld, 0x0f) .coordInfo(0x0660),
create_owedge(player, 'Hyrule Castle ES', 0x1b, Ea, Ld, 0x11, 0x24).coordInfo(0x1280, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hyrule Castle ES', 0x1b, Ea, Ld, 0x11, 0x24).coordInfo(0x1280),
create_owedge(player, 'Wooden Bridge NW', 0x1d, No, Ld, 0x0d) .coordInfo(0x1804, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Wooden Bridge NW', 0x1d, No, Ld, 0x0d) .coordInfo(0x1804),
create_owedge(player, 'Wooden Bridge NC', 0x1d, No, Wr, 0x0e) .coordInfo(0x1818, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Wooden Bridge NC', 0x1d, No, Wr, 0x0e) .coordInfo(0x1818),
create_owedge(player, 'Wooden Bridge NE', 0x1d, No, Ld, 0x0f) .coordInfo(0x1820, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Wooden Bridge NE', 0x1d, No, Ld, 0x0f) .coordInfo(0x1820),
create_owedge(player, 'Wooden Bridge SW', 0x1d, So, Ld, 0x0e) .coordInfo(0x1006, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Wooden Bridge SW', 0x1d, So, Ld, 0x0e) .coordInfo(0x1006),
create_owedge(player, 'Eastern Palace SW', 0x1e, So, Ld, 0x13, 0x26).coordInfo(0x2002, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Eastern Palace SW', 0x1e, So, Ld, 0x13, 0x26).coordInfo(0x2002),
create_owedge(player, 'Eastern Palace SE', 0x1e, So, Ld, 0x14, 0x27).coordInfo(0x2060, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Eastern Palace SE', 0x1e, So, Ld, 0x14, 0x27).coordInfo(0x2060),
create_owedge(player, 'Blacksmith WS', 0x22, We, Ld, 0x10) .coordInfo(0x05e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Blacksmith WS', 0x22, We, Ld, 0x10) .coordInfo(0x05e0),
create_owedge(player, 'Sand Dune NW', 0x25, No, Ld, 0x10) .coordInfo(0x1806, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Sand Dune NW', 0x25, No, Ld, 0x10) .coordInfo(0x1806),
create_owedge(player, 'Sand Dune SC', 0x25, So, Ld, 0x12) .coordInfo(0x100e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Sand Dune SC', 0x25, So, Ld, 0x12) .coordInfo(0x100e),
create_owedge(player, 'Sand Dune WN', 0x25, We, Ld, 0x11) .coordInfo(0x01e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Sand Dune WN', 0x25, We, Ld, 0x11) .coordInfo(0x01e0),
create_owedge(player, 'Maze Race ES', 0x28, Ea, Ld, 0x12) .coordInfo(0x0940, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Maze Race ES', 0x28, Ea, Ld, 0x12) .coordInfo(0x0940),
create_owedge(player, 'Kakariko Suburb NE', 0x29, No, Ld, 0x11) .coordInfo(0x1820, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Suburb NE', 0x29, No, Ld, 0x11) .coordInfo(0x1820),
create_owedge(player, 'Kakariko Suburb WS', 0x29, We, Ld, 0x12) .coordInfo(0x0960, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Suburb WS', 0x29, We, Ld, 0x12) .coordInfo(0x0960),
create_owedge(player, 'Kakariko Suburb ES', 0x29, Ea, Ld, 0x13) .coordInfo(0x0940, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Suburb ES', 0x29, Ea, Ld, 0x13) .coordInfo(0x0940),
create_owedge(player, 'Flute Boy SW', 0x2a, So, Ld, 0x15) .coordInfo(0x1000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Flute Boy SW', 0x2a, So, Ld, 0x15) .coordInfo(0x1000),
create_owedge(player, 'Flute Boy SC', 0x2a, So, Ld, 0x16) .coordInfo(0x100c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Flute Boy SC', 0x2a, So, Ld, 0x16) .coordInfo(0x100c),
create_owedge(player, 'Flute Boy WS', 0x2a, We, Ld, 0x13) .coordInfo(0x0960, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Flute Boy WS', 0x2a, We, Ld, 0x13) .coordInfo(0x0960),
create_owedge(player, 'Central Bonk Rock NW', 0x2b, No, Ld, 0x12) .coordInfo(0x1802, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Central Bonk Rock NW', 0x2b, No, Ld, 0x12) .coordInfo(0x1802),
create_owedge(player, 'Central Bonk Rock SW', 0x2b, So, Ld, 0x17) .coordInfo(0x1004, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Central Bonk Rock SW', 0x2b, So, Ld, 0x17) .coordInfo(0x1004),
create_owedge(player, 'Central Bonk Rock EN', 0x2b, Ea, Ld, 0x14) .coordInfo(0x0340, 0x0a5e, 0x0800, 0x0ac0, 0x0805, 0x0acb, 0x087d, 0x00, 0x00), create_owedge(player, 'Central Bonk Rock EN', 0x2b, Ea, Ld, 0x14) .coordInfo(0x0340),
create_owedge(player, 'Central Bonk Rock EC', 0x2b, Ea, Ld, 0x15) .coordInfo(0x05c0, 0x0aba, 0x0800, 0x0b18, 0x0805, 0x0b27, 0x087d, 0x06, 0x00), create_owedge(player, 'Central Bonk Rock EC', 0x2b, Ea, Ld, 0x15) .coordInfo(0x05c0),
create_owedge(player, 'Central Bonk Rock ES', 0x2b, Ea, Ld, 0x16) .coordInfo(0x08c0, 0x0b1e, 0x0800, 0x0b8c, 0x0805, 0x0b8b, 0x087d, 0x00, 0x00), create_owedge(player, 'Central Bonk Rock ES', 0x2b, Ea, Ld, 0x16) .coordInfo(0x08c0),
create_owedge(player, 'Links House NE', 0x2c, No, Ld, 0x13) .coordInfo(0x1814, 0x091e, 0x089e, 0x09e4, 0x0924, 0x098d, 0x092b, 0x00, 0x02), create_owedge(player, 'Links House NE', 0x2c, No, Ld, 0x13) .coordInfo(0x1814),
create_owedge(player, 'Links House SC', 0x2c, So, Ld, 0x18) .coordInfo(0x100e, 0x0c00, 0x0862, 0x00c03, 0x008e0, 0x00c6d, 0x08e7, 0x00, 0xfe), create_owedge(player, 'Links House SC', 0x2c, So, Ld, 0x18) .coordInfo(0x100e),
create_owedge(player, 'Links House WN', 0x2c, We, Ld, 0x14) .coordInfo(0x0360, 0x0a5e, 0x0700, 0x0ac0, 0x07e8, 0x0acb, 0x0785, 0x00, 0x00), create_owedge(player, 'Links House WN', 0x2c, We, Ld, 0x14) .coordInfo(0x0360),
create_owedge(player, 'Links House WC', 0x2c, We, Ld, 0x15) .coordInfo(0x05e0, 0x0aba, 0x0700, 0x0b18, 0x07e9, 0x0b27, 0x0785, 0x06, 0x00), create_owedge(player, 'Links House WC', 0x2c, We, Ld, 0x15) .coordInfo(0x05e0),
create_owedge(player, 'Links House WS', 0x2c, We, Ld, 0x16) .coordInfo(0x08a0, 0x0b1e, 0x0700, 0x0b8c, 0x07e9, 0x0b8b, 0x0785, 0x00, 0x00), create_owedge(player, 'Links House WS', 0x2c, We, Ld, 0x16) .coordInfo(0x08a0),
create_owedge(player, 'Links House ES', 0x2c, Ea, Ld, 0x17) .coordInfo(0x08c0, 0x0b1e, 0x0a00, 0x0b80, 0x0a05, 0x0b8b, 0x0a7d, 0x00, 0x00), create_owedge(player, 'Links House ES', 0x2c, Ea, Ld, 0x17) .coordInfo(0x08c0),
create_owedge(player, 'Stone Bridge NC', 0x2d, No, Ld, 0x14) .coordInfo(0x180e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Stone Bridge NC', 0x2d, No, Ld, 0x14) .coordInfo(0x180e),
create_owedge(player, 'Stone Bridge SC', 0x2d, So, Ld, 0x19) .coordInfo(0x100c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Stone Bridge SC', 0x2d, So, Ld, 0x19) .coordInfo(0x100c),
create_owedge(player, 'Stone Bridge WC', 0x2d, We, Wr, 0x17) .coordInfo(0x061c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Stone Bridge WC', 0x2d, We, Wr, 0x17) .coordInfo(0x061c),
create_owedge(player, 'Stone Bridge WS', 0x2d, We, Ld, 0x18) .coordInfo(0x08e0, 0x0b1e, 0x0900, 0x0b80, 0x09e9, 0x0b8b, 0x0985, 0x00, 0x00), create_owedge(player, 'Stone Bridge WS', 0x2d, We, Ld, 0x18) .coordInfo(0x08e0),
create_owedge(player, 'Stone Bridge EN', 0x2d, Ea, Ld, 0x18) .coordInfo(0x01c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Stone Bridge EN', 0x2d, Ea, Ld, 0x18) .coordInfo(0x01c0),
create_owedge(player, 'Stone Bridge EC', 0x2d, Ea, Wr, 0x19) .coordInfo(0x0640, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Stone Bridge EC', 0x2d, Ea, Wr, 0x19) .coordInfo(0x0640),
create_owedge(player, 'Tree Line NW', 0x2e, No, Ld, 0x15) .coordInfo(0x1802, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Tree Line NW', 0x2e, No, Ld, 0x15) .coordInfo(0x1802),
create_owedge(player, 'Tree Line SC', 0x2e, So, Wr, 0x1a) .coordInfo(0x101a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Tree Line SC', 0x2e, So, Wr, 0x1a) .coordInfo(0x101a),
create_owedge(player, 'Tree Line SE', 0x2e, So, Ld, 0x1b) .coordInfo(0x1020, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Tree Line SE', 0x2e, So, Ld, 0x1b) .coordInfo(0x1020),
create_owedge(player, 'Tree Line WN', 0x2e, We, Ld, 0x19) .coordInfo(0x01e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Tree Line WN', 0x2e, We, Ld, 0x19) .coordInfo(0x01e0),
create_owedge(player, 'Tree Line WC', 0x2e, We, Wr, 0x1a) .coordInfo(0x0660, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Tree Line WC', 0x2e, We, Wr, 0x1a) .coordInfo(0x0660),
create_owedge(player, 'Eastern Nook NE', 0x2f, No, Ld, 0x16) .coordInfo(0x1820, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Eastern Nook NE', 0x2f, No, Ld, 0x16) .coordInfo(0x1820),
create_owedge(player, 'Desert EC', 0x30, Ea, Ld, 0x1e, 0x39).coordInfo(0x1480, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Desert EC', 0x30, Ea, Ld, 0x1e, 0x39).coordInfo(0x1480),
create_owedge(player, 'Desert ES', 0x30, Ea, Ld, 0x1f, 0x39).coordInfo(0x1980, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Desert ES', 0x30, Ea, Ld, 0x1f, 0x39).coordInfo(0x1980),
create_owedge(player, 'Cave 45 NW', 0x32, No, Ld, 0x17) .coordInfo(0x1800, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Cave 45 NW', 0x32, No, Ld, 0x17) .coordInfo(0x1800),
create_owedge(player, 'Cave 45 NC', 0x32, No, Ld, 0x18) .coordInfo(0x180c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Cave 45 NC', 0x32, No, Ld, 0x18) .coordInfo(0x180c),
create_owedge(player, 'Cave 45 EC', 0x32, Ea, Ld, 0x1a) .coordInfo(0x05c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Cave 45 EC', 0x32, Ea, Ld, 0x1a) .coordInfo(0x05c0),
create_owedge(player, 'C Whirlpool NW', 0x33, No, Ld, 0x19) .coordInfo(0x1804, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'C Whirlpool NW', 0x33, No, Ld, 0x19) .coordInfo(0x1804),
create_owedge(player, 'C Whirlpool SC', 0x33, So, Ld, 0x1c) .coordInfo(0x1016, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'C Whirlpool SC', 0x33, So, Ld, 0x1c) .coordInfo(0x1016),
create_owedge(player, 'C Whirlpool WC', 0x33, We, Ld, 0x1b) .coordInfo(0x05e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'C Whirlpool WC', 0x33, We, Ld, 0x1b) .coordInfo(0x05e0),
create_owedge(player, 'C Whirlpool EN', 0x33, Ea, Ld, 0x1b) .coordInfo(0x02c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'C Whirlpool EN', 0x33, Ea, Ld, 0x1b) .coordInfo(0x02c0),
create_owedge(player, 'C Whirlpool EC', 0x33, Ea, Wr, 0x1c) .coordInfo(0x05c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'C Whirlpool EC', 0x33, Ea, Wr, 0x1c) .coordInfo(0x05c0),
create_owedge(player, 'C Whirlpool ES', 0x33, Ea, Ld, 0x1d) .coordInfo(0x08c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'C Whirlpool ES', 0x33, Ea, Ld, 0x1d) .coordInfo(0x08c0),
create_owedge(player, 'Statues NC', 0x34, No, Ld, 0x1a) .coordInfo(0x180e, 0x0b1e, 0x0862, 0x0be4, 0x08e0, 0x0b8d, 0x08e7, 0x00, 0xfe), create_owedge(player, 'Statues NC', 0x34, No, Ld, 0x1a) .coordInfo(0x180e),
create_owedge(player, 'Statues SC', 0x34, So, Ld, 0x1d) .coordInfo(0x1010, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Statues SC', 0x34, So, Ld, 0x1d) .coordInfo(0x1010),
create_owedge(player, 'Statues WN', 0x34, We, Ld, 0x1c) .coordInfo(0x02e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Statues WN', 0x34, We, Ld, 0x1c) .coordInfo(0x02e0),
create_owedge(player, 'Statues WC', 0x34, We, Wr, 0x1d) .coordInfo(0x05e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Statues WC', 0x34, We, Wr, 0x1d) .coordInfo(0x05e0),
create_owedge(player, 'Statues WS', 0x34, We, Ld, 0x1e) .coordInfo(0x08e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Statues WS', 0x34, We, Ld, 0x1e) .coordInfo(0x08e0),
create_owedge(player, 'Lake Hylia NW', 0x35, No, Ld, 0x1b) .coordInfo(0x180c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lake Hylia NW', 0x35, No, Ld, 0x1b) .coordInfo(0x180c),
create_owedge(player, 'Lake Hylia NC', 0x35, No, Wr, 0x1c, 0x36).coordInfo(0x185a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lake Hylia NC', 0x35, No, Wr, 0x1c, 0x36).coordInfo(0x185a),
create_owedge(player, 'Lake Hylia NE', 0x35, No, Ld, 0x1d, 0x36).coordInfo(0x1860, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lake Hylia NE', 0x35, No, Ld, 0x1d, 0x36).coordInfo(0x1860),
create_owedge(player, 'Lake Hylia WS', 0x35, We, Ld, 0x24, 0x3d).coordInfo(0x1860, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lake Hylia WS', 0x35, We, Ld, 0x24, 0x3d).coordInfo(0x1860),
create_owedge(player, 'Lake Hylia EC', 0x35, Ea, Wr, 0x24, 0x3e).coordInfo(0x1680, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lake Hylia EC', 0x35, Ea, Wr, 0x24, 0x3e).coordInfo(0x1680),
create_owedge(player, 'Lake Hylia ES', 0x35, Ea, Ld, 0x25, 0x3e).coordInfo(0x1880, 0x0f1e, 0x0e00, 0x0f94, 0x0e05, 0x0f8b, 0x0e85, 0x00, 0x00), create_owedge(player, 'Lake Hylia ES', 0x35, Ea, Ld, 0x25, 0x3e).coordInfo(0x1880),
create_owedge(player, 'Ice Rod Cave SW', 0x37, So, Wr, 0x1e) .coordInfo(0x1002, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Ice Rod Cave SW', 0x37, So, Wr, 0x1e) .coordInfo(0x1002),
create_owedge(player, 'Ice Rod Cave SE', 0x37, So, Ld, 0x1f) .coordInfo(0x101c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Ice Rod Cave SE', 0x37, So, Ld, 0x1f) .coordInfo(0x101c),
create_owedge(player, 'Purple Chest WC', 0x3a, We, Ld, 0x1f) .coordInfo(0x03e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Purple Chest WC', 0x3a, We, Ld, 0x1f) .coordInfo(0x03e0),
create_owedge(player, 'Purple Chest WS', 0x3a, We, Ld, 0x20) .coordInfo(0x0860, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Purple Chest WS', 0x3a, We, Ld, 0x20) .coordInfo(0x0860),
create_owedge(player, 'Purple Chest EC', 0x3a, Ea, Ld, 0x20) .coordInfo(0x0640, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Purple Chest EC', 0x3a, Ea, Ld, 0x20) .coordInfo(0x0640),
create_owedge(player, 'Purple Chest ES', 0x3a, Ea, Ld, 0x21) .coordInfo(0x08c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Purple Chest ES', 0x3a, Ea, Ld, 0x21) .coordInfo(0x08c0),
create_owedge(player, 'Dam NC', 0x3b, No, Ld, 0x1e) .coordInfo(0x1816, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dam NC', 0x3b, No, Ld, 0x1e) .coordInfo(0x1816),
create_owedge(player, 'Dam WC', 0x3b, We, Ld, 0x21) .coordInfo(0x0660, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dam WC', 0x3b, We, Ld, 0x21) .coordInfo(0x0660),
create_owedge(player, 'Dam WS', 0x3b, We, Ld, 0x22) .coordInfo(0x08e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dam WS', 0x3b, We, Ld, 0x22) .coordInfo(0x08e0),
create_owedge(player, 'Dam EC', 0x3b, Ea, Ld, 0x22) .coordInfo(0x04c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dam EC', 0x3b, Ea, Ld, 0x22) .coordInfo(0x04c0),
create_owedge(player, 'South Pass NC', 0x3c, No, Ld, 0x1f) .coordInfo(0x1810, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'South Pass NC', 0x3c, No, Ld, 0x1f) .coordInfo(0x1810),
create_owedge(player, 'South Pass WC', 0x3c, We, Ld, 0x23) .coordInfo(0x04e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'South Pass WC', 0x3c, We, Ld, 0x23) .coordInfo(0x04e0),
create_owedge(player, 'South Pass ES', 0x3c, Ea, Ld, 0x23) .coordInfo(0x08c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'South Pass ES', 0x3c, Ea, Ld, 0x23) .coordInfo(0x08c0),
create_owedge(player, 'Octoballoon NW', 0x3f, No, Wr, 0x20) .coordInfo(0x1802, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Octoballoon NW', 0x3f, No, Wr, 0x20) .coordInfo(0x1802),
create_owedge(player, 'Octoballoon NE', 0x3f, No, Ld, 0x21) .coordInfo(0x181c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Octoballoon NE', 0x3f, No, Ld, 0x21) .coordInfo(0x181c),
create_owedge(player, 'Octoballoon WC', 0x3f, We, Wr, 0x25) .coordInfo(0x05e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Octoballoon WC', 0x3f, We, Wr, 0x25) .coordInfo(0x05e0),
create_owedge(player, 'Octoballoon WS', 0x3f, We, Ld, 0x26) .coordInfo(0x0860, 0x0f1e, 0x0d00, 0x0f94, 0x0de9, 0x0f8b, 0x0d85, 0x00, 0x00), create_owedge(player, 'Octoballoon WS', 0x3f, We, Ld, 0x26) .coordInfo(0x0860),
create_owedge(player, 'Skull Woods SW', 0x40, So, Ld, 0x21, 0x48).coordInfo(0x2000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Skull Woods SW', 0x40, So, Ld, 0x21, 0x48).coordInfo(0x2000),
create_owedge(player, 'Skull Woods SC', 0x40, So, Ld, 0x22, 0x48).coordInfo(0x2020, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Skull Woods SC', 0x40, So, Ld, 0x22, 0x48).coordInfo(0x2020),
create_owedge(player, 'Skull Woods SE', 0x40, So, Ld, 0x23, 0x49).coordInfo(0x2060, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Skull Woods SE', 0x40, So, Ld, 0x23, 0x49).coordInfo(0x2060),
create_owedge(player, 'Skull Woods EN', 0x40, Ea, Ld, 0x26, 0x41).coordInfo(0x0180, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Skull Woods EN', 0x40, Ea, Ld, 0x26, 0x41).coordInfo(0x0180),
create_owedge(player, 'Dark Lumberjack SW', 0x42, So, Ld, 0x20) .coordInfo(0x100a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Lumberjack SW', 0x42, So, Ld, 0x20) .coordInfo(0x100a),
create_owedge(player, 'Dark Lumberjack WN', 0x42, We, Ld, 0x27) .coordInfo(0x00e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Lumberjack WN', 0x42, We, Ld, 0x27) .coordInfo(0x00e0),
create_owedge(player, 'West Dark Death Mountain EN', 0x43, Ea, Ld, 0x27, 0x44).coordInfo(0x0180, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'West Dark Death Mountain EN', 0x43, Ea, Ld, 0x27, 0x44).coordInfo(0x0180),
create_owedge(player, 'West Dark Death Mountain ES', 0x43, Ea, Ld, 0x29, 0x4c).coordInfo(0x1780, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'West Dark Death Mountain ES', 0x43, Ea, Ld, 0x29, 0x4c).coordInfo(0x1780),
create_owedge(player, 'East Dark Death Mountain WN', 0x45, We, Ld, 0x28) .coordInfo(0x0060, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'East Dark Death Mountain WN', 0x45, We, Ld, 0x28) .coordInfo(0x0060),
create_owedge(player, 'East Dark Death Mountain WS', 0x45, We, Ld, 0x2a, 0x4d).coordInfo(0x1660, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'East Dark Death Mountain WS', 0x45, We, Ld, 0x2a, 0x4d).coordInfo(0x1660),
create_owedge(player, 'East Dark Death Mountain EN', 0x45, Ea, Ld, 0x28, 0x46).coordInfo(0x0180, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'East Dark Death Mountain EN', 0x45, Ea, Ld, 0x28, 0x46).coordInfo(0x0180),
create_owedge(player, 'Turtle Rock WN', 0x47, We, Ld, 0x29) .coordInfo(0x00e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Turtle Rock WN', 0x47, We, Ld, 0x29) .coordInfo(0x00e0),
create_owedge(player, 'Bumper Cave NW', 0x4a, No, Ld, 0x22) .coordInfo(0x180a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Bumper Cave NW', 0x4a, No, Ld, 0x22) .coordInfo(0x180a),
create_owedge(player, 'Bumper Cave SE', 0x4a, So, Ld, 0x24) .coordInfo(0x1012, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Bumper Cave SE', 0x4a, So, Ld, 0x24) .coordInfo(0x1012),
create_owedge(player, 'Catfish SE', 0x4f, So, Ld, 0x25) .coordInfo(0x1020, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Catfish SE', 0x4f, So, Ld, 0x25) .coordInfo(0x1020),
create_owedge(player, 'Skull Woods Pass NW', 0x50, No, Ld, 0x23) .coordInfo(0x181e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Skull Woods Pass NW', 0x50, No, Ld, 0x23) .coordInfo(0x181e),
create_owedge(player, 'Skull Woods Pass NE', 0x50, No, Ld, 0x24) .coordInfo(0x1800, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Skull Woods Pass NE', 0x50, No, Ld, 0x24) .coordInfo(0x1800),
create_owedge(player, 'Skull Woods Pass SW', 0x50, So, Ld, 0x26) .coordInfo(0x1002, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Skull Woods Pass SW', 0x50, So, Ld, 0x26) .coordInfo(0x1002),
create_owedge(player, 'Skull Woods Pass SE', 0x50, So, Ld, 0x27) .coordInfo(0x101a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Skull Woods Pass SE', 0x50, So, Ld, 0x27) .coordInfo(0x101a),
create_owedge(player, 'Dark Fortune NE', 0x51, No, Ld, 0x25) .coordInfo(0x1820, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Fortune NE', 0x51, No, Ld, 0x25) .coordInfo(0x1820),
create_owedge(player, 'Dark Fortune SC', 0x51, So, Ld, 0x28) .coordInfo(0x1014, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Fortune SC', 0x51, So, Ld, 0x28) .coordInfo(0x1014),
create_owedge(player, 'Dark Fortune EN', 0x51, Ea, Ld, 0x2a) .coordInfo(0x00c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Fortune EN', 0x51, Ea, Ld, 0x2a) .coordInfo(0x00c0),
create_owedge(player, 'Dark Fortune ES', 0x51, Ea, Ld, 0x2b) .coordInfo(0x08c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Fortune ES', 0x51, Ea, Ld, 0x2b) .coordInfo(0x08c0),
create_owedge(player, 'Outcast Pond NE', 0x52, No, Ld, 0x26) .coordInfo(0x1812, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Outcast Pond NE', 0x52, No, Ld, 0x26) .coordInfo(0x1812),
create_owedge(player, 'Outcast Pond SW', 0x52, So, Ld, 0x29) .coordInfo(0x1006, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Outcast Pond SW', 0x52, So, Ld, 0x29) .coordInfo(0x1006),
create_owedge(player, 'Outcast Pond SE', 0x52, So, Ld, 0x2a) .coordInfo(0x1016, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Outcast Pond SE', 0x52, So, Ld, 0x2a) .coordInfo(0x1016),
create_owedge(player, 'Outcast Pond WN', 0x52, We, Ld, 0x2b) .coordInfo(0x00e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Outcast Pond WN', 0x52, We, Ld, 0x2b) .coordInfo(0x00e0),
create_owedge(player, 'Outcast Pond WS', 0x52, We, Ld, 0x2c) .coordInfo(0x08e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Outcast Pond WS', 0x52, We, Ld, 0x2c) .coordInfo(0x08e0),
create_owedge(player, 'Outcast Pond EN', 0x52, Ea, Ld, 0x2c) .coordInfo(0x0340, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Outcast Pond EN', 0x52, Ea, Ld, 0x2c) .coordInfo(0x0340),
create_owedge(player, 'Outcast Pond ES', 0x52, Ea, Ld, 0x2d) .coordInfo(0x08c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Outcast Pond ES', 0x52, Ea, Ld, 0x2d) .coordInfo(0x08c0),
create_owedge(player, 'Dark Chapel WN', 0x53, We, Ld, 0x2d) .coordInfo(0x0360, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Chapel WN', 0x53, We, Ld, 0x2d) .coordInfo(0x0360),
create_owedge(player, 'Dark Chapel WS', 0x53, We, Ld, 0x2e) .coordInfo(0x08e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Chapel WS', 0x53, We, Ld, 0x2e) .coordInfo(0x08e0),
create_owedge(player, 'Dark Chapel EC', 0x53, Ea, Ld, 0x2e) .coordInfo(0x04c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Chapel EC', 0x53, Ea, Ld, 0x2e) .coordInfo(0x04c0),
create_owedge(player, 'Dark Graveyard WC', 0x54, We, Ld, 0x2f) .coordInfo(0x04e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Graveyard WC', 0x54, We, Ld, 0x2f) .coordInfo(0x04e0),
create_owedge(player, 'Dark Graveyard ES', 0x54, Ea, Ld, 0x2f) .coordInfo(0x04c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Graveyard ES', 0x54, Ea, Ld, 0x2f) .coordInfo(0x04c0),
create_owedge(player, 'Qirn Jump SW', 0x55, So, Ld, 0x2b) .coordInfo(0x1004, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Qirn Jump SW', 0x55, So, Ld, 0x2b) .coordInfo(0x1004),
create_owedge(player, 'Qirn Jump SC', 0x55, So, Wr, 0x2c) .coordInfo(0x1018, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Qirn Jump SC', 0x55, So, Wr, 0x2c) .coordInfo(0x1018),
create_owedge(player, 'Qirn Jump SE', 0x55, So, Ld, 0x2d) .coordInfo(0x1020, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Qirn Jump SE', 0x55, So, Ld, 0x2d) .coordInfo(0x1020),
create_owedge(player, 'Qirn Jump WC', 0x55, We, Ld, 0x30) .coordInfo(0x04e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Qirn Jump WC', 0x55, We, Ld, 0x30) .coordInfo(0x04e0),
create_owedge(player, 'Qirn Jump EN', 0x55, Ea, Wr, 0x30) .coordInfo(0x01c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Qirn Jump EN', 0x55, Ea, Wr, 0x30) .coordInfo(0x01c0),
create_owedge(player, 'Qirn Jump EC', 0x55, Ea, Ld, 0x31) .coordInfo(0x04c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Qirn Jump EC', 0x55, Ea, Ld, 0x31) .coordInfo(0x04c0),
create_owedge(player, 'Qirn Jump ES', 0x55, Ea, Ld, 0x32) .coordInfo(0x08c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Qirn Jump ES', 0x55, Ea, Ld, 0x32) .coordInfo(0x08c0),
create_owedge(player, 'Dark Witch WN', 0x56, We, Wr, 0x31) .coordInfo(0x01e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Witch WN', 0x56, We, Wr, 0x31) .coordInfo(0x01e0),
create_owedge(player, 'Dark Witch WC', 0x56, We, Ld, 0x32) .coordInfo(0x04e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Witch WC', 0x56, We, Ld, 0x32) .coordInfo(0x04e0),
create_owedge(player, 'Dark Witch WS', 0x56, We, Ld, 0x33) .coordInfo(0x08e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Witch WS', 0x56, We, Ld, 0x33) .coordInfo(0x08e0),
create_owedge(player, 'Dark Witch EN', 0x56, Ea, Wr, 0x33) .coordInfo(0x00c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Witch EN', 0x56, Ea, Wr, 0x33) .coordInfo(0x00c0),
create_owedge(player, 'Dark Witch EC', 0x56, Ea, Ld, 0x34) .coordInfo(0x01c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Witch EC', 0x56, Ea, Ld, 0x34) .coordInfo(0x01c0),
create_owedge(player, 'Catfish Approach NE', 0x57, No, Ld, 0x27) .coordInfo(0x1820, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Catfish Approach NE', 0x57, No, Ld, 0x27) .coordInfo(0x1820),
create_owedge(player, 'Catfish Approach WN', 0x57, We, Wr, 0x34) .coordInfo(0x00e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Catfish Approach WN', 0x57, We, Wr, 0x34) .coordInfo(0x00e0),
create_owedge(player, 'Catfish Approach WC', 0x57, We, Ld, 0x35) .coordInfo(0x01e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Catfish Approach WC', 0x57, We, Ld, 0x35) .coordInfo(0x01e0),
create_owedge(player, 'Village of Outcasts NW', 0x58, No, Ld, 0x28) .coordInfo(0x1802, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Village of Outcasts NW', 0x58, No, Ld, 0x28) .coordInfo(0x1802),
create_owedge(player, 'Village of Outcasts NC', 0x58, No, Ld, 0x29) .coordInfo(0x181a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Village of Outcasts NC', 0x58, No, Ld, 0x29) .coordInfo(0x181a),
create_owedge(player, 'Village of Outcasts NE', 0x58, No, Ld, 0x2a, 0x59).coordInfo(0x1854, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Village of Outcasts NE', 0x58, No, Ld, 0x2a, 0x59).coordInfo(0x1854),
create_owedge(player, 'Village of Outcasts SE', 0x58, So, Ld, 0x2f, 0x61).coordInfo(0x2060, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Village of Outcasts SE', 0x58, So, Ld, 0x2f, 0x61).coordInfo(0x2060),
create_owedge(player, 'Village of Outcasts ES', 0x58, Ea, Ld, 0x35, 0x61).coordInfo(0x1680, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Village of Outcasts ES', 0x58, Ea, Ld, 0x35, 0x61).coordInfo(0x1680),
create_owedge(player, 'Shield Shop NW', 0x5a, No, Ld, 0x2b) .coordInfo(0x1806, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Shield Shop NW', 0x5a, No, Ld, 0x2b) .coordInfo(0x1806),
create_owedge(player, 'Shield Shop NE', 0x5a, No, Ld, 0x2c) .coordInfo(0x1816, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Shield Shop NE', 0x5a, No, Ld, 0x2c) .coordInfo(0x1816),
create_owedge(player, 'Pyramid SW', 0x5b, So, Ld, 0x30, 0x63).coordInfo(0x2002, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Pyramid SW', 0x5b, So, Ld, 0x30, 0x63).coordInfo(0x2002),
create_owedge(player, 'Pyramid SE', 0x5b, So, Ld, 0x31, 0x64).coordInfo(0x2054, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Pyramid SE', 0x5b, So, Ld, 0x31, 0x64).coordInfo(0x2054),
create_owedge(player, 'Pyramid ES', 0x5b, Ea, Ld, 0x36, 0x64).coordInfo(0x1280, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Pyramid ES', 0x5b, Ea, Ld, 0x36, 0x64).coordInfo(0x1280),
create_owedge(player, 'Broken Bridge NW', 0x5d, No, Ld, 0x2d) .coordInfo(0x1804, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Broken Bridge NW', 0x5d, No, Ld, 0x2d) .coordInfo(0x1804),
create_owedge(player, 'Broken Bridge NC', 0x5d, No, Wr, 0x2e) .coordInfo(0x1818, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Broken Bridge NC', 0x5d, No, Wr, 0x2e) .coordInfo(0x1818),
create_owedge(player, 'Broken Bridge NE', 0x5d, No, Ld, 0x2f) .coordInfo(0x1820, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Broken Bridge NE', 0x5d, No, Ld, 0x2f) .coordInfo(0x1820),
create_owedge(player, 'Broken Bridge SW', 0x5d, So, Ld, 0x2e) .coordInfo(0x1006, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Broken Bridge SW', 0x5d, So, Ld, 0x2e) .coordInfo(0x1006),
create_owedge(player, 'Palace of Darkness SW', 0x5e, So, Ld, 0x33, 0x66).coordInfo(0x2002, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Palace of Darkness SW', 0x5e, So, Ld, 0x33, 0x66).coordInfo(0x2002),
create_owedge(player, 'Palace of Darkness SE', 0x5e, So, Ld, 0x34, 0x67).coordInfo(0x2060, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Palace of Darkness SE', 0x5e, So, Ld, 0x34, 0x67).coordInfo(0x2060),
create_owedge(player, 'Hammer Pegs WS', 0x62, We, Ld, 0x36) .coordInfo(0x05e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hammer Pegs WS', 0x62, We, Ld, 0x36) .coordInfo(0x05e0),
create_owedge(player, 'Dark Dune NW', 0x65, No, Ld, 0x30) .coordInfo(0x1806, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Dune NW', 0x65, No, Ld, 0x30) .coordInfo(0x1806),
create_owedge(player, 'Dark Dune SC', 0x65, So, Ld, 0x32) .coordInfo(0x100e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Dune SC', 0x65, So, Ld, 0x32) .coordInfo(0x100e),
create_owedge(player, 'Dark Dune WN', 0x65, We, Ld, 0x37) .coordInfo(0x01e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Dune WN', 0x65, We, Ld, 0x37) .coordInfo(0x01e0),
create_owedge(player, 'Dig Game EC', 0x68, Ea, Ld, 0x37) .coordInfo(0x08c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dig Game EC', 0x68, Ea, Ld, 0x37) .coordInfo(0x08c0),
create_owedge(player, 'Dig Game ES', 0x68, Ea, Ld, 0x38) .coordInfo(0x0940, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dig Game ES', 0x68, Ea, Ld, 0x38) .coordInfo(0x0940),
create_owedge(player, 'Frog NE', 0x69, No, Ld, 0x31) .coordInfo(0x1820, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Frog NE', 0x69, No, Ld, 0x31) .coordInfo(0x1820),
create_owedge(player, 'Frog WC', 0x69, We, Ld, 0x38) .coordInfo(0x08e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Frog WC', 0x69, We, Ld, 0x38) .coordInfo(0x08e0),
create_owedge(player, 'Frog WS', 0x69, We, Ld, 0x39) .coordInfo(0x0960, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Frog WS', 0x69, We, Ld, 0x39) .coordInfo(0x0960),
create_owedge(player, 'Frog ES', 0x69, Ea, Ld, 0x39) .coordInfo(0x0940, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Frog ES', 0x69, Ea, Ld, 0x39) .coordInfo(0x0940),
create_owedge(player, 'Stumpy SW', 0x6a, So, Ld, 0x35) .coordInfo(0x1000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Stumpy SW', 0x6a, So, Ld, 0x35) .coordInfo(0x1000),
create_owedge(player, 'Stumpy SC', 0x6a, So, Ld, 0x36) .coordInfo(0x100c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Stumpy SC', 0x6a, So, Ld, 0x36) .coordInfo(0x100c),
create_owedge(player, 'Stumpy WS', 0x6a, We, Ld, 0x3a) .coordInfo(0x0960, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Stumpy WS', 0x6a, We, Ld, 0x3a) .coordInfo(0x0960),
create_owedge(player, 'Dark Bonk Rock NW', 0x6b, No, Ld, 0x32) .coordInfo(0x1802, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Bonk Rock NW', 0x6b, No, Ld, 0x32) .coordInfo(0x1802),
create_owedge(player, 'Dark Bonk Rock SW', 0x6b, So, Ld, 0x37) .coordInfo(0x1004, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Bonk Rock SW', 0x6b, So, Ld, 0x37) .coordInfo(0x1004),
create_owedge(player, 'Dark Bonk Rock EN', 0x6b, Ea, Ld, 0x3a) .coordInfo(0x0340, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Bonk Rock EN', 0x6b, Ea, Ld, 0x3a) .coordInfo(0x0340),
create_owedge(player, 'Dark Bonk Rock EC', 0x6b, Ea, Ld, 0x3b) .coordInfo(0x05c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Bonk Rock EC', 0x6b, Ea, Ld, 0x3b) .coordInfo(0x05c0),
create_owedge(player, 'Dark Bonk Rock ES', 0x6b, Ea, Ld, 0x3c) .coordInfo(0x08c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Bonk Rock ES', 0x6b, Ea, Ld, 0x3c) .coordInfo(0x08c0),
create_owedge(player, 'Big Bomb Shop NE', 0x6c, No, Ld, 0x33) .coordInfo(0x1814, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Big Bomb Shop NE', 0x6c, No, Ld, 0x33) .coordInfo(0x1814),
create_owedge(player, 'Big Bomb Shop SC', 0x6c, So, Ld, 0x38) .coordInfo(0x100e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Big Bomb Shop SC', 0x6c, So, Ld, 0x38) .coordInfo(0x100e),
create_owedge(player, 'Big Bomb Shop WN', 0x6c, We, Ld, 0x3b) .coordInfo(0x0360, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Big Bomb Shop WN', 0x6c, We, Ld, 0x3b) .coordInfo(0x0360),
create_owedge(player, 'Big Bomb Shop WC', 0x6c, We, Ld, 0x3c) .coordInfo(0x05e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Big Bomb Shop WC', 0x6c, We, Ld, 0x3c) .coordInfo(0x05e0),
create_owedge(player, 'Big Bomb Shop WS', 0x6c, We, Ld, 0x3d) .coordInfo(0x08a0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Big Bomb Shop WS', 0x6c, We, Ld, 0x3d) .coordInfo(0x08a0),
create_owedge(player, 'Big Bomb Shop ES', 0x6c, Ea, Ld, 0x3d) .coordInfo(0x08c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Big Bomb Shop ES', 0x6c, Ea, Ld, 0x3d) .coordInfo(0x08c0),
create_owedge(player, 'Hammer Bridge NC', 0x6d, No, Ld, 0x34) .coordInfo(0x180e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hammer Bridge NC', 0x6d, No, Ld, 0x34) .coordInfo(0x180e),
create_owedge(player, 'Hammer Bridge SC', 0x6d, So, Ld, 0x39) .coordInfo(0x100c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hammer Bridge SC', 0x6d, So, Ld, 0x39) .coordInfo(0x100c),
create_owedge(player, 'Hammer Bridge WS', 0x6d, We, Ld, 0x3e) .coordInfo(0x08e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hammer Bridge WS', 0x6d, We, Ld, 0x3e) .coordInfo(0x08e0),
create_owedge(player, 'Hammer Bridge EN', 0x6d, Ea, Ld, 0x3e) .coordInfo(0x01c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hammer Bridge EN', 0x6d, Ea, Ld, 0x3e) .coordInfo(0x01c0),
create_owedge(player, 'Hammer Bridge EC', 0x6d, Ea, Wr, 0x3f) .coordInfo(0x0640, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hammer Bridge EC', 0x6d, Ea, Wr, 0x3f) .coordInfo(0x0640),
create_owedge(player, 'Dark Tree Line NW', 0x6e, No, Ld, 0x35) .coordInfo(0x1802, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Tree Line NW', 0x6e, No, Ld, 0x35) .coordInfo(0x1802),
create_owedge(player, 'Dark Tree Line SC', 0x6e, So, Wr, 0x3a) .coordInfo(0x101a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Tree Line SC', 0x6e, So, Wr, 0x3a) .coordInfo(0x101a),
create_owedge(player, 'Dark Tree Line SE', 0x6e, So, Ld, 0x3b) .coordInfo(0x1020, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Tree Line SE', 0x6e, So, Ld, 0x3b) .coordInfo(0x1020),
create_owedge(player, 'Dark Tree Line WN', 0x6e, We, Ld, 0x3f) .coordInfo(0x01e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Tree Line WN', 0x6e, We, Ld, 0x3f) .coordInfo(0x01e0),
create_owedge(player, 'Dark Tree Line WC', 0x6e, We, Wr, 0x40) .coordInfo(0x0660, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Tree Line WC', 0x6e, We, Wr, 0x40) .coordInfo(0x0660),
create_owedge(player, 'Palace of Darkness Nook NE', 0x6f, No, Ld, 0x36) .coordInfo(0x1820, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Palace of Darkness Nook NE', 0x6f, No, Ld, 0x36) .coordInfo(0x1820),
create_owedge(player, 'Circle of Bushes NW', 0x72, No, Ld, 0x37) .coordInfo(0x1800, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Circle of Bushes NW', 0x72, No, Ld, 0x37) .coordInfo(0x1800),
create_owedge(player, 'Circle of Bushes NC', 0x72, No, Ld, 0x38) .coordInfo(0x180c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Circle of Bushes NC', 0x72, No, Ld, 0x38) .coordInfo(0x180c),
create_owedge(player, 'Circle of Bushes EC', 0x72, Ea, Ld, 0x40) .coordInfo(0x05c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Circle of Bushes EC', 0x72, Ea, Ld, 0x40) .coordInfo(0x05c0),
create_owedge(player, 'Dark C Whirlpool NW', 0x73, No, Ld, 0x39) .coordInfo(0x1804, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark C Whirlpool NW', 0x73, No, Ld, 0x39) .coordInfo(0x1804),
create_owedge(player, 'Dark C Whirlpool SC', 0x73, So, Ld, 0x3c) .coordInfo(0x1016, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark C Whirlpool SC', 0x73, So, Ld, 0x3c) .coordInfo(0x1016),
create_owedge(player, 'Dark C Whirlpool WC', 0x73, We, Ld, 0x41) .coordInfo(0x05e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark C Whirlpool WC', 0x73, We, Ld, 0x41) .coordInfo(0x05e0),
create_owedge(player, 'Dark C Whirlpool EN', 0x73, Ea, Ld, 0x41) .coordInfo(0x02c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark C Whirlpool EN', 0x73, Ea, Ld, 0x41) .coordInfo(0x02c0),
create_owedge(player, 'Dark C Whirlpool EC', 0x73, Ea, Wr, 0x42) .coordInfo(0x05c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark C Whirlpool EC', 0x73, Ea, Wr, 0x42) .coordInfo(0x05c0),
create_owedge(player, 'Dark C Whirlpool ES', 0x73, Ea, Ld, 0x43) .coordInfo(0x08c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark C Whirlpool ES', 0x73, Ea, Ld, 0x43) .coordInfo(0x08c0),
create_owedge(player, 'Hype Cave NC', 0x74, No, Ld, 0x3a) .coordInfo(0x180e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hype Cave NC', 0x74, No, Ld, 0x3a) .coordInfo(0x180e),
create_owedge(player, 'Hype Cave SC', 0x74, So, Ld, 0x3d) .coordInfo(0x1010, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hype Cave SC', 0x74, So, Ld, 0x3d) .coordInfo(0x1010),
create_owedge(player, 'Hype Cave WN', 0x74, We, Ld, 0x42) .coordInfo(0x02e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hype Cave WN', 0x74, We, Ld, 0x42) .coordInfo(0x02e0),
create_owedge(player, 'Hype Cave WC', 0x74, We, Wr, 0x43) .coordInfo(0x05e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hype Cave WC', 0x74, We, Wr, 0x43) .coordInfo(0x05e0),
create_owedge(player, 'Hype Cave WS', 0x74, We, Ld, 0x44) .coordInfo(0x08e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hype Cave WS', 0x74, We, Ld, 0x44) .coordInfo(0x08e0),
create_owedge(player, 'Dark Lake Hylia NW', 0x75, No, Ld, 0x3b) .coordInfo(0x180c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Lake Hylia NW', 0x75, No, Ld, 0x3b) .coordInfo(0x180c),
create_owedge(player, 'Dark Lake Hylia NC', 0x75, No, Wr, 0x3c, 0x76).coordInfo(0x185a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Lake Hylia NC', 0x75, No, Wr, 0x3c, 0x76).coordInfo(0x185a),
create_owedge(player, 'Dark Lake Hylia NE', 0x75, No, Ld, 0x3d, 0x76).coordInfo(0x1860, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Lake Hylia NE', 0x75, No, Ld, 0x3d, 0x76).coordInfo(0x1860),
create_owedge(player, 'Dark Lake Hylia WS', 0x75, We, Ld, 0x48, 0x7d).coordInfo(0x1860, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Lake Hylia WS', 0x75, We, Ld, 0x48, 0x7d).coordInfo(0x1860),
create_owedge(player, 'Dark Lake Hylia EC', 0x75, Ea, Wr, 0x48, 0x7e).coordInfo(0x1680, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Lake Hylia EC', 0x75, Ea, Wr, 0x48, 0x7e).coordInfo(0x1680),
create_owedge(player, 'Dark Lake Hylia ES', 0x75, Ea, Ld, 0x49, 0x7e).coordInfo(0x1880, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Lake Hylia ES', 0x75, Ea, Ld, 0x49, 0x7e).coordInfo(0x1880),
create_owedge(player, 'Dark Shopping Mall SW', 0x77, So, Wr, 0x3e) .coordInfo(0x1002, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Shopping Mall SW', 0x77, So, Wr, 0x3e) .coordInfo(0x1002),
create_owedge(player, 'Dark Shopping Mall SE', 0x77, So, Ld, 0x3f) .coordInfo(0x101c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Shopping Mall SE', 0x77, So, Ld, 0x3f) .coordInfo(0x101c),
create_owedge(player, 'Dark Purple Chest EC', 0x7a, Ea, Ld, 0x44) .coordInfo(0x0640, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Purple Chest EC', 0x7a, Ea, Ld, 0x44) .coordInfo(0x0640),
create_owedge(player, 'Dark Purple Chest ES', 0x7a, Ea, Ld, 0x45) .coordInfo(0x08c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Purple Chest ES', 0x7a, Ea, Ld, 0x45) .coordInfo(0x08c0),
create_owedge(player, 'Swamp Palace NC', 0x7b, No, Ld, 0x3e) .coordInfo(0x1816, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Swamp Palace NC', 0x7b, No, Ld, 0x3e) .coordInfo(0x1816),
create_owedge(player, 'Swamp Palace WC', 0x7b, We, Ld, 0x45) .coordInfo(0x0660, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Swamp Palace WC', 0x7b, We, Ld, 0x45) .coordInfo(0x0660),
create_owedge(player, 'Swamp Palace WS', 0x7b, We, Ld, 0x46) .coordInfo(0x08e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Swamp Palace WS', 0x7b, We, Ld, 0x46) .coordInfo(0x08e0),
create_owedge(player, 'Swamp Palace EC', 0x7b, Ea, Ld, 0x46) .coordInfo(0x04c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Swamp Palace EC', 0x7b, Ea, Ld, 0x46) .coordInfo(0x04c0),
create_owedge(player, 'Dark South Pass NC', 0x7c, No, Ld, 0x3f) .coordInfo(0x1810, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark South Pass NC', 0x7c, No, Ld, 0x3f) .coordInfo(0x1810),
create_owedge(player, 'Dark South Pass WC', 0x7c, We, Ld, 0x47) .coordInfo(0x04e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark South Pass WC', 0x7c, We, Ld, 0x47) .coordInfo(0x04e0),
create_owedge(player, 'Dark South Pass ES', 0x7c, Ea, Ld, 0x47) .coordInfo(0x08c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark South Pass ES', 0x7c, Ea, Ld, 0x47) .coordInfo(0x08c0),
create_owedge(player, 'Southeast DW NW', 0x7f, No, Wr, 0x40) .coordInfo(0x1802, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Southeast DW NW', 0x7f, No, Wr, 0x40) .coordInfo(0x1802),
create_owedge(player, 'Southeast DW NE', 0x7f, No, Ld, 0x41) .coordInfo(0x181c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Southeast DW NE', 0x7f, No, Ld, 0x41) .coordInfo(0x181c),
create_owedge(player, 'Southeast DW WC', 0x7f, We, Wr, 0x49) .coordInfo(0x05e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Southeast DW WC', 0x7f, We, Wr, 0x49) .coordInfo(0x05e0),
create_owedge(player, 'Southeast DW WS', 0x7f, We, Ld, 0x4a) .coordInfo(0x0860, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Southeast DW WS', 0x7f, We, Ld, 0x4a) .coordInfo(0x0860),
create_owedge(player, 'Master Sword Meadow SC', 0x80, So, Ld, 0x40) .coordInfo(0x0000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Master Sword Meadow SC', 0x80, So, Ld, 0x40) .coordInfo(0x0000),
create_owedge(player, 'Hobo EC', 0x80, Ea, Wr, 0x4a) .coordInfo(0x0020, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hobo EC', 0x80, Ea, Wr, 0x4a) .coordInfo(0x0020),
create_owedge(player, 'Zoras Domain SW', 0x81, So, Ld, 0x41, 0x89).coordInfo(0x1782, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff) create_owedge(player, 'Zoras Domain SW', 0x81, So, Ld, 0x41, 0x89).coordInfo(0x1782)
] ]
world.owedges += edges world.owedges += edges

View File

@@ -2,7 +2,7 @@ import random
from BaseClasses import OWEdge, WorldType, Direction, Terrain from BaseClasses import OWEdge, WorldType, Direction, Terrain
from OWEdges import OWEdgeGroups from OWEdges import OWEdgeGroups
__version__ = '0.1.1.1-u' __version__ = '0.1.1.2-u'
def link_overworld(world, player): def link_overworld(world, player):
# setup mandatory connections # setup mandatory connections

View File

@@ -44,38 +44,44 @@ All items in the general item pool may appear in shops. This includes normal pro
#### Pricing Guide #### Pricing Guide
All prices range approx. from half the base price to the base price in increments of 5, the exact price is chosen randomly within the range. #### Sphere effects
Design goal: Shops in early spheres may be discounted below the base price while shops in later spheres will likely exceed the base price range. This is an attempt to balance out the rupees in the item pool vs. the prices the shops charges. Poorer item pools like Triforce Hunt may have early shop prices be adjusted downward while rupee rich item pools will have prices increased, but later in the game.
Detailed explanation: It is calculated how much money is available in the item pool and various rupee sources. If this amount exceeds the total amount of money needed for shop prices for items, then shops that are not in sphere 1 will raise their prices by a calculated amount to help balance out the money. Conversely, if the amount is below the money needed, then shops in sphere 1 will be discounted by a calculated amount to help ensure everything is purchase-able with minimal grinding.
#### Base prices
All prices range approx. from half the base price to twice the base price (as a max) in increments of 5, the exact price is chosen randomly within the range subject to adjustments by the sphere effects above.
| Category | Items | Base Price | Typical Range | | Category | Items | Base Price | Typical Range |
| ----------------- | ------- |:----------:|:-------------:| | ----------------- | ------- |:----------:|:-------------:|
| Major Progression | Hammer, Hookshot, Mirror, Ocarina, Boots, Somaria, Fire Rod, Ice Rod | 250 | 125-250 | Major Progression | Hammer, Hookshot, Mirror, Ocarina, Boots, Somaria, Fire Rod, Ice Rod | 250 | 125-500
| | Moon Pearl | 200 | 100-200 | | Moon Pearl | 200 | 100-400
| | Lamp, Progressive Bows, Gloves, & Swords | 150 | 75-150 | | Lamp, Progressive Bows, Gloves, & Swords | 150 | 75-300
| | Triforce Piece | 100 | 50-100 | | Triforce Piece | 100 | 50-200
| Medallions | Bombos, Ether, Quake | 100 | 50-100 | Medallions | Bombos, Ether, Quake | 100 | 50-200
| Safety/Fetch | Cape, Mushroom, Shovel, Powder, Bug Net, Byrna, Progressive Armor & Shields, Half Magic | 50 | 25-50 | Safety/Fetch | Cape, Mushroom, Shovel, Powder, Bug Net, Byrna, Progressive Armor & Shields, Half Magic | 50 | 25-100
| Bottles | Empty Bottle or Bee Bottle | 50 | 25-50 | Bottles | Empty Bottle or Bee Bottle | 50 | 25-100
| | Green Goo or Good Bee | 60 | 30-60 | | Green Goo or Good Bee | 60 | 30-120
| | Red Goo or Fairy | 70 | 35-70 | | Red Goo or Fairy | 70 | 35-140
| | Blue Goo | 80 | 40-80 | | Blue Goo | 80 | 40-160
| Health | Heart Container | 40 | 20-40 | Health | Heart Container | 40 | 20-80
| | Sanctuary Heart | 50 | 25-50 | | Sanctuary Heart | 50 | 25-100
| | Piece of Heart | 10 | 5-10 | | Piece of Heart | 10 | 5-20
| Dungeon | Big Keys | 60 | 30-60 | Dungeon | Big Keys | 60 | 30-120
| | Small Keys | 40 | 20-40 | | Small Keys | 40 | 20-80
| | Info Maps | 20 | 10-20 | | Info Maps | 20 | 10-40
| | Other Maps & Compasses | 10 | 5-10 | | Other Maps & Compasses | 10 | 5-20
| Rupees | Green | Free | Free | Rupees | Green | Free | Free
| | Blue | 2 | 2 | | Blue | 2 | 2-4
| | Red | 10 | 5-10 | | Red | 10 | 5-20
| | Fifty | 25 | 15-25 | | Fifty | 25 | 15-50
| | One Hundred | 50 | 25-50 | | One Hundred | 50 | 25-100
| | Three Hundred | 150 | 75-150 | | Three Hundred | 150 | 75-300
| Ammo | Three Bombs | 15 | 10-15 | Ammo | Three Bombs | 15 | 10-30
| | Single Arrow | 3 | 3 | | Single Arrow | 3 | 3-6
| Original Shop Items | Other Ammo, Refills, Non-Progressive Shields, Capacity Upgrades, Small Hearts, Retro Quiver, Universal Key | Original | Could be Discounted as Above | Original Shop Items | Other Ammo, Refills, Non-Progressive Shields, Capacity Upgrades, Small Hearts, Retro Quiver, Universal Key | Original | .5 - 2 * Original
~~In addition, 4-7 items are steeply discounted at random.~~ Sales are over.
#### Rupee Balancing Algorithm #### Rupee Balancing Algorithm
@@ -144,6 +150,12 @@ New item counter modified to show total
# Bug Fixes and Notes. # Bug Fixes and Notes.
* 0.3.1.9-u
* Generation improvements for standard
* Removed link sprite from repo
* 0.3.1.8-u
* Fix for retro generation
* Shopsanity - rebalance pricing - later prices can be are higher
* 0.3.1.7-u * 0.3.1.7-u
* TFH counter off in modes where it should be off * TFH counter off in modes where it should be off
* Fixed Big Bomb logic for inverted (bad merge) * Fixed Big Bomb logic for inverted (bad merge)

20
Rom.py
View File

@@ -16,7 +16,7 @@ from BaseClasses import CollectionState, ShopType, Region, Location, OWEdge, Doo
from DoorShuffle import compass_data, DROptions, boss_indicator from DoorShuffle import compass_data, DROptions, boss_indicator
from Dungeons import dungeon_music_addresses from Dungeons import dungeon_music_addresses
from KeyDoorShuffle import count_locations_exclude_logic from KeyDoorShuffle import count_locations_exclude_logic
from Regions import location_table, shop_to_location_table from Regions import location_table, shop_to_location_table, retro_shops
from RoomData import DoorKind from RoomData import DoorKind
from Text import MultiByteTextMapper, CompressedTextMapper, text_addresses, Credits, TextTable from Text import MultiByteTextMapper, CompressedTextMapper, text_addresses, Credits, TextTable
from Text import Uncle_texts, Ganon1_texts, TavernMan_texts, Sahasrahla2_texts, Triforce_texts, Blind_texts, BombShop2_texts, junk_texts from Text import Uncle_texts, Ganon1_texts, TavernMan_texts, Sahasrahla2_texts, Triforce_texts, Blind_texts, BombShop2_texts, junk_texts
@@ -27,7 +27,7 @@ from EntranceShuffle import door_addresses, exit_ids
JAP10HASH = '03a63945398191337e896e5771f77173' JAP10HASH = '03a63945398191337e896e5771f77173'
RANDOMIZERBASEHASH = '66ad331187e1874d56331f6cbe5b0d90' RANDOMIZERBASEHASH = '5ea3196d8db3ca0c757035f7fd51cf9b'
class JsonRom(object): class JsonRom(object):
@@ -600,13 +600,8 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False):
for edge in world.owedges: for edge in world.owedges:
if edge.dest is not None and isinstance(edge.dest, OWEdge) and edge.player == player: if edge.dest is not None and isinstance(edge.dest, OWEdge) and edge.player == player:
write_int16(rom, edge.getAddress() + 0x0a, edge.scrollPos) write_int16(rom, edge.getAddress() + 0x0a, edge.vramLoc)
write_int16(rom, edge.getAddress() + 0x0c, edge.camPos) write_int16(rom, edge.getAddress() + 0x0e, edge.getTarget())
write_int16(rom, edge.getAddress() + 0x0e, edge.linkOpp)
write_int16(rom, edge.getAddress() + 0x10, edge.scrollOpp)
write_int16(rom, edge.getAddress() + 0x12, edge.camOpp)
write_int16(rom, edge.getAddress() + 0x14, edge.vramLoc)
rom.write_bytes(edge.getAddress() + 0x16, [edge.unknownY, edge.unknownX, edge.getTarget()])
# patch entrance/exits/holes # patch entrance/exits/holes
for region in world.regions: for region in world.regions:
@@ -1588,8 +1583,11 @@ def write_custom_shops(rom, world, player):
break break
if world.shopsanity[player] or shop.type == ShopType.TakeAny: if world.shopsanity[player] or shop.type == ShopType.TakeAny:
rom.write_byte(0x186560 + shop.sram_address + index, 1) rom.write_byte(0x186560 + shop.sram_address + index, 1)
loc_item = world.get_location(shop_to_location_table[shop.region.name][index], player).item if world.shopsanity[player] and shop.region.name in shop_to_location_table:
if not loc_item: loc_item = world.get_location(shop_to_location_table[shop.region.name][index], player).item
elif world.shopsanity[player] and shop.region.name in retro_shops:
loc_item = world.get_location(retro_shops[shop.region.name][index], player).item
else:
loc_item = ItemFactory(item['item'], player) loc_item = ItemFactory(item['item'], player)
item_id = loc_item.code item_id = loc_item.code
price = int16_as_bytes(item['price']) price = int16_as_bytes(item['price'])

View File

@@ -496,6 +496,7 @@ def default_rules(world, player):
set_rule(world.get_entrance('Skull Woods Bush Rock (East)', player), lambda state: state.has_Pearl(player) and state.can_lift_rocks(player)) set_rule(world.get_entrance('Skull Woods Bush Rock (East)', player), lambda state: state.has_Pearl(player) and state.can_lift_rocks(player))
set_rule(world.get_entrance('Skull Woods Forgotten Bush (West)', player), lambda state: state.has_Pearl(player)) set_rule(world.get_entrance('Skull Woods Forgotten Bush (West)', player), lambda state: state.has_Pearl(player))
set_rule(world.get_entrance('Skull Woods Forgotten Bush (East)', player), lambda state: state.has_Pearl(player)) set_rule(world.get_entrance('Skull Woods Forgotten Bush (East)', player), lambda state: state.has_Pearl(player))
set_rule(world.get_entrance('Skull Woods Second Section Hole', player), lambda state: state.has_Pearl(player))
set_rule(world.get_entrance('Bumper Cave Entrance Rock', player), lambda state: state.has_Pearl(player) and state.can_lift_rocks(player)) set_rule(world.get_entrance('Bumper Cave Entrance Rock', player), lambda state: state.has_Pearl(player) and state.can_lift_rocks(player))
set_rule(world.get_entrance('Skull Woods Pass Bush Row (West)', player), lambda state: state.has_Pearl(player)) set_rule(world.get_entrance('Skull Woods Pass Bush Row (West)', player), lambda state: state.has_Pearl(player))
set_rule(world.get_entrance('Skull Woods Pass Bush Row (East)', player), lambda state: state.has_Pearl(player)) set_rule(world.get_entrance('Skull Woods Pass Bush Row (East)', player), lambda state: state.has_Pearl(player))

View File

@@ -37,21 +37,16 @@ dw $011E, $0100 ; Length of the range the camera can move on small screens
OWEdgeTransition: OWEdgeTransition:
{ {
php php : phy
phy
lda.l OWMode : beq + lda.l OWMode : beq +
jsl OWShuffle jsl OWShuffle : bra .return
bra .return
+ jsl OWVanilla + jsl OWVanilla
.return .return
ply ply : plp : rtl
plp
rtl
} }
OWVanilla: OWVanilla:
{ {
lda $02a4e3,X : ora $7ef3ca lda $02a4e3,X : ora $7ef3ca : rtl
rtl
} }
OWShuffle: OWShuffle:
{ {
@@ -62,18 +57,14 @@ OWShuffle:
;down X = $34 ;down X = $34
;compares X to determine direction of edge transition ;compares X to determine direction of edge transition
phx phx : lsr $700 : cpx $700 : !blt .upOrLeft
lsr $700 : cpx $700 : !blt .upOrLeft
dex : cpx $700 : bne .downEdge dex : cpx $700 : bne .downEdge
lda #$3 : sta $418 ;right lda #$3 : sta $418 : bra .setOWID ;right
bra .setOWID
.downEdge .downEdge
lda #$1 : sta $418 ;down lda #$1 : sta $418 : bra .setOWID ;down
bra .setOWID
.upOrLeft .upOrLeft
inx : cpx $700 : bne .upEdge inx : cpx $700 : bne .upEdge
lda #$2 : sta $418 ;left lda #$2 : sta $418 : bra .setOWID ;left
bra .setOWID
.upEdge .upEdge
lda #$0 : sta $418 ;up lda #$0 : sta $418 ;up
@@ -86,14 +77,12 @@ OWShuffle:
asl $700 : pla asl $700 : pla
;x = offset to edgeoffsets table ;x = offset to edgeoffsets table
sep #$20 sep #$20 : lda.l OWEdgeOffsets,x : and #$ff : beq .noTransition : pha ;get number of transitions
lda.l OWEdgeOffsets,x : and #$ff : beq .noTransition : pha ;get number of transitions
;s1 = number of transitions left to check ;s1 = number of transitions left to check
inx : lda.l OWEdgeOffsets,x ;record id of first transition in table inx : lda.l OWEdgeOffsets,x ;record id of first transition in table
;multiply ^ by 26, 26bytes per record ;multiply ^ by 16, 16bytes per record
sta $4202 : lda #26 : sta $4203 sta $4202 : lda #16 : sta $4203 ;wait 8 cycles
;do something else for 8 cycles before getting the result
pla ;a = number of trans pla ;a = number of trans
rep #$20 rep #$20
and #$00ff and #$00ff
@@ -101,20 +90,15 @@ OWShuffle:
.nextTransition .nextTransition
pha pha
jsr OWSearchTransition jsr OWSearchTransition : bcs .newDestination
bcs .newDestination txa : !add #$0010 : tax
pla : dec : bne .nextTransition : bra .noTransition pla : dec : bne .nextTransition : bra .noTransition
.newDestination .newDestination
pla pla : sep #$30 : plx : lda $8a : bra .return
sep #$30
plx : lda $8a
bra .return
.noTransition .noTransition
sep #$30 sep #$30 : plx : jsl OWVanilla
plx
jsl OWVanilla
.return .return
rtl rtl
@@ -123,82 +107,82 @@ OWSearchTransition:
{ {
;A-16 XY-16 ;A-16 XY-16
lda $418 : bne + ;north lda $418 : bne + ;north
lda.l OWNorthEdges,x : dec : inx #2 lda.l OWNorthEdges,x : dec
cmp $22 : !bge .nomatch cmp $22 : !bge .nomatch
lda.l OWNorthEdges,x : cmp $22 : !blt .nomatch lda.l OWNorthEdges+2,x : cmp $22 : !blt .nomatch
;MATCH ;MATCH
txa : !add #$0016 : tax : lda.l OWNorthEdges,x : tay ;y = record id of dest lda.l OWNorthEdges+14,x : tay ;y = record id of dest
sep #$20 : lda #OWSouthEdges>>16 : phb : pha : plb : ldx #OWSouthEdges : jsr OWNewDestination : plb ;x = address of table sep #$20 : lda #OWSouthEdges>>16 : phb : pha : plb
bra .matchfound2 ldx #OWSouthEdges : jsr OWNewDestination : plb ;x = address of table
bra .matchfound
+ dec : bne + ;south + dec : bne + ;south
lda.l OWSouthEdges,x : dec : inx #2 lda.l OWSouthEdges,x : dec
cmp $22 : !bge .nomatch cmp $22 : !bge .exitloop
lda.l OWSouthEdges,x : cmp $22 : !blt .nomatch lda.l OWSouthEdges+2,x : cmp $22 : !blt .exitloop
;MATCH ;MATCH
txa : !add #$0016 : tax : lda.l OWSouthEdges,x : tay ;y = record id of dest lda.l OWSouthEdges+14,x : tay ;y = record id of dest
sep #$20 : lda #OWNorthEdges>>16 : phb : pha : plb : phx : ldx #OWNorthEdges : jsr OWNewDestination : plx : plb ;x = address of table sep #$20 : lda #OWNorthEdges>>16 : phb : pha : plb : phx
.matchfound2 ldx #OWNorthEdges : jsr OWNewDestination : plx : plb ;x = address of table
bra .matchfound bra .matchfound
.nomatch .nomatch
bra .exitloop bra .exitloop
+ dec : bne + ; west + dec : bne + ; west
lda.l OWWestEdges,x : dec : inx #2 lda.l OWWestEdges,x : dec
cmp $20 : !bge .exitloop cmp $20 : !bge .exitloop
lda.l OWWestEdges,x : cmp $20 : !blt .exitloop lda.l OWWestEdges+2,x : cmp $20 : !blt .exitloop
;MATCH ;MATCH
txa : !add #$0016 : tax : lda.l OWWestEdges,x : tay ;y = record id of dest lda.l OWWestEdges+14,x : tay ;y = record id of dest
sep #$20 : lda #OWEastEdges>>16 : phb : pha : plb : ldx #OWEastEdges : jsr OWNewDestination : plb ;x = address of table sep #$20 : lda #OWEastEdges>>16 : phb : pha : plb
ldx #OWEastEdges : jsr OWNewDestination : plb ;x = address of table
bra .matchfound bra .matchfound
+ lda.l OWEastEdges,x : dec : inx #2 ;east + lda.l OWEastEdges,x : dec ;east
cmp $20 : !bge .exitloop cmp $20 : !bge .exitloop
lda.l OWEastEdges,x : cmp $20 : !blt .exitloop lda.l OWEastEdges+2,x : cmp $20 : !blt .exitloop
;MATCH ;MATCH
txa : !add #$0016 : tax : lda.l OWEastEdges,x : tay ;y = record id of dest lda.l OWEastEdges+14,x : tay ;y = record id of dest
sep #$20 : lda #OWWestEdges>>16 : phb : pha : plb : ldx #OWWestEdges : jsr OWNewDestination : plb ;x = address of table sep #$20 : lda #OWWestEdges>>16 : phb : pha : plb
ldx #OWWestEdges : jsr OWNewDestination : plb ;x = address of table
.matchfound .matchfound
plx : pla : pea $0001 : phx plx : pla : pea $0001 : phx
txa : !add #$0010 : tax : sec : rts sec : rts
.exitloop .exitloop
txa : !add #$0018 : tax : clc : rts clc : rts
} }
OWNewDestination: OWNewDestination:
{ {
tya : sta $4202 : lda #26 : sta $4203 tya : sta $4202 : lda #16 : sta $4203 ;wait 8 cycles
;do something else for 8 cycles before getting the result rep #$20 : txa : nop : !add $4216 : tax ;a = offset to dest record
rep #$20 lda.w $0006,x : sta $06 ;set coord
txa : !add #$0006 lda.w $0008,x : sta $04 ;save dest OW slot/ID
adc $4216 : tax ;a = offset to dest record lda.w $000a,x : sta $84 ;VRAM
lda.w $0000,x : sta $06 ; set coord LDA $84 : SEC : SBC #$0400 : AND #$0F00 : ASL : XBA : STA $88
inx #2 : lda.w $0000,x : sta $04 ;save dest OW slot/ID
;I thought I'd need some of these values below, but I likely dont need any of them
inx #2 ;scroll
inx #2 ;cam
inx #2 ;LinkOpp
inx #2 ;ScrollOpp
inx #2 ;CamOpp
inx #2 : lda.w $0000,x : sta $84;VRAM
SEC : SBC #$0400 : AND #$0F00 : ASL : XBA : STA $88
LDA $84 : SEC : SBC #$0010 : AND #$003E : LSR : STA $86 LDA $84 : SEC : SBC #$0010 : AND #$003E : LSR : STA $86
inx #2 ;: lda.w $0000,x : and #$00ff : sta $624 ;UnknownY
inx ;: lda.w $0000,x : and #$00ff : sta $628 ;UnknownX
sep #$10 : ldy $418
;;22 e0 e2 61c 61e - X ;;22 e0 e2 61c 61e - X
;;20 e6 e8 618 61a - Y ;;20 e6 e8 618 61a - Y
ldx OWCoordIndex,y : lda $20,x : and #$fe00 : pha : lda $20,x : and #$01ff : pha ;s1 = relative cur, s3 = ow cur ;keep current position if within incoming gap
lda.w $0000,x : and #$01ff : pha : lda.w $0002,x : and #$01ff : pha
ldy $20 : lda $418 : dec #2 : bpl + : ldy $22
+ tya : and #$01ff : cmp 3,s : !blt .adjustMainAxis
dec : cmp 1,s : !bge .adjustMainAxis
inc : pha : lda $06 : and #$fe00 : !add 1,s : sta $06 : pla
.adjustMainAxis
pla : pla : sep #$10 : ldy $418
ldx OWCoordIndex,y : lda $20,x : and #$fe00 : pha
lda $20,x : and #$01ff : pha ;s1 = relative cur, s3 = ow cur
lda $06 : and #$fe00 : !sub 3,s : pha ;set coord, s1 = ow diff, s3 = relative cur, s5 = ow cur lda $06 : and #$fe00 : !sub 3,s : pha ;set coord, s1 = ow diff, s3 = relative cur, s5 = ow cur
lda $06 : and #$01ff : !sub 3,s : pha ;s1 = rel diff, s3 = ow diff, s5 = relative cur, s7 = ow cur lda $06 : and #$01ff : !sub 3,s : pha ;s1 = rel diff, s3 = ow diff, s5 = relative cur, s7 = ow cur
lda $06 : sta $20,x : and #$fe00 : sta $06 ;set coord lda $06 : sta $20,x : and #$fe00 : sta $06 ;set coord
ldx OWBGIndex,y : lda $e2,x : !add 1,s : !add 3,s : sta $e2,x ldx OWBGIndex,y : lda $e2,x : !add 1,s : adc 3,s : sta $e2,x
ldx OWCameraIndex,y : lda $618,x : !add 1,s : !add 3,s : sta $618,x ldx OWCameraIndex,y : lda $618,x : !add 1,s : adc 3,s : sta $618,x
ldx OWCameraIndex,y : lda $61a,x : !add 1,s : !add 3,s : sta $61a,x ldx OWCameraIndex,y : lda $61a,x : !add 1,s : adc 3,s : sta $61a,x
pla : asl : php : ror : plp : ror pla : asl : php : ror : plp : ror : pha
pha : ldx OWBGIndex,y : lda $e0,x : !add 1,s : sta $e0,x ldx OWBGIndex,y : lda $e0,x : !add 1,s : sta $e0,x : pla
pla : ldx OWBGIndex,y : lda $e0,x : !add 1,s : sta $e0,x ldx OWBGIndex,y : lda $e0,x : !add 1,s : sta $e0,x : pla
pla : pla : pla pla : pla
;fix camera unlock ;fix camera unlock
lda $e2,x : !sub $06 : bpl + lda $e2,x : !sub $06 : bpl +
@@ -212,16 +196,15 @@ OWNewDestination:
ldx.w OWCameraIndex,y : lda $0618,x : !add 1,s : sta $0618,x ldx.w OWCameraIndex,y : lda $0618,x : !add 1,s : sta $0618,x
lda $061a,x : !add 1,s : sta $061a,x : pla lda $061a,x : !add 1,s : sta $061a,x : pla
;opposite coord stuff
.adjustOppositeAxis .adjustOppositeAxis
;opposite coord stuff
rep #$30 : lda OWOppDirectionOffset,y : and #$00ff : bit #$0080 : beq + rep #$30 : lda OWOppDirectionOffset,y : and #$00ff : bit #$0080 : beq +
ora #$ff00 ;extend 8-bit negative to 16-bit negative ora #$ff00 ;extend 8-bit negative to 16-bit negative
+ pha + pha : cpy #$0002 : lda $700 : !bge +
cpy #$0002 : lda $700 : !bge +
and #$00f0 : pha : lda $04 : asl : and #$0070 : !sub 1,s : tax : pla : txa and #$00f0 : pha : lda $04 : asl : and #$0070 : !sub 1,s : tax : pla : txa
!add 1,s : tax : pla : txa : asl : asl : asl : asl : asl : pha : bra ++ !add 1,s : tax : pla : txa : asl : asl : asl : asl : asl : pha : bra ++
+ and #$000f : pha : lda $04 : asl : and #$000f : !sub 1,s : !add 3,s + and #$000f : pha : lda $04 : asl : and #$000f : !sub 1,s : !add 3,s
sep #$10 : tax : phx : ldx #$0 : phx : rep #$10 : pla : plx : plx : pha sep #$10 : tax : phx : ldx #$0 : phx : rep #$10 : pla : plx : plx : pha
++ sep #$10 : ldx OWOppCoordIndex,y : lda $20,x : !add 1,s : sta $20,x ;set coord ++ sep #$10 : ldx OWOppCoordIndex,y : lda $20,x : !add 1,s : sta $20,x ;set coord
ldx OWOppBGIndex,y : lda $e2,x : !add 1,s : sta $e2,x ldx OWOppBGIndex,y : lda $e2,x : !add 1,s : sta $e2,x
@@ -230,14 +213,9 @@ OWNewDestination:
ldx OWOppBGIndex,y : lda $e0,x : !add 1,s : sta $e0,x ldx OWOppBGIndex,y : lda $e0,x : !add 1,s : sta $e0,x
lda $418 : asl : tax : lda $610,x : !add 1,s : sta $610,x : pla lda $418 : asl : tax : lda $610,x : !add 1,s : sta $610,x : pla
sep #$30 sep #$30 : lda OWOppSlotOffset,y : !add $04 : asl : and #$7f : sta $700
lda OWOppSlotOffset,y : !add $04 : asl : and #$7f : sta $700 sep #$20 : lda $05 : sta $8a ;: and #$40 : sta.l $7ef3ca ;removed setting DW flag
sep #$20 rep #$30 : rts
lda $05 : sta $8a ;: and #$40 : sta.l $7ef3ca ;removed setting DW flag
rep #$30
rts
} }
;Data ;Data
@@ -395,289 +373,289 @@ dw $0000, $4101, $0000, $0000
org $aab800 ;PC 153800 org $aab800 ;PC 153800
OWNorthEdges: OWNorthEdges:
;Min Coord, Max Coord, Width, Midpoint, Scroll, Cam, LinkOpp, ScrollOpp, CamOpp, VRAM, UnknownX/Y, OW Slot/OWID, Dest Index ; Min Max Width Mid OW Slot/OWID VRAM *FREE* Dest Index
dw $00a0, $00a0, $0000, $00a0, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0040 ;Lost Woods dw $00a0, $00a0, $0000, $00a0, $0000, $0000, $0000, $0040 ;Lost Woods
dw $0458, $0540, $00e8, $04cc, $0a0a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000 dw $0458, $0540, $00e8, $04cc, $0a0a, $0000, $0000, $0000
dw $0f70, $0f90, $0020, $0f80, $0f0f, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0041 dw $0f70, $0f90, $0020, $0f80, $0f0f, $0000, $0000, $0041
dw $0058, $0058, $0000, $0058, $1010, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0001 dw $0058, $0058, $0000, $0058, $1010, $0000, $0000, $0001
dw $0178, $0178, $0000, $0178, $1010, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0002 dw $0178, $0178, $0000, $0178, $1010, $0000, $0000, $0002
dw $0388, $0388, $0000, $0388, $1111, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0003 dw $0388, $0388, $0000, $0388, $1111, $0000, $0000, $0003
dw $0480, $05b0, $0130, $0518, $1212, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0004 dw $0480, $05b0, $0130, $0518, $1212, $0000, $0000, $0004
dw $0f70, $0f90, $0020, $0f80, $1717, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0005 dw $0f70, $0f90, $0020, $0f80, $1717, $0000, $0000, $0005
dw $0078, $0098, $0020, $0088, $1818, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0006 ;Kakariko dw $0078, $0098, $0020, $0088, $1818, $0000, $0000, $0006 ;Kakariko
dw $0138, $0158, $0020, $0148, $1818, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0007 dw $0138, $0158, $0020, $0148, $1818, $0000, $0000, $0007
dw $02e8, $0348, $0060, $0318, $1819, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0008 dw $02e8, $0348, $0060, $0318, $1819, $0000, $0000, $0008
dw $0478, $04d0, $0058, $04a4, $1a1a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0009 dw $0478, $04d0, $0058, $04a4, $1a1a, $0000, $0000, $0009
dw $0510, $0538, $0028, $0524, $1a1a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000a dw $0510, $0538, $0028, $0524, $1a1a, $0000, $0000, $000a
dw $0a48, $0af0, $00a8, $0a9c, $1d1d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000b dw $0a48, $0af0, $00a8, $0a9c, $1d1d, $0000, $0000, $000b
dw $0b28, $0b38, $0010, $0b30, $1d1d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000c dw $0b28, $0b38, $0010, $0b30, $1d1d, $0000, $0000, $000c
dw $0b70, $0ba0, $0030, $0b88, $1d1d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000d dw $0b70, $0ba0, $0030, $0b88, $1d1d, $0000, $0000, $000d
dw $0a40, $0b10, $00d0, $0aa8, $2525, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000e dw $0a40, $0b10, $00d0, $0aa8, $2525, $0000, $0000, $000e
dw $0350, $0390, $0040, $0370, $2929, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000f dw $0350, $0390, $0040, $0370, $2929, $0000, $0000, $000f
dw $0670, $06a8, $0038, $068c, $2b2b, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0010 dw $0670, $06a8, $0038, $068c, $2b2b, $0000, $0000, $0010
dw $0898, $09b0, $0118, $0924, $2c2c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0011 ;Links House dw $0898, $09b0, $0118, $0924, $2c2c, $0000, $0000, $0011 ;Links House
dw $0a40, $0ba0, $0160, $0af0, $2d2d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0012 dw $0a40, $0ba0, $0160, $0af0, $2d2d, $0000, $0000, $0012
dw $0c70, $0c90, $0020, $0c80, $2e2e, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0013 dw $0c70, $0c90, $0020, $0c80, $2e2e, $0000, $0000, $0013
dw $0f70, $0f80, $0010, $0f78, $2f2f, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0014 dw $0f70, $0f80, $0010, $0f78, $2f2f, $0000, $0000, $0014
dw $0430, $0468, $0038, $044c, $3232, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0015 dw $0430, $0468, $0038, $044c, $3232, $0000, $0000, $0015
dw $04d8, $04f8, $0020, $04e8, $3232, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0016 dw $04d8, $04f8, $0020, $04e8, $3232, $0000, $0000, $0016
dw $0688, $06b0, $0028, $069c, $3333, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0017 dw $0688, $06b0, $0028, $069c, $3333, $0000, $0000, $0017
dw $08d0, $08f0, $0020, $08e0, $3434, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0018 dw $08d0, $08f0, $0020, $08e0, $3434, $0000, $0000, $0018
dw $0a80, $0b40, $00c0, $0ae0, $3535, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0019 dw $0a80, $0b40, $00c0, $0ae0, $3535, $0000, $0000, $0019
dw $0d38, $0d58, $0020, $0d48, $3536, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001a dw $0d38, $0d58, $0020, $0d48, $3536, $0000, $0000, $001a
dw $0d90, $0da0, $0010, $0d98, $3536, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001b dw $0d90, $0da0, $0010, $0d98, $3536, $0000, $0000, $001b
dw $06a0, $07b0, $0110, $0728, $3b3b, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001c dw $06a0, $07b0, $0110, $0728, $3b3b, $0000, $0000, $001c
dw $0830, $09b0, $0180, $08f0, $3c3c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001d dw $0830, $09b0, $0180, $08f0, $3c3c, $0000, $0000, $001d
dw $0e78, $0e88, $0010, $0e80, $3f3f, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001e dw $0e78, $0e88, $0010, $0e80, $3f3f, $0000, $0000, $001e
dw $0ee0, $0fc0, $00e0, $0f50, $3f3f, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001f dw $0ee0, $0fc0, $00e0, $0f50, $3f3f, $0000, $0000, $001f
dw $0458, $0540, $00e8, $04cc, $4a4a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0020 dw $0458, $0540, $00e8, $04cc, $4a4a, $0000, $0000, $0020
dw $0058, $0058, $0000, $0058, $5050, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0021 dw $0058, $0058, $0000, $0058, $5050, $0000, $0000, $0021
dw $0178, $0178, $0000, $0178, $5050, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0022 dw $0178, $0178, $0000, $0178, $5050, $0000, $0000, $0022
dw $0388, $0388, $0000, $0388, $5151, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0023 dw $0388, $0388, $0000, $0388, $5151, $0000, $0000, $0023
dw $0480, $05b0, $0130, $0518, $5252, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0024 dw $0480, $05b0, $0130, $0518, $5252, $0000, $0000, $0024
dw $0f70, $0f90, $0020, $0f80, $5757, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0025 dw $0f70, $0f90, $0020, $0f80, $5757, $0000, $0000, $0025
dw $0078, $0098, $0020, $0088, $5858, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0026 ;Village of Outcasts dw $0078, $0098, $0020, $0088, $5858, $0000, $0000, $0026 ;Village of Outcasts
dw $0138, $0158, $0020, $0148, $5858, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0027 dw $0138, $0158, $0020, $0148, $5858, $0000, $0000, $0027
dw $02e8, $0348, $0060, $0318, $5859, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0028 dw $02e8, $0348, $0060, $0318, $5859, $0000, $0000, $0028
dw $0478, $04d0, $0058, $04a4, $5a5a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0029 dw $0478, $04d0, $0058, $04a4, $5a5a, $0000, $0000, $0029
dw $0510, $0538, $0028, $0524, $5a5a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002a dw $0510, $0538, $0028, $0524, $5a5a, $0000, $0000, $002a
dw $0a48, $0af0, $00a8, $0a9c, $5d5d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002b dw $0a48, $0af0, $00a8, $0a9c, $5d5d, $0000, $0000, $002b
dw $0b28, $0b38, $0010, $0b30, $5d5d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002c dw $0b28, $0b38, $0010, $0b30, $5d5d, $0000, $0000, $002c
dw $0b70, $0ba0, $0030, $0b88, $5d5d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002d dw $0b70, $0ba0, $0030, $0b88, $5d5d, $0000, $0000, $002d
dw $0a40, $0b10, $00d0, $0aa8, $6565, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002e dw $0a40, $0b10, $00d0, $0aa8, $6565, $0000, $0000, $002e
dw $0350, $0390, $0040, $0370, $6969, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002f dw $0350, $0390, $0040, $0370, $6969, $0000, $0000, $002f
dw $0670, $06a8, $0038, $068c, $6b6b, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0030 dw $0670, $06a8, $0038, $068c, $6b6b, $0000, $0000, $0030
dw $0898, $09b0, $0118, $0924, $6c6c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0031 dw $0898, $09b0, $0118, $0924, $6c6c, $0000, $0000, $0031
dw $0a40, $0ba0, $0160, $0af0, $6d6d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0032 dw $0a40, $0ba0, $0160, $0af0, $6d6d, $0000, $0000, $0032
dw $0c70, $0c90, $0020, $0c80, $6e6e, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0033 dw $0c70, $0c90, $0020, $0c80, $6e6e, $0000, $0000, $0033
dw $0f70, $0f80, $0010, $0f78, $6f6f, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0034 dw $0f70, $0f80, $0010, $0f78, $6f6f, $0000, $0000, $0034
dw $0430, $0468, $0038, $044c, $7272, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0035 dw $0430, $0468, $0038, $044c, $7272, $0000, $0000, $0035
dw $04d8, $04f8, $0020, $04e8, $7272, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0036 dw $04d8, $04f8, $0020, $04e8, $7272, $0000, $0000, $0036
dw $0688, $06b0, $0028, $069c, $7373, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0037 dw $0688, $06b0, $0028, $069c, $7373, $0000, $0000, $0037
dw $08d0, $08f0, $0020, $08e0, $7474, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0038 dw $08d0, $08f0, $0020, $08e0, $7474, $0000, $0000, $0038
dw $0a80, $0b40, $00c0, $0ae0, $7575, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0039 dw $0a80, $0b40, $00c0, $0ae0, $7575, $0000, $0000, $0039
dw $0d38, $0d58, $0020, $0d48, $7576, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003a dw $0d38, $0d58, $0020, $0d48, $7576, $0000, $0000, $003a
dw $0d90, $0da0, $0010, $0d98, $7576, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003b dw $0d90, $0da0, $0010, $0d98, $7576, $0000, $0000, $003b
dw $06a0, $07b0, $0110, $0728, $7b7b, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003c dw $06a0, $07b0, $0110, $0728, $7b7b, $0000, $0000, $003c
dw $0830, $09b0, $0180, $08f0, $7c7c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003d dw $0830, $09b0, $0180, $08f0, $7c7c, $0000, $0000, $003d
dw $0e78, $0e88, $0010, $0e80, $7f7f, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003e dw $0e78, $0e88, $0010, $0e80, $7f7f, $0000, $0000, $003e
dw $0ee0, $0fc0, $00e0, $0f50, $7f7f, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003f dw $0ee0, $0fc0, $00e0, $0f50, $7f7f, $0000, $0000, $003f
OWSouthEdges: OWSouthEdges:
dw $0458, $0540, $00e8, $04cc, $0202, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0001 dw $0458, $0540, $00e8, $04cc, $0202, $0000, $0000, $0001
dw $0058, $0058, $0000, $0058, $0008, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0003 dw $0058, $0058, $0000, $0058, $0008, $0000, $0000, $0003
dw $0178, $0178, $0000, $0178, $0008, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0004 dw $0178, $0178, $0000, $0178, $0008, $0000, $0000, $0004
dw $0388, $0388, $0000, $0388, $0009, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0005 dw $0388, $0388, $0000, $0388, $0009, $0000, $0000, $0005
dw $0480, $05b0, $0130, $0518, $0a0a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0006 dw $0480, $05b0, $0130, $0518, $0a0a, $0000, $0000, $0006
dw $0f70, $0f90, $0020, $0f80, $0f0f, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0007 dw $0f70, $0f90, $0020, $0f80, $0f0f, $0000, $0000, $0007
dw $0078, $0098, $0020, $0088, $1010, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0008 dw $0078, $0098, $0020, $0088, $1010, $0000, $0000, $0008
dw $0138, $0158, $0020, $0148, $1010, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0009 dw $0138, $0158, $0020, $0148, $1010, $0000, $0000, $0009
dw $02e8, $0348, $0060, $0318, $1111, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000a dw $02e8, $0348, $0060, $0318, $1111, $0000, $0000, $000a
dw $0478, $04d0, $0058, $04a4, $1212, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000b dw $0478, $04d0, $0058, $04a4, $1212, $0000, $0000, $000b
dw $0510, $0538, $0028, $0524, $1212, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000c dw $0510, $0538, $0028, $0524, $1212, $0000, $0000, $000c
dw $0a48, $0af0, $00a8, $0a9c, $1515, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000d dw $0a48, $0af0, $00a8, $0a9c, $1515, $0000, $0000, $000d
dw $0b28, $0b38, $0010, $0b30, $1515, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000e dw $0b28, $0b38, $0010, $0b30, $1515, $0000, $0000, $000e
dw $0b70, $0ba0, $0030, $0b88, $1515, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000f dw $0b70, $0ba0, $0030, $0b88, $1515, $0000, $0000, $000f
dw $0a40, $0b10, $00d0, $0aa8, $1d1d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0010 dw $0a40, $0b10, $00d0, $0aa8, $1d1d, $0000, $0000, $0010
dw $0350, $0390, $0040, $0370, $1821, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0011 dw $0350, $0390, $0040, $0370, $1821, $0000, $0000, $0011
dw $0670, $06a8, $0038, $068c, $1b23, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0012 dw $0670, $06a8, $0038, $068c, $1b23, $0000, $0000, $0012
dw $0898, $09b0, $0118, $0924, $1b24, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0013 dw $0898, $09b0, $0118, $0924, $1b24, $0000, $0000, $0013
dw $0a40, $0ba0, $0160, $0af0, $2525, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0014 dw $0a40, $0ba0, $0160, $0af0, $2525, $0000, $0000, $0014
dw $0c70, $0c90, $0020, $0c80, $1e26, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0015 dw $0c70, $0c90, $0020, $0c80, $1e26, $0000, $0000, $0015
dw $0f70, $0f80, $0010, $0f78, $1e27, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0016 dw $0f70, $0f80, $0010, $0f78, $1e27, $0000, $0000, $0016
dw $0430, $0468, $0038, $044c, $2a2a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0017 dw $0430, $0468, $0038, $044c, $2a2a, $0000, $0000, $0017
dw $04d8, $04f8, $0020, $04e8, $2a2a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0018 dw $04d8, $04f8, $0020, $04e8, $2a2a, $0000, $0000, $0018
dw $0688, $06b0, $0028, $069c, $2b2b, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0019 dw $0688, $06b0, $0028, $069c, $2b2b, $0000, $0000, $0019
dw $08d0, $08f0, $0020, $08e0, $2c2c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001a dw $08d0, $08f0, $0020, $08e0, $2c2c, $0000, $0000, $001a
dw $0a80, $0b40, $00c0, $0ae0, $2d2d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001b dw $0a80, $0b40, $00c0, $0ae0, $2d2d, $0000, $0000, $001b
dw $0d38, $0d58, $0020, $0d48, $2e2e, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001c dw $0d38, $0d58, $0020, $0d48, $2e2e, $0000, $0000, $001c
dw $0d90, $0da0, $0010, $0d98, $2e2e, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001d dw $0d90, $0da0, $0010, $0d98, $2e2e, $0000, $0000, $001d
dw $06a0, $07b0, $0110, $0728, $3333, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001e dw $06a0, $07b0, $0110, $0728, $3333, $0000, $0000, $001e
dw $0830, $09b0, $0180, $08f0, $3434, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001f dw $0830, $09b0, $0180, $08f0, $3434, $0000, $0000, $001f
dw $0e78, $0e88, $0010, $0e80, $3737, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0020 dw $0e78, $0e88, $0010, $0e80, $3737, $0000, $0000, $0020
dw $0ee0, $0fc0, $00e0, $0f50, $3737, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0021 dw $0ee0, $0fc0, $00e0, $0f50, $3737, $0000, $0000, $0021
dw $0458, $0540, $00e8, $04cc, $4242, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0022 dw $0458, $0540, $00e8, $04cc, $4242, $0000, $0000, $0022
dw $0058, $0058, $0000, $0058, $4048, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0023 dw $0058, $0058, $0000, $0058, $4048, $0000, $0000, $0023
dw $0178, $0178, $0000, $0178, $4048, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0024 dw $0178, $0178, $0000, $0178, $4048, $0000, $0000, $0024
dw $0388, $0388, $0000, $0388, $4049, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0025 dw $0388, $0388, $0000, $0388, $4049, $0000, $0000, $0025
dw $0480, $05b0, $0130, $0518, $4a4a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0026 dw $0480, $05b0, $0130, $0518, $4a4a, $0000, $0000, $0026
dw $0f70, $0f90, $0020, $0f80, $4f4f, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0027 dw $0f70, $0f90, $0020, $0f80, $4f4f, $0000, $0000, $0027
dw $0078, $0098, $0020, $0088, $5050, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0028 dw $0078, $0098, $0020, $0088, $5050, $0000, $0000, $0028
dw $0138, $0158, $0020, $0148, $5050, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0029 dw $0138, $0158, $0020, $0148, $5050, $0000, $0000, $0029
dw $02e8, $0348, $0060, $0318, $5151, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002a dw $02e8, $0348, $0060, $0318, $5151, $0000, $0000, $002a
dw $0478, $04d0, $0058, $04a4, $5252, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002b dw $0478, $04d0, $0058, $04a4, $5252, $0000, $0000, $002b
dw $0510, $0538, $0028, $0524, $5252, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002c dw $0510, $0538, $0028, $0524, $5252, $0000, $0000, $002c
dw $0a48, $0af0, $00a8, $0a9c, $5555, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002d dw $0a48, $0af0, $00a8, $0a9c, $5555, $0000, $0000, $002d
dw $0b28, $0b38, $0010, $0b30, $5555, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002e dw $0b28, $0b38, $0010, $0b30, $5555, $0000, $0000, $002e
dw $0b70, $0ba0, $0030, $0b88, $5555, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002f dw $0b70, $0ba0, $0030, $0b88, $5555, $0000, $0000, $002f
dw $0a40, $0b10, $00d0, $0aa8, $5d5d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0030 dw $0a40, $0b10, $00d0, $0aa8, $5d5d, $0000, $0000, $0030
dw $0350, $0390, $0040, $0370, $5861, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0031 dw $0350, $0390, $0040, $0370, $5861, $0000, $0000, $0031
dw $0670, $06a8, $0038, $068c, $5b63, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0032 dw $0670, $06a8, $0038, $068c, $5b63, $0000, $0000, $0032
dw $0898, $09b0, $0118, $0924, $5b64, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0033 dw $0898, $09b0, $0118, $0924, $5b64, $0000, $0000, $0033
dw $0a40, $0ba0, $0160, $0af0, $6565, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0034 dw $0a40, $0ba0, $0160, $0af0, $6565, $0000, $0000, $0034
dw $0c70, $0c90, $0020, $0c80, $5e66, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0035 dw $0c70, $0c90, $0020, $0c80, $5e66, $0000, $0000, $0035
dw $0f70, $0f80, $0010, $0f78, $5e67, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0036 dw $0f70, $0f80, $0010, $0f78, $5e67, $0000, $0000, $0036
dw $0430, $0468, $0038, $044c, $6a6a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0037 dw $0430, $0468, $0038, $044c, $6a6a, $0000, $0000, $0037
dw $04d8, $04f8, $0020, $04e8, $6a6a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0038 dw $04d8, $04f8, $0020, $04e8, $6a6a, $0000, $0000, $0038
dw $0688, $06b0, $0028, $069c, $6b6b, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0039 dw $0688, $06b0, $0028, $069c, $6b6b, $0000, $0000, $0039
dw $08d0, $08f0, $0020, $08e0, $6c6c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003a dw $08d0, $08f0, $0020, $08e0, $6c6c, $0000, $0000, $003a
dw $0a80, $0b40, $00c0, $0ae0, $6d6d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003b dw $0a80, $0b40, $00c0, $0ae0, $6d6d, $0000, $0000, $003b
dw $0d38, $0d58, $0020, $0d48, $6e6e, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003c dw $0d38, $0d58, $0020, $0d48, $6e6e, $0000, $0000, $003c
dw $0d90, $0da0, $0010, $0d98, $6e6e, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003d dw $0d90, $0da0, $0010, $0d98, $6e6e, $0000, $0000, $003d
dw $06a0, $07b0, $0110, $0728, $7373, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003e dw $06a0, $07b0, $0110, $0728, $7373, $0000, $0000, $003e
dw $0830, $09b0, $0180, $08f0, $7474, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003f dw $0830, $09b0, $0180, $08f0, $7474, $0000, $0000, $003f
dw $0e78, $0e88, $0010, $0e80, $7777, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0040 dw $0e78, $0e88, $0010, $0e80, $7777, $0000, $0000, $0040
dw $0ee0, $0fc0, $00e0, $0f50, $7777, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0041 dw $0ee0, $0fc0, $00e0, $0f50, $7777, $0000, $0000, $0041
dw $0080, $0080, $0000, $0080, $8080, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000 ;Pedestal dw $0080, $0080, $0000, $0080, $8080, $0000, $0000, $0000 ;Pedestal
dw $0288, $02c0, $0038, $02a4, $8189, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0002 ;Zora dw $0288, $02c0, $0038, $02a4, $8189, $0000, $0000, $0002 ;Zora
OWWestEdges: OWWestEdges:
dw $0070, $00a0, $0030, $0088, $0202, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000 dw $0070, $00a0, $0030, $0088, $0202, $0000, $0000, $0000
dw $0068, $0078, $0010, $0070, $0505, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0001 dw $0068, $0078, $0010, $0070, $0505, $0000, $0000, $0001
dw $0068, $0088, $0020, $0078, $0707, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0002 dw $0068, $0088, $0020, $0078, $0707, $0000, $0000, $0002
dw $0318, $0368, $0050, $0340, $050d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0003 dw $0318, $0368, $0050, $0340, $050d, $0000, $0000, $0003
dw $0450, $0488, $0038, $046c, $1212, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0004 dw $0450, $0488, $0038, $046c, $1212, $0000, $0000, $0004
dw $0560, $05a0, $0040, $0580, $1212, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0005 dw $0560, $05a0, $0040, $0580, $1212, $0000, $0000, $0005
dw $0488, $0500, $0078, $04c4, $1313, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0006 dw $0488, $0500, $0078, $04c4, $1313, $0000, $0000, $0006
dw $0538, $05a8, $0070, $0570, $1313, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0007 dw $0538, $05a8, $0070, $0570, $1313, $0000, $0000, $0007
dw $0470, $05a8, $0138, $050c, $1414, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0008 dw $0470, $05a8, $0138, $050c, $1414, $0000, $0000, $0008
dw $0470, $0598, $0128, $0504, $1515, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0009 dw $0470, $0598, $0128, $0504, $1515, $0000, $0000, $0009
dw $0480, $0488, $0008, $0484, $1616, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000a dw $0480, $0488, $0008, $0484, $1616, $0000, $0000, $000a
dw $04b0, $0510, $0060, $04e0, $1616, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000b dw $04b0, $0510, $0060, $04e0, $1616, $0000, $0000, $000b
dw $0560, $0588, $0028, $0574, $1616, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000c dw $0560, $0588, $0028, $0574, $1616, $0000, $0000, $000c
dw $0450, $0458, $0008, $0454, $1717, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000d dw $0450, $0458, $0008, $0454, $1717, $0000, $0000, $000d
dw $0480, $04a8, $0028, $0494, $1717, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000e dw $0480, $04a8, $0028, $0494, $1717, $0000, $0000, $000e
dw $0718, $0738, $0020, $0728, $1b1b, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000f dw $0718, $0738, $0020, $0728, $1b1b, $0000, $0000, $000f
dw $0908, $0948, $0040, $0928, $2222, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0010 dw $0908, $0948, $0040, $0928, $2222, $0000, $0000, $0010
dw $0878, $08a8, $0030, $0890, $2525, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0011 dw $0878, $08a8, $0030, $0890, $2525, $0000, $0000, $0011
dw $0bb8, $0bc8, $0010, $0bc0, $2929, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0012 dw $0bb8, $0bc8, $0010, $0bc0, $2929, $0000, $0000, $0012
dw $0b60, $0ba0, $0040, $0b80, $2a2a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0013 dw $0b60, $0ba0, $0040, $0b80, $2a2a, $0000, $0000, $0013
dw $0ab0, $0ad0, $0020, $0ac0, $2c2c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0014 dw $0ab0, $0ad0, $0020, $0ac0, $2c2c, $0000, $0000, $0014
dw $0af0, $0b40, $0050, $0b18, $2c2c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0015 dw $0af0, $0b40, $0050, $0b18, $2c2c, $0000, $0000, $0015
dw $0b78, $0ba0, $0028, $0b8c, $2c2c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0016 dw $0b78, $0ba0, $0028, $0b8c, $2c2c, $0000, $0000, $0016
dw $0b10, $0b28, $0018, $0b1c, $2d2d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $004a dw $0b10, $0b28, $0018, $0b1c, $2d2d, $0000, $0000, $004a
dw $0b68, $0b98, $0030, $0b80, $2d2d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0017 dw $0b68, $0b98, $0030, $0b80, $2d2d, $0000, $0000, $0017
dw $0a68, $0ab8, $0050, $0a90, $2e2e, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0018 dw $0a68, $0ab8, $0050, $0a90, $2e2e, $0000, $0000, $0018
dw $0b00, $0b78, $0078, $0b3c, $2e2e, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0019 dw $0b00, $0b78, $0078, $0b3c, $2e2e, $0000, $0000, $0019
dw $0c50, $0db8, $0168, $0d04, $3333, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001a dw $0c50, $0db8, $0168, $0d04, $3333, $0000, $0000, $001a
dw $0c78, $0ce3, $006b, $0cad, $3434, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001b dw $0c78, $0ce3, $006b, $0cad, $3434, $0000, $0000, $001b
dw $0ce4, $0d33, $004f, $0d0b, $3434, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001c dw $0ce4, $0d33, $004f, $0d0b, $3434, $0000, $0000, $001c
dw $0d34, $0db8, $0084, $0d76, $3434, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001d dw $0d34, $0db8, $0084, $0d76, $3434, $0000, $0000, $001d
dw $0ea8, $0f20, $0078, $0ee4, $3a3a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001e dw $0ea8, $0f20, $0078, $0ee4, $3a3a, $0000, $0000, $001e
dw $0f70, $0fa8, $0038, $0f8c, $3a3a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001f dw $0f70, $0fa8, $0038, $0f8c, $3a3a, $0000, $0000, $001f
dw $0f18, $0f18, $0000, $0f18, $3b3b, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0020 dw $0f18, $0f18, $0000, $0f18, $3b3b, $0000, $0000, $0020
dw $0fc8, $0fc8, $0000, $0fc8, $3b3b, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0021 dw $0fc8, $0fc8, $0000, $0fc8, $3b3b, $0000, $0000, $0021
dw $0e28, $0fb8, $0190, $0ef0, $3c3c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0022 dw $0e28, $0fb8, $0190, $0ef0, $3c3c, $0000, $0000, $0022
dw $0f78, $0fb8, $0040, $0f98, $353d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0023 dw $0f78, $0fb8, $0040, $0f98, $353d, $0000, $0000, $0023
dw $0f20, $0f40, $0020, $0f30, $3f3f, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0024 dw $0f20, $0f40, $0020, $0f30, $3f3f, $0000, $0000, $0024
dw $0f70, $0fb8, $0048, $0f94, $3f3f, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0025 dw $0f70, $0fb8, $0048, $0f94, $3f3f, $0000, $0000, $0025
dw $0070, $00a0, $0030, $0088, $4242, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0026 dw $0070, $00a0, $0030, $0088, $4242, $0000, $0000, $0026
dw $0068, $0078, $0010, $0070, $4545, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0027 dw $0068, $0078, $0010, $0070, $4545, $0000, $0000, $0027
dw $0068, $0088, $0020, $0078, $4747, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0028 dw $0068, $0088, $0020, $0078, $4747, $0000, $0000, $0028
dw $0318, $0368, $0050, $0340, $454d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0029 dw $0318, $0368, $0050, $0340, $454d, $0000, $0000, $0029
dw $0450, $0488, $0038, $046c, $5252, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002a dw $0450, $0488, $0038, $046c, $5252, $0000, $0000, $002a
dw $0560, $05a0, $0040, $0580, $5252, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002b dw $0560, $05a0, $0040, $0580, $5252, $0000, $0000, $002b
dw $0488, $0500, $0078, $04c4, $5353, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002c dw $0488, $0500, $0078, $04c4, $5353, $0000, $0000, $002c
dw $0538, $05a8, $0070, $0570, $5353, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002d dw $0538, $05a8, $0070, $0570, $5353, $0000, $0000, $002d
dw $0470, $05a8, $0138, $050c, $5454, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002e dw $0470, $05a8, $0138, $050c, $5454, $0000, $0000, $002e
dw $0470, $0598, $0128, $0504, $5555, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002f dw $0470, $0598, $0128, $0504, $5555, $0000, $0000, $002f
dw $0480, $0488, $0008, $0484, $5656, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0030 dw $0480, $0488, $0008, $0484, $5656, $0000, $0000, $0030
dw $04b0, $0510, $0060, $04e0, $5656, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0031 dw $04b0, $0510, $0060, $04e0, $5656, $0000, $0000, $0031
dw $0560, $0588, $0028, $0574, $5656, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0032 dw $0560, $0588, $0028, $0574, $5656, $0000, $0000, $0032
dw $0450, $0458, $0008, $0454, $5757, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0033 dw $0450, $0458, $0008, $0454, $5757, $0000, $0000, $0033
dw $0480, $04a8, $0028, $0494, $5757, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0034 dw $0480, $04a8, $0028, $0494, $5757, $0000, $0000, $0034
dw $0908, $0948, $0040, $0928, $6262, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0035 dw $0908, $0948, $0040, $0928, $6262, $0000, $0000, $0035
dw $0878, $08a8, $0030, $0890, $6565, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0036 dw $0878, $08a8, $0030, $0890, $6565, $0000, $0000, $0036
dw $0b60, $0b68, $0008, $0b64, $6969, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0037 dw $0b60, $0b68, $0008, $0b64, $6969, $0000, $0000, $0037
dw $0bb8, $0bc8, $0010, $0bc0, $6969, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0038 dw $0bb8, $0bc8, $0010, $0bc0, $6969, $0000, $0000, $0038
dw $0b60, $0ba0, $0040, $0b80, $6a6a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0039 dw $0b60, $0ba0, $0040, $0b80, $6a6a, $0000, $0000, $0039
dw $0ab0, $0ad0, $0020, $0ac0, $6c6c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003a dw $0ab0, $0ad0, $0020, $0ac0, $6c6c, $0000, $0000, $003a
dw $0af0, $0b40, $0050, $0b18, $6c6c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003b dw $0af0, $0b40, $0050, $0b18, $6c6c, $0000, $0000, $003b
dw $0b78, $0ba0, $0028, $0b8c, $6c6c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003c dw $0b78, $0ba0, $0028, $0b8c, $6c6c, $0000, $0000, $003c
dw $0b68, $0b98, $0030, $0b80, $6d6d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003d dw $0b68, $0b98, $0030, $0b80, $6d6d, $0000, $0000, $003d
dw $0a68, $0ab8, $0050, $0a90, $6e6e, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003e dw $0a68, $0ab8, $0050, $0a90, $6e6e, $0000, $0000, $003e
dw $0b00, $0b78, $0078, $0b3c, $6e6e, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003f dw $0b00, $0b78, $0078, $0b3c, $6e6e, $0000, $0000, $003f
dw $0c50, $0db8, $0168, $0d04, $7373, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0040 dw $0c50, $0db8, $0168, $0d04, $7373, $0000, $0000, $0040
dw $0c78, $0ce3, $006b, $0cad, $7474, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0041 dw $0c78, $0ce3, $006b, $0cad, $7474, $0000, $0000, $0041
dw $0ce4, $0d33, $004f, $0d0b, $7474, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0042 dw $0ce4, $0d33, $004f, $0d0b, $7474, $0000, $0000, $0042
dw $0d34, $0db8, $0084, $0d76, $7474, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0043 dw $0d34, $0db8, $0084, $0d76, $7474, $0000, $0000, $0043
dw $0f18, $0f18, $0000, $0f18, $7b7b, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0044 dw $0f18, $0f18, $0000, $0f18, $7b7b, $0000, $0000, $0044
dw $0fc8, $0fc8, $0000, $0fc8, $7b7b, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0045 dw $0fc8, $0fc8, $0000, $0fc8, $7b7b, $0000, $0000, $0045
dw $0e28, $0fb8, $0190, $0ef0, $7c7c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0046 dw $0e28, $0fb8, $0190, $0ef0, $7c7c, $0000, $0000, $0046
dw $0f78, $0fb8, $0040, $0f98, $757d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0047 dw $0f78, $0fb8, $0040, $0f98, $757d, $0000, $0000, $0047
dw $0f20, $0f40, $0020, $0f30, $7f7f, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0048 dw $0f20, $0f40, $0020, $0f30, $7f7f, $0000, $0000, $0048
dw $0f70, $0fb8, $0048, $0f94, $7f7f, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0049 dw $0f70, $0fb8, $0048, $0f94, $7f7f, $0000, $0000, $0049
OWEastEdges: OWEastEdges:
dw $0070, $00a0, $0030, $0088, $0001, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000 dw $0070, $00a0, $0030, $0088, $0001, $0000, $0000, $0000
dw $0068, $0078, $0010, $0070, $0304, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0001 dw $0068, $0078, $0010, $0070, $0304, $0000, $0000, $0001
dw $0068, $0088, $0020, $0078, $0506, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0002 dw $0068, $0088, $0020, $0078, $0506, $0000, $0000, $0002
dw $0318, $0368, $0050, $0340, $030c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0003 dw $0318, $0368, $0050, $0340, $030c, $0000, $0000, $0003
dw $0450, $0488, $0038, $046c, $1111, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0004 dw $0450, $0488, $0038, $046c, $1111, $0000, $0000, $0004
dw $0560, $05a0, $0040, $0580, $1111, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0005 dw $0560, $05a0, $0040, $0580, $1111, $0000, $0000, $0005
dw $0488, $0500, $0078, $04c4, $1212, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0006 dw $0488, $0500, $0078, $04c4, $1212, $0000, $0000, $0006
dw $0538, $05a8, $0070, $0570, $1212, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0007 dw $0538, $05a8, $0070, $0570, $1212, $0000, $0000, $0007
dw $0470, $05a8, $0138, $050c, $1313, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0008 dw $0470, $05a8, $0138, $050c, $1313, $0000, $0000, $0008
dw $0470, $0598, $0128, $0504, $1414, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0009 dw $0470, $0598, $0128, $0504, $1414, $0000, $0000, $0009
dw $0480, $0488, $0008, $0484, $1515, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000a dw $0480, $0488, $0008, $0484, $1515, $0000, $0000, $000a
dw $04b0, $0510, $0060, $04e0, $1515, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000b dw $04b0, $0510, $0060, $04e0, $1515, $0000, $0000, $000b
dw $0560, $0588, $0028, $0574, $1515, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000c dw $0560, $0588, $0028, $0574, $1515, $0000, $0000, $000c
dw $0450, $0458, $0008, $0454, $1616, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000d dw $0450, $0458, $0008, $0454, $1616, $0000, $0000, $000d
dw $0480, $04a8, $0028, $0494, $1616, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000e dw $0480, $04a8, $0028, $0494, $1616, $0000, $0000, $000e
dw $0718, $0738, $0020, $0728, $1a1a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $000f dw $0718, $0738, $0020, $0728, $1a1a, $0000, $0000, $000f
dw $0908, $0948, $0040, $0928, $1821, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0010 dw $0908, $0948, $0040, $0928, $1821, $0000, $0000, $0010
dw $0878, $08a8, $0030, $0890, $1b24, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0011 dw $0878, $08a8, $0030, $0890, $1b24, $0000, $0000, $0011
dw $0bb8, $0bc8, $0010, $0bc0, $2828, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0012 ;Race Game dw $0bb8, $0bc8, $0010, $0bc0, $2828, $0000, $0000, $0012 ;Race Game
dw $0b60, $0ba0, $0040, $0b80, $2929, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0013 dw $0b60, $0ba0, $0040, $0b80, $2929, $0000, $0000, $0013
dw $0ab0, $0ad0, $0020, $0ac0, $2b2b, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0014 dw $0ab0, $0ad0, $0020, $0ac0, $2b2b, $0000, $0000, $0014
dw $0af0, $0b40, $0050, $0b18, $2b2b, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0015 dw $0af0, $0b40, $0050, $0b18, $2b2b, $0000, $0000, $0015
dw $0b78, $0ba0, $0028, $0b8c, $2b2b, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0016 dw $0b78, $0ba0, $0028, $0b8c, $2b2b, $0000, $0000, $0016
dw $0b68, $0b98, $0030, $0b80, $2c2c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0018 dw $0b68, $0b98, $0030, $0b80, $2c2c, $0000, $0000, $0018
dw $0a68, $0ab8, $0050, $0a90, $2d2d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0019 dw $0a68, $0ab8, $0050, $0a90, $2d2d, $0000, $0000, $0019
dw $0b00, $0b78, $0078, $0b3c, $2d2d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001a dw $0b00, $0b78, $0078, $0b3c, $2d2d, $0000, $0000, $001a
dw $0c50, $0db8, $0168, $0d04, $3232, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001b dw $0c50, $0db8, $0168, $0d04, $3232, $0000, $0000, $001b
dw $0c78, $0ce3, $006b, $0cad, $3333, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001c dw $0c78, $0ce3, $006b, $0cad, $3333, $0000, $0000, $001c
dw $0ce4, $0d33, $004f, $0d0b, $3333, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001d dw $0ce4, $0d33, $004f, $0d0b, $3333, $0000, $0000, $001d
dw $0d34, $0db8, $0084, $0d76, $3333, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001e dw $0d34, $0db8, $0084, $0d76, $3333, $0000, $0000, $001e
dw $0ea8, $0f20, $0078, $0ee4, $3039, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $001f dw $0ea8, $0f20, $0078, $0ee4, $3039, $0000, $0000, $001f
dw $0f70, $0fa8, $0038, $0f8c, $3039, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0020 dw $0f70, $0fa8, $0038, $0f8c, $3039, $0000, $0000, $0020
dw $0f18, $0f18, $0000, $0f18, $3a3a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0021 dw $0f18, $0f18, $0000, $0f18, $3a3a, $0000, $0000, $0021
dw $0fc8, $0fc8, $0000, $0fc8, $3a3a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0022 dw $0fc8, $0fc8, $0000, $0fc8, $3a3a, $0000, $0000, $0022
dw $0e28, $0fb8, $0190, $0ef0, $3b3b, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0023 dw $0e28, $0fb8, $0190, $0ef0, $3b3b, $0000, $0000, $0023
dw $0f78, $0fb8, $0040, $0f98, $3c3c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0024 dw $0f78, $0fb8, $0040, $0f98, $3c3c, $0000, $0000, $0024
dw $0f20, $0f40, $0020, $0f30, $353e, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0025 dw $0f20, $0f40, $0020, $0f30, $353e, $0000, $0000, $0025
dw $0f70, $0fb8, $0048, $0f94, $353e, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0026 dw $0f70, $0fb8, $0048, $0f94, $353e, $0000, $0000, $0026
dw $0070, $00a0, $0030, $0088, $4041, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0027 ;Skull Woods dw $0070, $00a0, $0030, $0088, $4041, $0000, $0000, $0027 ;Skull Woods
dw $0068, $0078, $0010, $0070, $4344, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0028 dw $0068, $0078, $0010, $0070, $4344, $0000, $0000, $0028
dw $0068, $0088, $0020, $0078, $4546, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0029 dw $0068, $0088, $0020, $0078, $4546, $0000, $0000, $0029
dw $0318, $0368, $0050, $0340, $434c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002a dw $0318, $0368, $0050, $0340, $434c, $0000, $0000, $002a
dw $0450, $0488, $0038, $046c, $5151, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002b dw $0450, $0488, $0038, $046c, $5151, $0000, $0000, $002b
dw $0560, $05a0, $0040, $0580, $5151, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002c dw $0560, $05a0, $0040, $0580, $5151, $0000, $0000, $002c
dw $0488, $0500, $0078, $04c4, $5252, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002d dw $0488, $0500, $0078, $04c4, $5252, $0000, $0000, $002d
dw $0538, $05a8, $0070, $0570, $5252, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002e dw $0538, $05a8, $0070, $0570, $5252, $0000, $0000, $002e
dw $0470, $05a8, $0138, $050c, $5353, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $002f dw $0470, $05a8, $0138, $050c, $5353, $0000, $0000, $002f
dw $0470, $0598, $0128, $0504, $5454, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0030 dw $0470, $0598, $0128, $0504, $5454, $0000, $0000, $0030
dw $0480, $0488, $0008, $0484, $5555, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0031 dw $0480, $0488, $0008, $0484, $5555, $0000, $0000, $0031
dw $04b0, $0510, $0060, $04e0, $5555, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0032 dw $04b0, $0510, $0060, $04e0, $5555, $0000, $0000, $0032
dw $0560, $0588, $0028, $0574, $5555, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0033 dw $0560, $0588, $0028, $0574, $5555, $0000, $0000, $0033
dw $0450, $0458, $0008, $0454, $5656, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0034 dw $0450, $0458, $0008, $0454, $5656, $0000, $0000, $0034
dw $0480, $04a8, $0028, $0494, $5656, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0035 dw $0480, $04a8, $0028, $0494, $5656, $0000, $0000, $0035
dw $0908, $0948, $0040, $0928, $5861, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0036 dw $0908, $0948, $0040, $0928, $5861, $0000, $0000, $0036
dw $0878, $08a8, $0030, $0890, $5b64, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0037 dw $0878, $08a8, $0030, $0890, $5b64, $0000, $0000, $0037
dw $0b60, $0b68, $0008, $0b64, $6868, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0038 ;Dig Game dw $0b60, $0b68, $0008, $0b64, $6868, $0000, $0000, $0038 ;Dig Game
dw $0bb8, $0bc8, $0010, $0bc0, $6868, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0039 dw $0bb8, $0bc8, $0010, $0bc0, $6868, $0000, $0000, $0039
dw $0b60, $0ba0, $0040, $0b80, $6969, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003a dw $0b60, $0ba0, $0040, $0b80, $6969, $0000, $0000, $003a
dw $0ab0, $0ad0, $0020, $0ac0, $6b6b, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003b dw $0ab0, $0ad0, $0020, $0ac0, $6b6b, $0000, $0000, $003b
dw $0af0, $0b40, $0050, $0b18, $6b6b, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003c dw $0af0, $0b40, $0050, $0b18, $6b6b, $0000, $0000, $003c
dw $0b78, $0ba0, $0028, $0b8c, $6b6b, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003d dw $0b78, $0ba0, $0028, $0b8c, $6b6b, $0000, $0000, $003d
dw $0b68, $0b98, $0030, $0b80, $6c6c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003e dw $0b68, $0b98, $0030, $0b80, $6c6c, $0000, $0000, $003e
dw $0a68, $0ab8, $0050, $0a90, $6d6d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $003f dw $0a68, $0ab8, $0050, $0a90, $6d6d, $0000, $0000, $003f
dw $0b00, $0b78, $0078, $0b3c, $6d6d, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0040 dw $0b00, $0b78, $0078, $0b3c, $6d6d, $0000, $0000, $0040
dw $0c50, $0db8, $0168, $0d04, $7272, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0041 dw $0c50, $0db8, $0168, $0d04, $7272, $0000, $0000, $0041
dw $0c78, $0ce3, $006b, $0cad, $7373, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0042 dw $0c78, $0ce3, $006b, $0cad, $7373, $0000, $0000, $0042
dw $0ce4, $0d33, $004f, $0d0b, $7373, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0043 dw $0ce4, $0d33, $004f, $0d0b, $7373, $0000, $0000, $0043
dw $0d34, $0db8, $0084, $0d76, $7373, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0044 dw $0d34, $0db8, $0084, $0d76, $7373, $0000, $0000, $0044
dw $0f18, $0f18, $0000, $0f18, $7a7a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0045 dw $0f18, $0f18, $0000, $0f18, $7a7a, $0000, $0000, $0045
dw $0fc8, $0fc8, $0000, $0fc8, $7a7a, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0046 dw $0fc8, $0fc8, $0000, $0fc8, $7a7a, $0000, $0000, $0046
dw $0e28, $0fb8, $0190, $0ef0, $7b7b, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0047 dw $0e28, $0fb8, $0190, $0ef0, $7b7b, $0000, $0000, $0047
dw $0f78, $0fb8, $0040, $0f98, $7c7c, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0048 dw $0f78, $0fb8, $0040, $0f98, $7c7c, $0000, $0000, $0048
dw $0f20, $0f40, $0020, $0f30, $757e, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0049 dw $0f20, $0f40, $0020, $0f30, $757e, $0000, $0000, $0049
dw $0f70, $0fb8, $0048, $0f94, $757e, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $004a dw $0f70, $0fb8, $0048, $0f94, $757e, $0000, $0000, $004a
dw $0058, $00c0, $0068, $008c, $8080, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0017 ;Hobo dw $0058, $00c0, $0068, $008c, $8080, $0000, $0000, $0017 ;Hobo

Binary file not shown.