1#ifndef YAZE_ZELDA3_SPRITE_SPRITE_CATALOG_H_
2#define YAZE_ZELDA3_SPRITE_SPRITE_CATALOG_H_
7#include "absl/status/statusor.h"
8#include "absl/strings/string_view.h"
47 static absl::StatusOr<SpriteCatalog>
Parse(absl::string_view
json);
48 static absl::StatusOr<SpriteCatalog>
Load(
const std::string& path);
68 const std::string& source_root,
const std::string& relative_path);
const std::vector< SpriteCatalogFamily > & families() const
static absl::StatusOr< SpriteCatalog > Load(const std::string &path)
static absl::StatusOr< SpriteCatalog > Parse(absl::string_view json)
const SpriteCatalogFamily * FindFamily(int main_id) const
SpriteCatalogResolution Resolve(int main_id, int raw_subtype) const
std::vector< SpriteCatalogFamily > families_
Zelda 3 specific classes and functions.
absl::StatusOr< SpriteSourceDocument > ReadSpriteSource(const std::string &source_root, const SpriteSourceBinding &binding)
absl::StatusOr< SpriteSourceDocument > ReadSpriteSourceFile(const std::string &source_root, const std::string &relative_path)
std::string fallback_variant
std::vector< SpriteSourceBinding > sources
std::vector< SpriteCatalogVariant > variants
const SpriteCatalogVariant * variant
std::vector< SpriteSourceBinding > sources
std::vector< std::string > lines