yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::cli::resources::CommandHandler Class Referenceabstract

Base class for CLI command handlers. More...

#include <command_handler.h>

Inherited by yaze::cli::DungeonDoctorCommandHandler, yaze::cli::DungeonObjectValidateCommandHandler, yaze::cli::GraphicsDoctorCommandHandler, yaze::cli::HexAnnotateCommandHandler, yaze::cli::HexCompareCommandHandler, yaze::cli::HexDumpCommandHandler, yaze::cli::MessageDoctorCommandHandler, yaze::cli::OverworldDoctorCommandHandler, yaze::cli::OverworldValidateCommandHandler, yaze::cli::RomCompareCommandHandler, yaze::cli::RomDoctorCommandHandler, yaze::cli::SpriteDoctorCommandHandler, yaze::cli::TestListCommandHandler, yaze::cli::TestRunCommandHandler, yaze::cli::TestStatusCommandHandler, yaze::cli::agent::MetaToolsDescribeHandler, yaze::cli::agent::MetaToolsListHandler, yaze::cli::agent::MetaToolsSearchHandler, yaze::cli::agent::TUICommandHandler, yaze::cli::agent::tools::BuildCompileCommandHandler, yaze::cli::agent::tools::BuildConfigureCommandHandler, yaze::cli::agent::tools::BuildStatusCommandHandler, yaze::cli::agent::tools::BuildTestCommandHandler, yaze::cli::agent::tools::CodeGenToolBase, yaze::cli::agent::tools::FileSystemToolBase, yaze::cli::agent::tools::MemoryInspectorBase, yaze::cli::agent::tools::ProjectGraphTool, yaze::cli::agent::tools::ProjectToolBase, yaze::cli::agent::tools::RomChangesTool, yaze::cli::agent::tools::RomDiffTool, yaze::cli::agent::tools::ValidationToolBase, yaze::cli::agent::tools::VisualAnalysisBase, yaze::cli::handlers::DialogueListCommandHandler, yaze::cli::handlers::DialogueReadCommandHandler, yaze::cli::handlers::DialogueSearchCommandHandler, yaze::cli::handlers::DungeonDescribeRoomCommandHandler, yaze::cli::handlers::DungeonDiscoverCommandHandler, yaze::cli::handlers::DungeonExportCustomCollisionJsonCommandHandler, yaze::cli::handlers::DungeonExportRoomCommandHandler, yaze::cli::handlers::DungeonExportWaterFillJsonCommandHandler, yaze::cli::handlers::DungeonGenerateTrackCollisionCommandHandler, yaze::cli::handlers::DungeonGetEntranceCommandHandler, yaze::cli::handlers::DungeonGetRoomTilesCommandHandler, yaze::cli::handlers::DungeonGraphCommandHandler, yaze::cli::handlers::DungeonGroupCommandHandler, yaze::cli::handlers::DungeonImportCustomCollisionJsonCommandHandler, yaze::cli::handlers::DungeonImportWaterFillJsonCommandHandler, yaze::cli::handlers::DungeonListChestsCommandHandler, yaze::cli::handlers::DungeonListCustomCollisionCommandHandler, yaze::cli::handlers::DungeonListObjectsCommandHandler, yaze::cli::handlers::DungeonListSpritesCommandHandler, yaze::cli::handlers::DungeonMapCommandHandler, yaze::cli::handlers::DungeonMinecartAuditCommandHandler, yaze::cli::handlers::DungeonMinecartMapCommandHandler, yaze::cli::handlers::DungeonOraclePreflightCommandHandler, yaze::cli::handlers::DungeonPlaceObjectCommandHandler, yaze::cli::handlers::DungeonPlaceSpriteCommandHandler, yaze::cli::handlers::DungeonRemoveSpriteCommandHandler, yaze::cli::handlers::DungeonRenderCommandHandler, yaze::cli::handlers::DungeonRoomGraphCommandHandler, yaze::cli::handlers::DungeonRoomHeaderCommandHandler, yaze::cli::handlers::DungeonSetCollisionTileCommandHandler, yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler, yaze::cli::handlers::EmulatorClearBreakpointCommandHandler, yaze::cli::handlers::EmulatorGetMetricsCommandHandler, yaze::cli::handlers::EmulatorGetRegistersCommandHandler, yaze::cli::handlers::EmulatorGetStateCommandHandler, yaze::cli::handlers::EmulatorHoldButtonsCommandHandler, yaze::cli::handlers::EmulatorListBreakpointsCommandHandler, yaze::cli::handlers::EmulatorPauseCommandHandler, yaze::cli::handlers::EmulatorPressButtonsCommandHandler, yaze::cli::handlers::EmulatorReadMemoryCommandHandler, yaze::cli::handlers::EmulatorReleaseButtonsCommandHandler, yaze::cli::handlers::EmulatorResetCommandHandler, yaze::cli::handlers::EmulatorRunCommandHandler, yaze::cli::handlers::EmulatorSetBreakpointCommandHandler, yaze::cli::handlers::EmulatorStepCommandHandler, yaze::cli::handlers::EmulatorWriteMemoryCommandHandler, yaze::cli::handlers::EntranceInfoCommandHandler, yaze::cli::handlers::GuiAssertCommandHandler, yaze::cli::handlers::GuiClickCommandHandler, yaze::cli::handlers::GuiDiscoverToolCommandHandler, yaze::cli::handlers::GuiPlaceTileCommandHandler, yaze::cli::handlers::GuiScreenshotCommandHandler, yaze::cli::handlers::GuiTypeCommandHandler, yaze::cli::handlers::GuiWaitCommandHandler, yaze::cli::handlers::HexReadCommandHandler, yaze::cli::handlers::HexSearchCommandHandler, yaze::cli::handlers::HexWriteCommandHandler, yaze::cli::handlers::MesenAwaitCommandHandler, yaze::cli::handlers::MesenBreakpointCommandHandler, yaze::cli::handlers::MesenControlCommandHandler, yaze::cli::handlers::MesenCpuCommandHandler, yaze::cli::handlers::MesenDisasmCommandHandler, yaze::cli::handlers::MesenGamestateCommandHandler, yaze::cli::handlers::MesenGoalCommandHandler, yaze::cli::handlers::MesenMemoryReadCommandHandler, yaze::cli::handlers::MesenMemoryWriteCommandHandler, yaze::cli::handlers::MesenSessionCommandHandler, yaze::cli::handlers::MesenSpritesCommandHandler, yaze::cli::handlers::MesenStateCaptureCommandHandler, yaze::cli::handlers::MesenStateHookCommandHandler, yaze::cli::handlers::MesenStateRegenCommandHandler, yaze::cli::handlers::MesenStateVerifyCommandHandler, yaze::cli::handlers::MesenTraceCommandHandler, yaze::cli::handlers::MessageDecodeCommandHandler, yaze::cli::handlers::MessageEncodeCommandHandler, yaze::cli::handlers::MessageExportAsmCommandHandler, yaze::cli::handlers::MessageExportBinCommandHandler, yaze::cli::handlers::MessageExportBundleCommandHandler, yaze::cli::handlers::MessageExportOrgCommandHandler, yaze::cli::handlers::MessageImportBundleCommandHandler, yaze::cli::handlers::MessageImportOrgCommandHandler, yaze::cli::handlers::MessageListCommandHandler, yaze::cli::handlers::MessageReadCommandHandler, yaze::cli::handlers::MessageSearchCommandHandler, yaze::cli::handlers::MessageWriteCommandHandler, yaze::cli::handlers::MusicInfoCommandHandler, yaze::cli::handlers::MusicListCommandHandler, yaze::cli::handlers::MusicTracksCommandHandler, yaze::cli::handlers::OracleMenuIndexCommandHandler, yaze::cli::handlers::OracleMenuSetOffsetCommandHandler, yaze::cli::handlers::OracleMenuValidateCommandHandler, yaze::cli::handlers::OracleSmokeCheckCommandHandler, yaze::cli::handlers::OverworldDescribeMapCommandHandler, yaze::cli::handlers::OverworldExportGraphCommandHandler, yaze::cli::handlers::OverworldFindTileCommandHandler, yaze::cli::handlers::OverworldGetEntranceCommandHandler, yaze::cli::handlers::OverworldListItemsCommandHandler, yaze::cli::handlers::OverworldListSpritesCommandHandler, yaze::cli::handlers::OverworldListWarpsCommandHandler, yaze::cli::handlers::OverworldTileStatsCommandHandler, yaze::cli::handlers::PaletteAnalyzeCommandHandler, yaze::cli::handlers::PaletteGetColorsCommandHandler, yaze::cli::handlers::PaletteSetColorCommandHandler, yaze::cli::handlers::ProjectBuildCommandHandler, yaze::cli::handlers::ProjectBundlePackCommandHandler, yaze::cli::handlers::ProjectBundleUnpackCommandHandler, yaze::cli::handlers::ProjectBundleVerifyCommandHandler, yaze::cli::handlers::ProjectInitCommandHandler, yaze::cli::handlers::ResourceListCommandHandler, yaze::cli::handlers::ResourceSearchCommandHandler, yaze::cli::handlers::RomDiffCommandHandler, yaze::cli::handlers::RomFindSymbolCommandHandler, yaze::cli::handlers::RomGenerateGoldenCommandHandler, yaze::cli::handlers::RomInfoCommandHandler, yaze::cli::handlers::RomReadCommandHandler, yaze::cli::handlers::RomResolveAddressCommandHandler, yaze::cli::handlers::RomValidateCommandHandler, yaze::cli::handlers::RomWriteCommandHandler, yaze::cli::handlers::SimpleChatCommandHandler, yaze::cli::handlers::SpriteListCommandHandler, yaze::cli::handlers::SpritePaletteCommandHandler, yaze::cli::handlers::SpritePropertiesCommandHandler, yaze::cli::handlers::ToolsExtractGoldenCommandHandler, yaze::cli::handlers::ToolsExtractValuesCommandHandler, yaze::cli::handlers::ToolsHarnessStateCommandHandler, yaze::cli::handlers::ToolsListCommandHandler, and yaze::cli::handlers::ToolsPatchV3CommandHandler.

