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