11#ifndef YAZE_SRC_CLI_SERVICE_AGENT_TOOLS_VALIDATION_TOOL_H_
12#define YAZE_SRC_CLI_SERVICE_AGENT_TOOLS_VALIDATION_TOOL_H_
18#include "absl/status/status.h"
19#include "absl/status/statusor.h"
62 const std::vector<ValidationIssue>& issues)
const;
68 const std::vector<ValidationIssue>& issues)
const;
84 std::string
GetName()
const override {
return "rom-validate"; }
87 return "Validate ROM header, checksums, and structure";
91 return "rom-validate --rom=<path> [--format=<json|text>]";
122 std::string
GetName()
const override {
return "data-validate"; }
125 return "Validate game data structures (sprites, tiles, palettes)";
129 return "data-validate --type=<sprites|tiles|palettes|all> [--format=<json|text>]";
161 std::string
GetName()
const override {
return "patch-check"; }
164 return "Check ROM compatibility with a patch file";
168 return "patch-check --patch=<path> [--format=<json|text>]";
182 const std::string& patch_path);
194 std::string
GetName()
const override {
return "validate-all"; }
197 return "Run comprehensive validation suite on ROM";
201 return "validate-all [--strict] [--format=<json|text>]";
207 return absl::OkStatus();
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
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.