Collaboration diagram for yaze::cli::resources::CommandHandler:

Classes

struct  Descriptor
 
struct  DescriptorEntry
 

Public Member Functions

virtual ~CommandHandler ()=default
 
absl::Status Run (const std::vector< std::string > &args, Rom *rom_context, std::string *captured_output=nullptr)
 Execute the command.
 
virtual std::string GetName () const =0
 Get the command name.
 
virtual Descriptor Describe () const
 Provide metadata for TUI/help summaries.
 
virtual std::string GetUsage () const =0
 Get the command usage string.
 
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.
 

Protected Member Functions

virtual absl::Status ValidateArgs (const ArgumentParser &parser)=0
 Validate command arguments.
 
virtual absl::Status Execute (Rom *rom, const ArgumentParser &parser, OutputFormatter &formatter)=0
 Execute the command business logic.
 
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

Romrom_ = nullptr
 
emu::debug::SymbolProvidersymbol_provider_ = nullptr
 
project::YazeProjectproject_ = nullptr
 
core::AsarWrapperasar_wrapper_ = nullptr
 

Detailed Description

Base class for CLI command handlers.

Provides a consistent structure for implementing CLI commands with:

  • Automatic argument parsing
  • ROM context management
  • Output formatting
  • Error handling

Example usage:

class MyCommandHandler : public CommandHandler {
protected:
absl::Status ValidateArgs(const ArgumentParser& parser) override {
return parser.RequireArgs({"required_arg"});
}
absl::Status Execute(Rom* rom, const ArgumentParser& parser,
OutputFormatter& formatter) override {
auto value = parser.GetString("required_arg").value();
// ... business logic ...
formatter.AddField("result", value);
return absl::OkStatus();
}
};
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
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.

Definition at line 45 of file command_handler.h.

Constructor & Destructor Documentation

◆ ~CommandHandler()

virtual yaze::cli::resources::CommandHandler::~CommandHandler ( )
virtualdefault

Member Function Documentation

◆ Run()

absl::Status yaze::cli::resources::CommandHandler::Run ( const std::vector< std::string > & args,
Rom * rom_context,
std::string * captured_output = nullptr )

Execute the command.

This is the main entry point that orchestrates:

  1. Argument parsing
  2. Validation
  3. Context setup
  4. Business logic execution
  5. Output formatting

Definition at line 18 of file command_handler.cc.

References ASSIGN_OR_RETURN, yaze::cli::resources::OutputFormatter::BeginObject(), yaze::cli::RomSandboxManager::CreateSandbox(), yaze::Rom::dirty(), yaze::cli::resources::OutputFormatter::EndObject(), yaze::cli::resources::CommandContext::EnsureLabelsLoaded(), Execute(), yaze::cli::resources::CommandContext::Config::external_rom_context, yaze::cli::resources::CommandContext::Config::format, yaze::cli::resources::OutputFormatter::FromString(), GetDefaultFormat(), yaze::cli::resources::OutputFormatter::GetOutput(), GetOutputTitle(), yaze::cli::resources::CommandContext::GetProjectContext(), yaze::cli::resources::CommandContext::GetRom(), yaze::cli::resources::ArgumentParser::GetString(), yaze::cli::resources::CommandContext::GetSymbolProvider(), GetUsage(), yaze::cli::resources::ArgumentParser::HasFlag(), yaze::cli::RomSandboxManager::Instance(), yaze::cli::resources::OutputFormatter::Print(), yaze::cli::resources::CommandContext::Config::project_context_path, RequiresLabels(), RequiresRom(), RETURN_IF_ERROR, yaze::cli::resources::CommandContext::Config::rom_path, yaze::Rom::SaveToFile(), SetProjectContext(), SetRomContext(), SetSymbolProvider(), yaze::cli::resources::CommandContext::Config::symbols_path, yaze::cli::resources::CommandContext::Config::use_mock_rom, ValidateArgs(), and yaze::cli::resources::CommandContext::Config::verbose.

Referenced by yaze::cli::handlers::OracleSmokeCheckCommandHandler::Execute(), and yaze::editor::OracleValidationPanel::LaunchRun().

◆ GetName()

virtual std::string yaze::cli::resources::CommandHandler::GetName ( ) const
pure virtual

Get the command name.

Override this to provide a unique identifier for the command. This is used for command registration and lookup.

