1use std::collections::HashMap;
61use std::sync::{Arc, RwLock};
62
63use crate::compression::CompressionFormat;
64use super::{GameInfo, InstallData, InstallType, pfh_file_type::PFHFileType, pfh_version::PFHVersion, VanillaDBTableNameLogic};
65
66pub const DISPLAY_NAME_PHARAOH_DYNASTIES: &str = "Pharaoh Dynasties";
75
76pub const DISPLAY_NAME_PHARAOH: &str = "Pharaoh";
78
79pub const DISPLAY_NAME_WARHAMMER_3: &str = "Warhammer 3";
81
82pub const DISPLAY_NAME_TROY: &str = "Troy";
84
85pub const DISPLAY_NAME_THREE_KINGDOMS: &str = "Three Kingdoms";
87
88pub const DISPLAY_NAME_WARHAMMER_2: &str = "Warhammer 2";
90
91pub const DISPLAY_NAME_WARHAMMER: &str = "Warhammer";
93
94pub const DISPLAY_NAME_THRONES_OF_BRITANNIA: &str = "Thrones of Britannia";
96
97pub const DISPLAY_NAME_ATTILA: &str = "Attila";
99
100pub const DISPLAY_NAME_ROME_2: &str = "Rome 2";
102
103pub const DISPLAY_NAME_SHOGUN_2: &str = "Shogun 2";
105
106pub const DISPLAY_NAME_NAPOLEON: &str = "Napoleon";
108
109pub const DISPLAY_NAME_EMPIRE: &str = "Empire";
111
112pub const DISPLAY_NAME_ARENA: &str = "Arena";
114
115pub const KEY_PHARAOH_DYNASTIES: &str = "pharaoh_dynasties"; pub const KEY_PHARAOH: &str = "pharaoh"; pub const KEY_WARHAMMER_3: &str = "warhammer_3"; pub const KEY_TROY: &str = "troy"; pub const KEY_THREE_KINGDOMS: &str = "three_kingdoms"; pub const KEY_WARHAMMER_2: &str = "warhammer_2"; pub const KEY_WARHAMMER: &str = "warhammer"; pub const KEY_THRONES_OF_BRITANNIA: &str = "thrones_of_britannia"; pub const KEY_ATTILA: &str = "attila"; pub const KEY_ROME_2: &str = "rome_2"; pub const KEY_SHOGUN_2: &str = "shogun_2"; pub const KEY_NAPOLEON: &str = "napoleon"; pub const KEY_EMPIRE: &str = "empire"; pub const KEY_ARENA: &str = "arena";
172
173pub struct SupportedGames {
208
209 games: HashMap<&'static str, GameInfo>,
213
214 order: Vec<&'static str>
218}
219
220impl Default for SupportedGames {
225 fn default() -> Self {
226 let mut game_list = HashMap::new();
227
228 game_list.insert(KEY_PHARAOH_DYNASTIES, GameInfo {
230 key: KEY_PHARAOH_DYNASTIES,
231 display_name: DISPLAY_NAME_PHARAOH_DYNASTIES,
232 pfh_versions: {
233 let mut data = HashMap::new();
234 data.insert(PFHFileType::Boot, PFHVersion::PFH5);
235 data.insert(PFHFileType::Release, PFHVersion::PFH5);
236 data.insert(PFHFileType::Patch, PFHVersion::PFH5);
237 data.insert(PFHFileType::Mod, PFHVersion::PFH5);
238 data.insert(PFHFileType::Movie, PFHVersion::PFH5);
239 data
240 },
241 schema_file_name: "schema_ph_dyn.ron".to_owned(),
242 dependencies_cache_file_name: "ph_dyn.pak2".to_owned(),
243 raw_db_version: 2,
244 portrait_settings_version: None,
245 supports_editing: true,
246 db_tables_have_guid: true,
247 locale_file_name: Some("language.txt".to_owned()),
248 banned_packedfiles: vec![],
249 icon_small: "gs_ph_dyn.png".to_owned(),
250 icon_big: "gs_big_ph_dyn.png".to_owned(),
251 vanilla_db_table_name_logic: VanillaDBTableNameLogic::DefaultName("data__".to_owned()),
252 install_data: {
253 let mut data = HashMap::new();
254 data.insert(InstallType::WinSteam, InstallData {
255 vanilla_packs: vec![],
256 use_manifest: true,
257 store_id: 2_951_630,
258 store_id_ak: 2_951_670,
259 executable: "Pharaoh.exe".to_owned(),
260 data_path: "data".to_owned(),
261 language_path: "data".to_owned(),
262 local_mods_path: "data".to_owned(),
263 downloaded_mods_path: "./../../workshop/content/2951630".to_owned(),
264 config_folder: Some("PharaohDynasties".to_owned()),
265 });
266
267 data
268 },
269 tool_vars: {
270 let mut vars = HashMap::new();
271 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
272 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
273 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
274
275 vars.insert("faction_painter_banner_table_name".to_owned(), "factions_tables".to_owned());
276 vars.insert("faction_painter_banner_table_definition".to_owned(), "factions_definition".to_owned());
277 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
278 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "banner_colour_primary".to_owned());
279 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "banner_colour_secondary".to_owned());
280 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "banner_colour_tertiary".to_owned());
281 vars.insert("faction_painter_banner_row_key".to_owned(), "faction_row".to_owned());
282
283 vars.insert("faction_painter_uniform_table_name".to_owned(), "factions_tables".to_owned());
284 vars.insert("faction_painter_uniform_table_definition".to_owned(), "factions_definition".to_owned());
285 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "key".to_owned());
286 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "uniform_colour_primary".to_owned());
287 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "uniform_colour_secondary".to_owned());
288 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "uniform_colour_tertiary".to_owned());
289 vars.insert("faction_painter_uniform_row_key".to_owned(), "faction_row".to_owned());
290 vars
291 },
292 lua_autogen_folder: None,
293 ak_lost_fields: vec![
294 "_kv_battle_ai_ability_usage_variables/description".to_owned(),
295 "_kv_experience_bonuses/description".to_owned(),
296 "_kv_fatigue/description".to_owned(),
297 "_kv_fire_values/description".to_owned(),
298 "_kv_key_buildings/description".to_owned(),
299 "_kv_morale/description".to_owned(),
300 "_kv_naval_morale/description".to_owned(),
301 "_kv_naval_rules/description".to_owned(),
302 "_kv_rules/description".to_owned(),
303 "_kv_ui_tweakers/description".to_owned(),
304 "_kv_unit_ability_scaling_rules/description".to_owned(),
305 "_kv_winds_of_magic_params/description".to_owned(),
306 "achievements/game_expansion_key".to_owned(),
307 "ancillary_info/author".to_owned(),
308 "ancillary_info/comment".to_owned(),
309 "ancillary_info/historical_example".to_owned(),
310 "audio_entity_types/actor_type".to_owned(),
311 "audio_entity_types/game_expansion_key".to_owned(),
312 "audio_entity_types/switch".to_owned(),
313 "audio_markers/colour_blue".to_owned(),
314 "audio_markers/colour_green".to_owned(),
315 "audio_markers/colour_red".to_owned(),
316 "audio_metadata_tags/colour_blue".to_owned(),
317 "audio_metadata_tags/colour_green".to_owned(),
318 "audio_metadata_tags/colour_red".to_owned(),
319 "audio_metadata_tags/game_expansion_key".to_owned(),
320 "audio_metadata_tags/path".to_owned(),
321 "battle_animations_table/game_expansion_key".to_owned(),
322 "battle_personalities/game_expansion_key".to_owned(),
323 "battle_set_pieces/game_expansion_key".to_owned(),
324 "battle_skeletons/game_expansion_key".to_owned(),
325 "battles/game_expansion_key".to_owned(),
326 "battles/objectives_team_1".to_owned(),
327 "battles/objectives_team_2".to_owned(),
328 "building_chains/encyclopedia_group".to_owned(),
329 "building_chains/encyclopedia_include_in_index".to_owned(),
330 "building_chains/encyclopedia_name".to_owned(),
331 "building_culture_variants/flavour".to_owned(),
332 "building_levels/commodity_vol".to_owned(),
333 "cai_algorithm_variables/description".to_owned(),
334 "cai_algorithms/description".to_owned(),
335 "cai_decision_interfaces/description".to_owned(),
336 "cai_decision_items_non_record_bound_types/description".to_owned(),
337 "cai_decision_policies/description".to_owned(),
338 "cai_domain_modifier_functions/description".to_owned(),
339 "cai_domain_variables/description".to_owned(),
340 "cai_domains/description".to_owned(),
341 "cai_queries/description".to_owned(),
342 "cai_query_variables/description".to_owned(),
343 "cai_task_management_system_variables/description".to_owned(),
344 "campaign_ai_managers/description".to_owned(),
345 "campaign_map_playable_areas/game_expansion_key".to_owned(),
346 "campaign_map_playable_areas/maxy".to_owned(),
347 "campaign_map_playable_areas/miny".to_owned(),
348 "campaign_map_playable_areas/preview_border".to_owned(),
349 "campaign_payload_ui_details/comment".to_owned(),
350 "campaign_tree_types/game_expansion_key".to_owned(),
351 "campaign_variables/description".to_owned(),
352 "campaigns/game_expansion_key".to_owned(),
353 "cdir_events_mission_option_junctions/game_expansion_key".to_owned(),
354 "cdir_military_generator_configs/game_expansion_key".to_owned(),
355 "cdir_military_generator_templates/game_expansion_key".to_owned(),
356 "character_skill_level_to_effects_junctions/is_factionwide".to_owned(),
357 "character_skills/pre_battle_speech_parameter".to_owned(),
358 "character_traits/author".to_owned(),
359 "character_traits/comment".to_owned(),
360 "deployables/icon_name".to_owned(),
361 "diplomatic_relations_religion/relations_modifier".to_owned(),
362 "faction_groups/ui_icon".to_owned(),
363 "factions/game_expansion_key".to_owned(),
364 "frontend_faction_leaders/game_expansion_key".to_owned(),
365 "government_types/elected_ministers".to_owned(),
366 "government_types/hereditary_ministers".to_owned(),
367 "government_types/rank".to_owned(),
368
369 "land_units/concealed_name".to_owned(),
371
372 "land_units/game_expansion_key".to_owned(),
373 "loading_screen_quotes/game_expansion_key".to_owned(),
374 "main_units/audio_voiceover_culture_override".to_owned(),
375
376 "models_building/cs2_file".to_owned(),
378 "models_building/model_file".to_owned(),
379 "models_building/tech_file".to_owned(),
380
381 "names/nobility".to_owned(),
382 "names_groups/Description".to_owned(),
383 "names_groups/game_expansion_key".to_owned(),
384 "pdlc/game_expansion_key".to_owned(),
385
386 "pooled_resources/negative_display_name".to_owned(),
388
389 "projectiles/game_expansion_key".to_owned(),
390 "regions/in_encyclopedia".to_owned(),
391 "regions/is_sea".to_owned(),
392 "scripted_bonus_value_ids/notes".to_owned(),
393 "scripted_objectives/game_expansion_key".to_owned(),
394 "start_pos_calendars/unique".to_owned(),
395 "start_pos_character_ancillaries/unique".to_owned(),
396 "start_pos_character_to_settlements/unique".to_owned(),
397 "start_pos_character_traits/unique".to_owned(),
398 "start_pos_diplomacy/relations_modifier".to_owned(),
399 "start_pos_diplomacy/unique".to_owned(),
400 "start_pos_faction_effect_bundles/unique".to_owned(),
401 "start_pos_factions/unique".to_owned(),
402 "start_pos_family_relationships/unique".to_owned(),
403 "start_pos_land_units/unique".to_owned(),
404 "start_pos_past_events/unique".to_owned(),
405 "start_pos_region_religions/unique".to_owned(),
406 "start_pos_region_slot_templates/unique".to_owned(),
407 "start_pos_regions/unique".to_owned(),
408 "start_pos_settlements/unique".to_owned(),
409 "start_pos_technologies/unique".to_owned(),
410 "technologies/in_encyclopedia".to_owned(),
411 "technology_node_sets/game_expansion_key".to_owned(),
412 "trait_info/applicable_to".to_owned(),
413 "trigger_events/from_ui".to_owned(),
414 "trigger_events/game_expansion_key".to_owned(),
415 "videos/game_expansion_key".to_owned(),
416 "warscape_animated/game_expansion_key".to_owned(),
417 ],
418 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
419 compression_formats_supported: vec![
420 CompressionFormat::Lzma1
421 ],
422 max_cs2_parsed_version: 0
423 });
424
425 game_list.insert(KEY_PHARAOH, GameInfo {
427 key: KEY_PHARAOH,
428 display_name: DISPLAY_NAME_PHARAOH,
429 pfh_versions: {
430 let mut data = HashMap::new();
431 data.insert(PFHFileType::Boot, PFHVersion::PFH5);
432 data.insert(PFHFileType::Release, PFHVersion::PFH5);
433 data.insert(PFHFileType::Patch, PFHVersion::PFH5);
434 data.insert(PFHFileType::Mod, PFHVersion::PFH5);
435 data.insert(PFHFileType::Movie, PFHVersion::PFH5);
436 data
437 },
438 schema_file_name: "schema_ph.ron".to_owned(),
439 dependencies_cache_file_name: "ph.pak2".to_owned(),
440 raw_db_version: 2,
441 portrait_settings_version: None,
442 supports_editing: true,
443 db_tables_have_guid: true,
444 locale_file_name: Some("language.txt".to_owned()),
445 banned_packedfiles: vec![],
446 icon_small: "gs_ph.png".to_owned(),
447 icon_big: "gs_big_ph.png".to_owned(),
448 vanilla_db_table_name_logic: VanillaDBTableNameLogic::DefaultName("data__".to_owned()),
449 install_data: {
450 let mut data = HashMap::new();
451 data.insert(InstallType::WinSteam, InstallData {
452 vanilla_packs: vec![],
453 use_manifest: true,
454 store_id: 1_937_780, store_id_ak: 1_937_790,
457 executable: "Pharaoh.exe".to_owned(),
458 data_path: "data".to_owned(),
459 language_path: "data".to_owned(),
460 local_mods_path: "data".to_owned(),
461 downloaded_mods_path: "./../../workshop/content/1937780".to_owned(), config_folder: Some("Pharaoh".to_owned()),
464 });
465
466 data
467 },
468 tool_vars: {
469 let mut vars = HashMap::new();
470 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
471 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
472 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
473
474 vars.insert("faction_painter_banner_table_name".to_owned(), "factions_tables".to_owned());
475 vars.insert("faction_painter_banner_table_definition".to_owned(), "factions_definition".to_owned());
476 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
477 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "banner_colour_primary".to_owned());
478 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "banner_colour_secondary".to_owned());
479 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "banner_colour_tertiary".to_owned());
480 vars.insert("faction_painter_banner_row_key".to_owned(), "faction_row".to_owned());
481
482 vars.insert("faction_painter_uniform_table_name".to_owned(), "factions_tables".to_owned());
483 vars.insert("faction_painter_uniform_table_definition".to_owned(), "factions_definition".to_owned());
484 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "key".to_owned());
485 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "uniform_colour_primary".to_owned());
486 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "uniform_colour_secondary".to_owned());
487 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "uniform_colour_tertiary".to_owned());
488 vars.insert("faction_painter_uniform_row_key".to_owned(), "faction_row".to_owned());
489 vars
490 },
491 lua_autogen_folder: None,
492 ak_lost_fields: vec![
493 "_kv_battle_ai_ability_usage_variables/description".to_owned(),
494 "_kv_experience_bonuses/description".to_owned(),
495 "_kv_fatigue/description".to_owned(),
496 "_kv_fire_values/description".to_owned(),
497 "_kv_key_buildings/description".to_owned(),
498 "_kv_morale/description".to_owned(),
499 "_kv_naval_morale/description".to_owned(),
500 "_kv_naval_rules/description".to_owned(),
501 "_kv_rules/description".to_owned(),
502 "_kv_ui_tweakers/description".to_owned(),
503 "_kv_unit_ability_scaling_rules/description".to_owned(),
504 "_kv_winds_of_magic_params/description".to_owned(),
505 "achievements/game_expansion_key".to_owned(),
506 "ancillary_info/author".to_owned(),
507 "ancillary_info/comment".to_owned(),
508 "ancillary_info/historical_example".to_owned(),
509 "audio_entity_types/actor_type".to_owned(),
510 "audio_entity_types/game_expansion_key".to_owned(),
511 "audio_entity_types/switch".to_owned(),
512 "audio_markers/colour_blue".to_owned(),
513 "audio_markers/colour_green".to_owned(),
514 "audio_markers/colour_red".to_owned(),
515 "audio_metadata_tags/colour_blue".to_owned(),
516 "audio_metadata_tags/colour_green".to_owned(),
517 "audio_metadata_tags/colour_red".to_owned(),
518 "audio_metadata_tags/game_expansion_key".to_owned(),
519 "audio_metadata_tags/path".to_owned(),
520 "battle_animations_table/game_expansion_key".to_owned(),
521 "battle_personalities/game_expansion_key".to_owned(),
522 "battle_set_pieces/game_expansion_key".to_owned(),
523 "battle_skeletons/game_expansion_key".to_owned(),
524 "battles/game_expansion_key".to_owned(),
525 "battles/objectives_team_1".to_owned(),
526 "battles/objectives_team_2".to_owned(),
527 "building_chains/encyclopedia_group".to_owned(),
528 "building_chains/encyclopedia_include_in_index".to_owned(),
529 "building_chains/encyclopedia_name".to_owned(),
530 "building_culture_variants/flavour".to_owned(),
531 "building_levels/commodity_vol".to_owned(),
532 "cai_algorithm_variables/description".to_owned(),
533 "cai_algorithms/description".to_owned(),
534 "cai_decision_interfaces/description".to_owned(),
535 "cai_decision_items_non_record_bound_types/description".to_owned(),
536 "cai_decision_policies/description".to_owned(),
537 "cai_domain_modifier_functions/description".to_owned(),
538 "cai_domain_variables/description".to_owned(),
539 "cai_domains/description".to_owned(),
540 "cai_queries/description".to_owned(),
541 "cai_query_variables/description".to_owned(),
542 "cai_task_management_system_variables/description".to_owned(),
543 "campaign_ai_managers/description".to_owned(),
544 "campaign_map_playable_areas/game_expansion_key".to_owned(),
545 "campaign_map_playable_areas/maxy".to_owned(),
546 "campaign_map_playable_areas/miny".to_owned(),
547 "campaign_map_playable_areas/preview_border".to_owned(),
548 "campaign_payload_ui_details/comment".to_owned(),
549 "campaign_tree_types/game_expansion_key".to_owned(),
550 "campaign_variables/description".to_owned(),
551 "campaigns/game_expansion_key".to_owned(),
552 "cdir_events_mission_option_junctions/game_expansion_key".to_owned(),
553 "cdir_military_generator_configs/game_expansion_key".to_owned(),
554 "cdir_military_generator_templates/game_expansion_key".to_owned(),
555 "character_skill_level_to_effects_junctions/is_factionwide".to_owned(),
556 "character_skills/pre_battle_speech_parameter".to_owned(),
557 "character_traits/author".to_owned(),
558 "character_traits/comment".to_owned(),
559 "deployables/icon_name".to_owned(),
560 "diplomatic_relations_religion/relations_modifier".to_owned(),
561 "faction_groups/ui_icon".to_owned(),
562 "factions/game_expansion_key".to_owned(),
563 "frontend_faction_leaders/game_expansion_key".to_owned(),
564 "government_types/elected_ministers".to_owned(),
565 "government_types/hereditary_ministers".to_owned(),
566 "government_types/rank".to_owned(),
567
568 "land_units/concealed_name".to_owned(),
570
571 "land_units/game_expansion_key".to_owned(),
572 "loading_screen_quotes/game_expansion_key".to_owned(),
573 "main_units/audio_voiceover_culture_override".to_owned(),
574
575 "models_building/cs2_file".to_owned(),
577 "models_building/model_file".to_owned(),
578 "models_building/tech_file".to_owned(),
579
580 "names/nobility".to_owned(),
581 "names_groups/Description".to_owned(),
582 "names_groups/game_expansion_key".to_owned(),
583 "pdlc/game_expansion_key".to_owned(),
584
585 "pooled_resources/negative_display_name".to_owned(),
587
588 "projectiles/game_expansion_key".to_owned(),
589 "regions/in_encyclopedia".to_owned(),
590 "regions/is_sea".to_owned(),
591 "scripted_bonus_value_ids/notes".to_owned(),
592 "scripted_objectives/game_expansion_key".to_owned(),
593 "start_pos_calendars/unique".to_owned(),
594 "start_pos_character_ancillaries/unique".to_owned(),
595 "start_pos_character_to_settlements/unique".to_owned(),
596 "start_pos_character_traits/unique".to_owned(),
597 "start_pos_diplomacy/relations_modifier".to_owned(),
598 "start_pos_diplomacy/unique".to_owned(),
599 "start_pos_faction_effect_bundles/unique".to_owned(),
600 "start_pos_factions/unique".to_owned(),
601 "start_pos_land_units/unique".to_owned(),
602 "start_pos_past_events/unique".to_owned(),
603 "start_pos_region_religions/unique".to_owned(),
604 "start_pos_region_slot_templates/unique".to_owned(),
605 "start_pos_regions/unique".to_owned(),
606 "start_pos_settlements/unique".to_owned(),
607 "technologies/in_encyclopedia".to_owned(),
608 "technology_node_sets/game_expansion_key".to_owned(),
609 "trait_info/applicable_to".to_owned(),
610 "trigger_events/from_ui".to_owned(),
611 "trigger_events/game_expansion_key".to_owned(),
612 "videos/game_expansion_key".to_owned(),
613 "warscape_animated/game_expansion_key".to_owned(),
614 ],
615 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
616 compression_formats_supported: vec![
617 CompressionFormat::Lzma1
618 ],
619 max_cs2_parsed_version: 0
620 });
621
622 game_list.insert(KEY_WARHAMMER_3, GameInfo {
624 key: KEY_WARHAMMER_3,
625 display_name: DISPLAY_NAME_WARHAMMER_3,
626 pfh_versions: {
627 let mut data = HashMap::new();
628 data.insert(PFHFileType::Boot, PFHVersion::PFH5);
629 data.insert(PFHFileType::Release, PFHVersion::PFH5);
630 data.insert(PFHFileType::Patch, PFHVersion::PFH5);
631 data.insert(PFHFileType::Mod, PFHVersion::PFH5);
632 data.insert(PFHFileType::Movie, PFHVersion::PFH5);
633 data
634 },
635 schema_file_name: "schema_wh3.ron".to_owned(),
636 dependencies_cache_file_name: "wh3.pak2".to_owned(),
637 raw_db_version: 2,
638 portrait_settings_version: Some(4),
639 supports_editing: true,
640 db_tables_have_guid: true,
641 locale_file_name: Some("language.txt".to_owned()),
642 banned_packedfiles: vec![
643 "db/agent_subtype_ownership_content_pack_junctions_tables".to_owned(),
644 "db/allied_recruitment_core_units_tables".to_owned(),
645 "db/battle_ownership_content_pack_junctions_tables".to_owned(),
646 "db/building_chain_ownership_content_pack_junctions_tables".to_owned(),
647 "db/building_level_ownership_content_pack_junctions_tables".to_owned(),
648 "db/campaign_map_playable_area_ownership_content_pack_junctions_tables".to_owned(),
649 "db/faction_ownership_content_pack_junctions_tables".to_owned(),
650 "db/loading_screen_quote_ownership_content_pack_junctions_tables".to_owned(),
651 "db/main_unit_ownership_content_pack_junctions_tables".to_owned(),
652 "db/ownership_products_tables".to_owned(),
653 "db/ownership_content_packs_tables".to_owned(),
654 "db/ownership_content_pack_required_products_tables".to_owned(),
655 "db/ownership_content_pack_requirements_tables".to_owned(),
656 "db/ritual_ownership_content_pack_junctions_tables".to_owned(),
657 "db/technology_ownership_content_pack_junctions_tables".to_owned(),
658 ],
659 icon_small: "gs_wh3.png".to_owned(),
660 icon_big: "gs_big_wh3.png".to_owned(),
661 vanilla_db_table_name_logic: VanillaDBTableNameLogic::DefaultName("data__".to_owned()),
662 install_data: {
663 let mut data = HashMap::new();
664 data.insert(InstallType::WinSteam, InstallData {
665 vanilla_packs: vec![],
666 use_manifest: true,
667 store_id: 1_142_710,
668 store_id_ak: 1_880_380,
669 executable: "Warhammer3.exe".to_owned(),
670 data_path: "data".to_owned(),
671 language_path: "data".to_owned(),
672 local_mods_path: "data".to_owned(),
673 downloaded_mods_path: "./../../workshop/content/1142710".to_owned(),
674 config_folder: Some("Warhammer3".to_owned()),
675 });
676
677 data.insert(InstallType::LnxSteam, InstallData {
678 vanilla_packs: vec![],
679 use_manifest: true,
680 store_id: 1_142_710,
681 store_id_ak: 1_880_380,
682 executable: "TotalWarhammer3.sh".to_owned(),
683 data_path: "share/data/data".to_owned(),
684 language_path: "share/data/data/localisation".to_owned(),
685 local_mods_path: "share/data/data".to_owned(),
686 downloaded_mods_path: "./../../workshop/content/1142710".to_owned(),
687 config_folder: None,
688 });
689
690 data
691 },
692 tool_vars: {
693 let mut vars = HashMap::new();
694 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
695 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
696 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
697
698 vars.insert("faction_painter_banner_table_name".to_owned(), "factions_tables".to_owned());
699 vars.insert("faction_painter_banner_table_definition".to_owned(), "factions_definition".to_owned());
700 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
701 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "banner_colour_primary".to_owned());
702 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "banner_colour_secondary".to_owned());
703 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "banner_colour_tertiary".to_owned());
704 vars.insert("faction_painter_banner_row_key".to_owned(), "faction_row".to_owned());
705
706 vars.insert("faction_painter_uniform_table_name".to_owned(), "factions_tables".to_owned());
707 vars.insert("faction_painter_uniform_table_definition".to_owned(), "factions_definition".to_owned());
708 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "key".to_owned());
709 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "uniform_colour_primary".to_owned());
710 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "uniform_colour_secondary".to_owned());
711 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "uniform_colour_tertiary".to_owned());
712 vars.insert("faction_painter_uniform_row_key".to_owned(), "faction_row".to_owned());
713 vars
714 },
715 lua_autogen_folder: Some("output/wh3".to_owned()),
716 ak_lost_fields: vec![
717 "_kv_battle_ai_ability_usage_variables/description".to_owned(),
718 "_kv_experience_bonuses/description".to_owned(),
719 "_kv_fatigue/description".to_owned(),
720 "_kv_fire_values/description".to_owned(),
721 "_kv_key_buildings/description".to_owned(),
722 "_kv_morale/description".to_owned(),
723 "_kv_naval_morale/description".to_owned(),
724 "_kv_naval_rules/description".to_owned(),
725 "_kv_rules/description".to_owned(),
726 "_kv_ui_tweakers/description".to_owned(),
727 "_kv_unit_ability_scaling_rules/description".to_owned(),
728 "_kv_winds_of_magic_params/description".to_owned(),
729 "advice_levels/locatable".to_owned(),
730 "agent_recruitment_categories/onscreen_description".to_owned(),
731 "alternative_pooled_resource_junctions/description".to_owned(),
732 "ancillary_info/author".to_owned(),
733 "ancillary_info/comment".to_owned(),
734 "ancillary_info/historical_example".to_owned(),
735 "audio_entity_types/game_expansion_key".to_owned(),
736 "audio_markers/colour_blue".to_owned(),
737 "audio_markers/colour_green".to_owned(),
738 "audio_markers/colour_red".to_owned(),
739 "audio_metadata_tags/colour_blue".to_owned(),
740 "audio_metadata_tags/colour_green".to_owned(),
741 "audio_metadata_tags/colour_red".to_owned(),
742 "audio_metadata_tags/game_expansion_key".to_owned(),
743 "audio_metadata_tags/path".to_owned(),
744 "battle_animations_table/game_expansion_key".to_owned(),
745 "battle_personalities/game_expansion_key".to_owned(),
746 "battle_set_pieces/game_expansion_key".to_owned(),
747 "battle_skeletons/game_expansion_key".to_owned(),
748 "battles/game_expansion_key".to_owned(),
749 "battles/objectives_team_1".to_owned(),
750 "battles/objectives_team_2".to_owned(),
751 "building_chains/encyclopedia_group".to_owned(),
752 "building_chains/encyclopedia_include_in_index".to_owned(),
753 "building_culture_variants/flavour".to_owned(),
754 "building_levels/commodity_vol".to_owned(),
755 "cai_algorithm_variables/description".to_owned(),
756 "cai_algorithms/description".to_owned(),
757 "cai_decision_interfaces/description".to_owned(),
758 "cai_decision_items_non_record_bound_types/description".to_owned(),
759 "cai_decision_policies/description".to_owned(),
760 "cai_domain_modifier_functions/description".to_owned(),
761 "cai_domain_variables/description".to_owned(),
762 "cai_domains/description".to_owned(),
763 "cai_queries/description".to_owned(),
764 "cai_query_variables/description".to_owned(),
765 "cai_task_management_system_variables/description".to_owned(),
766 "campaign_ai_managers/description".to_owned(),
767 "campaign_map_playable_areas/game_expansion_key".to_owned(),
768 "campaign_map_playable_areas/maxy".to_owned(),
769 "campaign_map_playable_areas/miny".to_owned(),
770 "campaign_map_playable_areas/preview_border".to_owned(),
771 "campaign_payload_ui_details/comment".to_owned(),
772 "campaign_settlement_display_building_ids/sub_culture".to_owned(),
773 "campaign_tree_types/game_expansion_key".to_owned(),
774 "campaign_variables/description".to_owned(),
775 "campaigns/game_expansion_key".to_owned(),
776 "cdir_event_targets/description".to_owned(),
777 "cdir_events_options/notes".to_owned(),
778 "cdir_events_payloads/notes".to_owned(),
779 "cdir_events_targets/description".to_owned(),
780 "cdir_military_generator_configs/game_expansion_key".to_owned(),
781 "cdir_military_generator_templates/game_expansion_key".to_owned(),
782 "character_skill_level_to_effects_junctions/is_factionwide".to_owned(),
783 "character_skills/pre_battle_speech_parameter".to_owned(),
784 "character_traits/author".to_owned(),
785 "character_traits/comment".to_owned(),
786 "deployables/icon_name".to_owned(),
787 "faction_groups/ui_icon".to_owned(),
788 "factions/game_expansion_key".to_owned(),
789 "frontend_faction_leaders/game_expansion_key".to_owned(),
790 "land_units/game_expansion_key".to_owned(),
791 "loading_screen_quotes/game_expansion_key".to_owned(),
792 "mercenary_pool_to_groups_junctions/game_expansion_key".to_owned(),
793
794 "models_building/cs2_file".to_owned(),
796 "models_building/model_file".to_owned(),
797 "models_building/tech_file".to_owned(),
798
799 "names_groups/Description".to_owned(),
800 "names_groups/game_expansion_key".to_owned(),
801 "pdlc/game_expansion_key".to_owned(),
802 "projectiles/game_expansion_key".to_owned(),
803 "regions/in_encyclopedia".to_owned(),
804 "regions/is_sea".to_owned(),
805 "resources/campaign_group".to_owned(),
806 "scripted_bonus_value_ids/notes".to_owned(),
807 "scripted_objectives/game_expansion_key".to_owned(),
808 "start_pos_calendars/unique".to_owned(),
809 "start_pos_character_ancillaries/unique".to_owned(),
810 "start_pos_character_to_settlements/unique".to_owned(),
811 "start_pos_character_traits/unique".to_owned(),
812 "start_pos_diplomacy/relations_modifier".to_owned(),
813 "start_pos_diplomacy/unique".to_owned(),
814 "start_pos_factions/honour".to_owned(),
815 "start_pos_factions/unique".to_owned(),
816 "start_pos_land_units/unique".to_owned(),
817 "start_pos_naval_units/unique".to_owned(),
818 "start_pos_past_events/unique".to_owned(),
819 "start_pos_regions/unique".to_owned(),
820 "start_pos_region_slot_templates/unique".to_owned(),
821 "start_pos_settlement_garrisons/unique".to_owned(),
822 "start_pos_settlements/unique".to_owned(),
823 "start_pos_victory_conditions/unique".to_owned(),
824 "technologies/in_encyclopedia".to_owned(),
825 "technology_node_sets/game_expansion_key".to_owned(),
826 "trait_info/applicable_to".to_owned(),
827 "trigger_events/from_ui".to_owned(),
828 "trigger_events/game_expansion_key".to_owned(),
829 "videos/game_expansion_key".to_owned(),
830 "warscape_animated/game_expansion_key".to_owned(),
831 ],
832 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
833 compression_formats_supported: vec![
834 CompressionFormat::Zstd,
835 CompressionFormat::Lz4,
836 CompressionFormat::Lzma1
837 ],
838 max_cs2_parsed_version: 0
839 });
840
841 game_list.insert(KEY_TROY, GameInfo {
843 key: KEY_TROY,
844 display_name: DISPLAY_NAME_TROY,
845 pfh_versions: {
846 let mut data = HashMap::new();
847 data.insert(PFHFileType::Boot, PFHVersion::PFH5);
848 data.insert(PFHFileType::Release, PFHVersion::PFH5);
849 data.insert(PFHFileType::Patch, PFHVersion::PFH5);
850 data.insert(PFHFileType::Mod, PFHVersion::PFH6);
851 data.insert(PFHFileType::Movie, PFHVersion::PFH5);
852 data
853 },
854 schema_file_name: "schema_troy.ron".to_owned(),
855 dependencies_cache_file_name: "troy.pak2".to_owned(),
856 raw_db_version: 2,
857 portrait_settings_version: None,
858 supports_editing: true,
859 db_tables_have_guid: true,
860 locale_file_name: Some("language.txt".to_owned()),
861 banned_packedfiles: vec![],
862 icon_small: "gs_troy.png".to_owned(),
863 icon_big: "gs_big_troy.png".to_owned(),
864 vanilla_db_table_name_logic: VanillaDBTableNameLogic::DefaultName("data__".to_owned()),
865 install_data: {
866 let mut data = HashMap::new();
867 data.insert(InstallType::WinEpic, InstallData {
868 vanilla_packs: vec![],
869 use_manifest: true,
870 store_id: 0,
871 store_id_ak: 0,
872 executable: "Troy.exe".to_owned(),
873 data_path: "data".to_owned(),
874 language_path: "data".to_owned(),
875 local_mods_path: "mods/mymods".to_owned(),
876 downloaded_mods_path: "mods".to_owned(),
877 config_folder: None,
878 });
879
880 data.insert(InstallType::WinSteam, InstallData {
881 vanilla_packs: vec![],
882 use_manifest: true,
883 store_id: 1_099_410,
884 store_id_ak: 1_356_310,
885 executable: "Troy.exe".to_owned(),
886 data_path: "data".to_owned(),
887 language_path: "data".to_owned(),
888 local_mods_path: "data".to_owned(),
889 downloaded_mods_path: "./../../workshop/content/1099410".to_owned(),
890 config_folder: Some("Troy_Steam".to_owned()),
891 });
892
893 data
894 },
895 tool_vars: {
896 let mut vars = HashMap::new();
897 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
898 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
899 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
900
901 vars.insert("faction_painter_banner_table_name".to_owned(), "faction_banners_tables".to_owned());
902 vars.insert("faction_painter_banner_table_definition".to_owned(), "banner_definition".to_owned());
903 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
904 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "primary_hex".to_owned());
905 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "secondary_hex".to_owned());
906 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "tertiary_hex".to_owned());
907 vars.insert("faction_painter_banner_row_key".to_owned(), "banner_row".to_owned());
908
909
910 vars.insert("faction_painter_uniform_table_name".to_owned(), "faction_uniform_colours_tables".to_owned());
911 vars.insert("faction_painter_uniform_table_definition".to_owned(), "uniform_definition".to_owned());
912 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "faction_name".to_owned());
913 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "primary_colour_hex".to_owned());
914 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "secondary_colour_hex".to_owned());
915 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "tertiary_colour_hex".to_owned());
916 vars.insert("faction_painter_uniform_row_key".to_owned(), "uniform_row".to_owned());
917
918 vars
919 },
920 lua_autogen_folder: None,
921 ak_lost_fields: vec![
922 "_kv_battle_ai_ability_usage_variables/description".to_owned(),
923 "_kv_experience_bonuses/description".to_owned(),
924 "_kv_fatigue/description".to_owned(),
925 "_kv_fire_values/description".to_owned(),
926 "_kv_key_buildings/description".to_owned(),
927 "_kv_morale/description".to_owned(),
928 "_kv_naval_morale/description".to_owned(),
929 "_kv_naval_rules/description".to_owned(),
930 "_kv_rules/description".to_owned(),
931 "_kv_ui_tweakers/description".to_owned(),
932 "_kv_unit_ability_scaling_rules/description".to_owned(),
933 "_kv_winds_of_magic_params/description".to_owned(),
934 "achievements/game_expansion_key".to_owned(),
935 "ancillary_info/author".to_owned(),
936 "ancillary_info/comment".to_owned(),
937 "ancillary_info/historical_example".to_owned(),
938 "audio_entity_types/actor_type".to_owned(),
939 "audio_entity_types/game_expansion_key".to_owned(),
940 "audio_entity_types/switch".to_owned(),
941 "audio_markers/colour_blue".to_owned(),
942 "audio_markers/colour_green".to_owned(),
943 "audio_markers/colour_red".to_owned(),
944 "audio_metadata_tags/colour_blue".to_owned(),
945 "audio_metadata_tags/colour_green".to_owned(),
946 "audio_metadata_tags/colour_red".to_owned(),
947 "audio_metadata_tags/game_expansion_key".to_owned(),
948 "audio_metadata_tags/path".to_owned(),
949 "battle_animations_table/game_expansion_key".to_owned(),
950 "battle_personalities/game_expansion_key".to_owned(),
951 "battle_set_pieces/game_expansion_key".to_owned(),
952 "battle_skeletons/game_expansion_key".to_owned(),
953 "battles/game_expansion_key".to_owned(),
954 "battles/objectives_team_1".to_owned(),
955 "battles/objectives_team_2".to_owned(),
956 "building_chains/encyclopedia_group".to_owned(),
957 "building_chains/encyclopedia_include_in_index".to_owned(),
958 "building_culture_variants/flavour".to_owned(),
959 "building_levels/commodity_vol".to_owned(),
960 "cai_task_management_system_variables/description".to_owned(),
961 "campaign_ai_managers/description".to_owned(),
962 "campaign_map_playable_areas/game_expansion_key".to_owned(),
963 "campaign_map_playable_areas/maxy".to_owned(),
964 "campaign_map_playable_areas/miny".to_owned(),
965 "campaign_map_playable_areas/preview_border".to_owned(),
966 "campaign_payload_ui_details/comment".to_owned(),
967 "campaign_tree_types/game_expansion_key".to_owned(),
968 "campaign_variables/description".to_owned(),
969 "campaigns/game_expansion_key".to_owned(),
970 "cdir_events_mission_option_junctions/game_expansion_key".to_owned(),
971 "cdir_military_generator_configs/game_expansion_key".to_owned(),
972 "cdir_military_generator_templates/game_expansion_key".to_owned(),
973 "character_skill_level_to_effects_junctions/is_factionwide".to_owned(),
974 "character_skills/pre_battle_speech_parameter".to_owned(),
975 "character_traits/author".to_owned(),
976 "character_traits/comment".to_owned(),
977 "deployables/icon_name".to_owned(),
978 "diplomatic_relations_religion/relations_modifier".to_owned(),
979 "faction_groups/ui_icon".to_owned(),
980 "factions/game_expansion_key".to_owned(),
981 "frontend_faction_leaders/game_expansion_key".to_owned(),
982 "government_types/elected_ministers".to_owned(),
983 "government_types/hereditary_ministers".to_owned(),
984 "government_types/rank".to_owned(),
985 "land_units/game_expansion_key".to_owned(),
986 "loading_screen_quotes/game_expansion_key".to_owned(),
987 "main_units/audio_voiceover_culture".to_owned(),
988 "main_units/audio_voiceover_culture_override".to_owned(),
989
990 "models_building/cs2_file".to_owned(),
992 "models_building/model_file".to_owned(),
993 "models_building/tech_file".to_owned(),
994
995 "names/nobility".to_owned(),
996 "names_groups/Description".to_owned(),
997 "names_groups/game_expansion_key".to_owned(),
998 "pdlc/game_expansion_key".to_owned(),
999 "projectiles/game_expansion_key".to_owned(),
1000 "regions/in_encyclopedia".to_owned(),
1001 "regions/is_sea".to_owned(),
1002 "scripted_objectives/game_expansion_key".to_owned(),
1003 "start_pos_calendars/unique".to_owned(),
1004 "start_pos_character_ancillaries/unique".to_owned(),
1005 "start_pos_character_to_settlements/unique".to_owned(),
1006 "start_pos_character_traits/unique".to_owned(),
1007 "start_pos_diplomacy/relations_modifier".to_owned(),
1008 "start_pos_diplomacy/unique".to_owned(),
1009 "start_pos_faction_effect_bundles/unique".to_owned(),
1010 "start_pos_factions/unique".to_owned(),
1011 "start_pos_family_relationships/unique".to_owned(),
1012 "start_pos_land_units/unique".to_owned(),
1013 "start_pos_naval_units/unique".to_owned(),
1014 "start_pos_past_events/unique".to_owned(),
1015 "start_pos_region_religions/unique".to_owned(),
1016 "start_pos_region_slot_templates/unique".to_owned(),
1017 "start_pos_regions/unique".to_owned(),
1018 "start_pos_regions_to_unit_resources/unique".to_owned(),
1019 "start_pos_settlement_garrisons/unique".to_owned(),
1020 "start_pos_settlements/unique".to_owned(),
1021 "start_pos_technologies/unique".to_owned(),
1022 "start_pos_victory_conditions/unique".to_owned(),
1023 "technologies/in_encyclopedia".to_owned(),
1024 "technology_node_sets/game_expansion_key".to_owned(),
1025 "trait_info/applicable_to".to_owned(),
1026 "trigger_events/from_ui".to_owned(),
1027 "trigger_events/game_expansion_key".to_owned(),
1028 "videos/game_expansion_key".to_owned(),
1029 "warscape_animated/game_expansion_key".to_owned(),
1030 ],
1031 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
1032 compression_formats_supported: vec![
1033 CompressionFormat::Lzma1
1034 ],
1035 max_cs2_parsed_version: 0
1036 });
1037
1038 game_list.insert(KEY_THREE_KINGDOMS, GameInfo {
1040 key: KEY_THREE_KINGDOMS,
1041 display_name: DISPLAY_NAME_THREE_KINGDOMS,
1042 pfh_versions: {
1043 let mut data = HashMap::new();
1044 data.insert(PFHFileType::Boot, PFHVersion::PFH5);
1045 data.insert(PFHFileType::Release, PFHVersion::PFH5);
1046 data.insert(PFHFileType::Patch, PFHVersion::PFH5);
1047 data.insert(PFHFileType::Mod, PFHVersion::PFH5);
1048 data.insert(PFHFileType::Movie, PFHVersion::PFH5);
1049 data
1050 },
1051 schema_file_name: "schema_3k.ron".to_owned(),
1052 dependencies_cache_file_name: "3k.pak2".to_owned(),
1053 raw_db_version: 2,
1054 portrait_settings_version: None,
1055 supports_editing: true,
1056 db_tables_have_guid: true,
1057 locale_file_name: Some("language.txt".to_owned()),
1058 banned_packedfiles: vec![],
1059 icon_small: "gs_3k.png".to_owned(),
1060 icon_big: "gs_big_3k.png".to_owned(),
1061 vanilla_db_table_name_logic: VanillaDBTableNameLogic::DefaultName("data__".to_owned()),
1062
1063 install_data: {
1064 let mut data = HashMap::new();
1065 data.insert(InstallType::WinSteam, InstallData {
1066 vanilla_packs: vec![
1067 "audio.pack".to_owned(),
1068 "audio_bl.pack".to_owned(),
1069 "boot.pack".to_owned(),
1070 "data.pack".to_owned(),
1071 "data_bl.pack".to_owned(),
1072 "data_dlc06.pack".to_owned(),
1073 "data_dlc07.pack".to_owned(),
1074 "data_ep.pack".to_owned(),
1075 "data_mh.pack".to_owned(),
1076 "data_yt.pack".to_owned(),
1077 "data_yt_bl.pack".to_owned(),
1078 "database.pack".to_owned(),
1079 "fast.pack".to_owned(),
1080 "fast_bl.pack".to_owned(),
1081 "local_en.pack".to_owned(), "local_br.pack".to_owned(), "local_cz.pack".to_owned(), "local_ge.pack".to_owned(), "local_sp.pack".to_owned(), "local_fr.pack".to_owned(), "local_it.pack".to_owned(), "local_kr.pack".to_owned(), "local_pl.pack".to_owned(), "local_ru.pack".to_owned(), "local_tr.pack".to_owned(), "local_cn.pack".to_owned(), "local_zh.pack".to_owned(), "models.pack".to_owned(),
1095 "models2.pack".to_owned(),
1096 "movies.pack".to_owned(),
1097 "movies_bl.pack".to_owned(),
1098 "movies_dlc06.pack".to_owned(),
1099 "movies_ep.pack".to_owned(),
1100 "movies_mh.pack".to_owned(),
1101 "movies_wb.pack".to_owned(),
1102 "movies_yt.pack".to_owned(),
1103 "movies_yt_bl.pack".to_owned(),
1104 "movies2.pack".to_owned(),
1105 "shaders.pack".to_owned(),
1106 "shaders_bl.pack".to_owned(),
1107 "terrain.pack".to_owned(),
1108 "terrain2.pack".to_owned(),
1109 "terrain3.pack".to_owned(),
1110 "terrain4.pack".to_owned(),
1111 "terrain5.pack".to_owned(),
1112 "variants.pack".to_owned(),
1113 "variants_bl.pack".to_owned(),
1114 "variants_dds.pack".to_owned(),
1115 "variants_dds_bl.pack".to_owned(),
1116 "vegetation.pack".to_owned(),
1117 ],
1118 use_manifest: false,
1119 store_id: 779_340,
1120 store_id_ak: 1_012_260,
1121 executable: "Three_Kingdoms.exe".to_owned(),
1122 data_path: "data".to_owned(),
1123 language_path: "data".to_owned(),
1124 local_mods_path: "data".to_owned(),
1125 downloaded_mods_path: "./../../workshop/content/779340".to_owned(),
1126 config_folder: Some("ThreeKingdoms".to_owned()),
1127 });
1128
1129 data.insert(InstallType::LnxSteam, InstallData {
1130 vanilla_packs: vec![
1131 "audio.pack".to_owned(),
1132 "audio_bl.pack".to_owned(),
1133 "boot.pack".to_owned(),
1134 "data.pack".to_owned(),
1135 "data_bl.pack".to_owned(),
1136 "data_dlc06.pack".to_owned(),
1137 "data_dlc07.pack".to_owned(),
1138 "../../../data/data_dlc07.pack".to_owned(),
1139 "data_ep.pack".to_owned(),
1140 "data_mh.pack".to_owned(),
1141 "data_yt.pack".to_owned(),
1142 "data_yt_bl.pack".to_owned(),
1143 "database.pack".to_owned(),
1144 "fast.pack".to_owned(),
1145 "fast_bl.pack".to_owned(),
1146 "localisation/en/local_en.pack".to_owned(), "localisation/br/local_br.pack".to_owned(), "localisation/cz/local_cz.pack".to_owned(), "localisation/ge/local_ge.pack".to_owned(), "localisation/sp/local_sp.pack".to_owned(), "localisation/fr/local_fr.pack".to_owned(), "localisation/it/local_it.pack".to_owned(), "localisation/kr/local_kr.pack".to_owned(), "localisation/pl/local_pl.pack".to_owned(), "localisation/ru/local_ru.pack".to_owned(), "localisation/tr/local_tr.pack".to_owned(), "localisation/cn/local_cn.pack".to_owned(), "localisation/zh/local_zh.pack".to_owned(), "models.pack".to_owned(),
1160 "models2.pack".to_owned(),
1161 "movies.pack".to_owned(),
1162 "movies_bl.pack".to_owned(),
1163 "movies_dlc06.pack".to_owned(),
1164 "movies_ep.pack".to_owned(),
1165 "movies_mh.pack".to_owned(),
1166 "movies_wb.pack".to_owned(),
1167 "movies_yt.pack".to_owned(),
1168 "movies_yt_bl.pack".to_owned(),
1169 "movies2.pack".to_owned(),
1170 "shaders.pack".to_owned(),
1171 "shaders_bl.pack".to_owned(),
1172 "terrain.pack".to_owned(),
1173 "terrain2.pack".to_owned(),
1174 "terrain3.pack".to_owned(),
1175 "terrain4.pack".to_owned(),
1176 "terrain5.pack".to_owned(),
1177 "variants.pack".to_owned(),
1178 "variants_bl.pack".to_owned(),
1179 "variants_dds.pack".to_owned(),
1180 "variants_dds_bl.pack".to_owned(),
1181 "vegetation.pack".to_owned(),
1182 ],
1183 use_manifest: false,
1184 store_id: 779_340,
1185 store_id_ak: 1_012_260,
1186 executable: "ThreeKingdoms.sh".to_owned(),
1187 data_path: "share/data/data".to_owned(),
1188 language_path: "share/data/data/localisation".to_owned(),
1189 local_mods_path: "share/data/data".to_owned(),
1190 downloaded_mods_path: "./../../workshop/content/779340".to_owned(),
1191 config_folder: None,
1192 });
1193
1194 data
1195 },
1196 tool_vars: {
1197 let mut vars = HashMap::new();
1198 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
1199 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
1200 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
1201
1202 vars.insert("faction_painter_banner_table_name".to_owned(), "faction_banners_tables".to_owned());
1203 vars.insert("faction_painter_banner_table_definition".to_owned(), "banner_definition".to_owned());
1204 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
1205 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "primary_hex".to_owned());
1206 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "secondary_hex".to_owned());
1207 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "tertiary_hex".to_owned());
1208 vars.insert("faction_painter_banner_row_key".to_owned(), "banner_row".to_owned());
1209
1210 vars.insert("faction_painter_uniform_table_name".to_owned(), "faction_uniform_colours_tables".to_owned());
1211 vars.insert("faction_painter_uniform_table_definition".to_owned(), "uniform_definition".to_owned());
1212 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "faction_name".to_owned());
1213 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "primary_colour_hex".to_owned());
1214 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "secondary_colour_hex".to_owned());
1215 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "tertiary_colour_hex".to_owned());
1216 vars.insert("faction_painter_uniform_row_key".to_owned(), "uniform_row".to_owned());
1217 vars
1218 },
1219 lua_autogen_folder: None,
1220 ak_lost_fields: vec![
1221 "_kv_battle_ai_ability_usage_variables/description".to_owned(),
1222 "_kv_experience_bonuses/description".to_owned(),
1223 "_kv_fatigue/description".to_owned(),
1224 "_kv_fire_values/description".to_owned(),
1225 "_kv_key_buildings/description".to_owned(),
1226 "_kv_morale/description".to_owned(),
1227 "_kv_naval_morale/description".to_owned(),
1228 "_kv_naval_rules/description".to_owned(),
1229 "_kv_rules/description".to_owned(),
1230 "_kv_ui_tweakers/description".to_owned(),
1231 "_kv_unit_ability_scaling_rules/description".to_owned(),
1232 "_kv_winds_of_magic_params/description".to_owned(),
1233 "achievements/game_expansion_key".to_owned(),
1234 "advice_levels/locatable".to_owned(),
1235 "audio_entity_types/game_expansion_key".to_owned(),
1236 "audio_markers/colour_blue".to_owned(),
1237 "audio_markers/colour_green".to_owned(),
1238 "audio_markers/colour_red".to_owned(),
1239 "audio_metadata_tags/colour_blue".to_owned(),
1240 "audio_metadata_tags/colour_green".to_owned(),
1241 "audio_metadata_tags/colour_red".to_owned(),
1242 "audio_metadata_tags/game_expansion_key".to_owned(),
1243 "audio_metadata_tags/path".to_owned(),
1244 "battle_animations_table/game_expansion_key".to_owned(),
1245 "battle_personalities/game_expansion_key".to_owned(),
1246 "battle_set_pieces/game_expansion_key".to_owned(),
1247 "battle_skeletons/game_expansion_key".to_owned(),
1248 "battles/game_expansion_key".to_owned(),
1249 "battles/objectives_team_1".to_owned(),
1250 "battles/objectives_team_2".to_owned(),
1251 "building_chains/encyclopedia_group".to_owned(),
1252 "building_chains/encyclopedia_include_in_index".to_owned(),
1253 "building_culture_variants/flavour".to_owned(),
1254 "building_levels/commodity_vol".to_owned(),
1255 "cai_task_management_system_variables/description".to_owned(),
1256 "campaign_ai_managers/description".to_owned(),
1257 "campaign_diplomacy_automatic_deal_situations/comments".to_owned(),
1258 "campaign_effect_scopes/source_for_design_ref_only".to_owned(),
1259 "campaign_map_playable_areas/game_expansion_key".to_owned(),
1260 "campaign_map_playable_areas/maxy".to_owned(),
1261 "campaign_map_playable_areas/miny".to_owned(),
1262 "campaign_map_playable_areas/preview_border".to_owned(),
1263 "campaign_payload_ui_details/comment".to_owned(),
1264 "campaign_settlement_display_building_ids/sub_culture".to_owned(),
1265 "campaign_variables/description".to_owned(),
1266 "campaigns/game_expansion_key".to_owned(),
1267 "ccp_balance_values/description".to_owned(),
1268 "cdir_events_options/notes".to_owned(),
1269 "cdir_events_post_generation_conditions/notes".to_owned(),
1270 "cdir_events_targets/description".to_owned(),
1271 "cdir_military_generator_configs/game_expansion_key".to_owned(),
1272 "cdir_military_generator_templates/game_expansion_key".to_owned(),
1273 "ceo_initial_datas/template_manager".to_owned(),
1274 "character_skills/pre_battle_speech_parameter".to_owned(),
1275 "cultures/audio_state".to_owned(),
1276 "deployables/icon_name".to_owned(),
1277 "diplomatic_relations_religion/relations_modifier".to_owned(),
1278 "experience_triggers/condition".to_owned(),
1279 "experience_triggers/event".to_owned(),
1280 "experience_triggers/target".to_owned(),
1281 "factions/game_expansion_key".to_owned(),
1282 "hero_battle_conversation_strings/game_expansion_key".to_owned(),
1283 "land_units/game_expansion_key".to_owned(),
1284 "loading_screen_quotes/game_expansion_key".to_owned(),
1285 "loading_screen_speech_strings/game_expansion_key".to_owned(),
1286
1287 "models_building/cs2_file".to_owned(),
1289
1290 "names/nobility".to_owned(),
1291 "names_groups/Description".to_owned(),
1292 "names_groups/ID".to_owned(),
1293 "names_groups/game_expansion_key".to_owned(),
1294 "pdlc/game_expansion_key".to_owned(),
1295 "projectiles/game_expansion_key".to_owned(),
1296 "regions/in_encyclopedia".to_owned(),
1297 "regions/is_sea".to_owned(),
1298 "start_pos_calendars/unique".to_owned(),
1299 "start_pos_character_to_settlements/unique".to_owned(),
1300 "start_pos_factions/unique".to_owned(),
1301 "start_pos_family_relationships/unique".to_owned(),
1302 "start_pos_past_events/unique".to_owned(),
1303 "start_pos_region_religions/unique".to_owned(),
1304 "start_pos_region_slot_templates/unique".to_owned(),
1305 "start_pos_regions/unique".to_owned(),
1306 "start_pos_settlements/unique".to_owned(),
1307 "start_pos_technologies/unique".to_owned(),
1308 "start_pos_victory_conditions/unique".to_owned(),
1309 "taxes_effects_jct/ai_only".to_owned(),
1310 "technologies/in_encyclopedia".to_owned(),
1311 "trigger_events/from_ui".to_owned(),
1312 "trigger_events/game_expansion_key".to_owned(),
1313 "warscape_animated/game_expansion_key".to_owned(),
1314 ],
1315 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
1316 compression_formats_supported: vec![
1317 CompressionFormat::Lzma1
1318 ],
1319 max_cs2_parsed_version: 0
1320 });
1321
1322 game_list.insert(KEY_WARHAMMER_2, GameInfo {
1324 key: KEY_WARHAMMER_2,
1325 display_name: DISPLAY_NAME_WARHAMMER_2,
1326 pfh_versions: {
1327 let mut data = HashMap::new();
1328 data.insert(PFHFileType::Boot, PFHVersion::PFH5);
1329 data.insert(PFHFileType::Release, PFHVersion::PFH5);
1330 data.insert(PFHFileType::Patch, PFHVersion::PFH5);
1331 data.insert(PFHFileType::Mod, PFHVersion::PFH5);
1332 data.insert(PFHFileType::Movie, PFHVersion::PFH5);
1333 data
1334 },
1335 schema_file_name: "schema_wh2.ron".to_owned(),
1336 dependencies_cache_file_name: "wh2.pak2".to_owned(),
1337 raw_db_version: 2,
1338 portrait_settings_version: None,
1339 supports_editing: true,
1340 db_tables_have_guid: true,
1341 locale_file_name: Some("language.txt".to_owned()),
1342 banned_packedfiles: vec![],
1343 icon_small: "gs_wh2.png".to_owned(),
1344 icon_big: "gs_big_wh2.png".to_owned(),
1345 vanilla_db_table_name_logic: VanillaDBTableNameLogic::DefaultName("data__".to_owned()),
1346 install_data: {
1347 let mut data = HashMap::new();
1348 data.insert(InstallType::WinSteam, InstallData {
1349 vanilla_packs: vec![
1350 "audio_base.pack".to_owned(),
1351 "audio_base_2.pack".to_owned(),
1352 "audio_base_bl.pack".to_owned(),
1353 "audio_base_br.pack".to_owned(),
1354 "audio_base_cst.pack".to_owned(),
1355 "audio_base_m.pack".to_owned(),
1356 "audio_base_tk.pack".to_owned(),
1357
1358 "audio_en.pack".to_owned(),
1360 "audio_en_2.pack".to_owned(),
1361 "audio_en_br.pack".to_owned(),
1362 "audio_en_cst.pack".to_owned(),
1363 "audio_en_tk.pack".to_owned(),
1364
1365 "audio_ge.pack".to_owned(),
1370 "audio_ge_2.pack".to_owned(),
1371 "audio_ge_bm.pack".to_owned(),
1372 "audio_ge_br.pack".to_owned(),
1373 "audio_ge_cst.pack".to_owned(),
1374 "audio_ge_tk.pack".to_owned(),
1375 "audio_ge_we.pack".to_owned(),
1376
1377 "audio_sp.pack".to_owned(),
1379 "audio_sp_2.pack".to_owned(),
1380 "audio_sp_bm.pack".to_owned(),
1381 "audio_sp_br.pack".to_owned(),
1382 "audio_sp_cst.pack".to_owned(),
1383 "audio_sp_tk.pack".to_owned(),
1384 "audio_sp_we.pack".to_owned(),
1385
1386 "audio_fr.pack".to_owned(),
1388 "audio_fr_2.pack".to_owned(),
1389 "audio_fr_bm.pack".to_owned(),
1390 "audio_fr_br.pack".to_owned(),
1391 "audio_fr_cst.pack".to_owned(),
1392 "audio_fr_tk.pack".to_owned(),
1393 "audio_fr_we.pack".to_owned(),
1394
1395 "audio_it.pack".to_owned(),
1397 "audio_it_2.pack".to_owned(),
1398 "audio_it_bm.pack".to_owned(),
1399 "audio_it_br.pack".to_owned(),
1400 "audio_it_cst.pack".to_owned(),
1401 "audio_it_tk.pack".to_owned(),
1402 "audio_it_we.pack".to_owned(),
1403
1404 "audio_pl.pack".to_owned(),
1408 "audio_pl_2.pack".to_owned(),
1409 "audio_pl_bm.pack".to_owned(),
1410 "audio_pl_br.pack".to_owned(),
1411 "audio_pl_cst.pack".to_owned(),
1412 "audio_pl_tk.pack".to_owned(),
1413 "audio_pl_we.pack".to_owned(),
1414
1415 "audio_ru.pack".to_owned(),
1417 "audio_ru_2.pack".to_owned(),
1418 "audio_ru_bm.pack".to_owned(),
1419 "audio_ru_br.pack".to_owned(),
1420 "audio_ru_cst.pack".to_owned(),
1421 "audio_ru_tk.pack".to_owned(),
1422 "audio_ru_we.pack".to_owned(),
1423
1424 "boot.pack".to_owned(),
1429 "campaign_variants.pack".to_owned(),
1430 "campaign_variants_2.pack".to_owned(),
1431 "campaign_variants_bl.pack".to_owned(),
1432 "campaign_variants_pro09_.pack".to_owned(),
1433 "campaign_variants_sb.pack".to_owned(),
1434 "campaign_variants_sf.pack".to_owned(),
1435 "campaign_variants_twa02_.pack".to_owned(),
1436 "campaign_variants_wp_.pack".to_owned(),
1437 "data.pack".to_owned(),
1438 "data_1.pack".to_owned(),
1439 "data_2.pack".to_owned(),
1440 "data_bl.pack".to_owned(),
1441 "data_bm.pack".to_owned(),
1442 "data_gc.pack".to_owned(),
1443 "data_hb.pack".to_owned(),
1444 "data_pro09_.pack".to_owned(),
1445 "data_pw.pack".to_owned(),
1446 "data_sb.pack".to_owned(),
1447 "data_sc.pack".to_owned(),
1448 "data_sf.pack".to_owned(),
1449 "data_tk.pack".to_owned(),
1450 "data_twa01_.pack".to_owned(),
1451 "data_twa02_.pack".to_owned(),
1452 "data_we.pack".to_owned(),
1453 "data_wp_.pack".to_owned(),
1454
1455 "local_en.pack".to_owned(), "local_br.pack".to_owned(), "local_cz.pack".to_owned(), "local_ge.pack".to_owned(), "local_sp.pack".to_owned(), "local_fr.pack".to_owned(), "local_it.pack".to_owned(), "local_kr.pack".to_owned(), "local_pl.pack".to_owned(), "local_ru.pack".to_owned(), "local_tr.pack".to_owned(), "local_cn.pack".to_owned(), "local_zh.pack".to_owned(), "local_en_2.pack".to_owned(), "local_br_2.pack".to_owned(), "local_cz_2.pack".to_owned(), "local_ge_2.pack".to_owned(), "local_sp_2.pack".to_owned(), "local_fr_2.pack".to_owned(), "local_it_2.pack".to_owned(), "local_kr_2.pack".to_owned(), "local_pl_2.pack".to_owned(), "local_ru_2.pack".to_owned(), "local_tr_2.pack".to_owned(), "local_cn_2.pack".to_owned(), "local_zh_2.pack".to_owned(), "local_en_gc.pack".to_owned(), "local_br_gc.pack".to_owned(), "local_cz_gc.pack".to_owned(), "local_ge_gc.pack".to_owned(), "local_sp_gc.pack".to_owned(), "local_fr_gc.pack".to_owned(), "local_it_gc.pack".to_owned(), "local_kr_gc.pack".to_owned(), "local_pl_gc.pack".to_owned(), "local_ru_gc.pack".to_owned(), "local_tr_gc.pack".to_owned(), "local_cn_gc.pack".to_owned(), "local_zh_gc.pack".to_owned(), "models.pack".to_owned(),
1498 "models_2.pack".to_owned(),
1499 "models_gc.pack".to_owned(),
1500 "models2.pack".to_owned(),
1501 "models2_2.pack".to_owned(),
1502 "models2_gc.pack".to_owned(),
1503 "movies.pack".to_owned(),
1504 "movies_2.pack".to_owned(),
1505 "movies_sf.pack".to_owned(),
1506 "movies2.pack".to_owned(),
1507 "movies3.pack".to_owned(),
1508 "shaders.pack".to_owned(),
1509 "shaders_bl.pack".to_owned(),
1510 "terrain.pack".to_owned(),
1511 "terrain_2.pack".to_owned(),
1512 "terrain_gc.pack".to_owned(),
1513 "terrain2.pack".to_owned(),
1514 "terrain2_2.pack".to_owned(),
1515 "terrain2_gc.pack".to_owned(),
1516 "terrain3.pack".to_owned(),
1517 "terrain3_2.pack".to_owned(),
1518 "terrain3_gc.pack".to_owned(),
1519 "terrain4.pack".to_owned(),
1520 "terrain4_2.pack".to_owned(),
1521 "terrain5.pack".to_owned(),
1522 "terrain7.pack".to_owned(),
1523 "terrain7_2.pack".to_owned(),
1524 "terrain7_gc.pack".to_owned(),
1525 "terrain8.pack".to_owned(),
1526 "terrain8_2.pack".to_owned(),
1527 "terrain9.pack".to_owned(),
1528 "variants.pack".to_owned(),
1529 "variants_2.pack".to_owned(),
1530 "variants_bl.pack".to_owned(),
1531 "variants_dds.pack".to_owned(),
1532 "variants_dds_2.pack".to_owned(),
1533 "variants_dds_bl.pack".to_owned(),
1534 "variants_dds_gc.pack".to_owned(),
1535 "variants_dds_sb.pack".to_owned(),
1536 "variants_dds_sf.pack".to_owned(),
1537 "variants_dds_wp_.pack".to_owned(),
1538 "variants_dds2.pack".to_owned(),
1539 "variants_dds2_2.pack".to_owned(),
1540 "variants_dds2_sb.pack".to_owned(),
1541 "variants_dds2_sc.pack".to_owned(),
1542 "variants_dds2_sf_.pack".to_owned(),
1543 "variants_dds2_wp_.pack".to_owned(),
1544 "variants_gc.pack".to_owned(),
1545 "variants_hb.pack".to_owned(),
1546 "variants_sb.pack".to_owned(),
1547 "variants_sc.pack".to_owned(),
1548 "variants_sf_.pack".to_owned(),
1549 "variants_wp_.pack".to_owned(),
1550 "warmachines.pack".to_owned(),
1551 "warmachines_2.pack".to_owned(),
1552 "warmachines_hb.pack".to_owned(),
1553 ],
1554 use_manifest: true,
1555 store_id: 594_570,
1556 store_id_ak: 651_460,
1557 executable: "Warhammer2.exe".to_owned(),
1558 data_path: "data".to_owned(),
1559 language_path: "data".to_owned(),
1560 local_mods_path: "data".to_owned(),
1561 downloaded_mods_path: "./../../workshop/content/594570".to_owned(),
1562 config_folder: Some("Warhammer2".to_owned())
1563 });
1564 data.insert(InstallType::LnxSteam, InstallData {
1566 vanilla_packs: vec![
1567 "audio.pack".to_owned(),
1568 "audio_2.pack".to_owned(),
1569 "audio_bl.pack".to_owned(),
1570 "audio_bm.pack".to_owned(),
1571 "audio_br.pack".to_owned(),
1572 "audio_cst.pack".to_owned(),
1573 "audio_gc.pack".to_owned(),
1574 "audio_m.pack".to_owned(),
1575 "audio_tk.pack".to_owned(),
1576 "audio_we.pack".to_owned(),
1577 "boot.pack".to_owned(),
1578 "campaign_variants.pack".to_owned(),
1579 "campaign_variants_2.pack".to_owned(),
1580 "campaign_variants_bl.pack".to_owned(),
1581 "campaign_variants_pro09_.pack".to_owned(),
1582 "campaign_variants_sb.pack".to_owned(),
1583 "campaign_variants_sf.pack".to_owned(),
1584 "campaign_variants_twa02_.pack".to_owned(),
1585 "campaign_variants_wp_.pack".to_owned(),
1586 "data.pack".to_owned(),
1587 "data_1.pack".to_owned(),
1588 "data_2.pack".to_owned(),
1589 "data_bl.pack".to_owned(),
1590 "data_bm.pack".to_owned(),
1591 "data_gc.pack".to_owned(),
1592 "data_hb.pack".to_owned(),
1593 "data_pro09_.pack".to_owned(),
1594 "data_pw.pack".to_owned(),
1595 "data_sb.pack".to_owned(),
1596 "data_sc.pack".to_owned(),
1597 "data_sf.pack".to_owned(),
1598 "data_tk.pack".to_owned(),
1599 "data_twa01_.pack".to_owned(),
1600 "data_twa02_.pack".to_owned(),
1601 "data_we.pack".to_owned(),
1602 "data_wp_.pack".to_owned(),
1603
1604 "localisation/en/local_en.pack".to_owned(), "localisation/br/local_br.pack".to_owned(), "localisation/cz/local_cz.pack".to_owned(), "localisation/ge/local_ge.pack".to_owned(), "localisation/sp/local_sp.pack".to_owned(), "localisation/fr/local_fr.pack".to_owned(), "localisation/it/local_it.pack".to_owned(), "localisation/kr/local_kr.pack".to_owned(), "localisation/pl/local_pl.pack".to_owned(), "localisation/ru/local_ru.pack".to_owned(), "localisation/tr/local_tr.pack".to_owned(), "localisation/cn/local_cn.pack".to_owned(), "localisation/zh/local_zh.pack".to_owned(), "localisation/en/local_en_2.pack".to_owned(), "localisation/br/local_br_2.pack".to_owned(), "localisation/cz/local_cz_2.pack".to_owned(), "localisation/ge/local_ge_2.pack".to_owned(), "localisation/sp/local_sp_2.pack".to_owned(), "localisation/fr/local_fr_2.pack".to_owned(), "localisation/it/local_it_2.pack".to_owned(), "localisation/kr/local_kr_2.pack".to_owned(), "localisation/pl/local_pl_2.pack".to_owned(), "localisation/ru/local_ru_2.pack".to_owned(), "localisation/tr/local_tr_2.pack".to_owned(), "localisation/cn/local_cn_2.pack".to_owned(), "localisation/zh/local_zh_2.pack".to_owned(), "localisation/en/local_en_gc.pack".to_owned(), "localisation/br/local_br_gc.pack".to_owned(), "localisation/cz/local_cz_gc.pack".to_owned(), "localisation/ge/local_ge_gc.pack".to_owned(), "localisation/sp/local_sp_gc.pack".to_owned(), "localisation/fr/local_fr_gc.pack".to_owned(), "localisation/it/local_it_gc.pack".to_owned(), "localisation/kr/local_kr_gc.pack".to_owned(), "localisation/pl/local_pl_gc.pack".to_owned(), "localisation/ru/local_ru_gc.pack".to_owned(), "localisation/tr/local_tr_gc.pack".to_owned(), "localisation/cn/local_cn_gc.pack".to_owned(), "localisation/zh/local_zh_gc.pack".to_owned(), "models.pack".to_owned(),
1647 "models_2.pack".to_owned(),
1648 "models_gc.pack".to_owned(),
1649 "models2.pack".to_owned(),
1650 "models2_2.pack".to_owned(),
1651 "models2_gc.pack".to_owned(),
1652 "movies.pack".to_owned(),
1653 "movies_2.pack".to_owned(),
1654 "movies_sf.pack".to_owned(),
1655 "movies2.pack".to_owned(),
1656 "movies3.pack".to_owned(),
1657 "shaders.pack".to_owned(),
1658 "shaders_bl.pack".to_owned(),
1659 "terrain.pack".to_owned(),
1660 "terrain_2.pack".to_owned(),
1661 "terrain_gc.pack".to_owned(),
1662 "terrain2.pack".to_owned(),
1663 "terrain2_2.pack".to_owned(),
1664 "terrain2_gc.pack".to_owned(),
1665 "terrain3.pack".to_owned(),
1666 "terrain3_2.pack".to_owned(),
1667 "terrain3_gc.pack".to_owned(),
1668 "terrain4.pack".to_owned(),
1669 "terrain4_2.pack".to_owned(),
1670 "terrain5.pack".to_owned(),
1671 "terrain7.pack".to_owned(),
1672 "terrain7_2.pack".to_owned(),
1673 "terrain7_gc.pack".to_owned(),
1674 "terrain8.pack".to_owned(),
1675 "terrain8_2.pack".to_owned(),
1676 "terrain9.pack".to_owned(),
1677 "variants.pack".to_owned(),
1678 "variants_2.pack".to_owned(),
1679 "variants_bl.pack".to_owned(),
1680 "variants_dds.pack".to_owned(),
1681 "variants_dds_2.pack".to_owned(),
1682 "variants_dds_bl.pack".to_owned(),
1683 "variants_dds_gc.pack".to_owned(),
1684 "variants_dds_sb.pack".to_owned(),
1685 "variants_dds_sf.pack".to_owned(),
1686 "variants_dds_wp_.pack".to_owned(),
1687 "variants_dds2.pack".to_owned(),
1688 "variants_dds2_2.pack".to_owned(),
1689 "variants_dds2_sb.pack".to_owned(),
1690 "variants_dds2_sc.pack".to_owned(),
1691 "variants_dds2_sf_.pack".to_owned(),
1692 "variants_dds2_wp_.pack".to_owned(),
1693 "variants_gc.pack".to_owned(),
1694 "variants_hb.pack".to_owned(),
1695 "variants_sb.pack".to_owned(),
1696 "variants_sc.pack".to_owned(),
1697 "variants_sf_.pack".to_owned(),
1698 "variants_wp_.pack".to_owned(),
1699 "warmachines.pack".to_owned(),
1700 "warmachines_2.pack".to_owned(),
1701 "warmachines_hb.pack".to_owned(),
1702 ],
1703 use_manifest: false,
1704 store_id: 594_570,
1705 store_id_ak: 651_460,
1706 executable: "TotalWarhammer2.sh".to_owned(),
1707 data_path: "share/data/data".to_owned(),
1708 language_path: "share/data/data/localisation".to_owned(),
1709 local_mods_path: "share/data/data".to_owned(),
1710 downloaded_mods_path: "./../../workshop/content/594570".to_owned(),
1711 config_folder: None,
1712 });
1713
1714 data
1715 },
1716 tool_vars: {
1717 let mut vars = HashMap::new();
1718 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
1719 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
1720 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
1721
1722 vars.insert("faction_painter_banner_table_name".to_owned(), "faction_banners_tables".to_owned());
1723 vars.insert("faction_painter_banner_table_definition".to_owned(), "banner_definition".to_owned());
1724 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
1725 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "primary_hex".to_owned());
1726 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "secondary_hex".to_owned());
1727 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "tertiary_hex".to_owned());
1728 vars.insert("faction_painter_banner_row_key".to_owned(), "banner_row".to_owned());
1729
1730 vars.insert("faction_painter_uniform_table_name".to_owned(), "faction_uniform_colours_tables".to_owned());
1731 vars.insert("faction_painter_uniform_table_definition".to_owned(), "uniform_definition".to_owned());
1732 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "faction_name".to_owned());
1733 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "primary_colour_hex".to_owned());
1734 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "secondary_colour_hex".to_owned());
1735 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "tertiary_colour_hex".to_owned());
1736 vars.insert("faction_painter_uniform_row_key".to_owned(), "uniform_row".to_owned());
1737 vars
1738 },
1739 lua_autogen_folder: None,
1740 ak_lost_fields: vec![
1741 "_kv_battle_ai_ability_usage_variables/description".to_owned(),
1742 "_kv_experience_bonuses/description".to_owned(),
1743 "_kv_fatigue/description".to_owned(),
1744 "_kv_fire_values/description".to_owned(),
1745 "_kv_key_buildings/description".to_owned(),
1746 "_kv_morale/description".to_owned(),
1747 "_kv_naval_morale/description".to_owned(),
1748 "_kv_naval_rules/description".to_owned(),
1749 "_kv_rules/description".to_owned(),
1750 "_kv_ui_tweakers/description".to_owned(),
1751 "_kv_unit_ability_scaling_rules/description".to_owned(),
1752 "_kv_winds_of_magic_params/description".to_owned(),
1753 "achievements/game_expansion_key".to_owned(),
1754 "advice_levels/locatable".to_owned(),
1755 "ancillary_info/author".to_owned(),
1756 "ancillary_info/comment".to_owned(),
1757 "ancillary_info/historical_example".to_owned(),
1758 "audio_entity_types/game_expansion_key".to_owned(),
1759 "audio_markers/colour_blue".to_owned(),
1760 "audio_markers/colour_green".to_owned(),
1761 "audio_markers/colour_red".to_owned(),
1762 "audio_metadata_tags/colour_blue".to_owned(),
1763 "audio_metadata_tags/colour_green".to_owned(),
1764 "audio_metadata_tags/colour_red".to_owned(),
1765 "audio_metadata_tags/game_expansion_key".to_owned(),
1766 "audio_metadata_tags/path".to_owned(),
1767 "battle_animations_table/game_expansion_key".to_owned(),
1768 "battle_personalities/game_expansion_key".to_owned(),
1769 "battle_set_pieces/game_expansion_key".to_owned(),
1770 "battle_skeletons/game_expansion_key".to_owned(),
1771 "battles/game_expansion_key".to_owned(),
1772 "battles/objectives_team_1".to_owned(),
1773 "battles/objectives_team_2".to_owned(),
1774 "building_chains/encyclopedia_group".to_owned(),
1775 "building_chains/encyclopedia_include_in_index".to_owned(),
1776 "building_culture_variants/flavour".to_owned(),
1777 "building_levels/commodity_vol".to_owned(),
1778 "campaign_ai_managers/description".to_owned(),
1779 "campaign_map_playable_areas/game_expansion_key".to_owned(),
1780 "campaign_map_playable_areas/maxy".to_owned(),
1781 "campaign_map_playable_areas/miny".to_owned(),
1782 "campaign_map_playable_areas/preview_border".to_owned(),
1783 "campaign_payload_ui_details/comment".to_owned(),
1784 "campaign_settlement_display_building_ids/sub_culture".to_owned(),
1785 "campaign_tree_types/game_expansion_key".to_owned(),
1786 "campaign_variables/description".to_owned(),
1787 "campaigns/game_expansion_key".to_owned(),
1788 "cdir_events_mission_option_junctions/game_expansion_key".to_owned(),
1789 "cdir_military_generator_configs/game_expansion_key".to_owned(),
1790 "cdir_military_generator_templates/game_expansion_key".to_owned(),
1791 "character_skill_level_to_effects_junctions/is_factionwide".to_owned(),
1792 "character_skills/pre_battle_speech_parameter".to_owned(),
1793 "character_traits/author".to_owned(),
1794 "character_traits/comment".to_owned(),
1795 "deployables/icon_name".to_owned(),
1796 "diplomatic_relations_religion/relations_modifier".to_owned(),
1797 "faction_groups/ui_icon".to_owned(),
1798 "factions/game_expansion_key".to_owned(),
1799 "frontend_faction_leaders/game_expansion_key".to_owned(),
1800 "government_types/elected_ministers".to_owned(),
1801 "government_types/hereditary_ministers".to_owned(),
1802 "government_types/rank".to_owned(),
1803 "land_units/game_expansion_key".to_owned(),
1804 "loading_screen_quotes/game_expansion_key".to_owned(),
1805 "mercenary_pool_to_groups_junctions/game_expansion_key".to_owned(),
1806
1807 "models_building/cs2_file".to_owned(),
1809 "models_building/model_file".to_owned(),
1810 "models_building/tech_file".to_owned(),
1811
1812 "names/nobility".to_owned(),
1813 "names_groups/Description".to_owned(),
1814 "names_groups/ID".to_owned(),
1815 "names_groups/game_expansion_key".to_owned(),
1816 "pdlc/game_expansion_key".to_owned(),
1817 "projectiles/game_expansion_key".to_owned(),
1818 "regions/in_encyclopedia".to_owned(),
1819 "regions/is_sea".to_owned(),
1820 "ritual_chains/description".to_owned(),
1821 "scripted_objectives/game_expansion_key".to_owned(),
1822 "start_pos_calendars/unique".to_owned(),
1823 "start_pos_character_ancillaries/unique".to_owned(),
1824 "start_pos_character_to_settlements/unique".to_owned(),
1825 "start_pos_character_traits/unique".to_owned(),
1826 "start_pos_diplomacy/relations_modifier".to_owned(),
1827 "start_pos_diplomacy/unique".to_owned(),
1828 "start_pos_faction_effect_bundles/unique".to_owned(),
1829 "start_pos_factions/unique".to_owned(),
1830 "start_pos_family_relationships/unique".to_owned(),
1831 "start_pos_land_units/unique".to_owned(),
1832 "start_pos_naval_units/unique".to_owned(),
1833 "start_pos_past_events/unique".to_owned(),
1834 "start_pos_region_religions/unique".to_owned(),
1835 "start_pos_region_slot_templates/unique".to_owned(),
1836 "start_pos_regions/unique".to_owned(),
1837 "start_pos_regions_to_unit_resources/unique".to_owned(),
1838 "start_pos_settlement_garrisons/unique".to_owned(),
1839 "start_pos_settlements/unique".to_owned(),
1840 "start_pos_technologies/unique".to_owned(),
1841 "start_pos_victory_conditions/unique".to_owned(),
1842 "technologies/in_encyclopedia".to_owned(),
1843 "technology_node_sets/game_expansion_key".to_owned(),
1844 "trait_info/applicable_to".to_owned(),
1845 "trigger_events/from_ui".to_owned(),
1846 "trigger_events/game_expansion_key".to_owned(),
1847 "videos/game_expansion_key".to_owned(),
1848 "warscape_animated/game_expansion_key".to_owned(),
1849 ],
1850 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
1851 compression_formats_supported: vec![
1852 CompressionFormat::Lzma1
1853 ],
1854 max_cs2_parsed_version: 0
1855 });
1856
1857 game_list.insert(KEY_WARHAMMER, GameInfo {
1859 key: KEY_WARHAMMER,
1860 display_name: DISPLAY_NAME_WARHAMMER,
1861 pfh_versions: {
1862 let mut data = HashMap::new();
1863 data.insert(PFHFileType::Boot, PFHVersion::PFH4);
1864 data.insert(PFHFileType::Release, PFHVersion::PFH4);
1865 data.insert(PFHFileType::Patch, PFHVersion::PFH4);
1866 data.insert(PFHFileType::Mod, PFHVersion::PFH4);
1867 data.insert(PFHFileType::Movie, PFHVersion::PFH4);
1868 data
1869 },
1870 schema_file_name: "schema_wh.ron".to_owned(),
1871 dependencies_cache_file_name: "wh.pak2".to_owned(),
1872 raw_db_version: 2,
1873 portrait_settings_version: None,
1874 supports_editing: true,
1875 db_tables_have_guid: true,
1876 locale_file_name: Some("language.txt".to_owned()),
1877 banned_packedfiles: vec![],
1878 icon_small: "gs_wh.png".to_owned(),
1879 icon_big: "gs_big_wh.png".to_owned(),
1880 vanilla_db_table_name_logic: VanillaDBTableNameLogic::FolderName,
1881 install_data: {
1882 let mut data = HashMap::new();
1883 data.insert(InstallType::WinSteam, InstallData {
1884 vanilla_packs: vec![],
1885 use_manifest: true,
1886 store_id: 364_360,
1887 store_id_ak: 463_690,
1888 executable: "Warhammer.exe".to_owned(),
1889 data_path: "data".to_owned(),
1890 language_path: "data".to_owned(),
1891 local_mods_path: "data".to_owned(),
1892 downloaded_mods_path: "./../../workshop/content/364360".to_owned(),
1893 config_folder: Some("Warhammer".to_owned())
1894 });
1895
1896 data.insert(InstallType::LnxSteam, InstallData {
1897 vanilla_packs: vec![
1898 "boot.pack".to_owned(),
1899 "data.pack".to_owned(),
1900 "data_bl.pack".to_owned(),
1901 "data_bm.pack".to_owned(),
1902 "data_ch.pack".to_owned(),
1903 "data_m.pack".to_owned(),
1904 "data_no.pack".to_owned(),
1905 "data_we.pack".to_owned(),
1906 "data_we_m.pack".to_owned(),
1907
1908 "localisation/local_en.pack".to_owned(), "localisation/local_br.pack".to_owned(), "localisation/local_cz.pack".to_owned(), "localisation/local_ge.pack".to_owned(), "localisation/local_sp.pack".to_owned(), "localisation/local_fr.pack".to_owned(), "localisation/local_it.pack".to_owned(), "localisation/local_kr.pack".to_owned(), "localisation/local_pl.pack".to_owned(), "localisation/local_ru.pack".to_owned(), "localisation/local_tr.pack".to_owned(), "localisation/local_cn.pack".to_owned(), "localisation/local_zh.pack".to_owned(), "localisation/local_en_bl.pack".to_owned(), "localisation/local_br_bl.pack".to_owned(), "localisation/local_cz_bl.pack".to_owned(), "localisation/local_ge_bl.pack".to_owned(), "localisation/local_sp_bl.pack".to_owned(), "localisation/local_fr_bl.pack".to_owned(), "localisation/local_it_bl.pack".to_owned(), "localisation/local_kr_bl.pack".to_owned(), "localisation/local_pl_bl.pack".to_owned(), "localisation/local_ru_bl.pack".to_owned(), "localisation/local_tr_bl.pack".to_owned(), "localisation/local_cn_bl.pack".to_owned(), "localisation/local_zh_bl.pack".to_owned(), "localisation/local_en_bm.pack".to_owned(), "localisation/local_br_bm.pack".to_owned(), "localisation/local_cz_bm.pack".to_owned(), "localisation/local_ge_bm.pack".to_owned(), "localisation/local_sp_bm.pack".to_owned(), "localisation/local_fr_bm.pack".to_owned(), "localisation/local_it_bm.pack".to_owned(), "localisation/local_kr_bm.pack".to_owned(), "localisation/local_pl_bm.pack".to_owned(), "localisation/local_ru_bm.pack".to_owned(), "localisation/local_tr_bm.pack".to_owned(), "localisation/local_cn_bm.pack".to_owned(), "localisation/local_zh_bm.pack".to_owned(), "localisation/local_en_we.pack".to_owned(), "localisation/local_br_we.pack".to_owned(), "localisation/local_cz_we.pack".to_owned(), "localisation/local_ge_we.pack".to_owned(), "localisation/local_sp_we.pack".to_owned(), "localisation/local_fr_we.pack".to_owned(), "localisation/local_it_we.pack".to_owned(), "localisation/local_kr_we.pack".to_owned(), "localisation/local_pl_we.pack".to_owned(), "localisation/local_ru_we.pack".to_owned(), "localisation/local_tr_we.pack".to_owned(), "localisation/local_cn_we.pack".to_owned(), "localisation/local_zh_we.pack".to_owned(), "models.pack".to_owned(),
1965 "movies.pack".to_owned(),
1966 "shaders.pack".to_owned(),
1967 "shaders_bl.pack".to_owned(),
1968 "terrain.pack".to_owned(),
1969 "terrain2.pack".to_owned(),
1970 "terrain3.pack".to_owned(),
1971 "terrain4.pack".to_owned(),
1972 "terrain5.pack".to_owned(),
1973 "terrain6.pack".to_owned(),
1974 "terrain7.pack".to_owned(),
1975 "variants.pack".to_owned(),
1976 "variants_bl.pack".to_owned(),
1977 "variants_dds.pack".to_owned(),
1978 "variants_dds_bl.pack".to_owned(),
1979 ],
1980 use_manifest: false,
1981 store_id: 364_360,
1982 store_id_ak: 463_690,
1983 executable: "TotalWarhammer.sh".to_owned(),
1984 data_path: "share/data/data".to_owned(),
1985 language_path: "share/data/data".to_owned(),
1986 local_mods_path: "share/data/data".to_owned(),
1987 downloaded_mods_path: "./../../workshop/content/364360".to_owned(),
1988 config_folder: None,
1989 });
1990
1991 data
1992 },
1993 tool_vars: {
1994 let mut vars = HashMap::new();
1995 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
1996 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
1997 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
1998
1999 vars.insert("faction_painter_banner_table_name".to_owned(), "faction_banners_tables".to_owned());
2000 vars.insert("faction_painter_banner_table_definition".to_owned(), "banner_definition".to_owned());
2001 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
2002 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "primary_hex".to_owned());
2003 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "secondary_hex".to_owned());
2004 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "tertiary_hex".to_owned());
2005 vars.insert("faction_painter_banner_row_key".to_owned(), "banner_row".to_owned());
2006
2007 vars.insert("faction_painter_uniform_table_name".to_owned(), "faction_uniform_colours_tables".to_owned());
2008 vars.insert("faction_painter_uniform_table_definition".to_owned(), "uniform_definition".to_owned());
2009 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "faction_name".to_owned());
2010 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "primary_colour_hex".to_owned());
2011 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "secondary_colour_hex".to_owned());
2012 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "tertiary_colour_hex".to_owned());
2013 vars.insert("faction_painter_uniform_row_key".to_owned(), "uniform_row".to_owned());
2014 vars
2015 },
2016 lua_autogen_folder: None,
2017 ak_lost_fields: vec![
2018 "_kv_battle_ai_ability_usage_variables/description".to_owned(),
2019 "_kv_experience_bonuses/description".to_owned(),
2020 "_kv_fatigue/description".to_owned(),
2021 "_kv_fire_values/description".to_owned(),
2022 "_kv_key_buildings/description".to_owned(),
2023 "_kv_morale/description".to_owned(),
2024 "_kv_naval_morale/description".to_owned(),
2025 "_kv_naval_rules/description".to_owned(),
2026 "_kv_rules/description".to_owned(),
2027 "_kv_ui_tweakers/description".to_owned(),
2028 "_kv_unit_ability_scaling_rules/description".to_owned(),
2029 "_kv_winds_of_magic_params/description".to_owned(),
2030 "achievements/game_expansion_key".to_owned(),
2031 "advice_levels/locatable".to_owned(),
2032 "ancillary_info/author".to_owned(),
2033 "ancillary_info/comment".to_owned(),
2034 "ancillary_info/historical_example".to_owned(),
2035 "audio_entity_types/game_expansion_key".to_owned(),
2036 "audio_markers/colour_blue".to_owned(),
2037 "audio_markers/colour_green".to_owned(),
2038 "audio_markers/colour_red".to_owned(),
2039 "audio_metadata_tags/colour_blue".to_owned(),
2040 "audio_metadata_tags/colour_green".to_owned(),
2041 "audio_metadata_tags/colour_red".to_owned(),
2042 "audio_metadata_tags/game_expansion_key".to_owned(),
2043 "audio_metadata_tags/path".to_owned(),
2044 "battle_animations_table/game_expansion_key".to_owned(),
2045 "battle_personalities/game_expansion_key".to_owned(),
2046 "battle_set_pieces/game_expansion_key".to_owned(),
2047 "battle_skeletons/game_expansion_key".to_owned(),
2048 "battles/game_expansion_key".to_owned(),
2049 "battles/objectives_team_1".to_owned(),
2050 "battles/objectives_team_2".to_owned(),
2051 "building_chains/encyclopedia_group".to_owned(),
2052 "building_chains/encyclopedia_include_in_index".to_owned(),
2053 "building_culture_variants/flavour".to_owned(),
2054 "building_levels/commodity_vol".to_owned(),
2055 "campaign_ai_managers/description".to_owned(),
2056 "campaign_map_playable_areas/game_expansion_key".to_owned(),
2057 "campaign_map_playable_areas/maxy".to_owned(),
2058 "campaign_map_playable_areas/miny".to_owned(),
2059 "campaign_map_playable_areas/preview_border".to_owned(),
2060 "campaign_payload_ui_details/comment".to_owned(),
2061 "campaign_settlement_display_building_ids/sub_culture".to_owned(),
2062 "campaign_tree_types/game_expansion_key".to_owned(),
2063 "campaign_variables/description".to_owned(),
2064 "campaigns/game_expansion_key".to_owned(),
2065 "cdir_events_mission_option_junctions/game_expansion_key".to_owned(),
2066 "cdir_military_generator_configs/game_expansion_key".to_owned(),
2067 "cdir_military_generator_templates/game_expansion_key".to_owned(),
2068 "character_skill_level_to_effects_junctions/is_factionwide".to_owned(),
2069 "character_skills/pre_battle_speech_parameter".to_owned(),
2070 "character_traits/author".to_owned(),
2071 "character_traits/comment".to_owned(),
2072 "deployables/icon_name".to_owned(),
2073 "diplomatic_relations_religion/relations_modifier".to_owned(),
2074 "experience_triggers/condition".to_owned(),
2075 "experience_triggers/event".to_owned(),
2076 "experience_triggers/target".to_owned(),
2077 "faction_groups/ui_icon".to_owned(),
2078 "factions/game_expansion_key".to_owned(),
2079 "frontend_faction_leaders/game_expansion_key".to_owned(),
2080 "government_types/elected_ministers".to_owned(),
2081 "government_types/hereditary_ministers".to_owned(),
2082 "government_types/rank".to_owned(),
2083 "land_units/game_expansion_key".to_owned(),
2084 "loading_screen_quotes/game_expansion_key".to_owned(),
2085 "mercenary_pool_to_groups_junctions/game_expansion_key".to_owned(),
2086 "names/nobility".to_owned(),
2087 "names_groups/Description".to_owned(),
2088 "names_groups/ID".to_owned(),
2089 "names_groups/game_expansion_key".to_owned(),
2090 "pdlc/game_expansion_key".to_owned(),
2091
2092 "plagues/military_force_effects_bundle".to_owned(),
2094 "plagues/region_effect_bundle".to_owned(),
2095
2096 "projectiles/game_expansion_key".to_owned(),
2097 "regions/in_encyclopedia".to_owned(),
2098 "regions/is_sea".to_owned(),
2099 "scripted_objectives/game_expansion_key".to_owned(),
2100 "start_pos_calendars/unique".to_owned(),
2101 "start_pos_character_ancillaries/unique".to_owned(),
2102 "start_pos_character_to_settlements/unique".to_owned(),
2103 "start_pos_character_traits/unique".to_owned(),
2104 "start_pos_diplomacy/relations_modifier".to_owned(),
2105 "start_pos_diplomacy/unique".to_owned(),
2106 "start_pos_factions/unique".to_owned(),
2107 "start_pos_land_units/unique".to_owned(),
2108 "start_pos_past_events/unique".to_owned(),
2109 "start_pos_region_religions/unique".to_owned(),
2110 "start_pos_region_slot_templates/unique".to_owned(),
2111 "start_pos_regions/unique".to_owned(),
2112 "start_pos_settlements/unique".to_owned(),
2113 "start_pos_technologies/unique".to_owned(),
2114 "start_pos_victory_conditions/unique".to_owned(),
2115 "technologies/in_encyclopedia".to_owned(),
2116 "trait_info/applicable_to".to_owned(),
2117 "trigger_effects/game_expansion_key".to_owned(),
2118 "trigger_events/from_ui".to_owned(),
2119 "trigger_events/game_expansion_key".to_owned(),
2120 "warscape_animated/game_expansion_key".to_owned(),
2121 ],
2122 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
2123 compression_formats_supported: vec![],
2124 max_cs2_parsed_version: 0
2125 });
2126
2127 game_list.insert(KEY_THRONES_OF_BRITANNIA, GameInfo {
2129 key: KEY_THRONES_OF_BRITANNIA,
2130 display_name: DISPLAY_NAME_THRONES_OF_BRITANNIA,
2131 pfh_versions: {
2132 let mut data = HashMap::new();
2133 data.insert(PFHFileType::Boot, PFHVersion::PFH4);
2134 data.insert(PFHFileType::Release, PFHVersion::PFH4);
2135 data.insert(PFHFileType::Patch, PFHVersion::PFH4);
2136 data.insert(PFHFileType::Mod, PFHVersion::PFH4);
2137 data.insert(PFHFileType::Movie, PFHVersion::PFH4);
2138 data
2139 },
2140 schema_file_name: "schema_tob.ron".to_owned(),
2141 dependencies_cache_file_name: "tob.pak2".to_owned(),
2142 raw_db_version: 2,
2143 portrait_settings_version: None,
2144 supports_editing: true,
2145 db_tables_have_guid: true,
2146 locale_file_name: Some("language.txt".to_owned()),
2147 banned_packedfiles: vec![],
2148 icon_small: "gs_tob.png".to_owned(),
2149 icon_big: "gs_big_tob.png".to_owned(),
2150 vanilla_db_table_name_logic: VanillaDBTableNameLogic::FolderName,
2151 install_data: {
2152 let mut data = HashMap::new();
2153 data.insert(InstallType::WinSteam, InstallData {
2154 vanilla_packs: vec![],
2155 use_manifest: true,
2156 store_id: 712_100,
2157 store_id_ak: 817_480,
2158 executable: "thrones.exe".to_owned(),
2159 data_path: "data".to_owned(),
2160 language_path: "data".to_owned(),
2161 local_mods_path: "data".to_owned(),
2162 downloaded_mods_path: "./../../workshop/content/712100".to_owned(),
2163 config_folder: Some("ThronesofBritannia".to_owned())
2164 });
2165
2166 data.insert(InstallType::LnxSteam, InstallData {
2167 vanilla_packs: vec![
2168 "blood.pack".to_owned(),
2169 "boot.pack".to_owned(),
2170 "data.pack".to_owned(),
2171 "localisation/en/local_en.pack".to_owned(), "localisation/br/local_br.pack".to_owned(), "localisation/cz/local_cz.pack".to_owned(), "localisation/ge/local_ge.pack".to_owned(), "localisation/sp/local_sp.pack".to_owned(), "localisation/fr/local_fr.pack".to_owned(), "localisation/it/local_it.pack".to_owned(), "localisation/kr/local_kr.pack".to_owned(), "localisation/pl/local_pl.pack".to_owned(), "localisation/ru/local_ru.pack".to_owned(), "localisation/tr/local_tr.pack".to_owned(), "localisation/cn/local_cn.pack".to_owned(), "localisation/zh/local_zh.pack".to_owned(), "models.pack".to_owned(),
2185 "models2.pack".to_owned(),
2186 "models3.pack".to_owned(),
2187 "movies.pack".to_owned(),
2188 "music.pack".to_owned(),
2189 "sound.pack".to_owned(),
2190 "terrain.pack".to_owned(),
2191 "terrain2.pack".to_owned(),
2192 "tiles.pack".to_owned(),
2193 "tiles2.pack".to_owned(),
2194 "tiles3.pack".to_owned(),
2195 "tiles4.pack".to_owned(),
2196 "viking.pack".to_owned(),
2197 ],
2198 use_manifest: false,
2199 store_id: 712_100,
2200 store_id_ak: 817_480,
2201 executable: "ThronesOfBritannia.sh".to_owned(),
2202 data_path: "share/data/data".to_owned(),
2203 language_path: "share/data/data".to_owned(),
2204 local_mods_path: "share/data/data".to_owned(),
2205 downloaded_mods_path: "./../../workshop/content/712100".to_owned(),
2206 config_folder: None,
2207 });
2208
2209 data
2210 },
2211 tool_vars: {
2212 let mut vars = HashMap::new();
2213 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
2214 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
2215 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
2216
2217 vars.insert("faction_painter_banner_table_name".to_owned(), "faction_banners_tables".to_owned());
2218 vars.insert("faction_painter_banner_table_definition".to_owned(), "banner_definition".to_owned());
2219 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
2220 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "primary_hex".to_owned());
2221 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "secondary_hex".to_owned());
2222 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "tertiary_hex".to_owned());
2223 vars.insert("faction_painter_banner_row_key".to_owned(), "banner_row".to_owned());
2224
2225 vars.insert("faction_painter_uniform_table_name".to_owned(), "faction_uniform_colours_tables".to_owned());
2226 vars.insert("faction_painter_uniform_table_definition".to_owned(), "uniform_definition".to_owned());
2227 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "faction_name".to_owned());
2228 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "primary_colour_hex".to_owned());
2229 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "secondary_colour_hex".to_owned());
2230 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "tertiary_colour_hex".to_owned());
2231 vars.insert("faction_painter_uniform_row_key".to_owned(), "uniform_row".to_owned());
2232 vars
2233 },
2234 lua_autogen_folder: None,
2235 ak_lost_fields: vec![
2236 "_kv_experience_bonuses/description".to_owned(),
2237 "_kv_fatigue/description".to_owned(),
2238 "_kv_fire_values/description".to_owned(),
2239 "_kv_key_buildings/description".to_owned(),
2240 "_kv_morale/description".to_owned(),
2241 "_kv_naval_morale/description".to_owned(),
2242 "_kv_naval_rules/description".to_owned(),
2243 "_kv_rules/description".to_owned(),
2244
2245 "ancillaries/effect_text".to_owned(),
2247
2248 "ancillary_info/author".to_owned(),
2249 "ancillary_info/comment".to_owned(),
2250 "ancillary_info/historical_example".to_owned(),
2251 "battlefield_building_transformations/description".to_owned(),
2252
2253 "battlefield_buildings/blood_pack_model_override_folder".to_owned(),
2255
2256 "battles/objectives_team_1".to_owned(),
2257 "battles/objectives_team_2".to_owned(),
2258 "building_chains/encyclopedia_group".to_owned(),
2259 "building_chains/encyclopedia_include_in_index".to_owned(),
2260 "building_levels/building_category".to_owned(),
2261 "campaign_ai_managers/description".to_owned(),
2262 "campaign_payload_ui_details/comment".to_owned(),
2263 "campaign_variables/description".to_owned(),
2264 "campaigns/data_directory".to_owned(),
2265
2266 "campaigns/encyclopedia_name_override".to_owned(),
2268
2269 "character_skill_level_to_effects_junctions/is_factionwide".to_owned(),
2270
2271 "character_trait_levels/effect_text".to_owned(),
2273
2274 "character_traits/author".to_owned(),
2275 "character_traits/comment".to_owned(),
2276 "deployables/in_encyclopaedia".to_owned(),
2277 "encyclopedia_blocks/video".to_owned(),
2278 "experience_triggers/condition".to_owned(),
2279 "experience_triggers/event".to_owned(),
2280 "experience_triggers/target".to_owned(),
2281
2282 "incident_heading_texts/localised_heading_text".to_owned(),
2284
2285 "models_building/cs2_file".to_owned(),
2287 "models_building/logic_file".to_owned(),
2288 "models_building/model_file".to_owned(),
2289
2290 "models_sieges/logic_file".to_owned(),
2292
2293 "mount_variants/key".to_owned(),
2295
2296 "multiplayer_mininum_length_funds/description".to_owned(),
2297 "names/nobility".to_owned(),
2298 "names_groups/Description".to_owned(),
2299 "names_groups/ID".to_owned(),
2300 "projectiles_explosions/non_lethal_detonation".to_owned(),
2301 "regions/in_encyclopedia".to_owned(),
2302 "regions/palette_entry".to_owned(),
2303
2304 "sound_events/name".to_owned(),
2306
2307 "start_pos_diplomacy/relations_modifier".to_owned(),
2308 "technologies/in_encyclopedia".to_owned(),
2309 "technology_node_links/encyclopedia_child_link_position".to_owned(),
2310 "technology_node_links/encyclopedia_parent_link_position".to_owned(),
2311 "trigger_events/from_ui".to_owned(),
2312 "unit_class/icon".to_owned(),
2313 "warscape_underlay_textures/height".to_owned(),
2314 "warscape_underlay_textures/orientation-angle".to_owned(),
2315 "warscape_underlay_textures/width".to_owned(),
2316 ],
2317 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
2318 compression_formats_supported: vec![],
2319 max_cs2_parsed_version: 13
2320 });
2321
2322 game_list.insert(KEY_ATTILA, GameInfo {
2324 key: KEY_ATTILA,
2325 display_name: DISPLAY_NAME_ATTILA,
2326 pfh_versions: {
2327 let mut data = HashMap::new();
2328 data.insert(PFHFileType::Boot, PFHVersion::PFH4);
2329 data.insert(PFHFileType::Release, PFHVersion::PFH4);
2330 data.insert(PFHFileType::Patch, PFHVersion::PFH4);
2331 data.insert(PFHFileType::Mod, PFHVersion::PFH4);
2332 data.insert(PFHFileType::Movie, PFHVersion::PFH4);
2333 data
2334 },
2335 schema_file_name: "schema_att.ron".to_owned(),
2336 dependencies_cache_file_name: "att.pak2".to_owned(),
2337 raw_db_version: 2,
2338 portrait_settings_version: None,
2339 supports_editing: true,
2340 db_tables_have_guid: true,
2341 locale_file_name: Some("language.txt".to_owned()),
2342 banned_packedfiles: vec![],
2343 icon_small: "gs_att.png".to_owned(),
2344 icon_big: "gs_big_att.png".to_owned(),
2345 vanilla_db_table_name_logic: VanillaDBTableNameLogic::FolderName,
2346 install_data: {
2347 let mut data = HashMap::new();
2348 data.insert(InstallType::WinSteam, InstallData {
2349 vanilla_packs: vec![
2350 "belisarius.pack".to_owned(),
2351 "blood.pack".to_owned(),
2352 "boot.pack".to_owned(),
2353 "charlemagne.pack".to_owned(),
2354 "data.pack".to_owned(),
2355
2356 "local_en_shared_rome2.pack".to_owned(), "local_cz.pack".to_owned(), "local_en.pack".to_owned(), "local_fr.pack".to_owned(), "local_ge.pack".to_owned(), "local_it.pack".to_owned(), "local_pl.pack".to_owned(), "local_ru.pack".to_owned(), "local_tr.pack".to_owned(), "local_sp.pack".to_owned(), "models.pack".to_owned(),
2369 "models2.pack".to_owned(),
2370 "models3.pack".to_owned(),
2371 "movies.pack".to_owned(),
2372 "music.pack".to_owned(),
2373
2374 "music_en_shared_rome2.pack".to_owned(), "music_fr.pack".to_owned(), "music_ge.pack".to_owned(), "music_it.pack".to_owned(), "music_ru.pack".to_owned(), "music_sp.pack".to_owned(), "slavs.pack".to_owned(),
2383 "sound.pack".to_owned(),
2384 "terrain.pack".to_owned(),
2385 "terrain2.pack".to_owned(),
2386 "tiles.pack".to_owned(),
2387 "tiles2.pack".to_owned(),
2388 "tiles3.pack".to_owned(),
2389 "tiles4.pack".to_owned(),
2390 ],
2391 use_manifest: true,
2392 store_id: 325_610,
2393 store_id_ak: 343_660,
2394 executable: "Attila.exe".to_owned(),
2395 data_path: "data".to_owned(),
2396 language_path: "data".to_owned(),
2397 local_mods_path: "data".to_owned(),
2398 downloaded_mods_path: "./../../workshop/content/325610".to_owned(),
2399 config_folder: Some("Attila".to_owned())
2400 });
2401
2402 data.insert(InstallType::LnxSteam, InstallData {
2404 vanilla_packs: vec![],
2405 use_manifest: true,
2406 store_id: 325_610,
2407 store_id_ak: 343_660,
2408 executable: "Attila".to_owned(),
2409 data_path: "data".to_owned(),
2410 language_path: "data".to_owned(),
2411 local_mods_path: "data".to_owned(),
2412 downloaded_mods_path: "./../../workshop/content/325610".to_owned(),
2413 config_folder: None,
2414 });
2415
2416 data
2417 },
2418 tool_vars: {
2419 let mut vars = HashMap::new();
2420 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
2421 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
2422 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
2423
2424 vars.insert("faction_painter_banner_table_name".to_owned(), "faction_banners_tables".to_owned());
2425 vars.insert("faction_painter_banner_table_definition".to_owned(), "banner_definition".to_owned());
2426 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
2427 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "primary_hex".to_owned());
2428 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "secondary_hex".to_owned());
2429 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "tertiary_hex".to_owned());
2430 vars.insert("faction_painter_banner_row_key".to_owned(), "banner_row".to_owned());
2431
2432 vars.insert("faction_painter_uniform_table_name".to_owned(), "faction_uniform_colours_tables".to_owned());
2433 vars.insert("faction_painter_uniform_table_definition".to_owned(), "uniform_definition".to_owned());
2434 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "faction_name".to_owned());
2435 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "primary_colour_hex".to_owned());
2436 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "secondary_colour_hex".to_owned());
2437 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "tertiary_colour_hex".to_owned());
2438 vars.insert("faction_painter_uniform_row_key".to_owned(), "uniform_row".to_owned());
2439 vars
2440 },
2441 lua_autogen_folder: None,
2442 ak_lost_fields: vec![
2443 "_kv_experience_bonuses/description".to_owned(),
2444 "_kv_fatigue/description".to_owned(),
2445 "_kv_fire_values/description".to_owned(),
2446 "_kv_key_buildings/description".to_owned(),
2447 "_kv_morale/description".to_owned(),
2448 "_kv_naval_morale/description".to_owned(),
2449 "_kv_naval_rules/description".to_owned(),
2450 "_kv_rules/description".to_owned(),
2451
2452 "ancillaries/effect_text".to_owned(),
2454
2455 "ancillary_info/author".to_owned(),
2456 "ancillary_info/comment".to_owned(),
2457 "ancillary_info/historical_example".to_owned(),
2458 "battlefield_building_transformations/description".to_owned(),
2459
2460 "battlefield_buildings/blood_pack_model_override_folder".to_owned(),
2462
2463 "battles/objectives_team_1".to_owned(),
2464 "battles/objectives_team_2".to_owned(),
2465 "building_chains/encyclopedia_group".to_owned(),
2466 "building_chains/encyclopedia_include_in_index".to_owned(),
2467 "building_levels/building_category".to_owned(),
2468 "campaign_ai_managers/description".to_owned(),
2469 "campaign_payload_ui_details/comment".to_owned(),
2470 "campaign_variables/description".to_owned(),
2471 "campaigns/data_directory".to_owned(),
2472 "character_skill_level_to_effects_junctions/is_factionwide".to_owned(),
2473
2474 "character_trait_levels/effect_text".to_owned(),
2476
2477 "character_traits/author".to_owned(),
2478 "character_traits/comment".to_owned(),
2479 "deployables/in_encyclopaedia".to_owned(),
2480 "encyclopedia_blocks/video".to_owned(),
2481 "experience_triggers/condition".to_owned(),
2482 "experience_triggers/event".to_owned(),
2483 "experience_triggers/target".to_owned(),
2484
2485 "incident_heading_texts/localised_heading_text".to_owned(),
2487
2488 "models_building/cs2_file".to_owned(),
2490 "models_building/model_file".to_owned(),
2491
2492 "models_sieges/display_path".to_owned(),
2494 "models_sieges/logic_file".to_owned(),
2495 "models_sieges/model_file".to_owned(),
2496
2497 "mount_variants/key".to_owned(),
2498 "multiplayer_mininum_length_funds/description".to_owned(),
2499 "names/nobility".to_owned(),
2500 "names_groups/Description".to_owned(),
2501 "names_groups/ID".to_owned(),
2502 "projectiles_explosions/non_lethal_detonation".to_owned(),
2503 "regions/in_encyclopedia".to_owned(),
2504 "regions/palette_entry".to_owned(),
2505
2506 "sound_events/name".to_owned(),
2508
2509 "start_pos_diplomacy/relations_modifier".to_owned(),
2510 "technologies/in_encyclopedia".to_owned(),
2511 "technology_node_links/encyclopedia_child_link_position".to_owned(),
2512 "technology_node_links/encyclopedia_parent_link_position".to_owned(),
2513 "trigger_events/from_ui".to_owned(),
2514 "unit_class/icon".to_owned(),
2515 "warscape_underlay_textures/height".to_owned(),
2516 "warscape_underlay_textures/orientation-angle".to_owned(),
2517 "warscape_underlay_textures/width".to_owned(),
2518 ],
2519 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
2520 compression_formats_supported: vec![],
2521 max_cs2_parsed_version: 13
2522 });
2523
2524 game_list.insert(KEY_ROME_2, GameInfo {
2526 key: KEY_ROME_2,
2527 display_name: DISPLAY_NAME_ROME_2,
2528 pfh_versions: {
2529 let mut data = HashMap::new();
2530 data.insert(PFHFileType::Boot, PFHVersion::PFH4);
2531 data.insert(PFHFileType::Release, PFHVersion::PFH4);
2532 data.insert(PFHFileType::Patch, PFHVersion::PFH4);
2533 data.insert(PFHFileType::Mod, PFHVersion::PFH4);
2534 data.insert(PFHFileType::Movie, PFHVersion::PFH4);
2535 data
2536 },
2537 schema_file_name: "schema_rom2.ron".to_owned(),
2538 dependencies_cache_file_name: "rom2.pak2".to_owned(),
2539 raw_db_version: 2,
2540 portrait_settings_version: None,
2541 supports_editing: true,
2542 db_tables_have_guid: true,
2543 locale_file_name: Some("language.txt".to_owned()),
2544 banned_packedfiles: vec![],
2545 icon_small: "gs_rom2.png".to_owned(),
2546 icon_big: "gs_big_rom2.png".to_owned(),
2547 vanilla_db_table_name_logic: VanillaDBTableNameLogic::FolderName,
2548 install_data: {
2549 let mut data = HashMap::new();
2550 data.insert(InstallType::WinSteam, InstallData {
2551 vanilla_packs: vec![
2552 "blood_rome2.pack".to_owned(),
2553 "boot.pack".to_owned(),
2554 "data.pack".to_owned(),
2555 "data_rome2.pack".to_owned(),
2556 "divided.pack".to_owned(),
2557 "gaul.pack".to_owned(),
2558 "greeks.pack".to_owned(),
2559 "invasion.pack".to_owned(),
2560
2561 "local_en_shared_rome2.pack".to_owned(), "local_cz.pack".to_owned(), "local_en.pack".to_owned(), "local_fr.pack".to_owned(), "local_ge.pack".to_owned(), "local_it.pack".to_owned(), "local_pl.pack".to_owned(), "local_ru.pack".to_owned(), "local_tr.pack".to_owned(), "local_sp.pack".to_owned(), "models.pack".to_owned(),
2574 "models_rome2.pack".to_owned(),
2575 "models2.pack".to_owned(),
2576 "models2_rome2.pack".to_owned(),
2577 "models3_rome2.pack".to_owned(),
2578 "movies.pack".to_owned(),
2579 "movies_rome2.pack".to_owned(),
2580 "music.pack".to_owned(),
2581 "music_rome2.pack".to_owned(),
2582
2583 "music_en_shared_rome2.pack".to_owned(), "music_fr.pack".to_owned(), "music_ge.pack".to_owned(), "music_it.pack".to_owned(), "music_ru.pack".to_owned(), "music_sp.pack".to_owned(), "punic.pack".to_owned(),
2592 "sound.pack".to_owned(),
2593 "sound_rome2.pack".to_owned(),
2594 "terrain.pack".to_owned(),
2595 "terrain_rome2.pack".to_owned(),
2596 "terrain2.pack".to_owned(),
2597 "terrain2_rome2.pack".to_owned(),
2598 "terrain3_rome2.pack".to_owned(),
2599 "tiles.pack".to_owned(),
2600 "tiles_rome2.pack".to_owned(),
2601 "tiles2.pack".to_owned(),
2602 "tiles2_rome2.pack".to_owned(),
2603 "tiles3.pack".to_owned(),
2604 "tiles3_rome2.pack".to_owned(),
2605 "tiles4.pack".to_owned(),
2606 "tiles4_rome2.pack".to_owned()
2607 ],
2608 use_manifest: false,
2609 store_id: 214_950,
2610 store_id_ak: 267_180,
2611 executable: "Rome2.exe".to_owned(),
2612 data_path: "data".to_owned(),
2613 language_path: "data".to_owned(),
2614 local_mods_path: "data".to_owned(),
2615 downloaded_mods_path: "./../../workshop/content/214950".to_owned(),
2616 config_folder: Some("Rome2".to_owned()),
2617 });
2618
2619 data
2620 },
2621 tool_vars: {
2622 let mut vars = HashMap::new();
2623 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
2624 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
2625 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
2626
2627 vars.insert("faction_painter_banner_table_name".to_owned(), "faction_banners_tables".to_owned());
2628 vars.insert("faction_painter_banner_table_definition".to_owned(), "banner_definition".to_owned());
2629 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
2630 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "primary_hex".to_owned());
2631 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "secondary_hex".to_owned());
2632 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "tertiary_hex".to_owned());
2633 vars.insert("faction_painter_banner_row_key".to_owned(), "banner_row".to_owned());
2634
2635 vars.insert("faction_painter_uniform_table_name".to_owned(), "faction_uniform_colours_tables".to_owned());
2636 vars.insert("faction_painter_uniform_table_definition".to_owned(), "uniform_definition".to_owned());
2637 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "faction_name".to_owned());
2638 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "primary_colour_hex".to_owned());
2639 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "secondary_colour_hex".to_owned());
2640 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "tertiary_colour_hex".to_owned());
2641 vars.insert("faction_painter_uniform_row_key".to_owned(), "uniform_row".to_owned());
2642 vars
2643 },
2644 lua_autogen_folder: None,
2645 ak_lost_fields: vec![
2646 "_kv_experience_bonuses/description".to_owned(),
2647 "_kv_fatigue/description".to_owned(),
2648 "_kv_key_buildings/description".to_owned(),
2649 "_kv_morale/description".to_owned(),
2650 "_kv_naval_morale/description".to_owned(),
2651 "_kv_rules/description".to_owned(),
2652
2653 "ancillaries/effect_text".to_owned(),
2655
2656 "ancillary_info/author".to_owned(),
2657 "ancillary_info/comment".to_owned(),
2658 "ancillary_info/historical_example".to_owned(),
2659
2660 "banditry_events/duration".to_owned(),
2663
2664 "battlefield_building_transformations/description".to_owned(),
2665 "battles/objectives_team_1".to_owned(),
2666 "battles/objectives_team_2".to_owned(),
2667 "building_chains/encyclopedia_group".to_owned(),
2668 "building_chains/encyclopedia_include_in_index".to_owned(),
2669 "building_levels/building_category".to_owned(),
2670 "campaign_ai_managers/description".to_owned(),
2671 "campaign_ai_personalities/description".to_owned(),
2672 "campaign_variables/description".to_owned(),
2673 "campaigns/data_directory".to_owned(),
2674 "character_skill_level_to_effects_junctions/is_factionwide".to_owned(),
2675
2676 "character_trait_levels/effect_text".to_owned(),
2678
2679 "character_traits/author".to_owned(),
2680 "character_traits/comment".to_owned(),
2681 "deployables/in_encyclopaedia".to_owned(),
2682 "encyclopedia_blocks/video".to_owned(),
2683 "event_log_descriptions/notes".to_owned(),
2684 "experience_triggers/condition".to_owned(),
2685 "experience_triggers/event".to_owned(),
2686 "experience_triggers/target".to_owned(),
2687
2688 "incident_heading_texts/localised_heading_text".to_owned(),
2690
2691 "mount_variants/key".to_owned(),
2692 "multiplayer_mininum_length_funds/description".to_owned(),
2693 "names/nobility".to_owned(),
2694 "names_groups/Description".to_owned(),
2695 "names_groups/ID".to_owned(),
2696 "projectiles_explosions/non_lethal_detonation".to_owned(),
2697 "regions/in_encyclopedia".to_owned(),
2698 "regions/palette_entry".to_owned(),
2699
2700 "sound_events/name".to_owned(),
2702
2703 "start_pos_diplomacy/relations_modifier".to_owned(),
2704 "technologies/in_encyclopedia".to_owned(),
2705 "technology_node_links/encyclopedia_child_link_position".to_owned(),
2706 "technology_node_links/encyclopedia_parent_link_position".to_owned(),
2707 "trigger_events/from_ui".to_owned(),
2708 "warscape_underlay_textures/height".to_owned(),
2709 "warscape_underlay_textures/orientation-angle".to_owned(),
2710 "warscape_underlay_textures/width".to_owned(),
2711 ],
2712 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
2713 compression_formats_supported: vec![],
2714 max_cs2_parsed_version: 11
2715 });
2716
2717 game_list.insert(KEY_SHOGUN_2, GameInfo {
2720 key: KEY_SHOGUN_2,
2721 display_name: DISPLAY_NAME_SHOGUN_2,
2722 pfh_versions: {
2723 let mut data = HashMap::new();
2724 data.insert(PFHFileType::Boot, PFHVersion::PFH2);
2725 data.insert(PFHFileType::Release, PFHVersion::PFH2);
2726 data.insert(PFHFileType::Patch, PFHVersion::PFH2);
2727 data.insert(PFHFileType::Mod, PFHVersion::PFH3);
2728 data.insert(PFHFileType::Movie, PFHVersion::PFH2);
2729 data
2730 },
2731 schema_file_name: "schema_sho2.ron".to_owned(),
2732 dependencies_cache_file_name: "sho2.pak2".to_owned(),
2733 raw_db_version: 1,
2734 portrait_settings_version: None,
2735 supports_editing: true,
2736 db_tables_have_guid: true,
2737 locale_file_name: Some("language.txt".to_owned()),
2738 banned_packedfiles: vec![],
2739 icon_small: "gs_sho2.png".to_owned(),
2740 icon_big: "gs_big_sho2.png".to_owned(),
2741 vanilla_db_table_name_logic: VanillaDBTableNameLogic::FolderName,
2742 install_data: {
2743 let mut data = HashMap::new();
2744 data.insert(InstallType::WinSteam, InstallData {
2745 vanilla_packs: vec![],
2746 use_manifest: true,
2747 store_id: 34_330,
2748 store_id_ak: 202_930,
2749 executable: "shogun2.exe".to_owned(),
2750 data_path: "data".to_owned(),
2751 language_path: "data".to_owned(),
2752 local_mods_path: "data".to_owned(),
2753 downloaded_mods_path: "./../../workshop/content/34330".to_owned(),
2754 config_folder: Some("Shogun2".to_owned())
2755 });
2756
2757 data.insert(InstallType::LnxSteam, InstallData {
2758 vanilla_packs: vec![
2759 "boot.pack".to_owned(),
2760 "bp_orig.pack".to_owned(),
2761 "data.pack".to_owned(),
2762 "localization/local_en.pack".to_owned(), "localization/local_br.pack".to_owned(), "localization/local_cz.pack".to_owned(), "localization/local_ge.pack".to_owned(), "localization/local_sp.pack".to_owned(), "localization/local_fr.pack".to_owned(), "localization/local_it.pack".to_owned(), "localization/local_kr.pack".to_owned(), "localization/local_pl.pack".to_owned(), "localization/local_ru.pack".to_owned(), "localization/local_tr.pack".to_owned(), "localization/local_cn.pack".to_owned(), "localization/local_zh.pack".to_owned(), "models.pack".to_owned(),
2776 "models2.pack".to_owned(),
2777 "shaders.pack".to_owned(),
2778 "sound.pack".to_owned(),
2779 "terrain.pack".to_owned(),
2780 "../fots/data_fots.pack".to_owned(),
2781 ],
2782 use_manifest: false,
2783 store_id: 34_330,
2784 store_id_ak: 202_930,
2785 executable: "Shogun2.sh".to_owned(),
2786 data_path: "share/data/data".to_owned(),
2787 language_path: "share/data/data".to_owned(),
2788 local_mods_path: "share/data/data".to_owned(),
2789 downloaded_mods_path: "./../../workshop/content/34330".to_owned(),
2790 config_folder: None,
2791 });
2792
2793 data
2794 },
2795 tool_vars: HashMap::new(),
2796 lua_autogen_folder: None,
2797 ak_lost_fields: vec![
2798 "_kv_experience_bonuses/description".to_owned(),
2799 "_kv_fatigue/description".to_owned(),
2800 "_kv_key_buildings/description".to_owned(),
2801 "_kv_morale/description".to_owned(),
2802 "_kv_naval_morale/description".to_owned(),
2803 "_kv_rules/description".to_owned(),
2804 "_kv_special_ability_effects/description".to_owned(),
2805 "agents/animation_set".to_owned(),
2806 "agents/associated_unit".to_owned(),
2807 "agents/in_encyclopedia".to_owned(),
2808
2809 "ancillaries/effect_text".to_owned(),
2811
2812 "ancillary_info/author".to_owned(),
2813 "ancillary_info/comment".to_owned(),
2814 "ancillary_info/historical_example".to_owned(),
2815
2816 "avatar_dojos/codependency_key".to_owned(),
2817 "avatar_gempei_dojos/codependency_key".to_owned(),
2818 "avatar_ranks/avatar_naval_unit_cost".to_owned(),
2819 "avatar_unit_group_ids/description".to_owned(),
2820 "avatar_units/anti_spam_cost_increase".to_owned(),
2821 "avatar_units/anti_spam_limit".to_owned(),
2822 "battle_script_strings/game_area".to_owned(),
2823 "battlefield_building_transformations/description".to_owned(),
2824
2825 "battlefield_buildings/fortwall_penetration_chance".to_owned(),
2828 "battlefield_buildings/radar_icon".to_owned(),
2829 "battlefield_buildings/spawned_unit".to_owned(),
2830 "battlefield_buildings/visible_in_public_ted".to_owned(),
2831
2832 "battles/objectives_team_1".to_owned(),
2833 "battles/objectives_team_2".to_owned(),
2834 "building_levels/building_category".to_owned(),
2835 "campaign_ai_managers/description".to_owned(),
2836 "campaign_ai_personalities/description".to_owned(),
2837 "campaign_map_playable_areas/mapname".to_owned(),
2838 "campaign_map_playable_areas/maxx".to_owned(),
2839 "campaign_map_playable_areas/maxy".to_owned(),
2840 "campaign_map_playable_areas/minx".to_owned(),
2841 "campaign_map_playable_areas/miny".to_owned(),
2842 "campaign_map_towns_and_ports/region".to_owned(),
2843 "campaign_variables/description".to_owned(),
2844 "campaigns/data_directory".to_owned(),
2845 "character_trait_levels/effect_text".to_owned(),
2846 "character_traits/author".to_owned(),
2847 "character_traits/comment".to_owned(),
2848 "event_log_descriptions/notes".to_owned(),
2849 "experience_triggers/condition".to_owned(),
2850 "experience_triggers/event".to_owned(),
2851
2852 "incident_heading_texts/localised_heading_text".to_owned(),
2854
2855 "mount_variants/key".to_owned(),
2856 "multiplayer_mininum_length_funds/description".to_owned(),
2857 "projectiles/bounce_angle".to_owned(),
2858 "projectiles/preflight_rules".to_owned(),
2859 "projectiles_explosions/non_lethal_detonation".to_owned(),
2860 "regions/in_encyclopedia".to_owned(),
2861 "regions/palette_entry".to_owned(),
2862 "slots_art/underlay_rotation".to_owned(),
2863 "slots_art/underlay_scale".to_owned(),
2864 "start_pos_diplomacy/relations_modifier".to_owned(),
2865 "start_pos_forts/fort_name".to_owned(),
2866 "start_pos_regions/encyclopedia_order".to_owned(),
2867 "technologies/in_encyclopedia".to_owned(),
2868 "trigger_events/from_ui".to_owned(),
2869 "uniforms/IconScreenshotCameraPreset".to_owned(),
2870 "uniforms/InfoScreenshotCameraPreset".to_owned(),
2871 "uniforms/ManAnimation".to_owned(),
2872 "uniforms/MountAnimation".to_owned(),
2873 "unit_stats_land/desert_effect".to_owned(),
2874 "unit_stats_land/snow_effect".to_owned(),
2875 "unit_stats_land/tropics_effect".to_owned(),
2876 "unit_stats_land/unit_class".to_owned(),
2877 "unit_stats_naval/repair_cost_port".to_owned(),
2878 "unit_stats_naval/repair_cost_sea".to_owned(),
2879 "unit_stats_naval/ship_rating_icon".to_owned(),
2880 "units/era".to_owned(),
2881 "units/fitness".to_owned(),
2882 "units/pdlc".to_owned(),
2883 "warscape_underlay_textures/height".to_owned(),
2884 "warscape_underlay_textures/orientation-angle".to_owned(),
2885 "warscape_underlay_textures/width".to_owned(),
2886 ],
2887 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
2888 compression_formats_supported: vec![],
2889 max_cs2_parsed_version: 0
2890 });
2891
2892 game_list.insert(KEY_NAPOLEON, GameInfo {
2894 key: KEY_NAPOLEON,
2895 display_name: DISPLAY_NAME_NAPOLEON,
2896 pfh_versions: {
2897 let mut data = HashMap::new();
2898 data.insert(PFHFileType::Boot, PFHVersion::PFH0);
2899 data.insert(PFHFileType::Release, PFHVersion::PFH0);
2900 data.insert(PFHFileType::Patch, PFHVersion::PFH0);
2901 data.insert(PFHFileType::Mod, PFHVersion::PFH0);
2902 data.insert(PFHFileType::Movie, PFHVersion::PFH0);
2903 data
2904 },
2905 schema_file_name: "schema_nap.ron".to_owned(),
2906 dependencies_cache_file_name: "nap.pak2".to_owned(),
2907 raw_db_version: 0,
2908 portrait_settings_version: None,
2909 supports_editing: true,
2910 db_tables_have_guid: false,
2911 locale_file_name: Some("language.txt".to_owned()),
2912 banned_packedfiles: vec![],
2913 icon_small: "gs_nap.png".to_owned(),
2914 icon_big: "gs_big_nap.png".to_owned(),
2915 vanilla_db_table_name_logic: VanillaDBTableNameLogic::FolderName,
2916 install_data: {
2917 let mut data = HashMap::new();
2918 data.insert(InstallType::WinSteam, InstallData {
2919 vanilla_packs: vec![
2920 "battleterrain.pack".to_owned(),
2921 "boot.pack".to_owned(),
2922 "buildings.pack".to_owned(),
2923 "data.pack".to_owned(),
2924 "local_en.pack".to_owned(), "local_en_patch.pack".to_owned(), "local_br.pack".to_owned(), "local_br_patch.pack".to_owned(), "local_cz.pack".to_owned(), "local_cz_patch.pack".to_owned(), "local_ge.pack".to_owned(), "local_ge_patch.pack".to_owned(), "local_sp.pack".to_owned(), "local_sp_patch.pack".to_owned(), "local_fr.pack".to_owned(), "local_fr_patch.pack".to_owned(), "local_it.pack".to_owned(), "local_it_patch.pack".to_owned(), "local_kr.pack".to_owned(), "local_kr_patch.pack".to_owned(), "local_pl.pack".to_owned(), "local_pl_patch.pack".to_owned(), "local_ru.pack".to_owned(), "local_ru_patch.pack".to_owned(), "local_tr.pack".to_owned(), "local_tr_patch.pack".to_owned(), "local_cn.pack".to_owned(), "local_cn_patch.pack".to_owned(), "local_zh.pack".to_owned(), "local_zh_patch.pack".to_owned(), "media.pack".to_owned(),
2951 "patch.pack".to_owned(),
2952 "patch_media.pack".to_owned(),
2953 "patch_media2.pack".to_owned(),
2954 "patch_media2.pack".to_owned(),
2955 "patch2.pack".to_owned(),
2956 "patch3.pack".to_owned(),
2957 "patch4.pack".to_owned(),
2958 "patch5.pack".to_owned(),
2959 "patch6.pack".to_owned(),
2960 "patch7.pack".to_owned(),
2961 "rigidmodels.pack".to_owned(),
2962 "sound.pack".to_owned(),
2963 "variantmodels.pack".to_owned(),
2964 "variantmodels2.pack".to_owned(),
2965 ],
2966 use_manifest: false,
2967 store_id: 34_030,
2968 store_id_ak: 0,
2969 executable: "Napoleon.exe".to_owned(),
2970 data_path: "data".to_owned(),
2971 language_path: "data".to_owned(),
2972 local_mods_path: "data".to_owned(),
2973 downloaded_mods_path: "./../../workshop/content/34030".to_owned(),
2974 config_folder: Some("Napoleon".to_owned()),
2975 });
2976
2977 data
2978 },
2979 tool_vars: HashMap::new(),
2980 lua_autogen_folder: None,
2981 ak_lost_fields: vec![
2982 "_kv_fatigue/Gen_description".to_owned(),
2983 "_kv_morale/description".to_owned(),
2984 "_kv_naval_morale/description".to_owned(),
2985 "_kv_rules/Gen_description".to_owned(),
2986 "abilities/Gen_effect_text".to_owned(),
2987 "abilities/is_active".to_owned(),
2988 "advice_levels/Gen_TempField_x002A_1".to_owned(),
2989 "advice_levels/Gen_TempField_x002A_2".to_owned(),
2990 "advice_levels/Gen_onscreen_text".to_owned(),
2991 "agent_attribute_situations/Gen_effect_text".to_owned(),
2992 "agent_attributes/Gen_effect_text".to_owned(),
2993 "agents/associated_unit".to_owned(),
2994 "ancillaries/Gen_colour_text".to_owned(),
2995 "ancillaries/Gen_effect_text".to_owned(),
2996 "ancillaries/Gen_exclusion_text".to_owned(),
2997 "ancillaries/Gen_explanation_text".to_owned(),
2998 "ancillary_info/Gen_comment".to_owned(),
2999 "ancillary_info/author".to_owned(),
3000 "ancillary_info/historical_example".to_owned(),
3001 "anim_reference_poses/Gen_path".to_owned(),
3002 "battle_personalities/equipment_theme".to_owned(),
3003 "battle_script_strings/game_area".to_owned(),
3004 "battle_weather_types/naval_appropriate".to_owned(),
3005 "battlefield_building_transformations/description".to_owned(),
3006 "battlefield_buildings/onscreen_name".to_owned(),
3007 "battlefield_deployable_siege_items/Gen_string".to_owned(),
3008 "battles/Gen_description".to_owned(),
3009 "battles/Gen_objectives_team_1".to_owned(),
3010 "battles/Gen_objectives_team_2".to_owned(),
3011 "bribe_actions/action".to_owned(),
3012 "bribe_actions/onscreen".to_owned(),
3013 "building_chains/Gen_chain_tooltip".to_owned(),
3014 "building_description_texts/Gen_TempField_x002A_0".to_owned(),
3015 "building_description_texts/Gen_long_description".to_owned(),
3016 "building_levels/Gen_condition".to_owned(),
3017 "building_levels/building_category".to_owned(),
3018 "building_units_allowed/Gen_conditions".to_owned(),
3019 "building_units_allowed/XP".to_owned(),
3020 "campaign_ai_managers/description".to_owned(),
3021 "campaign_ai_personalities/description".to_owned(),
3022 "campaign_anim_transitions/Gen_path".to_owned(),
3023 "campaign_anim_transitions/ID".to_owned(),
3024 "campaign_anims/Gen_path".to_owned(),
3025 "campaign_map_playable_areas/Gen_TempField_x002A_0".to_owned(),
3026 "campaign_map_playable_areas/mapname".to_owned(),
3027 "campaign_map_playable_areas/maxx".to_owned(),
3028 "campaign_map_playable_areas/maxy".to_owned(),
3029 "campaign_map_playable_areas/minx".to_owned(),
3030 "campaign_map_playable_areas/miny".to_owned(),
3031 "campaign_map_settlements/template_name".to_owned(),
3032 "campaign_map_slots/template".to_owned(),
3033 "campaign_map_tooltips/Gen_TempField_x002A_0".to_owned(),
3034 "campaign_map_tooltips/Gen_TempField_x002A_1".to_owned(),
3035 "campaign_map_towns_and_ports/region".to_owned(),
3036 "campaign_map_towns_and_ports/template".to_owned(),
3037 "campaign_variables/Gen_description".to_owned(),
3038 "character_trait_levels/Gen_colour_text".to_owned(),
3039 "character_trait_levels/Gen_effect_text".to_owned(),
3040 "character_trait_levels/Gen_epithet_text".to_owned(),
3041 "character_trait_levels/Gen_explanation_text".to_owned(),
3042 "character_trait_levels/Gen_gain_text".to_owned(),
3043 "character_trait_levels/Gen_removal_text".to_owned(),
3044 "character_traits/Gen_comment".to_owned(),
3045 "character_traits/author".to_owned(),
3046 "commodities/price_elasticity_of_demand".to_owned(),
3047 "cursors/hotspotX".to_owned(),
3048 "cursors/hotspotY".to_owned(),
3049 "diplomacy_strings/Gen_TempField_x002A_1".to_owned(),
3050 "diplomatic_relations_religion/religion_A".to_owned(),
3051 "diplomatic_relations_religion/religion_B".to_owned(),
3052 "effect_bonus_value_projectile_junctions/bonus_value_id".to_owned(),
3053 "effects/Gen_description".to_owned(),
3054 "events/Gen_conditions".to_owned(),
3055 "events/Gen_event_text".to_owned(),
3056 "faction_groups/Afghanistan".to_owned(),
3057 "faction_groups/AfricanNatives".to_owned(),
3058 "faction_groups/AmerindIroquoisTribes".to_owned(),
3059 "faction_groups/AmerindTribesIII".to_owned(),
3060 "faction_groups/AmerindWoodlandTribes".to_owned(),
3061 "faction_groups/Austria".to_owned(),
3062 "faction_groups/BarbaryPirates".to_owned(),
3063 "faction_groups/Baroda".to_owned(),
3064 "faction_groups/Bavaria".to_owned(),
3065 "faction_groups/CrimeanKhanate".to_owned(),
3066 "faction_groups/Denmark".to_owned(),
3067 "faction_groups/EuropeanRebels".to_owned(),
3068 "faction_groups/France".to_owned(),
3069 "faction_groups/Genoa".to_owned(),
3070 "faction_groups/GreatBritain".to_owned(),
3071 "faction_groups/Greece".to_owned(),
3072 "faction_groups/Gwalior".to_owned(),
3073 "faction_groups/Haiti".to_owned(),
3074 "faction_groups/HanoverHesse".to_owned(),
3075 "faction_groups/Holland".to_owned(),
3076 "faction_groups/IndianRebels".to_owned(),
3077 "faction_groups/Indore".to_owned(),
3078 "faction_groups/IslamicRebels".to_owned(),
3079 "faction_groups/Malta".to_owned(),
3080 "faction_groups/Malwa".to_owned(),
3081 "faction_groups/Mamelukes".to_owned(),
3082 "faction_groups/MarathaConfederacy".to_owned(),
3083 "faction_groups/Modena".to_owned(),
3084 "faction_groups/Morocco".to_owned(),
3085 "faction_groups/MughalEmpire".to_owned(),
3086 "faction_groups/Mysore".to_owned(),
3087 "faction_groups/OttomanEmpire".to_owned(),
3088 "faction_groups/PapalStates".to_owned(),
3089 "faction_groups/Parma".to_owned(),
3090 "faction_groups/Pirates".to_owned(),
3091 "faction_groups/Poland".to_owned(),
3092 "faction_groups/Pomerania".to_owned(),
3093 "faction_groups/Portugal".to_owned(),
3094 "faction_groups/Prussia".to_owned(),
3095 "faction_groups/Punjab".to_owned(),
3096 "faction_groups/Russia".to_owned(),
3097 "faction_groups/SafavidEmpire".to_owned(),
3098 "faction_groups/Savoy".to_owned(),
3099 "faction_groups/Saxony".to_owned(),
3100 "faction_groups/Silesia".to_owned(),
3101 "faction_groups/SlaveRebels".to_owned(),
3102 "faction_groups/Spain".to_owned(),
3103 "faction_groups/Sweden".to_owned(),
3104 "faction_groups/Switzerland".to_owned(),
3105 "faction_groups/Tatars".to_owned(),
3106 "faction_groups/Tuscany".to_owned(),
3107 "faction_groups/USA".to_owned(),
3108 "faction_groups/Ujjain".to_owned(),
3109 "faction_groups/Venice".to_owned(),
3110 "faction_groups/Westphalia".to_owned(),
3111 "faction_groups/Wurttemberg".to_owned(),
3112 "factions/icons_path_units".to_owned(),
3113 "historical_characters/Gen_spawn_conditions".to_owned(),
3114 "ministerial_positions_by_gov_types/onscreen_name".to_owned(),
3115 "mission_activities/check_event".to_owned(),
3116 "mission_activities/evaluate_event".to_owned(),
3117 "mission_effects/Gen_text".to_owned(),
3118 "missions/Gen_TempField_x002A_0".to_owned(),
3119 "missions/Gen_cancel_condition".to_owned(),
3120 "missions/Gen_failure_condition".to_owned(),
3121 "missions/Gen_success_condition".to_owned(),
3122 "missions/cancellation_effect".to_owned(),
3123 "missions/failure_effect".to_owned(),
3124 "missions/success_effect".to_owned(),
3125 "mount_variants/key".to_owned(),
3126 "names_groups/Description".to_owned(),
3127 "names_groups/ID".to_owned(),
3128 "pdlc/ID".to_owned(),
3129 "pdlc/SteamID".to_owned(),
3130 "policies/Gen_prerequisites".to_owned(),
3131 "projectile_impacts/buildings".to_owned(),
3132 "projectile_shot_type_enum/is_artillery".to_owned(),
3133 "projectile_shot_type_enum/is_smallarms".to_owned(),
3134 "projectile_trails/min_apparent_width_distance".to_owned(),
3135 "projectiles/below_waterline_damage_modifer".to_owned(),
3136 "projectiles/bounce_angle".to_owned(),
3137 "projectiles/can_bounce".to_owned(),
3138 "projectiles/preflight_rules".to_owned(),
3139 "projectiles_explosions/non_lethal_detonation".to_owned(),
3140 "public_order_factors/Gen_TempField_x002A_0".to_owned(),
3141 "public_order_factors/Gen_TempField_x002A_1".to_owned(),
3142 "quotes/Gen_TempField_x002A_0".to_owned(),
3143 "quotes_people/Gen_TempField_x002A_0".to_owned(),
3144 "random_localisation_strings/Gen_string".to_owned(),
3145 "region_economics_factors/Gen_TempField_x002A_0".to_owned(),
3146 "regions/palette_entry".to_owned(),
3147 "sea_climate_details/sea_deep_colour".to_owned(),
3148 "sea_climate_details/sea_shallow_colour".to_owned(),
3149 "sea_climate_details/sky_colour".to_owned(),
3150 "sea_climate_details/sun_colour".to_owned(),
3151 "slots_art/minibuildings_differ_at_quality".to_owned(),
3152 "slots_art/underlay_differs_with_building".to_owned(),
3153 "slots_art/underlay_rotation".to_owned(),
3154 "slots_art/underlay_scale".to_owned(),
3155 "technologies/Gen_TempField_x002A_0".to_owned(),
3156 "technologies/Gen_TempField_x002A_1".to_owned(),
3157 "town_wealth_growth_factors/Gen_TempField_x002A_0".to_owned(),
3158 "town_wealth_growth_factors/Gen_TempField_x002A_1".to_owned(),
3159 "trade_details/Gen_TempField_x002A_0".to_owned(),
3160 "trade_nodes/ID".to_owned(),
3161 "trait_triggers/Gen_TempField_x002A_0".to_owned(),
3162 "trees/is_conifer".to_owned(),
3163 "trees/is_high_altitude".to_owned(),
3164 "trees/is_shrub".to_owned(),
3165 "trees/tree".to_owned(),
3166 "trigger_events/from_ui".to_owned(),
3167 "uniforms/Faction".to_owned(),
3168 "uniforms/Filename".to_owned(),
3169 "uniforms/IconScreenshotCameraPreset".to_owned(),
3170 "uniforms/InfoScreenshotCameraPreset".to_owned(),
3171 "uniforms/ManAnimation".to_owned(),
3172 "uniforms/MountAnimation".to_owned(),
3173 "uniforms/Uniform_Name".to_owned(),
3174 "uniforms/Unit".to_owned(),
3175 "unit_class/Gen_TempField_x002A_0".to_owned(),
3176 "unit_regiment_names/unit_class".to_owned(),
3177 "unit_stats_land/desert_effect".to_owned(),
3178 "unit_stats_land/dismounted_formation_spacing_horizontal".to_owned(),
3179 "unit_stats_land/dismounted_formation_spacing_vertical".to_owned(),
3180 "unit_stats_land/fatigue_resistant".to_owned(),
3181 "unit_stats_land/is_immune_to_attrition".to_owned(),
3182 "unit_stats_land/melee_defence".to_owned(),
3183 "unit_stats_land/snow_effect".to_owned(),
3184 "unit_stats_land/tropics_effect".to_owned(),
3185 "unit_stats_land/unit_class".to_owned(),
3186 "unit_stats_land_experience_bonuses/melee_defence".to_owned(),
3187 "unit_stats_naval/collision_momentum_modifer".to_owned(),
3188 "unit_stats_naval/reactivate_cost".to_owned(),
3189 "unit_stats_naval/repair_cost_port".to_owned(),
3190 "unit_stats_naval/repair_cost_sea".to_owned(),
3191 "unit_stats_naval/ship_rating_icon".to_owned(),
3192 "unit_stats_naval/side_panels_above_water_2_armour".to_owned(),
3193 "unit_stats_naval/side_panels_above_water_2_critical".to_owned(),
3194 "unit_stats_naval/side_panels_above_water_2_hits".to_owned(),
3195 "unit_stats_naval/stat_bar_manoeuvrability_rating".to_owned(),
3196 "unit_stats_naval_crew_to_factions/gunner_type".to_owned(),
3197 "unit_stats_naval_crew_to_factions/key".to_owned(),
3198 "unit_stats_naval_crew_to_factions/marine_type".to_owned(),
3199 "unit_stats_naval_crew_to_factions/officer_1".to_owned(),
3200 "unit_stats_naval_crew_to_factions/officer_2".to_owned(),
3201 "unit_stats_naval_crew_to_factions/officer_3".to_owned(),
3202 "unit_stats_naval_crew_to_factions/seaman_type".to_owned(),
3203 "units/era".to_owned(),
3204 "units/fitness".to_owned(),
3205 "unrest_cause_to_demands/demand".to_owned(),
3206 "warscape_rigid/category".to_owned(),
3207 "warscape_rigid_lod_range/LOD_id".to_owned(),
3208 "warscape_trees/model".to_owned(),
3209 "warscape_underlay_textures/filepath".to_owned(),
3210 "warscape_underlay_textures/height".to_owned(),
3211 "warscape_underlay_textures/orientation-angle".to_owned(),
3212 "warscape_underlay_textures/width".to_owned(),
3213 "wind_levels/magnitudeX".to_owned(),
3214 "wind_levels/magnitudeY".to_owned(),
3215 ],
3216 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
3217 compression_formats_supported: vec![],
3218 max_cs2_parsed_version: 0
3219 });
3220
3221 game_list.insert(KEY_EMPIRE, GameInfo {
3223 key: KEY_EMPIRE,
3224 display_name: DISPLAY_NAME_EMPIRE,
3225 pfh_versions: {
3226 let mut data = HashMap::new();
3227 data.insert(PFHFileType::Boot, PFHVersion::PFH0);
3228 data.insert(PFHFileType::Release, PFHVersion::PFH0);
3229 data.insert(PFHFileType::Patch, PFHVersion::PFH0);
3230 data.insert(PFHFileType::Mod, PFHVersion::PFH0);
3231 data.insert(PFHFileType::Movie, PFHVersion::PFH0);
3232 data
3233 },
3234 schema_file_name: "schema_emp.ron".to_owned(),
3235 dependencies_cache_file_name: "emp.pak2".to_owned(),
3236 raw_db_version: 0,
3237 portrait_settings_version: None,
3238 supports_editing: true,
3239 db_tables_have_guid: false,
3240 locale_file_name: Some("language.txt".to_owned()),
3241 banned_packedfiles: vec![],
3242 icon_small: "gs_emp.png".to_owned(),
3243 icon_big: "gs_big_emp.png".to_owned(),
3244 vanilla_db_table_name_logic: VanillaDBTableNameLogic::FolderName,
3245 install_data: {
3246 let mut data = HashMap::new();
3247 data.insert(InstallType::WinSteam, InstallData {
3248 vanilla_packs: vec![
3249 "anim.pack".to_owned(),
3250 "battlepresets.pack".to_owned(),
3251 "battleterrain.pack".to_owned(),
3252 "boot.pack".to_owned(),
3253 "groupformations.pack".to_owned(),
3254 "local_en.pack".to_owned(), "local_br.pack".to_owned(), "local_cz.pack".to_owned(), "local_ge.pack".to_owned(), "local_sp.pack".to_owned(), "local_fr.pack".to_owned(), "local_it.pack".to_owned(), "local_kr.pack".to_owned(), "local_pl.pack".to_owned(), "local_ru.pack".to_owned(), "local_tr.pack".to_owned(), "local_cn.pack".to_owned(), "local_zh.pack".to_owned(), "main.pack".to_owned(),
3268 "models.pack".to_owned(),
3269 "movies.pack".to_owned(),
3270 "patch.pack".to_owned(),
3271 "patch_media.pack".to_owned(),
3272 "patch_en.pack".to_owned(), "patch_br.pack".to_owned(), "patch_cz.pack".to_owned(), "patch_ge.pack".to_owned(), "patch_sp.pack".to_owned(), "patch_fr.pack".to_owned(), "patch_it.pack".to_owned(), "patch_kr.pack".to_owned(), "patch_pl.pack".to_owned(), "patch_ru.pack".to_owned(), "patch_tr.pack".to_owned(), "patch_cn.pack".to_owned(), "patch_zh.pack".to_owned(), "patch2.pack".to_owned(),
3286 "patch3.pack".to_owned(),
3287 "patch4.pack".to_owned(),
3288 "patch5.pack".to_owned(),
3289 "seasurfaces.pack".to_owned(),
3290 "sound_non_wavefile_data.pack".to_owned(),
3291 "sounds.pack".to_owned(),
3292 "sounds_animation_triggers.pack".to_owned(),
3293 "sounds_campaign.pack".to_owned(),
3294 "sounds_music.pack".to_owned(),
3295 "sounds_other.pack".to_owned(),
3296 "sounds_placeholder.pack".to_owned(),
3297 "sounds_sfx.pack".to_owned(),
3298 "subtitles.pack".to_owned(),
3299 "supertexture.pack".to_owned(),
3300 "terrain_templates.pack".to_owned(),
3301 "testdata.pack".to_owned(),
3302 "ui.pack".to_owned(),
3303 "ui_movies.pack".to_owned(),
3304 "voices.pack".to_owned(),
3305 ],
3306 use_manifest: false,
3307 store_id: 10_500,
3308 store_id_ak: 0,
3309 executable: "Empire.exe".to_owned(),
3310 data_path: "data".to_owned(),
3311 language_path: "data".to_owned(),
3312 local_mods_path: "data".to_owned(),
3313 downloaded_mods_path: "./../../workshop/content/10500".to_owned(),
3314 config_folder: Some("Empire".to_owned()),
3315 });
3316
3317 data.insert(InstallType::LnxSteam, InstallData {
3318 vanilla_packs: vec![
3319 "anim.pack".to_owned(),
3320 "battlepresets.pack".to_owned(),
3321 "battleterrain.pack".to_owned(),
3322 "boot.pack".to_owned(),
3323 "groupformations.pack".to_owned(),
3324 "../languages/local_en.pack".to_owned(), "../languages/local_br.pack".to_owned(), "../languages/local_cz.pack".to_owned(), "../languages/local_ge.pack".to_owned(), "../languages/local_sp.pack".to_owned(), "../languages/local_fr.pack".to_owned(), "../languages/local_it.pack".to_owned(), "../languages/local_kr.pack".to_owned(), "../languages/local_pl.pack".to_owned(), "../languages/local_ru.pack".to_owned(), "../languages/local_tr.pack".to_owned(), "../languages/local_cn.pack".to_owned(), "../languages/local_zh.pack".to_owned(), "main.pack".to_owned(),
3338 "models.pack".to_owned(),
3339 "movies.pack".to_owned(),
3340 "patch.pack".to_owned(),
3341 "patch_media.pack".to_owned(),
3342 "../languages/patch_en.pack".to_owned(), "../languages/patch_br.pack".to_owned(), "../languages/patch_cz.pack".to_owned(), "../languages/patch_ge.pack".to_owned(), "../languages/patch_sp.pack".to_owned(), "../languages/patch_fr.pack".to_owned(), "../languages/patch_it.pack".to_owned(), "../languages/patch_kr.pack".to_owned(), "../languages/patch_pl.pack".to_owned(), "../languages/patch_ru.pack".to_owned(), "../languages/patch_tr.pack".to_owned(), "../languages/patch_cn.pack".to_owned(), "../languages/patch_zh.pack".to_owned(), "patch2.pack".to_owned(),
3356 "patch3.pack".to_owned(),
3357 "patch4.pack".to_owned(),
3358 "patch5.pack".to_owned(),
3359 "seasurfaces.pack".to_owned(),
3360 "sound_non_wavefile_data.pack".to_owned(),
3361 "sounds.pack".to_owned(),
3362 "sounds_animation_triggers.pack".to_owned(),
3363 "sounds_campaign.pack".to_owned(),
3364 "sounds_music.pack".to_owned(),
3365 "sounds_other.pack".to_owned(),
3366 "sounds_placeholder.pack".to_owned(),
3367 "sounds_sfx.pack".to_owned(),
3368 "subtitles.pack".to_owned(),
3369 "supertexture.pack".to_owned(),
3370 "terrain_templates.pack".to_owned(),
3371 "testdata.pack".to_owned(),
3372 "ui.pack".to_owned(),
3373 "ui_movies.pack".to_owned(),
3374 "voices.pack".to_owned(),
3375 ],
3376 use_manifest: false,
3377 store_id: 10_500,
3378 store_id_ak: 0,
3379 executable: "Empire.sh".to_owned(),
3380 data_path: "data".to_owned(),
3381 language_path: "data".to_owned(),
3382 local_mods_path: "data".to_owned(),
3383 downloaded_mods_path: "./../../workshop/content/10500".to_owned(),
3384 config_folder: None,
3385 });
3386
3387 data
3388 },
3389 tool_vars: HashMap::new(),
3390 lua_autogen_folder: None,
3391 ak_lost_fields: vec![
3392 "_kv_fatigue/Gen_description".to_owned(),
3393 "_kv_morale/description".to_owned(),
3394 "_kv_naval_morale/description".to_owned(),
3395 "_kv_rules/Gen_description".to_owned(),
3396 "abilities/Gen_effect_text".to_owned(),
3397 "abilities/is_active".to_owned(),
3398 "abilities/project_specific".to_owned(),
3399 "advice_levels/Gen_TempField_x002A_1".to_owned(),
3400 "advice_levels/Gen_TempField_x002A_2".to_owned(),
3401 "advice_levels/Gen_onscreen_text".to_owned(),
3402 "agent_attribute_situations/Gen_effect_text".to_owned(),
3403 "agent_attribute_situations/project_specific".to_owned(),
3404 "agent_attributes/Gen_effect_text".to_owned(),
3405 "agent_attributes/project_specific".to_owned(),
3406 "agent_culture_details/project_specific".to_owned(),
3407 "agent_spawning_to_building_chains/project_specific".to_owned(),
3408 "agent_spawning_to_government_types/project_specific".to_owned(),
3409 "agent_spawnings/project_specific".to_owned(),
3410 "agent_to_agent_abilities/project_specific".to_owned(),
3411 "agent_to_agent_attributes/project_specific".to_owned(),
3412 "agent_to_bribe_actions/project_specific".to_owned(),
3413 "agents/associated_unit".to_owned(),
3414 "agents/project_specific".to_owned(),
3415 "ancillaries/Gen_colour_text".to_owned(),
3416 "ancillaries/Gen_effect_text".to_owned(),
3417 "ancillaries/Gen_exclusion_text".to_owned(),
3418 "ancillaries/Gen_explanation_text".to_owned(),
3419 "ancillary_info/Gen_comment".to_owned(),
3420 "ancillary_info/author".to_owned(),
3421 "ancillary_info/historical_example".to_owned(),
3422 "anim_reference_poses/Gen_path".to_owned(),
3423 "battle_bridge_subculture_jcts/project_specific".to_owned(),
3424 "battle_city_subculture_jct/project_specific".to_owned(),
3425 "battle_personalities/equipment_theme".to_owned(),
3426 "battle_script_strings/game_area".to_owned(),
3427 "battle_terrain_farms/project_specific".to_owned(),
3428 "battle_type_faction_presets/project_specific".to_owned(),
3429 "battle_weather_types/naval_appropriate".to_owned(),
3430 "battlefield_building_transformations/description".to_owned(),
3431 "battlefield_buildings/onscreen_name".to_owned(),
3432 "battlefield_deployable_siege_items/Gen_string".to_owned(),
3433 "battles/Gen_description".to_owned(),
3434 "battles/Gen_objectives_team_1".to_owned(),
3435 "battles/Gen_objectives_team_2".to_owned(),
3436 "bribe_actions/action".to_owned(),
3437 "bribe_actions/onscreen".to_owned(),
3438 "building_chains/Gen_chain_tooltip".to_owned(),
3439 "building_description_texts/Gen_TempField_x002A_0".to_owned(),
3440 "building_description_texts/Gen_long_description".to_owned(),
3441 "building_faction_variants/project_specific".to_owned(),
3442 "building_level_required_technology_junctions/project_specific".to_owned(),
3443 "building_levels/Gen_condition".to_owned(),
3444 "building_levels/building_category".to_owned(),
3445 "building_research_thread_junction/research_points_per_turn".to_owned(),
3446 "building_units_allowed/Gen_conditions".to_owned(),
3447 "building_units_allowed/XP".to_owned(),
3448 "campaign_ai_manager_behaviour_junctions/project_specific".to_owned(),
3449 "campaign_ai_managers/description".to_owned(),
3450 "campaign_ai_managers/project_specific".to_owned(),
3451 "campaign_ai_personalities/description".to_owned(),
3452 "campaign_ai_personalities/project_specific".to_owned(),
3453 "campaign_ai_personality_junctions/project_specific".to_owned(),
3454 "campaign_anim_action_to_sets/project_specific".to_owned(),
3455 "campaign_anim_sets/project_specific".to_owned(),
3456 "campaign_anim_transitions/Gen_path".to_owned(),
3457 "campaign_anim_transitions/ID".to_owned(),
3458 "campaign_anim_transitions/project_specific".to_owned(),
3459 "campaign_anims/Gen_path".to_owned(),
3460 "campaign_anims/project_specific".to_owned(),
3461 "campaign_character_anim_set_agent_junctions/project_specific".to_owned(),
3462 "campaign_character_anim_sets/project_specific".to_owned(),
3463 "campaign_character_anim_walk_anim_junctions/project_specific".to_owned(),
3464 "campaign_character_anims_junctions/project_specific".to_owned(),
3465 "campaign_map_playable_areas/Gen_TempField_x002A_0".to_owned(),
3466 "campaign_map_playable_areas/mapname".to_owned(),
3467 "campaign_map_playable_areas/maxx".to_owned(),
3468 "campaign_map_playable_areas/maxy".to_owned(),
3469 "campaign_map_playable_areas/minx".to_owned(),
3470 "campaign_map_playable_areas/miny".to_owned(),
3471 "campaign_map_playable_areas/project_specific".to_owned(),
3472 "campaign_map_settlements/project_specific".to_owned(),
3473 "campaign_map_settlements/template_name".to_owned(),
3474 "campaign_map_slots/project_specific".to_owned(),
3475 "campaign_map_slots/template".to_owned(),
3476 "campaign_map_tooltips/Gen_TempField_x002A_0".to_owned(),
3477 "campaign_map_tooltips/Gen_TempField_x002A_1".to_owned(),
3478 "campaign_map_tooltips/project_specific".to_owned(),
3479 "campaign_map_towns_and_ports/project_specific".to_owned(),
3480 "campaign_map_towns_and_ports/region".to_owned(),
3481 "campaign_variables/Gen_description".to_owned(),
3482 "character_trait_levels/Gen_colour_text".to_owned(),
3483 "character_trait_levels/Gen_effect_text".to_owned(),
3484 "character_trait_levels/Gen_epithet_text".to_owned(),
3485 "character_trait_levels/Gen_explanation_text".to_owned(),
3486 "character_trait_levels/Gen_gain_text".to_owned(),
3487 "character_trait_levels/Gen_removal_text".to_owned(),
3488 "character_traits/Gen_comment".to_owned(),
3489 "character_traits/author".to_owned(),
3490 "climates/project_specific".to_owned(),
3491 "commodities/price_elasticity_of_demand".to_owned(),
3492 "cultures/project_specific".to_owned(),
3493 "cultures_subcultures/project_specific".to_owned(),
3494 "cursors/hotspotX".to_owned(),
3495 "cursors/hotspotY".to_owned(),
3496 "diplomacy_factor_strings/project_specific".to_owned(),
3497 "diplomacy_negotiation_faction_override_strings/project_specific".to_owned(),
3498 "diplomacy_negotiation_strings/project_specific".to_owned(),
3499 "diplomacy_strings/Gen_TempField_x002A_1".to_owned(),
3500 "diplomatic_relations_religion/religion_A".to_owned(),
3501 "diplomatic_relations_religion/religion_B".to_owned(),
3502 "effect_bonus_value_basic_junction/project_specific".to_owned(),
3503 "effect_bonus_value_commodity_junction/project_specific".to_owned(),
3504 "effect_bonus_value_population_class_and_religion_junction/project_specific".to_owned(),
3505 "effect_bonus_value_population_class_junction/project_specific".to_owned(),
3506 "effect_bonus_value_projectile_junctions/bonus_value_id".to_owned(),
3507 "effect_bonus_value_projectile_junctions/project_specific".to_owned(),
3508 "effect_bonus_value_religion_junction/project_specific".to_owned(),
3509 "effect_bonus_value_resource_junction/project_specific".to_owned(),
3510 "effect_bonus_value_shot_type_junctions/project_specific".to_owned(),
3511 "effect_bonus_value_unit_ability_junctions/project_specific".to_owned(),
3512 "effect_bonus_value_unit_category_junction/project_specific".to_owned(),
3513 "effect_bonus_value_unit_class_junction/project_specific".to_owned(),
3514 "effects/Gen_description".to_owned(),
3515 "events/Gen_conditions".to_owned(),
3516 "events/Gen_event_text".to_owned(),
3517 "faction_groups/Afghanistan".to_owned(),
3518 "faction_groups/AfricanNatives".to_owned(),
3519 "faction_groups/AmerindIroquoisTribes".to_owned(),
3520 "faction_groups/AmerindTribesIII".to_owned(),
3521 "faction_groups/AmerindWoodlandTribes".to_owned(),
3522 "faction_groups/Austria".to_owned(),
3523 "faction_groups/BarbaryPirates".to_owned(),
3524 "faction_groups/Baroda".to_owned(),
3525 "faction_groups/Bavaria".to_owned(),
3526 "faction_groups/CrimeanKhanate".to_owned(),
3527 "faction_groups/Denmark".to_owned(),
3528 "faction_groups/EuropeanRebels".to_owned(),
3529 "faction_groups/France".to_owned(),
3530 "faction_groups/Genoa".to_owned(),
3531 "faction_groups/GreatBritain".to_owned(),
3532 "faction_groups/Greece".to_owned(),
3533 "faction_groups/Gwalior".to_owned(),
3534 "faction_groups/Haiti".to_owned(),
3535 "faction_groups/HanoverHesse".to_owned(),
3536 "faction_groups/Holland".to_owned(),
3537 "faction_groups/IndianRebels".to_owned(),
3538 "faction_groups/Indore".to_owned(),
3539 "faction_groups/IslamicRebels".to_owned(),
3540 "faction_groups/Malta".to_owned(),
3541 "faction_groups/Malwa".to_owned(),
3542 "faction_groups/Mamelukes".to_owned(),
3543 "faction_groups/MarathaConfederacy".to_owned(),
3544 "faction_groups/Modena".to_owned(),
3545 "faction_groups/Morocco".to_owned(),
3546 "faction_groups/MughalEmpire".to_owned(),
3547 "faction_groups/Mysore".to_owned(),
3548 "faction_groups/OttomanEmpire".to_owned(),
3549 "faction_groups/PapalStates".to_owned(),
3550 "faction_groups/Parma".to_owned(),
3551 "faction_groups/Pirates".to_owned(),
3552 "faction_groups/Poland".to_owned(),
3553 "faction_groups/Pomerania".to_owned(),
3554 "faction_groups/Portugal".to_owned(),
3555 "faction_groups/Prussia".to_owned(),
3556 "faction_groups/Punjab".to_owned(),
3557 "faction_groups/Russia".to_owned(),
3558 "faction_groups/SafavidEmpire".to_owned(),
3559 "faction_groups/Savoy".to_owned(),
3560 "faction_groups/Saxony".to_owned(),
3561 "faction_groups/Silesia".to_owned(),
3562 "faction_groups/SlaveRebels".to_owned(),
3563 "faction_groups/Spain".to_owned(),
3564 "faction_groups/Sweden".to_owned(),
3565 "faction_groups/Switzerland".to_owned(),
3566 "faction_groups/Tatars".to_owned(),
3567 "faction_groups/Tuscany".to_owned(),
3568 "faction_groups/USA".to_owned(),
3569 "faction_groups/Ujjain".to_owned(),
3570 "faction_groups/Venice".to_owned(),
3571 "faction_groups/Westphalia".to_owned(),
3572 "faction_groups/Wurttemberg".to_owned(),
3573 "factions/icons_path_units".to_owned(),
3574 "groupings_military/project_specific".to_owned(),
3575 "historical_characters/Gen_spawn_conditions".to_owned(),
3576 "loading_screens/project_specific".to_owned(),
3577 "ministerial_positions_by_gov_types/onscreen_name".to_owned(),
3578 "mission_activities/check_event".to_owned(),
3579 "mission_activities/evaluate_event".to_owned(),
3580 "mission_effects/Gen_text".to_owned(),
3581 "missions/Gen_TempField_x002A_0".to_owned(),
3582 "missions/Gen_cancel_condition".to_owned(),
3583 "missions/Gen_failure_condition".to_owned(),
3584 "missions/Gen_success_condition".to_owned(),
3585 "missions/cancellation_effect".to_owned(),
3586 "missions/failure_effect".to_owned(),
3587 "mount_variants/key".to_owned(),
3588 "mount_variants/project_specific".to_owned(),
3589 "mounts/project_specific".to_owned(),
3590 "names/project_specific".to_owned(),
3591 "names_groups/Description".to_owned(),
3592 "names_groups/ID".to_owned(),
3593 "pdlc/ID".to_owned(),
3594 "pdlc/SteamID".to_owned(),
3595 "pdlc/project_specific".to_owned(),
3596 "policies/Gen_prerequisites".to_owned(),
3597 "projectile_impacts/buildings".to_owned(),
3598 "projectile_shot_type_enum/is_artillery".to_owned(),
3599 "projectile_shot_type_enum/is_smallarms".to_owned(),
3600 "projectile_trails/min_apparent_width_distance".to_owned(),
3601 "projectiles/below_waterline_damage_modifer".to_owned(),
3602 "projectiles/bounce_angle".to_owned(),
3603 "projectiles/preflight_rules".to_owned(),
3604 "projectiles_explosions/non_lethal_detonation".to_owned(),
3605 "projectiles_explosions/project_specific".to_owned(),
3606 "public_order_factors/Gen_TempField_x002A_0".to_owned(),
3607 "public_order_factors/Gen_TempField_x002A_1".to_owned(),
3608 "quotes/Gen_TempField_x002A_0".to_owned(),
3609 "quotes/culture".to_owned(),
3610 "quotes/quote_person".to_owned(),
3611 "quotes_people/Gen_TempField_x002A_0".to_owned(),
3612 "random_localisation_strings/Gen_string".to_owned(),
3613 "random_localisation_strings/project_specific".to_owned(),
3614 "regions/palette_entry".to_owned(),
3615 "regions/project_specific".to_owned(),
3616 "sea_climate_details/sea_deep_colour".to_owned(),
3617 "sea_climate_details/sea_shallow_colour".to_owned(),
3618 "sea_climate_details/sky_colour".to_owned(),
3619 "sea_climate_details/sun_colour".to_owned(),
3620 "slots_art/minibuildings_differ_at_quality".to_owned(),
3621 "slots_art/project_specific".to_owned(),
3622 "slots_art/underlay_differs_with_building".to_owned(),
3623 "slots_art/underlay_rotation".to_owned(),
3624 "slots_art/underlay_scale".to_owned(),
3625 "technologies/Gen_TempField_x002A_0".to_owned(),
3626 "technologies/Gen_TempField_x002A_1".to_owned(),
3627 "technology_required_building_levels_junctions/project_specific".to_owned(),
3628 "technology_required_technology_junctions/project_specific".to_owned(),
3629 "town_wealth_growth_factors/Gen_TempField_x002A_0".to_owned(),
3630 "town_wealth_growth_factors/Gen_TempField_x002A_1".to_owned(),
3631 "trade_details/Gen_TempField_x002A_0".to_owned(),
3632 "trait_triggers/Gen_TempField_x002A_0".to_owned(),
3633 "trees/is_conifer".to_owned(),
3634 "trees/is_high_altitude".to_owned(),
3635 "trees/is_shrub".to_owned(),
3636 "trees/tree".to_owned(),
3637 "trigger_events/from_ui".to_owned(),
3638 "trigger_events/project_specific".to_owned(),
3639 "unit_regiment_names/unit_class".to_owned(),
3640 "unit_stats_land/desert_effect".to_owned(),
3641 "unit_stats_land/dismounted_formation_spacing_horizontal".to_owned(),
3642 "unit_stats_land/dismounted_formation_spacing_vertical".to_owned(),
3643 "unit_stats_land/fatigue_resistant".to_owned(),
3644 "unit_stats_land/melee_defence".to_owned(),
3645 "unit_stats_land/snow_effect".to_owned(),
3646 "unit_stats_land/tropics_effect".to_owned(),
3647 "unit_stats_land/unit_class".to_owned(),
3648 "unit_stats_land_experience_bonuses/melee_defence".to_owned(),
3649 "unit_stats_naval/collision_momentum_modifer".to_owned(),
3650 "unit_stats_naval/reactivate_cost".to_owned(),
3651 "unit_stats_naval/repair_cost_port".to_owned(),
3652 "unit_stats_naval/repair_cost_sea".to_owned(),
3653 "unit_stats_naval/ship_rating_icon".to_owned(),
3654 "unit_stats_naval/side_panels_above_water_2_armour".to_owned(),
3655 "unit_stats_naval/side_panels_above_water_2_critical".to_owned(),
3656 "unit_stats_naval/side_panels_above_water_2_hits".to_owned(),
3657 "unit_stats_naval/stat_bar_manoeuvrability_rating".to_owned(),
3658 "unit_stats_naval_crew_to_factions/gunner_type".to_owned(),
3659 "unit_stats_naval_crew_to_factions/key".to_owned(),
3660 "unit_stats_naval_crew_to_factions/marine_type".to_owned(),
3661 "unit_stats_naval_crew_to_factions/officer_1".to_owned(),
3662 "unit_stats_naval_crew_to_factions/officer_2".to_owned(),
3663 "unit_stats_naval_crew_to_factions/officer_3".to_owned(),
3664 "unit_stats_naval_crew_to_factions/seaman_type".to_owned(),
3665 "units/era".to_owned(),
3666 "units/fitness".to_owned(),
3667 "units_to_groupings_military_permissions/project_specific".to_owned(),
3668 "unrest_cause_to_demands/demand".to_owned(),
3669 "warscape_rigid/category".to_owned(),
3670 "warscape_rigid_lod_range/LOD_id".to_owned(),
3671 "warscape_trees/model".to_owned(),
3672 "warscape_underlay_textures/filepath".to_owned(),
3673 "warscape_underlay_textures/height".to_owned(),
3674 "warscape_underlay_textures/orientation-angle".to_owned(),
3675 "warscape_underlay_textures/width".to_owned(),
3676 "wind_levels/magnitudeX".to_owned(),
3677 "wind_levels/magnitudeY".to_owned(),
3678 ],
3679 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
3680 compression_formats_supported: vec![],
3681 max_cs2_parsed_version: 0
3682 });
3683
3684 game_list.insert(KEY_ARENA, GameInfo {
3688 key: KEY_ARENA,
3689 display_name: DISPLAY_NAME_ARENA,
3690 pfh_versions: {
3691 let mut data = HashMap::new();
3692 data.insert(PFHFileType::Boot, PFHVersion::PFH5);
3693 data.insert(PFHFileType::Release, PFHVersion::PFH5);
3694 data.insert(PFHFileType::Patch, PFHVersion::PFH5);
3695 data.insert(PFHFileType::Mod, PFHVersion::PFH5);
3696 data.insert(PFHFileType::Movie, PFHVersion::PFH5);
3697 data
3698 },
3699 schema_file_name: "schema_are.ron".to_owned(),
3700 dependencies_cache_file_name: "are.pack2".to_owned(),
3701 raw_db_version: -1,
3702 portrait_settings_version: None,
3703 supports_editing: false,
3704 db_tables_have_guid: true,
3705 locale_file_name: Some("language.txt".to_owned()),
3706 banned_packedfiles: vec![],
3707 icon_small: "gs_are.png".to_owned(),
3708 icon_big: "gs_big_are.png".to_owned(),
3709 vanilla_db_table_name_logic: VanillaDBTableNameLogic::FolderName,
3710 install_data: {
3711 let mut data = HashMap::new();
3712 data.insert(InstallType::WinWargaming, InstallData {
3713 vanilla_packs: vec![],
3714 use_manifest: false,
3715 store_id: 0,
3716 store_id_ak: 0,
3717 executable: "Arena.exe".to_owned(),
3718 data_path: "data".to_owned(),
3719 language_path: "data".to_owned(),
3720 local_mods_path: "data".to_owned(),
3721 downloaded_mods_path: "".to_owned(),
3722 config_folder: None,
3723 });
3724
3725 data
3726 },
3727 tool_vars: HashMap::new(),
3728 lua_autogen_folder: None,
3729 ak_lost_fields: vec![],
3730 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
3731 compression_formats_supported: vec![],
3732 max_cs2_parsed_version: 0
3733 });
3734
3735 let order_list = vec![
3736 KEY_PHARAOH_DYNASTIES,
3737 KEY_PHARAOH,
3738 KEY_WARHAMMER_3,
3739 KEY_TROY,
3740 KEY_THREE_KINGDOMS,
3741 KEY_WARHAMMER_2,
3742 KEY_WARHAMMER,
3743 KEY_THRONES_OF_BRITANNIA,
3744 KEY_ATTILA,
3745 KEY_ROME_2,
3746 KEY_SHOGUN_2,
3747 KEY_NAPOLEON,
3748 KEY_EMPIRE,
3749 KEY_ARENA,
3750 ];
3751
3752 Self {
3753 games: game_list,
3754 order: order_list,
3755 }
3756 }
3757}
3758
3759impl SupportedGames {
3761
3762 pub fn game(&self, key: &str) -> Option<&GameInfo> {
3782 self.games.get(key)
3783 }
3784
3785 pub fn games(&self) -> Vec<&GameInfo> {
3793 self.games.values().collect::<Vec<&GameInfo>>()
3794 }
3795
3796 pub fn game_keys(&self) -> Vec<&str> {
3804 self.games.keys().cloned().collect::<Vec<&str>>()
3805 }
3806
3807 pub fn games_sorted(&self) -> Vec<&GameInfo> {
3815 self.order.iter().map(|key| self.game(key).unwrap()).collect::<Vec<&GameInfo>>()
3816 }
3817
3818 pub fn game_keys_sorted(&self) -> &[&'static str] {
3824 &self.order
3825 }
3826}