Command handler for organizing rooms by dungeon ID. More...
#include <dungeon_group_commands.h>


Public Member Functions | |
| std::string | GetName () const |
| Get the command name. | |
| std::string | GetDescription () const |
| std::string | GetUsage () const |
| Get the command usage string. | |
| absl::Status | ValidateArgs (const resources::ArgumentParser &) override |
| Validate command arguments. | |
| absl::Status | Execute (Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override |
| Execute the command business logic. | |
Public Member Functions inherited from yaze::cli::resources::CommandHandler | |
| virtual | ~CommandHandler ()=default |
| absl::Status | Run (const std::vector< std::string > &args, Rom *rom_context, std::string *captured_output=nullptr) |
| Execute the command. | |
| virtual Descriptor | Describe () const |
| Provide metadata for TUI/help summaries. | |
| virtual bool | RequiresRom () const |
| Check if the command requires a loaded ROM. | |
| virtual bool | RequiresLabels () const |
| Check if the command requires ROM labels. | |
| virtual void | SetProjectContext (project::YazeProject *project) |
| Set the YazeProject context. Default implementation does nothing, override if tool needs project info. | |
| virtual void | SetAsarWrapper (core::AsarWrapper *asar_wrapper) |
| Set the AsarWrapper context. Default implementation does nothing, override if tool needs Asar access. | |
| virtual void | SetRomContext (Rom *rom) |
| Set the ROM context for tools that need ROM access. Default implementation stores the ROM pointer for subclass use. | |
| virtual void | SetSymbolProvider (emu::debug::SymbolProvider *provider) |
| Set the SymbolProvider context. | |
Additional Inherited Members | |
Protected Member Functions inherited from yaze::cli::resources::CommandHandler | |
| virtual std::string | GetDefaultFormat () const |
| Get the default output format ("json" or "text") | |
| virtual std::string | GetOutputTitle () const |
| Get the output title for formatting. | |
Protected Attributes inherited from yaze::cli::resources::CommandHandler | |
| Rom * | rom_ = nullptr |
| emu::debug::SymbolProvider * | symbol_provider_ = nullptr |
| project::YazeProject * | project_ = nullptr |
| core::AsarWrapper * | asar_wrapper_ = nullptr |
Command handler for organizing rooms by dungeon ID.
Groups dungeon rooms by their associated dungeon, showing start rooms, boss rooms, and room counts. Useful for understanding dungeon structure and verifying room assignments.
Definition at line 20 of file dungeon_group_commands.h.
|
inlinevirtual |
Get the command name.
Override this to provide a unique identifier for the command. This is used for command registration and lookup.
Implements yaze::cli::resources::CommandHandler.
Definition at line 22 of file dungeon_group_commands.h.
|
inline |
Definition at line 23 of file dungeon_group_commands.h.
|
inlinevirtual |
Get the command usage string.
Implements yaze::cli::resources::CommandHandler.
Definition at line 26 of file dungeon_group_commands.h.
|
inlineoverridevirtual |
Validate command arguments.
Implements yaze::cli::resources::CommandHandler.
Definition at line 31 of file dungeon_group_commands.h.
|
overridevirtual |
Execute the command business logic.
Override this to implement command-specific functionality. The ROM is guaranteed to be loaded and labels initialized.
Implements yaze::cli::resources::CommandHandler.
Definition at line 84 of file dungeon_group_commands.cc.
References yaze::cli::resources::OutputFormatter::AddArrayItem(), yaze::cli::resources::OutputFormatter::AddField(), yaze::cli::resources::OutputFormatter::BeginArray(), yaze::cli::resources::OutputFormatter::BeginObject(), yaze::Rom::data(), yaze::zelda3::RoomEntrance::dungeon_id_, yaze::cli::resources::OutputFormatter::EndArray(), yaze::cli::resources::OutputFormatter::EndObject(), yaze::cli::resources::ArgumentParser::GetString(), yaze::cli::resources::ArgumentParser::HasFlag(), yaze::zelda3::kNumberOfRooms, yaze::zelda3::kRoomNames, and yaze::zelda3::RoomEntrance::room_.