11
22class EntranceInfo :
3- def __init__ (self , room , alt_room = None , * , type = None , dungeon = None , index = None , instrument_room = None , target = None ):
3+ def __init__ (self , room , alt_room = None , * , type = None , dungeon = None , index = None , instrument_room = None , target = None , x = None , y = None ):
44 if type is None and dungeon is not None :
55 type = "dungeon"
66 assert type is not None , "Missing entrance type"
@@ -11,6 +11,8 @@ def __init__(self, room, alt_room=None, *, type=None, dungeon=None, index=None,
1111 self .index = index
1212 self .instrument_room = instrument_room
1313 self .target = target
14+ self .x = x
15+ self .y = y
1416
1517
1618ENTRANCE_INFO = {
@@ -23,22 +25,22 @@ def __init__(self, room, alt_room=None, *, type=None, dungeon=None, index=None,
2325 "left_taltal_entrance" : EntranceInfo (0x15 , target = 0x2ea , type = "connector" ),
2426 "obstacle_cave_entrance" : EntranceInfo (0x17 , target = 0x2b6 , type = "connector" ),
2527 "left_to_right_taltalentrance" : EntranceInfo (0x07 , target = 0x2ee , type = "connector" ),
26- "obstacle_cave_outside_chest" : EntranceInfo (0x18 , target = 0x2bb , type = "connector" , index = 0 ),
27- "obstacle_cave_exit" : EntranceInfo (0x18 , target = 0x2bc , type = "connector" , index = 1 ),
28+ "obstacle_cave_outside_chest" : EntranceInfo (0x18 , target = 0x2bb , type = "connector" , index = 0 , x = 104 , y = 18 ),
29+ "obstacle_cave_exit" : EntranceInfo (0x18 , target = 0x2bc , type = "connector" , index = 1 , x = 136 , y = 18 ),
2830 "papahl_entrance" : EntranceInfo (0x19 , target = 0x289 , type = "connector" ),
29- "papahl_exit" : EntranceInfo (0x0A , target = 0x28b , type = "connector" , index = 0 ),
30- "rooster_house" : EntranceInfo (0x0A , target = 0x29f , type = "dummy" , index = 2 ),
31- "bird_cave" : EntranceInfo (0x0A , target = 0x27e , type = "single" , index = 1 ),
32- "multichest_left" : EntranceInfo (0x1D , target = 0x2f9 , type = "connector" , index = 0 ),
33- "multichest_right" : EntranceInfo (0x1D , target = 0x2fa , type = "connector" , index = 1 ),
31+ "papahl_exit" : EntranceInfo (0x0A , target = 0x28b , type = "connector" , index = 0 , x = 24 , y = 112 ),
32+ "rooster_house" : EntranceInfo (0x0A , target = 0x29f , type = "dummy" , index = 2 , x = 72 , y = 34 ),
33+ "bird_cave" : EntranceInfo (0x0A , target = 0x27e , type = "single" , index = 1 , x = 120 , y = 112 ),
34+ "multichest_left" : EntranceInfo (0x1D , target = 0x2f9 , type = "connector" , index = 0 , x = 24 , y = 48 ),
35+ "multichest_right" : EntranceInfo (0x1D , target = 0x2fa , type = "connector" , index = 1 , x = 120 , y = 80 ),
3436 "multichest_top" : EntranceInfo (0x0D , target = 0x2f2 , type = "connector" ),
35- "right_taltal_connector1" : EntranceInfo (0x1E , target = 0x280 , type = "connector" , index = 0 ),
36- "right_taltal_connector2" : EntranceInfo (0x1F , target = 0x282 , type = "connector" , index = 0 ),
37- "right_taltal_connector3" : EntranceInfo (0x1E , target = 0x283 , type = "connector" , index = 1 ),
38- "right_taltal_connector4" : EntranceInfo (0x1F , target = 0x287 , type = "connector" , index = 2 ),
39- "right_taltal_connector5" : EntranceInfo (0x1F , target = 0x28c , type = "connector" , index = 1 ),
37+ "right_taltal_connector1" : EntranceInfo (0x1E , target = 0x280 , type = "connector" , index = 0 , x = 56 , y = 16 ),
38+ "right_taltal_connector2" : EntranceInfo (0x1F , target = 0x282 , type = "connector" , index = 0 , x = 40 , y = 16 ),
39+ "right_taltal_connector3" : EntranceInfo (0x1E , target = 0x283 , type = "connector" , index = 1 , x = 120 , y = 16 ),
40+ "right_taltal_connector4" : EntranceInfo (0x1F , target = 0x287 , type = "connector" , index = 2 , x = 88 , y = 64 ),
41+ "right_taltal_connector5" : EntranceInfo (0x1F , target = 0x28c , type = "connector" , index = 1 , x = 120 , y = 16 ),
4042 "right_taltal_connector6" : EntranceInfo (0x0F , target = 0x28e , type = "connector" ),
41- "right_fairy" : EntranceInfo (0x1F , target = 0x1fb , type = "dummy" , index = 3 ),
43+ "right_fairy" : EntranceInfo (0x1F , target = 0x1fb , type = "dummy" , index = 3 , x = 56 , y = 80 ),
4244 "d7" : EntranceInfo (0x0E , "Alt0E" , target = 0x20e , dungeon = 7 , instrument_room = 0x22C ),
4345 # Row 2-3
4446 "writes_cave_left" : EntranceInfo (0x20 , target = 0x2ae , type = "connector" ),
@@ -48,12 +50,12 @@ def __init__(self, room, alt_room=None, *, type=None, dungeon=None, index=None,
4850 "d2" : EntranceInfo (0x24 , target = 0x136 , dungeon = 2 , instrument_room = 0x12A ),
4951 "moblin_cave" : EntranceInfo (0x35 , target = 0x2f0 , type = "single" ),
5052 "photo_house" : EntranceInfo (0x37 , target = 0x2b5 , type = "dummy" ),
51- "mambo" : EntranceInfo (0x2A , target = 0x2fd , type = "single " ),
52- "d4" : EntranceInfo (0x2B , "Alt2B" , target = 0x17a , dungeon = 4 , index = 0 , instrument_room = 0x162 ),
53+ "mambo" : EntranceInfo (0x2A , target = 0x2fd , type = "water " ),
54+ "d4" : EntranceInfo (0x2B , "Alt2B" , target = 0x17a , dungeon = 4 , index = 0 , x = 72 , y = 34 , instrument_room = 0x162 ),
5355 # TODO
5456 # "d4_connector": EntranceInfo(0x2B, "Alt2B", index=1),
5557 # "d4_connector_exit": EntranceInfo(0x2D),
56- "heartpiece_swim_cave" : EntranceInfo (0x2E , target = 0x1f2 , type = "single " ),
58+ "heartpiece_swim_cave" : EntranceInfo (0x2E , target = 0x1f2 , type = "water " ),
5759 "raft_return_exit" : EntranceInfo (0x2F , target = 0x1e7 , type = "connector" ),
5860 "raft_house" : EntranceInfo (0x3F , target = 0x2b0 , type = "insanity" ),
5961 "raft_return_enter" : EntranceInfo (0x8F , target = 0x1f7 , type = "connector" ),
@@ -70,19 +72,19 @@ def __init__(self, room, alt_room=None, *, type=None, dungeon=None, index=None,
7072 # Castle
7173 "castle_jump_cave" : EntranceInfo (0x78 , target = 0x1fd , type = "single" ),
7274 "castle_main_entrance" : EntranceInfo (0x69 , target = 0x2d3 , type = "connector" ),
73- "castle_upper_left" : EntranceInfo (0x59 , target = 0x2d5 , type = "connector" , index = 0 ),
74- "castle_upper_right" : EntranceInfo (0x59 , target = 0x2d6 , type = "single" , index = 1 ),
75+ "castle_upper_left" : EntranceInfo (0x59 , target = 0x2d5 , type = "connector" , index = 0 , x = 24 , y = 48 ),
76+ "castle_upper_right" : EntranceInfo (0x59 , target = 0x2d6 , type = "single" , index = 1 , x = 88 , y = 64 ),
7577 "castle_secret_exit" : EntranceInfo (0x49 , target = 0x1eb , type = "connector" ),
7678 "castle_secret_entrance" : EntranceInfo (0x4A , target = 0x1ec , type = "connector" ),
7779 "castle_phone" : EntranceInfo (0x4B , target = 0x2cc , type = "dummy" ),
7880 # Mabe village
79- "papahl_house_left" : EntranceInfo (0x82 , target = 0x2a5 , type = "connector" , index = 0 ),
80- "papahl_house_right" : EntranceInfo (0x82 , target = 0x2a6 , type = "connector" , index = 1 ),
81+ "papahl_house_left" : EntranceInfo (0x82 , target = 0x2a5 , type = "connector" , index = 0 , x = 88 , y = 82 ),
82+ "papahl_house_right" : EntranceInfo (0x82 , target = 0x2a6 , type = "connector" , index = 1 , x = 120 , y = 82 ),
8183 "dream_hut" : EntranceInfo (0x83 , target = 0x2aa , type = "single" ),
8284 "rooster_grave" : EntranceInfo (0x92 , target = 0x1f4 , type = "single" ),
8385 "shop" : EntranceInfo (0x93 , target = 0x2a1 , type = "single" ),
84- "madambowwow" : EntranceInfo (0xA1 , target = 0x2a7 , type = "dummy" , index = 1 ),
85- "kennel" : EntranceInfo (0xA1 , target = 0x2b2 , type = "single" , index = 0 ),
86+ "madambowwow" : EntranceInfo (0xA1 , target = 0x2a7 , type = "dummy" , index = 1 , x = 56 , y = 66 ),
87+ "kennel" : EntranceInfo (0xA1 , target = 0x2b2 , type = "single" , index = 0 , x = 88 , y = 66 ),
8688 "start_house" : EntranceInfo (0xA2 , target = 0x2a3 , type = "start" ),
8789 "library" : EntranceInfo (0xB0 , target = 0x1fa , type = "dummy" ),
8890 "ulrira" : EntranceInfo (0xB1 , target = 0x2a9 , type = "dummy" ),
@@ -97,9 +99,9 @@ def __init__(self, room, alt_room=None, *, type=None, dungeon=None, index=None,
9799 "d3" : EntranceInfo (0xB5 , target = 0x152 , dungeon = 3 , instrument_room = 0x159 ),
98100 "prairie_right_phone" : EntranceInfo (0x88 , target = 0x29c , type = "dummy" ),
99101 "seashell_mansion" : EntranceInfo (0x8A , target = 0x2e9 , type = "single" ),
100- "prairie_right_cave_top" : EntranceInfo (0xB8 , target = 0x292 , type = "connector" , index = 1 ),
102+ "prairie_right_cave_top" : EntranceInfo (0xB8 , target = 0x292 , type = "connector" , index = 1 , x = 120 , y = 96 ),
101103 "prairie_right_cave_bottom" : EntranceInfo (0xC8 , target = 0x293 , type = "connector" ),
102- "prairie_right_cave_high" : EntranceInfo (0xB8 , target = 0x295 , type = "connector" , index = 0 ),
104+ "prairie_right_cave_high" : EntranceInfo (0xB8 , target = 0x295 , type = "connector" , index = 0 , x = 88 , y = 48 ),
103105 "prairie_to_animal_connector" : EntranceInfo (0xAA , target = 0x2d0 , type = "connector" ),
104106 "animal_to_prairie_connector" : EntranceInfo (0xAB , target = 0x2d1 , type = "connector" ),
105107
@@ -126,11 +128,11 @@ def __init__(self, room, alt_room=None, *, type=None, dungeon=None, index=None,
126128 "d5" : EntranceInfo (0xD9 , target = 0x1a1 , dungeon = 5 , instrument_room = 0x182 ),
127129 # Animal village
128130 "animal_phone" : EntranceInfo (0xDB , target = 0x2e3 , type = "dummy" ),
129- "animal_house1" : EntranceInfo (0xCC , target = 0x2db , type = "dummy" , index = 0 ),
130- "animal_house2" : EntranceInfo (0xCC , target = 0x2dd , type = "dummy" , index = 1 ),
131- "animal_house3" : EntranceInfo (0xCD , target = 0x2d9 , type = "trade" , index = 1 ),
132- "animal_house4" : EntranceInfo (0xCD , target = 0x2da , type = "dummy" , index = 2 ),
131+ "animal_house1" : EntranceInfo (0xCC , target = 0x2db , type = "dummy" , index = 0 , x = 40 , y = 80 ),
132+ "animal_house2" : EntranceInfo (0xCC , target = 0x2dd , type = "dummy" , index = 1 , x = 120 , y = 80 ),
133+ "animal_house3" : EntranceInfo (0xCD , target = 0x2d9 , type = "trade" , index = 1 , x = 40 , y = 80 ),
134+ "animal_house4" : EntranceInfo (0xCD , target = 0x2da , type = "dummy" , index = 2 , x = 88 , y = 80 ),
133135 "animal_house5" : EntranceInfo (0xDD , target = 0x2d7 , type = "trade" ),
134- "animal_cave" : EntranceInfo (0xCD , target = 0x2f7 , type = "single" , index = 0 ),
136+ "animal_cave" : EntranceInfo (0xCD , target = 0x2f7 , type = "single" , index = 0 , x = 136 , y = 32 ),
135137 "desert_cave" : EntranceInfo (0xCF , target = 0x1f9 , type = "single" ),
136138}
0 commit comments