diff options
-rw-r--r-- | data/ids.txtpb | 104 | ||||
-rw-r--r-- | proto/data.proto | 1 | ||||
-rw-r--r-- | proto/human.proto | 1 | ||||
-rw-r--r-- | tools/assign_ids/main.cpp | 8 | ||||
-rw-r--r-- | tools/datapacker/main.cpp | 5 |
5 files changed, 119 insertions, 0 deletions
diff --git a/data/ids.txtpb b/data/ids.txtpb index d6ad423..423f503 100644 --- a/data/ids.txtpb +++ b/data/ids.txtpb | |||
@@ -529,3 +529,107 @@ maps { | |||
529 | } | 529 | } |
530 | } | 530 | } |
531 | } | 531 | } |
532 | special { | ||
533 | key: "A" | ||
534 | value: 105 | ||
535 | } | ||
536 | special { | ||
537 | key: "B" | ||
538 | value: 106 | ||
539 | } | ||
540 | special { | ||
541 | key: "C" | ||
542 | value: 107 | ||
543 | } | ||
544 | special { | ||
545 | key: "D" | ||
546 | value: 108 | ||
547 | } | ||
548 | special { | ||
549 | key: "E" | ||
550 | value: 109 | ||
551 | } | ||
552 | special { | ||
553 | key: "F" | ||
554 | value: 110 | ||
555 | } | ||
556 | special { | ||
557 | key: "G" | ||
558 | value: 111 | ||
559 | } | ||
560 | special { | ||
561 | key: "H" | ||
562 | value: 112 | ||
563 | } | ||
564 | special { | ||
565 | key: "I" | ||
566 | value: 113 | ||
567 | } | ||
568 | special { | ||
569 | key: "J" | ||
570 | value: 114 | ||
571 | } | ||
572 | special { | ||
573 | key: "K" | ||
574 | value: 115 | ||
575 | } | ||
576 | special { | ||
577 | key: "L" | ||
578 | value: 116 | ||
579 | } | ||
580 | special { | ||
581 | key: "M" | ||
582 | value: 117 | ||
583 | } | ||
584 | special { | ||
585 | key: "N" | ||
586 | value: 118 | ||
587 | } | ||
588 | special { | ||
589 | key: "O" | ||
590 | value: 119 | ||
591 | } | ||
592 | special { | ||
593 | key: "P" | ||
594 | value: 120 | ||
595 | } | ||
596 | special { | ||
597 | key: "Q" | ||
598 | value: 121 | ||
599 | } | ||
600 | special { | ||
601 | key: "R" | ||
602 | value: 122 | ||
603 | } | ||
604 | special { | ||
605 | key: "S" | ||
606 | value: 123 | ||
607 | } | ||
608 | special { | ||
609 | key: "T" | ||
610 | value: 124 | ||
611 | } | ||
612 | special { | ||
613 | key: "U" | ||
614 | value: 125 | ||
615 | } | ||
616 | special { | ||
617 | key: "V" | ||
618 | value: 126 | ||
619 | } | ||
620 | special { | ||
621 | key: "W" | ||
622 | value: 127 | ||
623 | } | ||
624 | special { | ||
625 | key: "X" | ||
626 | value: 128 | ||
627 | } | ||
628 | special { | ||
629 | key: "Y" | ||
630 | value: 129 | ||
631 | } | ||
632 | special { | ||
633 | key: "Z" | ||
634 | value: 130 | ||
635 | } | ||
diff --git a/proto/data.proto b/proto/data.proto index bea2563..3737934 100644 --- a/proto/data.proto +++ b/proto/data.proto | |||
@@ -107,4 +107,5 @@ message AllObjects { | |||
107 | repeated Painting paintings = 4; | 107 | repeated Painting paintings = 4; |
108 | repeated Port ports = 5; | 108 | repeated Port ports = 5; |
109 | repeated Connection connections = 6; | 109 | repeated Connection connections = 6; |
110 | map<string, uint64> special_ids = 8; | ||
110 | } | 111 | } |
diff --git a/proto/human.proto b/proto/human.proto index 1dcf2ab..c0a5e85 100644 --- a/proto/human.proto +++ b/proto/human.proto | |||
@@ -136,4 +136,5 @@ message IdMappings { | |||
136 | } | 136 | } |
137 | 137 | ||
138 | map<string, MapIds> maps = 1; | 138 | map<string, MapIds> maps = 1; |
139 | map<string, uint64> special = 2; | ||
139 | } | 140 | } |
diff --git a/tools/assign_ids/main.cpp b/tools/assign_ids/main.cpp index 1824c6f..39b532a 100644 --- a/tools/assign_ids/main.cpp +++ b/tools/assign_ids/main.cpp | |||
@@ -40,6 +40,8 @@ class AssignIds { | |||
40 | ProcessMaps(datadir_path); | 40 | ProcessMaps(datadir_path); |
41 | 41 | ||
42 | WriteIds(ids_path); | 42 | WriteIds(ids_path); |
43 | |||
44 | std::cout << "Next ID: " << next_id_ << std::endl; | ||
43 | } | 45 | } |
44 | 46 | ||
45 | void ReadIds(std::filesystem::path path) { | 47 | void ReadIds(std::filesystem::path path) { |
@@ -61,6 +63,12 @@ class AssignIds { | |||
61 | } | 63 | } |
62 | } | 64 | } |
63 | 65 | ||
66 | for (const auto& [_, id] : id_mappings_.special()) { | ||
67 | if (id > next_id_) { | ||
68 | next_id_ = id; | ||
69 | } | ||
70 | } | ||
71 | |||
64 | next_id_++; | 72 | next_id_++; |
65 | } | 73 | } |
66 | 74 | ||
diff --git a/tools/datapacker/main.cpp b/tools/datapacker/main.cpp index 4b26141..92ff151 100644 --- a/tools/datapacker/main.cpp +++ b/tools/datapacker/main.cpp | |||
@@ -408,6 +408,11 @@ class DataPacker { | |||
408 | } | 408 | } |
409 | } | 409 | } |
410 | } | 410 | } |
411 | |||
412 | auto& specials = *container_.all_objects().mutable_special_ids(); | ||
413 | for (const auto& [tag, id] : ids.special()) { | ||
414 | specials[tag] = id; | ||
415 | } | ||
411 | } | 416 | } |
412 | 417 | ||
413 | std::string mapdir_; | 418 | std::string mapdir_; |