yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
dungeon_collision_commands.h
Go to the documentation of this file.
1#ifndef YAZE_SRC_CLI_HANDLERS_GAME_DUNGEON_COLLISION_COMMANDS_H_
2#define YAZE_SRC_CLI_HANDLERS_GAME_DUNGEON_COLLISION_COMMANDS_H_
3
5
6namespace yaze {
7namespace cli {
8namespace handlers {
9
12 public:
13 std::string GetName() const override {
14 return "dungeon-list-custom-collision";
15 }
16 std::string GetDescription() const {
17 return "List ZScream-style custom collision tiles for a dungeon room";
18 }
19 std::string GetUsage() const override {
20 return "dungeon-list-custom-collision --room <room_id> "
21 "[--tiles <hex,hex,...>] [--nonzero] [--all] [--format <json|text>]";
22 }
23
24 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
25 return parser.RequireArgs({"room"});
26 }
27
28 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
29 resources::OutputFormatter& formatter) override;
30};
31
34 public:
35 std::string GetName() const override {
36 return "dungeon-export-custom-collision-json";
37 }
38 std::string GetDescription() const {
39 return "Export dungeon custom collision maps to JSON";
40 }
41 std::string GetUsage() const override {
42 return "dungeon-export-custom-collision-json --out <path> "
43 "[--room <room_id> | --rooms <hex,hex,...> | --all] "
44 "[--report <path>] "
45 "[--format <json|text>]";
46 }
47
48 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
49 return parser.RequireArgs({"out"});
50 }
51
52 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
53 resources::OutputFormatter& formatter) override;
54};
55
58 public:
59 std::string GetName() const override {
60 return "dungeon-import-custom-collision-json";
61 }
62 std::string GetDescription() const {
63 return "Import dungeon custom collision maps from JSON";
64 }
65 std::string GetUsage() const override {
66 return "dungeon-import-custom-collision-json --in <path> [--replace-all] "
67 "[--force] [--dry-run] [--report <path>] [--format <json|text>]";
68 }
69
70 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
71 return parser.RequireArgs({"in"});
72 }
73
74 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
75 resources::OutputFormatter& formatter) override;
76};
77
79 public:
80 std::string GetName() const override {
81 return "dungeon-export-water-fill-json";
82 }
83 std::string GetDescription() const {
84 return "Export dungeon water fill zones to JSON";
85 }
86 std::string GetUsage() const override {
87 return "dungeon-export-water-fill-json --out <path> "
88 "[--room <room_id> | --rooms <hex,hex,...> | --all] "
89 "[--report <path>] "
90 "[--format <json|text>]";
91 }
92
93 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
94 return parser.RequireArgs({"out"});
95 }
96
97 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
98 resources::OutputFormatter& formatter) override;
99};
100
102 public:
103 std::string GetName() const override {
104 return "dungeon-import-water-fill-json";
105 }
106 std::string GetDescription() const {
107 return "Import dungeon water fill zones from JSON";
108 }
109 std::string GetUsage() const override {
110 return "dungeon-import-water-fill-json --in <path> [--dry-run] "
111 "[--strict-masks] [--report <path>] [--format <json|text>]";
112 }
113
114 absl::Status ValidateArgs(const resources::ArgumentParser& parser) override {
115 return parser.RequireArgs({"in"});
116 }
117
118 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
119 resources::OutputFormatter& formatter) override;
120};
121
122} // namespace handlers
123} // namespace cli
124} // namespace yaze
125
126#endif // YAZE_SRC_CLI_HANDLERS_GAME_DUNGEON_COLLISION_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
std::string GetUsage() const override
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.
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 override
Get the command name.
std::string GetUsage() const override
Get the command usage string.
std::string GetUsage() const override
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.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
std::string GetUsage() const override
Get the command usage string.
std::string GetName() const override
Get the command name.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetName() const override
Get the command name.
std::string GetUsage() const override
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.
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.