gameboy_worlds.emulation.sword_of_hope.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 5from gameboy_worlds.emulation.sword_of_hope.parsers import ( 6 SwordOfHope1Parser, 7 SwordOfHope2Parser, 8) 9from gameboy_worlds.emulation.sword_of_hope.trackers import ( 10 SwordOfHopeOCRTracker, 11 SwordOfHope1MillRoomTestTracker, 12 SwordOfHope1ShamanRoomTestTracker, 13 SwordOfHope1DialogueClearTestTracker, 14 SwordOfHope1BattleWonTestTracker, 15 SwordOfHope1LookItemTestTracker, 16 SwordOfHope1BuyItemTestTracker, 17 SwordOfHope1OverworldFromDefaultTestTracker, 18 SwordOfHope1TalkToNpcTestTracker, 19 SwordOfHope1MenuOpenCloseTestTracker, 20 SwordOfHope1BattleMagicCommandTestTracker, 21 SwordOfHope1CastTeleportTestTracker, 22 SwordOfHope1TalkToNpcMultipleTestTracker, 23 SwordOfHope1BinaryChoiceSaveTestTracker, 24 SwordOfHope1LookSurroundHerbTestTracker, 25 SwordOfHope1DefeatTreantTestTracker, 26 SwordOfHope1UseKeyUnlockTestTracker, 27 SwordOfHope1CollectScrollGraceTestTracker, 28 SwordOfHope1CastGraceAltarTestTracker, 29 SwordOfHope1CompleteTeleportTestTracker, 30 SwordOfHope1EscapeBattleTestTracker, 31 SwordOfHope1CursorOnLookTestTracker, 32 SwordOfHope1CursorOnOpenTestTracker, 33 SwordOfHope1CursorOnUseTestTracker, 34 SwordOfHope1CursorOnMagicTestTracker, 35 SwordOfHope1CursorOnHitTestTracker, 36 SwordOfHope1CursorOnPowerTestTracker, 37 SwordOfHope1CycleThroughCommandsTestTracker, 38 SwordOfHope1OpenStatusViewTestTracker, 39 SwordOfHope1AutoBattleTestTracker, 40 SwordOfHope1ShopMenuOpenTestTracker, 41 SwordOfHope1LookCommandSelectTestTracker, 42 SwordOfHope1MenuOpenTestTracker, 43 SwordOfHope1MagicMenuOpenTestTracker, 44 SwordOfHope1DialogueInitiatedTestTracker, 45 SwordOfHope1CancelMagicMenuTestTracker, 46 SwordOfHope1CancelPowerMenuTestTracker, 47 SwordOfHope1CancelTeleportMenuTestTracker, 48 SwordOfHope1CancelShopMenuTestTracker, 49 SwordOfHope1CancelLookOptionsTestTracker, 50 SwordOfHope1BattleMagicCancelTestTracker, 51 SwordOfHope1CycleBackToLookTestTracker, 52 SwordOfHope1CycleToPowerViaMagicTestTracker, 53 SwordOfHope1CursorOnFirebalTestTracker, 54 SwordOfHope1CursorOnFirebal2TestTracker, 55 SwordOfHope1CursorOnStripallTestTracker, 56 SwordOfHope1CursorOnTeleportOldmanTestTracker, 57 SwordOfHope1CursorOnHerbUseTestTracker, 58 SwordOfHope1CursorOnKeymUseTestTracker, 59 SwordOfHope1BattleStripallCancelTestTracker, 60 SwordOfHope1ViewPowerThenTeleportOldmanTestTracker, 61 SwordOfHope2CancelMagicMenuTestTracker, 62 SwordOfHope2CancelItemMenuTestTracker, 63 SwordOfHope2CancelShopMenuTestTracker, 64 SwordOfHope2CancelWeaponsShopBuyTestTracker, 65 SwordOfHope2CancelLookShopkeeperTestTracker, 66 SwordOfHope2AutoToClashBattleTestTracker, 67 SwordOfHope2ClashToAutoBattleTestTracker, 68 SwordOfHope2CursorOnMotionTestTracker, 69 SwordOfHope2CursorOnShopFirstItemTestTracker, 70 SwordOfHope2CursorOnShopThirdItemTestTracker, 71 SwordOfHope2CursorOnFirstWeaponTestTracker, 72 SwordOfHope2CursorOnSecondWeaponTestTracker, 73 SwordOfHope2CursorOnThirdWeaponTestTracker, 74 SwordOfHope2LookTreeTargetTestTracker, 75 SwordOfHope2ViewPowerThenCastMotionTestTracker, 76 SwordOfHope2DialogueClearTestTracker, 77 SwordOfHope2TalkToNpcTestTracker, 78 SwordOfHope2MenuOpenCloseTestTracker, 79 SwordOfHope2FirstAdjacentRoomTestTracker, 80 SwordOfHope2OverworldFromDefaultTestTracker, 81 SwordOfHope2BattleWonTestTracker, 82 SwordOfHope2EscapeBattleTestTracker, 83 SwordOfHope2OpenShopMenuTestTracker, 84 SwordOfHope2BuyWheatTestTracker, 85 SwordOfHope2BattleMagicCommandTestTracker, 86 SwordOfHope2CastMotionTestTracker, 87 SwordOfHope2BuyCprSwordTestTracker, 88 SwordOfHope2AutoBattleTestTracker, 89 SwordOfHope2HitTreeWheatTestTracker, 90 SwordOfHope2OpenItemMenuTestTracker, 91 SwordOfHope2UseWheatTestTracker, 92 SwordOfHope2ViewExpNeededTestTracker, 93 SwordOfHope2CursorOnLookTestTracker, 94 SwordOfHope2CursorOnItemTestTracker, 95 SwordOfHope2CursorOnOpenTestTracker, 96 SwordOfHope2CursorOnMagicTestTracker, 97 SwordOfHope2CursorOnHitTestTracker, 98 SwordOfHope2CycleThroughCommandsTestTracker, 99 SwordOfHope2CursorOnPowerTestTracker, 100 SwordOfHope2PowerFirstPageTestTracker, 101 SwordOfHope2OpenMagicMenuTestTracker, 102 SwordOfHope2OpenItemViewTestTracker, 103 SwordOfHope2LookShopkeeperTestTracker, 104 SwordOfHope2OpenWeaponsShopBuyTestTracker, 105 SwordOfHope2CursorOnCprSwordTestTracker, 106 SwordOfHope2OpenUseMenuTestTracker, 107 SwordOfHope2OpenShopBuySellTestTracker, 108 SwordOfHope2CursorOnWheatTestTracker, 109 SwordOfHope2BattleClashTestTracker, 110 SwordOfHope2EnterTempleFirstFloorTestTracker, 111) 112 113GAME_TO_GB_NAME = { 114 "sword_of_hope_1": "SwordofHope.gb", 115 "sword_of_hope_2": "SwordofHope2.gb", 116} 117""" Expected save name for each game. Save the file to <storage_dir_from_config_file>/<game_name>_rom_data/<gb_name>""" 118 119STRONGEST_PARSERS: Dict[str, Type[StateParser]] = { 120 "sword_of_hope_1": SwordOfHope1Parser, 121 "sword_of_hope_2": SwordOfHope2Parser, 122} 123""" Mapping of game names to their corresponding strongest StateParser classes. 124Unless you have a very good reason, you should always use the STRONGEST possible parser for a given game. 125The 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. 126This means there is never a reason to use a weaker parser. 127""" 128 129 130AVAILABLE_STATE_TRACKERS: Dict[str, Dict[str, Type[StateTracker]]] = { 131 "sword_of_hope_1": { 132 "default": SwordOfHopeOCRTracker, 133 "mill_room_test": SwordOfHope1MillRoomTestTracker, 134 "shaman_room_test": SwordOfHope1ShamanRoomTestTracker, 135 "dialogue_clear_test": SwordOfHope1DialogueClearTestTracker, 136 "battle_won_test": SwordOfHope1BattleWonTestTracker, 137 "look_item_test": SwordOfHope1LookItemTestTracker, 138 "buy_item_test": SwordOfHope1BuyItemTestTracker, 139 "overworld_from_default_test": SwordOfHope1OverworldFromDefaultTestTracker, 140 "talk_to_npc_test": SwordOfHope1TalkToNpcTestTracker, 141 "menu_open_close_test": SwordOfHope1MenuOpenCloseTestTracker, 142 "battle_magic_command_test": SwordOfHope1BattleMagicCommandTestTracker, 143 "cast_teleport_test": SwordOfHope1CastTeleportTestTracker, 144 "talk_to_npc_multiple_test": SwordOfHope1TalkToNpcMultipleTestTracker, 145 "binary_choice_save_test": SwordOfHope1BinaryChoiceSaveTestTracker, 146 "look_surround_herb_test": SwordOfHope1LookSurroundHerbTestTracker, 147 "defeat_treant_test": SwordOfHope1DefeatTreantTestTracker, 148 "use_key_unlock_test": SwordOfHope1UseKeyUnlockTestTracker, 149 "collect_scroll_grace_test": SwordOfHope1CollectScrollGraceTestTracker, 150 "cast_grace_altar_test": SwordOfHope1CastGraceAltarTestTracker, 151 "complete_teleport_test": SwordOfHope1CompleteTeleportTestTracker, 152 "escape_battle_test": SwordOfHope1EscapeBattleTestTracker, 153 "cursor_on_look_test": SwordOfHope1CursorOnLookTestTracker, 154 "cursor_on_open_test": SwordOfHope1CursorOnOpenTestTracker, 155 "cursor_on_use_test": SwordOfHope1CursorOnUseTestTracker, 156 "cursor_on_magic_test": SwordOfHope1CursorOnMagicTestTracker, 157 "cursor_on_hit_test": SwordOfHope1CursorOnHitTestTracker, 158 "cursor_on_power_test": SwordOfHope1CursorOnPowerTestTracker, 159 "cycle_through_commands_test": SwordOfHope1CycleThroughCommandsTestTracker, 160 "open_status_view_test": SwordOfHope1OpenStatusViewTestTracker, 161 "auto_battle_test": SwordOfHope1AutoBattleTestTracker, 162 "shop_menu_open_test": SwordOfHope1ShopMenuOpenTestTracker, 163 "look_command_select_test": SwordOfHope1LookCommandSelectTestTracker, 164 "menu_open_test": SwordOfHope1MenuOpenTestTracker, 165 "magic_menu_open_test": SwordOfHope1MagicMenuOpenTestTracker, 166 "dialogue_initiated_test": SwordOfHope1DialogueInitiatedTestTracker, 167 "cancel_magic_menu_test": SwordOfHope1CancelMagicMenuTestTracker, 168 "cancel_power_menu_test": SwordOfHope1CancelPowerMenuTestTracker, 169 "cancel_teleport_menu_test": SwordOfHope1CancelTeleportMenuTestTracker, 170 "cancel_shop_menu_test": SwordOfHope1CancelShopMenuTestTracker, 171 "cancel_look_options_test": SwordOfHope1CancelLookOptionsTestTracker, 172 "battle_magic_cancel_test": SwordOfHope1BattleMagicCancelTestTracker, 173 "cycle_back_to_look_test": SwordOfHope1CycleBackToLookTestTracker, 174 "cycle_to_power_via_magic_test": SwordOfHope1CycleToPowerViaMagicTestTracker, 175 "cursor_on_firebal_test": SwordOfHope1CursorOnFirebalTestTracker, 176 "cursor_on_firebal2_test": SwordOfHope1CursorOnFirebal2TestTracker, 177 "cursor_on_stripall_test": SwordOfHope1CursorOnStripallTestTracker, 178 "cursor_on_teleport_oldman_test": SwordOfHope1CursorOnTeleportOldmanTestTracker, 179 "cursor_on_herb_use_test": SwordOfHope1CursorOnHerbUseTestTracker, 180 "cursor_on_keym_use_test": SwordOfHope1CursorOnKeymUseTestTracker, 181 "battle_stripall_cancel_test": SwordOfHope1BattleStripallCancelTestTracker, 182 "view_power_then_teleport_oldman_test": SwordOfHope1ViewPowerThenTeleportOldmanTestTracker, 183 }, 184 "sword_of_hope_2": { 185 "default": SwordOfHopeOCRTracker, 186 "dialogue_clear_test": SwordOfHope2DialogueClearTestTracker, 187 "talk_to_npc_test": SwordOfHope2TalkToNpcTestTracker, 188 "menu_open_close_test": SwordOfHope2MenuOpenCloseTestTracker, 189 "first_adjacent_room_test": SwordOfHope2FirstAdjacentRoomTestTracker, 190 "overworld_from_default_test": SwordOfHope2OverworldFromDefaultTestTracker, 191 "battle_won_test": SwordOfHope2BattleWonTestTracker, 192 "escape_battle_test": SwordOfHope2EscapeBattleTestTracker, 193 "open_shop_menu_test": SwordOfHope2OpenShopMenuTestTracker, 194 "buy_wheat_test": SwordOfHope2BuyWheatTestTracker, 195 "battle_magic_command_test": SwordOfHope2BattleMagicCommandTestTracker, 196 "cast_motion_test": SwordOfHope2CastMotionTestTracker, 197 "buy_cpr_sword_test": SwordOfHope2BuyCprSwordTestTracker, 198 "auto_battle_test": SwordOfHope2AutoBattleTestTracker, 199 "hit_tree_wheat_test": SwordOfHope2HitTreeWheatTestTracker, 200 "open_item_menu_test": SwordOfHope2OpenItemMenuTestTracker, 201 "use_wheat_test": SwordOfHope2UseWheatTestTracker, 202 "view_exp_needed_test": SwordOfHope2ViewExpNeededTestTracker, 203 "cursor_on_look_test": SwordOfHope2CursorOnLookTestTracker, 204 "cursor_on_item_test": SwordOfHope2CursorOnItemTestTracker, 205 "cursor_on_open_test": SwordOfHope2CursorOnOpenTestTracker, 206 "cursor_on_magic_test": SwordOfHope2CursorOnMagicTestTracker, 207 "cursor_on_hit_test": SwordOfHope2CursorOnHitTestTracker, 208 "cycle_through_commands_test": SwordOfHope2CycleThroughCommandsTestTracker, 209 "cursor_on_power_test": SwordOfHope2CursorOnPowerTestTracker, 210 "power_first_page_test": SwordOfHope2PowerFirstPageTestTracker, 211 "open_magic_menu_test": SwordOfHope2OpenMagicMenuTestTracker, 212 "open_item_view_test": SwordOfHope2OpenItemViewTestTracker, 213 "look_shopkeeper_test": SwordOfHope2LookShopkeeperTestTracker, 214 "open_weapons_shop_buy_test": SwordOfHope2OpenWeaponsShopBuyTestTracker, 215 "cursor_on_cpr_sword_test": SwordOfHope2CursorOnCprSwordTestTracker, 216 "open_use_menu_test": SwordOfHope2OpenUseMenuTestTracker, 217 "open_shop_buy_sell_test": SwordOfHope2OpenShopBuySellTestTracker, 218 "cursor_on_wheat_test": SwordOfHope2CursorOnWheatTestTracker, 219 "battle_clash_test": SwordOfHope2BattleClashTestTracker, 220 "enter_temple_first_floor_test": SwordOfHope2EnterTempleFirstFloorTestTracker, 221 "cancel_magic_menu_test": SwordOfHope2CancelMagicMenuTestTracker, 222 "cancel_item_menu_test": SwordOfHope2CancelItemMenuTestTracker, 223 "cancel_shop_menu_test": SwordOfHope2CancelShopMenuTestTracker, 224 "cancel_weapons_shop_buy_test": SwordOfHope2CancelWeaponsShopBuyTestTracker, 225 "cancel_look_shopkeeper_test": SwordOfHope2CancelLookShopkeeperTestTracker, 226 "auto_to_clash_battle_test": SwordOfHope2AutoToClashBattleTestTracker, 227 "clash_to_auto_battle_test": SwordOfHope2ClashToAutoBattleTestTracker, 228 "cursor_on_motion_test": SwordOfHope2CursorOnMotionTestTracker, 229 "cursor_on_shop_first_item_test": SwordOfHope2CursorOnShopFirstItemTestTracker, 230 "cursor_on_shop_third_item_test": SwordOfHope2CursorOnShopThirdItemTestTracker, 231 "cursor_on_first_weapon_test": SwordOfHope2CursorOnFirstWeaponTestTracker, 232 "cursor_on_second_weapon_test": SwordOfHope2CursorOnSecondWeaponTestTracker, 233 "cursor_on_third_weapon_test": SwordOfHope2CursorOnThirdWeaponTestTracker, 234 "look_tree_target_test": SwordOfHope2LookTreeTargetTestTracker, 235 "view_power_then_cast_motion_test": SwordOfHope2ViewPowerThenCastMotionTestTracker, 236 }, 237} 238""" Mapping of game names to their available StateTracker classes with string identifiers. """ 239 240 241AVAILABLE_EMULATORS: Dict[str, Dict[str, Type[Emulator]]] = { 242 "sword_of_hope_1": {"default": Emulator}, 243 "sword_of_hope_2": {"default": Emulator}, 244} 245""" Mapping of game names to their available Emulator classes with string identifiers. """
GAME_TO_GB_NAME =
{'sword_of_hope_1': 'SwordofHope.gb', 'sword_of_hope_2': 'SwordofHope2.gb'}
Expected save name for each game. Save the file to
STRONGEST_PARSERS: Dict[str, Type[gameboy_worlds.emulation.parser.StateParser]] =
{'sword_of_hope_1': <class 'gameboy_worlds.emulation.sword_of_hope.parsers.SwordOfHope1Parser'>, 'sword_of_hope_2': <class 'gameboy_worlds.emulation.sword_of_hope.parsers.SwordOfHope2Parser'>}
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]]] =
{'sword_of_hope_1': {'default': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHopeOCRTracker'>, 'mill_room_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1MillRoomTestTracker'>, 'shaman_room_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1ShamanRoomTestTracker'>, 'dialogue_clear_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1DialogueClearTestTracker'>, 'battle_won_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1BattleWonTestTracker'>, 'look_item_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1LookItemTestTracker'>, 'buy_item_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1BuyItemTestTracker'>, 'overworld_from_default_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1OverworldFromDefaultTestTracker'>, 'talk_to_npc_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1TalkToNpcTestTracker'>, 'menu_open_close_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1MenuOpenCloseTestTracker'>, 'battle_magic_command_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1BattleMagicCommandTestTracker'>, 'cast_teleport_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CastTeleportTestTracker'>, 'talk_to_npc_multiple_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1TalkToNpcMultipleTestTracker'>, 'binary_choice_save_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1BinaryChoiceSaveTestTracker'>, 'look_surround_herb_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1LookSurroundHerbTestTracker'>, 'defeat_treant_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1DefeatTreantTestTracker'>, 'use_key_unlock_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1UseKeyUnlockTestTracker'>, 'collect_scroll_grace_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CollectScrollGraceTestTracker'>, 'cast_grace_altar_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CastGraceAltarTestTracker'>, 'complete_teleport_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CompleteTeleportTestTracker'>, 'escape_battle_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1EscapeBattleTestTracker'>, 'cursor_on_look_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CursorOnLookTestTracker'>, 'cursor_on_open_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CursorOnOpenTestTracker'>, 'cursor_on_use_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CursorOnUseTestTracker'>, 'cursor_on_magic_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CursorOnMagicTestTracker'>, 'cursor_on_hit_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CursorOnHitTestTracker'>, 'cursor_on_power_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CursorOnPowerTestTracker'>, 'cycle_through_commands_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CycleThroughCommandsTestTracker'>, 'open_status_view_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1OpenStatusViewTestTracker'>, 'auto_battle_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1AutoBattleTestTracker'>, 'shop_menu_open_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1ShopMenuOpenTestTracker'>, 'look_command_select_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1LookCommandSelectTestTracker'>, 'menu_open_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1MenuOpenTestTracker'>, 'magic_menu_open_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1MagicMenuOpenTestTracker'>, 'dialogue_initiated_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1DialogueInitiatedTestTracker'>, 'cancel_magic_menu_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CancelMagicMenuTestTracker'>, 'cancel_power_menu_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CancelPowerMenuTestTracker'>, 'cancel_teleport_menu_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CancelTeleportMenuTestTracker'>, 'cancel_shop_menu_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CancelShopMenuTestTracker'>, 'cancel_look_options_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CancelLookOptionsTestTracker'>, 'battle_magic_cancel_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1BattleMagicCancelTestTracker'>, 'cycle_back_to_look_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CycleBackToLookTestTracker'>, 'cycle_to_power_via_magic_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CycleToPowerViaMagicTestTracker'>, 'cursor_on_firebal_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CursorOnFirebalTestTracker'>, 'cursor_on_firebal2_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CursorOnFirebal2TestTracker'>, 'cursor_on_stripall_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CursorOnStripallTestTracker'>, 'cursor_on_teleport_oldman_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CursorOnTeleportOldmanTestTracker'>, 'cursor_on_herb_use_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CursorOnHerbUseTestTracker'>, 'cursor_on_keym_use_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1CursorOnKeymUseTestTracker'>, 'battle_stripall_cancel_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1BattleStripallCancelTestTracker'>, 'view_power_then_teleport_oldman_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope1ViewPowerThenTeleportOldmanTestTracker'>}, 'sword_of_hope_2': {'default': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHopeOCRTracker'>, 'dialogue_clear_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2DialogueClearTestTracker'>, 'talk_to_npc_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2TalkToNpcTestTracker'>, 'menu_open_close_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2MenuOpenCloseTestTracker'>, 'first_adjacent_room_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2FirstAdjacentRoomTestTracker'>, 'overworld_from_default_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2OverworldFromDefaultTestTracker'>, 'battle_won_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2BattleWonTestTracker'>, 'escape_battle_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2EscapeBattleTestTracker'>, 'open_shop_menu_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2OpenShopMenuTestTracker'>, 'buy_wheat_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2BuyWheatTestTracker'>, 'battle_magic_command_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2BattleMagicCommandTestTracker'>, 'cast_motion_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CastMotionTestTracker'>, 'buy_cpr_sword_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2BuyCprSwordTestTracker'>, 'auto_battle_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2AutoBattleTestTracker'>, 'hit_tree_wheat_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2HitTreeWheatTestTracker'>, 'open_item_menu_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2OpenItemMenuTestTracker'>, 'use_wheat_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2UseWheatTestTracker'>, 'view_exp_needed_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2ViewExpNeededTestTracker'>, 'cursor_on_look_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CursorOnLookTestTracker'>, 'cursor_on_item_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CursorOnItemTestTracker'>, 'cursor_on_open_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CursorOnOpenTestTracker'>, 'cursor_on_magic_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CursorOnMagicTestTracker'>, 'cursor_on_hit_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CursorOnHitTestTracker'>, 'cycle_through_commands_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CycleThroughCommandsTestTracker'>, 'cursor_on_power_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CursorOnPowerTestTracker'>, 'power_first_page_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2PowerFirstPageTestTracker'>, 'open_magic_menu_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2OpenMagicMenuTestTracker'>, 'open_item_view_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2OpenItemViewTestTracker'>, 'look_shopkeeper_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2LookShopkeeperTestTracker'>, 'open_weapons_shop_buy_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2OpenWeaponsShopBuyTestTracker'>, 'cursor_on_cpr_sword_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CursorOnCprSwordTestTracker'>, 'open_use_menu_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2OpenUseMenuTestTracker'>, 'open_shop_buy_sell_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2OpenShopBuySellTestTracker'>, 'cursor_on_wheat_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CursorOnWheatTestTracker'>, 'battle_clash_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2BattleClashTestTracker'>, 'enter_temple_first_floor_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2EnterTempleFirstFloorTestTracker'>, 'cancel_magic_menu_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CancelMagicMenuTestTracker'>, 'cancel_item_menu_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CancelItemMenuTestTracker'>, 'cancel_shop_menu_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CancelShopMenuTestTracker'>, 'cancel_weapons_shop_buy_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CancelWeaponsShopBuyTestTracker'>, 'cancel_look_shopkeeper_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CancelLookShopkeeperTestTracker'>, 'auto_to_clash_battle_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2AutoToClashBattleTestTracker'>, 'clash_to_auto_battle_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2ClashToAutoBattleTestTracker'>, 'cursor_on_motion_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CursorOnMotionTestTracker'>, 'cursor_on_shop_first_item_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CursorOnShopFirstItemTestTracker'>, 'cursor_on_shop_third_item_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CursorOnShopThirdItemTestTracker'>, 'cursor_on_first_weapon_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CursorOnFirstWeaponTestTracker'>, 'cursor_on_second_weapon_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CursorOnSecondWeaponTestTracker'>, 'cursor_on_third_weapon_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2CursorOnThirdWeaponTestTracker'>, 'look_tree_target_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2LookTreeTargetTestTracker'>, 'view_power_then_cast_motion_test': <class 'gameboy_worlds.emulation.sword_of_hope.trackers.SwordOfHope2ViewPowerThenCastMotionTestTracker'>}}
Mapping of game names to their available StateTracker classes with string identifiers.
AVAILABLE_EMULATORS: Dict[str, Dict[str, Type[gameboy_worlds.emulation.emulator.Emulator]]] =
{'sword_of_hope_1': {'default': <class 'gameboy_worlds.emulation.emulator.Emulator'>}, 'sword_of_hope_2': {'default': <class 'gameboy_worlds.emulation.emulator.Emulator'>}}
Mapping of game names to their available Emulator classes with string identifiers.