gameboy_worlds.emulation.bomberman.registry

  1from typing import Dict, Type
  2
  3from gameboy_worlds.emulation.bomberman.parsers import (
  4    BombermanMaxParser,
  5    BombermanPocketParser,
  6    BombermanQuestParser,
  7)
  8from gameboy_worlds.emulation.bomberman.trackers import (
  9    BombermanMaxCharabomSelectTestTracker,
 10    BombermanMaxDefeatEnemyTestTracker,
 11    BombermanMaxGameOverTestTracker,
 12    BombermanMaxPauseMenuTestTracker,
 13    BombermanMaxPickupBombUpTestTracker,
 14    BombermanMaxPickupFireUpTestTracker,
 15    BombermanMaxPitchAreaTestTracker,
 16    BombermanMaxStageBriefingTestTracker,
 17    BombermanMaxStageSelectTestTracker,
 18    BombermanMaxOCRTracker,
 19    BombermanPocketForestAreaIntroTestTracker,
 20    BombermanPocketGameOverTestTracker,
 21    BombermanPocketHudBottomRightChangedTestTracker,
 22    BombermanPocketHudChangedTestTracker,
 23    BombermanPocketHudEnemyCountChangedTestTracker,
 24    BombermanPocketHudHeartChangedTestTracker,
 25    BombermanPocketJumpLevelSelectTestTracker,
 26    BombermanPocketJumpResultsTestTracker,
 27    BombermanPocketJumpRankingTestTracker,
 28    BombermanPocketOceanAreaIntroTestTracker,
 29    BombermanPocketPauseMenuTestTracker,
 30    BombermanPocketOCRTracker,
 31    BombermanPocketWorldClearTestTracker,
 32    BombermanQuestBattleTestTracker,
 33    BombermanQuestBombSelectTestTracker,
 34    BombermanQuestBombComponentSelectTestTracker,
 35    BombermanQuestBoxPickedUpTestTracker,
 36    BombermanQuestCliffBoxPickedUpTestTracker,
 37    BombermanQuestHardSwitchActivatedTestTracker,
 38    BombermanQuestSaveNpcTestTracker,
 39    BombermanQuestButtonRegionChangedTestTracker,
 40    BombermanQuestSwitchActivatedTestTracker,
 41    BombermanQuestEnterCampTestTracker,
 42    BombermanQuestEnterCaveTestTracker,
 43    BombermanQuestEnterRoomTestTracker,
 44    BombermanQuestEnterRuinsTestTracker,
 45    BombermanQuestEnterHouseTestTracker,
 46    BombermanQuestGameOverTestTracker,
 47    BombermanQuestBookReadTestTracker,
 48    BombermanQuestNpcDialogueTestTracker,
 49    BombermanQuestPauseMenuTestTracker,
 50    BombermanQuestShieldSelectTestTracker,
 51    BombermanQuestSignDialogueTestTracker,
 52    BombermanQuestOCRTracker,
 53)
 54from gameboy_worlds.emulation.emulator import Emulator
 55from gameboy_worlds.emulation.parser import StateParser
 56from gameboy_worlds.emulation.tracker import StateTracker
 57
 58
 59GAME_TO_GB_NAME = {
 60    "bomberman_max": "BombermanMax.gbc",
 61    "bomberman_pocket": "BombermanPocket.gbc",
 62    "bomberman_quest": "BombermanQuest.gbc",
 63}
 64
 65STRONGEST_PARSERS: Dict[str, Type[StateParser]] = {
 66    "bomberman_max": BombermanMaxParser,
 67    "bomberman_pocket": BombermanPocketParser,
 68    "bomberman_quest": BombermanQuestParser,
 69}
 70
 71AVAILABLE_STATE_TRACKERS: Dict[str, Dict[str, Type[StateTracker]]] = {
 72    "bomberman_max": {
 73        "default": BombermanMaxOCRTracker,
 74        "ocr": BombermanMaxOCRTracker,
 75        "pause_menu_open_test": BombermanMaxPauseMenuTestTracker,
 76        "stage_select_test": BombermanMaxStageSelectTestTracker,
 77        "game_over_test": BombermanMaxGameOverTestTracker,
 78        "charabom_select_test": BombermanMaxCharabomSelectTestTracker,
 79        "stage_briefing_test": BombermanMaxStageBriefingTestTracker,
 80        "pickup_bomb_up_test": BombermanMaxPickupBombUpTestTracker,
 81        "defeat_enemy_test": BombermanMaxDefeatEnemyTestTracker,
 82        "pickup_fire_up_test": BombermanMaxPickupFireUpTestTracker,
 83        "pitch_area_test": BombermanMaxPitchAreaTestTracker,
 84    },
 85    "bomberman_pocket": {
 86        "default": BombermanPocketOCRTracker,
 87        "ocr": BombermanPocketOCRTracker,
 88        "pause_menu_open_test": BombermanPocketPauseMenuTestTracker,
 89        "stage_clear_test": BombermanPocketForestAreaIntroTestTracker,
 90        "forest_stage_clear_test": BombermanPocketForestAreaIntroTestTracker,
 91        "ocean_stage_clear_test": BombermanPocketOceanAreaIntroTestTracker,
 92        "world_clear_test": BombermanPocketWorldClearTestTracker,
 93        "game_over_test": BombermanPocketGameOverTestTracker,
 94        "jump_level_select_test": BombermanPocketJumpLevelSelectTestTracker,
 95        "jump_results_test": BombermanPocketJumpResultsTestTracker,
 96        "jump_ranking_test": BombermanPocketJumpRankingTestTracker,
 97        "pickup_bomb_up_test": BombermanPocketHudChangedTestTracker,
 98        "defeat_enemy_test": BombermanPocketHudEnemyCountChangedTestTracker,
 99        "pickup_bomb_range_up_test": BombermanPocketHudBottomRightChangedTestTracker,
100        "pickup_heart_test": BombermanPocketHudHeartChangedTestTracker,
101    },
102    "bomberman_quest": {
103        "default": BombermanQuestOCRTracker,
104        "ocr": BombermanQuestOCRTracker,
105        "pause_menu_open_test": BombermanQuestPauseMenuTestTracker,
106        "game_over_test": BombermanQuestGameOverTestTracker,
107        "bomb_select_open_test": BombermanQuestBombSelectTestTracker,
108        "npc_dialogue_test": BombermanQuestNpcDialogueTestTracker,
109        "sign_read_test": BombermanQuestSignDialogueTestTracker,
110        "charabom_battle_test": BombermanQuestBattleTestTracker,
111        "shield_select_test": BombermanQuestShieldSelectTestTracker,
112        "bomb_component_select_test": BombermanQuestBombComponentSelectTestTracker,
113        "button_region_changed_test": BombermanQuestButtonRegionChangedTestTracker,
114        "switch_activated_test": BombermanQuestSwitchActivatedTestTracker,
115        "box_picked_up_test": BombermanQuestBoxPickedUpTestTracker,
116        "cliff_box_picked_up_test": BombermanQuestCliffBoxPickedUpTestTracker,
117        "hard_switch_activated_test": BombermanQuestHardSwitchActivatedTestTracker,
118        "save_npc_test": BombermanQuestSaveNpcTestTracker,
119
120        "enter_camp_test": BombermanQuestEnterCampTestTracker,
121        "enter_cave_test": BombermanQuestEnterCaveTestTracker,
122        "enter_room_test": BombermanQuestEnterRoomTestTracker,
123        "enter_ruins_test": BombermanQuestEnterRuinsTestTracker,
124        "enter_house_test": BombermanQuestEnterHouseTestTracker,
125        "book_read_test": BombermanQuestBookReadTestTracker,
126    },
127}
128
129AVAILABLE_EMULATORS: Dict[str, Dict[str, Type[Emulator]]] = {
130    "bomberman_max": {"default": Emulator},
131    "bomberman_pocket": {"default": Emulator},
132    "bomberman_quest": {"default": Emulator},
133}
GAME_TO_GB_NAME = {'bomberman_max': 'BombermanMax.gbc', 'bomberman_pocket': 'BombermanPocket.gbc', 'bomberman_quest': 'BombermanQuest.gbc'}
AVAILABLE_STATE_TRACKERS: Dict[str, Dict[str, Type[gameboy_worlds.emulation.tracker.StateTracker]]] = {'bomberman_max': {'default': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanMaxOCRTracker'>, 'ocr': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanMaxOCRTracker'>, 'pause_menu_open_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanMaxPauseMenuTestTracker'>, 'stage_select_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanMaxStageSelectTestTracker'>, 'game_over_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanMaxGameOverTestTracker'>, 'charabom_select_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanMaxCharabomSelectTestTracker'>, 'stage_briefing_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanMaxStageBriefingTestTracker'>, 'pickup_bomb_up_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanMaxPickupBombUpTestTracker'>, 'defeat_enemy_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanMaxDefeatEnemyTestTracker'>, 'pickup_fire_up_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanMaxPickupFireUpTestTracker'>, 'pitch_area_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanMaxPitchAreaTestTracker'>}, 'bomberman_pocket': {'default': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanPocketOCRTracker'>, 'ocr': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanPocketOCRTracker'>, 'pause_menu_open_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanPocketPauseMenuTestTracker'>, 'stage_clear_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanPocketForestAreaIntroTestTracker'>, 'forest_stage_clear_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanPocketForestAreaIntroTestTracker'>, 'ocean_stage_clear_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanPocketOceanAreaIntroTestTracker'>, 'world_clear_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanPocketWorldClearTestTracker'>, 'game_over_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanPocketGameOverTestTracker'>, 'jump_level_select_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanPocketJumpLevelSelectTestTracker'>, 'jump_results_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanPocketJumpResultsTestTracker'>, 'jump_ranking_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanPocketJumpRankingTestTracker'>, 'pickup_bomb_up_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanPocketHudChangedTestTracker'>, 'defeat_enemy_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanPocketHudEnemyCountChangedTestTracker'>, 'pickup_bomb_range_up_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanPocketHudBottomRightChangedTestTracker'>, 'pickup_heart_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanPocketHudHeartChangedTestTracker'>}, 'bomberman_quest': {'default': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestOCRTracker'>, 'ocr': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestOCRTracker'>, 'pause_menu_open_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestPauseMenuTestTracker'>, 'game_over_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestGameOverTestTracker'>, 'bomb_select_open_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestBombSelectTestTracker'>, 'npc_dialogue_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestNpcDialogueTestTracker'>, 'sign_read_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestSignDialogueTestTracker'>, 'charabom_battle_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestBattleTestTracker'>, 'shield_select_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestShieldSelectTestTracker'>, 'bomb_component_select_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestBombComponentSelectTestTracker'>, 'button_region_changed_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestButtonRegionChangedTestTracker'>, 'switch_activated_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestSwitchActivatedTestTracker'>, 'box_picked_up_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestBoxPickedUpTestTracker'>, 'cliff_box_picked_up_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestCliffBoxPickedUpTestTracker'>, 'hard_switch_activated_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestHardSwitchActivatedTestTracker'>, 'save_npc_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestSaveNpcTestTracker'>, 'enter_camp_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestEnterCampTestTracker'>, 'enter_cave_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestEnterCaveTestTracker'>, 'enter_room_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestEnterRoomTestTracker'>, 'enter_ruins_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestEnterRuinsTestTracker'>, 'enter_house_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestEnterHouseTestTracker'>, 'book_read_test': <class 'gameboy_worlds.emulation.bomberman.trackers.BombermanQuestBookReadTestTracker'>}}
AVAILABLE_EMULATORS: Dict[str, Dict[str, Type[gameboy_worlds.emulation.emulator.Emulator]]] = {'bomberman_max': {'default': <class 'gameboy_worlds.emulation.emulator.Emulator'>}, 'bomberman_pocket': {'default': <class 'gameboy_worlds.emulation.emulator.Emulator'>}, 'bomberman_quest': {'default': <class 'gameboy_worlds.emulation.emulator.Emulator'>}}