Implemented in yaze::cli::handlers::SimpleChatCommandHandler, yaze::cli::handlers::DialogueListCommandHandler, yaze::cli::handlers::DialogueReadCommandHandler, yaze::cli::handlers::DialogueSearchCommandHandler, yaze::cli::handlers::DungeonListSpritesCommandHandler, yaze::cli::handlers::DungeonDescribeRoomCommandHandler, yaze::cli::handlers::DungeonListChestsCommandHandler, yaze::cli::handlers::DungeonGetEntranceCommandHandler, yaze::cli::handlers::DungeonExportRoomCommandHandler, yaze::cli::handlers::DungeonListObjectsCommandHandler, yaze::cli::handlers::DungeonGetRoomTilesCommandHandler, yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler, yaze::cli::handlers::DungeonRoomHeaderCommandHandler, yaze::cli::handlers::DungeonGenerateTrackCollisionCommandHandler, yaze::cli::handlers::DungeonGraphCommandHandler, yaze::cli::handlers::DungeonGroupCommandHandler, yaze::cli::handlers::DungeonMapCommandHandler, yaze::cli::handlers::MessageListCommandHandler, yaze::cli::handlers::MessageReadCommandHandler, yaze::cli::handlers::MessageSearchCommandHandler, yaze::cli::handlers::MusicListCommandHandler, yaze::cli::handlers::MusicInfoCommandHandler, yaze::cli::handlers::MusicTracksCommandHandler, yaze::cli::handlers::OverworldFindTileCommandHandler, yaze::cli::handlers::OverworldDescribeMapCommandHandler, yaze::cli::handlers::OverworldListWarpsCommandHandler, yaze::cli::handlers::OverworldListSpritesCommandHandler, yaze::cli::handlers::OverworldListItemsCommandHandler, yaze::cli::handlers::OverworldGetEntranceCommandHandler, yaze::cli::handlers::OverworldTileStatsCommandHandler, yaze::cli::handlers::HexReadCommandHandler, yaze::cli::handlers::HexWriteCommandHandler, yaze::cli::handlers::HexSearchCommandHandler, yaze::cli::handlers::PaletteGetColorsCommandHandler, yaze::cli::handlers::PaletteSetColorCommandHandler, yaze::cli::handlers::PaletteAnalyzeCommandHandler, yaze::cli::handlers::SpriteListCommandHandler, yaze::cli::handlers::SpritePropertiesCommandHandler, yaze::cli::handlers::SpritePaletteCommandHandler, yaze::cli::handlers::ProjectInitCommandHandler, yaze::cli::handlers::ProjectBuildCommandHandler, yaze::cli::handlers::EmulatorStepCommandHandler, yaze::cli::handlers::EmulatorRunCommandHandler, yaze::cli::handlers::EmulatorPauseCommandHandler, yaze::cli::handlers::EmulatorResetCommandHandler, yaze::cli::handlers::EmulatorGetStateCommandHandler, yaze::cli::handlers::EmulatorSetBreakpointCommandHandler, yaze::cli::handlers::EmulatorClearBreakpointCommandHandler, yaze::cli::handlers::EmulatorListBreakpointsCommandHandler, yaze::cli::handlers::EmulatorReadMemoryCommandHandler, yaze::cli::handlers::EmulatorWriteMemoryCommandHandler, yaze::cli::handlers::EmulatorGetRegistersCommandHandler, yaze::cli::handlers::EmulatorGetMetricsCommandHandler, yaze::cli::handlers::EmulatorPressButtonsCommandHandler, yaze::cli::handlers::EmulatorReleaseButtonsCommandHandler, yaze::cli::handlers::EmulatorHoldButtonsCommandHandler, yaze::cli::handlers::GuiPlaceTileCommandHandler, yaze::cli::handlers::GuiClickCommandHandler, yaze::cli::handlers::GuiTypeCommandHandler, yaze::cli::handlers::GuiWaitCommandHandler, yaze::cli::handlers::GuiAssertCommandHandler, yaze::cli::handlers::GuiDiscoverToolCommandHandler, yaze::cli::handlers::GuiScreenshotCommandHandler, yaze::cli::handlers::ResourceListCommandHandler, yaze::cli::handlers::ResourceSearchCommandHandler, yaze::cli::handlers::DungeonListCustomCollisionCommandHandler, yaze::cli::handlers::DungeonExportCustomCollisionJsonCommandHandler, yaze::cli::handlers::DungeonImportCustomCollisionJsonCommandHandler, yaze::cli::handlers::DungeonExportWaterFillJsonCommandHandler, yaze::cli::handlers::DungeonImportWaterFillJsonCommandHandler, yaze::cli::handlers::DungeonPlaceSpriteCommandHandler, yaze::cli::handlers::DungeonRemoveSpriteCommandHandler, yaze::cli::handlers::DungeonPlaceObjectCommandHandler, yaze::cli::handlers::DungeonSetCollisionTileCommandHandler, yaze::cli::handlers::EntranceInfoCommandHandler, yaze::cli::handlers::DungeonDiscoverCommandHandler, yaze::cli::handlers::DungeonRoomGraphCommandHandler, yaze::cli::handlers::DungeonRenderCommandHandler, yaze::cli::handlers::MessageEncodeCommandHandler, yaze::cli::handlers::MessageDecodeCommandHandler, yaze::cli::handlers::MessageImportOrgCommandHandler, yaze::cli::handlers::MessageExportOrgCommandHandler, yaze::cli::handlers::MessageExportBundleCommandHandler, yaze::cli::handlers::MessageImportBundleCommandHandler, yaze::cli::handlers::MessageWriteCommandHandler, yaze::cli::handlers::MessageExportBinCommandHandler, yaze::cli::handlers::MessageExportAsmCommandHandler, yaze::cli::handlers::DungeonMinecartAuditCommandHandler, yaze::cli::handlers::DungeonMinecartMapCommandHandler, yaze::cli::handlers::OracleMenuIndexCommandHandler, yaze::cli::handlers::OracleMenuSetOffsetCommandHandler, yaze::cli::handlers::OracleMenuValidateCommandHandler, yaze::cli::handlers::DungeonOraclePreflightCommandHandler, yaze::cli::handlers::OracleSmokeCheckCommandHandler, yaze::cli::handlers::OverworldExportGraphCommandHandler, yaze::cli::handlers::MesenGamestateCommandHandler, yaze::cli::handlers::MesenSpritesCommandHandler, yaze::cli::handlers::MesenCpuCommandHandler, yaze::cli::handlers::MesenMemoryReadCommandHandler, yaze::cli::handlers::MesenMemoryWriteCommandHandler, yaze::cli::handlers::MesenDisasmCommandHandler, yaze::cli::handlers::MesenTraceCommandHandler, yaze::cli::handlers::MesenBreakpointCommandHandler, yaze::cli::handlers::MesenControlCommandHandler, yaze::cli::handlers::MesenSessionCommandHandler, yaze::cli::handlers::MesenAwaitCommandHandler, yaze::cli::handlers::MesenGoalCommandHandler, yaze::cli::handlers::MesenStateVerifyCommandHandler, yaze::cli::handlers::MesenStateRegenCommandHandler, yaze::cli::handlers::MesenStateCaptureCommandHandler, yaze::cli::handlers::MesenStateHookCommandHandler, yaze::cli::handlers::ProjectBundlePackCommandHandler, yaze::cli::handlers::ProjectBundleUnpackCommandHandler, yaze::cli::handlers::ProjectBundleVerifyCommandHandler, yaze::cli::handlers::RomReadCommandHandler, yaze::cli::handlers::RomWriteCommandHandler, yaze::cli::handlers::RomInfoCommandHandler, yaze::cli::handlers::RomValidateCommandHandler, yaze::cli::handlers::RomDiffCommandHandler, yaze::cli::handlers::RomGenerateGoldenCommandHandler, yaze::cli::handlers::RomResolveAddressCommandHandler, yaze::cli::handlers::RomFindSymbolCommandHandler, yaze::cli::DungeonDoctorCommandHandler, yaze::cli::DungeonObjectValidateCommandHandler, yaze::cli::GraphicsDoctorCommandHandler, yaze::cli::handlers::GuiSummarizeWidgetsCommandHandler, yaze::cli::HexDumpCommandHandler, yaze::cli::HexCompareCommandHandler, yaze::cli::HexAnnotateCommandHandler, yaze::cli::MessageDoctorCommandHandler, yaze::cli::OverworldDoctorCommandHandler, yaze::cli::OverworldValidateCommandHandler, yaze::cli::RomCompareCommandHandler, yaze::cli::RomDoctorCommandHandler, yaze::cli::SpriteDoctorCommandHandler, yaze::cli::TestListCommandHandler, yaze::cli::TestRunCommandHandler, yaze::cli::TestStatusCommandHandler, yaze::cli::handlers::ToolsHarnessStateCommandHandler, yaze::cli::handlers::ToolsExtractValuesCommandHandler, yaze::cli::handlers::ToolsExtractGoldenCommandHandler, yaze::cli::handlers::ToolsPatchV3CommandHandler, yaze::cli::handlers::ToolsListCommandHandler, yaze::cli::agent::MetaToolsListHandler, yaze::cli::agent::MetaToolsDescribeHandler, yaze::cli::agent::MetaToolsSearchHandler, yaze::cli::agent::tools::BuildConfigureCommandHandler, yaze::cli::agent::tools::BuildCompileCommandHandler, yaze::cli::agent::tools::BuildTestCommandHandler, yaze::cli::agent::tools::BuildStatusCommandHandler, yaze::cli::agent::tools::CodeGenAsmHookTool, yaze::cli::agent::tools::CodeGenFreespacePatchTool, yaze::cli::agent::tools::CodeGenSpriteTemplateTool, yaze::cli::agent::tools::CodeGenEventHandlerTool, yaze::cli::agent::tools::FileSystemListTool, yaze::cli::agent::tools::FileSystemReadTool, yaze::cli::agent::tools::FileSystemExistsTool, yaze::cli::agent::tools::FileSystemInfoTool, yaze::cli::agent::tools::MemoryAnalyzeTool, yaze::cli::agent::tools::MemorySearchTool, yaze::cli::agent::tools::MemoryCompareTool, yaze::cli::agent::tools::MemoryCheckTool, yaze::cli::agent::tools::MemoryRegionsTool, yaze::cli::agent::tools::ProjectGraphTool, yaze::cli::agent::tools::ProjectStatusTool, yaze::cli::agent::tools::ProjectSnapshotTool, yaze::cli::agent::tools::ProjectRestoreTool, yaze::cli::agent::tools::ProjectExportTool, yaze::cli::agent::tools::ProjectImportTool, yaze::cli::agent::tools::ProjectDiffTool, yaze::cli::agent::tools::RomDiffTool, yaze::cli::agent::tools::RomChangesTool, yaze::cli::agent::tools::RomValidateTool, yaze::cli::agent::tools::DataValidateTool, yaze::cli::agent::tools::PatchCheckTool, yaze::cli::agent::tools::ValidateAllTool, yaze::cli::agent::tools::TileSimilarityTool, yaze::cli::agent::tools::SpritesheetAnalysisTool, yaze::cli::agent::tools::PaletteUsageTool, and yaze::cli::agent::tools::TileHistogramTool.

