 81a239325d
			
		
	
	81a239325d
	
	
	
		
			
			Adds Link's Awakening: DX. Fully imports and forks LADXR, with permission - https://github.com/daid/LADXR
		
			
				
	
	
		
			137 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			137 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
 | |
| class EntranceInfo:
 | |
|     def __init__(self, room, alt_room=None, *, type=None, dungeon=None, index=None, instrument_room=None, target=None):
 | |
|         if type is None and dungeon is not None:
 | |
|             type = "dungeon"
 | |
|         assert type is not None, "Missing entrance type"
 | |
|         self.type = type
 | |
|         self.room = room
 | |
|         self.alt_room = alt_room
 | |
|         self.dungeon = dungeon
 | |
|         self.index = index
 | |
|         self.instrument_room = instrument_room
 | |
|         self.target = target
 | |
| 
 | |
| 
 | |
| ENTRANCE_INFO = {
 | |
|     # Row0-1
 | |
|     "d8":                           EntranceInfo(0x10, target=0x25d, dungeon=8, instrument_room=0x230),
 | |
|     "phone_d8":                     EntranceInfo(0x11, target=0x299, type="dummy"),
 | |
|     "fire_cave_exit":               EntranceInfo(0x03, target=0x1ee, type="connector"),
 | |
|     "fire_cave_entrance":           EntranceInfo(0x13, target=0x1fe, type="connector"),
 | |
|     "madbatter_taltal":             EntranceInfo(0x04, target=0x1e2, type="single"),
 | |
|     "left_taltal_entrance":         EntranceInfo(0x15, target=0x2ea, type="connector"),
 | |
|     "obstacle_cave_entrance":       EntranceInfo(0x17, target=0x2b6, type="connector"),
 | |
|     "left_to_right_taltalentrance": EntranceInfo(0x07, target=0x2ee, type="connector"),
 | |
|     "obstacle_cave_outside_chest":  EntranceInfo(0x18, target=0x2bb, type="connector", index=0),
 | |
|     "obstacle_cave_exit":           EntranceInfo(0x18, target=0x2bc, type="connector", index=1),
 | |
|     "papahl_entrance":              EntranceInfo(0x19, target=0x289, type="connector"),
 | |
|     "papahl_exit":                  EntranceInfo(0x0A, target=0x28b, type="connector", index=0),
 | |
|     "rooster_house":                EntranceInfo(0x0A, target=0x29f, type="dummy", index=2),
 | |
|     "bird_cave":                    EntranceInfo(0x0A, target=0x27e, type="single", index=1),
 | |
|     "multichest_left":              EntranceInfo(0x1D, target=0x2f9, type="connector", index=0),
 | |
|     "multichest_right":             EntranceInfo(0x1D, target=0x2fa, type="connector", index=1),
 | |
|     "multichest_top":               EntranceInfo(0x0D, target=0x2f2, type="connector"),
 | |
|     "right_taltal_connector1":      EntranceInfo(0x1E, target=0x280, type="connector", index=0),
 | |
|     "right_taltal_connector2":      EntranceInfo(0x1F, target=0x282, type="connector", index=0),
 | |
|     "right_taltal_connector3":      EntranceInfo(0x1E, target=0x283, type="connector", index=1),
 | |
|     "right_taltal_connector4":      EntranceInfo(0x1F, target=0x287, type="connector", index=2),
 | |
|     "right_taltal_connector5":      EntranceInfo(0x1F, target=0x28c, type="connector", index=1),
 | |
|     "right_taltal_connector6":      EntranceInfo(0x0F, target=0x28e, type="connector"),
 | |
|     "right_fairy":                  EntranceInfo(0x1F, target=0x1fb, type="dummy", index=3),
 | |
|     "d7":                           EntranceInfo(0x0E, "Alt0E", target=0x20e, dungeon=7, instrument_room=0x22C),
 | |
|     # Row 2-3
 | |
|     "writes_cave_left":             EntranceInfo(0x20, target=0x2ae, type="connector"),
 | |
|     "writes_cave_right":            EntranceInfo(0x21, target=0x2af, type="connector"),
 | |
|     "writes_house":                 EntranceInfo(0x30, target=0x2a8, type="trade"),
 | |
|     "writes_phone":                 EntranceInfo(0x31, target=0x29b, type="dummy"),
 | |
|     "d2":                           EntranceInfo(0x24, target=0x136, dungeon=2, instrument_room=0x12A),
 | |
|     "moblin_cave":                  EntranceInfo(0x35, target=0x2f0, type="single"),
 | |
|     "photo_house":                  EntranceInfo(0x37, target=0x2b5, type="dummy"),
 | |
|     "mambo":                        EntranceInfo(0x2A, target=0x2fd, type="single"),
 | |
|     "d4":                           EntranceInfo(0x2B, "Alt2B", target=0x17a, dungeon=4, index=0, instrument_room=0x162),
 | |
|     # TODO
 | |
|     #  "d4_connector":                 EntranceInfo(0x2B, "Alt2B", index=1),
 | |
|     #  "d4_connector_exit":            EntranceInfo(0x2D),
 | |
|     "heartpiece_swim_cave":         EntranceInfo(0x2E, target=0x1f2, type="single"),
 | |
|     "raft_return_exit":             EntranceInfo(0x2F, target=0x1e7, type="connector"),
 | |
|     "raft_house":                   EntranceInfo(0x3F, target=0x2b0, type="insanity"),
 | |
|     "raft_return_enter":            EntranceInfo(0x8F, target=0x1f7, type="connector"),
 | |
|     # Forest and everything right of it
 | |
|     "hookshot_cave":                EntranceInfo(0x42, target=0x2b3, type="single"),
 | |
|     "toadstool_exit":               EntranceInfo(0x50, target=0x2ab, type="connector"),
 | |
|     "forest_madbatter":             EntranceInfo(0x52, target=0x1e1, type="single"),
 | |
|     "toadstool_entrance":           EntranceInfo(0x62, target=0x2bd, type="connector"),
 | |
|     "crazy_tracy":                  EntranceInfo(0x45, target=0x2ad, type="dummy"),
 | |
|     "witch":                        EntranceInfo(0x65, target=0x2a2, type="single"),
 | |
|     "graveyard_cave_left":          EntranceInfo(0x75, target=0x2de, type="connector"),
 | |
|     "graveyard_cave_right":         EntranceInfo(0x76, target=0x2df, type="connector"),
 | |
|     "d0":                           EntranceInfo(0x77, target=0x312, dungeon=9, index="all", instrument_room=0x301),
 | |
|     # Castle
 | |
|     "castle_jump_cave":             EntranceInfo(0x78, target=0x1fd, type="single"),
 | |
|     "castle_main_entrance":         EntranceInfo(0x69, target=0x2d3, type="connector"),
 | |
|     "castle_upper_left":            EntranceInfo(0x59, target=0x2d5, type="connector", index=0),
 | |
|     "castle_upper_right":           EntranceInfo(0x59, target=0x2d6, type="single", index=1),
 | |
|     "castle_secret_exit":           EntranceInfo(0x49, target=0x1eb, type="connector"),
 | |
|     "castle_secret_entrance":       EntranceInfo(0x4A, target=0x1ec, type="connector"),
 | |
|     "castle_phone":                 EntranceInfo(0x4B, target=0x2cc, type="dummy"),
 | |
|     # Mabe village
 | |
|     "papahl_house_left":            EntranceInfo(0x82, target=0x2a5, type="connector", index=0),
 | |
|     "papahl_house_right":           EntranceInfo(0x82, target=0x2a6, type="connector", index=1),
 | |
|     "dream_hut":                    EntranceInfo(0x83, target=0x2aa, type="single"),
 | |
|     "rooster_grave":                EntranceInfo(0x92, target=0x1f4, type="single"),
 | |
|     "shop":                         EntranceInfo(0x93, target=0x2a1, type="single"),
 | |
|     "madambowwow":                  EntranceInfo(0xA1, target=0x2a7, type="dummy", index=1),
 | |
|     "kennel":                       EntranceInfo(0xA1, target=0x2b2, type="single", index=0),
 | |
|     "start_house":                  EntranceInfo(0xA2, target=0x2a3, type="start"),
 | |
|     "library":                      EntranceInfo(0xB0, target=0x1fa, type="dummy"),
 | |
|     "ulrira":                       EntranceInfo(0xB1, target=0x2a9, type="dummy"),
 | |
|     "mabe_phone":                   EntranceInfo(0xB2, target=0x2cb, type="dummy"),
 | |
|     "trendy_shop":                  EntranceInfo(0xB3, target=0x2a0, type="trade"),
 | |
|     # Ukuku Prairie
 | |
|     "prairie_left_phone":           EntranceInfo(0xA4, target=0x2b4, type="dummy"),
 | |
|     "prairie_left_cave1":           EntranceInfo(0x84, target=0x2cd, type="single"),
 | |
|     "prairie_left_cave2":           EntranceInfo(0x86, target=0x2f4, type="single"),
 | |
|     "prairie_left_fairy":           EntranceInfo(0x87, target=0x1f3, type="dummy"),
 | |
|     "mamu":                         EntranceInfo(0xD4, target=0x2fb, type="insanity"),
 | |
|     "d3":                           EntranceInfo(0xB5, target=0x152, dungeon=3, instrument_room=0x159),
 | |
|     "prairie_right_phone":          EntranceInfo(0x88, target=0x29c, type="dummy"),
 | |
|     "seashell_mansion":             EntranceInfo(0x8A, target=0x2e9, type="single"),
 | |
|     "prairie_right_cave_top":       EntranceInfo(0xB8, target=0x292, type="connector", index=1),
 | |
|     "prairie_right_cave_bottom":    EntranceInfo(0xC8, target=0x293, type="connector"),
 | |
|     "prairie_right_cave_high":      EntranceInfo(0xB8, target=0x295, type="connector", index=0),
 | |
|     "prairie_to_animal_connector":  EntranceInfo(0xAA, target=0x2d0, type="connector"),
 | |
|     "animal_to_prairie_connector":  EntranceInfo(0xAB, target=0x2d1, type="connector"),
 | |
|     
 | |
|     "d6":                           EntranceInfo(0x8C, "Alt8C", target=0x1d4, dungeon=6, instrument_room=0x1B5),
 | |
|     "d6_connector_exit":            EntranceInfo(0x9C, target=0x1f0, type="connector"),
 | |
|     "d6_connector_entrance":        EntranceInfo(0x9D, target=0x1f1, type="connector"),
 | |
|     "armos_fairy":                  EntranceInfo(0x8D, target=0x1ac, type="dummy"),
 | |
|     "armos_maze_cave":              EntranceInfo(0xAE, target=0x2fc, type="single"),
 | |
|     "armos_temple":                 EntranceInfo(0xAC, target=0x28f, type="single"),
 | |
|     # Beach area
 | |
|     "d1":                           EntranceInfo(0xD3, target=0x117, dungeon=1, instrument_room=0x102),
 | |
|     "boomerang_cave":               EntranceInfo(0xF4, target=0x1f5, type="single", instrument_room="Alt1F5"),  # instrument_room is to configure the exit on the alt room layout
 | |
|     "banana_seller":                EntranceInfo(0xE3, target=0x2fe, type="trade"),
 | |
|     "ghost_house":                  EntranceInfo(0xF6, target=0x1e3, type="single"),
 | |
| 
 | |
|     # Lower prairie
 | |
|     "richard_house":                EntranceInfo(0xD6, target=0x2c7, type="connector"),
 | |
|     "richard_maze":                 EntranceInfo(0xC6, target=0x2c9, type="connector"),
 | |
|     "prairie_low_phone":            EntranceInfo(0xE8, target=0x29d, type="dummy"),
 | |
|     "prairie_madbatter_connector_entrance": EntranceInfo(0xF9, target=0x1f6, type="connector"),
 | |
|     "prairie_madbatter_connector_exit": EntranceInfo(0xE7, target=0x1e5, type="connector"),
 | |
|     "prairie_madbatter":            EntranceInfo(0xE6, target=0x1e0, type="single"),
 | |
| 
 | |
|     "d5":                           EntranceInfo(0xD9, target=0x1a1, dungeon=5, instrument_room=0x182),
 | |
|     # Animal village
 | |
|     "animal_phone":                 EntranceInfo(0xDB, target=0x2e3, type="dummy"),
 | |
|     "animal_house1":                EntranceInfo(0xCC, target=0x2db, type="dummy", index=0),
 | |
|     "animal_house2":                EntranceInfo(0xCC, target=0x2dd, type="dummy", index=1),
 | |
|     "animal_house3":                EntranceInfo(0xCD, target=0x2d9, type="trade", index=1),
 | |
|     "animal_house4":                EntranceInfo(0xCD, target=0x2da, type="dummy", index=2),
 | |
|     "animal_house5":                EntranceInfo(0xDD, target=0x2d7, type="trade"),
 | |
|     "animal_cave":                  EntranceInfo(0xCD, target=0x2f7, type="single", index=0),
 | |
|     "desert_cave":                  EntranceInfo(0xCF, target=0x1f9, type="single"),
 | |
| }
 |