about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-09-10 20:07:45 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-09-10 20:07:45 -0400
commitfc53398bc667f77efff8d4004e44663fbf244ac8 (patch)
tree9d7d68ac287abbbfe5c9909257d7ae736b0a0283
parent1cb8bd3d8a0010bd82bbe0a4df0486c091f861a3 (diff)
downloadlingo2-archipelago-fc53398bc667f77efff8d4004e44663fbf244ac8.tar.gz
lingo2-archipelago-fc53398bc667f77efff8d4004e44663fbf244ac8.tar.bz2
lingo2-archipelago-fc53398bc667f77efff8d4004e44663fbf244ac8.zip
[Data] Add version number
-rw-r--r--data/metadata.txtpb1
-rw-r--r--proto/data.proto2
-rw-r--r--proto/human.proto1
-rw-r--r--tools/datapacker/main.cpp10
4 files changed, 14 insertions, 0 deletions
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 @@
1version: 1
1# Filler item. 2# Filler item.
2special_names: "A Job Well Done" 3special_names: "A Job Well Done"
3# Symbol items. 4# 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 {
260} 260}
261 261
262message AllObjects { 262message AllObjects {
263 optional uint64 version = 15;
264
263 repeated Map maps = 7; 265 repeated Map maps = 7;
264 repeated Room rooms = 1; 266 repeated Room rooms = 1;
265 repeated Door doors = 2; 267 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 {
214 214
215message HumanGlobalMetadata { 215message HumanGlobalMetadata {
216 repeated string special_names = 1; 216 repeated string special_names = 1;
217 optional uint64 version = 2;
217} 218}
218 219
219message IdMappings { 220message 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 {
45 ProcessMaps(datadir_path); 45 ProcessMaps(datadir_path);
46 ProcessProgressivesFile(datadir_path / "progressives.txtpb"); 46 ProcessProgressivesFile(datadir_path / "progressives.txtpb");
47 ProcessDoorGroupsFile(datadir_path / "door_groups.txtpb"); 47 ProcessDoorGroupsFile(datadir_path / "door_groups.txtpb");
48 ProcessGlobalMetadataFile(datadir_path / "metadata.txtpb");
48 ProcessIdsFile(datadir_path / "ids.yaml"); 49 ProcessIdsFile(datadir_path / "ids.yaml");
49 50
50 { 51 {
@@ -600,6 +601,15 @@ class DataPacker {
600 } 601 }
601 } 602 }
602 603
604 void ProcessGlobalMetadataFile(std::filesystem::path path) {
605 if (!std::filesystem::exists(path)) {
606 return;
607 }
608
609 auto h_metadata = ReadMessageFromFile<HumanGlobalMetadata>(path.string());
610 container_.all_objects().set_version(h_metadata.version());
611 }
612
603 void ProcessIdsFile(std::filesystem::path path) { 613 void ProcessIdsFile(std::filesystem::path path) {
604 auto ids = ReadIdsFromYaml(path.string()); 614 auto ids = ReadIdsFromYaml(path.string());
605 615