Referenced by Describe().

◆ Describe()

◆ GetUsage()

virtual std::string yaze::cli::resources::CommandHandler::GetUsage ( ) const
pure virtual

Get the command usage string.

Implemented in yaze::cli::handlers::DialogueListCommandHandler, yaze::cli::handlers::DialogueReadCommandHandler, yaze::cli::handlers::DialogueSearchCommandHandler, yaze::cli::handlers::DungeonListSpritesCommandHandler, yaze::cli::handlers::DungeonDescribeRoomCommandHandler, yaze::cli::handlers::DungeonListChestsCommandHandler, yaze::cli::handlers::DungeonGetEntranceCommandHandler, yaze::cli::handlers::DungeonExportRoomCommandHandler, yaze::cli::handlers::DungeonListObjectsCommandHandler, yaze::cli::handlers::DungeonGetRoomTilesCommandHandler, yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler, yaze::cli::handlers::DungeonRoomHeaderCommandHandler, yaze::cli::handlers::DungeonGenerateTrackCollisionCommandHandler, yaze::cli::handlers::DungeonGraphCommandHandler, yaze::cli::handlers::DungeonGroupCommandHandler, yaze::cli::handlers::DungeonMapCommandHandler, yaze::cli::handlers::MessageListCommandHandler, yaze::cli::handlers::MessageReadCommandHandler, yaze::cli::handlers::MessageSearchCommandHandler, yaze::cli::handlers::MusicListCommandHandler, yaze::cli::handlers::MusicInfoCommandHandler, yaze::cli::handlers::MusicTracksCommandHandler, yaze::cli::handlers::OverworldFindTileCommandHandler, yaze::cli::handlers::OverworldDescribeMapCommandHandler, yaze::cli::handlers::OverworldListWarpsCommandHandler, yaze::cli::handlers::OverworldListSpritesCommandHandler, yaze::cli::handlers::OverworldListItemsCommandHandler, yaze::cli::handlers::OverworldGetEntranceCommandHandler, yaze::cli::handlers::OverworldTileStatsCommandHandler, yaze::cli::handlers::HexReadCommandHandler, yaze::cli::handlers::HexWriteCommandHandler, yaze::cli::handlers::HexSearchCommandHandler, yaze::cli::handlers::PaletteGetColorsCommandHandler, yaze::cli::handlers::PaletteSetColorCommandHandler, yaze::cli::handlers::PaletteAnalyzeCommandHandler, yaze::cli::handlers::SpriteListCommandHandler, yaze::cli::handlers::SpritePropertiesCommandHandler, yaze::cli::handlers::SpritePaletteCommandHandler, yaze::cli::handlers::ProjectInitCommandHandler, yaze::cli::handlers::ProjectBuildCommandHandler, yaze::cli::handlers::EmulatorStepCommandHandler, yaze::cli::handlers::EmulatorRunCommandHandler, yaze::cli::handlers::EmulatorPauseCommandHandler, yaze::cli::handlers::EmulatorResetCommandHandler, yaze::cli::handlers::EmulatorGetStateCommandHandler, yaze::cli::handlers::EmulatorSetBreakpointCommandHandler, yaze::cli::handlers::EmulatorClearBreakpointCommandHandler, yaze::cli::handlers::EmulatorListBreakpointsCommandHandler, yaze::cli::handlers::EmulatorReadMemoryCommandHandler, yaze::cli::handlers::EmulatorWriteMemoryCommandHandler, yaze::cli::handlers::EmulatorGetRegistersCommandHandler, yaze::cli::handlers::EmulatorGetMetricsCommandHandler, yaze::cli::handlers::EmulatorPressButtonsCommandHandler, yaze::cli::handlers::EmulatorReleaseButtonsCommandHandler, yaze::cli::handlers::EmulatorHoldButtonsCommandHandler, yaze::cli::handlers::GuiPlaceTileCommandHandler, yaze::cli::handlers::GuiClickCommandHandler, yaze::cli::handlers::GuiTypeCommandHandler, yaze::cli::handlers::GuiWaitCommandHandler, yaze::cli::handlers::GuiAssertCommandHandler, yaze::cli::handlers::GuiDiscoverToolCommandHandler, yaze::cli::handlers::GuiScreenshotCommandHandler, yaze::cli::handlers::ResourceListCommandHandler, yaze::cli::handlers::ResourceSearchCommandHandler, yaze::cli::handlers::SimpleChatCommandHandler, yaze::cli::handlers::DungeonListCustomCollisionCommandHandler, yaze::cli::handlers::DungeonExportCustomCollisionJsonCommandHandler, yaze::cli::handlers::DungeonImportCustomCollisionJsonCommandHandler, yaze::cli::handlers::DungeonExportWaterFillJsonCommandHandler, yaze::cli::handlers::DungeonImportWaterFillJsonCommandHandler, yaze::cli::handlers::DungeonPlaceSpriteCommandHandler, yaze::cli::handlers::DungeonRemoveSpriteCommandHandler, yaze::cli::handlers::DungeonPlaceObjectCommandHandler, yaze::cli::handlers::DungeonSetCollisionTileCommandHandler, yaze::cli::handlers::EntranceInfoCommandHandler, yaze::cli::handlers::DungeonDiscoverCommandHandler, yaze::cli::handlers::DungeonRoomGraphCommandHandler, yaze::cli::handlers::DungeonRenderCommandHandler, yaze::cli::handlers::MessageEncodeCommandHandler, yaze::cli::handlers::MessageDecodeCommandHandler, yaze::cli::handlers::MessageImportOrgCommandHandler, yaze::cli::handlers::MessageExportOrgCommandHandler, yaze::cli::handlers::MessageExportBundleCommandHandler, yaze::cli::handlers::MessageImportBundleCommandHandler, yaze::cli::handlers::MessageWriteCommandHandler, yaze::cli::handlers::MessageExportBinCommandHandler, yaze::cli::handlers::MessageExportAsmCommandHandler, yaze::cli::handlers::DungeonMinecartAuditCommandHandler, yaze::cli::handlers::DungeonMinecartMapCommandHandler, yaze::cli::handlers::OracleMenuIndexCommandHandler, yaze::cli::handlers::OracleMenuSetOffsetCommandHandler, yaze::cli::handlers::OracleMenuValidateCommandHandler, yaze::cli::handlers::DungeonOraclePreflightCommandHandler, yaze::cli::handlers::OracleSmokeCheckCommandHandler, yaze::cli::handlers::OverworldExportGraphCommandHandler, yaze::cli::handlers::MesenGamestateCommandHandler, yaze::cli::handlers::MesenSpritesCommandHandler, yaze::cli::handlers::MesenCpuCommandHandler, yaze::cli::handlers::MesenMemoryReadCommandHandler, yaze::cli::handlers::MesenMemoryWriteCommandHandler, yaze::cli::handlers::MesenDisasmCommandHandler, yaze::cli::handlers::MesenTraceCommandHandler, yaze::cli::handlers::MesenBreakpointCommandHandler, yaze::cli::handlers::MesenControlCommandHandler, yaze::cli::handlers::MesenSessionCommandHandler, yaze::cli::handlers::MesenAwaitCommandHandler, yaze::cli::handlers::MesenGoalCommandHandler, yaze::cli::handlers::MesenStateVerifyCommandHandler, yaze::cli::handlers::MesenStateRegenCommandHandler, yaze::cli::handlers::MesenStateCaptureCommandHandler, yaze::cli::handlers::MesenStateHookCommandHandler, yaze::cli::handlers::ProjectBundlePackCommandHandler, yaze::cli::handlers::ProjectBundleUnpackCommandHandler, yaze::cli::handlers::ProjectBundleVerifyCommandHandler, yaze::cli::handlers::RomReadCommandHandler, yaze::cli::handlers::RomWriteCommandHandler, yaze::cli::handlers::RomInfoCommandHandler, yaze::cli::handlers::RomValidateCommandHandler, yaze::cli::handlers::RomDiffCommandHandler, yaze::cli::handlers::RomGenerateGoldenCommandHandler, yaze::cli::handlers::RomResolveAddressCommandHandler, yaze::cli::handlers::RomFindSymbolCommandHandler, yaze::cli::DungeonDoctorCommandHandler, yaze::cli::DungeonObjectValidateCommandHandler, yaze::cli::GraphicsDoctorCommandHandler, yaze::cli::HexDumpCommandHandler, yaze::cli::HexCompareCommandHandler, yaze::cli::HexAnnotateCommandHandler, yaze::cli::MessageDoctorCommandHandler, yaze::cli::OverworldDoctorCommandHandler, yaze::cli::OverworldValidateCommandHandler, yaze::cli::RomCompareCommandHandler, yaze::cli::RomDoctorCommandHandler, yaze::cli::SpriteDoctorCommandHandler, yaze::cli::TestListCommandHandler, yaze::cli::TestRunCommandHandler, yaze::cli::TestStatusCommandHandler, yaze::cli::handlers::ToolsHarnessStateCommandHandler, yaze::cli::handlers::ToolsExtractValuesCommandHandler, yaze::cli::handlers::ToolsExtractGoldenCommandHandler, yaze::cli::handlers::ToolsPatchV3CommandHandler, yaze::cli::handlers::ToolsListCommandHandler, yaze::cli::agent::MetaToolsListHandler, yaze::cli::agent::MetaToolsDescribeHandler, yaze::cli::agent::MetaToolsSearchHandler, yaze::cli::agent::tools::BuildConfigureCommandHandler, yaze::cli::agent::tools::BuildCompileCommandHandler, yaze::cli::agent::tools::BuildTestCommandHandler, yaze::cli::agent::tools::BuildStatusCommandHandler, yaze::cli::agent::tools::CodeGenAsmHookTool, yaze::cli::agent::tools::CodeGenFreespacePatchTool, yaze::cli::agent::tools::CodeGenSpriteTemplateTool, yaze::cli::agent::tools::CodeGenEventHandlerTool, yaze::cli::agent::tools::FileSystemListTool, yaze::cli::agent::tools::FileSystemReadTool, yaze::cli::agent::tools::FileSystemExistsTool, yaze::cli::agent::tools::FileSystemInfoTool, yaze::cli::agent::tools::MemoryAnalyzeTool, yaze::cli::agent::tools::MemorySearchTool, yaze::cli::agent::tools::MemoryCompareTool, yaze::cli::agent::tools::MemoryCheckTool, yaze::cli::agent::tools::MemoryRegionsTool, yaze::cli::agent::tools::ProjectGraphTool, yaze::cli::agent::tools::ProjectStatusTool, yaze::cli::agent::tools::ProjectSnapshotTool, yaze::cli::agent::tools::ProjectRestoreTool, yaze::cli::agent::tools::ProjectExportTool, yaze::cli::agent::tools::ProjectImportTool, yaze::cli::agent::tools::ProjectDiffTool, yaze::cli::agent::tools::RomDiffTool, yaze::cli::agent::tools::RomChangesTool, yaze::cli::agent::tools::RomValidateTool, yaze::cli::agent::tools::DataValidateTool, yaze::cli::agent::tools::PatchCheckTool, yaze::cli::agent::tools::ValidateAllTool, yaze::cli::agent::tools::TileSimilarityTool, yaze::cli::agent::tools::SpritesheetAnalysisTool, yaze::cli::agent::tools::PaletteUsageTool, and yaze::cli::agent::tools::TileHistogramTool.

