summary refs log tree commit diff stats
path: root/tools/validator/main.cpp
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-08-16 14:52:24 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-08-16 14:52:24 -0400
commitc88f4184eaa48efbdc69e76eb3c8a4a206434ad3 (patch)
treec1da4c419d90debafdd7f71347fe5f3194ff13ee /tools/validator/main.cpp
parentac600120eb923e99c534f5c405f7f529c1b25bcf (diff)
downloadlingo2-archipelago-c88f4184eaa48efbdc69e76eb3c8a4a206434ad3.tar.gz
lingo2-archipelago-c88f4184eaa48efbdc69e76eb3c8a4a206434ad3.tar.bz2
lingo2-archipelago-c88f4184eaa48efbdc69e76eb3c8a4a206434ad3.zip
Started writing a data validator
Currently, it can check whether identifiers point to non-existent
objects, or whether multiple objects share the same identifier. It can
also determine whether an identifier is underspecified (e.g. a door
doesn't specify a room, or a global connection doesn't specify a map).
Diffstat (limited to 'tools/validator/main.cpp')
-rw-r--r--tools/validator/main.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/tools/validator/main.cpp b/tools/validator/main.cpp new file mode 100644 index 0000000..af9842b --- /dev/null +++ b/tools/validator/main.cpp
@@ -0,0 +1,31 @@
1#include "human_processor.h"
2#include "structs.h"
3#include "validator.h"
4
5namespace com::fourisland::lingo2_archipelago {
6namespace {
7
8void Run(const std::string& mapdir) {
9 CollectedInfo info;
10
11 ProcessHumanData(mapdir, info);
12
13 ValidateCollectedInfo(info);
14}
15
16} // namespace
17} // namespace com::fourisland::lingo2_archipelago
18
19int main(int argc, char** argv) {
20 if (argc != 2) {
21 std::cout << "Incorrect argument count." << std::endl;
22 std::cout << "Usage: validator [path to map directory]" << std::endl;
23 return 1;
24 }
25
26 std::string mapdir = argv[1];
27
28 com::fourisland::lingo2_archipelago::Run(mapdir);
29
30 return 0;
31}