yaze
0.3.2
Link to the Past ROM Editor
Loading...
Searching...
No Matches
overworld_graph_commands.h
Go to the documentation of this file.
1
#ifndef YAZE_CLI_HANDLERS_OVERWORLD_GRAPH_COMMANDS_H_
2
#define YAZE_CLI_HANDLERS_OVERWORLD_GRAPH_COMMANDS_H_
3
4
#include <string>
5
6
#include "absl/status/status.h"
7
#include "
cli/service/resources/command_handler.h
"
8
9
namespace
yaze
{
10
namespace
cli {
11
namespace
handlers {
12
24
class
OverworldExportGraphCommandHandler
:
public
resources::CommandHandler
{
25
public
:
26
std::string
GetName
()
const override
{
return
"overworld-export-graph"
; }
27
std::string
GetDescription
()
const
{
28
return
"Export overworld connectivity graph for navigation"
;
29
}
30
std::string
GetUsage
()
const override
{
31
return
"overworld-export-graph [--world <light|dark|all>] "
32
"[--output <path>] [--format <json|text>]"
;
33
}
34
35
protected
:
36
absl::Status
ValidateArgs
(
37
const
resources::ArgumentParser
&
/*parser*/
)
override
{
38
return
absl::OkStatus();
// All args are optional
39
}
40
41
absl::Status
Execute
(
Rom
* rom,
const
resources::ArgumentParser
& parser,
42
resources::OutputFormatter
& formatter)
override
;
43
44
private
:
45
// Structures for graph data
46
struct
AreaInfo
{
47
int
id
;
48
std::string
name
;
49
int
world
;
50
int
grid_x
;
51
int
grid_y
;
52
std::string
size
;
53
int
parent_id
;
54
int
min_x
,
min_y
,
max_x
,
max_y
;
// Pixel bounds
55
};
56
57
struct
AreaConnection
{
58
int
from_area
;
59
int
to_area
;
60
std::string
direction
;
61
int
edge_x
;
62
int
edge_y
;
63
bool
bidirectional
;
64
};
65
66
struct
EntranceInfo
{
67
int
id
;
68
std::string
name
;
69
int
area_id
;
70
int
position_x
;
71
int
position_y
;
72
int
dest_room_id
;
73
bool
is_hole
;
74
};
75
76
struct
ExitInfo
{
77
int
room_id
;
78
std::string
name
;
79
int
return_area_id
;
80
int
return_x
;
81
int
return_y
;
82
};
83
};
84
85
}
// namespace handlers
86
}
// namespace cli
87
}
// namespace yaze
88
89
#endif
// YAZE_CLI_HANDLERS_OVERWORLD_GRAPH_COMMANDS_H_
yaze::Rom
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
yaze::cli::handlers::OverworldExportGraphCommandHandler
Command handler for exporting overworld connectivity graph.
Definition
overworld_graph_commands.h:24
yaze::cli::handlers::OverworldExportGraphCommandHandler::ValidateArgs
absl::Status ValidateArgs(const resources::ArgumentParser &) override
Validate command arguments.
Definition
overworld_graph_commands.h:36
yaze::cli::handlers::OverworldExportGraphCommandHandler::GetDescription
std::string GetDescription() const
Definition
overworld_graph_commands.h:27
yaze::cli::handlers::OverworldExportGraphCommandHandler::GetUsage
std::string GetUsage() const override
Get the command usage string.
Definition
overworld_graph_commands.h:30
yaze::cli::handlers::OverworldExportGraphCommandHandler::GetName
std::string GetName() const override
Get the command name.
Definition
overworld_graph_commands.h:26
yaze::cli::handlers::OverworldExportGraphCommandHandler::Execute
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
Definition
overworld_graph_commands.cc:102
yaze::cli::resources::ArgumentParser
Utility for parsing common CLI argument patterns.
Definition
command_context.h:105
yaze::cli::resources::CommandHandler
Base class for CLI command handlers.
Definition
command_handler.h:45
yaze::cli::resources::OutputFormatter
Utility for consistent output formatting across commands.
Definition
command_context.h:149
command_handler.h
yaze
Definition
patch_export_usage.cc:8
yaze::cli::handlers::OverworldExportGraphCommandHandler::AreaConnection
Definition
overworld_graph_commands.h:57
yaze::cli::handlers::OverworldExportGraphCommandHandler::AreaConnection::bidirectional
bool bidirectional
Definition
overworld_graph_commands.h:63
yaze::cli::handlers::OverworldExportGraphCommandHandler::AreaConnection::edge_y
int edge_y
Definition
overworld_graph_commands.h:62
yaze::cli::handlers::OverworldExportGraphCommandHandler::AreaConnection::to_area
int to_area
Definition
overworld_graph_commands.h:59
yaze::cli::handlers::OverworldExportGraphCommandHandler::AreaConnection::from_area
int from_area
Definition
overworld_graph_commands.h:58
yaze::cli::handlers::OverworldExportGraphCommandHandler::AreaConnection::direction
std::string direction
Definition
overworld_graph_commands.h:60
yaze::cli::handlers::OverworldExportGraphCommandHandler::AreaConnection::edge_x
int edge_x
Definition
overworld_graph_commands.h:61
yaze::cli::handlers::OverworldExportGraphCommandHandler::AreaInfo
Definition
overworld_graph_commands.h:46
yaze::cli::handlers::OverworldExportGraphCommandHandler::AreaInfo::grid_x
int grid_x
Definition
overworld_graph_commands.h:50
yaze::cli::handlers::OverworldExportGraphCommandHandler::AreaInfo::parent_id
int parent_id
Definition
overworld_graph_commands.h:53
yaze::cli::handlers::OverworldExportGraphCommandHandler::AreaInfo::grid_y
int grid_y
Definition
overworld_graph_commands.h:51
yaze::cli::handlers::OverworldExportGraphCommandHandler::AreaInfo::max_y
int max_y
Definition
overworld_graph_commands.h:54
yaze::cli::handlers::OverworldExportGraphCommandHandler::AreaInfo::world
int world
Definition
overworld_graph_commands.h:49
yaze::cli::handlers::OverworldExportGraphCommandHandler::AreaInfo::min_y
int min_y
Definition
overworld_graph_commands.h:54
yaze::cli::handlers::OverworldExportGraphCommandHandler::AreaInfo::min_x
int min_x
Definition
overworld_graph_commands.h:54
yaze::cli::handlers::OverworldExportGraphCommandHandler::AreaInfo::size
std::string size
Definition
overworld_graph_commands.h:52
yaze::cli::handlers::OverworldExportGraphCommandHandler::AreaInfo::id
int id
Definition
overworld_graph_commands.h:47
yaze::cli::handlers::OverworldExportGraphCommandHandler::AreaInfo::name
std::string name
Definition
overworld_graph_commands.h:48
yaze::cli::handlers::OverworldExportGraphCommandHandler::AreaInfo::max_x
int max_x
Definition
overworld_graph_commands.h:54
yaze::cli::handlers::OverworldExportGraphCommandHandler::EntranceInfo
Definition
overworld_graph_commands.h:66
yaze::cli::handlers::OverworldExportGraphCommandHandler::EntranceInfo::is_hole
bool is_hole
Definition
overworld_graph_commands.h:73
yaze::cli::handlers::OverworldExportGraphCommandHandler::EntranceInfo::dest_room_id
int dest_room_id
Definition
overworld_graph_commands.h:72
yaze::cli::handlers::OverworldExportGraphCommandHandler::EntranceInfo::position_y
int position_y
Definition
overworld_graph_commands.h:71
yaze::cli::handlers::OverworldExportGraphCommandHandler::EntranceInfo::area_id
int area_id
Definition
overworld_graph_commands.h:69
yaze::cli::handlers::OverworldExportGraphCommandHandler::EntranceInfo::position_x
int position_x
Definition
overworld_graph_commands.h:70
yaze::cli::handlers::OverworldExportGraphCommandHandler::EntranceInfo::id
int id
Definition
overworld_graph_commands.h:67
yaze::cli::handlers::OverworldExportGraphCommandHandler::EntranceInfo::name
std::string name
Definition
overworld_graph_commands.h:68
yaze::cli::handlers::OverworldExportGraphCommandHandler::ExitInfo
Definition
overworld_graph_commands.h:76
yaze::cli::handlers::OverworldExportGraphCommandHandler::ExitInfo::return_x
int return_x
Definition
overworld_graph_commands.h:80
yaze::cli::handlers::OverworldExportGraphCommandHandler::ExitInfo::return_y
int return_y
Definition
overworld_graph_commands.h:81
yaze::cli::handlers::OverworldExportGraphCommandHandler::ExitInfo::name
std::string name
Definition
overworld_graph_commands.h:78
yaze::cli::handlers::OverworldExportGraphCommandHandler::ExitInfo::room_id
int room_id
Definition
overworld_graph_commands.h:77
yaze::cli::handlers::OverworldExportGraphCommandHandler::ExitInfo::return_area_id
int return_area_id
Definition
overworld_graph_commands.h:79
src
cli
handlers
game
overworld_graph_commands.h
Generated by
1.10.0