Referenced by Run().

◆ RequiresRom()

virtual bool yaze::cli::resources::CommandHandler::RequiresRom ( ) const
inlinevirtual

Check if the command requires a loaded ROM.

Override to return false if ROM is not needed (e.g., filesystem tools).

Reimplemented in yaze::cli::handlers::MessageEncodeCommandHandler, yaze::cli::handlers::MessageDecodeCommandHandler, yaze::cli::handlers::MessageImportOrgCommandHandler, yaze::cli::handlers::MessageExportOrgCommandHandler, yaze::cli::handlers::MessageExportBundleCommandHandler, yaze::cli::handlers::MessageImportBundleCommandHandler, yaze::cli::handlers::MessageWriteCommandHandler, yaze::cli::handlers::MessageExportBinCommandHandler, yaze::cli::handlers::MessageExportAsmCommandHandler, yaze::cli::handlers::OracleMenuIndexCommandHandler, yaze::cli::handlers::OracleMenuSetOffsetCommandHandler, yaze::cli::handlers::OracleMenuValidateCommandHandler, yaze::cli::handlers::MesenGamestateCommandHandler, yaze::cli::handlers::MesenSpritesCommandHandler, yaze::cli::handlers::MesenCpuCommandHandler, yaze::cli::handlers::MesenMemoryReadCommandHandler, yaze::cli::handlers::MesenMemoryWriteCommandHandler, yaze::cli::handlers::MesenDisasmCommandHandler, yaze::cli::handlers::MesenTraceCommandHandler, yaze::cli::handlers::MesenBreakpointCommandHandler, yaze::cli::handlers::MesenControlCommandHandler, yaze::cli::handlers::MesenSessionCommandHandler, yaze::cli::handlers::MesenAwaitCommandHandler, yaze::cli::handlers::MesenGoalCommandHandler, yaze::cli::handlers::MesenStateVerifyCommandHandler, yaze::cli::handlers::MesenStateRegenCommandHandler, yaze::cli::handlers::MesenStateCaptureCommandHandler, yaze::cli::handlers::MesenStateHookCommandHandler, yaze::cli::handlers::ProjectBundlePackCommandHandler, yaze::cli::handlers::ProjectBundleUnpackCommandHandler, yaze::cli::handlers::ProjectBundleVerifyCommandHandler, yaze::cli::handlers::RomDiffCommandHandler, yaze::cli::handlers::RomGenerateGoldenCommandHandler, yaze::cli::GraphicsDoctorCommandHandler, yaze::cli::HexDumpCommandHandler, yaze::cli::HexCompareCommandHandler, yaze::cli::HexAnnotateCommandHandler, yaze::cli::MessageDoctorCommandHandler, yaze::cli::SpriteDoctorCommandHandler, yaze::cli::TestListCommandHandler, yaze::cli::TestRunCommandHandler, yaze::cli::TestStatusCommandHandler, yaze::cli::handlers::ToolsListCommandHandler, yaze::cli::agent::MetaToolsListHandler, yaze::cli::agent::MetaToolsDescribeHandler, yaze::cli::agent::MetaToolsSearchHandler, yaze::cli::agent::tools::CodeGenAsmHookTool, yaze::cli::agent::tools::CodeGenFreespacePatchTool, yaze::cli::agent::tools::CodeGenSpriteTemplateTool, yaze::cli::agent::tools::CodeGenEventHandlerTool, yaze::cli::agent::tools::FileSystemToolBase, yaze::cli::agent::tools::ProjectGraphTool, yaze::cli::agent::tools::RomDiffTool, and yaze::cli::agent::tools::RomChangesTool.

Definition at line 98 of file command_handler.h.

Referenced by Run().

◆ RequiresLabels()

◆ SetProjectContext()

virtual void yaze::cli::resources::CommandHandler::SetProjectContext ( project::YazeProject * project)
inlinevirtual

Set the YazeProject context. Default implementation does nothing, override if tool needs project info.

Definition at line 111 of file command_handler.h.

