1#ifndef YAZE_SRC_CLI_HANDLERS_GAME_OVERWORLD_RENDER_COMMANDS_H_
2#define YAZE_SRC_CLI_HANDLERS_GAME_OVERWORLD_RENDER_COMMANDS_H_
7#include "absl/status/statusor.h"
25absl::StatusOr<OverworldRenderGraphicsPreview>
27 const std::optional<std::string>& flag);
49 std::string
GetName()
const override {
return "overworld-render"; }
51 return "Render an overworld area (with overlays) to PNG";
54 return "overworld-render --screen=<hex> --out=<path.png> "
55 "[--overlays=sprites,entrances,exits,holes,items,grid,all] "
56 "[--phase=0|1|2] [--scale=<float>] [--area-overlay=on|off] "
57 "[--graphics-preview=on|off|<manifest.json>]";
77 std::string
GetName()
const override {
return "lyra-verify-project"; }
79 return "lyra-verify-project --project-context=<project.yaze> "
83 return absl::OkStatus();
93 std::string
GetOutputTitle()
const override {
return "Lyra Project Inputs"; }
100 std::string
GetName()
const override {
return "lyra-inspect-project"; }
102 return "lyra-inspect-project --project-context=<project.yaze> "
111 return "Lyra Asset Inspection";
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
std::string GetOutputTitle() const override
Get the output title for formatting.
std::string GetUsage() const override
Get the command usage string.
bool InspectAssets() const override
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 &) override
Validate command arguments.
std::string GetOutputTitle() const override
Get the output title for formatting.
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.
virtual bool InspectAssets() const
std::string GetDefaultFormat() const override
Get the default output format ("json" or "text")
std::string GetName() const override
Get the command name.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetDescription() const
std::string GetUsage() const override
Get the command usage string.
absl::Status ExecuteWithContext(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter, const resources::CommandInvocationContext &invocation_context) override
Execute with immutable, invocation-scoped ROM path identity.
std::string GetOutputTitle() const override
Get the output title for formatting.
std::string GetDefaultFormat() const override
Get the default output format ("json" or "text")
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.
Base class for CLI command handlers.
absl::StatusOr< OverworldRenderGraphicsPreview > ResolveOverworldRenderGraphicsPreview(const project::YazeProject *project, const std::optional< std::string > &flag)
std::map< int, AreaGraphicsPreview > OverworldGraphicsPreview
zelda3::OverworldGraphicsPreview preview
Modern project structure with comprehensive settings consolidation.