yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
dungeon_map_commands.h
Go to the documentation of this file.
1#ifndef YAZE_SRC_CLI_HANDLERS_DUNGEON_MAP_COMMANDS_H_
2#define YAZE_SRC_CLI_HANDLERS_DUNGEON_MAP_COMMANDS_H_
3
4#include <string>
5
6#include "absl/status/status.h"
8
9namespace yaze {
10namespace cli {
11namespace handlers {
12
21 public:
22 std::string GetName() const { return "dungeon-map"; }
23 std::string GetDescription() const {
24 return "Generate ASCII visualization of a dungeon room";
25 }
26 std::string GetUsage() const {
27 return "dungeon-map --rom <path> --room <room_id> [--layer <0|1|2>] "
28 "[--format <ascii|json>]";
29 }
30
31 absl::Status ValidateArgs(
32 const resources::ArgumentParser& parser) override {
33 return parser.RequireArgs({"room"});
34 }
35
36 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
37 resources::OutputFormatter& formatter) override;
38};
39
40} // namespace handlers
41} // namespace cli
42} // namespace yaze
43
44#endif // YAZE_SRC_CLI_HANDLERS_DUNGEON_MAP_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 ASCII room visualization.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
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.
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.