diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-09-10 20:07:45 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-09-10 20:07:45 -0400 |
commit | fc53398bc667f77efff8d4004e44663fbf244ac8 (patch) | |
tree | 9d7d68ac287abbbfe5c9909257d7ae736b0a0283 | |
parent | 1cb8bd3d8a0010bd82bbe0a4df0486c091f861a3 (diff) | |
download | lingo2-archipelago-fc53398bc667f77efff8d4004e44663fbf244ac8.tar.gz lingo2-archipelago-fc53398bc667f77efff8d4004e44663fbf244ac8.tar.bz2 lingo2-archipelago-fc53398bc667f77efff8d4004e44663fbf244ac8.zip |
[Data] Add version number
-rw-r--r-- | data/metadata.txtpb | 1 | ||||
-rw-r--r-- | proto/data.proto | 2 | ||||
-rw-r--r-- | proto/human.proto | 1 | ||||
-rw-r--r-- | tools/datapacker/main.cpp | 10 |
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 @@ | |||
1 | version: 1 | ||
1 | # Filler item. | 2 | # Filler item. |
2 | special_names: "A Job Well Done" | 3 | special_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 | ||
262 | message AllObjects { | 262 | message 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 | ||
215 | message HumanGlobalMetadata { | 215 | message HumanGlobalMetadata { |
216 | repeated string special_names = 1; | 216 | repeated string special_names = 1; |
217 | optional uint64 version = 2; | ||
217 | } | 218 | } |
218 | 219 | ||
219 | message IdMappings { | 220 | 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 { | |||
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 | ||