Pull in OR 0.7.0.1 #2
@@ -2540,46 +2540,107 @@ isolated_regions = [
|
||||
flute_data = {
|
||||
#OWID LW Region DW Region Slot VRAM BG Y BG X Link Y Link X Cam Y Cam X Unk1 Unk2 IconY IconX AltY AltX AltVRAM AltBGY AltBGX AltCamY AltCamX AltUnk1 AltUnk2 AltIconY AltIconX
|
||||
0x00: (['Lost Woods East Area', 'Skull Woods Forest'], 0x09, 0x1042, 0x022e, 0x0202, 0x0290, 0x0288, 0x029b, 0x028f, 0xfff2, 0x000e, 0x0290, 0x0288, 0x0290, 0x0290),
|
||||
0x02: (['Lumberjack Area', 'Dark Lumberjack Area'], 0x02, 0x059c, 0x00d6, 0x04e6, 0x0138, 0x0558, 0x0143, 0x0563, 0xfffa, 0xfffa, 0x0138, 0x0550),
|
||||
0x03: (['West Death Mountain (Bottom)', 'West Dark Death Mountain (Top)'], 0x0b, 0x1600, 0x02ca, 0x060e, 0x0328, 0x0678, 0x0337, 0x0683, 0xfff6, 0xfff2, 0x035b, 0x0680, 0x0118, 0x0860, 0x05c0, 0x00b8, 0x07ec, 0x0127, 0x086b, 0xfff8, 0x0004, 0x0148, 0x0850),
|
||||
0x05: (['East Death Mountain (Bottom)', 'East Dark Death Mountain (Bottom)'], 0x0e, 0x1860, 0x031e, 0x0d00, 0x0388, 0x0da8, 0x038d, 0x0d7d, 0x0000, 0x0000, 0x0388, 0x0da8),
|
||||
0x07: (['Death Mountain TR Pegs Area', 'Turtle Rock Area'], 0x07, 0x0804, 0x0102, 0x0e1a, 0x0160, 0x0e90, 0x016f, 0x0e97, 0xfffe, 0x0006, 0x0160, 0x0f20),
|
||||
0x0a: (['Mountain Pass Area', 'Bumper Cave Area'], 0x0a, 0x0180, 0x0220, 0x0406, 0x0280, 0x0488, 0x028f, 0x0493, 0x0000, 0xfffa, 0x0280, 0x0488),
|
||||
0x0f: (['Zora Waterfall Area', 'Catfish Area'], 0x0f, 0x0316, 0x025c, 0x0eb2, 0x02c0, 0x0f28, 0x02cb, 0x0f2f, 0x0002, 0xfffe, 0x02d0, 0x0f38),
|
||||
0x10: (['Lost Woods Pass West Area', 'Skull Woods Pass West Area'], 0x10, 0x0080, 0x0400, 0x0000, 0x0448, 0x0058, 0x046f, 0x0085, 0x0000, 0x0000, 0x0448, 0x0058),
|
||||
0x11: (['Kakariko Fortune Area', 'Dark Fortune Area'], 0x11, 0x0912, 0x051e, 0x0292, 0x0588, 0x0318, 0x058d, 0x031f, 0x0000, 0xfffe, 0x0588, 0x0318),
|
||||
0x12: (['Kakariko Pond Area', 'Outcast Pond Area'], 0x12, 0x0890, 0x051a, 0x0476, 0x0578, 0x04f8, 0x0587, 0x0503, 0xfff6, 0x000a, 0x0578, 0x04f8),
|
||||
0x13: (['Sanctuary Area', 'Dark Chapel Area'], 0x13, 0x051c, 0x04aa, 0x06de, 0x0508, 0x0758, 0x0517, 0x0763, 0xfff6, 0x0002, 0x0508, 0x0758),
|
||||
0x14: (['Graveyard Area', 'Dark Graveyard Area'], 0x14, 0x089c, 0x051e, 0x08e6, 0x0580, 0x0958, 0x058b, 0x0963, 0x0000, 0xfffa, 0x0580, 0x0928, 0x0580, 0x0948),
|
||||
0x15: (['River Bend East Bank', 'Qirn Jump East Bank'], 0x15, 0x041a, 0x0486, 0x0ad2, 0x04e8, 0x0b48, 0x04f3, 0x0b4f, 0x0008, 0xfffe, 0x04f8, 0x0b60),
|
||||
0x16: (['Potion Shop Area', 'Dark Witch Area'], 0x16, 0x0888, 0x0516, 0x0c4e, 0x0578, 0x0cc8, 0x0583, 0x0cd3, 0xfffa, 0xfff2, 0x0598, 0x0ccf),
|
||||
0x17: (['Zora Approach Ledge', 'Catfish Approach Ledge'], 0x17, 0x039e, 0x047e, 0x0ef2, 0x04e0, 0x0f68, 0x04eb, 0x0f6f, 0x0000, 0xfffe, 0x04e0, 0x0f68),
|
||||
0x18: (['Kakariko Village', 'Village of Outcasts'], 0x18, 0x0b30, 0x0759, 0x017e, 0x07b7, 0x0200, 0x07c6, 0x020b, 0x0007, 0x0002, 0x07c0, 0x0210, 0x07c8, 0x01f8),
|
||||
0x1a: (['Forgotten Forest Area', 'Shield Shop Fence'], 0x1a, 0x081a, 0x070f, 0x04d2, 0x0770, 0x0548, 0x077c, 0x054f, 0xffff, 0xfffe, 0x0770, 0x0548),
|
||||
0x1b: (['Hyrule Castle Courtyard', 'Pyramid Area'], 0x1b, 0x0c30, 0x077a, 0x0786, 0x07d8, 0x07f8, 0x07e7, 0x0803, 0x0006, 0xfffa, 0x07d8, 0x07f8),
|
||||
0x1d: (['Wooden Bridge Area', 'Broken Bridge Northeast'], 0x1d, 0x0602, 0x06c2, 0x0a0e, 0x0720, 0x0a80, 0x072f, 0x0a8b, 0xfffe, 0x0002, 0x0720, 0x0a80),
|
||||
0x1e: (['Eastern Palace Area', 'Palace of Darkness Area'], 0x26, 0x1802, 0x091e, 0x0c0e, 0x09c0, 0x0c80, 0x098b, 0x0c8b, 0x0000, 0x0002, 0x09c0, 0x0c80),
|
||||
0x22: (['Blacksmith Area', 'Hammer Pegs Area'], 0x22, 0x058c, 0x08aa, 0x0462, 0x0908, 0x04d8, 0x0917, 0x04df, 0x0006, 0xfffe, 0x0908, 0x04d8),
|
||||
0x25: (['Sand Dunes Area', 'Dark Dunes Area'], 0x25, 0x030e, 0x085a, 0x0a76, 0x08b8, 0x0ae8, 0x08c7, 0x0af3, 0x0006, 0xfffa, 0x08b8, 0x0b08),
|
||||
0x28: (['Maze Race Area', 'Dig Game Area'], 0x28, 0x0908, 0x0b1e, 0x003a, 0x0b88, 0x00b8, 0x0b8d, 0x00bf, 0x0000, 0x0006, 0x0b88, 0x00b8),
|
||||
0x29: (['Kakariko Suburb Area', 'Frog Area'], 0x29, 0x0408, 0x0a7c, 0x0242, 0x0ae0, 0x02c0, 0x0aeb, 0x02c7, 0x0002, 0xfffe, 0x0ae0, 0x02c0),
|
||||
0x2a: (['Flute Boy Area', 'Stumpy Area'], 0x2a, 0x058e, 0x0aac, 0x046e, 0x0b10, 0x04e8, 0x0b1b, 0x04f3, 0x0002, 0x0002, 0x0b10, 0x04e8),
|
||||
0x2b: (['Central Bonk Rocks Area', 'Dark Bonk Rocks Area'], 0x2b, 0x0620, 0x0acc, 0x0700, 0x0b30, 0x0790, 0x0b3b, 0x0785, 0xfff2, 0x0000, 0x0b30, 0x0770),
|
||||
0x2c: (['Links House Area', 'Big Bomb Shop Area'], 0x2c, 0x0588, 0x0ab9, 0x0840, 0x0b17, 0x08b8, 0x0b26, 0x08bf, 0xfff7, 0x0000, 0x0b20, 0x08b8),
|
||||
0x2d: (['Stone Bridge South Area', 'Hammer Bridge South Area'], 0x2d, 0x0886, 0x0b1e, 0x0a2a, 0x0ba0, 0x0aa8, 0x0b8b, 0x0aaf, 0x0000, 0x0006, 0x0bc4, 0x0ad0),
|
||||
0x2e: (['Tree Line Area', 'Dark Tree Line Area'], 0x2e, 0x0100, 0x0a1a, 0x0c00, 0x0a78, 0x0c30, 0x0a87, 0x0c7d, 0x0006, 0x0000, 0x0a78, 0x0c58),
|
||||
0x2f: (['Eastern Nook Area', 'Darkness Nook Area'], 0x2f, 0x0798, 0x0afa, 0x0eb2, 0x0b58, 0x0f30, 0x0b67, 0x0f37, 0xfff6, 0x000e, 0x0b50, 0x0f30),
|
||||
0x30: (['Desert Teleporter Ledge', 'Mire Teleporter Ledge'], 0x38, 0x1880, 0x0f1e, 0x0000, 0x0fa8, 0x0078, 0x0f8d, 0x008d, 0x0000, 0x0000, 0x0fb0, 0x0070),
|
||||
0x32: (['Flute Boy Approach Area', 'Stumpy Approach Area'], 0x32, 0x03a0, 0x0c6c, 0x0500, 0x0cd0, 0x05a8, 0x0cdb, 0x0585, 0x0002, 0x0000, 0x0cd6, 0x0568),
|
||||
0x33: (['C Whirlpool Outer Area', 'Dark C Whirlpool Outer Area'], 0x33, 0x0180, 0x0c20, 0x0600, 0x0c80, 0x0628, 0x0c8f, 0x067d, 0x0000, 0x0000, 0x0c80, 0x0628),
|
||||
0x34: (['Statues Area', 'Hype Cave Area'], 0x34, 0x088e, 0x0d00, 0x0866, 0x0d60, 0x08d8, 0x0d6f, 0x08e3, 0x0000, 0x000a, 0x0d60, 0x08d8),
|
||||
#0x35: (['Lake Hylia Northwest Bank', 'Ice Lake Northwest Bank'], 0x35, 0x0d00, 0x0da6, 0x0a06, 0x0e08, 0x0a80, 0x0e13, 0x0a8b, 0xfffa, 0xfffa, 0x0d88, 0x0a88),
|
||||
0x35: (['Lake Hylia South Shore', 'Ice Lake Southeast Ledge'], 0x3e, 0x1860, 0x0f1e, 0x0d00, 0x0f98, 0x0da8, 0x0f8b, 0x0d85, 0x0000, 0x0000, 0x0f90, 0x0da4),
|
||||
0x37: (['Ice Cave Area', 'Shopping Mall Area'], 0x37, 0x0786, 0x0cf6, 0x0e2e, 0x0d58, 0x0ea0, 0x0d63, 0x0eab, 0x000a, 0x0002, 0x0d48, 0x0ed0),
|
||||
0x3a: (['Desert Pass Area', 'Swamp Nook Area'], 0x3a, 0x001a, 0x0e08, 0x04c6, 0x0e70, 0x0540, 0x0e7d, 0x054b, 0x0006, 0x000a, 0x0e70, 0x0540),
|
||||
0x3b: (['Dam Area', 'Swamp Area'], 0x3b, 0x069e, 0x0edf, 0x06f2, 0x0f3d, 0x0778, 0x0f4c, 0x077f, 0xfff1, 0xfffe, 0x0f30, 0x0770),
|
||||
0x3c: (['South Pass Area', 'Dark South Pass Area'], 0x3c, 0x0584, 0x0ed0, 0x081e, 0x0f38, 0x0898, 0x0f45, 0x08a3, 0xfffe, 0x0002, 0x0f38, 0x0898),
|
||||
0x3f: (['Octoballoon Area', 'Bomber Corner Area'], 0x3f, 0x0810, 0x0f05, 0x0e75, 0x0f67, 0x0ef3, 0x0f72, 0x0efa, 0xfffb, 0x000b, 0x0f80, 0x0ef0)
|
||||
0x02: (['Lumberjack Area', 'Dark Lumberjack Area'], 0x02, 0x059c, 0x00d6, 0x04e6, 0x0138, 0x0558, 0x0143, 0x0563, 0xfffa, 0xfffa, 0x01d8, 0x0518),
|
||||
0x03: (['West Death Mountain (Bottom)', 'West Dark Death Mountain (Top)'], 0x0b, 0x1600, 0x02ca, 0x060e, 0x0328, 0x0678, 0x0337, 0x0683, 0xfff6, 0xfff2, 0x03bb, 0x0680, 0x0118, 0x0860, 0x05c0, 0x00b8, 0x07ec, 0x0127, 0x086b, 0xfff8, 0x0004, 0x0148, 0x0850),
|
||||
0x05: (['East Death Mountain (Bottom)', 'East Dark Death Mountain (Bottom)'], 0x0e, 0x1860, 0x031e, 0x0d00, 0x0388, 0x0da8, 0x038d, 0x0d7d, 0x0000, 0x0000, 0x03c8, 0x0d98),
|
||||
0x07: (['Death Mountain TR Pegs Area', 'Turtle Rock Area'], 0x07, 0x0804, 0x0102, 0x0e1a, 0x0160, 0x0e90, 0x016f, 0x0e97, 0xfffe, 0x0006, 0x0150, 0x0ea0),
|
||||
0x0a: (['Mountain Pass Area', 'Bumper Cave Area'], 0x0a, 0x0180, 0x0220, 0x0406, 0x0280, 0x0488, 0x028f, 0x0493, 0x0000, 0xfffa, 0x0390, 0x04d8),
|
||||
0x0f: (['Zora Waterfall Area', 'Catfish Area'], 0x0f, 0x0316, 0x025c, 0x0eb2, 0x02c0, 0x0f28, 0x02cb, 0x0f2f, 0x0002, 0xfffe, 0x0360, 0x0f58),
|
||||
0x10: (['Lost Woods Pass West Area', 'Skull Woods Pass West Area'], 0x10, 0x0080, 0x0400, 0x0000, 0x0448, 0x0058, 0x046f, 0x0085, 0x0000, 0x0000, 0x04f8, 0x0088),
|
||||
0x11: (['Kakariko Fortune Area', 'Dark Fortune Area'], 0x11, 0x0912, 0x051e, 0x0292, 0x0588, 0x0318, 0x058d, 0x031f, 0x0000, 0xfffe, 0x05f8, 0x0318),
|
||||
0x12: (['Kakariko Pond Area', 'Outcast Pond Area'], 0x12, 0x0890, 0x051a, 0x0476, 0x0578, 0x04f8, 0x0587, 0x0503, 0xfff6, 0x000a, 0x05b8, 0x04f8),
|
||||
0x13: (['Sanctuary Area', 'Dark Chapel Area'], 0x13, 0x051c, 0x04aa, 0x06de, 0x0508, 0x0758, 0x0517, 0x0763, 0xfff6, 0x0002, 0x05b8, 0x0738),
|
||||
0x14: (['Graveyard Area', 'Dark Graveyard Area'], 0x14, 0x089c, 0x051e, 0x08e6, 0x0580, 0x0958, 0x058b, 0x0963, 0x0000, 0xfffa, 0x05f0, 0x0918, 0x0580, 0x0948),
|
||||
0x15: (['River Bend East Bank', 'Qirn Jump East Bank'], 0x15, 0x041a, 0x0486, 0x0ad2, 0x04e8, 0x0b48, 0x04f3, 0x0b4f, 0x0008, 0xfffe, 0x0548, 0x0b78),
|
||||
0x16: (['Potion Shop Area', 'Dark Witch Area'], 0x16, 0x0888, 0x0516, 0x0c4e, 0x0578, 0x0cc8, 0x0583, 0x0cd3, 0xfffa, 0xfff2, 0x05e8, 0x0c9f),
|
||||
0x17: (['Zora Approach Ledge', 'Catfish Approach Ledge'], 0x17, 0x039e, 0x047e, 0x0ef2, 0x04e0, 0x0f68, 0x04eb, 0x0f6f, 0x0000, 0xfffe, 0x0580, 0x0f48),
|
||||
0x18: (['Kakariko Village', 'Village of Outcasts'], 0x18, 0x0b30, 0x0759, 0x017e, 0x07b7, 0x0200, 0x07c6, 0x020b, 0x0007, 0x0002, 0x0830, 0x0240, 0x07c8, 0x01f8),
|
||||
0x1a: (['Forgotten Forest Area', 'Shield Shop Fence'], 0x1a, 0x081a, 0x070f, 0x04d2, 0x0770, 0x0548, 0x077c, 0x054f, 0xffff, 0xfffe, 0x0770, 0x0518),
|
||||
0x1b: (['Hyrule Castle Courtyard', 'Pyramid Area'], 0x1b, 0x0c30, 0x077a, 0x0786, 0x07d8, 0x07f8, 0x07e7, 0x0803, 0x0006, 0xfffa, 0x07f8, 0x07f8),
|
||||
0x1d: (['Wooden Bridge Area', 'Broken Bridge Northeast'], 0x1d, 0x0602, 0x06c2, 0x0a0e, 0x0720, 0x0a80, 0x072f, 0x0a8b, 0xfffe, 0x0002, 0x0750, 0x0a70),
|
||||
0x1e: (['Eastern Palace Area', 'Palace of Darkness Area'], 0x26, 0x1802, 0x091e, 0x0c0e, 0x09c0, 0x0c80, 0x098b, 0x0c8b, 0x0000, 0x0002, 0x09a0, 0x0cb0),
|
||||
0x22: (['Blacksmith Area', 'Hammer Pegs Area'], 0x22, 0x058c, 0x08aa, 0x0462, 0x0908, 0x04d8, 0x0917, 0x04df, 0x0006, 0xfffe, 0x0978, 0x04e8),
|
||||
0x25: (['Sand Dunes Area', 'Dark Dunes Area'], 0x25, 0x030e, 0x085a, 0x0a76, 0x08b8, 0x0ae8, 0x08c7, 0x0af3, 0x0006, 0xfffa, 0x0918, 0x0b18),
|
||||
0x28: (['Maze Race Area', 'Dig Game Area'], 0x28, 0x0908, 0x0b1e, 0x003a, 0x0b88, 0x00b8, 0x0b8d, 0x00bf, 0x0000, 0x0006, 0x0ba8, 0x00b8),
|
||||
0x29: (['Kakariko Suburb Area', 'Frog Area'], 0x29, 0x0408, 0x0a7c, 0x0242, 0x0ae0, 0x02c0, 0x0aeb, 0x02c7, 0x0002, 0xfffe, 0x0b30, 0x02e0),
|
||||
0x2a: (['Flute Boy Area', 'Stumpy Area'], 0x2a, 0x058e, 0x0aac, 0x046e, 0x0b10, 0x04e8, 0x0b1b, 0x04f3, 0x0002, 0x0002, 0x0b60, 0x04f8),
|
||||
0x2b: (['Central Bonk Rocks Area', 'Dark Bonk Rocks Area'], 0x2b, 0x0620, 0x0acc, 0x0700, 0x0b30, 0x0790, 0x0b3b, 0x0785, 0xfff2, 0x0000, 0x0b80, 0x0760),
|
||||
0x2c: (['Links House Area', 'Big Bomb Shop Area'], 0x2c, 0x0588, 0x0ab9, 0x0840, 0x0b17, 0x08b8, 0x0b26, 0x08bf, 0xfff7, 0x0000, 0x0bb0, 0x08a8),
|
||||
0x2d: (['Stone Bridge South Area', 'Hammer Bridge South Area'], 0x2d, 0x0886, 0x0b1e, 0x0a2a, 0x0ba0, 0x0aa8, 0x0b8b, 0x0aaf, 0x0000, 0x0006, 0x0bf0, 0x0ab8),
|
||||
0x2e: (['Tree Line Area', 'Dark Tree Line Area'], 0x2e, 0x0100, 0x0a1a, 0x0c00, 0x0a78, 0x0c30, 0x0a87, 0x0c7d, 0x0006, 0x0000, 0x0ac8, 0x0c70),
|
||||
0x2f: (['Eastern Nook Area', 'Darkness Nook Area'], 0x2f, 0x0798, 0x0afa, 0x0eb2, 0x0b58, 0x0f30, 0x0b67, 0x0f37, 0xfff6, 0x000e, 0x0bc0, 0x0f00),
|
||||
0x30: (['Desert Teleporter Ledge', 'Mire Teleporter Ledge'], 0x38, 0x1880, 0x0f1e, 0x0000, 0x0fa8, 0x0078, 0x0f8d, 0x008d, 0x0000, 0x0000, 0x0ff0, 0x0070),
|
||||
0x32: (['Flute Boy Approach Area', 'Stumpy Approach Area'], 0x32, 0x03a0, 0x0c6c, 0x0500, 0x0cd0, 0x05a8, 0x0cdb, 0x0585, 0x0002, 0x0000, 0x0d00, 0x0528),
|
||||
0x33: (['C Whirlpool Outer Area', 'Dark C Whirlpool Outer Area'], 0x33, 0x0180, 0x0c20, 0x0600, 0x0c80, 0x0628, 0x0c8f, 0x067d, 0x0000, 0x0000, 0x0ce0, 0x0688),
|
||||
0x34: (['Statues Area', 'Hype Cave Area'], 0x34, 0x088e, 0x0d00, 0x0866, 0x0d60, 0x08d8, 0x0d6f, 0x08e3, 0x0000, 0x000a, 0x0dd0, 0x08e8),
|
||||
#0x35: (['Lake Hylia Northwest Bank', 'Ice Lake Northwest Bank'], 0x35, 0x0d00, 0x0da6, 0x0a06, 0x0e08, 0x0a80, 0x0e13, 0x0a8b, 0xfffa, 0xfffa, 0x0dc8, 0x0a90),
|
||||
0x35: (['Lake Hylia South Shore', 'Ice Lake Southeast Ledge'], 0x3e, 0x1860, 0x0f1e, 0x0d00, 0x0f98, 0x0da8, 0x0f8b, 0x0d85, 0x0000, 0x0000, 0x0fd8, 0x0da8),
|
||||
0x37: (['Ice Cave Area', 'Shopping Mall Area'], 0x37, 0x0786, 0x0cf6, 0x0e2e, 0x0d58, 0x0ea0, 0x0d63, 0x0eab, 0x000a, 0x0002, 0x0d98, 0x0ed0),
|
||||
0x3a: (['Desert Pass Area', 'Swamp Nook Area'], 0x3a, 0x001a, 0x0e08, 0x04c6, 0x0e70, 0x0540, 0x0e7d, 0x054b, 0x0006, 0x000a, 0x0ee0, 0x0570),
|
||||
0x3b: (['Dam Area', 'Swamp Area'], 0x3b, 0x069e, 0x0edf, 0x06f2, 0x0f3d, 0x0778, 0x0f4c, 0x077f, 0xfff1, 0xfffe, 0x0fd0, 0x0770),
|
||||
0x3c: (['South Pass Area', 'Dark South Pass Area'], 0x3c, 0x0584, 0x0ed0, 0x081e, 0x0f38, 0x0898, 0x0f45, 0x08a3, 0xfffe, 0x0002, 0x0fa8, 0x0898),
|
||||
0x3f: (['Octoballoon Area', 'Bomber Corner Area'], 0x3f, 0x0810, 0x0f05, 0x0e75, 0x0f67, 0x0ef3, 0x0f72, 0x0efa, 0xfffb, 0x000b, 0x0fd0, 0x0ef0)
|
||||
}
|
||||
|
||||
ow_loc_prize_table = {
|
||||
'Master Sword Pedestal': (0x06d, 0x070),
|
||||
'Hobo': (0xb80, 0xb90),
|
||||
'Mushroom': (0x180, 0x140),
|
||||
'Lost Woods Hideout Tree': (0x200, 0x320),
|
||||
'Ether Tablet': (0x728, 0x017),
|
||||
'Spectacle Rock': (0x7F8, 0x128),
|
||||
'Old Man': (0x6A8, 0x3FF),
|
||||
'Floating Island': (0xD38, 0x038),
|
||||
'Death Mountain Bonk Rocks': (0xD48, 0x107),
|
||||
'Mountain Pass Pull Tree': (0x4E0, 0x380),
|
||||
'Mountain Pass Southeast Tree': (0x5A0, 0x3FF),
|
||||
'Lost Woods Pass West Tree': (0x080, 0x540),
|
||||
'Kakariko Portal Tree': (0x190, 0x540),
|
||||
'Fortune Bonk Rocks': (0x288, 0x558),
|
||||
'Bonk Rocks Tree': (0x680, 0x520),
|
||||
'Sanctuary Tree': (0x788, 0x594),
|
||||
'River Bend West Tree': (0xA38, 0x5FF),
|
||||
'River Bend East Tree': (0xB88, 0x558),
|
||||
'Bottle Merchant': (0x178, 0x7E8),
|
||||
'Blinds Hideout Tree': (0x118, 0x6F7),
|
||||
'Kakariko Welcome Tree': (0x358, 0x988),
|
||||
'Hyrule Castle Tree': (0x730, 0x780),
|
||||
'Wooden Bridge Tree': (0xA78, 0x6F0),
|
||||
'Eastern Palace Tree': (0xEC0, 0x968),
|
||||
'Maze Race': (0x0C0, 0xB00),
|
||||
'Flute Spot': (0x480, 0xAC0),
|
||||
'Flute Boy East Tree': (0x540, 0xB80),
|
||||
'Flute Boy South Tree': (0x540, 0xB80),
|
||||
'Central Bonk Rocks Tree': (0x768, 0xB37),
|
||||
'Tree Line Tree 2': (0xCD8, 0xB00),
|
||||
'Tree Line Tree 4': (0xCD8, 0xB00),
|
||||
'Desert Ledge': (0x018, 0xE88),
|
||||
'Bombos Tablet': (0x3E8, 0xEF8),
|
||||
'Flute Boy Approach North Tree': (0x588, 0xD07),
|
||||
'Flute Boy Approach South Tree': (0x588, 0xD07),
|
||||
'Lake Hylia Island': (0xB98, 0xD88),
|
||||
'Purple Chest': (0x588, 0xE96),
|
||||
'Sunken Treasure': (0x6F8, 0xF48),
|
||||
|
||||
'Dark Lumberjack Tree': (0x438, 0x1F7),
|
||||
'Bumper Cave Ledge': (0x538, 0x277),
|
||||
'Catfish': (0xE80, 0x368),
|
||||
'Dark Fortune Bonk Rocks (Drop 1)': (0x288, 0x558),
|
||||
'Dark Fortune Bonk Rocks (Drop 2)': (0x288, 0x558),
|
||||
'Dark Graveyard West Bonk Rocks': (0x900, 0x580),
|
||||
'Dark Graveyard North Bonk Rocks': (0x900, 0x580),
|
||||
'Dark Graveyard Tomb Bonk Rocks': (0x900, 0x580),
|
||||
'Qirn Jump West Tree': (0xA98, 0x5FF),
|
||||
'Qirn Jump East Tree': (0xB88, 0x558),
|
||||
'Dark Witch Tree': (0xC28, 0x558),
|
||||
'Pyramid': (0x998, 0x778),
|
||||
'Pyramid Tree': (0x738, 0x908),
|
||||
'Palace of Darkness Tree': (0xEC0, 0x968),
|
||||
'Digging Game': (0x0C0, 0xB00),
|
||||
'Dark Tree Line Tree 2': (0xCD8, 0xB00),
|
||||
'Dark Tree Line Tree 3': (0xCD8, 0xB00),
|
||||
'Dark Tree Line Tree 4': (0xCD8, 0xB00),
|
||||
'Hype Cave Statue': (0x900, 0xDB0)
|
||||
}
|
||||
|
||||
tile_swap_spoiler_table = \
|
||||
|
||||
113
Rom.py
113
Rom.py
@@ -43,7 +43,7 @@ from source.enemizer.Enemizer import write_enemy_shuffle_settings
|
||||
|
||||
|
||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||
RANDOMIZERBASEHASH = 'b2b8b42d575dd9825f2d8c424a4abb21'
|
||||
RANDOMIZERBASEHASH = '5af87240955d04dfbbab1087de73d4c7'
|
||||
|
||||
|
||||
class JsonRom(object):
|
||||
@@ -527,35 +527,27 @@ def patch_rom(world, rom, player, team, is_mystery=False, rom_header=None):
|
||||
|
||||
if world.is_tile_swapped(owid, player):
|
||||
offset = 0x40
|
||||
|
||||
|
||||
write_int16(rom, snes_to_pc(0x02E849 + (o * 2)), owid + offset) # owid
|
||||
write_int16(rom, snes_to_pc(0x02E8D1 + (o * 2)), data[13] if offset > 0 and len(data) > 13 else data[5]) # link Y
|
||||
write_int16(rom, snes_to_pc(0x02E8F3 + (o * 2)), data[14] if offset > 0 and len(data) > 13 else data[6]) # link X
|
||||
|
||||
if offset == 0 or len(data) <= 15:
|
||||
write_int16(rom, snes_to_pc(0x02E86B + (o * 2)), data[2]) # vram
|
||||
write_int16(rom, snes_to_pc(0x02E88D + (o * 2)), data[3]) # BG scroll Y
|
||||
write_int16(rom, snes_to_pc(0x02E8AF + (o * 2)), data[4]) # BG scroll X
|
||||
write_int16(rom, snes_to_pc(0x02E915 + (o * 2)), data[7]) # cam Y
|
||||
write_int16(rom, snes_to_pc(0x02E937 + (o * 2)), data[8]) # cam X
|
||||
write_int16(rom, snes_to_pc(0x02E959 + (o * 2)), data[9]) # unknown 1
|
||||
write_int16(rom, snes_to_pc(0x02E97B + (o * 2)), data[10]) # unknown 2
|
||||
rom.write_byte(snes_to_pc(0x0AB783 + o), data[12] & 0xff) # flute menu blip - X low byte
|
||||
rom.write_byte(snes_to_pc(0x0AB78B + o), data[12] // 0x100) # flute menu blip - X high byte
|
||||
rom.write_byte(snes_to_pc(0x0AB793 + o), data[11] & 0xff) # flute menu blip - Y low byte
|
||||
rom.write_byte(snes_to_pc(0x0AB79B + o), data[11] // 0x100) # flute menu blip - Y high byte
|
||||
else: # use alternate flute data
|
||||
write_int16(rom, snes_to_pc(0x02E86B + (o * 2)), data[15]) # vram
|
||||
write_int16(rom, snes_to_pc(0x02E88D + (o * 2)), data[16]) # BG scroll Y
|
||||
write_int16(rom, snes_to_pc(0x02E8AF + (o * 2)), data[17]) # BG scroll X
|
||||
write_int16(rom, snes_to_pc(0x02E915 + (o * 2)), data[18]) # cam Y
|
||||
write_int16(rom, snes_to_pc(0x02E937 + (o * 2)), data[19]) # cam X
|
||||
write_int16(rom, snes_to_pc(0x02E959 + (o * 2)), data[20]) # unknown 1
|
||||
write_int16(rom, snes_to_pc(0x02E97B + (o * 2)), data[21]) # unknown 2
|
||||
rom.write_byte(snes_to_pc(0x0AB783 + o), data[23] & 0xff) # flute menu blip - X low byte
|
||||
rom.write_byte(snes_to_pc(0x0AB78B + o), data[23] // 0x100) # flute menu blip - X high byte
|
||||
rom.write_byte(snes_to_pc(0x0AB793 + o), data[22] & 0xff) # flute menu blip - Y low byte
|
||||
rom.write_byte(snes_to_pc(0x0AB79B + o), data[22] // 0x100) # flute menu blip - Y high byte
|
||||
|
||||
base_index = 0
|
||||
if not (offset == 0 or len(data) <= 15):
|
||||
base_index = 13 # use alternate flute data
|
||||
write_int16(rom, snes_to_pc(0x02E86B + (o * 2)), data[base_index + 2]) # vram
|
||||
write_int16(rom, snes_to_pc(0x02E88D + (o * 2)), data[base_index + 3]) # BG scroll Y
|
||||
write_int16(rom, snes_to_pc(0x02E8AF + (o * 2)), data[base_index + 4]) # BG scroll X
|
||||
if base_index > 0:
|
||||
base_index -= 2
|
||||
write_int16(rom, snes_to_pc(0x02E915 + (o * 2)), data[base_index + 7]) # cam Y
|
||||
write_int16(rom, snes_to_pc(0x02E937 + (o * 2)), data[base_index + 8]) # cam X
|
||||
write_int16(rom, snes_to_pc(0x02E959 + (o * 2)), data[base_index + 9]) # unknown 1
|
||||
write_int16(rom, snes_to_pc(0x02E97B + (o * 2)), data[base_index + 10]) # unknown 2
|
||||
rom.write_byte(snes_to_pc(0x0AB783 + o), data[base_index + 12] & 0xff) # flute menu blip - X low byte
|
||||
rom.write_byte(snes_to_pc(0x0AB78B + o), data[base_index + 12] // 0x100) # flute menu blip - X high byte
|
||||
rom.write_byte(snes_to_pc(0x0AB793 + o), data[base_index + 11] & 0xff) # flute menu blip - Y low byte
|
||||
rom.write_byte(snes_to_pc(0x0AB79B + o), data[base_index + 11] // 0x100) # flute menu blip - Y high byte
|
||||
|
||||
# patch whirlpools
|
||||
if world.owWhirlpoolShuffle[player]:
|
||||
@@ -1412,34 +1404,45 @@ def patch_rom(world, rom, player, team, is_mystery=False, rom_header=None):
|
||||
rom.write_byte(0x18003C, compass_mode)
|
||||
|
||||
def get_entrance_coords(ent):
|
||||
if ent is None:
|
||||
owid_map = [0x1E, 0x30, 0xFF, 0x7B, 0x5E, 0x70, 0x40, 0x75, 0x03, 0x58, 0x47]
|
||||
x_map_position_generic = [0x03c0, 0x0740, 0xff00, 0x03c0, 0x01c0, 0x0bc0, 0x05c0, 0x09c0, 0x0ac0, 0x07c0, 0x0dc0]
|
||||
y_map_position_generic = [0xff00, 0xff00, 0xff00, 0x0fc0, 0x0fc0, 0x0fc0, 0x0fc0, 0x0fc0, 0xff00, 0x0fc0, 0x0fc0]
|
||||
world_indicator = 0x0000
|
||||
idx = int((map_index-2)/2)
|
||||
if ent is None or isinstance(ent, int):
|
||||
owid_map = [ 0x1E, 0x30, 0xFF, 0x7B, 0x5E, 0x70, 0x40, 0x75, 0x03, 0x58, 0x47 ]
|
||||
coord_flags = 0x0000
|
||||
if ent is None:
|
||||
# HUD-style dislocated icons
|
||||
x_map_position = [0x0050, 0x0080, 0xFF00, 0x0040, 0x0020, 0x00C0, 0x0060, 0x00A0, 0x00B0, 0x0080, 0x00E0]
|
||||
y_map_position = [0x000C, 0x000C, 0xFF00, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x000C, 0x00D4, 0x00D4]
|
||||
coord_flags = 0x4000 # raw OAM coord flag
|
||||
idx = int((map_index-2)/2)
|
||||
elif isinstance(ent, int):
|
||||
# vanilla icon positions
|
||||
x_map_position = [0x0F30, 0x0170, 0xFF00, 0x0790, 0x0F30, 0x0160, 0x00F0, 0x0CB0, 0x0900, 0x0240, 0x0F30]
|
||||
y_map_position = [0x06E0, 0x0E50, 0xFF00, 0x0FD0, 0x06E0, 0x0D80, 0x0160, 0x0E80, 0x0130, 0x0840, 0x01B0]
|
||||
idx = ent
|
||||
owid = owid_map[idx]
|
||||
if owid != 0xFF:
|
||||
if (owid < 0x40) == (world.is_tile_swapped(owid, player)):
|
||||
world_indicator = 0x8000
|
||||
return [world_indicator | x_map_position_generic[idx], y_map_position_generic[idx]]
|
||||
if type(ent) is Location:
|
||||
from OverworldShuffle import OWTileRegions
|
||||
if ent.name == 'Hobo':
|
||||
coords = (0xb80, 0xb80)
|
||||
elif ent.name == 'Master Sword Pedestal':
|
||||
coords = (0x06d, 0x070)
|
||||
coord_flags |= 0x8000 # world indicator flag
|
||||
return (coord_flags | x_map_position[idx], y_map_position[idx])
|
||||
elif type(ent) is Location:
|
||||
from OverworldShuffle import OWTileRegions, ow_loc_prize_table
|
||||
if ent.name in ow_loc_prize_table:
|
||||
coords = ow_loc_prize_table[ent.name]
|
||||
else:
|
||||
owid = OWTileRegions[ent.parent_region.name]
|
||||
if owid == 0x81:
|
||||
coords = (0x220, 0xf40)
|
||||
coords = (0xF60, 0x280)
|
||||
else:
|
||||
owid = owid % 0x40
|
||||
coords = (0x200 * (owid % 0x08) + 0x100, 0x200 * int(owid / 0x08) + 0x100)
|
||||
if owid in [0x00, 0x03, 0x05, 0x18, 0x1b, 0x1e, 0x30, 0x35]:
|
||||
if owid in [0x00, 0x03, 0x05, 0x18, 0x1B, 0x1E, 0x30, 0x35]:
|
||||
coords = (coords[0] + 0x100, coords[1] + 0x100)
|
||||
else:
|
||||
coords = ow_prize_table[ent.name]
|
||||
if ent.name in ow_prize_table:
|
||||
coords = ow_prize_table[ent.name]
|
||||
elif door_addresses[ent.name][1] is not None:
|
||||
coords = (door_addresses[ent.name][1][6], door_addresses[ent.name][1][5])
|
||||
else:
|
||||
raise Exception(f"No overworld map coordinates for entrance {ent.name}")
|
||||
coords = ((0x8000 if ent.parent_region.type == RegionType.DarkWorld else 0x0000) | coords[0], coords[1])
|
||||
return coords
|
||||
if world.overworld_map[player] == 'default':
|
||||
@@ -1468,16 +1471,16 @@ def patch_rom(world, rom, player, team, is_mystery=False, rom_header=None):
|
||||
# prize location
|
||||
write_int16s(rom, snes_to_pc(0x0ABE2E)+(map_index*6)+8, coords)
|
||||
if world.shuffle[player] == 'vanilla' or world.overworld_map[player] == 'default':
|
||||
# TODO: I think this is logically the same as some of the vanilla stuff below
|
||||
vanilla_entrances = { 'Hyrule Castle': 'Hyrule Castle Entrance (South)',
|
||||
'Desert Palace': 'Desert Palace Entrance (North)',
|
||||
'Skull Woods': 'Skull Woods Final Section' }
|
||||
entrance_name = vanilla_entrances[dungeon] if dungeon in vanilla_entrances else dungeon
|
||||
if world.is_atgt_swapped(player):
|
||||
swap_entrances = { 'Agahnims Tower': 'Ganons Tower',
|
||||
'Ganons Tower': 'Agahnims Tower' }
|
||||
entrance_name = swap_entrances[dungeon] if dungeon in swap_entrances else entrance_name
|
||||
entrance = world.get_entrance(entrance_name, player)
|
||||
swap_entrances = { 'Agahnims Tower': 'Ganons Tower',
|
||||
'Ganons Tower': 'Agahnims Tower' }
|
||||
if dungeon in swap_entrances:
|
||||
entrance_name = dungeon
|
||||
if world.is_atgt_swapped(player):
|
||||
entrance_name = swap_entrances[dungeon]
|
||||
entrance = world.get_entrance(entrance_name, player)
|
||||
coords = get_entrance_coords(entrance)
|
||||
else:
|
||||
coords = get_entrance_coords(int((map_index-2)/2))
|
||||
else:
|
||||
if len(portal_list) == 1:
|
||||
portal_idx = 0
|
||||
@@ -1497,7 +1500,7 @@ def patch_rom(world, rom, player, team, is_mystery=False, rom_header=None):
|
||||
offset += 4
|
||||
portal = world.get_portal(portal_list[portal_idx], player)
|
||||
entrance = portal.find_portal_entrance()
|
||||
coords = get_entrance_coords(entrance)
|
||||
coords = get_entrance_coords(entrance)
|
||||
|
||||
# figure out compass entrances and what world (light/dark)
|
||||
write_int16s(rom, snes_to_pc(0x0ABE2E)+(map_index*6), coords)
|
||||
|
||||
Binary file not shown.
@@ -147,149 +147,149 @@ door_addresses = {'Links House': (0x00, (0x0104, 0x2c
|
||||
'Lake Hylia Fortune Teller': (0x72, (0x0122, 0x35, 0x0380, 0x0c6a, 0x0a00, 0x0cb8, 0x0a58, 0x0cd7, 0x0a85, 0x06, 0xfa, 0x0000, 0x0000), 0x00),
|
||||
'Kakariko Gamble Game': (0x66, (0x0118, 0x29, 0x069e, 0x0ac4, 0x02ea, 0x0b18, 0x0368, 0x0b33, 0x036f, 0x0a, 0xf6, 0x09AC, 0x0000), 0x00)}
|
||||
|
||||
ow_prize_table = {'Lost Woods Gamble': (0x240, 0x080),
|
||||
'Lost Woods Hideout Drop': (0x290, 0x200),
|
||||
'Lost Woods Hideout Stump': (0x240, 0x280),
|
||||
'Lumberjack House': (0x580, 0x100),
|
||||
'Lumberjack Tree Tree': (0x4e0, 0x140),
|
||||
'Lumberjack Tree Cave': (0x560, 0x004),
|
||||
'Tower of Hera': (0x8D0, 0x080),
|
||||
'Spectacle Rock Cave Peak': (0x720, 0x0a0),
|
||||
'Spectacle Rock Cave (Bottom)': (0x710, 0x0a0),
|
||||
'Death Mountain Return Cave (East)': (0x600, 0x220),
|
||||
'Old Man Cave (East)': (0x620, 0x2c0),
|
||||
'Old Man House (Top)': (0x820, 0x220),
|
||||
'Old Man House (Bottom)': (0x720, 0x320),
|
||||
'Paradox Cave (Top)': (0xd80, 0x020),
|
||||
'Paradox Cave (Bottom)': (0xd80, 0x180),
|
||||
'Paradox Cave (Middle)': (0xd80, 0x380),
|
||||
'Fairy Ascension Cave (Top)': (0xc00, 0x240),
|
||||
'Fairy Ascension Cave (Bottom)': (0xcc8, 0x2a0),
|
||||
'Spiral Cave': (0xb80, 0x180),
|
||||
'Spiral Cave (Bottom)': (0xb80, 0x2c0),
|
||||
'Mimic Cave': (0xc80, 0x180),
|
||||
'Hookshot Fairy': (0xd00, 0x180),
|
||||
'Death Mountain Return Cave (West)': (0x500, 0x1c0),
|
||||
'Old Man Cave (West)': (0x580, 0x2c0),
|
||||
'Waterfall of Wishing': (0xe80, 0x280),
|
||||
'Fortune Teller (Light)': (0x2c0, 0x4c0),
|
||||
'Bonk Rock Cave': (0x5f0, 0x460),
|
||||
'Sanctuary': (0x720, 0x4a0),
|
||||
'Spectacle Rock Cave': (0x790, 0x1a0),
|
||||
'Sanctuary Grave': (0x820, 0x4c0),
|
||||
'Graveyard Cave': (0x8f0, 0x430),
|
||||
'Kings Grave': (0x920, 0x520),
|
||||
'North Fairy Cave Drop': (0xa40, 0x500),
|
||||
'North Fairy Cave': (0xa80, 0x440),
|
||||
'Potion Shop': (0xc80, 0x4c0),
|
||||
'Kakariko Well Drop': (0x030, 0x680),
|
||||
'Kakariko Well Cave': (0x060, 0x680),
|
||||
'Blinds Hideout': (0x190, 0x6c0),
|
||||
'Elder House (West)': (0x230, 0x6a0),
|
||||
'Elder House (East)': (0x2b0, 0x6a0),
|
||||
'Snitch Lady (West)': (0x080, 0x7a0),
|
||||
'Snitch Lady (East)': (0x310, 0x7a0),
|
||||
'Chicken House': (0x120, 0x880),
|
||||
'Sick Kids House': (0x220, 0x880),
|
||||
'Bush Covered House': (0x2e0, 0x880),
|
||||
'Light World Bomb Hut': (0x070, 0x980),
|
||||
'Kakariko Shop': (0x170, 0x980),
|
||||
'Tavern North': (0x270, 0x900),
|
||||
'Tavern (Front)': (0x270, 0x980),
|
||||
'Agahnims Tower': (0x820, 0x5D0),
|
||||
'Hyrule Castle Entrance (South)': (0x820, 0x730),
|
||||
'Hyrule Castle Entrance (West)': (0x740, 0x5D0),
|
||||
'Hyrule Castle Entrance (East)': (0x8f0, 0x5D0),
|
||||
ow_prize_table = {'Lost Woods Gamble': (0x2A0, 0x080),
|
||||
'Lost Woods Hideout Drop': (0x338, 0x218),
|
||||
'Lost Woods Hideout Stump': (0x2A0, 0x2E0),
|
||||
'Lumberjack House': (0x538, 0x158),
|
||||
'Lumberjack Tree Tree': (0x4A0, 0x160),
|
||||
'Lumberjack Tree Cave': (0x550, 0x004),
|
||||
'Tower of Hera': (0x900, 0x0E0),
|
||||
'Spectacle Rock Cave Peak': (0x758, 0x1B7),
|
||||
'Spectacle Rock Cave (Bottom)': (0x6F0, 0x257),
|
||||
'Spectacle Rock Cave': (0x7C8, 0x257),
|
||||
'Death Mountain Return Cave (East)': (0x648, 0x278),
|
||||
'Old Man Cave (East)': (0x658, 0x387),
|
||||
'Old Man House (Top)': (0x8C8, 0x2D8),
|
||||
'Old Man House (Bottom)': (0x728, 0x3A7),
|
||||
'Paradox Cave (Top)': (0xDE0, 0x100),
|
||||
'Paradox Cave (Bottom)': (0xDC8, 0x358),
|
||||
'Paradox Cave (Middle)': (0xDDF, 0x3FF),
|
||||
'Fairy Ascension Cave (Top)': (0xCD8, 0x2B8),
|
||||
'Fairy Ascension Cave (Bottom)': (0xC78, 0x358),
|
||||
'Spiral Cave': (0xC78, 0x207),
|
||||
'Spiral Cave (Bottom)': (0xBC8, 0x2F7),
|
||||
'Mimic Cave': (0xD38, 0x207),
|
||||
'Hookshot Fairy': (0xD38, 0x358),
|
||||
'Death Mountain Return Cave (West)': (0x5B8, 0x247),
|
||||
'Old Man Cave (West)': (0x5B8, 0x348),
|
||||
'Waterfall of Wishing': (0xE80, 0x2C7),
|
||||
'Fortune Teller (Light)': (0x308, 0x5A8),
|
||||
'Bonk Rock Cave': (0x600, 0x517),
|
||||
'Sanctuary': (0x748, 0x4F4),
|
||||
'Sanctuary Grave': (0x860, 0x550),
|
||||
'Graveyard Cave': (0x8F8, 0x4A6),
|
||||
'Kings Grave': (0x978, 0x566),
|
||||
'North Fairy Cave Drop': (0xA40, 0x580),
|
||||
'North Fairy Cave': (0xAA8, 0x4A8),
|
||||
'Potion Shop': (0xCB8, 0x598),
|
||||
'Kakariko Well Drop': (0x030, 0x6C0),
|
||||
'Kakariko Well Cave': (0x0D8, 0x6F7),
|
||||
'Blinds Hideout': (0x1B8, 0x6F7),
|
||||
'Elder House (West)': (0x258, 0x6F7),
|
||||
'Elder House (East)': (0x2E8, 0x6F7),
|
||||
'Snitch Lady (West)': (0x0C8, 0x7E8),
|
||||
'Snitch Lady (East)': (0x338, 0x7E8),
|
||||
'Chicken House': (0x188, 0x8E8),
|
||||
'Sick Kids House': (0x278, 0x8E8),
|
||||
'Bush Covered House': (0x338, 0x8E8),
|
||||
'Light World Bomb Hut': (0x068, 0x9D7),
|
||||
'Kakariko Shop': (0x1C8, 0x9D7),
|
||||
'Tavern North': (0x2B8, 0x977),
|
||||
'Tavern (Front)': (0x2B8, 0x9F7),
|
||||
'Agahnims Tower': (0x7F0, 0x630),
|
||||
'Hyrule Castle Entrance (South)': (0x7F0, 0x750),
|
||||
'Hyrule Castle Entrance (West)': (0x758, 0x644),
|
||||
'Hyrule Castle Entrance (East)': (0x8E8, 0x644),
|
||||
'Hyrule Castle Secret Entrance Drop': (0x9D0, 0x680),
|
||||
'Hyrule Castle Secret Entrance Stairs': (0x8D0, 0x700),
|
||||
'Inverted Pyramid Hole': (0x820, 0x680),
|
||||
'Inverted Pyramid Entrance': (0x6C0, 0x5D0),
|
||||
'Sahasrahlas Hut': (0xcf0, 0x6c0),
|
||||
'Eastern Palace': (0xf31, 0x620),
|
||||
'Blacksmiths Hut': (0x4a0, 0x880),
|
||||
'Bat Cave Drop': (0x520, 0x8f0),
|
||||
'Bat Cave Cave': (0x560, 0x940),
|
||||
'Two Brothers House (West)': (0x180, 0x0b60),
|
||||
'Two Brothers House (East)': (0x200, 0x0b60),
|
||||
'Library': (0x270, 0xaa0),
|
||||
'Kakariko Gamble Game': (0x2f0, 0xaf0),
|
||||
'Bonk Fairy (Light)': (0x740, 0xa80),
|
||||
'Links House': (0x8b1, 0xb2d),
|
||||
'Lake Hylia Fairy': (0xd40, 0x9f0),
|
||||
'Long Fairy Cave': (0xf60, 0xb00),
|
||||
'Desert Palace Entrance (North)': (0x0e1, 0xba0),
|
||||
'Desert Palace Entrance (West)': (0x031, 0xca0),
|
||||
'Desert Palace Entrance (East)': (0x191, 0xca0),
|
||||
'Desert Palace Entrance (South)': (0x108, 0xd70),
|
||||
'Checkerboard Cave': (0x260, 0xc00),
|
||||
'Aginahs Cave': (0x2e0, 0xd00),
|
||||
'Cave 45': (0x440, 0xca0),
|
||||
'Light Hype Fairy': (0x940, 0xc80),
|
||||
'Lake Hylia Fortune Teller': (0xa40, 0xc40),
|
||||
'Lake Hylia Shop': (0xbc0, 0xc00),
|
||||
'Capacity Upgrade': (0xca0, 0xda0),
|
||||
'Mini Moldorm Cave': (0xa40, 0xe80),
|
||||
'Ice Rod Cave': (0xe00, 0xc00),
|
||||
'Good Bee Cave': (0xec0, 0xc00),
|
||||
'20 Rupee Cave': (0xe80, 0xca0),
|
||||
'Desert Fairy': (0x420, 0xe00),
|
||||
'50 Rupee Cave': (0x4d0, 0xed0),
|
||||
'Dam': (0x759, 0xED0),
|
||||
'Hyrule Castle Secret Entrance Stairs': (0x8C8, 0x718),
|
||||
'Inverted Pyramid Hole': (0x7F0, 0x6B0),
|
||||
'Inverted Pyramid Entrance': (0x6E8, 0x644),
|
||||
'Sahasrahlas Hut': (0xCF0, 0x747),
|
||||
'Eastern Palace': (0xF40, 0x680),
|
||||
'Blacksmiths Hut': (0x4E8, 0x8C8),
|
||||
'Bat Cave Drop': (0x538, 0x9A8),
|
||||
'Bat Cave Cave': (0x510, 0x930),
|
||||
'Two Brothers House (West)': (0x1B8, 0xB88),
|
||||
'Two Brothers House (East)': (0x238, 0xB88),
|
||||
'Library': (0x2B8, 0xAA7),
|
||||
'Kakariko Gamble Game': (0x348, 0xB78),
|
||||
'Bonk Fairy (Light)': (0x788, 0xA87),
|
||||
'Links House': (0x8B8, 0xB58),
|
||||
'Lake Hylia Fairy': (0xD58, 0xA57),
|
||||
'Long Fairy Cave': (0xF68, 0xB58),
|
||||
'Desert Palace Entrance (North)': (0x148, 0xC28),
|
||||
'Desert Palace Entrance (West)': (0x088, 0xCF8),
|
||||
'Desert Palace Entrance (East)': (0x1E8, 0xCF8),
|
||||
'Desert Palace Entrance (South)': (0x138, 0xD18),
|
||||
'Checkerboard Cave': (0x2E8, 0xCF7),
|
||||
'Aginahs Cave': (0x388, 0xDE8),
|
||||
'Cave 45': (0x448, 0xD86),
|
||||
'Light Hype Fairy': (0x988, 0xCF8),
|
||||
'Lake Hylia Fortune Teller': (0xA68, 0xCC8),
|
||||
'Lake Hylia Shop': (0xBF8, 0xC66),
|
||||
'Capacity Upgrade': (0xCC8, 0xDE8),
|
||||
'Mini Moldorm Cave': (0xA88, 0xEF8),
|
||||
'Ice Rod Cave': (0xE68, 0xC37),
|
||||
'Good Bee Cave': (0xEF8, 0xC36),
|
||||
'20 Rupee Cave': (0xEB8, 0xCC6),
|
||||
'Desert Fairy': (0x488, 0xE76),
|
||||
'50 Rupee Cave': (0x4F8, 0xF47),
|
||||
'Dam': (0x778, 0xF68),
|
||||
|
||||
'Skull Woods Final Section': (0x082, 0x0b0),
|
||||
'Skull Woods Second Section Door (West)': (0x0c0, 0x1c0),
|
||||
'Skull Woods Second Section Hole': (0x0f0, 0x0b0),
|
||||
'Skull Woods Second Section Door (East)': (0x200, 0x240),
|
||||
'Skull Woods First Section Door': (0x2e0, 0x280),
|
||||
'Skull Woods Final Section': (0x078, 0x0A8),
|
||||
'Skull Woods Second Section Door (West)': (0x0E0, 0x1C0),
|
||||
'Skull Woods Second Section Hole': (0x150, 0x120),
|
||||
'Skull Woods Second Section Door (East)': (0x208, 0x208),
|
||||
'Skull Woods First Section Door': (0x2C8, 0x2A8),
|
||||
'Skull Woods First Section Hole (North)': (0x320, 0x1e0),
|
||||
'Skull Woods First Section Hole (West)': (0x200, 0x2b0),
|
||||
'Skull Woods First Section Hole (East)': (0x340, 0x2e0),
|
||||
'Dark Lumberjack Shop': (0x4e0, 0x0d0),
|
||||
'Ganons Tower': (0x8D0, 0x080),
|
||||
'Dark Death Mountain Fairy': (0x620, 0x2c0),
|
||||
'Spike Cave': (0x860, 0x180),
|
||||
'Hookshot Cave Back Entrance': (0xcf0, 0x004),
|
||||
'Hookshot Cave': (0xc80, 0x0c0),
|
||||
'Superbunny Cave (Top)': (0xd80, 0x020),
|
||||
'Superbunny Cave (Bottom)': (0xd00, 0x180),
|
||||
'Dark Death Mountain Ledge (West)': (0xb80, 0x180),
|
||||
'Dark Death Mountain Ledge (East)': (0xc80, 0x180),
|
||||
'Turtle Rock Isolated Ledge Entrance': (0xc00, 0x240),
|
||||
'Dark Death Mountain Shop': (0xd80, 0x180),
|
||||
'Turtle Rock': (0xf11, 0x103),
|
||||
'Bumper Cave (Top)': (0x500, 0x1c0),
|
||||
'Bumper Cave (Bottom)': (0x580, 0x2c0),
|
||||
'Fortune Teller (Dark)': (0x2c0, 0x4c0),
|
||||
'Dark Sanctuary Hint': (0x720, 0x4a0),
|
||||
'Dark Potion Shop': (0xc80, 0x4c0),
|
||||
'Chest Game': (0x080, 0x7a0),
|
||||
'Thieves Town': (0x1d0, 0x780),
|
||||
'C-Shaped House': (0x310, 0x7a0),
|
||||
'Brewery': (0x170, 0x980),
|
||||
'Dark World Shop': (0x2e0, 0x880),
|
||||
'Red Shield Shop': (0x500, 0x680),
|
||||
'Pyramid Hole': (0x820, 0x680),
|
||||
'Pyramid Entrance': (0x640, 0x7c0),
|
||||
'Pyramid Fairy': (0x740, 0x740),
|
||||
'Palace of Darkness': (0xf40, 0x620),
|
||||
'Palace of Darkness Hint': (0xd60, 0x7c0),
|
||||
'Hammer Peg Cave': (0x4c0, 0x940),
|
||||
'Archery Game': (0x2f0, 0xaf0),
|
||||
'Bonk Fairy (Dark)': (0x740, 0xa80),
|
||||
'Big Bomb Shop': (0x8b1, 0xb2d),
|
||||
'Dark Lake Hylia Fairy': (0xd40, 0x9f0),
|
||||
'East Dark World Hint': (0xf60, 0xb00),
|
||||
'Mire Shed': (0x060, 0xc90),
|
||||
'Misery Mire': (0x100, 0xca0),
|
||||
'Mire Fairy': (0x1c0, 0xc90),
|
||||
'Mire Hint': (0x2e0, 0xd00),
|
||||
'Hype Cave': (0x940, 0xc80),
|
||||
'Dark Lake Hylia Shop': (0xa40, 0xc40),
|
||||
'Ice Palace': (0xca0, 0xda0),
|
||||
'Dark Lake Hylia Ledge Fairy': (0xe00, 0xc00),
|
||||
'Dark Lake Hylia Ledge Hint': (0xec0, 0xc00),
|
||||
'Dark Lake Hylia Ledge Spike Cave': (0xe80, 0xca0),
|
||||
'Swamp Palace': (0x759, 0xED0)}
|
||||
'Skull Woods First Section Hole (West)': (0x240, 0x380),
|
||||
'Skull Woods First Section Hole (East)': (0x340, 0x380),
|
||||
'Dark Lumberjack Shop': (0x538, 0x177),
|
||||
'Ganons Tower': (0x900, 0x0E0),
|
||||
'Dark Death Mountain Fairy': (0x658, 0x387),
|
||||
'Spike Cave': (0x9F8, 0x268),
|
||||
'Hookshot Cave Back Entrance': (0xD38, 0x038),
|
||||
'Hookshot Cave': (0xD48, 0x107),
|
||||
'Superbunny Cave (Top)': (0xDE0, 0x100),
|
||||
'Superbunny Cave (Bottom)': (0xD38, 0x358),
|
||||
'Dark Death Mountain Ledge (West)': (0xC78, 0x207),
|
||||
'Dark Death Mountain Ledge (East)': (0xD38, 0x207),
|
||||
'Turtle Rock Isolated Ledge Entrance': (0xCD8, 0x2B8),
|
||||
'Dark Death Mountain Shop': (0xDC8, 0x358),
|
||||
'Turtle Rock': (0xF48, 0x108),
|
||||
'Bumper Cave (Top)': (0x5B8, 0x247),
|
||||
'Bumper Cave (Bottom)': (0x5B8, 0x348),
|
||||
'Fortune Teller (Dark)': (0x308, 0x5A8),
|
||||
'Dark Sanctuary Hint': (0x748, 0x4F4),
|
||||
'Dark Potion Shop': (0xCB8, 0x598),
|
||||
'Chest Game': (0x0C8, 0x7E8),
|
||||
'Thieves Town': (0x1F0, 0x7E8),
|
||||
'C-Shaped House': (0x338, 0x7E8),
|
||||
'Brewery': (0x1C8, 0x9D7),
|
||||
'Dark World Shop': (0x338, 0x8E8),
|
||||
'Red Shield Shop': (0x538, 0x778),
|
||||
'Pyramid Hole': (0x800, 0x680),
|
||||
'Pyramid Entrance': (0x718, 0x7A8),
|
||||
'Pyramid Fairy': (0x7B8, 0x7A8),
|
||||
'Palace of Darkness': (0xF40, 0x680),
|
||||
'Palace of Darkness Hint': (0xD70, 0x878),
|
||||
'Hammer Peg Cave': (0x528, 0x9B6),
|
||||
'Archery Game': (0x348, 0xB78),
|
||||
'Bonk Fairy (Dark)': (0x788, 0xA87),
|
||||
'Big Bomb Shop': (0x8B8, 0xB58),
|
||||
'Dark Lake Hylia Fairy': (0xD58, 0xA57),
|
||||
'East Dark World Hint': (0xF68, 0xB58),
|
||||
'Mire Shed': (0x0A8, 0xCC7),
|
||||
'Misery Mire': (0x148, 0xCC7),
|
||||
'Mire Fairy': (0x1E8, 0xCC7),
|
||||
'Mire Hint': (0x388, 0xDE8),
|
||||
'Hype Cave': (0x988, 0xCF8),
|
||||
'Dark Lake Hylia Shop': (0xA68, 0xCC8),
|
||||
'Ice Palace': (0xCA8, 0xE28),
|
||||
'Dark Lake Hylia Ledge Fairy': (0xE68, 0xC37),
|
||||
'Dark Lake Hylia Ledge Hint': (0xEF8, 0xC36),
|
||||
'Dark Lake Hylia Ledge Spike Cave': (0xEB8, 0xCC6),
|
||||
'Swamp Palace': (0x778, 0xF68)}
|
||||
|
||||
default_connector_connections = [('Death Mountain Return Cave (West)', 'Death Mountain Return Cave Exit (West)'),
|
||||
('Death Mountain Return Cave (East)', 'Death Mountain Return Cave Exit (East)'),
|
||||
|
||||
Reference in New Issue
Block a user