gameboy_worlds.emulation.survival_kids.registry

Emulation registry for Survival Kids games.

  1"""Emulation registry for Survival Kids games."""
  2
  3from typing import Dict, Type
  4
  5from gameboy_worlds.emulation.parser import StateParser
  6from gameboy_worlds.emulation.tracker import StateTracker
  7from gameboy_worlds.emulation.emulator import Emulator
  8from gameboy_worlds.emulation.survival_kids.parsers import (
  9    SurvivalKids2Parser,
 10    SurvivalKidsParser,
 11)
 12from gameboy_worlds.emulation.survival_kids.trackers import (
 13    SurvivalKidsAfterDrinkingWaterTracker,
 14    SurvivalKidsAfterFillingWaterTracker,
 15    SurvivalKidsAfternoonReferenceTracker,
 16    SurvivalKidsAnimalKilledTracker,
 17    SurvivalKidsBagIconTracker,
 18    SurvivalKidsBurnConfirmTracker,
 19    SurvivalKidsCanteenActionMenuTracker,
 20    SurvivalKidsCanteenChosenTracker,
 21    SurvivalKidsCanteenDrinkSelectedTracker,
 22    SurvivalKidsCanteenPickupDialogueTracker,
 23    SurvivalKidsCanteenTakeLeaveMenuTracker,
 24    SurvivalKidsCanteenUseSelectedTracker,
 25    SurvivalKidsChapter1PathClearedTracker,
 26    SurvivalKidsClubEquippedScreenTracker,
 27    SurvivalKidsCookedMeatActionMenuTracker,
 28    SurvivalKidsCookedMeatEatenDialogueTracker,
 29    SurvivalKidsCookedMeatEatSelectedTracker,
 30    SurvivalKidsCookedMeatStoredTracker,
 31    SurvivalKidsDayReferenceTracker,
 32    SurvivalKidsDrinkWaterTracker,
 33    SurvivalKidsEnteredShelterTracker,
 34    SurvivalKidsFeatherTakeLeaveMenuTracker,
 35    SurvivalKidsFireLitTracker,
 36    SurvivalKidsFoundRiverTracker,
 37    SurvivalKidsFruitActionMenuTracker,
 38    SurvivalKidsFruitEatenDialogueTracker,
 39    SurvivalKidsFruitEatenTracker,
 40    SurvivalKidsFruitEatSelectedTracker,
 41    SurvivalKidsFruitFoundDialogueTracker,
 42    SurvivalKidsFruitTakenDialogueTracker,
 43    SurvivalKidsGameViewportChangedTracker,
 44    SurvivalKidsGotTheBrdfeatherTracker,
 45    SurvivalKidsGotTheClamTracker,
 46    SurvivalKidsGotTheLogTracker,
 47    SurvivalKidsGotTheSharpStoneTracker,
 48    SurvivalKidsGotTheStickTracker,
 49    SurvivalKidsGotTheStoneTracker,
 50    SurvivalKidsGotTheTreeBarkTracker,
 51    SurvivalKidsGotTheVineTracker,
 52    SurvivalKidsGotTheWaterTracker,
 53    SurvivalKidsGrassCutBeforePickupLogTracker,
 54    SurvivalKidsGrassCutBeforePushStone2Tracker,
 55    SurvivalKidsGrassCutBeforeSharpStoneTracker,
 56    SurvivalKidsGrassCutTracker,
 57    SurvivalKidsHelmetFoundTracker,
 58    SurvivalKidsHpChangedTracker,
 59    SurvivalKidsHudTracker,
 60    SurvivalKidsHungerChangedTracker,
 61    SurvivalKidsInTheShelterTracker,
 62    SurvivalKidsInventoryAfterFireLitTracker,
 63    SurvivalKidsInventoryOpenTracker,
 64    SurvivalKidsInventoryOpenWithClubNearPryStoneTracker,
 65    SurvivalKidsInventoryOpenWithClubNearPushStone2Tracker,
 66    SurvivalKidsInventoryOpenWithClubTracker,
 67    SurvivalKidsInventorySelectItemTracker,
 68    SurvivalKidsKindlingMergedTracker,
 69    SurvivalKidsKnifeChosenTracker,
 70    SurvivalKidsKnifeEquippedScreenTracker,
 71    SurvivalKidsKnifeEquippedTracker,
 72    SurvivalKidsLogActionMenuTracker,
 73    SurvivalKidsLogFoundDialogueTracker,
 74    SurvivalKidsLogInventoryActionMenuTracker,
 75    SurvivalKidsLogInventorySelectTakeTracker,
 76    SurvivalKidsLogSelectTakeTracker,
 77    SurvivalKidsMergeConfirmTracker,
 78    SurvivalKidsMergeMenuTracker,
 79    SurvivalKidsMeatActionMenuTracker,
 80    SurvivalKidsMeatBurnSelectedTracker,
 81    SurvivalKidsMeatCookedDialogueTracker,
 82    SurvivalKidsMeatEatenDialogueTracker,
 83    SurvivalKidsMeatEatSelectedTracker,
 84    SurvivalKidsNearPryStoneTracker,
 85    SurvivalKidsNearPushStone2Tracker,
 86    SurvivalKidsNewPath1FoundTracker,
 87    SurvivalKidsNewPath2FoundTracker,
 88    SurvivalKidsNightReferenceTracker,
 89    SurvivalKidsObjectTracker,
 90    SurvivalKidsOCRTracker,
 91    SurvivalKidsPathAfterPriedStoneTracker,
 92    SurvivalKidsPathAfterPushedStone2Tracker,
 93    SurvivalKidsPathAfterBlockingGrassC1Tracker,
 94    SurvivalKidsPickupItemDialogueTracker,
 95    SurvivalKidsPathAfterBlockingGrassTracker,
 96    SurvivalKidsPryStoneDialogueTracker,
 97    SurvivalKidsPushStoneDialogue2Tracker,
 98    SurvivalKidsResolveHungerTracker,
 99    SurvivalKidsSelectClubNearPryStoneTracker,
100    SurvivalKidsSelectClubTracker,
101    SurvivalKidsSelectKindlingTracker,
102    SurvivalKidsSelectDropTracker,
103    SurvivalKidsSelectLogTracker,
104    SurvivalKidsSelectMeatTracker,
105    SurvivalKidsSelectTakeTracker,
106    SurvivalKidsSharpStoneFoundTracker,
107    SurvivalKidsStaminaChangedTracker,
108    SurvivalKidsStatusBarChangedTracker,
109    SurvivalKidsStonePushedOpen2Tracker,
110    SurvivalKidsTakeLeaveMenuTracker,
111    SurvivalKidsThirstChangedTracker,
112    SurvivalKidsTreeBarkPickupDialogueTracker,
113    SurvivalKidsUseKindlingTracker,
114    SurvivalKidsVitalsTracker,
115    SurvivalKidsWaterAvailableDialogueTracker,
116    SurvivalKidsWaterMenuOpenTracker,
117)
118
119
120GAME_TO_GB_NAME: Dict[str, str] = {
121    "survival_kids_1": "SurvivalKids.gbc",
122    "survival_kids_2": "SurvivalKids2CN.gbc",
123}
124
125STRONGEST_PARSERS: Dict[str, Type[StateParser]] = {
126    "survival_kids_1": SurvivalKidsParser,
127    "survival_kids_2": SurvivalKids2Parser,
128}
129
130AVAILABLE_STATE_TRACKERS: Dict[str, Dict[str, Type[StateTracker]]] = {
131    "survival_kids_1": {
132        "default": SurvivalKidsOCRTracker,
133        "hud": SurvivalKidsHudTracker,
134        "ocr": SurvivalKidsOCRTracker,
135        "vitals": SurvivalKidsVitalsTracker,
136        "status_bar_changed_test": SurvivalKidsStatusBarChangedTracker,
137        "hp_changed_test": SurvivalKidsHpChangedTracker,
138        "hunger_changed_test": SurvivalKidsHungerChangedTracker,
139        "resolve_hunger_test": SurvivalKidsResolveHungerTracker,
140        "thirst_changed_test": SurvivalKidsThirstChangedTracker,
141        "drink_water_test": SurvivalKidsDrinkWaterTracker,
142        "stamina_changed_test": SurvivalKidsStaminaChangedTracker,
143        "game_viewport_changed_test": SurvivalKidsGameViewportChangedTracker,
144        "grass_cut_test": SurvivalKidsGrassCutTracker,
145        "inventory_open_test": SurvivalKidsInventoryOpenTracker,
146        "inventory_after_fire_lit_test": SurvivalKidsInventoryAfterFireLitTracker,
147        "inventory_select_item_test": SurvivalKidsInventorySelectItemTracker,
148        "pickup_item_dialogue_test": SurvivalKidsPickupItemDialogueTracker,
149        "canteen_pickup_dialogue_test": SurvivalKidsCanteenPickupDialogueTracker,
150        "got_the_clam_test": SurvivalKidsGotTheClamTracker,
151        "bag_icon_test": SurvivalKidsBagIconTracker,
152        "object_test": SurvivalKidsObjectTracker,
153        "knife_equipped_test": SurvivalKidsKnifeEquippedTracker,
154        "knife_chosen_test": SurvivalKidsKnifeChosenTracker,
155        "merge_menu_test": SurvivalKidsMergeMenuTracker,
156        "merge_confirm_test": SurvivalKidsMergeConfirmTracker,
157        "canteen_chosen_test": SurvivalKidsCanteenChosenTracker,
158        "kindling_merged_test": SurvivalKidsKindlingMergedTracker,
159        "take_leave_menu_test": SurvivalKidsTakeLeaveMenuTracker,
160        "select_take_test": SurvivalKidsSelectTakeTracker,
161        "select_drop_test": SurvivalKidsSelectDropTracker,
162        "select_meat_test": SurvivalKidsSelectMeatTracker,
163        "canteen_take_leave_menu_test": SurvivalKidsCanteenTakeLeaveMenuTracker,
164        "canteen_action_menu_test": SurvivalKidsCanteenActionMenuTracker,
165        "canteen_drink_selected_test": SurvivalKidsCanteenDrinkSelectedTracker,
166        "canteen_use_selected_test": SurvivalKidsCanteenUseSelectedTracker,
167        "animal_killed_test": SurvivalKidsAnimalKilledTracker,
168        "chapter1_path_cleared_test": SurvivalKidsChapter1PathClearedTracker,
169        "path_after_blocking_grass_test": SurvivalKidsPathAfterBlockingGrassTracker,
170        "in_the_shelter_test": SurvivalKidsInTheShelterTracker,
171        "new_path_1_found_test": SurvivalKidsNewPath1FoundTracker,
172        "new_path_2_found_test": SurvivalKidsNewPath2FoundTracker,
173        "sharp_stone_found_test": SurvivalKidsSharpStoneFoundTracker,
174        "day_reference_test": SurvivalKidsDayReferenceTracker,
175        "night_reference_test": SurvivalKidsNightReferenceTracker,
176        "entered_shelter_test": SurvivalKidsEnteredShelterTracker,
177        "found_river_test": SurvivalKidsFoundRiverTracker,
178        "water_menu_open_test": SurvivalKidsWaterMenuOpenTracker,
179        "after_filling_water_test": SurvivalKidsAfterFillingWaterTracker,
180        "after_drinking_water_test": SurvivalKidsAfterDrinkingWaterTracker,
181        "got_the_water_test": SurvivalKidsGotTheWaterTracker,
182        "got_the_stick_test": SurvivalKidsGotTheStickTracker,
183        "got_the_tree_bark_test": SurvivalKidsGotTheTreeBarkTracker,
184        "got_the_sharp_stone_test": SurvivalKidsGotTheSharpStoneTracker,
185        "got_the_stone_test": SurvivalKidsGotTheStoneTracker,
186        "got_the_vine_test": SurvivalKidsGotTheVineTracker,
187        "got_the_brdfeather_test": SurvivalKidsGotTheBrdfeatherTracker,
188        "select_kindling_test": SurvivalKidsSelectKindlingTracker,
189        "fire_lit_test": SurvivalKidsFireLitTracker,
190        "use_kindling_test": SurvivalKidsUseKindlingTracker,
191        "feather_take_leave_menu_test": SurvivalKidsFeatherTakeLeaveMenuTracker,
192        "meat_action_menu_test": SurvivalKidsMeatActionMenuTracker,
193        "cooked_meat_action_menu_test": SurvivalKidsCookedMeatActionMenuTracker,
194        "cooked_meat_eat_selected_test": SurvivalKidsCookedMeatEatSelectedTracker,
195        "meat_burn_selected_test": SurvivalKidsMeatBurnSelectedTracker,
196        "burn_confirm_test": SurvivalKidsBurnConfirmTracker,
197        "meat_eat_selected_test": SurvivalKidsMeatEatSelectedTracker,
198        "meat_eaten_dialogue_test": SurvivalKidsMeatEatenDialogueTracker,
199        "meat_cooked_dialogue_test": SurvivalKidsMeatCookedDialogueTracker,
200        "cooked_meat_eaten_dialogue_test": SurvivalKidsCookedMeatEatenDialogueTracker,
201        "cooked_meat_stored_test": SurvivalKidsCookedMeatStoredTracker,
202    },
203    "survival_kids_2": {
204        "default": SurvivalKidsOCRTracker,
205        "hud": SurvivalKidsHudTracker,
206        "ocr": SurvivalKidsOCRTracker,
207        "vitals": SurvivalKidsVitalsTracker,
208        "status_bar_changed_test": SurvivalKidsStatusBarChangedTracker,
209        "hp_changed_test": SurvivalKidsHpChangedTracker,
210        "hunger_changed_test": SurvivalKidsHungerChangedTracker,
211        "resolve_hunger_test": SurvivalKidsResolveHungerTracker,
212        "thirst_changed_test": SurvivalKidsThirstChangedTracker,
213        "drink_water_test": SurvivalKidsDrinkWaterTracker,
214        "stamina_changed_test": SurvivalKidsStaminaChangedTracker,
215        "game_viewport_changed_test": SurvivalKidsGameViewportChangedTracker,
216        "grass_cut_test": SurvivalKidsGrassCutTracker,
217        "water_available_dialogue_test": SurvivalKidsWaterAvailableDialogueTracker,
218        "grass_cut_before_sharp_stone_test": SurvivalKidsGrassCutBeforeSharpStoneTracker,
219        "grass_cut_before_pickup_log_test": SurvivalKidsGrassCutBeforePickupLogTracker,
220        "grass_cut_before_push_stone_2_test": SurvivalKidsGrassCutBeforePushStone2Tracker,
221        "chapter1_path_cleared_test": SurvivalKidsChapter1PathClearedTracker,
222        "path_after_blocking_grass_test": SurvivalKidsPathAfterBlockingGrassTracker,
223        "path_after_blocking_grass_c1_test": SurvivalKidsPathAfterBlockingGrassC1Tracker,
224        "new_path_1_found_test": SurvivalKidsNewPath1FoundTracker,
225        "new_path_2_found_test": SurvivalKidsNewPath2FoundTracker,
226        "sharp_stone_found_test": SurvivalKidsSharpStoneFoundTracker,
227        "inventory_open_test": SurvivalKidsInventoryOpenTracker,
228        "inventory_open_with_club_test": SurvivalKidsInventoryOpenWithClubTracker,
229        "inventory_open_with_club_near_pry_stone_test": SurvivalKidsInventoryOpenWithClubNearPryStoneTracker,
230        "inventory_open_with_club_near_push_stone_2_test": SurvivalKidsInventoryOpenWithClubNearPushStone2Tracker,
231        "inventory_select_item_test": SurvivalKidsInventorySelectItemTracker,
232        "object_test": SurvivalKidsObjectTracker,
233        "helmet_found_test": SurvivalKidsHelmetFoundTracker,
234        "knife_chosen_test": SurvivalKidsKnifeChosenTracker,
235        "knife_equipped_test": SurvivalKidsKnifeEquippedScreenTracker,
236        "knife_equipped_prompt_test": SurvivalKidsKnifeEquippedScreenTracker,
237        "club_equipped_test": SurvivalKidsClubEquippedScreenTracker,
238        "select_club_test": SurvivalKidsSelectClubTracker,
239        "select_club_near_pry_stone_test": SurvivalKidsSelectClubNearPryStoneTracker,
240        "near_pry_stone_test": SurvivalKidsNearPryStoneTracker,
241        "near_push_stone_2_test": SurvivalKidsNearPushStone2Tracker,
242        "pry_stone_dialogue_test": SurvivalKidsPryStoneDialogueTracker,
243        "push_stone_dialogue_2_test": SurvivalKidsPushStoneDialogue2Tracker,
244        "path_after_pried_stone_test": SurvivalKidsPathAfterPriedStoneTracker,
245        "stone_pushed_open_2_test": SurvivalKidsStonePushedOpen2Tracker,
246        "path_after_pushed_stone_2_test": SurvivalKidsPathAfterPushedStone2Tracker,
247        "log_found_dialogue_test": SurvivalKidsLogFoundDialogueTracker,
248        "log_action_menu_test": SurvivalKidsLogActionMenuTracker,
249        "log_select_take_test": SurvivalKidsLogSelectTakeTracker,
250        "select_log_test": SurvivalKidsSelectLogTracker,
251        "log_inventory_action_menu_test": SurvivalKidsLogInventoryActionMenuTracker,
252        "log_inventory_select_take_test": SurvivalKidsLogInventorySelectTakeTracker,
253        "got_the_log_test": SurvivalKidsGotTheLogTracker,
254        "fruit_found_dialogue_test": SurvivalKidsFruitFoundDialogueTracker,
255        "fruit_action_menu_test": SurvivalKidsFruitActionMenuTracker,
256        "fruit_eat_selected_test": SurvivalKidsFruitEatSelectedTracker,
257        "fruit_taken_dialogue_test": SurvivalKidsFruitTakenDialogueTracker,
258        "fruit_eaten_dialogue_test": SurvivalKidsFruitEatenDialogueTracker,
259        "fruit_eaten_test": SurvivalKidsFruitEatenTracker,
260        "got_the_stick_test": SurvivalKidsGotTheStickTracker,
261        "tree_bark_pickup_dialogue_test": SurvivalKidsTreeBarkPickupDialogueTracker,
262        "got_the_tree_bark_test": SurvivalKidsGotTheTreeBarkTracker,
263        "got_the_sharp_stone_test": SurvivalKidsGotTheSharpStoneTracker,
264        "got_the_stone_test": SurvivalKidsGotTheStoneTracker,
265        "got_the_vine_test": SurvivalKidsGotTheVineTracker,
266        "afternoon_reference_test": SurvivalKidsAfternoonReferenceTracker,
267        "day_reference_test": SurvivalKidsDayReferenceTracker,
268        "night_reference_test": SurvivalKidsNightReferenceTracker,
269        "entered_shelter_test": SurvivalKidsEnteredShelterTracker,
270        "found_river_test": SurvivalKidsFoundRiverTracker,
271    },
272}
273
274AVAILABLE_EMULATORS: Dict[str, Dict[str, Type[Emulator]]] = {
275    "survival_kids_1": {
276        "default": Emulator,
277    },
278    "survival_kids_2": {
279        "default": Emulator,
280    },
281}
GAME_TO_GB_NAME: Dict[str, str] = {'survival_kids_1': 'SurvivalKids.gbc', 'survival_kids_2': 'SurvivalKids2CN.gbc'}
AVAILABLE_STATE_TRACKERS: Dict[str, Dict[str, Type[gameboy_worlds.emulation.tracker.StateTracker]]] = {'survival_kids_1': {'default': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsOCRTracker'>, 'hud': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsHudTracker'>, 'ocr': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsOCRTracker'>, 'vitals': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsVitalsTracker'>, 'status_bar_changed_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsStatusBarChangedTracker'>, 'hp_changed_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsHpChangedTracker'>, 'hunger_changed_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsHungerChangedTracker'>, 'resolve_hunger_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsResolveHungerTracker'>, 'thirst_changed_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsThirstChangedTracker'>, 'drink_water_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsDrinkWaterTracker'>, 'stamina_changed_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsStaminaChangedTracker'>, 'game_viewport_changed_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGameViewportChangedTracker'>, 'grass_cut_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGrassCutTracker'>, 'inventory_open_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsInventoryOpenTracker'>, 'inventory_after_fire_lit_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsInventoryAfterFireLitTracker'>, 'inventory_select_item_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsInventorySelectItemTracker'>, 'pickup_item_dialogue_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsPickupItemDialogueTracker'>, 'canteen_pickup_dialogue_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsCanteenPickupDialogueTracker'>, 'got_the_clam_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGotTheClamTracker'>, 'bag_icon_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsBagIconTracker'>, 'object_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsObjectTracker'>, 'knife_equipped_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsKnifeEquippedTracker'>, 'knife_chosen_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsKnifeChosenTracker'>, 'merge_menu_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsMergeMenuTracker'>, 'merge_confirm_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsMergeConfirmTracker'>, 'canteen_chosen_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsCanteenChosenTracker'>, 'kindling_merged_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsKindlingMergedTracker'>, 'take_leave_menu_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsTakeLeaveMenuTracker'>, 'select_take_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsSelectTakeTracker'>, 'select_drop_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsSelectDropTracker'>, 'select_meat_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsSelectMeatTracker'>, 'canteen_take_leave_menu_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsCanteenTakeLeaveMenuTracker'>, 'canteen_action_menu_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsCanteenActionMenuTracker'>, 'canteen_drink_selected_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsCanteenDrinkSelectedTracker'>, 'canteen_use_selected_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsCanteenUseSelectedTracker'>, 'animal_killed_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsAnimalKilledTracker'>, 'chapter1_path_cleared_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsChapter1PathClearedTracker'>, 'path_after_blocking_grass_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsPathAfterBlockingGrassTracker'>, 'in_the_shelter_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsInTheShelterTracker'>, 'new_path_1_found_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsNewPath1FoundTracker'>, 'new_path_2_found_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsNewPath2FoundTracker'>, 'sharp_stone_found_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsSharpStoneFoundTracker'>, 'day_reference_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsDayReferenceTracker'>, 'night_reference_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsNightReferenceTracker'>, 'entered_shelter_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsEnteredShelterTracker'>, 'found_river_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsFoundRiverTracker'>, 'water_menu_open_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsWaterMenuOpenTracker'>, 'after_filling_water_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsAfterFillingWaterTracker'>, 'after_drinking_water_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsAfterDrinkingWaterTracker'>, 'got_the_water_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGotTheWaterTracker'>, 'got_the_stick_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGotTheStickTracker'>, 'got_the_tree_bark_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGotTheTreeBarkTracker'>, 'got_the_sharp_stone_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGotTheSharpStoneTracker'>, 'got_the_stone_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGotTheStoneTracker'>, 'got_the_vine_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGotTheVineTracker'>, 'got_the_brdfeather_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGotTheBrdfeatherTracker'>, 'select_kindling_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsSelectKindlingTracker'>, 'fire_lit_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsFireLitTracker'>, 'use_kindling_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsUseKindlingTracker'>, 'feather_take_leave_menu_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsFeatherTakeLeaveMenuTracker'>, 'meat_action_menu_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsMeatActionMenuTracker'>, 'cooked_meat_action_menu_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsCookedMeatActionMenuTracker'>, 'cooked_meat_eat_selected_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsCookedMeatEatSelectedTracker'>, 'meat_burn_selected_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsMeatBurnSelectedTracker'>, 'burn_confirm_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsBurnConfirmTracker'>, 'meat_eat_selected_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsMeatEatSelectedTracker'>, 'meat_eaten_dialogue_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsMeatEatenDialogueTracker'>, 'meat_cooked_dialogue_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsMeatCookedDialogueTracker'>, 'cooked_meat_eaten_dialogue_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsCookedMeatEatenDialogueTracker'>, 'cooked_meat_stored_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsCookedMeatStoredTracker'>}, 'survival_kids_2': {'default': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsOCRTracker'>, 'hud': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsHudTracker'>, 'ocr': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsOCRTracker'>, 'vitals': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsVitalsTracker'>, 'status_bar_changed_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsStatusBarChangedTracker'>, 'hp_changed_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsHpChangedTracker'>, 'hunger_changed_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsHungerChangedTracker'>, 'resolve_hunger_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsResolveHungerTracker'>, 'thirst_changed_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsThirstChangedTracker'>, 'drink_water_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsDrinkWaterTracker'>, 'stamina_changed_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsStaminaChangedTracker'>, 'game_viewport_changed_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGameViewportChangedTracker'>, 'grass_cut_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGrassCutTracker'>, 'water_available_dialogue_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsWaterAvailableDialogueTracker'>, 'grass_cut_before_sharp_stone_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGrassCutBeforeSharpStoneTracker'>, 'grass_cut_before_pickup_log_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGrassCutBeforePickupLogTracker'>, 'grass_cut_before_push_stone_2_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGrassCutBeforePushStone2Tracker'>, 'chapter1_path_cleared_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsChapter1PathClearedTracker'>, 'path_after_blocking_grass_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsPathAfterBlockingGrassTracker'>, 'path_after_blocking_grass_c1_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsPathAfterBlockingGrassC1Tracker'>, 'new_path_1_found_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsNewPath1FoundTracker'>, 'new_path_2_found_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsNewPath2FoundTracker'>, 'sharp_stone_found_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsSharpStoneFoundTracker'>, 'inventory_open_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsInventoryOpenTracker'>, 'inventory_open_with_club_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsInventoryOpenWithClubTracker'>, 'inventory_open_with_club_near_pry_stone_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsInventoryOpenWithClubNearPryStoneTracker'>, 'inventory_open_with_club_near_push_stone_2_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsInventoryOpenWithClubNearPushStone2Tracker'>, 'inventory_select_item_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsInventorySelectItemTracker'>, 'object_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsObjectTracker'>, 'helmet_found_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsHelmetFoundTracker'>, 'knife_chosen_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsKnifeChosenTracker'>, 'knife_equipped_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsKnifeEquippedScreenTracker'>, 'knife_equipped_prompt_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsKnifeEquippedScreenTracker'>, 'club_equipped_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsClubEquippedScreenTracker'>, 'select_club_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsSelectClubTracker'>, 'select_club_near_pry_stone_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsSelectClubNearPryStoneTracker'>, 'near_pry_stone_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsNearPryStoneTracker'>, 'near_push_stone_2_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsNearPushStone2Tracker'>, 'pry_stone_dialogue_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsPryStoneDialogueTracker'>, 'push_stone_dialogue_2_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsPushStoneDialogue2Tracker'>, 'path_after_pried_stone_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsPathAfterPriedStoneTracker'>, 'stone_pushed_open_2_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsStonePushedOpen2Tracker'>, 'path_after_pushed_stone_2_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsPathAfterPushedStone2Tracker'>, 'log_found_dialogue_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsLogFoundDialogueTracker'>, 'log_action_menu_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsLogActionMenuTracker'>, 'log_select_take_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsLogSelectTakeTracker'>, 'select_log_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsSelectLogTracker'>, 'log_inventory_action_menu_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsLogInventoryActionMenuTracker'>, 'log_inventory_select_take_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsLogInventorySelectTakeTracker'>, 'got_the_log_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGotTheLogTracker'>, 'fruit_found_dialogue_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsFruitFoundDialogueTracker'>, 'fruit_action_menu_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsFruitActionMenuTracker'>, 'fruit_eat_selected_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsFruitEatSelectedTracker'>, 'fruit_taken_dialogue_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsFruitTakenDialogueTracker'>, 'fruit_eaten_dialogue_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsFruitEatenDialogueTracker'>, 'fruit_eaten_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsFruitEatenTracker'>, 'got_the_stick_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGotTheStickTracker'>, 'tree_bark_pickup_dialogue_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsTreeBarkPickupDialogueTracker'>, 'got_the_tree_bark_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGotTheTreeBarkTracker'>, 'got_the_sharp_stone_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGotTheSharpStoneTracker'>, 'got_the_stone_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGotTheStoneTracker'>, 'got_the_vine_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsGotTheVineTracker'>, 'afternoon_reference_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsAfternoonReferenceTracker'>, 'day_reference_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsDayReferenceTracker'>, 'night_reference_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsNightReferenceTracker'>, 'entered_shelter_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsEnteredShelterTracker'>, 'found_river_test': <class 'gameboy_worlds.emulation.survival_kids.trackers.SurvivalKidsFoundRiverTracker'>}}
AVAILABLE_EMULATORS: Dict[str, Dict[str, Type[gameboy_worlds.emulation.emulator.Emulator]]] = {'survival_kids_1': {'default': <class 'gameboy_worlds.emulation.emulator.Emulator'>}, 'survival_kids_2': {'default': <class 'gameboy_worlds.emulation.emulator.Emulator'>}}