From fc53398bc667f77efff8d4004e44663fbf244ac8 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Wed, 10 Sep 2025 20:07:45 -0400 Subject: [Data] Add version number --- data/metadata.txtpb | 1 + proto/data.proto | 2 ++ proto/human.proto | 1 + tools/datapacker/main.cpp | 10 ++++++++++ 4 files changed, 14 insertions(+) diff --git a/data/metadata.txtpb b/data/metadata.txtpb index ef66622..d0b3229 100644 --- a/data/metadata.txtpb +++ b/data/metadata.txtpb @@ -1,3 +1,4 @@ +version: 1 # Filler item. special_names: "A Job Well Done" # Symbol items. diff --git a/proto/data.proto b/proto/data.proto index 014cbeb..827e639 100644 --- a/proto/data.proto +++ b/proto/data.proto @@ -260,6 +260,8 @@ message DoorGroup { } message AllObjects { + optional uint64 version = 15; + repeated Map maps = 7; repeated Room rooms = 1; repeated Door doors = 2; diff --git a/proto/human.proto b/proto/human.proto index 1c5b463..e5335e7 100644 --- a/proto/human.proto +++ b/proto/human.proto @@ -214,6 +214,7 @@ message HumanDoorGroups { message HumanGlobalMetadata { repeated string special_names = 1; + optional uint64 version = 2; } message IdMappings { diff --git a/tools/datapacker/main.cpp b/tools/datapacker/main.cpp index c640de6..6bbb461 100644 --- a/tools/datapacker/main.cpp +++ b/tools/datapacker/main.cpp @@ -45,6 +45,7 @@ class DataPacker { ProcessMaps(datadir_path); ProcessProgressivesFile(datadir_path / "progressives.txtpb"); ProcessDoorGroupsFile(datadir_path / "door_groups.txtpb"); + ProcessGlobalMetadataFile(datadir_path / "metadata.txtpb"); ProcessIdsFile(datadir_path / "ids.yaml"); { @@ -600,6 +601,15 @@ class DataPacker { } } + void ProcessGlobalMetadataFile(std::filesystem::path path) { + if (!std::filesystem::exists(path)) { + return; + } + + auto h_metadata = ReadMessageFromFile(path.string()); + container_.all_objects().set_version(h_metadata.version()); + } + void ProcessIdsFile(std::filesystem::path path) { auto ids = ReadIdsFromYaml(path.string()); -- cgit 1.4.1