yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
dungeon_commands.h
Go to the documentation of this file.
1#ifndef YAZE_SRC_CLI_HANDLERS_DUNGEON_COMMANDS_H_
2#define YAZE_SRC_CLI_HANDLERS_DUNGEON_COMMANDS_H_
3
5
6namespace yaze {
7namespace cli {
8namespace handlers {
9
14 public:
15 std::string GetName() const { return "dungeon-list-sprites"; }
16 std::string GetDescription() const {
17 return "List all sprites in a dungeon room";
18 }
19 std::string GetUsage() const {
20 return "dungeon-list-sprites --room <room_id> [--format <json|text>]";
21 }
22
23 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
24 return parser.RequireArgs({"room"});
25 }
26
27 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
28 resources::OutputFormatter& formatter) override;
29};
30
35 public:
36 std::string GetName() const { return "dungeon-describe-room"; }
37 std::string GetDescription() const {
38 return "Get detailed description of a dungeon room";
39 }
40 std::string GetUsage() const {
41 return "dungeon-describe-room --room <room_id> [--format <json|text>]";
42 }
43
44 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
45 return parser.RequireArgs({"room"});
46 }
47
48 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
49 resources::OutputFormatter& formatter) override;
50};
51
56 public:
57 std::string GetName() const { return "dungeon-export-room"; }
58 std::string GetDescription() const {
59 return "Export room data to JSON format";
60 }
61 std::string GetUsage() const {
62 return "dungeon-export-room --room <room_id> [--format <json|text>]";
63 }
64
65 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
66 return parser.RequireArgs({"room"});
67 }
68
69 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
70 resources::OutputFormatter& formatter) override;
71};
72
77 public:
78 std::string GetName() const { return "dungeon-list-objects"; }
79 std::string GetDescription() const {
80 return "List all objects in a dungeon room";
81 }
82 std::string GetUsage() const {
83 return "dungeon-list-objects --room <room_id> [--format <json|text>]";
84 }
85
86 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
87 return parser.RequireArgs({"room"});
88 }
89
90 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
91 resources::OutputFormatter& formatter) override;
92};
93
98 public:
99 std::string GetName() const { return "dungeon-get-room-tiles"; }
100 std::string GetDescription() const {
101 return "Get tile data for a dungeon room";
102 }
103 std::string GetUsage() const {
104 return "dungeon-get-room-tiles --room <room_id> [--format <json|text>]";
105 }
106
107 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
108 return parser.RequireArgs({"room"});
109 }
110
111 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
112 resources::OutputFormatter& formatter) override;
113};
114
119 public:
120 std::string GetName() const { return "dungeon-set-room-property"; }
121 std::string GetDescription() const {
122 return "Set a property on a dungeon room";
123 }
124 std::string GetUsage() const {
125 return "dungeon-set-room-property --room <room_id> --property <property> --value <value> [--format <json|text>]";
126 }
127
128 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
129 return parser.RequireArgs({"room", "property", "value"});
130 }
131
132 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
133 resources::OutputFormatter& formatter) override;
134};
135
136} // namespace handlers
137} // namespace cli
138} // namespace yaze
139
140#endif // YAZE_SRC_CLI_HANDLERS_DUNGEON_COMMANDS_H_
The Rom class is used to load, save, and modify Rom data.
Definition rom.h:71
Command handler for describing a dungeon room.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
std::string GetName() const
Get the command name.
std::string GetUsage() const
Get the command usage string.
Command handler for exporting room data.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
std::string GetUsage() const
Get the command usage string.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetName() const
Get the command name.
Command handler for getting room tiles.
std::string GetUsage() const
Get the command usage string.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetName() const
Get the command name.
Command handler for listing objects in a room.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetName() const
Get the command name.
std::string GetUsage() const
Get the command usage string.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
Command handler for listing sprites in a dungeon room.
std::string GetName() const
Get the command name.
std::string GetUsage() const
Get the command usage string.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
Command handler for setting room properties.
std::string GetUsage() const
Get the command usage string.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
std::string GetName() const
Get the command name.
Utility for parsing common CLI argument patterns.
absl::Status RequireArgs(const std::vector< std::string > &required) const
Validate that required arguments are present.
Base class for CLI command handlers.
Utility for consistent output formatting across commands.
Main namespace for the application.