gameboy_worlds.emulation.legend_of_zelda.registry
1from typing import Optional, Union, Type, Dict 2from gameboy_worlds.emulation.parser import StateParser 3from gameboy_worlds.emulation.tracker import StateTracker 4from gameboy_worlds.emulation.emulator import Emulator 5 6from gameboy_worlds.emulation.legend_of_zelda.parsers import ( 7 LegendOfZeldaLinksAwakeningParser, 8 LegendOfZeldaTheOracleOfSeasonsParser, 9) 10 11from gameboy_worlds.emulation.legend_of_zelda.trackers import ( 12 LegendOfZeldaOCRTracker, 13 ZeldaLinksAwakeningOwlTestTracker, 14 ZeldaLinksAwakeningShieldTestTracker, 15 ZeldaLinksAwakeningOutsideTarinHouseTestTracker, 16 ZeldaLinksAwakeningOpenInventoryTestTracker, 17 ZeldaLinksAwakeningWeaponTestTracker, 18 ZeldaLinksAwakeningInventoryWeaponEquipTestTracker, 19 ZeldaLinksAwakeningTalkToKidTestTracker, 20 ZeldaLinksAwakeningStatueTalkTestTracker, 21 ZeldaLinksAwakeningReadSignboardTestTracker, 22 ZeldaLinksAwakeningGoInsideShopTestTracker, 23 ZeldaLinksAwakeningMakeCallTestTracker, 24 ZeldaLinksAwakeningEnterDarkForestTestTracker, 25 ZeldaLinksAwakeningInsideTunnelTestTracker, 26 ZeldaLinksAwakeningOpenChestTestTracker, 27 ZeldaLinksAwakeningChestOpenerTestTracker, 28 ZeldaLinksAwakeningHeartTakeTestTracker, 29 ZeldaLinksAwakeningShroomTakeTestTracker, 30 ZeldaLinksAwakeningShroomSwordTestTracker, 31 ZeldaLinksAwakeningShroomShieldTestTracker, 32 ZeldaLinksAwakeningSignCheckerTestTracker, 33 ZeldaLinksAwakeningWaterCheckerTestTracker, 34 ZeldaLinksAwakeningMakeCall2TestTracker, 35 ZeldaLinksAwakeningSkeletonTestTracker, 36 ZeldaLinksAwakeningUndergroundTestTracker, 37 ZeldaLinksAwakeningKidTalkTestTracker, 38 ZeldaLinksAwakeningInsideHouseTestTracker, 39 ZeldaLinksAwakeningPotRoomTestTracker, 40 ZeldaLinksAwakeningPondTestTracker, 41 ZeldaLinksAwakeningWeirdTunnelInsideTestTracker, 42 ZeldaLinksAwakeningWitchTalkTestTracker, 43 ZeldaLinksAwakeningSignboardReaderTestTracker, 44 ZeldaLinksAwakeningPineappleScreenTracker, 45 ZeldaLinksAwakeningCallBoothApproachTracker, 46 ZeldaLinksAwakeningGrannyCornerTracker, 47 ZeldaLinksAwakeningLeaveBaldStoreCarpetTracker, 48 ZeldaLinksAwakeningLeaveTrackTracker, 49 ZeldaLinksAwakeningExitFatHouseTracker, 50 ZeldaLinksAwakeningBoothHouseUpTracker, 51 ZeldaLinksAwakeningChickHouseBlockTracker, 52 ZeldaLinksAwakeningPurplestoneStairsTracker, 53 ZeldaLinksAwakeningHeavyStonePushTracker, 54 ZeldaLinksAwakeningBoyDialogueExitTracker, 55 ZeldaLinksAwakeningDirtPatchTracker, 56 ZeldaLinksAwakeningDirtPatchTwoTracker, 57 ZeldaLinksAwakeningStonehouseRightTreeTracker, 58 ZeldaLinksAwakeningSecondBoyDialogueExitTracker, 59 ZeldaLinksAwakeningRailingJumpTracker, 60 ZeldaLinksAwakeningPalmtJumpTracker, 61 ZeldaLinksAwakeningMonsterDeathTracker, 62 ZeldaLinksAwakeningTileslongEscapeTracker, 63 ZeldaLinksAwakeningBoardSignApproachTracker, 64 ZeldaOracleOfSeasonsOtherPeopleTracker, 65 ZeldaOracleOfSeasonsGirlTalkTracker, 66 ZeldaOracleOfSeasonsJumpingTracker, 67 ZeldaOracleOfSeasonsFarmerTalkTracker, 68 ZeldaOracleOfSeasonsLibraryTracker, 69 ZeldaOracleOfSeasonsParrotTalkTracker, 70 ZeldaOracleOfSeasonsFallTracker, 71 ZeldaOracleOfSeasonsStairsTracker, 72 ZeldaOracleOfSeasonsSignboardReadTracker, 73 ZeldaOracleOfSeasonsShopInsideTracker, 74 ZeldaOracleOfSeasonsShopPersonTalkTracker, 75 ZeldaOracleOfSeasonsGirlHouseTracker, 76 ZeldaOracleOfSeasonsPotInteractionTracker, 77 ZeldaOracleOfSeasonsInsideTunnelTracker, 78 ZeldaOracleOfSeasonsArtistTalkTracker, 79 ZeldaOracleOfSeasonsChickenHouseTracker, 80 ZeldaOracleOfSeasonsJigglyPathWalkTracker, 81 ZeldaOracleOfSeasonsFairyMeetTracker, 82 ZeldaOracleOfSeasonsThingInteractionTracker, 83 ZeldaOracleOfSeasonsInventoryOpenTracker, 84 ZeldaOracleOfSeasonsClockTowerSignReadTracker, 85 ZeldaOracleOfSeasonsNearStairsTracker, 86 ZeldaOracleOfSeasonsTalkToGirlTracker, 87 ZeldaOracleOfSeasonsPierGoTracker, 88 ZeldaOracleOfSeasonsBoardwalkTracker, 89 ZeldaOracleOfSeasonsCatCheckTracker, 90 ZeldaOracleOfSeasonsCatTalkTracker, 91 ZeldaOracleOfSeasonsOwnerTalkTracker, 92 ZeldaOracleOfSeasonsBridgeWalkTracker, 93 ZeldaOracleOfSeasonsDogTracker, 94 ZeldaOracleOfSeasonsMickeyLeftTracker, 95 ZeldaOracleOfSeasonsStepOffGrassBlockTracker, 96 ZeldaOracleOfSeasonsShopSignPathTracker, 97 ZeldaOracleOfSeasonsClocksUpTracker, 98 ZeldaOracleOfSeasonsJoystickRightTracker, 99 ZeldaOracleOfSeasonsJoystickHouseEntryTracker, 100 ZeldaOracleOfSeasonsApproachRedSnakeTracker, 101 ZeldaOracleOfSeasonsApproachBlueSnakeTracker, 102 ZeldaOracleOfSeasonsRedSnakeTalkTracker, 103 ZeldaOracleOfSeasonsBlueSnakeTalkTracker, 104 ZeldaOracleOfSeasonsBlueBookReadTracker, 105 ZeldaOracleOfSeasonsRedBookReadTracker, 106 ZeldaOracleOfSeasonsLavaFloorTracker, 107 ZeldaOracleOfSeasonsStepOffTrackTracker, 108 ZeldaOracleOfSeasonsGloomyPlaceLeftTracker, 109 ZeldaOracleOfSeasonsGameoverDeathTracker, 110 ZeldaOracleOfSeasonsLeaveGreenCarpetTracker, 111 ZeldaOracleOfSeasonsHolesToTrunkTracker, 112 ZeldaOracleOfSeasonsTrunkToHolesTracker, 113 ZeldaOracleOfSeasonsLeftOfTrunkTracker, 114) 115 116 117 118GAME_TO_GB_NAME = { 119 "legend_of_zelda_links_awakening": "LegendOfZeldaLinksAwakening.gbc", 120 "legend_of_zelda_the_oracle_of_seasons": "LegendOfZeldaTheOracleOfSeasons.gbc", 121} 122""" Expected save name for each game. Save the file to <storage_dir_from_config_file>/<game_name>_rom_data/<gb_name>""" 123 124STRONGEST_PARSERS: Dict[str, Type[StateParser]] = { 125 "legend_of_zelda_links_awakening": LegendOfZeldaLinksAwakeningParser, 126 "legend_of_zelda_the_oracle_of_seasons": LegendOfZeldaTheOracleOfSeasonsParser, 127} 128""" Mapping of game names to their corresponding strongest StateParser classes. 129Unless you have a very good reason, you should always use the STRONGEST possible parser for a given game. 130The parser itself does not affect performance, as for it to perform a read / screen comparison operation , it must be called upon by the state tracker. 131This means there is never a reason to use a weaker parser. 132""" 133 134 135AVAILABLE_STATE_TRACKERS: Dict[str, Dict[str, Type[StateTracker]]] = { 136 "legend_of_zelda_links_awakening": { 137 "default": LegendOfZeldaOCRTracker, 138 "pickup_sword_test": ZeldaLinksAwakeningOwlTestTracker, 139 "shield_test": ZeldaLinksAwakeningShieldTestTracker, 140 "outside_tarinhouse_test": ZeldaLinksAwakeningOutsideTarinHouseTestTracker, 141 "open_inventory_test": ZeldaLinksAwakeningOpenInventoryTestTracker, 142 "weapon": ZeldaLinksAwakeningWeaponTestTracker, 143 "inventory_weapon_equip": ZeldaLinksAwakeningInventoryWeaponEquipTestTracker, 144 "talk_to_kid_test": ZeldaLinksAwakeningTalkToKidTestTracker, 145 "statue_talk_test": ZeldaLinksAwakeningStatueTalkTestTracker, 146 "read_signboard_test": ZeldaLinksAwakeningReadSignboardTestTracker, 147 "go_inside_shop_test": ZeldaLinksAwakeningGoInsideShopTestTracker, 148 "make_call_test": ZeldaLinksAwakeningMakeCallTestTracker, 149 "enter_dark_forest_test": ZeldaLinksAwakeningEnterDarkForestTestTracker, 150 "inside_tunnel_test": ZeldaLinksAwakeningInsideTunnelTestTracker, 151 "open_chest_test": ZeldaLinksAwakeningOpenChestTestTracker, 152 "chest_opener_test": ZeldaLinksAwakeningChestOpenerTestTracker, 153 "heart_take_tracker": ZeldaLinksAwakeningHeartTakeTestTracker, 154 "shroom_tracker": ZeldaLinksAwakeningShroomTakeTestTracker, 155 "shroom_sword_tracker": ZeldaLinksAwakeningShroomSwordTestTracker, 156 "shroom_shield_tracker": ZeldaLinksAwakeningShroomShieldTestTracker, 157 "sign_checker": ZeldaLinksAwakeningSignCheckerTestTracker, 158 "water_checker": ZeldaLinksAwakeningWaterCheckerTestTracker, 159 "make_call_2_test": ZeldaLinksAwakeningMakeCall2TestTracker, 160 "skeleton_test": ZeldaLinksAwakeningSkeletonTestTracker, 161 "underground_test": ZeldaLinksAwakeningUndergroundTestTracker, 162 "kid_talk_test": ZeldaLinksAwakeningKidTalkTestTracker, 163 "inside_house_test": ZeldaLinksAwakeningInsideHouseTestTracker, 164 "pot_room_test": ZeldaLinksAwakeningPotRoomTestTracker, 165 "pond_tracker": ZeldaLinksAwakeningPondTestTracker, 166 "weird_tunnel_inside_tracker": ZeldaLinksAwakeningWeirdTunnelInsideTestTracker, 167 "witch_talk_tracker": ZeldaLinksAwakeningWitchTalkTestTracker, 168 "signboard_reader_tracker": ZeldaLinksAwakeningSignboardReaderTestTracker, 169 "pineapple_screen_tracker": ZeldaLinksAwakeningPineappleScreenTracker, 170 "call_booth_approach_tracker": ZeldaLinksAwakeningCallBoothApproachTracker, 171 "granny_corner_tracker": ZeldaLinksAwakeningGrannyCornerTracker, 172 "leave_bald_store_carpet_tracker": ZeldaLinksAwakeningLeaveBaldStoreCarpetTracker, 173 "leave_track_tracker": ZeldaLinksAwakeningLeaveTrackTracker, 174 "exit_fat_house_tracker": ZeldaLinksAwakeningExitFatHouseTracker, 175 "booth_house_up_tracker": ZeldaLinksAwakeningBoothHouseUpTracker, 176 "chick_house_block_tracker": ZeldaLinksAwakeningChickHouseBlockTracker, 177 "purplestone_stairs_tracker": ZeldaLinksAwakeningPurplestoneStairsTracker, 178 "heavy_stone_push_tracker": ZeldaLinksAwakeningHeavyStonePushTracker, 179 "boy_dialogue_exit_tracker": ZeldaLinksAwakeningBoyDialogueExitTracker, 180 "dirt_patch_tracker": ZeldaLinksAwakeningDirtPatchTracker, 181 "dirt_patch_two_tracker": ZeldaLinksAwakeningDirtPatchTwoTracker, 182 "stonehouse_right_tree_tracker": ZeldaLinksAwakeningStonehouseRightTreeTracker, 183 "second_boy_dialogue_exit_tracker": ZeldaLinksAwakeningSecondBoyDialogueExitTracker, 184 "railing_jump_tracker": ZeldaLinksAwakeningRailingJumpTracker, 185 "palmt_jump_tracker": ZeldaLinksAwakeningPalmtJumpTracker, 186 "monster_death_tracker": ZeldaLinksAwakeningMonsterDeathTracker, 187 "tileslong_escape_tracker": ZeldaLinksAwakeningTileslongEscapeTracker, 188 "board_sign_approach_tracker": ZeldaLinksAwakeningBoardSignApproachTracker, 189 190 }, 191 "legend_of_zelda_the_oracle_of_seasons": { 192 "default": LegendOfZeldaOCRTracker, 193 "other_people_tracker": ZeldaOracleOfSeasonsOtherPeopleTracker, 194 "girl_talk_tracker": ZeldaOracleOfSeasonsGirlTalkTracker, 195 "jumping_tracker": ZeldaOracleOfSeasonsJumpingTracker, 196 "farmer_talk_tracker": ZeldaOracleOfSeasonsFarmerTalkTracker, 197 "library_tracker": ZeldaOracleOfSeasonsLibraryTracker, 198 "parrot_talk_tracker": ZeldaOracleOfSeasonsParrotTalkTracker, 199 "fall_tracker": ZeldaOracleOfSeasonsFallTracker, 200 "stairs_tracker": ZeldaOracleOfSeasonsStairsTracker, 201 "signboard_read_tracker": ZeldaOracleOfSeasonsSignboardReadTracker, 202 "shop_inside_tracker": ZeldaOracleOfSeasonsShopInsideTracker, 203 "shop_person_talk_tracker": ZeldaOracleOfSeasonsShopPersonTalkTracker, 204 "girl_house_tracker": ZeldaOracleOfSeasonsGirlHouseTracker, 205 "pot_interaction_tracker": ZeldaOracleOfSeasonsPotInteractionTracker, 206 "inside_tunnel_tracker": ZeldaOracleOfSeasonsInsideTunnelTracker, 207 "artist_talk_tracker": ZeldaOracleOfSeasonsArtistTalkTracker, 208 "chicken_house_tracker": ZeldaOracleOfSeasonsChickenHouseTracker, 209 "jiggly_path_walk": ZeldaOracleOfSeasonsJigglyPathWalkTracker, 210 "fairy_meet_tracker": ZeldaOracleOfSeasonsFairyMeetTracker, 211 "thing_interaction_tracker": ZeldaOracleOfSeasonsThingInteractionTracker, 212 "inventory_open_tracker": ZeldaOracleOfSeasonsInventoryOpenTracker, 213 "sign_read_tracker": ZeldaOracleOfSeasonsClockTowerSignReadTracker, 214 "near_stairs_tracker": ZeldaOracleOfSeasonsNearStairsTracker, 215 "talk_to_girl_tracker": ZeldaOracleOfSeasonsTalkToGirlTracker, 216 "pier_go_tracker": ZeldaOracleOfSeasonsPierGoTracker, 217 "boardwalk_tracker": ZeldaOracleOfSeasonsBoardwalkTracker, 218 "cat_check_tracker": ZeldaOracleOfSeasonsCatCheckTracker, 219 "cat_talk_tracker": ZeldaOracleOfSeasonsCatTalkTracker, 220 "owner_talk_tracker": ZeldaOracleOfSeasonsOwnerTalkTracker, 221 "bridge_walk_tracker": ZeldaOracleOfSeasonsBridgeWalkTracker, 222 "dog_tracker": ZeldaOracleOfSeasonsDogTracker, 223 "mickey_left_tracker": ZeldaOracleOfSeasonsMickeyLeftTracker, 224 "step_off_grass_block_tracker": ZeldaOracleOfSeasonsStepOffGrassBlockTracker, 225 "shop_sign_path_tracker": ZeldaOracleOfSeasonsShopSignPathTracker, 226 "clocks_up_tracker": ZeldaOracleOfSeasonsClocksUpTracker, 227 "joystick_right_tracker": ZeldaOracleOfSeasonsJoystickRightTracker, 228 "joystick_house_entry_tracker": ZeldaOracleOfSeasonsJoystickHouseEntryTracker, 229 "approach_red_snake_tracker": ZeldaOracleOfSeasonsApproachRedSnakeTracker, 230 "approach_blue_snake_tracker": ZeldaOracleOfSeasonsApproachBlueSnakeTracker, 231 "red_snake_talk_tracker": ZeldaOracleOfSeasonsRedSnakeTalkTracker, 232 "blue_snake_talk_tracker": ZeldaOracleOfSeasonsBlueSnakeTalkTracker, 233 "blue_book_read_tracker": ZeldaOracleOfSeasonsBlueBookReadTracker, 234 "red_book_read_tracker": ZeldaOracleOfSeasonsRedBookReadTracker, 235 "lava_floor_tracker": ZeldaOracleOfSeasonsLavaFloorTracker, 236 "step_off_track_tracker": ZeldaOracleOfSeasonsStepOffTrackTracker, 237 "gloomy_place_left_tracker": ZeldaOracleOfSeasonsGloomyPlaceLeftTracker, 238 "gameover_death_tracker": ZeldaOracleOfSeasonsGameoverDeathTracker, 239 "leave_green_carpet_tracker": ZeldaOracleOfSeasonsLeaveGreenCarpetTracker, 240 "holes_to_trunk_tracker": ZeldaOracleOfSeasonsHolesToTrunkTracker, 241 "trunk_to_holes_tracker": ZeldaOracleOfSeasonsTrunkToHolesTracker, 242 "left_of_trunk_tracker": ZeldaOracleOfSeasonsLeftOfTrunkTracker, 243 }, 244 245} 246""" Mapping of game names to their available StateTracker classes with string identifiers. """ 247 248 249AVAILABLE_EMULATORS: Dict[str, Dict[str, Type[Emulator]]] = { 250 "legend_of_zelda_links_awakening": {"default": Emulator}, 251 "legend_of_zelda_the_oracle_of_seasons": {"default": Emulator}, 252} 253""" Mapping of game names to their available Emulator classes with string identifiers. """
GAME_TO_GB_NAME =
{'legend_of_zelda_links_awakening': 'LegendOfZeldaLinksAwakening.gbc', 'legend_of_zelda_the_oracle_of_seasons': 'LegendOfZeldaTheOracleOfSeasons.gbc'}
Expected save name for each game. Save the file to
STRONGEST_PARSERS: Dict[str, Type[gameboy_worlds.emulation.parser.StateParser]] =
{'legend_of_zelda_links_awakening': <class 'gameboy_worlds.emulation.legend_of_zelda.parsers.LegendOfZeldaLinksAwakeningParser'>, 'legend_of_zelda_the_oracle_of_seasons': <class 'gameboy_worlds.emulation.legend_of_zelda.parsers.LegendOfZeldaTheOracleOfSeasonsParser'>}
Mapping of game names to their corresponding strongest StateParser classes. Unless you have a very good reason, you should always use the STRONGEST possible parser for a given game. The parser itself does not affect performance, as for it to perform a read / screen comparison operation , it must be called upon by the state tracker. This means there is never a reason to use a weaker parser.
AVAILABLE_STATE_TRACKERS: Dict[str, Dict[str, Type[gameboy_worlds.emulation.tracker.StateTracker]]] =
{'legend_of_zelda_links_awakening': {'default': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.LegendOfZeldaOCRTracker'>, 'pickup_sword_test': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningOwlTestTracker'>, 'shield_test': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningShieldTestTracker'>, 'outside_tarinhouse_test': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningOutsideTarinHouseTestTracker'>, 'open_inventory_test': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningOpenInventoryTestTracker'>, 'weapon': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningWeaponTestTracker'>, 'inventory_weapon_equip': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningInventoryWeaponEquipTestTracker'>, 'talk_to_kid_test': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningTalkToKidTestTracker'>, 'statue_talk_test': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningStatueTalkTestTracker'>, 'read_signboard_test': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningReadSignboardTestTracker'>, 'go_inside_shop_test': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningGoInsideShopTestTracker'>, 'make_call_test': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningMakeCallTestTracker'>, 'enter_dark_forest_test': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningEnterDarkForestTestTracker'>, 'inside_tunnel_test': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningInsideTunnelTestTracker'>, 'open_chest_test': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningOpenChestTestTracker'>, 'chest_opener_test': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningChestOpenerTestTracker'>, 'heart_take_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningHeartTakeTestTracker'>, 'shroom_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningShroomTakeTestTracker'>, 'shroom_sword_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningShroomSwordTestTracker'>, 'shroom_shield_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningShroomShieldTestTracker'>, 'sign_checker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningSignCheckerTestTracker'>, 'water_checker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningWaterCheckerTestTracker'>, 'make_call_2_test': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningMakeCall2TestTracker'>, 'skeleton_test': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningSkeletonTestTracker'>, 'underground_test': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningUndergroundTestTracker'>, 'kid_talk_test': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningKidTalkTestTracker'>, 'inside_house_test': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningInsideHouseTestTracker'>, 'pot_room_test': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningPotRoomTestTracker'>, 'pond_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningPondTestTracker'>, 'weird_tunnel_inside_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningWeirdTunnelInsideTestTracker'>, 'witch_talk_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningWitchTalkTestTracker'>, 'signboard_reader_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningSignboardReaderTestTracker'>, 'pineapple_screen_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningPineappleScreenTracker'>, 'call_booth_approach_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningCallBoothApproachTracker'>, 'granny_corner_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningGrannyCornerTracker'>, 'leave_bald_store_carpet_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningLeaveBaldStoreCarpetTracker'>, 'leave_track_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningLeaveTrackTracker'>, 'exit_fat_house_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningExitFatHouseTracker'>, 'booth_house_up_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningBoothHouseUpTracker'>, 'chick_house_block_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningChickHouseBlockTracker'>, 'purplestone_stairs_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningPurplestoneStairsTracker'>, 'heavy_stone_push_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningHeavyStonePushTracker'>, 'boy_dialogue_exit_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningBoyDialogueExitTracker'>, 'dirt_patch_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningDirtPatchTracker'>, 'dirt_patch_two_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningDirtPatchTwoTracker'>, 'stonehouse_right_tree_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningStonehouseRightTreeTracker'>, 'second_boy_dialogue_exit_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningSecondBoyDialogueExitTracker'>, 'railing_jump_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningRailingJumpTracker'>, 'palmt_jump_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningPalmtJumpTracker'>, 'monster_death_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningMonsterDeathTracker'>, 'tileslong_escape_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningTileslongEscapeTracker'>, 'board_sign_approach_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaLinksAwakeningBoardSignApproachTracker'>}, 'legend_of_zelda_the_oracle_of_seasons': {'default': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.LegendOfZeldaOCRTracker'>, 'other_people_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsOtherPeopleTracker'>, 'girl_talk_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsGirlTalkTracker'>, 'jumping_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsJumpingTracker'>, 'farmer_talk_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsFarmerTalkTracker'>, 'library_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsLibraryTracker'>, 'parrot_talk_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsParrotTalkTracker'>, 'fall_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsFallTracker'>, 'stairs_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsStairsTracker'>, 'signboard_read_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsSignboardReadTracker'>, 'shop_inside_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsShopInsideTracker'>, 'shop_person_talk_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsShopPersonTalkTracker'>, 'girl_house_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsGirlHouseTracker'>, 'pot_interaction_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsPotInteractionTracker'>, 'inside_tunnel_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsInsideTunnelTracker'>, 'artist_talk_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsArtistTalkTracker'>, 'chicken_house_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsChickenHouseTracker'>, 'jiggly_path_walk': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsJigglyPathWalkTracker'>, 'fairy_meet_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsFairyMeetTracker'>, 'thing_interaction_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsThingInteractionTracker'>, 'inventory_open_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsInventoryOpenTracker'>, 'sign_read_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsClockTowerSignReadTracker'>, 'near_stairs_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsNearStairsTracker'>, 'talk_to_girl_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsTalkToGirlTracker'>, 'pier_go_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsPierGoTracker'>, 'boardwalk_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsBoardwalkTracker'>, 'cat_check_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsCatCheckTracker'>, 'cat_talk_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsCatTalkTracker'>, 'owner_talk_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsOwnerTalkTracker'>, 'bridge_walk_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsBridgeWalkTracker'>, 'dog_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsDogTracker'>, 'mickey_left_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsMickeyLeftTracker'>, 'step_off_grass_block_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsStepOffGrassBlockTracker'>, 'shop_sign_path_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsShopSignPathTracker'>, 'clocks_up_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsClocksUpTracker'>, 'joystick_right_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsJoystickRightTracker'>, 'joystick_house_entry_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsJoystickHouseEntryTracker'>, 'approach_red_snake_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsApproachRedSnakeTracker'>, 'approach_blue_snake_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsApproachBlueSnakeTracker'>, 'red_snake_talk_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsRedSnakeTalkTracker'>, 'blue_snake_talk_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsBlueSnakeTalkTracker'>, 'blue_book_read_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsBlueBookReadTracker'>, 'red_book_read_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsRedBookReadTracker'>, 'lava_floor_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsLavaFloorTracker'>, 'step_off_track_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsStepOffTrackTracker'>, 'gloomy_place_left_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsGloomyPlaceLeftTracker'>, 'gameover_death_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsGameoverDeathTracker'>, 'leave_green_carpet_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsLeaveGreenCarpetTracker'>, 'holes_to_trunk_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsHolesToTrunkTracker'>, 'trunk_to_holes_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsTrunkToHolesTracker'>, 'left_of_trunk_tracker': <class 'gameboy_worlds.emulation.legend_of_zelda.trackers.ZeldaOracleOfSeasonsLeftOfTrunkTracker'>}}
Mapping of game names to their available StateTracker classes with string identifiers.
AVAILABLE_EMULATORS: Dict[str, Dict[str, Type[gameboy_worlds.emulation.emulator.Emulator]]] =
{'legend_of_zelda_links_awakening': {'default': <class 'gameboy_worlds.emulation.emulator.Emulator'>}, 'legend_of_zelda_the_oracle_of_seasons': {'default': <class 'gameboy_worlds.emulation.emulator.Emulator'>}}
Mapping of game names to their available Emulator classes with string identifiers.