References project_.

Referenced by Run().

◆ SetAsarWrapper()

virtual void yaze::cli::resources::CommandHandler::SetAsarWrapper ( core::AsarWrapper * asar_wrapper)
inlinevirtual

Set the AsarWrapper context. Default implementation does nothing, override if tool needs Asar access.

Definition at line 117 of file command_handler.h.

References asar_wrapper_.

◆ SetRomContext()

virtual void yaze::cli::resources::CommandHandler::SetRomContext ( Rom * rom)
inlinevirtual

Set the ROM context for tools that need ROM access. Default implementation stores the ROM pointer for subclass use.

Definition at line 123 of file command_handler.h.

References rom_.

Referenced by Run().

◆ SetSymbolProvider()

virtual void yaze::cli::resources::CommandHandler::SetSymbolProvider ( emu::debug::SymbolProvider * provider)
inlinevirtual

Set the SymbolProvider context.

Definition at line 128 of file command_handler.h.

References symbol_provider_.

Referenced by Run().

◆ ValidateArgs()

virtual absl::Status yaze::cli::resources::CommandHandler::ValidateArgs ( const ArgumentParser & parser)
protectedpure virtual

Validate command arguments.

Implemented in yaze::cli::handlers::DungeonListChestsCommandHandler, yaze::cli::handlers::DungeonGraphCommandHandler, yaze::cli::handlers::DungeonGroupCommandHandler, yaze::cli::handlers::OverworldExportGraphCommandHandler, yaze::cli::handlers::ToolsListCommandHandler, yaze::cli::agent::MetaToolsListHandler, yaze::cli::agent::MetaToolsDescribeHandler, yaze::cli::agent::MetaToolsSearchHandler, yaze::cli::agent::tools::ProjectStatusTool, yaze::cli::agent::tools::ValidateAllTool, yaze::cli::handlers::SimpleChatCommandHandler, yaze::cli::handlers::DialogueListCommandHandler, yaze::cli::handlers::DialogueReadCommandHandler, yaze::cli::handlers::DialogueSearchCommandHandler, yaze::cli::handlers::DungeonListCustomCollisionCommandHandler, yaze::cli::handlers::DungeonExportCustomCollisionJsonCommandHandler, yaze::cli::handlers::DungeonImportCustomCollisionJsonCommandHandler, yaze::cli::handlers::DungeonExportWaterFillJsonCommandHandler, yaze::cli::handlers::DungeonImportWaterFillJsonCommandHandler, yaze::cli::handlers::DungeonListSpritesCommandHandler, yaze::cli::handlers::DungeonDescribeRoomCommandHandler, yaze::cli::handlers::DungeonGetEntranceCommandHandler, yaze::cli::handlers::DungeonExportRoomCommandHandler, yaze::cli::handlers::DungeonListObjectsCommandHandler, yaze::cli::handlers::DungeonGetRoomTilesCommandHandler, yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler, yaze::cli::handlers::DungeonRoomHeaderCommandHandler, yaze::cli::handlers::DungeonGenerateTrackCollisionCommandHandler, yaze::cli::handlers::DungeonPlaceSpriteCommandHandler, yaze::cli::handlers::DungeonRemoveSpriteCommandHandler, yaze::cli::handlers::DungeonPlaceObjectCommandHandler, yaze::cli::handlers::DungeonSetCollisionTileCommandHandler, yaze::cli::handlers::EntranceInfoCommandHandler, yaze::cli::handlers::DungeonDiscoverCommandHandler, yaze::cli::handlers::DungeonRoomGraphCommandHandler, yaze::cli::handlers::DungeonMapCommandHandler, yaze::cli::handlers::DungeonRenderCommandHandler, yaze::cli::handlers::MessageListCommandHandler, yaze::cli::handlers::MessageReadCommandHandler, yaze::cli::handlers::MessageSearchCommandHandler, yaze::cli::handlers::MessageEncodeCommandHandler, yaze::cli::handlers::MessageDecodeCommandHandler, yaze::cli::handlers::MessageImportOrgCommandHandler, yaze::cli::handlers::MessageExportOrgCommandHandler, yaze::cli::handlers::MessageExportBundleCommandHandler, yaze::cli::handlers::MessageImportBundleCommandHandler, yaze::cli::handlers::MessageWriteCommandHandler, yaze::cli::handlers::MessageExportBinCommandHandler, yaze::cli::handlers::MessageExportAsmCommandHandler, yaze::cli::handlers::DungeonMinecartAuditCommandHandler, yaze::cli::handlers::DungeonMinecartMapCommandHandler, yaze::cli::handlers::MusicListCommandHandler, yaze::cli::handlers::MusicInfoCommandHandler, yaze::cli::handlers::MusicTracksCommandHandler, yaze::cli::handlers::OracleMenuIndexCommandHandler, yaze::cli::handlers::OracleMenuSetOffsetCommandHandler, yaze::cli::handlers::OracleMenuValidateCommandHandler, yaze::cli::handlers::DungeonOraclePreflightCommandHandler, yaze::cli::handlers::OracleSmokeCheckCommandHandler, yaze::cli::handlers::OverworldFindTileCommandHandler, yaze::cli::handlers::OverworldDescribeMapCommandHandler, yaze::cli::handlers::OverworldListWarpsCommandHandler, yaze::cli::handlers::OverworldListSpritesCommandHandler, yaze::cli::handlers::OverworldListItemsCommandHandler, yaze::cli::handlers::OverworldGetEntranceCommandHandler, yaze::cli::handlers::OverworldTileStatsCommandHandler, yaze::cli::handlers::HexReadCommandHandler, yaze::cli::handlers::HexWriteCommandHandler, yaze::cli::handlers::HexSearchCommandHandler, yaze::cli::handlers::PaletteGetColorsCommandHandler, yaze::cli::handlers::PaletteSetColorCommandHandler, yaze::cli::handlers::PaletteAnalyzeCommandHandler, yaze::cli::handlers::SpriteListCommandHandler, yaze::cli::handlers::SpritePropertiesCommandHandler, yaze::cli::handlers::SpritePaletteCommandHandler, yaze::cli::handlers::MesenGamestateCommandHandler, yaze::cli::handlers::MesenSpritesCommandHandler, yaze::cli::handlers::MesenCpuCommandHandler, yaze::cli::handlers::MesenMemoryReadCommandHandler, yaze::cli::handlers::MesenMemoryWriteCommandHandler, yaze::cli::handlers::MesenDisasmCommandHandler, yaze::cli::handlers::MesenTraceCommandHandler, yaze::cli::handlers::MesenBreakpointCommandHandler, yaze::cli::handlers::MesenControlCommandHandler, yaze::cli::handlers::MesenSessionCommandHandler, yaze::cli::handlers::MesenAwaitCommandHandler, yaze::cli::handlers::MesenGoalCommandHandler, yaze::cli::handlers::MesenStateVerifyCommandHandler, yaze::cli::handlers::MesenStateRegenCommandHandler, yaze::cli::handlers::MesenStateCaptureCommandHandler, yaze::cli::handlers::MesenStateHookCommandHandler, yaze::cli::handlers::ProjectBundlePackCommandHandler, yaze::cli::handlers::ProjectBundleUnpackCommandHandler, yaze::cli::handlers::ProjectBundleVerifyCommandHandler, yaze::cli::handlers::ProjectInitCommandHandler, yaze::cli::handlers::ProjectBuildCommandHandler, yaze::cli::handlers::RomReadCommandHandler, yaze::cli::handlers::RomWriteCommandHandler, yaze::cli::handlers::RomInfoCommandHandler, yaze::cli::handlers::RomValidateCommandHandler, yaze::cli::handlers::RomDiffCommandHandler, yaze::cli::handlers::RomGenerateGoldenCommandHandler, yaze::cli::handlers::RomResolveAddressCommandHandler, yaze::cli::handlers::RomFindSymbolCommandHandler, yaze::cli::DungeonDoctorCommandHandler, yaze::cli::DungeonObjectValidateCommandHandler, yaze::cli::handlers::EmulatorStepCommandHandler, yaze::cli::handlers::EmulatorRunCommandHandler, yaze::cli::handlers::EmulatorPauseCommandHandler, yaze::cli::handlers::EmulatorResetCommandHandler, yaze::cli::handlers::EmulatorGetStateCommandHandler, yaze::cli::handlers::EmulatorSetBreakpointCommandHandler, yaze::cli::handlers::EmulatorClearBreakpointCommandHandler, yaze::cli::handlers::EmulatorListBreakpointsCommandHandler, yaze::cli::handlers::EmulatorReadMemoryCommandHandler, yaze::cli::handlers::EmulatorWriteMemoryCommandHandler, yaze::cli::handlers::EmulatorGetRegistersCommandHandler, yaze::cli::handlers::EmulatorGetMetricsCommandHandler, yaze::cli::handlers::EmulatorPressButtonsCommandHandler, yaze::cli::handlers::EmulatorReleaseButtonsCommandHandler, yaze::cli::handlers::EmulatorHoldButtonsCommandHandler, yaze::cli::GraphicsDoctorCommandHandler, yaze::cli::handlers::GuiPlaceTileCommandHandler, yaze::cli::handlers::GuiClickCommandHandler, yaze::cli::handlers::GuiTypeCommandHandler, yaze::cli::handlers::GuiWaitCommandHandler, yaze::cli::handlers::GuiAssertCommandHandler, yaze::cli::handlers::GuiDiscoverToolCommandHandler, yaze::cli::handlers::GuiScreenshotCommandHandler, yaze::cli::HexDumpCommandHandler, yaze::cli::HexCompareCommandHandler, yaze::cli::HexAnnotateCommandHandler, yaze::cli::MessageDoctorCommandHandler, yaze::cli::OverworldDoctorCommandHandler, yaze::cli::OverworldValidateCommandHandler, yaze::cli::handlers::ResourceListCommandHandler, yaze::cli::handlers::ResourceSearchCommandHandler, yaze::cli::RomCompareCommandHandler, yaze::cli::RomDoctorCommandHandler, yaze::cli::SpriteDoctorCommandHandler, yaze::cli::TestListCommandHandler, yaze::cli::TestRunCommandHandler, yaze::cli::TestStatusCommandHandler, yaze::cli::handlers::ToolsHarnessStateCommandHandler, yaze::cli::handlers::ToolsExtractValuesCommandHandler, yaze::cli::handlers::ToolsExtractGoldenCommandHandler, yaze::cli::handlers::ToolsPatchV3CommandHandler, yaze::cli::agent::tools::BuildConfigureCommandHandler, yaze::cli::agent::tools::BuildCompileCommandHandler, yaze::cli::agent::tools::BuildTestCommandHandler, yaze::cli::agent::tools::BuildStatusCommandHandler, yaze::cli::agent::tools::CodeGenAsmHookTool, yaze::cli::agent::tools::CodeGenFreespacePatchTool, yaze::cli::agent::tools::CodeGenSpriteTemplateTool, yaze::cli::agent::tools::CodeGenEventHandlerTool, yaze::cli::agent::tools::FileSystemListTool, yaze::cli::agent::tools::FileSystemReadTool, yaze::cli::agent::tools::FileSystemExistsTool, yaze::cli::agent::tools::FileSystemInfoTool, yaze::cli::agent::tools::MemoryAnalyzeTool, yaze::cli::agent::tools::MemorySearchTool, yaze::cli::agent::tools::MemoryCompareTool, yaze::cli::agent::tools::MemoryCheckTool, yaze::cli::agent::tools::MemoryRegionsTool, yaze::cli::agent::tools::ProjectGraphTool, yaze::cli::agent::tools::ProjectSnapshotTool, yaze::cli::agent::tools::ProjectRestoreTool, yaze::cli::agent::tools::ProjectExportTool, yaze::cli::agent::tools::ProjectImportTool, yaze::cli::agent::tools::ProjectDiffTool, yaze::cli::agent::tools::RomDiffTool, yaze::cli::agent::tools::RomChangesTool, yaze::cli::agent::tools::RomValidateTool, yaze::cli::agent::tools::DataValidateTool, yaze::cli::agent::tools::PatchCheckTool, yaze::cli::agent::tools::TileSimilarityTool, yaze::cli::agent::tools::SpritesheetAnalysisTool, yaze::cli::agent::tools::PaletteUsageTool, and yaze::cli::agent::tools::TileHistogramTool.

