yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
overworld_commands.h
Go to the documentation of this file.
1#ifndef YAZE_SRC_CLI_HANDLERS_OVERWORLD_COMMANDS_H_
2#define YAZE_SRC_CLI_HANDLERS_OVERWORLD_COMMANDS_H_
3
5
6namespace yaze {
7namespace cli {
8namespace handlers {
9
11 public:
12 std::string GetName() const { return "overworld-get-tile"; }
13 std::string GetDescription() const {
14 return "Read an overworld tile at map/tile coordinates";
15 }
16 std::string GetUsage() const {
17 return "overworld-get-tile --map <map_id> --x <x> --y <y>";
18 }
19
20 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
21 return parser.RequireArgs({"map", "x", "y"});
22 }
23
24 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
25 resources::OutputFormatter& formatter) override;
26};
27
29 public:
30 std::string GetName() const { return "overworld-set-tile"; }
31 std::string GetDescription() const {
32 return "Write an overworld tile at map/tile coordinates";
33 }
34 std::string GetUsage() const {
35 return "overworld-set-tile --map <map_id> --x <x> --y <y> --tile <tile_id>";
36 }
37
38 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
39 return parser.RequireArgs({"map", "x", "y", "tile"});
40 }
41
42 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
43 resources::OutputFormatter& formatter) override;
44};
45
50 public:
51 std::string GetName() const { return "overworld-find-tile"; }
52 std::string GetDescription() const {
53 return "Find tiles by ID in overworld maps";
54 }
55 std::string GetUsage() const {
56 return "overworld-find-tile --tile <tile_id> [--format <json|text>]";
57 }
58
59 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
60 return parser.RequireArgs({"tile"});
61 }
62
63 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
64 resources::OutputFormatter& formatter) override;
65};
66
71 public:
72 std::string GetName() const { return "overworld-describe-map"; }
73 std::string GetDescription() const {
74 return "Get detailed description of an overworld map";
75 }
76 std::string GetUsage() const {
77 return "overworld-describe-map --screen <screen_id> [--format <json|text>]";
78 }
79
80 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
81 return parser.RequireArgs({"screen"});
82 }
83
84 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
85 resources::OutputFormatter& formatter) override;
86};
87
92 public:
93 std::string GetName() const { return "overworld-list-warps"; }
94 std::string GetDescription() const {
95 return "List all warps in overworld maps";
96 }
97 std::string GetUsage() const {
98 return "overworld-list-warps [--screen <screen_id>] [--format <json|text>]";
99 }
100
101 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
102 return absl::OkStatus(); // No required args
103 }
104
105 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
106 resources::OutputFormatter& formatter) override;
107};
108
113 public:
114 std::string GetName() const { return "overworld-list-sprites"; }
115 std::string GetDescription() const {
116 return "List all sprites in overworld maps";
117 }
118 std::string GetUsage() const {
119 return "overworld-list-sprites [--screen <screen_id>] [--format "
120 "<json|text>]";
121 }
122
123 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
124 return absl::OkStatus(); // No required args
125 }
126
127 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
128 resources::OutputFormatter& formatter) override;
129};
130
135 public:
136 std::string GetName() const { return "overworld-list-items"; }
137 std::string GetDescription() const {
138 return "List all hidden item placements in overworld maps";
139 }
140 std::string GetUsage() const {
141 return "overworld-list-items [--screen <screen_id>] [--format "
142 "<json|text>]";
143 }
144
145 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
146 return absl::OkStatus(); // No required args
147 }
148
149 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
150 resources::OutputFormatter& formatter) override;
151};
152
157 public:
158 std::string GetName() const { return "overworld-get-entrance"; }
159 std::string GetDescription() const {
160 return "Get entrance information from overworld";
161 }
162 std::string GetUsage() const {
163 return "overworld-get-entrance --entrance <entrance_id> [--format "
164 "<json|text>]";
165 }
166
167 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
168 return parser.RequireArgs({"entrance"});
169 }
170
171 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
172 resources::OutputFormatter& formatter) override;
173};
174
179 public:
180 std::string GetName() const { return "overworld-tile-stats"; }
181 std::string GetDescription() const {
182 return "Get tile usage statistics for overworld";
183 }
184 std::string GetUsage() const {
185 return "overworld-tile-stats [--screen <screen_id>] [--format <json|text>]";
186 }
187
188 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
189 return absl::OkStatus(); // No required args
190 }
191
192 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
193 resources::OutputFormatter& formatter) override;
194};
195
196} // namespace handlers
197} // namespace cli
198} // namespace yaze
199
200#endif // YAZE_SRC_CLI_HANDLERS_OVERWORLD_COMMANDS_H_
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Definition rom.h:28
Command handler for describing overworld maps.
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.
std::string GetUsage() const
Get the command usage string.
Command handler for finding tiles in overworld.
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.
std::string GetName() const
Get the command name.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
Command handler for getting entrance information.
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.
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 listing items in overworld.
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 GetUsage() const
Get the command usage string.
std::string GetName() const
Get the command name.
Command handler for listing sprites in overworld.
std::string GetName() const
Get the command name.
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.
Command handler for listing warps in overworld.
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.
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 getting tile statistics.
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.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetUsage() const
Get the command usage string.
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.