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 /_rom_data/

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.