tiger_lib/
lib.rs

1//! This library forms the bulk of the -tiger family of validators: `ck3-tiger`, `vic3-tiger`, and
2//! `imperator-tiger`. Each executable is a small wrapper around the functions in this library that
3//! start and perform validation.
4
5#[cfg(all(
6    feature = "ck3",
7    feature = "vic3",
8    feature = "imperator",
9    feature = "eu5",
10    feature = "hoi4",
11    not(doc)
12))]
13compile_error!(
14    "features \"ck3\", \"vic3\", \"imperator\", \"eu5\", and \"hoi4\" cannot be enabled at the same time"
15);
16
17#[cfg(all(
18    not(feature = "ck3"),
19    not(feature = "vic3"),
20    not(feature = "imperator"),
21    not(feature = "eu5"),
22    not(feature = "hoi4")
23))]
24compile_error!(
25    "exactly one of the features \"ck3\", \"vic3\", \"imperator\", \"eu5\", \"hoi4\" must be enabled"
26);
27
28pub use crate::config_load::validate_config_file;
29pub use crate::everything::Everything;
30pub use crate::fileset::FileKind;
31pub use crate::game::Game;
32pub use crate::helpers::{TigerHashMap, TigerHashSet};
33pub use crate::item::Item;
34pub use crate::launcher_settings::get_version_from_launcher;
35#[cfg(any(feature = "vic3", feature = "eu5"))]
36pub use crate::mod_metadata::ModMetadata;
37#[cfg(any(feature = "ck3", feature = "imperator", feature = "hoi4"))]
38pub use crate::modfile::ModFile;
39pub use crate::report::{
40    Confidence, LogReportMetadata, LogReportPointers, PointedMessage, Severity,
41    add_loaded_mod_root, disable_ansi_colors, emit_reports, log, set_output_style,
42    set_show_loaded_mods, set_show_vanilla, suppress_from_json, take_reports,
43};
44pub use crate::token::{Loc, Token};
45
46#[cfg(feature = "internal_benches")]
47mod benches;
48
49#[cfg(feature = "ck3")]
50mod ck3;
51#[cfg(feature = "eu5")]
52mod eu5;
53#[cfg(feature = "hoi4")]
54mod hoi4;
55#[cfg(feature = "imperator")]
56mod imperator;
57#[cfg(feature = "vic3")]
58mod vic3;
59
60mod block;
61mod config_load;
62mod context;
63mod data;
64mod datacontext;
65mod datatype;
66mod date;
67mod db;
68mod dds;
69mod defines;
70mod desc;
71mod effect;
72#[cfg(feature = "jomini")]
73mod effect_validation;
74mod everything;
75mod fileset;
76mod game;
77mod gui;
78mod helpers;
79mod item;
80mod launcher_settings;
81mod lowercase;
82mod macros;
83#[cfg(any(feature = "vic3", feature = "eu5"))]
84mod mod_metadata;
85#[cfg(any(feature = "ck3", feature = "imperator", feature = "hoi4"))]
86mod modfile;
87mod modif;
88mod on_action;
89mod parse;
90mod pathtable;
91mod pdxfile;
92mod report;
93mod rivers;
94mod scopes;
95#[cfg(feature = "jomini")]
96mod script_value;
97mod special_tokens;
98mod token;
99mod tooltipped;
100mod trigger;
101mod util;
102mod validate;
103mod validator;
104#[cfg(feature = "jomini")]
105mod variable_scopes;
106mod variables;