1#ifndef YAZE_SRC_CLI_HANDLERS_GAME_DUNGEON_CENSUS_COMMANDS_H_
2#define YAZE_SRC_CLI_HANDLERS_GAME_DUNGEON_CENSUS_COMMANDS_H_
6#include "absl/status/status.h"
20 core::HackManifest* manifest);
29 std::string
GetName()
const override {
return "dungeon-room-census"; }
31 return "Classify every dungeon room as free, reclaimable or in use, with "
35 return "dungeon-room-census --rom <path> [--project <code folder|.yaze>] "
36 "[--vanilla <vanilla rom>] [--room <hex>] [--status "
37 "<free|reclaimable|in_use>] [--format <json|table>] "
38 "[--emit-vanilla-fingerprints <out.inc>]";
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Room census: owner, FREE / RECLAIMABLE / IN USE status and reasons for rooms 0x000-0x127....
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
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.
std::string GetDescription() const
std::string GetUsage() const override
Get the command usage string.
Utility for parsing common CLI argument patterns.
Base class for CLI command handlers.
absl::Status LoadRoomCensusProject(const std::string &project_arg, core::HackManifest *manifest)