yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
command_handlers.cc
Go to the documentation of this file.
2
15#ifdef YAZE_WITH_GRPC
17#endif
19#include <memory>
20
29
30namespace yaze {
31namespace cli {
32namespace handlers {
33
34std::vector<std::unique_ptr<resources::CommandHandler>>
36 std::vector<std::unique_ptr<resources::CommandHandler>> handlers;
37
38 // Graphics commands
39 handlers.push_back(std::make_unique<HexReadCommandHandler>());
40 handlers.push_back(std::make_unique<HexWriteCommandHandler>());
41 handlers.push_back(std::make_unique<HexSearchCommandHandler>());
42
43 // Palette commands
44 handlers.push_back(std::make_unique<PaletteGetColorsCommandHandler>());
45 handlers.push_back(std::make_unique<PaletteSetColorCommandHandler>());
46 handlers.push_back(std::make_unique<PaletteAnalyzeCommandHandler>());
47
48 // Sprite commands
49 handlers.push_back(std::make_unique<SpriteListCommandHandler>());
50 handlers.push_back(std::make_unique<SpritePropertiesCommandHandler>());
51 handlers.push_back(std::make_unique<SpritePaletteCommandHandler>());
52
53 // Music commands
54 handlers.push_back(std::make_unique<MusicListCommandHandler>());
55 handlers.push_back(std::make_unique<MusicInfoCommandHandler>());
56 handlers.push_back(std::make_unique<MusicTracksCommandHandler>());
57
58 // Dialogue commands
59 handlers.push_back(std::make_unique<DialogueListCommandHandler>());
60 handlers.push_back(std::make_unique<DialogueReadCommandHandler>());
61 handlers.push_back(std::make_unique<DialogueSearchCommandHandler>());
62
63 // Message commands
64 handlers.push_back(std::make_unique<MessageListCommandHandler>());
65 handlers.push_back(std::make_unique<MessageReadCommandHandler>());
66 handlers.push_back(std::make_unique<MessageSearchCommandHandler>());
67
68 // Validation and repair tools (doctor suite)
69 handlers.push_back(std::make_unique<OverworldValidateCommandHandler>());
70 handlers.push_back(std::make_unique<OverworldDoctorCommandHandler>());
71 handlers.push_back(std::make_unique<DungeonDoctorCommandHandler>());
72 handlers.push_back(std::make_unique<RomDoctorCommandHandler>());
73 handlers.push_back(std::make_unique<MessageDoctorCommandHandler>());
74 handlers.push_back(std::make_unique<SpriteDoctorCommandHandler>());
75 handlers.push_back(std::make_unique<GraphicsDoctorCommandHandler>());
76 handlers.push_back(std::make_unique<RomCompareCommandHandler>());
77
78 return handlers;
79}
80
82
83std::vector<std::unique_ptr<resources::CommandHandler>>
85 std::vector<std::unique_ptr<resources::CommandHandler>> handlers;
86
87 // Add simple-chat command handler
88 handlers.push_back(std::make_unique<SimpleChatCommandHandler>());
89
90 // Resource inspection tools
91 handlers.push_back(std::make_unique<ResourceListCommandHandler>());
92 handlers.push_back(std::make_unique<ResourceSearchCommandHandler>());
93
94 // Dungeon inspection
95 handlers.push_back(std::make_unique<DungeonListSpritesCommandHandler>());
96 handlers.push_back(std::make_unique<DungeonDescribeRoomCommandHandler>());
97 handlers.push_back(std::make_unique<DungeonExportRoomCommandHandler>());
98 handlers.push_back(std::make_unique<DungeonListObjectsCommandHandler>());
99 handlers.push_back(std::make_unique<DungeonGetRoomTilesCommandHandler>());
100 handlers.push_back(std::make_unique<DungeonSetRoomPropertyCommandHandler>());
101
102 // Overworld inspection
103 handlers.push_back(std::make_unique<OverworldFindTileCommandHandler>());
104 handlers.push_back(std::make_unique<OverworldDescribeMapCommandHandler>());
105 handlers.push_back(std::make_unique<OverworldListWarpsCommandHandler>());
106 handlers.push_back(std::make_unique<OverworldListSpritesCommandHandler>());
107 handlers.push_back(std::make_unique<OverworldGetEntranceCommandHandler>());
108 handlers.push_back(std::make_unique<OverworldTileStatsCommandHandler>());
109
110 // GUI automation tools
111 handlers.push_back(std::make_unique<GuiPlaceTileCommandHandler>());
112 handlers.push_back(std::make_unique<GuiClickCommandHandler>());
113 handlers.push_back(std::make_unique<GuiDiscoverToolCommandHandler>());
114 handlers.push_back(std::make_unique<GuiScreenshotCommandHandler>());
115
116 // Emulator & debugger commands
117#ifdef YAZE_WITH_GRPC
118 handlers.push_back(std::make_unique<EmulatorStepCommandHandler>());
119 handlers.push_back(std::make_unique<EmulatorRunCommandHandler>());
120 handlers.push_back(std::make_unique<EmulatorPauseCommandHandler>());
121 handlers.push_back(std::make_unique<EmulatorResetCommandHandler>());
122 handlers.push_back(std::make_unique<EmulatorGetStateCommandHandler>());
123 handlers.push_back(std::make_unique<EmulatorSetBreakpointCommandHandler>());
124 handlers.push_back(std::make_unique<EmulatorClearBreakpointCommandHandler>());
125 handlers.push_back(std::make_unique<EmulatorListBreakpointsCommandHandler>());
126 handlers.push_back(std::make_unique<EmulatorReadMemoryCommandHandler>());
127 handlers.push_back(std::make_unique<EmulatorWriteMemoryCommandHandler>());
128 handlers.push_back(std::make_unique<EmulatorGetRegistersCommandHandler>());
129 handlers.push_back(std::make_unique<EmulatorGetMetricsCommandHandler>());
130#endif
131
132 // Test helper tools
133 handlers.push_back(std::make_unique<ToolsListCommandHandler>());
134 handlers.push_back(std::make_unique<ToolsHarnessStateCommandHandler>());
135 handlers.push_back(std::make_unique<ToolsExtractValuesCommandHandler>());
136 handlers.push_back(std::make_unique<ToolsExtractGoldenCommandHandler>());
137 handlers.push_back(std::make_unique<ToolsPatchV3CommandHandler>());
138
139 // Hex Inspector
140 handlers.push_back(std::make_unique<HexDumpCommandHandler>());
141 handlers.push_back(std::make_unique<HexCompareCommandHandler>());
142 handlers.push_back(std::make_unique<HexAnnotateCommandHandler>());
143
144 // Test CLI commands
145 handlers.push_back(std::make_unique<TestListCommandHandler>());
146 handlers.push_back(std::make_unique<TestRunCommandHandler>());
147 handlers.push_back(std::make_unique<TestStatusCommandHandler>());
148
149 return handlers;
150}
151
152std::vector<std::unique_ptr<resources::CommandHandler>>
154 std::vector<std::unique_ptr<resources::CommandHandler>> handlers;
155
156 // Add CLI handlers
157 auto cli_handlers = CreateCliCommandHandlers();
158 for (auto& handler : cli_handlers) {
159 handlers.push_back(std::move(handler));
160 }
161
162 // Add agent handlers
163 auto agent_handlers = CreateAgentCommandHandlers();
164 for (auto& handler : agent_handlers) {
165 handlers.push_back(std::move(handler));
166 }
167
168 return handlers;
169}
170
171} // namespace handlers
172} // namespace cli
173} // namespace yaze
std::vector< std::unique_ptr< resources::CommandHandler > > CreateAllCommandHandlers()
Factory function to create all command handlers (CLI + agent)
std::vector< std::unique_ptr< resources::CommandHandler > > CreateCliCommandHandlers()
Factory function to create all CLI-level command handlers.
std::vector< std::unique_ptr< resources::CommandHandler > > CreateAgentCommandHandlers()
Factory function to create all agent-specific command handlers.
CLI command handlers for test helper tools.