gameboy_worlds.emulation.harvest_moon.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.harvest_moon.parsers import ( 6 HarvestMoon1Parser, 7 HarvestMoon2Parser, 8 HarvestMoon3Parser, 9) 10from gameboy_worlds.emulation.harvest_moon.trackers import ( 11 HarvestMoonOCRTracker, 12 HarvestMoonCowBarnTracker, 13 HarvestMoonChickenCoopTracker, 14 HarvestMoonStorageTracker, 15 HarvestMoonPickupWaterCanTracker, 16 HarvestMoonPickupCowBellTracker, 17 HarvestMoonGoToSleepTracker, 18 HarvestMoonFeedSpiritTracker, 19 HarvestMoonHelpSpiritEarthquakeTracker, 20 HarvestMoonWaterTurnipTracker, 21 HarvestMoonBuyMaterialTracker, 22 HarvestMoonBuyChickenTracker, 23 HarvestMoonBuyCowTracker, 24 HarvestMoonSellChickenTracker, 25 HarvestMoonBuyCowBrushTracker, 26 HarvestMoonBuySaddlebagTracker, 27 HarvestMoonBuyMilkerTracker, 28 HarvestMoonBuyRiceBallTracker, 29 HarvestMoonOpenMenuTracker, 30 HarvestMoonOpenStorageListTracker, 31 HarvestMoonFindRainyMoneyTracker, 32 HarvestMoonFindLostBirdTracker, 33 HarvestMoonSpeakToBlueHairGirlTracker, 34 HarvestMoonFillChickenFodderTracker, 35 HarvestMoonPickupSickleTracker, 36 HarvestMoonPickupHoeTracker, 37 HarvestMoonPickupHammerTracker, 38 HarvestMoonPickupGrassSeedTracker, 39 HarvestMoonBuyCroissantTracker, 40 HarvestMoonBuyCakeTracker, 41 HarvestMoonBuyGrapeJuiceTracker, 42 HarvestMoonGoToChurchPrayTracker, 43 HarvestMoonSpeakToGoldenHairGirlTracker, 44 HarvestMoonSpeakToPinkHairGirlTracker, 45 HarvestMoon1SpeakToBlueHairGirlWGTracker, 46 HarvestMoon1SpeakToPinkHairGirlWGTracker, 47 HarvestMoon1SpeakToRedHairGirlWGTracker, 48 HarvestMoon1RestoreFenceTracker, 49 50 # HM2 51 HarvestMoon2CowBarnTracker, 52 HarvestMoon2ChickenCoopTracker, 53 HarvestMoon2FindLuckyMoneyTracker, 54 HarvestMoon2HospitalEntranceTracker, 55 HarvestMoon2ToolShopEntranceTracker, 56 HarvestMoon2CarpenterEntranceTracker, 57 HarvestMoon2AnimalShopEntranceTracker, 58 HarvestMoon2LibraryEntranceTracker, 59 HarvestMoon2FlowerShopEntranceTracker, 60 HarvestMoon2GetBridgeEstimateTracker, 61 HarvestMoon2BuyMilkerTracker, 62 63 HarvestMoonReadVillageSignTracker, 64 HarvestMoonReadFarmSignTracker, 65 HarvestMoon2ReadSecretGardenSignTracker, 66 67 # HM3 68 HarvestMoon3RemoveWeedTracker, 69 HarvestMoon3PickUpCherryTracker, 70 HarvestMoon3WaterCenterWatermelonTracker, 71 HarvestMoon3HatchEggTracker, 72 HarvestMoon3FillChickenFodderTracker, 73 HarvestMoon3BuyFodderSetTracker, 74 HarvestMoon3BuyHorseMedicineTracker, 75 HarvestMoon3SpeakToKateTracker, 76 HarvestMoon3BreakRockTracker, 77 HarvestMoon3WaterCenterSPotatoTracker, 78 HarvestMoon3HarvestTargetPotatoTracker, 79 HarvestMoon3ReadAnimalCh2Tracker, 80 HarvestMoon3HarvestCenterTurnipTracker, 81 HarvestMoon3SellChickenTracker, 82 HarvestMoon3PickBerryTracker, 83 HarvestMoon3CheckPlayerMoneyTracker, 84 HarvestMoon3HarvestCenterEggplantTopTracker, 85 HarvestMoon3ChickenCoopTracker, 86 HarvestMoon3ReadSecretGardenSignTracker, 87 HarvestMoon3ReadFerrySignTracker, 88 HarvestMoon3FindSecretSavingsTracker, 89 HarvestMoon3ChooseTeaTracker, 90 HarvestMoon3ChooseAsparagusSeedsTracker, 91 HarvestMoon3BuyPotatoSeedsTracker, 92 HarvestMoon3BuyTurnipSeedsTracker, 93 HarvestMoon3ReadMorningMarketSignTracker, 94 HarvestMoon3ReadStorageSignTracker, 95 HarvestMoon3SpeakToKirkVillageTracker, 96 HarvestMoon3TakeFerryTracker, 97 HarvestMoon3SpeakToJoeTracker, 98 HarvestMoon3SpeakToLukiaTracker, 99 HarvestMoon3SpeakToLucusTracker, 100 HarvestMoon3SpeakToLylaTracker, 101 HarvestMoon3BuyHorseSaddleTracker, 102 HarvestMoon3BuyFlowerVaseTracker, 103 HarvestMoon3BuyMealSetTracker, 104 HarvestMoon3BuyCoffeeTracker, 105 HarvestMoon3FeedCowFodderTracker, 106 HarvestMoon3FarmEntranceTracker, 107 HarvestMoon3VillageEntranceTracker, 108 HarvestMoon3GrasslandEntranceTracker, 109 HarvestMoon3ForestEntranceTracker, 110 HarvestMoon3CliffEntranceTracker, 111 HarvestMoon3MountainEntranceTracker, 112 HarvestMoon3ShoppingMallEntranceTracker, 113 HarvestMoon3ShoppingMallSecondFloorTracker, 114 HarvestMoon3FarmersUnionEntranceTracker, 115 HarvestMoon3AquariumEntranceTracker, 116 HarvestMoon3TheatreEntranceTracker, 117 HarvestMoon3HotSpringEntranceTracker, 118 HarvestMoon2ReadCropFieldSignTracker, 119 HarvestMoonReadNoticeBoardTracker, 120 HarvestMoon2RestaurantEntranceTracker, 121 HarvestMoon2BuyLunchSetTracker, 122 HarvestMoon2BuyBeverageSetTracker, 123 HarvestMoon2BuyTodaysSpecialTracker, 124 HarvestMoon2GoToBedTracker, 125 HarvestMoon2EquipSickleTracker, 126 HarvestMoon2EquipHammerTracker, 127 HarvestMoon2EquipFishingRodTracker, 128 HarvestMoon2EquipNetReplacingAxTracker, 129 HarvestMoon2EquipRosemarySeedsReplacingAxTracker, 130 HarvestMoon2EquipSickleReplacingSprinklerTracker, 131 HarvestMoon2EquipNetReplacingHoeTracker, 132 HarvestMoon1HatchEggTracker, 133 HarvestMoon1BreakRockTracker, 134 HarvestMoon1BreakRightmostRockTracker, 135 HarvestMoon1RemoveLowestWeedTracker, 136 HarvestMoon1CutLowestWeedTracker, 137 HarvestMoon1RemoveTopLeftWeedTracker, 138 HarvestMoon1CutTopLeftWeedTracker, 139 HarvestMoon1HarvestCenterGrasslineTracker, 140 # HarvestMoon1RestoreFenceTracker, 141 HarvestMoon1HarvestCenterTurnipTracker, 142 HarvestMoon1WaterCenterTurnipTracker, 143 HarvestMoon1WaterCenterPotatoTracker, 144 HarvestMoon1HarvestCenterPotatoTracker, 145 HarvestMoon1GetHomeExpansionEstimateTracker, 146 HarvestMoon1FillCowFodderTracker, 147 # HarvestMoon2ShipEggplantTracker, 148 HarvestMoon2Cross500mLineTracker, 149 HarvestMoon2Cross1000mLineTracker, 150 HarvestMoon2HarvestCenterEggplantTracker, 151 HarvestMoon2HarvestCenterCarrotTracker, 152 HarvestMoon2WaterCenterPotatoTracker, 153 HarvestMoon2WaterCenterAsparagusTracker, 154 HarvestMoon2ReadComputersArticleTracker, 155 HarvestMoon2ReadBouldersArticleTracker, 156 HarvestMoon2ReadCropsArticleTracker, 157 HarvestMoon2RemoveLeftmostWeedTracker, 158 HarvestMoon2PickBerryTracker, 159 HarvestMoon2PickBerryAboveTracker, 160 HarvestMoon2SpeakToBlueHairGirlTracker, 161 HarvestMoon2SpeakToPurpleHairGirlTracker, 162 HarvestMoon2SpeakToBlondeGirlTracker, 163 HarvestMoon2HatchEggTracker, 164 HarvestMoon2BuyCowTracker, 165 HarvestMoon2SellCowTracker, 166 HarvestMoon2SellChickenTracker, 167 HarvestMoon2GetHothouseEstimateTracker, 168 HarvestMoon2BuyChickenTracker, 169 HarvestMoon2FillChickenFodderTracker, 170 HarvestMoon2WaterCornFieldTracker, 171 HarvestMoon2CutCenterCornTracker, 172 HarvestMoon2WaterCabbageFieldTracker, 173) 174 175GAME_TO_GB_NAME = { 176 "harvest_moon_1": "HarvestMoon1.gbc", 177 "harvest_moon_2": "HarvestMoon2.gbc", 178 "harvest_moon_3": "HarvestMoon3.gbc", 179} 180""" Expected save name for each game. Save the file to <storage_dir_from_config_file>/<game_name>_rom_data/<gb_name>""" 181 182STRONGEST_PARSERS: Dict[str, Type[StateParser]] = { 183 "harvest_moon_1": HarvestMoon1Parser, 184 "harvest_moon_2": HarvestMoon2Parser, 185 "harvest_moon_3": HarvestMoon3Parser, 186} 187""" Mapping of game names to their corresponding strongest StateParser classes. 188Unless you have a very good reason, you should always use the STRONGEST possible parser for a given game. 189The 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. 190This means there is never a reason to use a weaker parser. 191""" 192 193 194AVAILABLE_STATE_TRACKERS: Dict[str, Dict[str, Type[StateTracker]]] = { 195 "harvest_moon_1": { 196 "default": HarvestMoonOCRTracker, 197 "cow_barn_test": HarvestMoonCowBarnTracker, 198 "chicken_coop_test": HarvestMoonChickenCoopTracker, 199 "storage_shed_test": HarvestMoonStorageTracker, 200 "pickup_watercan_test": HarvestMoonPickupWaterCanTracker, 201 "pickup_cowbell_test": HarvestMoonPickupCowBellTracker, 202 "go_to_sleep_test": HarvestMoonGoToSleepTracker, 203 "feed_spirit_test": HarvestMoonFeedSpiritTracker, 204 "help_spirit_earthquake_test": HarvestMoonHelpSpiritEarthquakeTracker, 205 "water_turnip_test": HarvestMoonWaterTurnipTracker, 206 "buy_material_test": HarvestMoonBuyMaterialTracker, 207 "buy_chicken_test": HarvestMoonBuyChickenTracker, 208 "buy_cow_test": HarvestMoonBuyCowTracker, 209 "sell_chicken_test": HarvestMoonSellChickenTracker, 210 "buy_cow_brush_test": HarvestMoonBuyCowBrushTracker, 211 "buy_saddlebag_test": HarvestMoonBuySaddlebagTracker, 212 "buy_milker_test": HarvestMoonBuyMilkerTracker, 213 "buy_rice_ball_test": HarvestMoonBuyRiceBallTracker, 214 "open_storage_list_test": HarvestMoonOpenStorageListTracker, 215 "find_rainy_money_test": HarvestMoonFindRainyMoneyTracker, 216 "find_lost_bird_test": HarvestMoonFindLostBirdTracker, 217 "speak_to_blue_hair_girl_test": HarvestMoonSpeakToBlueHairGirlTracker, 218 "fill_chicken_fodder_test": HarvestMoonFillChickenFodderTracker, 219 "pickup_sickle_test": HarvestMoonPickupSickleTracker, 220 "pickup_hoe_test": HarvestMoonPickupHoeTracker, 221 "pickup_hammer_test": HarvestMoonPickupHammerTracker, 222 "pickup_grass_seed_test": HarvestMoonPickupGrassSeedTracker, 223 "buy_croissant_test": HarvestMoonBuyCroissantTracker, 224 "buy_cake_test": HarvestMoonBuyCakeTracker, 225 "buy_grape_juice_test": HarvestMoonBuyGrapeJuiceTracker, 226 "go_to_church_pray_test": HarvestMoonGoToChurchPrayTracker, 227 "speak_to_golden_hair_girl_test": HarvestMoonSpeakToGoldenHairGirlTracker, 228 "speak_to_pink_hair_girl_test": HarvestMoonSpeakToPinkHairGirlTracker, 229 "speak_to_blue_hair_girl_wg_test": HarvestMoon1SpeakToBlueHairGirlWGTracker, 230 "speak_to_pink_hair_girl_wg_test": HarvestMoon1SpeakToPinkHairGirlWGTracker, 231 "speak_to_red_hair_girl_wg_test": HarvestMoon1SpeakToRedHairGirlWGTracker, 232 "open_menu_test": HarvestMoonOpenMenuTracker, 233 "hatch_egg_test": HarvestMoon1HatchEggTracker, 234 "break_rock_test": HarvestMoon1BreakRockTracker, 235 "break_rightmost_rock_test": HarvestMoon1BreakRightmostRockTracker, 236 "remove_lowest_weed_test": HarvestMoon1RemoveLowestWeedTracker, 237 "cut_lowest_weed_test": HarvestMoon1CutLowestWeedTracker, 238 "remove_top_left_weed_test": HarvestMoon1RemoveTopLeftWeedTracker, 239 "cut_top_left_weed_test": HarvestMoon1CutTopLeftWeedTracker, 240 "harvest_center_grassline_test": HarvestMoon1HarvestCenterGrasslineTracker, 241 "restore_fence_test": HarvestMoon1RestoreFenceTracker, 242 "harvest_center_turnip_test": HarvestMoon1HarvestCenterTurnipTracker, 243 "water_center_turnip_test": HarvestMoon1WaterCenterTurnipTracker, 244 "water_center_potato_test": HarvestMoon1WaterCenterPotatoTracker, 245 "harvest_center_potato_test": HarvestMoon1HarvestCenterPotatoTracker, 246 "get_home_expansion_estimate_test": HarvestMoon1GetHomeExpansionEstimateTracker, 247 "fill_cow_fodder_test": HarvestMoon1FillCowFodderTracker, 248 }, 249 "harvest_moon_2": { 250 "default": HarvestMoonOCRTracker, 251 "cow_barn_test": HarvestMoon2CowBarnTracker, 252 "chicken_coop_test": HarvestMoon2ChickenCoopTracker, 253 "hospital_entrance_test": HarvestMoon2HospitalEntranceTracker, 254 "animal_shop_entrance_test": HarvestMoon2AnimalShopEntranceTracker, 255 "library_entrance_test": HarvestMoon2LibraryEntranceTracker, 256 "tool_shop_entrance_test": HarvestMoon2ToolShopEntranceTracker, 257 "carpenter_entrance_test": HarvestMoon2CarpenterEntranceTracker, 258 "find_lucky_money_test": HarvestMoon2FindLuckyMoneyTracker, 259 "flower_shop_entrance_test": HarvestMoon2FlowerShopEntranceTracker, 260 "get_bridge_estimate_test": HarvestMoon2GetBridgeEstimateTracker, 261 "buy_milker_test": HarvestMoon2BuyMilkerTracker, 262 "restaurant_entrance_test": HarvestMoon2RestaurantEntranceTracker, 263 "buy_lunch_set_test": HarvestMoon2BuyLunchSetTracker, 264 "buy_beverage_set_test": HarvestMoon2BuyBeverageSetTracker, 265 "buy_todays_special_test": HarvestMoon2BuyTodaysSpecialTracker, 266 "go_to_bed_test": HarvestMoon2GoToBedTracker, 267 "read_secret_garden_sign_test": HarvestMoon2ReadSecretGardenSignTracker, 268 "read_crop_field_sign_test": HarvestMoon2ReadCropFieldSignTracker, 269 "equip_sickle_test": HarvestMoon2EquipSickleTracker, 270 "equip_hammer_test": HarvestMoon2EquipHammerTracker, 271 "equip_fishing_rod_test": HarvestMoon2EquipFishingRodTracker, 272 "equip_net_replacing_ax_test": HarvestMoon2EquipNetReplacingAxTracker, 273 "equip_rosemary_seeds_replacing_ax_test": HarvestMoon2EquipRosemarySeedsReplacingAxTracker, 274 "equip_sickle_replacing_sprinkler_test": HarvestMoon2EquipSickleReplacingSprinklerTracker, 275 "equip_net_replacing_hoe_test": HarvestMoon2EquipNetReplacingHoeTracker, 276 "cross_500m_line_test": HarvestMoon2Cross500mLineTracker, 277 "cross_1000m_line_test": HarvestMoon2Cross1000mLineTracker, 278 "harvest_center_eggplant_test": HarvestMoon2HarvestCenterEggplantTracker, 279 "harvest_center_carrot_test": HarvestMoon2HarvestCenterCarrotTracker, 280 "water_center_potato_test": HarvestMoon2WaterCenterPotatoTracker, 281 "water_center_asparagus_test": HarvestMoon2WaterCenterAsparagusTracker, 282 "read_computers_article_test": HarvestMoon2ReadComputersArticleTracker, 283 "read_boulders_article_test": HarvestMoon2ReadBouldersArticleTracker, 284 "read_selling_crops_article_test": HarvestMoon2ReadCropsArticleTracker, 285 "remove_leftmost_weed_test": HarvestMoon2RemoveLeftmostWeedTracker, 286 "pick_berry_test": HarvestMoon2PickBerryTracker, 287 "pick_berry_above_test": HarvestMoon2PickBerryAboveTracker, 288 "speak_to_blue_hair_girl_test": HarvestMoon2SpeakToBlueHairGirlTracker, 289 "speak_to_purple_hair_girl_test": HarvestMoon2SpeakToPurpleHairGirlTracker, 290 "speak_to_blonde_girl_test": HarvestMoon2SpeakToBlondeGirlTracker, 291 "hatch_egg_test": HarvestMoon2HatchEggTracker, 292 "buy_cow_test": HarvestMoon2BuyCowTracker, 293 "sell_cow_test": HarvestMoon2SellCowTracker, 294 "sell_chicken_test": HarvestMoon2SellChickenTracker, 295 "get_hothouse_estimate_test": HarvestMoon2GetHothouseEstimateTracker, 296 "buy_chicken_test": HarvestMoon2BuyChickenTracker, 297 "fill_chicken_fodder_test": HarvestMoon2FillChickenFodderTracker, 298 "water_corn_field_test": HarvestMoon2WaterCornFieldTracker, 299 "cut_center_corn_test": HarvestMoon2CutCenterCornTracker, 300 "water_cabbage_field_test": HarvestMoon2WaterCabbageFieldTracker, 301 302 "storage_shed_test": HarvestMoonStorageTracker, 303 "water_turnip_test": HarvestMoonWaterTurnipTracker, 304 "open_storage_list_test": HarvestMoonOpenStorageListTracker, 305 "read_village_sign_test": HarvestMoonReadVillageSignTracker, 306 "read_farm_sign_test": HarvestMoonReadFarmSignTracker, 307 "read_notice_board_test": HarvestMoonReadNoticeBoardTracker, 308 "open_menu_test": HarvestMoonOpenMenuTracker, 309 }, 310 "harvest_moon_3": { 311 "default": HarvestMoonOCRTracker, 312 "chicken_coop_test": HarvestMoon3ChickenCoopTracker, 313 "read_secret_garden_sign_test": HarvestMoon3ReadSecretGardenSignTracker, 314 "read_morning_market_sign_test": HarvestMoon3ReadMorningMarketSignTracker, 315 "read_storage_sign_test": HarvestMoon3ReadStorageSignTracker, 316 "speak_to_Kirk_village_test": HarvestMoon3SpeakToKirkVillageTracker, 317 "take_ferry_back_test": HarvestMoon3TakeFerryTracker, 318 "speak_to_Joe_test": HarvestMoon3SpeakToJoeTracker, 319 "speak_to_Lukia_test": HarvestMoon3SpeakToLukiaTracker, 320 "speak_to_Lucus_test": HarvestMoon3SpeakToLucusTracker, 321 "speak_to_Lyla_test": HarvestMoon3SpeakToLylaTracker, 322 "buy_horse_saddle_test": HarvestMoon3BuyHorseSaddleTracker, 323 "buy_flower_vase_test": HarvestMoon3BuyFlowerVaseTracker, 324 "buy_meal_set_test": HarvestMoon3BuyMealSetTracker, 325 "choose_coffee_to_buy_test": HarvestMoon3BuyCoffeeTracker, 326 "shopping_mall_entrance_test": HarvestMoon3ShoppingMallEntranceTracker, 327 "shopping_mall_second_floor_test": HarvestMoon3ShoppingMallSecondFloorTracker, 328 "farmers_union_entrance_test": HarvestMoon3FarmersUnionEntranceTracker, 329 "aquarium_entrance_test": HarvestMoon3AquariumEntranceTracker, 330 "theatre_entrance_test": HarvestMoon3TheatreEntranceTracker, 331 "hot_spring_entrance_test": HarvestMoon3HotSpringEntranceTracker, 332 "open_menu_test": HarvestMoonOpenMenuTracker, 333 "farm_entrance_test": HarvestMoon3FarmEntranceTracker, 334 "village_entrance_test": HarvestMoon3VillageEntranceTracker, 335 "grassland_entrance_test": HarvestMoon3GrasslandEntranceTracker, 336 "forest_entrance_test": HarvestMoon3ForestEntranceTracker, 337 "cliff_entrance_test": HarvestMoon3CliffEntranceTracker, 338 "mountain_entrance_test": HarvestMoon3MountainEntranceTracker, 339 "read_ferry_sign_test": HarvestMoon3ReadFerrySignTracker, 340 "find_secret_savings_test": HarvestMoon3FindSecretSavingsTracker, 341 "choose_tea_to_buy_test": HarvestMoon3ChooseTeaTracker, 342 "choose_asparagus_seeds_to_buy_test": HarvestMoon3ChooseAsparagusSeedsTracker, 343 "choose_potato_seeds_to_buy_test": HarvestMoon3BuyPotatoSeedsTracker, 344 "choose_turnip_seeds_to_buy_test": HarvestMoon3BuyTurnipSeedsTracker, 345 "fill_cow_fodder_test": HarvestMoon3FeedCowFodderTracker, 346 "break_rock_test": HarvestMoon3BreakRockTracker, 347 "remove_weed_test": HarvestMoon3RemoveWeedTracker, 348 "pick_up_cherry_test": HarvestMoon3PickUpCherryTracker, 349 "water_center_watermelon_test": HarvestMoon3WaterCenterWatermelonTracker, 350 "hatch_egg_test": HarvestMoon3HatchEggTracker, 351 "fill_chicken_fodder_test": HarvestMoon3FillChickenFodderTracker, 352 "buy_fodder_set_test": HarvestMoon3BuyFodderSetTracker, 353 "buy_horse_medicine_test": HarvestMoon3BuyHorseMedicineTracker, 354 "speak_to_kate_test": HarvestMoon3SpeakToKateTracker, 355 "water_center_spotato_test": HarvestMoon3WaterCenterSPotatoTracker, 356 "harvest_target_potato_test": HarvestMoon3HarvestTargetPotatoTracker, 357 "read_animal_ch2_test": HarvestMoon3ReadAnimalCh2Tracker, 358 "harvest_center_turnip_test": HarvestMoon3HarvestCenterTurnipTracker, 359 "sell_chicken_test": HarvestMoon3SellChickenTracker, 360 "pick_up_berry_test": HarvestMoon3PickBerryTracker, 361 "check_player_money_test": HarvestMoon3CheckPlayerMoneyTracker, 362 "harvest_center_eggplant_test": HarvestMoon3HarvestCenterEggplantTopTracker, 363 364 }, 365} 366""" Mapping of game names to their available StateTracker classes with string identifiers. """ 367 368 369AVAILABLE_EMULATORS: Dict[str, Dict[str, Type[Emulator]]] = { 370 "harvest_moon_1": {"default": Emulator}, 371 "harvest_moon_2": {"default": Emulator}, 372 "harvest_moon_3": {"default": Emulator}, 373} 374""" Mapping of game names to their available Emulator classes with string identifiers. """
GAME_TO_GB_NAME =
{'harvest_moon_1': 'HarvestMoon1.gbc', 'harvest_moon_2': 'HarvestMoon2.gbc', 'harvest_moon_3': 'HarvestMoon3.gbc'}
Expected save name for each game. Save the file to
STRONGEST_PARSERS: Dict[str, Type[gameboy_worlds.emulation.parser.StateParser]] =
{'harvest_moon_1': <class 'gameboy_worlds.emulation.harvest_moon.parsers.HarvestMoon1Parser'>, 'harvest_moon_2': <class 'gameboy_worlds.emulation.harvest_moon.parsers.HarvestMoon2Parser'>, 'harvest_moon_3': <class 'gameboy_worlds.emulation.harvest_moon.parsers.HarvestMoon3Parser'>}
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]]] =
{'harvest_moon_1': {'default': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonOCRTracker'>, 'cow_barn_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonCowBarnTracker'>, 'chicken_coop_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonChickenCoopTracker'>, 'storage_shed_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonStorageTracker'>, 'pickup_watercan_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonPickupWaterCanTracker'>, 'pickup_cowbell_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonPickupCowBellTracker'>, 'go_to_sleep_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonGoToSleepTracker'>, 'feed_spirit_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonFeedSpiritTracker'>, 'help_spirit_earthquake_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonHelpSpiritEarthquakeTracker'>, 'water_turnip_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonWaterTurnipTracker'>, 'buy_material_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonBuyMaterialTracker'>, 'buy_chicken_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonBuyChickenTracker'>, 'buy_cow_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonBuyCowTracker'>, 'sell_chicken_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonSellChickenTracker'>, 'buy_cow_brush_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonBuyCowBrushTracker'>, 'buy_saddlebag_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonBuySaddlebagTracker'>, 'buy_milker_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonBuyMilkerTracker'>, 'buy_rice_ball_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonBuyRiceBallTracker'>, 'open_storage_list_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonOpenStorageListTracker'>, 'find_rainy_money_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonFindRainyMoneyTracker'>, 'find_lost_bird_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonFindLostBirdTracker'>, 'speak_to_blue_hair_girl_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonSpeakToBlueHairGirlTracker'>, 'fill_chicken_fodder_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonFillChickenFodderTracker'>, 'pickup_sickle_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonPickupSickleTracker'>, 'pickup_hoe_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonPickupHoeTracker'>, 'pickup_hammer_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonPickupHammerTracker'>, 'pickup_grass_seed_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonPickupGrassSeedTracker'>, 'buy_croissant_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonBuyCroissantTracker'>, 'buy_cake_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonBuyCakeTracker'>, 'buy_grape_juice_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonBuyGrapeJuiceTracker'>, 'go_to_church_pray_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonGoToChurchPrayTracker'>, 'speak_to_golden_hair_girl_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonSpeakToGoldenHairGirlTracker'>, 'speak_to_pink_hair_girl_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonSpeakToPinkHairGirlTracker'>, 'speak_to_blue_hair_girl_wg_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon1SpeakToBlueHairGirlWGTracker'>, 'speak_to_pink_hair_girl_wg_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon1SpeakToPinkHairGirlWGTracker'>, 'speak_to_red_hair_girl_wg_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon1SpeakToRedHairGirlWGTracker'>, 'open_menu_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonOpenMenuTracker'>, 'hatch_egg_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon1HatchEggTracker'>, 'break_rock_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon1BreakRockTracker'>, 'break_rightmost_rock_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon1BreakRightmostRockTracker'>, 'remove_lowest_weed_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon1RemoveLowestWeedTracker'>, 'cut_lowest_weed_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon1CutLowestWeedTracker'>, 'remove_top_left_weed_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon1RemoveTopLeftWeedTracker'>, 'cut_top_left_weed_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon1CutTopLeftWeedTracker'>, 'harvest_center_grassline_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon1HarvestCenterGrasslineTracker'>, 'restore_fence_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon1RestoreFenceTracker'>, 'harvest_center_turnip_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon1HarvestCenterTurnipTracker'>, 'water_center_turnip_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon1WaterCenterTurnipTracker'>, 'water_center_potato_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon1WaterCenterPotatoTracker'>, 'harvest_center_potato_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon1HarvestCenterPotatoTracker'>, 'get_home_expansion_estimate_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon1GetHomeExpansionEstimateTracker'>, 'fill_cow_fodder_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon1FillCowFodderTracker'>}, 'harvest_moon_2': {'default': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonOCRTracker'>, 'cow_barn_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2CowBarnTracker'>, 'chicken_coop_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2ChickenCoopTracker'>, 'hospital_entrance_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2HospitalEntranceTracker'>, 'animal_shop_entrance_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2AnimalShopEntranceTracker'>, 'library_entrance_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2LibraryEntranceTracker'>, 'tool_shop_entrance_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2ToolShopEntranceTracker'>, 'carpenter_entrance_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2CarpenterEntranceTracker'>, 'find_lucky_money_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2FindLuckyMoneyTracker'>, 'flower_shop_entrance_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2FlowerShopEntranceTracker'>, 'get_bridge_estimate_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2GetBridgeEstimateTracker'>, 'buy_milker_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2BuyMilkerTracker'>, 'restaurant_entrance_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2RestaurantEntranceTracker'>, 'buy_lunch_set_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2BuyLunchSetTracker'>, 'buy_beverage_set_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2BuyBeverageSetTracker'>, 'buy_todays_special_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2BuyTodaysSpecialTracker'>, 'go_to_bed_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2GoToBedTracker'>, 'read_secret_garden_sign_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2ReadSecretGardenSignTracker'>, 'read_crop_field_sign_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2ReadCropFieldSignTracker'>, 'equip_sickle_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2EquipSickleTracker'>, 'equip_hammer_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2EquipHammerTracker'>, 'equip_fishing_rod_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2EquipFishingRodTracker'>, 'equip_net_replacing_ax_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2EquipNetReplacingAxTracker'>, 'equip_rosemary_seeds_replacing_ax_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2EquipRosemarySeedsReplacingAxTracker'>, 'equip_sickle_replacing_sprinkler_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2EquipSickleReplacingSprinklerTracker'>, 'equip_net_replacing_hoe_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2EquipNetReplacingHoeTracker'>, 'cross_500m_line_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2Cross500mLineTracker'>, 'cross_1000m_line_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2Cross1000mLineTracker'>, 'harvest_center_eggplant_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2HarvestCenterEggplantTracker'>, 'harvest_center_carrot_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2HarvestCenterCarrotTracker'>, 'water_center_potato_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2WaterCenterPotatoTracker'>, 'water_center_asparagus_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2WaterCenterAsparagusTracker'>, 'read_computers_article_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2ReadComputersArticleTracker'>, 'read_boulders_article_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2ReadBouldersArticleTracker'>, 'read_selling_crops_article_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2ReadCropsArticleTracker'>, 'remove_leftmost_weed_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2RemoveLeftmostWeedTracker'>, 'pick_berry_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2PickBerryTracker'>, 'pick_berry_above_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2PickBerryAboveTracker'>, 'speak_to_blue_hair_girl_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2SpeakToBlueHairGirlTracker'>, 'speak_to_purple_hair_girl_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2SpeakToPurpleHairGirlTracker'>, 'speak_to_blonde_girl_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2SpeakToBlondeGirlTracker'>, 'hatch_egg_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2HatchEggTracker'>, 'buy_cow_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2BuyCowTracker'>, 'sell_cow_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2SellCowTracker'>, 'sell_chicken_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2SellChickenTracker'>, 'get_hothouse_estimate_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2GetHothouseEstimateTracker'>, 'buy_chicken_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2BuyChickenTracker'>, 'fill_chicken_fodder_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2FillChickenFodderTracker'>, 'water_corn_field_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2WaterCornFieldTracker'>, 'cut_center_corn_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2CutCenterCornTracker'>, 'water_cabbage_field_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon2WaterCabbageFieldTracker'>, 'storage_shed_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonStorageTracker'>, 'water_turnip_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonWaterTurnipTracker'>, 'open_storage_list_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonOpenStorageListTracker'>, 'read_village_sign_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonReadVillageSignTracker'>, 'read_farm_sign_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonReadFarmSignTracker'>, 'read_notice_board_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonReadNoticeBoardTracker'>, 'open_menu_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonOpenMenuTracker'>}, 'harvest_moon_3': {'default': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonOCRTracker'>, 'chicken_coop_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3ChickenCoopTracker'>, 'read_secret_garden_sign_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3ReadSecretGardenSignTracker'>, 'read_morning_market_sign_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3ReadMorningMarketSignTracker'>, 'read_storage_sign_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3ReadStorageSignTracker'>, 'speak_to_Kirk_village_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3SpeakToKirkVillageTracker'>, 'take_ferry_back_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3TakeFerryTracker'>, 'speak_to_Joe_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3SpeakToJoeTracker'>, 'speak_to_Lukia_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3SpeakToLukiaTracker'>, 'speak_to_Lucus_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3SpeakToLucusTracker'>, 'speak_to_Lyla_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3SpeakToLylaTracker'>, 'buy_horse_saddle_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3BuyHorseSaddleTracker'>, 'buy_flower_vase_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3BuyFlowerVaseTracker'>, 'buy_meal_set_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3BuyMealSetTracker'>, 'choose_coffee_to_buy_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3BuyCoffeeTracker'>, 'shopping_mall_entrance_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3ShoppingMallEntranceTracker'>, 'shopping_mall_second_floor_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3ShoppingMallSecondFloorTracker'>, 'farmers_union_entrance_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3FarmersUnionEntranceTracker'>, 'aquarium_entrance_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3AquariumEntranceTracker'>, 'theatre_entrance_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3TheatreEntranceTracker'>, 'hot_spring_entrance_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3HotSpringEntranceTracker'>, 'open_menu_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoonOpenMenuTracker'>, 'farm_entrance_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3FarmEntranceTracker'>, 'village_entrance_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3VillageEntranceTracker'>, 'grassland_entrance_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3GrasslandEntranceTracker'>, 'forest_entrance_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3ForestEntranceTracker'>, 'cliff_entrance_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3CliffEntranceTracker'>, 'mountain_entrance_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3MountainEntranceTracker'>, 'read_ferry_sign_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3ReadFerrySignTracker'>, 'find_secret_savings_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3FindSecretSavingsTracker'>, 'choose_tea_to_buy_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3ChooseTeaTracker'>, 'choose_asparagus_seeds_to_buy_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3ChooseAsparagusSeedsTracker'>, 'choose_potato_seeds_to_buy_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3BuyPotatoSeedsTracker'>, 'choose_turnip_seeds_to_buy_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3BuyTurnipSeedsTracker'>, 'fill_cow_fodder_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3FeedCowFodderTracker'>, 'break_rock_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3BreakRockTracker'>, 'remove_weed_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3RemoveWeedTracker'>, 'pick_up_cherry_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3PickUpCherryTracker'>, 'water_center_watermelon_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3WaterCenterWatermelonTracker'>, 'hatch_egg_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3HatchEggTracker'>, 'fill_chicken_fodder_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3FillChickenFodderTracker'>, 'buy_fodder_set_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3BuyFodderSetTracker'>, 'buy_horse_medicine_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3BuyHorseMedicineTracker'>, 'speak_to_kate_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3SpeakToKateTracker'>, 'water_center_spotato_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3WaterCenterSPotatoTracker'>, 'harvest_target_potato_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3HarvestTargetPotatoTracker'>, 'read_animal_ch2_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3ReadAnimalCh2Tracker'>, 'harvest_center_turnip_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3HarvestCenterTurnipTracker'>, 'sell_chicken_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3SellChickenTracker'>, 'pick_up_berry_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3PickBerryTracker'>, 'check_player_money_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3CheckPlayerMoneyTracker'>, 'harvest_center_eggplant_test': <class 'gameboy_worlds.emulation.harvest_moon.trackers.HarvestMoon3HarvestCenterEggplantTopTracker'>}}
Mapping of game names to their available StateTracker classes with string identifiers.
AVAILABLE_EMULATORS: Dict[str, Dict[str, Type[gameboy_worlds.emulation.emulator.Emulator]]] =
{'harvest_moon_1': {'default': <class 'gameboy_worlds.emulation.emulator.Emulator'>}, 'harvest_moon_2': {'default': <class 'gameboy_worlds.emulation.emulator.Emulator'>}, 'harvest_moon_3': {'default': <class 'gameboy_worlds.emulation.emulator.Emulator'>}}
Mapping of game names to their available Emulator classes with string identifiers.