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