1#ifndef YAZE_ZELDA3_ATLAS_ATLAS_ANNOTATIONS_H_
2#define YAZE_ZELDA3_ATLAS_ATLAS_ANNOTATIONS_H_
30#include "absl/status/status.h"
31#include "absl/status/statusor.h"
42 std::string
Hex()
const;
44 return r == other.
r &&
g == other.
g &&
b == other.
b;
80 std::optional<AtlasColor>
color;
90 std::optional<AtlasColor>
color;
193 std::vector<OverworldRegionAnnotation>
regions;
194 std::map<int, OverworldMapAnnotation>
maps;
195 std::vector<OverworldGateAnnotation>
gates;
196 std::vector<OverworldEdgeAnnotation>
edges;
210 std::map<int, RoomAnnotation>
rooms;
232 const std::string& file_label,
233 AtlasAnnotations* out,
238 AtlasAnnotations* out,
248 const std::vector<std::string>& files,
const std::string& defaults);
251std::optional<int>
ParseAtlasId(
const std::string& text);
constexpr int kAtlasMapCount
absl::Status MergeAtlasAnnotationFile(const std::string &path, AtlasAnnotations *out, AnnotationFormat *format)
void ApplyVanillaAtlasDefaults(AtlasAnnotations *out)
absl::Status MergeAtlasAnnotationText(const std::string &text, const std::string &file_label, AtlasAnnotations *out, AnnotationFormat *format)
constexpr int kAtlasRoomCount
absl::StatusOr< AtlasAnnotations > LoadAtlasAnnotations(const std::vector< std::string > &files, const std::string &defaults)
std::optional< int > ParseAtlasId(const std::string &text)
const char * AnnotationFormatName(AnnotationFormat format)
std::optional< AtlasColor > color
std::vector< std::string > legend_notes_dungeon
std::vector< LinkAnnotation > links
std::vector< std::string > files
std::vector< SymbolLinkAnnotation > symbol_links
std::vector< PlanAnnotation > plans
std::vector< DungeonAnnotation > dungeons
std::vector< AreaAnnotation > areas
OverworldAnnotations overworld
std::vector< std::string > legend_notes_overworld
std::map< int, RoomAnnotation > rooms
bool operator==(const AtlasColor &other) const
std::optional< AtlasColor > color
static Origin Symbol(std::string label)
std::string ToString() const
static Origin Annotation(std::string file)
std::vector< OverworldGateAnnotation > gates
std::vector< OverworldSectionAnnotation > sections
std::map< std::string, std::vector< int > > tile_classes
std::vector< OverworldEdgeAnnotation > edges
std::optional< int > gate_role_big
std::vector< int > closed_border_maps
std::vector< OverworldRegionAnnotation > regions
std::vector< int > isolated_maps
std::optional< int > gate_role_small
std::map< int, OverworldMapAnnotation > maps
std::string warp_tile_rule
std::optional< AtlasColor > color
std::optional< AtlasColor > color