Referenced by Run().

◆ Execute()

virtual absl::Status yaze::cli::resources::CommandHandler::Execute ( Rom * rom,
const ArgumentParser & parser,
OutputFormatter & formatter )
protectedpure virtual

Execute the command business logic.

Override this to implement command-specific functionality. The ROM is guaranteed to be loaded and labels initialized.

Implemented in yaze::cli::agent::MetaToolsListHandler, yaze::cli::agent::MetaToolsDescribeHandler, yaze::cli::agent::MetaToolsSearchHandler, yaze::cli::MessageDoctorCommandHandler, yaze::cli::handlers::SimpleChatCommandHandler, yaze::cli::handlers::DialogueListCommandHandler, yaze::cli::handlers::DialogueReadCommandHandler, yaze::cli::handlers::DialogueSearchCommandHandler, yaze::cli::handlers::DungeonListCustomCollisionCommandHandler, yaze::cli::handlers::DungeonExportCustomCollisionJsonCommandHandler, yaze::cli::handlers::DungeonImportCustomCollisionJsonCommandHandler, yaze::cli::handlers::DungeonExportWaterFillJsonCommandHandler, yaze::cli::handlers::DungeonImportWaterFillJsonCommandHandler, yaze::cli::handlers::DungeonListSpritesCommandHandler, yaze::cli::handlers::DungeonDescribeRoomCommandHandler, yaze::cli::handlers::DungeonListChestsCommandHandler, yaze::cli::handlers::DungeonGetEntranceCommandHandler, yaze::cli::handlers::DungeonExportRoomCommandHandler, yaze::cli::handlers::DungeonListObjectsCommandHandler, yaze::cli::handlers::DungeonGetRoomTilesCommandHandler, yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler, yaze::cli::handlers::DungeonRoomHeaderCommandHandler, yaze::cli::handlers::DungeonGenerateTrackCollisionCommandHandler, yaze::cli::handlers::DungeonPlaceSpriteCommandHandler, yaze::cli::handlers::DungeonRemoveSpriteCommandHandler, yaze::cli::handlers::DungeonPlaceObjectCommandHandler, yaze::cli::handlers::DungeonSetCollisionTileCommandHandler, yaze::cli::handlers::DungeonGraphCommandHandler, yaze::cli::handlers::EntranceInfoCommandHandler, yaze::cli::handlers::DungeonDiscoverCommandHandler, yaze::cli::handlers::DungeonRoomGraphCommandHandler, yaze::cli::handlers::DungeonGroupCommandHandler, yaze::cli::handlers::DungeonMapCommandHandler, yaze::cli::handlers::DungeonRenderCommandHandler, yaze::cli::handlers::MessageListCommandHandler, yaze::cli::handlers::MessageReadCommandHandler, yaze::cli::handlers::MessageSearchCommandHandler, yaze::cli::handlers::MessageEncodeCommandHandler, yaze::cli::handlers::MessageDecodeCommandHandler, yaze::cli::handlers::MessageImportOrgCommandHandler, yaze::cli::handlers::MessageExportOrgCommandHandler, yaze::cli::handlers::MessageExportBundleCommandHandler, yaze::cli::handlers::MessageImportBundleCommandHandler, yaze::cli::handlers::MessageWriteCommandHandler, yaze::cli::handlers::MessageExportBinCommandHandler, yaze::cli::handlers::MessageExportAsmCommandHandler, yaze::cli::handlers::DungeonMinecartAuditCommandHandler, yaze::cli::handlers::DungeonMinecartMapCommandHandler, yaze::cli::handlers::MusicListCommandHandler, yaze::cli::handlers::MusicInfoCommandHandler, yaze::cli::handlers::MusicTracksCommandHandler, yaze::cli::handlers::OracleMenuIndexCommandHandler, yaze::cli::handlers::OracleMenuSetOffsetCommandHandler, yaze::cli::handlers::OracleMenuValidateCommandHandler, yaze::cli::handlers::DungeonOraclePreflightCommandHandler, yaze::cli::handlers::OracleSmokeCheckCommandHandler, yaze::cli::handlers::OverworldFindTileCommandHandler, yaze::cli::handlers::OverworldDescribeMapCommandHandler, yaze::cli::handlers::OverworldListWarpsCommandHandler, yaze::cli::handlers::OverworldListSpritesCommandHandler, yaze::cli::handlers::OverworldListItemsCommandHandler, yaze::cli::handlers::OverworldGetEntranceCommandHandler, yaze::cli::handlers::OverworldTileStatsCommandHandler, yaze::cli::handlers::OverworldExportGraphCommandHandler, yaze::cli::handlers::HexReadCommandHandler, yaze::cli::handlers::HexWriteCommandHandler, yaze::cli::handlers::HexSearchCommandHandler, yaze::cli::handlers::PaletteGetColorsCommandHandler, yaze::cli::handlers::PaletteSetColorCommandHandler, yaze::cli::handlers::PaletteAnalyzeCommandHandler, yaze::cli::handlers::SpriteListCommandHandler, yaze::cli::handlers::SpritePropertiesCommandHandler, yaze::cli::handlers::SpritePaletteCommandHandler, yaze::cli::handlers::MesenGamestateCommandHandler, yaze::cli::handlers::MesenSpritesCommandHandler, yaze::cli::handlers::MesenCpuCommandHandler, yaze::cli::handlers::MesenMemoryReadCommandHandler, yaze::cli::handlers::MesenMemoryWriteCommandHandler, yaze::cli::handlers::MesenDisasmCommandHandler, yaze::cli::handlers::MesenTraceCommandHandler, yaze::cli::handlers::MesenBreakpointCommandHandler, yaze::cli::handlers::MesenControlCommandHandler, yaze::cli::handlers::MesenSessionCommandHandler, yaze::cli::handlers::MesenAwaitCommandHandler, yaze::cli::handlers::MesenGoalCommandHandler, yaze::cli::handlers::MesenStateVerifyCommandHandler, yaze::cli::handlers::MesenStateRegenCommandHandler, yaze::cli::handlers::MesenStateCaptureCommandHandler, yaze::cli::handlers::MesenStateHookCommandHandler, yaze::cli::handlers::ProjectBundlePackCommandHandler, yaze::cli::handlers::ProjectBundleUnpackCommandHandler, yaze::cli::handlers::ProjectBundleVerifyCommandHandler, yaze::cli::handlers::ProjectInitCommandHandler, yaze::cli::handlers::ProjectBuildCommandHandler, yaze::cli::handlers::RomReadCommandHandler, yaze::cli::handlers::RomWriteCommandHandler, yaze::cli::handlers::RomInfoCommandHandler, yaze::cli::handlers::RomValidateCommandHandler, yaze::cli::handlers::RomDiffCommandHandler, yaze::cli::handlers::RomGenerateGoldenCommandHandler, yaze::cli::handlers::RomResolveAddressCommandHandler, yaze::cli::handlers::RomFindSymbolCommandHandler, yaze::cli::DungeonDoctorCommandHandler, yaze::cli::DungeonObjectValidateCommandHandler, yaze::cli::handlers::EmulatorStepCommandHandler, yaze::cli::handlers::EmulatorRunCommandHandler, yaze::cli::handlers::EmulatorPauseCommandHandler, yaze::cli::handlers::EmulatorResetCommandHandler, yaze::cli::handlers::EmulatorGetStateCommandHandler, yaze::cli::handlers::EmulatorSetBreakpointCommandHandler, yaze::cli::handlers::EmulatorClearBreakpointCommandHandler, yaze::cli::handlers::EmulatorListBreakpointsCommandHandler, yaze::cli::handlers::EmulatorReadMemoryCommandHandler, yaze::cli::handlers::EmulatorWriteMemoryCommandHandler, yaze::cli::handlers::EmulatorGetRegistersCommandHandler, yaze::cli::handlers::EmulatorGetMetricsCommandHandler, yaze::cli::handlers::EmulatorPressButtonsCommandHandler, yaze::cli::handlers::EmulatorReleaseButtonsCommandHandler, yaze::cli::handlers::EmulatorHoldButtonsCommandHandler, yaze::cli::GraphicsDoctorCommandHandler, yaze::cli::handlers::GuiPlaceTileCommandHandler, yaze::cli::handlers::GuiClickCommandHandler, yaze::cli::handlers::GuiTypeCommandHandler, yaze::cli::handlers::GuiWaitCommandHandler, yaze::cli::handlers::GuiAssertCommandHandler, yaze::cli::handlers::GuiDiscoverToolCommandHandler, yaze::cli::handlers::GuiScreenshotCommandHandler, yaze::cli::HexDumpCommandHandler, yaze::cli::HexCompareCommandHandler, yaze::cli::HexAnnotateCommandHandler, yaze::cli::OverworldDoctorCommandHandler, yaze::cli::OverworldValidateCommandHandler, yaze::cli::handlers::ResourceListCommandHandler, yaze::cli::handlers::ResourceSearchCommandHandler, yaze::cli::RomCompareCommandHandler, yaze::cli::RomDoctorCommandHandler, yaze::cli::SpriteDoctorCommandHandler, yaze::cli::TestListCommandHandler, yaze::cli::TestRunCommandHandler, yaze::cli::TestStatusCommandHandler, yaze::cli::handlers::ToolsHarnessStateCommandHandler, yaze::cli::handlers::ToolsExtractValuesCommandHandler, yaze::cli::handlers::ToolsExtractGoldenCommandHandler, yaze::cli::handlers::ToolsPatchV3CommandHandler, yaze::cli::handlers::ToolsListCommandHandler, yaze::cli::agent::tools::BuildConfigureCommandHandler, yaze::cli::agent::tools::BuildCompileCommandHandler, yaze::cli::agent::tools::BuildTestCommandHandler, yaze::cli::agent::tools::BuildStatusCommandHandler, yaze::cli::agent::tools::CodeGenAsmHookTool, yaze::cli::agent::tools::CodeGenFreespacePatchTool, yaze::cli::agent::tools::CodeGenSpriteTemplateTool, yaze::cli::agent::tools::CodeGenEventHandlerTool, yaze::cli::agent::tools::FileSystemListTool, yaze::cli::agent::tools::FileSystemReadTool, yaze::cli::agent::tools::FileSystemExistsTool, yaze::cli::agent::tools::FileSystemInfoTool, yaze::cli::agent::tools::MemoryAnalyzeTool, yaze::cli::agent::tools::MemorySearchTool, yaze::cli::agent::tools::MemoryCompareTool, yaze::cli::agent::tools::MemoryCheckTool, yaze::cli::agent::tools::MemoryRegionsTool, yaze::cli::agent::tools::ProjectGraphTool, yaze::cli::agent::tools::ProjectStatusTool, yaze::cli::agent::tools::ProjectSnapshotTool, yaze::cli::agent::tools::ProjectRestoreTool, yaze::cli::agent::tools::ProjectExportTool, yaze::cli::agent::tools::ProjectImportTool, yaze::cli::agent::tools::ProjectDiffTool, yaze::cli::agent::tools::RomDiffTool, yaze::cli::agent::tools::RomChangesTool, yaze::cli::agent::tools::RomValidateTool, yaze::cli::agent::tools::DataValidateTool, yaze::cli::agent::tools::PatchCheckTool, yaze::cli::agent::tools::ValidateAllTool, yaze::cli::agent::tools::TileSimilarityTool, yaze::cli::agent::tools::SpritesheetAnalysisTool, yaze::cli::agent::tools::PaletteUsageTool, and yaze::cli::agent::tools::TileHistogramTool.

Referenced by Run().

◆ GetDefaultFormat()

◆ GetOutputTitle()

Member Data Documentation

◆ rom_

Rom* yaze::cli::resources::CommandHandler::rom_ = nullptr
protected

Definition at line 157 of file command_handler.h.

Referenced by SetRomContext().

◆ symbol_provider_

emu::debug::SymbolProvider* yaze::cli::resources::CommandHandler::symbol_provider_ = nullptr
protected

◆ project_

◆ asar_wrapper_

core::AsarWrapper* yaze::cli::resources::CommandHandler::asar_wrapper_ = nullptr
protected

The documentation for this class was generated from the following files: