yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
command_handlers_browser.cc
Go to the documentation of this file.
2
3#include <memory>
4#include <vector>
5
16
17namespace yaze {
18namespace cli {
19namespace handlers {
20
21std::vector<std::unique_ptr<resources::CommandHandler>>
23 std::vector<std::unique_ptr<resources::CommandHandler>> handlers;
24
25 // Graphics commands (supported in browser)
26 handlers.push_back(std::make_unique<HexReadCommandHandler>());
27 handlers.push_back(std::make_unique<HexWriteCommandHandler>());
28 handlers.push_back(std::make_unique<HexSearchCommandHandler>());
29
30 // Palette commands (supported in browser)
31 handlers.push_back(std::make_unique<PaletteGetColorsCommandHandler>());
32 handlers.push_back(std::make_unique<PaletteSetColorCommandHandler>());
33 handlers.push_back(std::make_unique<PaletteAnalyzeCommandHandler>());
34
35 // Dungeon commands
36 handlers.push_back(std::make_unique<DungeonListSpritesCommandHandler>());
37 handlers.push_back(std::make_unique<DungeonDescribeRoomCommandHandler>());
38 handlers.push_back(std::make_unique<DungeonListChestsCommandHandler>());
39 handlers.push_back(std::make_unique<DungeonGetEntranceCommandHandler>());
40 handlers.push_back(std::make_unique<DungeonExportRoomCommandHandler>());
41 handlers.push_back(std::make_unique<DungeonListObjectsCommandHandler>());
42 handlers.push_back(
43 std::make_unique<DungeonListCustomCollisionCommandHandler>());
44 handlers.push_back(
45 std::make_unique<DungeonExportCustomCollisionJsonCommandHandler>());
46 handlers.push_back(
47 std::make_unique<DungeonImportCustomCollisionJsonCommandHandler>());
48 handlers.push_back(
49 std::make_unique<DungeonExportWaterFillJsonCommandHandler>());
50 handlers.push_back(
51 std::make_unique<DungeonImportWaterFillJsonCommandHandler>());
52 handlers.push_back(std::make_unique<DungeonGetRoomTilesCommandHandler>());
53 handlers.push_back(std::make_unique<DungeonSetRoomPropertyCommandHandler>());
54 // Read-only palette resolution is safe in the browser terminal. The
55 // mutating setter is intentionally omitted because Emscripten cannot
56 // guarantee durable IDBFS synchronization after an in-session save.
57 handlers.push_back(std::make_unique<DungeonGetPaletteCommandHandler>());
58 handlers.push_back(std::make_unique<DungeonMinecartAuditCommandHandler>());
59 handlers.push_back(std::make_unique<DungeonMinecartMapCommandHandler>());
60
61 // Overworld commands
62 handlers.push_back(std::make_unique<OverworldGetTileCommandHandler>());
63 handlers.push_back(std::make_unique<OverworldSetTileCommandHandler>());
64 handlers.push_back(std::make_unique<OverworldFindTileCommandHandler>());
65 handlers.push_back(std::make_unique<OverworldDescribeMapCommandHandler>());
66 handlers.push_back(std::make_unique<OverworldListWarpsCommandHandler>());
67 handlers.push_back(std::make_unique<OverworldListSpritesCommandHandler>());
68 handlers.push_back(std::make_unique<OverworldListItemsCommandHandler>());
69 handlers.push_back(std::make_unique<OverworldGetEntranceCommandHandler>());
70 handlers.push_back(std::make_unique<OverworldTileStatsCommandHandler>());
71 handlers.push_back(std::make_unique<OverworldExportGraphCommandHandler>());
72
73 // Resource commands
74 handlers.push_back(std::make_unique<ResourceListCommandHandler>());
75 handlers.push_back(std::make_unique<ResourceSearchCommandHandler>());
76
77 // ROM commands
78 handlers.push_back(std::make_unique<RomInfoCommandHandler>());
79 handlers.push_back(std::make_unique<RomValidateCommandHandler>());
80 handlers.push_back(std::make_unique<RomDiffCommandHandler>());
81
82 return handlers;
83}
84
85} // namespace handlers
86} // namespace cli
87} // namespace yaze
std::vector< std::unique_ptr< resources::CommandHandler > > CreateCliCommandHandlers()
Factory function to create all CLI-level command handlers.