1use std::collections::HashMap;
62use std::sync::{Arc, RwLock};
63
64use crate::compression::CompressionFormat;
65use super::{GameInfo, InstallData, InstallType, pfh_file_type::PFHFileType, pfh_version::PFHVersion, VanillaDBTableNameLogic};
66
67pub const DISPLAY_NAME_SHOGUN_2_COMPLETE_EDITION: &str = "Shogun 2 Complete Edition";
76
77pub const DISPLAY_NAME_PHARAOH_DYNASTIES: &str = "Pharaoh Dynasties";
79
80pub const DISPLAY_NAME_PHARAOH: &str = "Pharaoh";
82
83pub const DISPLAY_NAME_WARHAMMER_3: &str = "Warhammer 3";
85
86pub const DISPLAY_NAME_TROY: &str = "Troy";
88
89pub const DISPLAY_NAME_THREE_KINGDOMS: &str = "Three Kingdoms";
91
92pub const DISPLAY_NAME_WARHAMMER_2: &str = "Warhammer 2";
94
95pub const DISPLAY_NAME_WARHAMMER: &str = "Warhammer";
97
98pub const DISPLAY_NAME_THRONES_OF_BRITANNIA: &str = "Thrones of Britannia";
100
101pub const DISPLAY_NAME_ATTILA: &str = "Attila";
103
104pub const DISPLAY_NAME_ROME_2: &str = "Rome 2";
106
107pub const DISPLAY_NAME_SHOGUN_2: &str = "Shogun 2";
109
110pub const DISPLAY_NAME_NAPOLEON: &str = "Napoleon";
112
113pub const DISPLAY_NAME_EMPIRE: &str = "Empire";
115
116pub const DISPLAY_NAME_ARENA: &str = "Arena";
118
119pub const KEY_SHOGUN_2_COMPLETE_EDITION: &str = "shogun_2_complete_edition"; pub 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";
179
180pub struct SupportedGames {
215
216 games: HashMap<&'static str, GameInfo>,
220
221 order: Vec<&'static str>
225}
226
227impl Default for SupportedGames {
232 fn default() -> Self {
233 let mut game_list = HashMap::new();
234
235 game_list.insert(KEY_SHOGUN_2_COMPLETE_EDITION, GameInfo {
237 key: KEY_SHOGUN_2_COMPLETE_EDITION,
238 display_name: DISPLAY_NAME_SHOGUN_2_COMPLETE_EDITION,
239 pfh_versions: {
240 let mut data = HashMap::new();
241 data.insert(PFHFileType::Boot, PFHVersion::PFH3);
242 data.insert(PFHFileType::Release, PFHVersion::PFH3);
243 data.insert(PFHFileType::Patch, PFHVersion::PFH3);
244 data.insert(PFHFileType::Mod, PFHVersion::PFH3);
245 data.insert(PFHFileType::Movie, PFHVersion::PFH3);
246 data
247 },
248 schema_file_name: "schema_sho2_ce.ron".to_owned(),
249 dependencies_cache_file_name: "sho2ce.pak2".to_owned(),
250 raw_db_version: 1,
251 portrait_settings_version: None,
252 supports_editing: true,
253 db_tables_have_guid: true,
254 locale_file_name: Some("language.txt".to_owned()),
255 banned_packedfiles: vec![],
256 icon_small: "gs_sho2_ce.png".to_owned(),
257 icon_big: "gs_big_sho2_ce.png".to_owned(),
258 vanilla_db_table_name_logic: VanillaDBTableNameLogic::FolderName,
259 install_data: {
260 let mut data = HashMap::new();
261 data.insert(InstallType::WinSteam, InstallData {
262 vanilla_packs: vec![],
263 use_manifest: true,
264 store_id: 3_846_830,
265 store_id_ak: 202_930,
266 executable: "shogun2_complete_edition.exe".to_owned(),
267 data_path: "data".to_owned(),
268 language_path: "data".to_owned(),
269 local_mods_path: "data".to_owned(),
270 downloaded_mods_path: "".to_owned(),
271 config_folder: Some("Shogun2CompleteEdition".to_owned())
272 });
273
274 data
275 },
276 tool_vars: HashMap::new(),
277 lua_autogen_folder: None,
278 ak_lost_fields: vec![
279 "_kv_experience_bonuses/description".to_owned(),
280 "_kv_fatigue/description".to_owned(),
281 "_kv_key_buildings/description".to_owned(),
282 "_kv_morale/description".to_owned(),
283 "_kv_naval_morale/description".to_owned(),
284 "_kv_rules/description".to_owned(),
285 "_kv_special_ability_effects/description".to_owned(),
286 "agents/animation_set".to_owned(),
287 "agents/associated_unit".to_owned(),
288 "agents/in_encyclopedia".to_owned(),
289
290 "ancillaries/effect_text".to_owned(),
292
293 "ancillary_info/author".to_owned(),
294 "ancillary_info/comment".to_owned(),
295 "ancillary_info/historical_example".to_owned(),
296
297 "avatar_dojos/codependency_key".to_owned(),
298 "avatar_gempei_dojos/codependency_key".to_owned(),
299 "avatar_ranks/avatar_naval_unit_cost".to_owned(),
300 "avatar_unit_group_ids/description".to_owned(),
301 "avatar_units/anti_spam_cost_increase".to_owned(),
302 "avatar_units/anti_spam_limit".to_owned(),
303 "battle_script_strings/game_area".to_owned(),
304 "battlefield_building_transformations/description".to_owned(),
305
306 "battlefield_buildings/fortwall_penetration_chance".to_owned(),
309 "battlefield_buildings/radar_icon".to_owned(),
310 "battlefield_buildings/spawned_unit".to_owned(),
311 "battlefield_buildings/visible_in_public_ted".to_owned(),
312
313 "battles/objectives_team_1".to_owned(),
314 "battles/objectives_team_2".to_owned(),
315 "building_levels/building_category".to_owned(),
316 "campaign_ai_managers/description".to_owned(),
317 "campaign_ai_personalities/description".to_owned(),
318 "campaign_map_playable_areas/mapname".to_owned(),
319 "campaign_map_playable_areas/maxx".to_owned(),
320 "campaign_map_playable_areas/maxy".to_owned(),
321 "campaign_map_playable_areas/minx".to_owned(),
322 "campaign_map_playable_areas/miny".to_owned(),
323 "campaign_map_towns_and_ports/region".to_owned(),
324 "campaign_variables/description".to_owned(),
325 "campaigns/data_directory".to_owned(),
326 "character_trait_levels/effect_text".to_owned(),
327 "character_traits/author".to_owned(),
328 "character_traits/comment".to_owned(),
329 "event_log_descriptions/notes".to_owned(),
330 "experience_triggers/condition".to_owned(),
331 "experience_triggers/event".to_owned(),
332
333 "incident_heading_texts/localised_heading_text".to_owned(),
335
336 "mount_variants/key".to_owned(),
337 "multiplayer_mininum_length_funds/description".to_owned(),
338 "projectiles/bounce_angle".to_owned(),
339 "projectiles/preflight_rules".to_owned(),
340 "projectiles_explosions/non_lethal_detonation".to_owned(),
341 "regions/in_encyclopedia".to_owned(),
342 "regions/palette_entry".to_owned(),
343 "slots_art/underlay_rotation".to_owned(),
344 "slots_art/underlay_scale".to_owned(),
345 "start_pos_diplomacy/relations_modifier".to_owned(),
346 "start_pos_forts/fort_name".to_owned(),
347 "start_pos_regions/encyclopedia_order".to_owned(),
348 "technologies/in_encyclopedia".to_owned(),
349 "trigger_events/from_ui".to_owned(),
350 "uniforms/IconScreenshotCameraPreset".to_owned(),
351 "uniforms/InfoScreenshotCameraPreset".to_owned(),
352 "uniforms/ManAnimation".to_owned(),
353 "uniforms/MountAnimation".to_owned(),
354 "unit_stats_land/desert_effect".to_owned(),
355 "unit_stats_land/snow_effect".to_owned(),
356 "unit_stats_land/tropics_effect".to_owned(),
357 "unit_stats_land/unit_class".to_owned(),
358 "unit_stats_naval/repair_cost_port".to_owned(),
359 "unit_stats_naval/repair_cost_sea".to_owned(),
360 "unit_stats_naval/ship_rating_icon".to_owned(),
361 "units/era".to_owned(),
362 "units/fitness".to_owned(),
363 "units/pdlc".to_owned(),
364 "warscape_underlay_textures/height".to_owned(),
365 "warscape_underlay_textures/orientation-angle".to_owned(),
366 "warscape_underlay_textures/width".to_owned(),
367 ],
368 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
369 compression_formats_supported: vec![
370 CompressionFormat::Lz4Block
371 ],
372 max_cs2_parsed_version: 0
373 });
374
375 game_list.insert(KEY_PHARAOH_DYNASTIES, GameInfo {
377 key: KEY_PHARAOH_DYNASTIES,
378 display_name: DISPLAY_NAME_PHARAOH_DYNASTIES,
379 pfh_versions: {
380 let mut data = HashMap::new();
381 data.insert(PFHFileType::Boot, PFHVersion::PFH5);
382 data.insert(PFHFileType::Release, PFHVersion::PFH5);
383 data.insert(PFHFileType::Patch, PFHVersion::PFH5);
384 data.insert(PFHFileType::Mod, PFHVersion::PFH5);
385 data.insert(PFHFileType::Movie, PFHVersion::PFH5);
386 data
387 },
388 schema_file_name: "schema_ph_dyn.ron".to_owned(),
389 dependencies_cache_file_name: "ph_dyn.pak2".to_owned(),
390 raw_db_version: 2,
391 portrait_settings_version: None,
392 supports_editing: true,
393 db_tables_have_guid: true,
394 locale_file_name: Some("language.txt".to_owned()),
395 banned_packedfiles: vec![],
396 icon_small: "gs_ph_dyn.png".to_owned(),
397 icon_big: "gs_big_ph_dyn.png".to_owned(),
398 vanilla_db_table_name_logic: VanillaDBTableNameLogic::DefaultName("data__".to_owned()),
399 install_data: {
400 let mut data = HashMap::new();
401 data.insert(InstallType::WinSteam, InstallData {
402 vanilla_packs: vec![],
403 use_manifest: true,
404 store_id: 2_951_630,
405 store_id_ak: 2_951_670,
406 executable: "Pharaoh.exe".to_owned(),
407 data_path: "data".to_owned(),
408 language_path: "data".to_owned(),
409 local_mods_path: "data".to_owned(),
410 downloaded_mods_path: "./../../workshop/content/2951630".to_owned(),
411 config_folder: Some("PharaohDynasties".to_owned()),
412 });
413
414 data
415 },
416 tool_vars: {
417 let mut vars = HashMap::new();
418 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
419 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
420 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
421
422 vars.insert("faction_painter_banner_table_name".to_owned(), "factions_tables".to_owned());
423 vars.insert("faction_painter_banner_table_definition".to_owned(), "factions_definition".to_owned());
424 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
425 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "banner_colour_primary".to_owned());
426 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "banner_colour_secondary".to_owned());
427 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "banner_colour_tertiary".to_owned());
428 vars.insert("faction_painter_banner_row_key".to_owned(), "faction_row".to_owned());
429
430 vars.insert("faction_painter_uniform_table_name".to_owned(), "factions_tables".to_owned());
431 vars.insert("faction_painter_uniform_table_definition".to_owned(), "factions_definition".to_owned());
432 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "key".to_owned());
433 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "uniform_colour_primary".to_owned());
434 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "uniform_colour_secondary".to_owned());
435 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "uniform_colour_tertiary".to_owned());
436 vars.insert("faction_painter_uniform_row_key".to_owned(), "faction_row".to_owned());
437 vars
438 },
439 lua_autogen_folder: None,
440 ak_lost_fields: vec![
441 "_kv_battle_ai_ability_usage_variables/description".to_owned(),
442 "_kv_experience_bonuses/description".to_owned(),
443 "_kv_fatigue/description".to_owned(),
444 "_kv_fire_values/description".to_owned(),
445 "_kv_key_buildings/description".to_owned(),
446 "_kv_morale/description".to_owned(),
447 "_kv_naval_morale/description".to_owned(),
448 "_kv_naval_rules/description".to_owned(),
449 "_kv_rules/description".to_owned(),
450 "_kv_ui_tweakers/description".to_owned(),
451 "_kv_unit_ability_scaling_rules/description".to_owned(),
452 "_kv_winds_of_magic_params/description".to_owned(),
453 "achievements/game_expansion_key".to_owned(),
454 "ancillary_info/author".to_owned(),
455 "ancillary_info/comment".to_owned(),
456 "ancillary_info/historical_example".to_owned(),
457 "audio_entity_types/actor_type".to_owned(),
458 "audio_entity_types/game_expansion_key".to_owned(),
459 "audio_entity_types/switch".to_owned(),
460 "audio_markers/colour_blue".to_owned(),
461 "audio_markers/colour_green".to_owned(),
462 "audio_markers/colour_red".to_owned(),
463 "audio_metadata_tags/colour_blue".to_owned(),
464 "audio_metadata_tags/colour_green".to_owned(),
465 "audio_metadata_tags/colour_red".to_owned(),
466 "audio_metadata_tags/game_expansion_key".to_owned(),
467 "audio_metadata_tags/path".to_owned(),
468 "battle_animations_table/game_expansion_key".to_owned(),
469 "battle_personalities/game_expansion_key".to_owned(),
470 "battle_set_pieces/game_expansion_key".to_owned(),
471 "battle_skeletons/game_expansion_key".to_owned(),
472 "battles/game_expansion_key".to_owned(),
473 "battles/objectives_team_1".to_owned(),
474 "battles/objectives_team_2".to_owned(),
475 "building_chains/encyclopedia_group".to_owned(),
476 "building_chains/encyclopedia_include_in_index".to_owned(),
477 "building_chains/encyclopedia_name".to_owned(),
478 "building_culture_variants/flavour".to_owned(),
479 "building_levels/commodity_vol".to_owned(),
480 "cai_algorithm_variables/description".to_owned(),
481 "cai_algorithms/description".to_owned(),
482 "cai_decision_interfaces/description".to_owned(),
483 "cai_decision_items_non_record_bound_types/description".to_owned(),
484 "cai_decision_policies/description".to_owned(),
485 "cai_domain_modifier_functions/description".to_owned(),
486 "cai_domain_variables/description".to_owned(),
487 "cai_domains/description".to_owned(),
488 "cai_queries/description".to_owned(),
489 "cai_query_variables/description".to_owned(),
490 "cai_task_management_system_variables/description".to_owned(),
491 "campaign_ai_managers/description".to_owned(),
492 "campaign_map_playable_areas/game_expansion_key".to_owned(),
493 "campaign_map_playable_areas/maxy".to_owned(),
494 "campaign_map_playable_areas/miny".to_owned(),
495 "campaign_map_playable_areas/preview_border".to_owned(),
496 "campaign_payload_ui_details/comment".to_owned(),
497 "campaign_tree_types/game_expansion_key".to_owned(),
498 "campaign_variables/description".to_owned(),
499 "campaigns/game_expansion_key".to_owned(),
500 "cdir_events_mission_option_junctions/game_expansion_key".to_owned(),
501 "cdir_military_generator_configs/game_expansion_key".to_owned(),
502 "cdir_military_generator_templates/game_expansion_key".to_owned(),
503 "character_skill_level_to_effects_junctions/is_factionwide".to_owned(),
504 "character_skills/pre_battle_speech_parameter".to_owned(),
505 "character_traits/author".to_owned(),
506 "character_traits/comment".to_owned(),
507 "deployables/icon_name".to_owned(),
508 "diplomatic_relations_religion/relations_modifier".to_owned(),
509 "faction_groups/ui_icon".to_owned(),
510 "factions/game_expansion_key".to_owned(),
511 "frontend_faction_leaders/game_expansion_key".to_owned(),
512 "government_types/elected_ministers".to_owned(),
513 "government_types/hereditary_ministers".to_owned(),
514 "government_types/rank".to_owned(),
515
516 "land_units/concealed_name".to_owned(),
518
519 "land_units/game_expansion_key".to_owned(),
520 "loading_screen_quotes/game_expansion_key".to_owned(),
521 "main_units/audio_voiceover_culture_override".to_owned(),
522
523 "models_building/cs2_file".to_owned(),
525 "models_building/model_file".to_owned(),
526 "models_building/tech_file".to_owned(),
527
528 "names/nobility".to_owned(),
529 "names_groups/Description".to_owned(),
530 "names_groups/game_expansion_key".to_owned(),
531 "pdlc/game_expansion_key".to_owned(),
532
533 "pooled_resources/negative_display_name".to_owned(),
535
536 "projectiles/game_expansion_key".to_owned(),
537 "regions/in_encyclopedia".to_owned(),
538 "regions/is_sea".to_owned(),
539 "scripted_bonus_value_ids/notes".to_owned(),
540 "scripted_objectives/game_expansion_key".to_owned(),
541 "start_pos_calendars/unique".to_owned(),
542 "start_pos_character_ancillaries/unique".to_owned(),
543 "start_pos_character_to_settlements/unique".to_owned(),
544 "start_pos_character_traits/unique".to_owned(),
545 "start_pos_diplomacy/relations_modifier".to_owned(),
546 "start_pos_diplomacy/unique".to_owned(),
547 "start_pos_faction_effect_bundles/unique".to_owned(),
548 "start_pos_factions/unique".to_owned(),
549 "start_pos_family_relationships/unique".to_owned(),
550 "start_pos_land_units/unique".to_owned(),
551 "start_pos_past_events/unique".to_owned(),
552 "start_pos_region_religions/unique".to_owned(),
553 "start_pos_region_slot_templates/unique".to_owned(),
554 "start_pos_regions/unique".to_owned(),
555 "start_pos_settlements/unique".to_owned(),
556 "start_pos_technologies/unique".to_owned(),
557 "technologies/in_encyclopedia".to_owned(),
558 "technology_node_sets/game_expansion_key".to_owned(),
559 "trait_info/applicable_to".to_owned(),
560 "trigger_events/from_ui".to_owned(),
561 "trigger_events/game_expansion_key".to_owned(),
562 "videos/game_expansion_key".to_owned(),
563 "warscape_animated/game_expansion_key".to_owned(),
564 ],
565 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
566 compression_formats_supported: vec![
567 CompressionFormat::Lzma1
568 ],
569 max_cs2_parsed_version: 0
570 });
571
572 game_list.insert(KEY_PHARAOH, GameInfo {
574 key: KEY_PHARAOH,
575 display_name: DISPLAY_NAME_PHARAOH,
576 pfh_versions: {
577 let mut data = HashMap::new();
578 data.insert(PFHFileType::Boot, PFHVersion::PFH5);
579 data.insert(PFHFileType::Release, PFHVersion::PFH5);
580 data.insert(PFHFileType::Patch, PFHVersion::PFH5);
581 data.insert(PFHFileType::Mod, PFHVersion::PFH5);
582 data.insert(PFHFileType::Movie, PFHVersion::PFH5);
583 data
584 },
585 schema_file_name: "schema_ph.ron".to_owned(),
586 dependencies_cache_file_name: "ph.pak2".to_owned(),
587 raw_db_version: 2,
588 portrait_settings_version: None,
589 supports_editing: true,
590 db_tables_have_guid: true,
591 locale_file_name: Some("language.txt".to_owned()),
592 banned_packedfiles: vec![],
593 icon_small: "gs_ph.png".to_owned(),
594 icon_big: "gs_big_ph.png".to_owned(),
595 vanilla_db_table_name_logic: VanillaDBTableNameLogic::DefaultName("data__".to_owned()),
596 install_data: {
597 let mut data = HashMap::new();
598 data.insert(InstallType::WinSteam, InstallData {
599 vanilla_packs: vec![],
600 use_manifest: true,
601 store_id: 1_937_780, store_id_ak: 1_937_790,
604 executable: "Pharaoh.exe".to_owned(),
605 data_path: "data".to_owned(),
606 language_path: "data".to_owned(),
607 local_mods_path: "data".to_owned(),
608 downloaded_mods_path: "./../../workshop/content/1937780".to_owned(), config_folder: Some("Pharaoh".to_owned()),
611 });
612
613 data
614 },
615 tool_vars: {
616 let mut vars = HashMap::new();
617 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
618 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
619 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
620
621 vars.insert("faction_painter_banner_table_name".to_owned(), "factions_tables".to_owned());
622 vars.insert("faction_painter_banner_table_definition".to_owned(), "factions_definition".to_owned());
623 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
624 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "banner_colour_primary".to_owned());
625 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "banner_colour_secondary".to_owned());
626 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "banner_colour_tertiary".to_owned());
627 vars.insert("faction_painter_banner_row_key".to_owned(), "faction_row".to_owned());
628
629 vars.insert("faction_painter_uniform_table_name".to_owned(), "factions_tables".to_owned());
630 vars.insert("faction_painter_uniform_table_definition".to_owned(), "factions_definition".to_owned());
631 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "key".to_owned());
632 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "uniform_colour_primary".to_owned());
633 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "uniform_colour_secondary".to_owned());
634 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "uniform_colour_tertiary".to_owned());
635 vars.insert("faction_painter_uniform_row_key".to_owned(), "faction_row".to_owned());
636 vars
637 },
638 lua_autogen_folder: None,
639 ak_lost_fields: vec![
640 "_kv_battle_ai_ability_usage_variables/description".to_owned(),
641 "_kv_experience_bonuses/description".to_owned(),
642 "_kv_fatigue/description".to_owned(),
643 "_kv_fire_values/description".to_owned(),
644 "_kv_key_buildings/description".to_owned(),
645 "_kv_morale/description".to_owned(),
646 "_kv_naval_morale/description".to_owned(),
647 "_kv_naval_rules/description".to_owned(),
648 "_kv_rules/description".to_owned(),
649 "_kv_ui_tweakers/description".to_owned(),
650 "_kv_unit_ability_scaling_rules/description".to_owned(),
651 "_kv_winds_of_magic_params/description".to_owned(),
652 "achievements/game_expansion_key".to_owned(),
653 "ancillary_info/author".to_owned(),
654 "ancillary_info/comment".to_owned(),
655 "ancillary_info/historical_example".to_owned(),
656 "audio_entity_types/actor_type".to_owned(),
657 "audio_entity_types/game_expansion_key".to_owned(),
658 "audio_entity_types/switch".to_owned(),
659 "audio_markers/colour_blue".to_owned(),
660 "audio_markers/colour_green".to_owned(),
661 "audio_markers/colour_red".to_owned(),
662 "audio_metadata_tags/colour_blue".to_owned(),
663 "audio_metadata_tags/colour_green".to_owned(),
664 "audio_metadata_tags/colour_red".to_owned(),
665 "audio_metadata_tags/game_expansion_key".to_owned(),
666 "audio_metadata_tags/path".to_owned(),
667 "battle_animations_table/game_expansion_key".to_owned(),
668 "battle_personalities/game_expansion_key".to_owned(),
669 "battle_set_pieces/game_expansion_key".to_owned(),
670 "battle_skeletons/game_expansion_key".to_owned(),
671 "battles/game_expansion_key".to_owned(),
672 "battles/objectives_team_1".to_owned(),
673 "battles/objectives_team_2".to_owned(),
674 "building_chains/encyclopedia_group".to_owned(),
675 "building_chains/encyclopedia_include_in_index".to_owned(),
676 "building_chains/encyclopedia_name".to_owned(),
677 "building_culture_variants/flavour".to_owned(),
678 "building_levels/commodity_vol".to_owned(),
679 "cai_algorithm_variables/description".to_owned(),
680 "cai_algorithms/description".to_owned(),
681 "cai_decision_interfaces/description".to_owned(),
682 "cai_decision_items_non_record_bound_types/description".to_owned(),
683 "cai_decision_policies/description".to_owned(),
684 "cai_domain_modifier_functions/description".to_owned(),
685 "cai_domain_variables/description".to_owned(),
686 "cai_domains/description".to_owned(),
687 "cai_queries/description".to_owned(),
688 "cai_query_variables/description".to_owned(),
689 "cai_task_management_system_variables/description".to_owned(),
690 "campaign_ai_managers/description".to_owned(),
691 "campaign_map_playable_areas/game_expansion_key".to_owned(),
692 "campaign_map_playable_areas/maxy".to_owned(),
693 "campaign_map_playable_areas/miny".to_owned(),
694 "campaign_map_playable_areas/preview_border".to_owned(),
695 "campaign_payload_ui_details/comment".to_owned(),
696 "campaign_tree_types/game_expansion_key".to_owned(),
697 "campaign_variables/description".to_owned(),
698 "campaigns/game_expansion_key".to_owned(),
699 "cdir_events_mission_option_junctions/game_expansion_key".to_owned(),
700 "cdir_military_generator_configs/game_expansion_key".to_owned(),
701 "cdir_military_generator_templates/game_expansion_key".to_owned(),
702 "character_skill_level_to_effects_junctions/is_factionwide".to_owned(),
703 "character_skills/pre_battle_speech_parameter".to_owned(),
704 "character_traits/author".to_owned(),
705 "character_traits/comment".to_owned(),
706 "deployables/icon_name".to_owned(),
707 "diplomatic_relations_religion/relations_modifier".to_owned(),
708 "faction_groups/ui_icon".to_owned(),
709 "factions/game_expansion_key".to_owned(),
710 "frontend_faction_leaders/game_expansion_key".to_owned(),
711 "government_types/elected_ministers".to_owned(),
712 "government_types/hereditary_ministers".to_owned(),
713 "government_types/rank".to_owned(),
714
715 "land_units/concealed_name".to_owned(),
717
718 "land_units/game_expansion_key".to_owned(),
719 "loading_screen_quotes/game_expansion_key".to_owned(),
720 "main_units/audio_voiceover_culture_override".to_owned(),
721
722 "models_building/cs2_file".to_owned(),
724 "models_building/model_file".to_owned(),
725 "models_building/tech_file".to_owned(),
726
727 "names/nobility".to_owned(),
728 "names_groups/Description".to_owned(),
729 "names_groups/game_expansion_key".to_owned(),
730 "pdlc/game_expansion_key".to_owned(),
731
732 "pooled_resources/negative_display_name".to_owned(),
734
735 "projectiles/game_expansion_key".to_owned(),
736 "regions/in_encyclopedia".to_owned(),
737 "regions/is_sea".to_owned(),
738 "scripted_bonus_value_ids/notes".to_owned(),
739 "scripted_objectives/game_expansion_key".to_owned(),
740 "start_pos_calendars/unique".to_owned(),
741 "start_pos_character_ancillaries/unique".to_owned(),
742 "start_pos_character_to_settlements/unique".to_owned(),
743 "start_pos_character_traits/unique".to_owned(),
744 "start_pos_diplomacy/relations_modifier".to_owned(),
745 "start_pos_diplomacy/unique".to_owned(),
746 "start_pos_faction_effect_bundles/unique".to_owned(),
747 "start_pos_factions/unique".to_owned(),
748 "start_pos_land_units/unique".to_owned(),
749 "start_pos_past_events/unique".to_owned(),
750 "start_pos_region_religions/unique".to_owned(),
751 "start_pos_region_slot_templates/unique".to_owned(),
752 "start_pos_regions/unique".to_owned(),
753 "start_pos_settlements/unique".to_owned(),
754 "technologies/in_encyclopedia".to_owned(),
755 "technology_node_sets/game_expansion_key".to_owned(),
756 "trait_info/applicable_to".to_owned(),
757 "trigger_events/from_ui".to_owned(),
758 "trigger_events/game_expansion_key".to_owned(),
759 "videos/game_expansion_key".to_owned(),
760 "warscape_animated/game_expansion_key".to_owned(),
761 ],
762 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
763 compression_formats_supported: vec![
764 CompressionFormat::Lzma1
765 ],
766 max_cs2_parsed_version: 0
767 });
768
769 game_list.insert(KEY_WARHAMMER_3, GameInfo {
771 key: KEY_WARHAMMER_3,
772 display_name: DISPLAY_NAME_WARHAMMER_3,
773 pfh_versions: {
774 let mut data = HashMap::new();
775 data.insert(PFHFileType::Boot, PFHVersion::PFH5);
776 data.insert(PFHFileType::Release, PFHVersion::PFH5);
777 data.insert(PFHFileType::Patch, PFHVersion::PFH5);
778 data.insert(PFHFileType::Mod, PFHVersion::PFH5);
779 data.insert(PFHFileType::Movie, PFHVersion::PFH5);
780 data
781 },
782 schema_file_name: "schema_wh3.ron".to_owned(),
783 dependencies_cache_file_name: "wh3.pak2".to_owned(),
784 raw_db_version: 2,
785 portrait_settings_version: Some(4),
786 supports_editing: true,
787 db_tables_have_guid: true,
788 locale_file_name: Some("language.txt".to_owned()),
789 banned_packedfiles: vec![
790 "db/agent_subtype_ownership_content_pack_junctions_tables".to_owned(),
791 "db/allied_recruitment_core_units_tables".to_owned(),
792 "db/battle_ownership_content_pack_junctions_tables".to_owned(),
793 "db/building_chain_ownership_content_pack_junctions_tables".to_owned(),
794 "db/building_level_ownership_content_pack_junctions_tables".to_owned(),
795 "db/campaign_map_playable_area_ownership_content_pack_junctions_tables".to_owned(),
796 "db/faction_ownership_content_pack_junctions_tables".to_owned(),
797 "db/loading_screen_quote_ownership_content_pack_junctions_tables".to_owned(),
798 "db/main_unit_ownership_content_pack_junctions_tables".to_owned(),
799 "db/ownership_products_tables".to_owned(),
800 "db/ownership_content_packs_tables".to_owned(),
801 "db/ownership_content_pack_required_products_tables".to_owned(),
802 "db/ownership_content_pack_requirements_tables".to_owned(),
803 "db/ritual_ownership_content_pack_junctions_tables".to_owned(),
804 "db/technology_ownership_content_pack_junctions_tables".to_owned(),
805 ],
806 icon_small: "gs_wh3.png".to_owned(),
807 icon_big: "gs_big_wh3.png".to_owned(),
808 vanilla_db_table_name_logic: VanillaDBTableNameLogic::DefaultName("data__".to_owned()),
809 install_data: {
810 let mut data = HashMap::new();
811 data.insert(InstallType::WinSteam, InstallData {
812 vanilla_packs: vec![],
813 use_manifest: true,
814 store_id: 1_142_710,
815 store_id_ak: 1_880_380,
816 executable: "Warhammer3.exe".to_owned(),
817 data_path: "data".to_owned(),
818 language_path: "data".to_owned(),
819 local_mods_path: "data".to_owned(),
820 downloaded_mods_path: "./../../workshop/content/1142710".to_owned(),
821 config_folder: Some("Warhammer3".to_owned()),
822 });
823
824 data.insert(InstallType::LnxSteam, InstallData {
825 vanilla_packs: vec![],
826 use_manifest: true,
827 store_id: 1_142_710,
828 store_id_ak: 1_880_380,
829 executable: "TotalWarhammer3.sh".to_owned(),
830 data_path: "share/data/data".to_owned(),
831 language_path: "share/data/data/localisation".to_owned(),
832 local_mods_path: "share/data/data".to_owned(),
833 downloaded_mods_path: "./../../workshop/content/1142710".to_owned(),
834 config_folder: None,
835 });
836
837 data
838 },
839 tool_vars: {
840 let mut vars = HashMap::new();
841 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
842 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
843 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
844
845 vars.insert("faction_painter_banner_table_name".to_owned(), "factions_tables".to_owned());
846 vars.insert("faction_painter_banner_table_definition".to_owned(), "factions_definition".to_owned());
847 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
848 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "banner_colour_primary".to_owned());
849 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "banner_colour_secondary".to_owned());
850 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "banner_colour_tertiary".to_owned());
851 vars.insert("faction_painter_banner_row_key".to_owned(), "faction_row".to_owned());
852
853 vars.insert("faction_painter_uniform_table_name".to_owned(), "factions_tables".to_owned());
854 vars.insert("faction_painter_uniform_table_definition".to_owned(), "factions_definition".to_owned());
855 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "key".to_owned());
856 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "uniform_colour_primary".to_owned());
857 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "uniform_colour_secondary".to_owned());
858 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "uniform_colour_tertiary".to_owned());
859 vars.insert("faction_painter_uniform_row_key".to_owned(), "faction_row".to_owned());
860 vars
861 },
862 lua_autogen_folder: Some("output/wh3".to_owned()),
863 ak_lost_fields: vec![
864 "_kv_battle_ai_ability_usage_variables/description".to_owned(),
865 "_kv_experience_bonuses/description".to_owned(),
866 "_kv_fatigue/description".to_owned(),
867 "_kv_fire_values/description".to_owned(),
868 "_kv_key_buildings/description".to_owned(),
869 "_kv_morale/description".to_owned(),
870 "_kv_naval_morale/description".to_owned(),
871 "_kv_naval_rules/description".to_owned(),
872 "_kv_rules/description".to_owned(),
873 "_kv_ui_tweakers/description".to_owned(),
874 "_kv_unit_ability_scaling_rules/description".to_owned(),
875 "_kv_winds_of_magic_params/description".to_owned(),
876 "advice_levels/locatable".to_owned(),
877 "agent_recruitment_categories/onscreen_description".to_owned(),
878 "alternative_pooled_resource_junctions/description".to_owned(),
879 "ancillary_info/author".to_owned(),
880 "ancillary_info/comment".to_owned(),
881 "ancillary_info/historical_example".to_owned(),
882 "audio_entity_types/game_expansion_key".to_owned(),
883 "audio_markers/colour_blue".to_owned(),
884 "audio_markers/colour_green".to_owned(),
885 "audio_markers/colour_red".to_owned(),
886 "audio_metadata_tags/colour_blue".to_owned(),
887 "audio_metadata_tags/colour_green".to_owned(),
888 "audio_metadata_tags/colour_red".to_owned(),
889 "audio_metadata_tags/game_expansion_key".to_owned(),
890 "audio_metadata_tags/path".to_owned(),
891 "battle_animations_table/game_expansion_key".to_owned(),
892 "battle_personalities/game_expansion_key".to_owned(),
893 "battle_set_pieces/game_expansion_key".to_owned(),
894 "battle_skeletons/game_expansion_key".to_owned(),
895 "battles/game_expansion_key".to_owned(),
896 "battles/objectives_team_1".to_owned(),
897 "battles/objectives_team_2".to_owned(),
898 "building_chains/encyclopedia_group".to_owned(),
899 "building_chains/encyclopedia_include_in_index".to_owned(),
900 "building_culture_variants/flavour".to_owned(),
901 "building_levels/commodity_vol".to_owned(),
902 "cai_algorithm_variables/description".to_owned(),
903 "cai_algorithms/description".to_owned(),
904 "cai_decision_interfaces/description".to_owned(),
905 "cai_decision_items_non_record_bound_types/description".to_owned(),
906 "cai_decision_policies/description".to_owned(),
907 "cai_domain_modifier_functions/description".to_owned(),
908 "cai_domain_variables/description".to_owned(),
909 "cai_domains/description".to_owned(),
910 "cai_queries/description".to_owned(),
911 "cai_query_variables/description".to_owned(),
912 "cai_task_management_system_variables/description".to_owned(),
913 "campaign_ai_managers/description".to_owned(),
914 "campaign_map_playable_areas/game_expansion_key".to_owned(),
915 "campaign_map_playable_areas/maxy".to_owned(),
916 "campaign_map_playable_areas/miny".to_owned(),
917 "campaign_map_playable_areas/preview_border".to_owned(),
918 "campaign_payload_ui_details/comment".to_owned(),
919 "campaign_settlement_display_building_ids/sub_culture".to_owned(),
920 "campaign_tree_types/game_expansion_key".to_owned(),
921 "campaign_variables/description".to_owned(),
922 "campaigns/game_expansion_key".to_owned(),
923 "cdir_event_targets/description".to_owned(),
924 "cdir_events_options/notes".to_owned(),
925 "cdir_events_payloads/notes".to_owned(),
926 "cdir_events_targets/description".to_owned(),
927 "cdir_military_generator_configs/game_expansion_key".to_owned(),
928 "cdir_military_generator_templates/game_expansion_key".to_owned(),
929 "character_skill_level_to_effects_junctions/is_factionwide".to_owned(),
930 "character_skills/pre_battle_speech_parameter".to_owned(),
931 "character_traits/author".to_owned(),
932 "character_traits/comment".to_owned(),
933 "deployables/icon_name".to_owned(),
934 "faction_groups/ui_icon".to_owned(),
935 "factions/game_expansion_key".to_owned(),
936 "frontend_faction_leaders/game_expansion_key".to_owned(),
937 "land_units/game_expansion_key".to_owned(),
938 "loading_screen_quotes/game_expansion_key".to_owned(),
939 "mercenary_pool_to_groups_junctions/game_expansion_key".to_owned(),
940
941 "models_building/cs2_file".to_owned(),
943 "models_building/model_file".to_owned(),
944 "models_building/tech_file".to_owned(),
945
946 "names_groups/Description".to_owned(),
947 "names_groups/game_expansion_key".to_owned(),
948 "pdlc/game_expansion_key".to_owned(),
949 "projectiles/game_expansion_key".to_owned(),
950 "regions/in_encyclopedia".to_owned(),
951 "regions/is_sea".to_owned(),
952 "resources/campaign_group".to_owned(),
953 "scripted_bonus_value_ids/notes".to_owned(),
954 "scripted_objectives/game_expansion_key".to_owned(),
955 "start_pos_calendars/unique".to_owned(),
956 "start_pos_character_ancillaries/unique".to_owned(),
957 "start_pos_character_to_settlements/unique".to_owned(),
958 "start_pos_character_traits/unique".to_owned(),
959 "start_pos_diplomacy/relations_modifier".to_owned(),
960 "start_pos_diplomacy/unique".to_owned(),
961 "start_pos_factions/honour".to_owned(),
962 "start_pos_factions/unique".to_owned(),
963 "start_pos_land_units/unique".to_owned(),
964 "start_pos_naval_units/unique".to_owned(),
965 "start_pos_past_events/unique".to_owned(),
966 "start_pos_regions/unique".to_owned(),
967 "start_pos_region_slot_templates/unique".to_owned(),
968 "start_pos_settlement_garrisons/unique".to_owned(),
969 "start_pos_settlements/unique".to_owned(),
970 "start_pos_victory_conditions/unique".to_owned(),
971 "technologies/in_encyclopedia".to_owned(),
972 "technology_node_sets/game_expansion_key".to_owned(),
973 "trait_info/applicable_to".to_owned(),
974 "trigger_events/from_ui".to_owned(),
975 "trigger_events/game_expansion_key".to_owned(),
976 "videos/game_expansion_key".to_owned(),
977 "warscape_animated/game_expansion_key".to_owned(),
978 ],
979 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
980 compression_formats_supported: vec![
981 CompressionFormat::Zstd,
982 CompressionFormat::Lz4,
983 CompressionFormat::Lzma1
984 ],
985 max_cs2_parsed_version: 0
986 });
987
988 game_list.insert(KEY_TROY, GameInfo {
990 key: KEY_TROY,
991 display_name: DISPLAY_NAME_TROY,
992 pfh_versions: {
993 let mut data = HashMap::new();
994 data.insert(PFHFileType::Boot, PFHVersion::PFH5);
995 data.insert(PFHFileType::Release, PFHVersion::PFH5);
996 data.insert(PFHFileType::Patch, PFHVersion::PFH5);
997 data.insert(PFHFileType::Mod, PFHVersion::PFH6);
998 data.insert(PFHFileType::Movie, PFHVersion::PFH5);
999 data
1000 },
1001 schema_file_name: "schema_troy.ron".to_owned(),
1002 dependencies_cache_file_name: "troy.pak2".to_owned(),
1003 raw_db_version: 2,
1004 portrait_settings_version: None,
1005 supports_editing: true,
1006 db_tables_have_guid: true,
1007 locale_file_name: Some("language.txt".to_owned()),
1008 banned_packedfiles: vec![],
1009 icon_small: "gs_troy.png".to_owned(),
1010 icon_big: "gs_big_troy.png".to_owned(),
1011 vanilla_db_table_name_logic: VanillaDBTableNameLogic::DefaultName("data__".to_owned()),
1012 install_data: {
1013 let mut data = HashMap::new();
1014 data.insert(InstallType::WinEpic, InstallData {
1015 vanilla_packs: vec![],
1016 use_manifest: true,
1017 store_id: 0,
1018 store_id_ak: 0,
1019 executable: "Troy.exe".to_owned(),
1020 data_path: "data".to_owned(),
1021 language_path: "data".to_owned(),
1022 local_mods_path: "mods/mymods".to_owned(),
1023 downloaded_mods_path: "mods".to_owned(),
1024 config_folder: None,
1025 });
1026
1027 data.insert(InstallType::WinSteam, InstallData {
1028 vanilla_packs: vec![],
1029 use_manifest: true,
1030 store_id: 1_099_410,
1031 store_id_ak: 1_356_310,
1032 executable: "Troy.exe".to_owned(),
1033 data_path: "data".to_owned(),
1034 language_path: "data".to_owned(),
1035 local_mods_path: "data".to_owned(),
1036 downloaded_mods_path: "./../../workshop/content/1099410".to_owned(),
1037 config_folder: Some("Troy_Steam".to_owned()),
1038 });
1039
1040 data
1041 },
1042 tool_vars: {
1043 let mut vars = HashMap::new();
1044 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
1045 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
1046 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
1047
1048 vars.insert("faction_painter_banner_table_name".to_owned(), "faction_banners_tables".to_owned());
1049 vars.insert("faction_painter_banner_table_definition".to_owned(), "banner_definition".to_owned());
1050 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
1051 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "primary_hex".to_owned());
1052 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "secondary_hex".to_owned());
1053 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "tertiary_hex".to_owned());
1054 vars.insert("faction_painter_banner_row_key".to_owned(), "banner_row".to_owned());
1055
1056
1057 vars.insert("faction_painter_uniform_table_name".to_owned(), "faction_uniform_colours_tables".to_owned());
1058 vars.insert("faction_painter_uniform_table_definition".to_owned(), "uniform_definition".to_owned());
1059 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "faction_name".to_owned());
1060 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "primary_colour_hex".to_owned());
1061 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "secondary_colour_hex".to_owned());
1062 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "tertiary_colour_hex".to_owned());
1063 vars.insert("faction_painter_uniform_row_key".to_owned(), "uniform_row".to_owned());
1064
1065 vars
1066 },
1067 lua_autogen_folder: None,
1068 ak_lost_fields: vec![
1069 "_kv_battle_ai_ability_usage_variables/description".to_owned(),
1070 "_kv_experience_bonuses/description".to_owned(),
1071 "_kv_fatigue/description".to_owned(),
1072 "_kv_fire_values/description".to_owned(),
1073 "_kv_key_buildings/description".to_owned(),
1074 "_kv_morale/description".to_owned(),
1075 "_kv_naval_morale/description".to_owned(),
1076 "_kv_naval_rules/description".to_owned(),
1077 "_kv_rules/description".to_owned(),
1078 "_kv_ui_tweakers/description".to_owned(),
1079 "_kv_unit_ability_scaling_rules/description".to_owned(),
1080 "_kv_winds_of_magic_params/description".to_owned(),
1081 "achievements/game_expansion_key".to_owned(),
1082 "ancillary_info/author".to_owned(),
1083 "ancillary_info/comment".to_owned(),
1084 "ancillary_info/historical_example".to_owned(),
1085 "audio_entity_types/actor_type".to_owned(),
1086 "audio_entity_types/game_expansion_key".to_owned(),
1087 "audio_entity_types/switch".to_owned(),
1088 "audio_markers/colour_blue".to_owned(),
1089 "audio_markers/colour_green".to_owned(),
1090 "audio_markers/colour_red".to_owned(),
1091 "audio_metadata_tags/colour_blue".to_owned(),
1092 "audio_metadata_tags/colour_green".to_owned(),
1093 "audio_metadata_tags/colour_red".to_owned(),
1094 "audio_metadata_tags/game_expansion_key".to_owned(),
1095 "audio_metadata_tags/path".to_owned(),
1096 "battle_animations_table/game_expansion_key".to_owned(),
1097 "battle_personalities/game_expansion_key".to_owned(),
1098 "battle_set_pieces/game_expansion_key".to_owned(),
1099 "battle_skeletons/game_expansion_key".to_owned(),
1100 "battles/game_expansion_key".to_owned(),
1101 "battles/objectives_team_1".to_owned(),
1102 "battles/objectives_team_2".to_owned(),
1103 "building_chains/encyclopedia_group".to_owned(),
1104 "building_chains/encyclopedia_include_in_index".to_owned(),
1105 "building_culture_variants/flavour".to_owned(),
1106 "building_levels/commodity_vol".to_owned(),
1107 "cai_task_management_system_variables/description".to_owned(),
1108 "campaign_ai_managers/description".to_owned(),
1109 "campaign_map_playable_areas/game_expansion_key".to_owned(),
1110 "campaign_map_playable_areas/maxy".to_owned(),
1111 "campaign_map_playable_areas/miny".to_owned(),
1112 "campaign_map_playable_areas/preview_border".to_owned(),
1113 "campaign_payload_ui_details/comment".to_owned(),
1114 "campaign_tree_types/game_expansion_key".to_owned(),
1115 "campaign_variables/description".to_owned(),
1116 "campaigns/game_expansion_key".to_owned(),
1117 "cdir_events_mission_option_junctions/game_expansion_key".to_owned(),
1118 "cdir_military_generator_configs/game_expansion_key".to_owned(),
1119 "cdir_military_generator_templates/game_expansion_key".to_owned(),
1120 "character_skill_level_to_effects_junctions/is_factionwide".to_owned(),
1121 "character_skills/pre_battle_speech_parameter".to_owned(),
1122 "character_traits/author".to_owned(),
1123 "character_traits/comment".to_owned(),
1124 "deployables/icon_name".to_owned(),
1125 "diplomatic_relations_religion/relations_modifier".to_owned(),
1126 "faction_groups/ui_icon".to_owned(),
1127 "factions/game_expansion_key".to_owned(),
1128 "frontend_faction_leaders/game_expansion_key".to_owned(),
1129 "government_types/elected_ministers".to_owned(),
1130 "government_types/hereditary_ministers".to_owned(),
1131 "government_types/rank".to_owned(),
1132 "land_units/game_expansion_key".to_owned(),
1133 "loading_screen_quotes/game_expansion_key".to_owned(),
1134 "main_units/audio_voiceover_culture".to_owned(),
1135 "main_units/audio_voiceover_culture_override".to_owned(),
1136
1137 "models_building/cs2_file".to_owned(),
1139 "models_building/model_file".to_owned(),
1140 "models_building/tech_file".to_owned(),
1141
1142 "names/nobility".to_owned(),
1143 "names_groups/Description".to_owned(),
1144 "names_groups/game_expansion_key".to_owned(),
1145 "pdlc/game_expansion_key".to_owned(),
1146 "projectiles/game_expansion_key".to_owned(),
1147 "regions/in_encyclopedia".to_owned(),
1148 "regions/is_sea".to_owned(),
1149 "scripted_objectives/game_expansion_key".to_owned(),
1150 "start_pos_calendars/unique".to_owned(),
1151 "start_pos_character_ancillaries/unique".to_owned(),
1152 "start_pos_character_to_settlements/unique".to_owned(),
1153 "start_pos_character_traits/unique".to_owned(),
1154 "start_pos_diplomacy/relations_modifier".to_owned(),
1155 "start_pos_diplomacy/unique".to_owned(),
1156 "start_pos_faction_effect_bundles/unique".to_owned(),
1157 "start_pos_factions/unique".to_owned(),
1158 "start_pos_family_relationships/unique".to_owned(),
1159 "start_pos_land_units/unique".to_owned(),
1160 "start_pos_naval_units/unique".to_owned(),
1161 "start_pos_past_events/unique".to_owned(),
1162 "start_pos_region_religions/unique".to_owned(),
1163 "start_pos_region_slot_templates/unique".to_owned(),
1164 "start_pos_regions/unique".to_owned(),
1165 "start_pos_regions_to_unit_resources/unique".to_owned(),
1166 "start_pos_settlement_garrisons/unique".to_owned(),
1167 "start_pos_settlements/unique".to_owned(),
1168 "start_pos_technologies/unique".to_owned(),
1169 "start_pos_victory_conditions/unique".to_owned(),
1170 "technologies/in_encyclopedia".to_owned(),
1171 "technology_node_sets/game_expansion_key".to_owned(),
1172 "trait_info/applicable_to".to_owned(),
1173 "trigger_events/from_ui".to_owned(),
1174 "trigger_events/game_expansion_key".to_owned(),
1175 "videos/game_expansion_key".to_owned(),
1176 "warscape_animated/game_expansion_key".to_owned(),
1177 ],
1178 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
1179 compression_formats_supported: vec![
1180 CompressionFormat::Lzma1
1181 ],
1182 max_cs2_parsed_version: 0
1183 });
1184
1185 game_list.insert(KEY_THREE_KINGDOMS, GameInfo {
1187 key: KEY_THREE_KINGDOMS,
1188 display_name: DISPLAY_NAME_THREE_KINGDOMS,
1189 pfh_versions: {
1190 let mut data = HashMap::new();
1191 data.insert(PFHFileType::Boot, PFHVersion::PFH5);
1192 data.insert(PFHFileType::Release, PFHVersion::PFH5);
1193 data.insert(PFHFileType::Patch, PFHVersion::PFH5);
1194 data.insert(PFHFileType::Mod, PFHVersion::PFH5);
1195 data.insert(PFHFileType::Movie, PFHVersion::PFH5);
1196 data
1197 },
1198 schema_file_name: "schema_3k.ron".to_owned(),
1199 dependencies_cache_file_name: "3k.pak2".to_owned(),
1200 raw_db_version: 2,
1201 portrait_settings_version: None,
1202 supports_editing: true,
1203 db_tables_have_guid: true,
1204 locale_file_name: Some("language.txt".to_owned()),
1205 banned_packedfiles: vec![],
1206 icon_small: "gs_3k.png".to_owned(),
1207 icon_big: "gs_big_3k.png".to_owned(),
1208 vanilla_db_table_name_logic: VanillaDBTableNameLogic::DefaultName("data__".to_owned()),
1209
1210 install_data: {
1211 let mut data = HashMap::new();
1212 data.insert(InstallType::WinSteam, InstallData {
1213 vanilla_packs: vec![
1214 "audio.pack".to_owned(),
1215 "audio_bl.pack".to_owned(),
1216 "boot.pack".to_owned(),
1217 "data.pack".to_owned(),
1218 "data_bl.pack".to_owned(),
1219 "data_dlc06.pack".to_owned(),
1220 "data_dlc07.pack".to_owned(),
1221 "data_ep.pack".to_owned(),
1222 "data_mh.pack".to_owned(),
1223 "data_yt.pack".to_owned(),
1224 "data_yt_bl.pack".to_owned(),
1225 "database.pack".to_owned(),
1226 "fast.pack".to_owned(),
1227 "fast_bl.pack".to_owned(),
1228 "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(),
1242 "models2.pack".to_owned(),
1243 "movies.pack".to_owned(),
1244 "movies_bl.pack".to_owned(),
1245 "movies_dlc06.pack".to_owned(),
1246 "movies_ep.pack".to_owned(),
1247 "movies_mh.pack".to_owned(),
1248 "movies_wb.pack".to_owned(),
1249 "movies_yt.pack".to_owned(),
1250 "movies_yt_bl.pack".to_owned(),
1251 "movies2.pack".to_owned(),
1252 "shaders.pack".to_owned(),
1253 "shaders_bl.pack".to_owned(),
1254 "terrain.pack".to_owned(),
1255 "terrain2.pack".to_owned(),
1256 "terrain3.pack".to_owned(),
1257 "terrain4.pack".to_owned(),
1258 "terrain5.pack".to_owned(),
1259 "variants.pack".to_owned(),
1260 "variants_bl.pack".to_owned(),
1261 "variants_dds.pack".to_owned(),
1262 "variants_dds_bl.pack".to_owned(),
1263 "vegetation.pack".to_owned(),
1264 ],
1265 use_manifest: false,
1266 store_id: 779_340,
1267 store_id_ak: 1_012_260,
1268 executable: "Three_Kingdoms.exe".to_owned(),
1269 data_path: "data".to_owned(),
1270 language_path: "data".to_owned(),
1271 local_mods_path: "data".to_owned(),
1272 downloaded_mods_path: "./../../workshop/content/779340".to_owned(),
1273 config_folder: Some("ThreeKingdoms".to_owned()),
1274 });
1275
1276 data.insert(InstallType::LnxSteam, InstallData {
1277 vanilla_packs: vec![
1278 "audio.pack".to_owned(),
1279 "audio_bl.pack".to_owned(),
1280 "boot.pack".to_owned(),
1281 "data.pack".to_owned(),
1282 "data_bl.pack".to_owned(),
1283 "data_dlc06.pack".to_owned(),
1284 "data_dlc07.pack".to_owned(),
1285 "../../../data/data_dlc07.pack".to_owned(),
1286 "data_ep.pack".to_owned(),
1287 "data_mh.pack".to_owned(),
1288 "data_yt.pack".to_owned(),
1289 "data_yt_bl.pack".to_owned(),
1290 "database.pack".to_owned(),
1291 "fast.pack".to_owned(),
1292 "fast_bl.pack".to_owned(),
1293 "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(),
1307 "models2.pack".to_owned(),
1308 "movies.pack".to_owned(),
1309 "movies_bl.pack".to_owned(),
1310 "movies_dlc06.pack".to_owned(),
1311 "movies_ep.pack".to_owned(),
1312 "movies_mh.pack".to_owned(),
1313 "movies_wb.pack".to_owned(),
1314 "movies_yt.pack".to_owned(),
1315 "movies_yt_bl.pack".to_owned(),
1316 "movies2.pack".to_owned(),
1317 "shaders.pack".to_owned(),
1318 "shaders_bl.pack".to_owned(),
1319 "terrain.pack".to_owned(),
1320 "terrain2.pack".to_owned(),
1321 "terrain3.pack".to_owned(),
1322 "terrain4.pack".to_owned(),
1323 "terrain5.pack".to_owned(),
1324 "variants.pack".to_owned(),
1325 "variants_bl.pack".to_owned(),
1326 "variants_dds.pack".to_owned(),
1327 "variants_dds_bl.pack".to_owned(),
1328 "vegetation.pack".to_owned(),
1329 ],
1330 use_manifest: false,
1331 store_id: 779_340,
1332 store_id_ak: 1_012_260,
1333 executable: "ThreeKingdoms.sh".to_owned(),
1334 data_path: "share/data/data".to_owned(),
1335 language_path: "share/data/data/localisation".to_owned(),
1336 local_mods_path: "share/data/data".to_owned(),
1337 downloaded_mods_path: "./../../workshop/content/779340".to_owned(),
1338 config_folder: None,
1339 });
1340
1341 data
1342 },
1343 tool_vars: {
1344 let mut vars = HashMap::new();
1345 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
1346 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
1347 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
1348
1349 vars.insert("faction_painter_banner_table_name".to_owned(), "faction_banners_tables".to_owned());
1350 vars.insert("faction_painter_banner_table_definition".to_owned(), "banner_definition".to_owned());
1351 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
1352 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "primary_hex".to_owned());
1353 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "secondary_hex".to_owned());
1354 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "tertiary_hex".to_owned());
1355 vars.insert("faction_painter_banner_row_key".to_owned(), "banner_row".to_owned());
1356
1357 vars.insert("faction_painter_uniform_table_name".to_owned(), "faction_uniform_colours_tables".to_owned());
1358 vars.insert("faction_painter_uniform_table_definition".to_owned(), "uniform_definition".to_owned());
1359 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "faction_name".to_owned());
1360 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "primary_colour_hex".to_owned());
1361 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "secondary_colour_hex".to_owned());
1362 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "tertiary_colour_hex".to_owned());
1363 vars.insert("faction_painter_uniform_row_key".to_owned(), "uniform_row".to_owned());
1364 vars
1365 },
1366 lua_autogen_folder: None,
1367 ak_lost_fields: vec![
1368 "_kv_battle_ai_ability_usage_variables/description".to_owned(),
1369 "_kv_experience_bonuses/description".to_owned(),
1370 "_kv_fatigue/description".to_owned(),
1371 "_kv_fire_values/description".to_owned(),
1372 "_kv_key_buildings/description".to_owned(),
1373 "_kv_morale/description".to_owned(),
1374 "_kv_naval_morale/description".to_owned(),
1375 "_kv_naval_rules/description".to_owned(),
1376 "_kv_rules/description".to_owned(),
1377 "_kv_ui_tweakers/description".to_owned(),
1378 "_kv_unit_ability_scaling_rules/description".to_owned(),
1379 "_kv_winds_of_magic_params/description".to_owned(),
1380 "achievements/game_expansion_key".to_owned(),
1381 "advice_levels/locatable".to_owned(),
1382 "audio_entity_types/game_expansion_key".to_owned(),
1383 "audio_markers/colour_blue".to_owned(),
1384 "audio_markers/colour_green".to_owned(),
1385 "audio_markers/colour_red".to_owned(),
1386 "audio_metadata_tags/colour_blue".to_owned(),
1387 "audio_metadata_tags/colour_green".to_owned(),
1388 "audio_metadata_tags/colour_red".to_owned(),
1389 "audio_metadata_tags/game_expansion_key".to_owned(),
1390 "audio_metadata_tags/path".to_owned(),
1391 "battle_animations_table/game_expansion_key".to_owned(),
1392 "battle_personalities/game_expansion_key".to_owned(),
1393 "battle_set_pieces/game_expansion_key".to_owned(),
1394 "battle_skeletons/game_expansion_key".to_owned(),
1395 "battles/game_expansion_key".to_owned(),
1396 "battles/objectives_team_1".to_owned(),
1397 "battles/objectives_team_2".to_owned(),
1398 "building_chains/encyclopedia_group".to_owned(),
1399 "building_chains/encyclopedia_include_in_index".to_owned(),
1400 "building_culture_variants/flavour".to_owned(),
1401 "building_levels/commodity_vol".to_owned(),
1402 "cai_task_management_system_variables/description".to_owned(),
1403 "campaign_ai_managers/description".to_owned(),
1404 "campaign_diplomacy_automatic_deal_situations/comments".to_owned(),
1405 "campaign_effect_scopes/source_for_design_ref_only".to_owned(),
1406 "campaign_map_playable_areas/game_expansion_key".to_owned(),
1407 "campaign_map_playable_areas/maxy".to_owned(),
1408 "campaign_map_playable_areas/miny".to_owned(),
1409 "campaign_map_playable_areas/preview_border".to_owned(),
1410 "campaign_payload_ui_details/comment".to_owned(),
1411 "campaign_settlement_display_building_ids/sub_culture".to_owned(),
1412 "campaign_variables/description".to_owned(),
1413 "campaigns/game_expansion_key".to_owned(),
1414 "ccp_balance_values/description".to_owned(),
1415 "cdir_events_options/notes".to_owned(),
1416 "cdir_events_post_generation_conditions/notes".to_owned(),
1417 "cdir_events_targets/description".to_owned(),
1418 "cdir_military_generator_configs/game_expansion_key".to_owned(),
1419 "cdir_military_generator_templates/game_expansion_key".to_owned(),
1420 "ceo_initial_datas/template_manager".to_owned(),
1421 "character_skills/pre_battle_speech_parameter".to_owned(),
1422 "cultures/audio_state".to_owned(),
1423 "deployables/icon_name".to_owned(),
1424 "diplomatic_relations_religion/relations_modifier".to_owned(),
1425 "experience_triggers/condition".to_owned(),
1426 "experience_triggers/event".to_owned(),
1427 "experience_triggers/target".to_owned(),
1428 "factions/game_expansion_key".to_owned(),
1429 "hero_battle_conversation_strings/game_expansion_key".to_owned(),
1430 "land_units/game_expansion_key".to_owned(),
1431 "loading_screen_quotes/game_expansion_key".to_owned(),
1432 "loading_screen_speech_strings/game_expansion_key".to_owned(),
1433
1434 "models_building/cs2_file".to_owned(),
1436
1437 "names/nobility".to_owned(),
1438 "names_groups/Description".to_owned(),
1439 "names_groups/ID".to_owned(),
1440 "names_groups/game_expansion_key".to_owned(),
1441 "pdlc/game_expansion_key".to_owned(),
1442 "projectiles/game_expansion_key".to_owned(),
1443 "regions/in_encyclopedia".to_owned(),
1444 "regions/is_sea".to_owned(),
1445 "start_pos_calendars/unique".to_owned(),
1446 "start_pos_character_to_settlements/unique".to_owned(),
1447 "start_pos_factions/unique".to_owned(),
1448 "start_pos_family_relationships/unique".to_owned(),
1449 "start_pos_past_events/unique".to_owned(),
1450 "start_pos_region_religions/unique".to_owned(),
1451 "start_pos_region_slot_templates/unique".to_owned(),
1452 "start_pos_regions/unique".to_owned(),
1453 "start_pos_settlements/unique".to_owned(),
1454 "start_pos_technologies/unique".to_owned(),
1455 "start_pos_victory_conditions/unique".to_owned(),
1456 "taxes_effects_jct/ai_only".to_owned(),
1457 "technologies/in_encyclopedia".to_owned(),
1458 "trigger_events/from_ui".to_owned(),
1459 "trigger_events/game_expansion_key".to_owned(),
1460 "warscape_animated/game_expansion_key".to_owned(),
1461 ],
1462 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
1463 compression_formats_supported: vec![
1464 CompressionFormat::Lzma1
1465 ],
1466 max_cs2_parsed_version: 0
1467 });
1468
1469 game_list.insert(KEY_WARHAMMER_2, GameInfo {
1471 key: KEY_WARHAMMER_2,
1472 display_name: DISPLAY_NAME_WARHAMMER_2,
1473 pfh_versions: {
1474 let mut data = HashMap::new();
1475 data.insert(PFHFileType::Boot, PFHVersion::PFH5);
1476 data.insert(PFHFileType::Release, PFHVersion::PFH5);
1477 data.insert(PFHFileType::Patch, PFHVersion::PFH5);
1478 data.insert(PFHFileType::Mod, PFHVersion::PFH5);
1479 data.insert(PFHFileType::Movie, PFHVersion::PFH5);
1480 data
1481 },
1482 schema_file_name: "schema_wh2.ron".to_owned(),
1483 dependencies_cache_file_name: "wh2.pak2".to_owned(),
1484 raw_db_version: 2,
1485 portrait_settings_version: None,
1486 supports_editing: true,
1487 db_tables_have_guid: true,
1488 locale_file_name: Some("language.txt".to_owned()),
1489 banned_packedfiles: vec![],
1490 icon_small: "gs_wh2.png".to_owned(),
1491 icon_big: "gs_big_wh2.png".to_owned(),
1492 vanilla_db_table_name_logic: VanillaDBTableNameLogic::DefaultName("data__".to_owned()),
1493 install_data: {
1494 let mut data = HashMap::new();
1495 data.insert(InstallType::WinSteam, InstallData {
1496 vanilla_packs: vec![
1497 "audio_base.pack".to_owned(),
1498 "audio_base_2.pack".to_owned(),
1499 "audio_base_bl.pack".to_owned(),
1500 "audio_base_br.pack".to_owned(),
1501 "audio_base_cst.pack".to_owned(),
1502 "audio_base_m.pack".to_owned(),
1503 "audio_base_tk.pack".to_owned(),
1504
1505 "audio_en.pack".to_owned(),
1507 "audio_en_2.pack".to_owned(),
1508 "audio_en_br.pack".to_owned(),
1509 "audio_en_cst.pack".to_owned(),
1510 "audio_en_tk.pack".to_owned(),
1511
1512 "audio_ge.pack".to_owned(),
1517 "audio_ge_2.pack".to_owned(),
1518 "audio_ge_bm.pack".to_owned(),
1519 "audio_ge_br.pack".to_owned(),
1520 "audio_ge_cst.pack".to_owned(),
1521 "audio_ge_tk.pack".to_owned(),
1522 "audio_ge_we.pack".to_owned(),
1523
1524 "audio_sp.pack".to_owned(),
1526 "audio_sp_2.pack".to_owned(),
1527 "audio_sp_bm.pack".to_owned(),
1528 "audio_sp_br.pack".to_owned(),
1529 "audio_sp_cst.pack".to_owned(),
1530 "audio_sp_tk.pack".to_owned(),
1531 "audio_sp_we.pack".to_owned(),
1532
1533 "audio_fr.pack".to_owned(),
1535 "audio_fr_2.pack".to_owned(),
1536 "audio_fr_bm.pack".to_owned(),
1537 "audio_fr_br.pack".to_owned(),
1538 "audio_fr_cst.pack".to_owned(),
1539 "audio_fr_tk.pack".to_owned(),
1540 "audio_fr_we.pack".to_owned(),
1541
1542 "audio_it.pack".to_owned(),
1544 "audio_it_2.pack".to_owned(),
1545 "audio_it_bm.pack".to_owned(),
1546 "audio_it_br.pack".to_owned(),
1547 "audio_it_cst.pack".to_owned(),
1548 "audio_it_tk.pack".to_owned(),
1549 "audio_it_we.pack".to_owned(),
1550
1551 "audio_pl.pack".to_owned(),
1555 "audio_pl_2.pack".to_owned(),
1556 "audio_pl_bm.pack".to_owned(),
1557 "audio_pl_br.pack".to_owned(),
1558 "audio_pl_cst.pack".to_owned(),
1559 "audio_pl_tk.pack".to_owned(),
1560 "audio_pl_we.pack".to_owned(),
1561
1562 "audio_ru.pack".to_owned(),
1564 "audio_ru_2.pack".to_owned(),
1565 "audio_ru_bm.pack".to_owned(),
1566 "audio_ru_br.pack".to_owned(),
1567 "audio_ru_cst.pack".to_owned(),
1568 "audio_ru_tk.pack".to_owned(),
1569 "audio_ru_we.pack".to_owned(),
1570
1571 "boot.pack".to_owned(),
1576 "campaign_variants.pack".to_owned(),
1577 "campaign_variants_2.pack".to_owned(),
1578 "campaign_variants_bl.pack".to_owned(),
1579 "campaign_variants_pro09_.pack".to_owned(),
1580 "campaign_variants_sb.pack".to_owned(),
1581 "campaign_variants_sf.pack".to_owned(),
1582 "campaign_variants_twa02_.pack".to_owned(),
1583 "campaign_variants_wp_.pack".to_owned(),
1584 "data.pack".to_owned(),
1585 "data_1.pack".to_owned(),
1586 "data_2.pack".to_owned(),
1587 "data_bl.pack".to_owned(),
1588 "data_bm.pack".to_owned(),
1589 "data_gc.pack".to_owned(),
1590 "data_hb.pack".to_owned(),
1591 "data_pro09_.pack".to_owned(),
1592 "data_pw.pack".to_owned(),
1593 "data_sb.pack".to_owned(),
1594 "data_sc.pack".to_owned(),
1595 "data_sf.pack".to_owned(),
1596 "data_tk.pack".to_owned(),
1597 "data_twa01_.pack".to_owned(),
1598 "data_twa02_.pack".to_owned(),
1599 "data_we.pack".to_owned(),
1600 "data_wp_.pack".to_owned(),
1601
1602 "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(),
1645 "models_2.pack".to_owned(),
1646 "models_gc.pack".to_owned(),
1647 "models2.pack".to_owned(),
1648 "models2_2.pack".to_owned(),
1649 "models2_gc.pack".to_owned(),
1650 "movies.pack".to_owned(),
1651 "movies_2.pack".to_owned(),
1652 "movies_sf.pack".to_owned(),
1653 "movies2.pack".to_owned(),
1654 "movies3.pack".to_owned(),
1655 "shaders.pack".to_owned(),
1656 "shaders_bl.pack".to_owned(),
1657 "terrain.pack".to_owned(),
1658 "terrain_2.pack".to_owned(),
1659 "terrain_gc.pack".to_owned(),
1660 "terrain2.pack".to_owned(),
1661 "terrain2_2.pack".to_owned(),
1662 "terrain2_gc.pack".to_owned(),
1663 "terrain3.pack".to_owned(),
1664 "terrain3_2.pack".to_owned(),
1665 "terrain3_gc.pack".to_owned(),
1666 "terrain4.pack".to_owned(),
1667 "terrain4_2.pack".to_owned(),
1668 "terrain5.pack".to_owned(),
1669 "terrain7.pack".to_owned(),
1670 "terrain7_2.pack".to_owned(),
1671 "terrain7_gc.pack".to_owned(),
1672 "terrain8.pack".to_owned(),
1673 "terrain8_2.pack".to_owned(),
1674 "terrain9.pack".to_owned(),
1675 "variants.pack".to_owned(),
1676 "variants_2.pack".to_owned(),
1677 "variants_bl.pack".to_owned(),
1678 "variants_dds.pack".to_owned(),
1679 "variants_dds_2.pack".to_owned(),
1680 "variants_dds_bl.pack".to_owned(),
1681 "variants_dds_gc.pack".to_owned(),
1682 "variants_dds_sb.pack".to_owned(),
1683 "variants_dds_sf.pack".to_owned(),
1684 "variants_dds_wp_.pack".to_owned(),
1685 "variants_dds2.pack".to_owned(),
1686 "variants_dds2_2.pack".to_owned(),
1687 "variants_dds2_sb.pack".to_owned(),
1688 "variants_dds2_sc.pack".to_owned(),
1689 "variants_dds2_sf_.pack".to_owned(),
1690 "variants_dds2_wp_.pack".to_owned(),
1691 "variants_gc.pack".to_owned(),
1692 "variants_hb.pack".to_owned(),
1693 "variants_sb.pack".to_owned(),
1694 "variants_sc.pack".to_owned(),
1695 "variants_sf_.pack".to_owned(),
1696 "variants_wp_.pack".to_owned(),
1697 "warmachines.pack".to_owned(),
1698 "warmachines_2.pack".to_owned(),
1699 "warmachines_hb.pack".to_owned(),
1700 ],
1701 use_manifest: true,
1702 store_id: 594_570,
1703 store_id_ak: 651_460,
1704 executable: "Warhammer2.exe".to_owned(),
1705 data_path: "data".to_owned(),
1706 language_path: "data".to_owned(),
1707 local_mods_path: "data".to_owned(),
1708 downloaded_mods_path: "./../../workshop/content/594570".to_owned(),
1709 config_folder: Some("Warhammer2".to_owned())
1710 });
1711 data.insert(InstallType::LnxSteam, InstallData {
1713 vanilla_packs: vec![
1714 "audio.pack".to_owned(),
1715 "audio_2.pack".to_owned(),
1716 "audio_bl.pack".to_owned(),
1717 "audio_bm.pack".to_owned(),
1718 "audio_br.pack".to_owned(),
1719 "audio_cst.pack".to_owned(),
1720 "audio_gc.pack".to_owned(),
1721 "audio_m.pack".to_owned(),
1722 "audio_tk.pack".to_owned(),
1723 "audio_we.pack".to_owned(),
1724 "boot.pack".to_owned(),
1725 "campaign_variants.pack".to_owned(),
1726 "campaign_variants_2.pack".to_owned(),
1727 "campaign_variants_bl.pack".to_owned(),
1728 "campaign_variants_pro09_.pack".to_owned(),
1729 "campaign_variants_sb.pack".to_owned(),
1730 "campaign_variants_sf.pack".to_owned(),
1731 "campaign_variants_twa02_.pack".to_owned(),
1732 "campaign_variants_wp_.pack".to_owned(),
1733 "data.pack".to_owned(),
1734 "data_1.pack".to_owned(),
1735 "data_2.pack".to_owned(),
1736 "data_bl.pack".to_owned(),
1737 "data_bm.pack".to_owned(),
1738 "data_gc.pack".to_owned(),
1739 "data_hb.pack".to_owned(),
1740 "data_pro09_.pack".to_owned(),
1741 "data_pw.pack".to_owned(),
1742 "data_sb.pack".to_owned(),
1743 "data_sc.pack".to_owned(),
1744 "data_sf.pack".to_owned(),
1745 "data_tk.pack".to_owned(),
1746 "data_twa01_.pack".to_owned(),
1747 "data_twa02_.pack".to_owned(),
1748 "data_we.pack".to_owned(),
1749 "data_wp_.pack".to_owned(),
1750
1751 "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(),
1794 "models_2.pack".to_owned(),
1795 "models_gc.pack".to_owned(),
1796 "models2.pack".to_owned(),
1797 "models2_2.pack".to_owned(),
1798 "models2_gc.pack".to_owned(),
1799 "movies.pack".to_owned(),
1800 "movies_2.pack".to_owned(),
1801 "movies_sf.pack".to_owned(),
1802 "movies2.pack".to_owned(),
1803 "movies3.pack".to_owned(),
1804 "shaders.pack".to_owned(),
1805 "shaders_bl.pack".to_owned(),
1806 "terrain.pack".to_owned(),
1807 "terrain_2.pack".to_owned(),
1808 "terrain_gc.pack".to_owned(),
1809 "terrain2.pack".to_owned(),
1810 "terrain2_2.pack".to_owned(),
1811 "terrain2_gc.pack".to_owned(),
1812 "terrain3.pack".to_owned(),
1813 "terrain3_2.pack".to_owned(),
1814 "terrain3_gc.pack".to_owned(),
1815 "terrain4.pack".to_owned(),
1816 "terrain4_2.pack".to_owned(),
1817 "terrain5.pack".to_owned(),
1818 "terrain7.pack".to_owned(),
1819 "terrain7_2.pack".to_owned(),
1820 "terrain7_gc.pack".to_owned(),
1821 "terrain8.pack".to_owned(),
1822 "terrain8_2.pack".to_owned(),
1823 "terrain9.pack".to_owned(),
1824 "variants.pack".to_owned(),
1825 "variants_2.pack".to_owned(),
1826 "variants_bl.pack".to_owned(),
1827 "variants_dds.pack".to_owned(),
1828 "variants_dds_2.pack".to_owned(),
1829 "variants_dds_bl.pack".to_owned(),
1830 "variants_dds_gc.pack".to_owned(),
1831 "variants_dds_sb.pack".to_owned(),
1832 "variants_dds_sf.pack".to_owned(),
1833 "variants_dds_wp_.pack".to_owned(),
1834 "variants_dds2.pack".to_owned(),
1835 "variants_dds2_2.pack".to_owned(),
1836 "variants_dds2_sb.pack".to_owned(),
1837 "variants_dds2_sc.pack".to_owned(),
1838 "variants_dds2_sf_.pack".to_owned(),
1839 "variants_dds2_wp_.pack".to_owned(),
1840 "variants_gc.pack".to_owned(),
1841 "variants_hb.pack".to_owned(),
1842 "variants_sb.pack".to_owned(),
1843 "variants_sc.pack".to_owned(),
1844 "variants_sf_.pack".to_owned(),
1845 "variants_wp_.pack".to_owned(),
1846 "warmachines.pack".to_owned(),
1847 "warmachines_2.pack".to_owned(),
1848 "warmachines_hb.pack".to_owned(),
1849 ],
1850 use_manifest: false,
1851 store_id: 594_570,
1852 store_id_ak: 651_460,
1853 executable: "TotalWarhammer2.sh".to_owned(),
1854 data_path: "share/data/data".to_owned(),
1855 language_path: "share/data/data/localisation".to_owned(),
1856 local_mods_path: "share/data/data".to_owned(),
1857 downloaded_mods_path: "./../../workshop/content/594570".to_owned(),
1858 config_folder: None,
1859 });
1860
1861 data
1862 },
1863 tool_vars: {
1864 let mut vars = HashMap::new();
1865 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
1866 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
1867 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
1868
1869 vars.insert("faction_painter_banner_table_name".to_owned(), "faction_banners_tables".to_owned());
1870 vars.insert("faction_painter_banner_table_definition".to_owned(), "banner_definition".to_owned());
1871 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
1872 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "primary_hex".to_owned());
1873 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "secondary_hex".to_owned());
1874 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "tertiary_hex".to_owned());
1875 vars.insert("faction_painter_banner_row_key".to_owned(), "banner_row".to_owned());
1876
1877 vars.insert("faction_painter_uniform_table_name".to_owned(), "faction_uniform_colours_tables".to_owned());
1878 vars.insert("faction_painter_uniform_table_definition".to_owned(), "uniform_definition".to_owned());
1879 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "faction_name".to_owned());
1880 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "primary_colour_hex".to_owned());
1881 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "secondary_colour_hex".to_owned());
1882 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "tertiary_colour_hex".to_owned());
1883 vars.insert("faction_painter_uniform_row_key".to_owned(), "uniform_row".to_owned());
1884 vars
1885 },
1886 lua_autogen_folder: None,
1887 ak_lost_fields: vec![
1888 "_kv_battle_ai_ability_usage_variables/description".to_owned(),
1889 "_kv_experience_bonuses/description".to_owned(),
1890 "_kv_fatigue/description".to_owned(),
1891 "_kv_fire_values/description".to_owned(),
1892 "_kv_key_buildings/description".to_owned(),
1893 "_kv_morale/description".to_owned(),
1894 "_kv_naval_morale/description".to_owned(),
1895 "_kv_naval_rules/description".to_owned(),
1896 "_kv_rules/description".to_owned(),
1897 "_kv_ui_tweakers/description".to_owned(),
1898 "_kv_unit_ability_scaling_rules/description".to_owned(),
1899 "_kv_winds_of_magic_params/description".to_owned(),
1900 "achievements/game_expansion_key".to_owned(),
1901 "advice_levels/locatable".to_owned(),
1902 "ancillary_info/author".to_owned(),
1903 "ancillary_info/comment".to_owned(),
1904 "ancillary_info/historical_example".to_owned(),
1905 "audio_entity_types/game_expansion_key".to_owned(),
1906 "audio_markers/colour_blue".to_owned(),
1907 "audio_markers/colour_green".to_owned(),
1908 "audio_markers/colour_red".to_owned(),
1909 "audio_metadata_tags/colour_blue".to_owned(),
1910 "audio_metadata_tags/colour_green".to_owned(),
1911 "audio_metadata_tags/colour_red".to_owned(),
1912 "audio_metadata_tags/game_expansion_key".to_owned(),
1913 "audio_metadata_tags/path".to_owned(),
1914 "battle_animations_table/game_expansion_key".to_owned(),
1915 "battle_personalities/game_expansion_key".to_owned(),
1916 "battle_set_pieces/game_expansion_key".to_owned(),
1917 "battle_skeletons/game_expansion_key".to_owned(),
1918 "battles/game_expansion_key".to_owned(),
1919 "battles/objectives_team_1".to_owned(),
1920 "battles/objectives_team_2".to_owned(),
1921 "building_chains/encyclopedia_group".to_owned(),
1922 "building_chains/encyclopedia_include_in_index".to_owned(),
1923 "building_culture_variants/flavour".to_owned(),
1924 "building_levels/commodity_vol".to_owned(),
1925 "campaign_ai_managers/description".to_owned(),
1926 "campaign_map_playable_areas/game_expansion_key".to_owned(),
1927 "campaign_map_playable_areas/maxy".to_owned(),
1928 "campaign_map_playable_areas/miny".to_owned(),
1929 "campaign_map_playable_areas/preview_border".to_owned(),
1930 "campaign_payload_ui_details/comment".to_owned(),
1931 "campaign_settlement_display_building_ids/sub_culture".to_owned(),
1932 "campaign_tree_types/game_expansion_key".to_owned(),
1933 "campaign_variables/description".to_owned(),
1934 "campaigns/game_expansion_key".to_owned(),
1935 "cdir_events_mission_option_junctions/game_expansion_key".to_owned(),
1936 "cdir_military_generator_configs/game_expansion_key".to_owned(),
1937 "cdir_military_generator_templates/game_expansion_key".to_owned(),
1938 "character_skill_level_to_effects_junctions/is_factionwide".to_owned(),
1939 "character_skills/pre_battle_speech_parameter".to_owned(),
1940 "character_traits/author".to_owned(),
1941 "character_traits/comment".to_owned(),
1942 "deployables/icon_name".to_owned(),
1943 "diplomatic_relations_religion/relations_modifier".to_owned(),
1944 "faction_groups/ui_icon".to_owned(),
1945 "factions/game_expansion_key".to_owned(),
1946 "frontend_faction_leaders/game_expansion_key".to_owned(),
1947 "government_types/elected_ministers".to_owned(),
1948 "government_types/hereditary_ministers".to_owned(),
1949 "government_types/rank".to_owned(),
1950 "land_units/game_expansion_key".to_owned(),
1951 "loading_screen_quotes/game_expansion_key".to_owned(),
1952 "mercenary_pool_to_groups_junctions/game_expansion_key".to_owned(),
1953
1954 "models_building/cs2_file".to_owned(),
1956 "models_building/model_file".to_owned(),
1957 "models_building/tech_file".to_owned(),
1958
1959 "names/nobility".to_owned(),
1960 "names_groups/Description".to_owned(),
1961 "names_groups/ID".to_owned(),
1962 "names_groups/game_expansion_key".to_owned(),
1963 "pdlc/game_expansion_key".to_owned(),
1964 "projectiles/game_expansion_key".to_owned(),
1965 "regions/in_encyclopedia".to_owned(),
1966 "regions/is_sea".to_owned(),
1967 "ritual_chains/description".to_owned(),
1968 "scripted_objectives/game_expansion_key".to_owned(),
1969 "start_pos_calendars/unique".to_owned(),
1970 "start_pos_character_ancillaries/unique".to_owned(),
1971 "start_pos_character_to_settlements/unique".to_owned(),
1972 "start_pos_character_traits/unique".to_owned(),
1973 "start_pos_diplomacy/relations_modifier".to_owned(),
1974 "start_pos_diplomacy/unique".to_owned(),
1975 "start_pos_faction_effect_bundles/unique".to_owned(),
1976 "start_pos_factions/unique".to_owned(),
1977 "start_pos_family_relationships/unique".to_owned(),
1978 "start_pos_land_units/unique".to_owned(),
1979 "start_pos_naval_units/unique".to_owned(),
1980 "start_pos_past_events/unique".to_owned(),
1981 "start_pos_region_religions/unique".to_owned(),
1982 "start_pos_region_slot_templates/unique".to_owned(),
1983 "start_pos_regions/unique".to_owned(),
1984 "start_pos_regions_to_unit_resources/unique".to_owned(),
1985 "start_pos_settlement_garrisons/unique".to_owned(),
1986 "start_pos_settlements/unique".to_owned(),
1987 "start_pos_technologies/unique".to_owned(),
1988 "start_pos_victory_conditions/unique".to_owned(),
1989 "technologies/in_encyclopedia".to_owned(),
1990 "technology_node_sets/game_expansion_key".to_owned(),
1991 "trait_info/applicable_to".to_owned(),
1992 "trigger_events/from_ui".to_owned(),
1993 "trigger_events/game_expansion_key".to_owned(),
1994 "videos/game_expansion_key".to_owned(),
1995 "warscape_animated/game_expansion_key".to_owned(),
1996 ],
1997 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
1998 compression_formats_supported: vec![
1999 CompressionFormat::Lzma1
2000 ],
2001 max_cs2_parsed_version: 0
2002 });
2003
2004 game_list.insert(KEY_WARHAMMER, GameInfo {
2006 key: KEY_WARHAMMER,
2007 display_name: DISPLAY_NAME_WARHAMMER,
2008 pfh_versions: {
2009 let mut data = HashMap::new();
2010 data.insert(PFHFileType::Boot, PFHVersion::PFH4);
2011 data.insert(PFHFileType::Release, PFHVersion::PFH4);
2012 data.insert(PFHFileType::Patch, PFHVersion::PFH4);
2013 data.insert(PFHFileType::Mod, PFHVersion::PFH4);
2014 data.insert(PFHFileType::Movie, PFHVersion::PFH4);
2015 data
2016 },
2017 schema_file_name: "schema_wh.ron".to_owned(),
2018 dependencies_cache_file_name: "wh.pak2".to_owned(),
2019 raw_db_version: 2,
2020 portrait_settings_version: None,
2021 supports_editing: true,
2022 db_tables_have_guid: true,
2023 locale_file_name: Some("language.txt".to_owned()),
2024 banned_packedfiles: vec![],
2025 icon_small: "gs_wh.png".to_owned(),
2026 icon_big: "gs_big_wh.png".to_owned(),
2027 vanilla_db_table_name_logic: VanillaDBTableNameLogic::FolderName,
2028 install_data: {
2029 let mut data = HashMap::new();
2030 data.insert(InstallType::WinSteam, InstallData {
2031 vanilla_packs: vec![],
2032 use_manifest: true,
2033 store_id: 364_360,
2034 store_id_ak: 463_690,
2035 executable: "Warhammer.exe".to_owned(),
2036 data_path: "data".to_owned(),
2037 language_path: "data".to_owned(),
2038 local_mods_path: "data".to_owned(),
2039 downloaded_mods_path: "./../../workshop/content/364360".to_owned(),
2040 config_folder: Some("Warhammer".to_owned())
2041 });
2042
2043 data.insert(InstallType::LnxSteam, InstallData {
2044 vanilla_packs: vec![
2045 "boot.pack".to_owned(),
2046 "data.pack".to_owned(),
2047 "data_bl.pack".to_owned(),
2048 "data_bm.pack".to_owned(),
2049 "data_ch.pack".to_owned(),
2050 "data_m.pack".to_owned(),
2051 "data_no.pack".to_owned(),
2052 "data_we.pack".to_owned(),
2053 "data_we_m.pack".to_owned(),
2054
2055 "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(),
2112 "movies.pack".to_owned(),
2113 "shaders.pack".to_owned(),
2114 "shaders_bl.pack".to_owned(),
2115 "terrain.pack".to_owned(),
2116 "terrain2.pack".to_owned(),
2117 "terrain3.pack".to_owned(),
2118 "terrain4.pack".to_owned(),
2119 "terrain5.pack".to_owned(),
2120 "terrain6.pack".to_owned(),
2121 "terrain7.pack".to_owned(),
2122 "variants.pack".to_owned(),
2123 "variants_bl.pack".to_owned(),
2124 "variants_dds.pack".to_owned(),
2125 "variants_dds_bl.pack".to_owned(),
2126 ],
2127 use_manifest: false,
2128 store_id: 364_360,
2129 store_id_ak: 463_690,
2130 executable: "TotalWarhammer.sh".to_owned(),
2131 data_path: "share/data/data".to_owned(),
2132 language_path: "share/data/data".to_owned(),
2133 local_mods_path: "share/data/data".to_owned(),
2134 downloaded_mods_path: "./../../workshop/content/364360".to_owned(),
2135 config_folder: None,
2136 });
2137
2138 data
2139 },
2140 tool_vars: {
2141 let mut vars = HashMap::new();
2142 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
2143 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
2144 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
2145
2146 vars.insert("faction_painter_banner_table_name".to_owned(), "faction_banners_tables".to_owned());
2147 vars.insert("faction_painter_banner_table_definition".to_owned(), "banner_definition".to_owned());
2148 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
2149 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "primary_hex".to_owned());
2150 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "secondary_hex".to_owned());
2151 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "tertiary_hex".to_owned());
2152 vars.insert("faction_painter_banner_row_key".to_owned(), "banner_row".to_owned());
2153
2154 vars.insert("faction_painter_uniform_table_name".to_owned(), "faction_uniform_colours_tables".to_owned());
2155 vars.insert("faction_painter_uniform_table_definition".to_owned(), "uniform_definition".to_owned());
2156 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "faction_name".to_owned());
2157 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "primary_colour_hex".to_owned());
2158 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "secondary_colour_hex".to_owned());
2159 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "tertiary_colour_hex".to_owned());
2160 vars.insert("faction_painter_uniform_row_key".to_owned(), "uniform_row".to_owned());
2161 vars
2162 },
2163 lua_autogen_folder: None,
2164 ak_lost_fields: vec![
2165 "_kv_battle_ai_ability_usage_variables/description".to_owned(),
2166 "_kv_experience_bonuses/description".to_owned(),
2167 "_kv_fatigue/description".to_owned(),
2168 "_kv_fire_values/description".to_owned(),
2169 "_kv_key_buildings/description".to_owned(),
2170 "_kv_morale/description".to_owned(),
2171 "_kv_naval_morale/description".to_owned(),
2172 "_kv_naval_rules/description".to_owned(),
2173 "_kv_rules/description".to_owned(),
2174 "_kv_ui_tweakers/description".to_owned(),
2175 "_kv_unit_ability_scaling_rules/description".to_owned(),
2176 "_kv_winds_of_magic_params/description".to_owned(),
2177 "achievements/game_expansion_key".to_owned(),
2178 "advice_levels/locatable".to_owned(),
2179 "ancillary_info/author".to_owned(),
2180 "ancillary_info/comment".to_owned(),
2181 "ancillary_info/historical_example".to_owned(),
2182 "audio_entity_types/game_expansion_key".to_owned(),
2183 "audio_markers/colour_blue".to_owned(),
2184 "audio_markers/colour_green".to_owned(),
2185 "audio_markers/colour_red".to_owned(),
2186 "audio_metadata_tags/colour_blue".to_owned(),
2187 "audio_metadata_tags/colour_green".to_owned(),
2188 "audio_metadata_tags/colour_red".to_owned(),
2189 "audio_metadata_tags/game_expansion_key".to_owned(),
2190 "audio_metadata_tags/path".to_owned(),
2191 "battle_animations_table/game_expansion_key".to_owned(),
2192 "battle_personalities/game_expansion_key".to_owned(),
2193 "battle_set_pieces/game_expansion_key".to_owned(),
2194 "battle_skeletons/game_expansion_key".to_owned(),
2195 "battles/game_expansion_key".to_owned(),
2196 "battles/objectives_team_1".to_owned(),
2197 "battles/objectives_team_2".to_owned(),
2198 "building_chains/encyclopedia_group".to_owned(),
2199 "building_chains/encyclopedia_include_in_index".to_owned(),
2200 "building_culture_variants/flavour".to_owned(),
2201 "building_levels/commodity_vol".to_owned(),
2202 "campaign_ai_managers/description".to_owned(),
2203 "campaign_map_playable_areas/game_expansion_key".to_owned(),
2204 "campaign_map_playable_areas/maxy".to_owned(),
2205 "campaign_map_playable_areas/miny".to_owned(),
2206 "campaign_map_playable_areas/preview_border".to_owned(),
2207 "campaign_payload_ui_details/comment".to_owned(),
2208 "campaign_settlement_display_building_ids/sub_culture".to_owned(),
2209 "campaign_tree_types/game_expansion_key".to_owned(),
2210 "campaign_variables/description".to_owned(),
2211 "campaigns/game_expansion_key".to_owned(),
2212 "cdir_events_mission_option_junctions/game_expansion_key".to_owned(),
2213 "cdir_military_generator_configs/game_expansion_key".to_owned(),
2214 "cdir_military_generator_templates/game_expansion_key".to_owned(),
2215 "character_skill_level_to_effects_junctions/is_factionwide".to_owned(),
2216 "character_skills/pre_battle_speech_parameter".to_owned(),
2217 "character_traits/author".to_owned(),
2218 "character_traits/comment".to_owned(),
2219 "deployables/icon_name".to_owned(),
2220 "diplomatic_relations_religion/relations_modifier".to_owned(),
2221 "experience_triggers/condition".to_owned(),
2222 "experience_triggers/event".to_owned(),
2223 "experience_triggers/target".to_owned(),
2224 "faction_groups/ui_icon".to_owned(),
2225 "factions/game_expansion_key".to_owned(),
2226 "frontend_faction_leaders/game_expansion_key".to_owned(),
2227 "government_types/elected_ministers".to_owned(),
2228 "government_types/hereditary_ministers".to_owned(),
2229 "government_types/rank".to_owned(),
2230 "land_units/game_expansion_key".to_owned(),
2231 "loading_screen_quotes/game_expansion_key".to_owned(),
2232 "mercenary_pool_to_groups_junctions/game_expansion_key".to_owned(),
2233 "names/nobility".to_owned(),
2234 "names_groups/Description".to_owned(),
2235 "names_groups/ID".to_owned(),
2236 "names_groups/game_expansion_key".to_owned(),
2237 "pdlc/game_expansion_key".to_owned(),
2238
2239 "plagues/military_force_effects_bundle".to_owned(),
2241 "plagues/region_effect_bundle".to_owned(),
2242
2243 "projectiles/game_expansion_key".to_owned(),
2244 "regions/in_encyclopedia".to_owned(),
2245 "regions/is_sea".to_owned(),
2246 "scripted_objectives/game_expansion_key".to_owned(),
2247 "start_pos_calendars/unique".to_owned(),
2248 "start_pos_character_ancillaries/unique".to_owned(),
2249 "start_pos_character_to_settlements/unique".to_owned(),
2250 "start_pos_character_traits/unique".to_owned(),
2251 "start_pos_diplomacy/relations_modifier".to_owned(),
2252 "start_pos_diplomacy/unique".to_owned(),
2253 "start_pos_factions/unique".to_owned(),
2254 "start_pos_land_units/unique".to_owned(),
2255 "start_pos_past_events/unique".to_owned(),
2256 "start_pos_region_religions/unique".to_owned(),
2257 "start_pos_region_slot_templates/unique".to_owned(),
2258 "start_pos_regions/unique".to_owned(),
2259 "start_pos_settlements/unique".to_owned(),
2260 "start_pos_technologies/unique".to_owned(),
2261 "start_pos_victory_conditions/unique".to_owned(),
2262 "technologies/in_encyclopedia".to_owned(),
2263 "trait_info/applicable_to".to_owned(),
2264 "trigger_effects/game_expansion_key".to_owned(),
2265 "trigger_events/from_ui".to_owned(),
2266 "trigger_events/game_expansion_key".to_owned(),
2267 "warscape_animated/game_expansion_key".to_owned(),
2268 ],
2269 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
2270 compression_formats_supported: vec![],
2271 max_cs2_parsed_version: 0
2272 });
2273
2274 game_list.insert(KEY_THRONES_OF_BRITANNIA, GameInfo {
2276 key: KEY_THRONES_OF_BRITANNIA,
2277 display_name: DISPLAY_NAME_THRONES_OF_BRITANNIA,
2278 pfh_versions: {
2279 let mut data = HashMap::new();
2280 data.insert(PFHFileType::Boot, PFHVersion::PFH4);
2281 data.insert(PFHFileType::Release, PFHVersion::PFH4);
2282 data.insert(PFHFileType::Patch, PFHVersion::PFH4);
2283 data.insert(PFHFileType::Mod, PFHVersion::PFH4);
2284 data.insert(PFHFileType::Movie, PFHVersion::PFH4);
2285 data
2286 },
2287 schema_file_name: "schema_tob.ron".to_owned(),
2288 dependencies_cache_file_name: "tob.pak2".to_owned(),
2289 raw_db_version: 2,
2290 portrait_settings_version: None,
2291 supports_editing: true,
2292 db_tables_have_guid: true,
2293 locale_file_name: Some("language.txt".to_owned()),
2294 banned_packedfiles: vec![],
2295 icon_small: "gs_tob.png".to_owned(),
2296 icon_big: "gs_big_tob.png".to_owned(),
2297 vanilla_db_table_name_logic: VanillaDBTableNameLogic::FolderName,
2298 install_data: {
2299 let mut data = HashMap::new();
2300 data.insert(InstallType::WinSteam, InstallData {
2301 vanilla_packs: vec![],
2302 use_manifest: true,
2303 store_id: 712_100,
2304 store_id_ak: 817_480,
2305 executable: "thrones.exe".to_owned(),
2306 data_path: "data".to_owned(),
2307 language_path: "data".to_owned(),
2308 local_mods_path: "data".to_owned(),
2309 downloaded_mods_path: "./../../workshop/content/712100".to_owned(),
2310 config_folder: Some("ThronesofBritannia".to_owned())
2311 });
2312
2313 data.insert(InstallType::LnxSteam, InstallData {
2314 vanilla_packs: vec![
2315 "blood.pack".to_owned(),
2316 "boot.pack".to_owned(),
2317 "data.pack".to_owned(),
2318 "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(),
2332 "models2.pack".to_owned(),
2333 "models3.pack".to_owned(),
2334 "movies.pack".to_owned(),
2335 "music.pack".to_owned(),
2336 "sound.pack".to_owned(),
2337 "terrain.pack".to_owned(),
2338 "terrain2.pack".to_owned(),
2339 "tiles.pack".to_owned(),
2340 "tiles2.pack".to_owned(),
2341 "tiles3.pack".to_owned(),
2342 "tiles4.pack".to_owned(),
2343 "viking.pack".to_owned(),
2344 ],
2345 use_manifest: false,
2346 store_id: 712_100,
2347 store_id_ak: 817_480,
2348 executable: "ThronesOfBritannia.sh".to_owned(),
2349 data_path: "share/data/data".to_owned(),
2350 language_path: "share/data/data".to_owned(),
2351 local_mods_path: "share/data/data".to_owned(),
2352 downloaded_mods_path: "./../../workshop/content/712100".to_owned(),
2353 config_folder: None,
2354 });
2355
2356 data
2357 },
2358 tool_vars: {
2359 let mut vars = HashMap::new();
2360 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
2361 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
2362 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
2363
2364 vars.insert("faction_painter_banner_table_name".to_owned(), "faction_banners_tables".to_owned());
2365 vars.insert("faction_painter_banner_table_definition".to_owned(), "banner_definition".to_owned());
2366 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
2367 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "primary_hex".to_owned());
2368 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "secondary_hex".to_owned());
2369 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "tertiary_hex".to_owned());
2370 vars.insert("faction_painter_banner_row_key".to_owned(), "banner_row".to_owned());
2371
2372 vars.insert("faction_painter_uniform_table_name".to_owned(), "faction_uniform_colours_tables".to_owned());
2373 vars.insert("faction_painter_uniform_table_definition".to_owned(), "uniform_definition".to_owned());
2374 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "faction_name".to_owned());
2375 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "primary_colour_hex".to_owned());
2376 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "secondary_colour_hex".to_owned());
2377 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "tertiary_colour_hex".to_owned());
2378 vars.insert("faction_painter_uniform_row_key".to_owned(), "uniform_row".to_owned());
2379 vars
2380 },
2381 lua_autogen_folder: None,
2382 ak_lost_fields: vec![
2383 "_kv_experience_bonuses/description".to_owned(),
2384 "_kv_fatigue/description".to_owned(),
2385 "_kv_fire_values/description".to_owned(),
2386 "_kv_key_buildings/description".to_owned(),
2387 "_kv_morale/description".to_owned(),
2388 "_kv_naval_morale/description".to_owned(),
2389 "_kv_naval_rules/description".to_owned(),
2390 "_kv_rules/description".to_owned(),
2391
2392 "ancillaries/effect_text".to_owned(),
2394
2395 "ancillary_info/author".to_owned(),
2396 "ancillary_info/comment".to_owned(),
2397 "ancillary_info/historical_example".to_owned(),
2398 "battlefield_building_transformations/description".to_owned(),
2399
2400 "battlefield_buildings/blood_pack_model_override_folder".to_owned(),
2402
2403 "battles/objectives_team_1".to_owned(),
2404 "battles/objectives_team_2".to_owned(),
2405 "building_chains/encyclopedia_group".to_owned(),
2406 "building_chains/encyclopedia_include_in_index".to_owned(),
2407 "building_levels/building_category".to_owned(),
2408 "campaign_ai_managers/description".to_owned(),
2409 "campaign_payload_ui_details/comment".to_owned(),
2410 "campaign_variables/description".to_owned(),
2411 "campaigns/data_directory".to_owned(),
2412
2413 "campaigns/encyclopedia_name_override".to_owned(),
2415
2416 "character_skill_level_to_effects_junctions/is_factionwide".to_owned(),
2417
2418 "character_trait_levels/effect_text".to_owned(),
2420
2421 "character_traits/author".to_owned(),
2422 "character_traits/comment".to_owned(),
2423 "deployables/in_encyclopaedia".to_owned(),
2424 "encyclopedia_blocks/video".to_owned(),
2425 "experience_triggers/condition".to_owned(),
2426 "experience_triggers/event".to_owned(),
2427 "experience_triggers/target".to_owned(),
2428
2429 "incident_heading_texts/localised_heading_text".to_owned(),
2431
2432 "models_building/cs2_file".to_owned(),
2434 "models_building/logic_file".to_owned(),
2435 "models_building/model_file".to_owned(),
2436
2437 "models_sieges/logic_file".to_owned(),
2439
2440 "mount_variants/key".to_owned(),
2442
2443 "multiplayer_mininum_length_funds/description".to_owned(),
2444 "names/nobility".to_owned(),
2445 "names_groups/Description".to_owned(),
2446 "names_groups/ID".to_owned(),
2447 "projectiles_explosions/non_lethal_detonation".to_owned(),
2448 "regions/in_encyclopedia".to_owned(),
2449 "regions/palette_entry".to_owned(),
2450
2451 "sound_events/name".to_owned(),
2453
2454 "start_pos_diplomacy/relations_modifier".to_owned(),
2455 "technologies/in_encyclopedia".to_owned(),
2456 "technology_node_links/encyclopedia_child_link_position".to_owned(),
2457 "technology_node_links/encyclopedia_parent_link_position".to_owned(),
2458 "trigger_events/from_ui".to_owned(),
2459 "unit_class/icon".to_owned(),
2460 "warscape_underlay_textures/height".to_owned(),
2461 "warscape_underlay_textures/orientation-angle".to_owned(),
2462 "warscape_underlay_textures/width".to_owned(),
2463 ],
2464 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
2465 compression_formats_supported: vec![],
2466 max_cs2_parsed_version: 13
2467 });
2468
2469 game_list.insert(KEY_ATTILA, GameInfo {
2471 key: KEY_ATTILA,
2472 display_name: DISPLAY_NAME_ATTILA,
2473 pfh_versions: {
2474 let mut data = HashMap::new();
2475 data.insert(PFHFileType::Boot, PFHVersion::PFH4);
2476 data.insert(PFHFileType::Release, PFHVersion::PFH4);
2477 data.insert(PFHFileType::Patch, PFHVersion::PFH4);
2478 data.insert(PFHFileType::Mod, PFHVersion::PFH4);
2479 data.insert(PFHFileType::Movie, PFHVersion::PFH4);
2480 data
2481 },
2482 schema_file_name: "schema_att.ron".to_owned(),
2483 dependencies_cache_file_name: "att.pak2".to_owned(),
2484 raw_db_version: 2,
2485 portrait_settings_version: None,
2486 supports_editing: true,
2487 db_tables_have_guid: true,
2488 locale_file_name: Some("language.txt".to_owned()),
2489 banned_packedfiles: vec![],
2490 icon_small: "gs_att.png".to_owned(),
2491 icon_big: "gs_big_att.png".to_owned(),
2492 vanilla_db_table_name_logic: VanillaDBTableNameLogic::FolderName,
2493 install_data: {
2494 let mut data = HashMap::new();
2495 data.insert(InstallType::WinSteam, InstallData {
2496 vanilla_packs: vec![
2497 "belisarius.pack".to_owned(),
2498 "blood.pack".to_owned(),
2499 "boot.pack".to_owned(),
2500 "charlemagne.pack".to_owned(),
2501 "data.pack".to_owned(),
2502
2503 "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(),
2516 "models2.pack".to_owned(),
2517 "models3.pack".to_owned(),
2518 "movies.pack".to_owned(),
2519 "music.pack".to_owned(),
2520
2521 "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(),
2530 "sound.pack".to_owned(),
2531 "terrain.pack".to_owned(),
2532 "terrain2.pack".to_owned(),
2533 "tiles.pack".to_owned(),
2534 "tiles2.pack".to_owned(),
2535 "tiles3.pack".to_owned(),
2536 "tiles4.pack".to_owned(),
2537 ],
2538 use_manifest: false,
2540 store_id: 325_610,
2541 store_id_ak: 343_660,
2542 executable: "Attila.exe".to_owned(),
2543 data_path: "data".to_owned(),
2544 language_path: "data".to_owned(),
2545 local_mods_path: "data".to_owned(),
2546 downloaded_mods_path: "./../../workshop/content/325610".to_owned(),
2547 config_folder: Some("Attila".to_owned())
2548 });
2549
2550 data.insert(InstallType::LnxSteam, InstallData {
2552 vanilla_packs: vec![],
2553 use_manifest: true,
2554 store_id: 325_610,
2555 store_id_ak: 343_660,
2556 executable: "Attila".to_owned(),
2557 data_path: "data".to_owned(),
2558 language_path: "data".to_owned(),
2559 local_mods_path: "data".to_owned(),
2560 downloaded_mods_path: "./../../workshop/content/325610".to_owned(),
2561 config_folder: None,
2562 });
2563
2564 data
2565 },
2566 tool_vars: {
2567 let mut vars = HashMap::new();
2568 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
2569 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
2570 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
2571
2572 vars.insert("faction_painter_banner_table_name".to_owned(), "faction_banners_tables".to_owned());
2573 vars.insert("faction_painter_banner_table_definition".to_owned(), "banner_definition".to_owned());
2574 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
2575 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "primary_hex".to_owned());
2576 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "secondary_hex".to_owned());
2577 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "tertiary_hex".to_owned());
2578 vars.insert("faction_painter_banner_row_key".to_owned(), "banner_row".to_owned());
2579
2580 vars.insert("faction_painter_uniform_table_name".to_owned(), "faction_uniform_colours_tables".to_owned());
2581 vars.insert("faction_painter_uniform_table_definition".to_owned(), "uniform_definition".to_owned());
2582 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "faction_name".to_owned());
2583 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "primary_colour_hex".to_owned());
2584 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "secondary_colour_hex".to_owned());
2585 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "tertiary_colour_hex".to_owned());
2586 vars.insert("faction_painter_uniform_row_key".to_owned(), "uniform_row".to_owned());
2587 vars
2588 },
2589 lua_autogen_folder: None,
2590 ak_lost_fields: vec![
2591 "_kv_experience_bonuses/description".to_owned(),
2592 "_kv_fatigue/description".to_owned(),
2593 "_kv_fire_values/description".to_owned(),
2594 "_kv_key_buildings/description".to_owned(),
2595 "_kv_morale/description".to_owned(),
2596 "_kv_naval_morale/description".to_owned(),
2597 "_kv_naval_rules/description".to_owned(),
2598 "_kv_rules/description".to_owned(),
2599
2600 "ancillaries/effect_text".to_owned(),
2602
2603 "ancillary_info/author".to_owned(),
2604 "ancillary_info/comment".to_owned(),
2605 "ancillary_info/historical_example".to_owned(),
2606 "battlefield_building_transformations/description".to_owned(),
2607
2608 "battlefield_buildings/blood_pack_model_override_folder".to_owned(),
2610
2611 "battles/objectives_team_1".to_owned(),
2612 "battles/objectives_team_2".to_owned(),
2613 "building_chains/encyclopedia_group".to_owned(),
2614 "building_chains/encyclopedia_include_in_index".to_owned(),
2615 "building_levels/building_category".to_owned(),
2616 "campaign_ai_managers/description".to_owned(),
2617 "campaign_payload_ui_details/comment".to_owned(),
2618 "campaign_variables/description".to_owned(),
2619 "campaigns/data_directory".to_owned(),
2620 "character_skill_level_to_effects_junctions/is_factionwide".to_owned(),
2621
2622 "character_trait_levels/effect_text".to_owned(),
2624
2625 "character_traits/author".to_owned(),
2626 "character_traits/comment".to_owned(),
2627 "deployables/in_encyclopaedia".to_owned(),
2628 "encyclopedia_blocks/video".to_owned(),
2629 "experience_triggers/condition".to_owned(),
2630 "experience_triggers/event".to_owned(),
2631 "experience_triggers/target".to_owned(),
2632
2633 "incident_heading_texts/localised_heading_text".to_owned(),
2635
2636 "models_building/cs2_file".to_owned(),
2638 "models_building/model_file".to_owned(),
2639
2640 "models_sieges/display_path".to_owned(),
2642 "models_sieges/logic_file".to_owned(),
2643 "models_sieges/model_file".to_owned(),
2644
2645 "mount_variants/key".to_owned(),
2646 "multiplayer_mininum_length_funds/description".to_owned(),
2647 "names/nobility".to_owned(),
2648 "names_groups/Description".to_owned(),
2649 "names_groups/ID".to_owned(),
2650 "projectiles_explosions/non_lethal_detonation".to_owned(),
2651 "regions/in_encyclopedia".to_owned(),
2652 "regions/palette_entry".to_owned(),
2653
2654 "sound_events/name".to_owned(),
2656
2657 "start_pos_diplomacy/relations_modifier".to_owned(),
2658 "technologies/in_encyclopedia".to_owned(),
2659 "technology_node_links/encyclopedia_child_link_position".to_owned(),
2660 "technology_node_links/encyclopedia_parent_link_position".to_owned(),
2661 "trigger_events/from_ui".to_owned(),
2662 "unit_class/icon".to_owned(),
2663 "warscape_underlay_textures/height".to_owned(),
2664 "warscape_underlay_textures/orientation-angle".to_owned(),
2665 "warscape_underlay_textures/width".to_owned(),
2666 ],
2667 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
2668 compression_formats_supported: vec![],
2669 max_cs2_parsed_version: 13
2670 });
2671
2672 game_list.insert(KEY_ROME_2, GameInfo {
2674 key: KEY_ROME_2,
2675 display_name: DISPLAY_NAME_ROME_2,
2676 pfh_versions: {
2677 let mut data = HashMap::new();
2678 data.insert(PFHFileType::Boot, PFHVersion::PFH4);
2679 data.insert(PFHFileType::Release, PFHVersion::PFH4);
2680 data.insert(PFHFileType::Patch, PFHVersion::PFH4);
2681 data.insert(PFHFileType::Mod, PFHVersion::PFH4);
2682 data.insert(PFHFileType::Movie, PFHVersion::PFH4);
2683 data
2684 },
2685 schema_file_name: "schema_rom2.ron".to_owned(),
2686 dependencies_cache_file_name: "rom2.pak2".to_owned(),
2687 raw_db_version: 2,
2688 portrait_settings_version: None,
2689 supports_editing: true,
2690 db_tables_have_guid: true,
2691 locale_file_name: Some("language.txt".to_owned()),
2692 banned_packedfiles: vec![],
2693 icon_small: "gs_rom2.png".to_owned(),
2694 icon_big: "gs_big_rom2.png".to_owned(),
2695 vanilla_db_table_name_logic: VanillaDBTableNameLogic::FolderName,
2696 install_data: {
2697 let mut data = HashMap::new();
2698 data.insert(InstallType::WinSteam, InstallData {
2699 vanilla_packs: vec![
2700 "blood_rome2.pack".to_owned(),
2701 "boot.pack".to_owned(),
2702 "data.pack".to_owned(),
2703 "data_rome2.pack".to_owned(),
2704 "divided.pack".to_owned(),
2705 "gaul.pack".to_owned(),
2706 "greeks.pack".to_owned(),
2707 "invasion.pack".to_owned(),
2708
2709 "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(),
2722 "models_rome2.pack".to_owned(),
2723 "models2.pack".to_owned(),
2724 "models2_rome2.pack".to_owned(),
2725 "models3_rome2.pack".to_owned(),
2726 "movies.pack".to_owned(),
2727 "movies_rome2.pack".to_owned(),
2728 "music.pack".to_owned(),
2729 "music_rome2.pack".to_owned(),
2730
2731 "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(),
2740 "sound.pack".to_owned(),
2741 "sound_rome2.pack".to_owned(),
2742 "terrain.pack".to_owned(),
2743 "terrain_rome2.pack".to_owned(),
2744 "terrain2.pack".to_owned(),
2745 "terrain2_rome2.pack".to_owned(),
2746 "terrain3_rome2.pack".to_owned(),
2747 "tiles.pack".to_owned(),
2748 "tiles_rome2.pack".to_owned(),
2749 "tiles2.pack".to_owned(),
2750 "tiles2_rome2.pack".to_owned(),
2751 "tiles3.pack".to_owned(),
2752 "tiles3_rome2.pack".to_owned(),
2753 "tiles4.pack".to_owned(),
2754 "tiles4_rome2.pack".to_owned()
2755 ],
2756 use_manifest: false,
2757 store_id: 214_950,
2758 store_id_ak: 267_180,
2759 executable: "Rome2.exe".to_owned(),
2760 data_path: "data".to_owned(),
2761 language_path: "data".to_owned(),
2762 local_mods_path: "data".to_owned(),
2763 downloaded_mods_path: "./../../workshop/content/214950".to_owned(),
2764 config_folder: Some("Rome2".to_owned()),
2765 });
2766
2767 data
2768 },
2769 tool_vars: {
2770 let mut vars = HashMap::new();
2771 vars.insert("faction_painter_factions_table_name".to_owned(), "factions_tables".to_owned());
2772 vars.insert("faction_painter_factions_table_definition".to_owned(), "factions_definition".to_owned());
2773 vars.insert("faction_painter_factions_row_key".to_owned(), "faction_row".to_owned());
2774
2775 vars.insert("faction_painter_banner_table_name".to_owned(), "faction_banners_tables".to_owned());
2776 vars.insert("faction_painter_banner_table_definition".to_owned(), "banner_definition".to_owned());
2777 vars.insert("faction_painter_banner_key_column_name".to_owned(), "key".to_owned());
2778 vars.insert("faction_painter_banner_primary_colour_column_name".to_owned(), "primary_hex".to_owned());
2779 vars.insert("faction_painter_banner_secondary_colour_column_name".to_owned(), "secondary_hex".to_owned());
2780 vars.insert("faction_painter_banner_tertiary_colour_column_name".to_owned(), "tertiary_hex".to_owned());
2781 vars.insert("faction_painter_banner_row_key".to_owned(), "banner_row".to_owned());
2782
2783 vars.insert("faction_painter_uniform_table_name".to_owned(), "faction_uniform_colours_tables".to_owned());
2784 vars.insert("faction_painter_uniform_table_definition".to_owned(), "uniform_definition".to_owned());
2785 vars.insert("faction_painter_uniform_key_column_name".to_owned(), "faction_name".to_owned());
2786 vars.insert("faction_painter_uniform_primary_colour_column_name".to_owned(), "primary_colour_hex".to_owned());
2787 vars.insert("faction_painter_uniform_secondary_colour_column_name".to_owned(), "secondary_colour_hex".to_owned());
2788 vars.insert("faction_painter_uniform_tertiary_colour_column_name".to_owned(), "tertiary_colour_hex".to_owned());
2789 vars.insert("faction_painter_uniform_row_key".to_owned(), "uniform_row".to_owned());
2790 vars
2791 },
2792 lua_autogen_folder: None,
2793 ak_lost_fields: vec![
2794 "_kv_experience_bonuses/description".to_owned(),
2795 "_kv_fatigue/description".to_owned(),
2796 "_kv_key_buildings/description".to_owned(),
2797 "_kv_morale/description".to_owned(),
2798 "_kv_naval_morale/description".to_owned(),
2799 "_kv_rules/description".to_owned(),
2800
2801 "ancillaries/effect_text".to_owned(),
2803
2804 "ancillary_info/author".to_owned(),
2805 "ancillary_info/comment".to_owned(),
2806 "ancillary_info/historical_example".to_owned(),
2807
2808 "banditry_events/duration".to_owned(),
2811
2812 "battlefield_building_transformations/description".to_owned(),
2813 "battles/objectives_team_1".to_owned(),
2814 "battles/objectives_team_2".to_owned(),
2815 "building_chains/encyclopedia_group".to_owned(),
2816 "building_chains/encyclopedia_include_in_index".to_owned(),
2817 "building_levels/building_category".to_owned(),
2818 "campaign_ai_managers/description".to_owned(),
2819 "campaign_ai_personalities/description".to_owned(),
2820 "campaign_variables/description".to_owned(),
2821 "campaigns/data_directory".to_owned(),
2822 "character_skill_level_to_effects_junctions/is_factionwide".to_owned(),
2823
2824 "character_trait_levels/effect_text".to_owned(),
2826
2827 "character_traits/author".to_owned(),
2828 "character_traits/comment".to_owned(),
2829 "deployables/in_encyclopaedia".to_owned(),
2830 "encyclopedia_blocks/video".to_owned(),
2831 "event_log_descriptions/notes".to_owned(),
2832 "experience_triggers/condition".to_owned(),
2833 "experience_triggers/event".to_owned(),
2834 "experience_triggers/target".to_owned(),
2835
2836 "incident_heading_texts/localised_heading_text".to_owned(),
2838
2839 "mount_variants/key".to_owned(),
2840 "multiplayer_mininum_length_funds/description".to_owned(),
2841 "names/nobility".to_owned(),
2842 "names_groups/Description".to_owned(),
2843 "names_groups/ID".to_owned(),
2844 "projectiles_explosions/non_lethal_detonation".to_owned(),
2845 "regions/in_encyclopedia".to_owned(),
2846 "regions/palette_entry".to_owned(),
2847
2848 "sound_events/name".to_owned(),
2850
2851 "start_pos_diplomacy/relations_modifier".to_owned(),
2852 "technologies/in_encyclopedia".to_owned(),
2853 "technology_node_links/encyclopedia_child_link_position".to_owned(),
2854 "technology_node_links/encyclopedia_parent_link_position".to_owned(),
2855 "trigger_events/from_ui".to_owned(),
2856 "warscape_underlay_textures/height".to_owned(),
2857 "warscape_underlay_textures/orientation-angle".to_owned(),
2858 "warscape_underlay_textures/width".to_owned(),
2859 ],
2860 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
2861 compression_formats_supported: vec![],
2862 max_cs2_parsed_version: 11
2863 });
2864
2865 game_list.insert(KEY_SHOGUN_2, GameInfo {
2867 key: KEY_SHOGUN_2,
2868 display_name: DISPLAY_NAME_SHOGUN_2,
2869 pfh_versions: {
2870 let mut data = HashMap::new();
2871 data.insert(PFHFileType::Boot, PFHVersion::PFH2);
2872 data.insert(PFHFileType::Release, PFHVersion::PFH2);
2873 data.insert(PFHFileType::Patch, PFHVersion::PFH2);
2874 data.insert(PFHFileType::Mod, PFHVersion::PFH3);
2875 data.insert(PFHFileType::Movie, PFHVersion::PFH2);
2876 data
2877 },
2878 schema_file_name: "schema_sho2.ron".to_owned(),
2879 dependencies_cache_file_name: "sho2.pak2".to_owned(),
2880 raw_db_version: 1,
2881 portrait_settings_version: None,
2882 supports_editing: true,
2883 db_tables_have_guid: true,
2884 locale_file_name: Some("language.txt".to_owned()),
2885 banned_packedfiles: vec![],
2886 icon_small: "gs_sho2.png".to_owned(),
2887 icon_big: "gs_big_sho2.png".to_owned(),
2888 vanilla_db_table_name_logic: VanillaDBTableNameLogic::FolderName,
2889 install_data: {
2890 let mut data = HashMap::new();
2891 data.insert(InstallType::WinSteam, InstallData {
2892 vanilla_packs: vec![],
2893 use_manifest: true,
2894 store_id: 34_330,
2895 store_id_ak: 202_930,
2896 executable: "shogun2.exe".to_owned(),
2897 data_path: "data".to_owned(),
2898 language_path: "data".to_owned(),
2899 local_mods_path: "data".to_owned(),
2900 downloaded_mods_path: "./../../workshop/content/34330".to_owned(),
2901 config_folder: Some("Shogun2".to_owned())
2902 });
2903
2904 data.insert(InstallType::LnxSteam, InstallData {
2905 vanilla_packs: vec![
2906 "boot.pack".to_owned(),
2907 "bp_orig.pack".to_owned(),
2908 "data.pack".to_owned(),
2909 "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(),
2923 "models2.pack".to_owned(),
2924 "shaders.pack".to_owned(),
2925 "sound.pack".to_owned(),
2926 "terrain.pack".to_owned(),
2927 "../fots/data_fots.pack".to_owned(),
2928 ],
2929 use_manifest: false,
2930 store_id: 34_330,
2931 store_id_ak: 202_930,
2932 executable: "Shogun2.sh".to_owned(),
2933 data_path: "share/data/data".to_owned(),
2934 language_path: "share/data/data".to_owned(),
2935 local_mods_path: "share/data/data".to_owned(),
2936 downloaded_mods_path: "./../../workshop/content/34330".to_owned(),
2937 config_folder: None,
2938 });
2939
2940 data
2941 },
2942 tool_vars: HashMap::new(),
2943 lua_autogen_folder: None,
2944 ak_lost_fields: vec![
2945 "_kv_experience_bonuses/description".to_owned(),
2946 "_kv_fatigue/description".to_owned(),
2947 "_kv_key_buildings/description".to_owned(),
2948 "_kv_morale/description".to_owned(),
2949 "_kv_naval_morale/description".to_owned(),
2950 "_kv_rules/description".to_owned(),
2951 "_kv_special_ability_effects/description".to_owned(),
2952 "agents/animation_set".to_owned(),
2953 "agents/associated_unit".to_owned(),
2954 "agents/in_encyclopedia".to_owned(),
2955
2956 "ancillaries/effect_text".to_owned(),
2958
2959 "ancillary_info/author".to_owned(),
2960 "ancillary_info/comment".to_owned(),
2961 "ancillary_info/historical_example".to_owned(),
2962
2963 "avatar_dojos/codependency_key".to_owned(),
2964 "avatar_gempei_dojos/codependency_key".to_owned(),
2965 "avatar_ranks/avatar_naval_unit_cost".to_owned(),
2966 "avatar_unit_group_ids/description".to_owned(),
2967 "avatar_units/anti_spam_cost_increase".to_owned(),
2968 "avatar_units/anti_spam_limit".to_owned(),
2969 "battle_script_strings/game_area".to_owned(),
2970 "battlefield_building_transformations/description".to_owned(),
2971
2972 "battlefield_buildings/fortwall_penetration_chance".to_owned(),
2975 "battlefield_buildings/radar_icon".to_owned(),
2976 "battlefield_buildings/spawned_unit".to_owned(),
2977 "battlefield_buildings/visible_in_public_ted".to_owned(),
2978
2979 "battles/objectives_team_1".to_owned(),
2980 "battles/objectives_team_2".to_owned(),
2981 "building_levels/building_category".to_owned(),
2982 "campaign_ai_managers/description".to_owned(),
2983 "campaign_ai_personalities/description".to_owned(),
2984 "campaign_map_playable_areas/mapname".to_owned(),
2985 "campaign_map_playable_areas/maxx".to_owned(),
2986 "campaign_map_playable_areas/maxy".to_owned(),
2987 "campaign_map_playable_areas/minx".to_owned(),
2988 "campaign_map_playable_areas/miny".to_owned(),
2989 "campaign_map_towns_and_ports/region".to_owned(),
2990 "campaign_variables/description".to_owned(),
2991 "campaigns/data_directory".to_owned(),
2992 "character_trait_levels/effect_text".to_owned(),
2993 "character_traits/author".to_owned(),
2994 "character_traits/comment".to_owned(),
2995 "event_log_descriptions/notes".to_owned(),
2996 "experience_triggers/condition".to_owned(),
2997 "experience_triggers/event".to_owned(),
2998
2999 "incident_heading_texts/localised_heading_text".to_owned(),
3001
3002 "mount_variants/key".to_owned(),
3003 "multiplayer_mininum_length_funds/description".to_owned(),
3004 "projectiles/bounce_angle".to_owned(),
3005 "projectiles/preflight_rules".to_owned(),
3006 "projectiles_explosions/non_lethal_detonation".to_owned(),
3007 "regions/in_encyclopedia".to_owned(),
3008 "regions/palette_entry".to_owned(),
3009 "slots_art/underlay_rotation".to_owned(),
3010 "slots_art/underlay_scale".to_owned(),
3011 "start_pos_diplomacy/relations_modifier".to_owned(),
3012 "start_pos_forts/fort_name".to_owned(),
3013 "start_pos_regions/encyclopedia_order".to_owned(),
3014 "technologies/in_encyclopedia".to_owned(),
3015 "trigger_events/from_ui".to_owned(),
3016 "uniforms/IconScreenshotCameraPreset".to_owned(),
3017 "uniforms/InfoScreenshotCameraPreset".to_owned(),
3018 "uniforms/ManAnimation".to_owned(),
3019 "uniforms/MountAnimation".to_owned(),
3020 "unit_stats_land/desert_effect".to_owned(),
3021 "unit_stats_land/snow_effect".to_owned(),
3022 "unit_stats_land/tropics_effect".to_owned(),
3023 "unit_stats_land/unit_class".to_owned(),
3024 "unit_stats_naval/repair_cost_port".to_owned(),
3025 "unit_stats_naval/repair_cost_sea".to_owned(),
3026 "unit_stats_naval/ship_rating_icon".to_owned(),
3027 "units/era".to_owned(),
3028 "units/fitness".to_owned(),
3029 "units/pdlc".to_owned(),
3030 "warscape_underlay_textures/height".to_owned(),
3031 "warscape_underlay_textures/orientation-angle".to_owned(),
3032 "warscape_underlay_textures/width".to_owned(),
3033 ],
3034 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
3035 compression_formats_supported: vec![],
3036 max_cs2_parsed_version: 0
3037 });
3038
3039 game_list.insert(KEY_NAPOLEON, GameInfo {
3041 key: KEY_NAPOLEON,
3042 display_name: DISPLAY_NAME_NAPOLEON,
3043 pfh_versions: {
3044 let mut data = HashMap::new();
3045 data.insert(PFHFileType::Boot, PFHVersion::PFH0);
3046 data.insert(PFHFileType::Release, PFHVersion::PFH0);
3047 data.insert(PFHFileType::Patch, PFHVersion::PFH0);
3048 data.insert(PFHFileType::Mod, PFHVersion::PFH0);
3049 data.insert(PFHFileType::Movie, PFHVersion::PFH0);
3050 data
3051 },
3052 schema_file_name: "schema_nap.ron".to_owned(),
3053 dependencies_cache_file_name: "nap.pak2".to_owned(),
3054 raw_db_version: 0,
3055 portrait_settings_version: None,
3056 supports_editing: true,
3057 db_tables_have_guid: false,
3058 locale_file_name: Some("language.txt".to_owned()),
3059 banned_packedfiles: vec![],
3060 icon_small: "gs_nap.png".to_owned(),
3061 icon_big: "gs_big_nap.png".to_owned(),
3062 vanilla_db_table_name_logic: VanillaDBTableNameLogic::FolderName,
3063 install_data: {
3064 let mut data = HashMap::new();
3065 data.insert(InstallType::WinSteam, InstallData {
3066 vanilla_packs: vec![
3067 "battleterrain.pack".to_owned(),
3068 "boot.pack".to_owned(),
3069 "buildings.pack".to_owned(),
3070 "data.pack".to_owned(),
3071 "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(),
3098 "patch.pack".to_owned(),
3099 "patch_media.pack".to_owned(),
3100 "patch_media2.pack".to_owned(),
3101 "patch_media2.pack".to_owned(),
3102 "patch2.pack".to_owned(),
3103 "patch3.pack".to_owned(),
3104 "patch4.pack".to_owned(),
3105 "patch5.pack".to_owned(),
3106 "patch6.pack".to_owned(),
3107 "patch7.pack".to_owned(),
3108 "rigidmodels.pack".to_owned(),
3109 "sound.pack".to_owned(),
3110 "variantmodels.pack".to_owned(),
3111 "variantmodels2.pack".to_owned(),
3112 ],
3113 use_manifest: false,
3114 store_id: 34_030,
3115 store_id_ak: 0,
3116 executable: "Napoleon.exe".to_owned(),
3117 data_path: "data".to_owned(),
3118 language_path: "data".to_owned(),
3119 local_mods_path: "data".to_owned(),
3120 downloaded_mods_path: "./../../workshop/content/34030".to_owned(),
3121 config_folder: Some("Napoleon".to_owned()),
3122 });
3123
3124 data
3125 },
3126 tool_vars: HashMap::new(),
3127 lua_autogen_folder: None,
3128 ak_lost_fields: vec![
3129 "_kv_fatigue/Gen_description".to_owned(),
3130 "_kv_morale/description".to_owned(),
3131 "_kv_naval_morale/description".to_owned(),
3132 "_kv_rules/Gen_description".to_owned(),
3133 "abilities/Gen_effect_text".to_owned(),
3134 "abilities/is_active".to_owned(),
3135 "advice_levels/Gen_TempField_x002A_1".to_owned(),
3136 "advice_levels/Gen_TempField_x002A_2".to_owned(),
3137 "advice_levels/Gen_onscreen_text".to_owned(),
3138 "agent_attribute_situations/Gen_effect_text".to_owned(),
3139 "agent_attributes/Gen_effect_text".to_owned(),
3140 "agents/associated_unit".to_owned(),
3141 "ancillaries/Gen_colour_text".to_owned(),
3142 "ancillaries/Gen_effect_text".to_owned(),
3143 "ancillaries/Gen_exclusion_text".to_owned(),
3144 "ancillaries/Gen_explanation_text".to_owned(),
3145 "ancillary_info/Gen_comment".to_owned(),
3146 "ancillary_info/author".to_owned(),
3147 "ancillary_info/historical_example".to_owned(),
3148 "anim_reference_poses/Gen_path".to_owned(),
3149 "battle_personalities/equipment_theme".to_owned(),
3150 "battle_script_strings/game_area".to_owned(),
3151 "battle_weather_types/naval_appropriate".to_owned(),
3152 "battlefield_building_transformations/description".to_owned(),
3153 "battlefield_buildings/onscreen_name".to_owned(),
3154 "battlefield_deployable_siege_items/Gen_string".to_owned(),
3155 "battles/Gen_description".to_owned(),
3156 "battles/Gen_objectives_team_1".to_owned(),
3157 "battles/Gen_objectives_team_2".to_owned(),
3158 "bribe_actions/action".to_owned(),
3159 "bribe_actions/onscreen".to_owned(),
3160 "building_chains/Gen_chain_tooltip".to_owned(),
3161 "building_description_texts/Gen_TempField_x002A_0".to_owned(),
3162 "building_description_texts/Gen_long_description".to_owned(),
3163 "building_levels/Gen_condition".to_owned(),
3164 "building_levels/building_category".to_owned(),
3165 "building_units_allowed/Gen_conditions".to_owned(),
3166 "building_units_allowed/XP".to_owned(),
3167 "campaign_ai_managers/description".to_owned(),
3168 "campaign_ai_personalities/description".to_owned(),
3169 "campaign_anim_transitions/Gen_path".to_owned(),
3170 "campaign_anim_transitions/ID".to_owned(),
3171 "campaign_anims/Gen_path".to_owned(),
3172 "campaign_map_playable_areas/Gen_TempField_x002A_0".to_owned(),
3173 "campaign_map_playable_areas/mapname".to_owned(),
3174 "campaign_map_playable_areas/maxx".to_owned(),
3175 "campaign_map_playable_areas/maxy".to_owned(),
3176 "campaign_map_playable_areas/minx".to_owned(),
3177 "campaign_map_playable_areas/miny".to_owned(),
3178 "campaign_map_settlements/template_name".to_owned(),
3179 "campaign_map_slots/template".to_owned(),
3180 "campaign_map_tooltips/Gen_TempField_x002A_0".to_owned(),
3181 "campaign_map_tooltips/Gen_TempField_x002A_1".to_owned(),
3182 "campaign_map_towns_and_ports/region".to_owned(),
3183 "campaign_map_towns_and_ports/template".to_owned(),
3184 "campaign_variables/Gen_description".to_owned(),
3185 "character_trait_levels/Gen_colour_text".to_owned(),
3186 "character_trait_levels/Gen_effect_text".to_owned(),
3187 "character_trait_levels/Gen_epithet_text".to_owned(),
3188 "character_trait_levels/Gen_explanation_text".to_owned(),
3189 "character_trait_levels/Gen_gain_text".to_owned(),
3190 "character_trait_levels/Gen_removal_text".to_owned(),
3191 "character_traits/Gen_comment".to_owned(),
3192 "character_traits/author".to_owned(),
3193 "commodities/price_elasticity_of_demand".to_owned(),
3194 "cursors/hotspotX".to_owned(),
3195 "cursors/hotspotY".to_owned(),
3196 "diplomacy_strings/Gen_TempField_x002A_1".to_owned(),
3197 "diplomatic_relations_religion/religion_A".to_owned(),
3198 "diplomatic_relations_religion/religion_B".to_owned(),
3199 "effect_bonus_value_projectile_junctions/bonus_value_id".to_owned(),
3200 "effects/Gen_description".to_owned(),
3201 "events/Gen_conditions".to_owned(),
3202 "events/Gen_event_text".to_owned(),
3203 "faction_groups/Afghanistan".to_owned(),
3204 "faction_groups/AfricanNatives".to_owned(),
3205 "faction_groups/AmerindIroquoisTribes".to_owned(),
3206 "faction_groups/AmerindTribesIII".to_owned(),
3207 "faction_groups/AmerindWoodlandTribes".to_owned(),
3208 "faction_groups/Austria".to_owned(),
3209 "faction_groups/BarbaryPirates".to_owned(),
3210 "faction_groups/Baroda".to_owned(),
3211 "faction_groups/Bavaria".to_owned(),
3212 "faction_groups/CrimeanKhanate".to_owned(),
3213 "faction_groups/Denmark".to_owned(),
3214 "faction_groups/EuropeanRebels".to_owned(),
3215 "faction_groups/France".to_owned(),
3216 "faction_groups/Genoa".to_owned(),
3217 "faction_groups/GreatBritain".to_owned(),
3218 "faction_groups/Greece".to_owned(),
3219 "faction_groups/Gwalior".to_owned(),
3220 "faction_groups/Haiti".to_owned(),
3221 "faction_groups/HanoverHesse".to_owned(),
3222 "faction_groups/Holland".to_owned(),
3223 "faction_groups/IndianRebels".to_owned(),
3224 "faction_groups/Indore".to_owned(),
3225 "faction_groups/IslamicRebels".to_owned(),
3226 "faction_groups/Malta".to_owned(),
3227 "faction_groups/Malwa".to_owned(),
3228 "faction_groups/Mamelukes".to_owned(),
3229 "faction_groups/MarathaConfederacy".to_owned(),
3230 "faction_groups/Modena".to_owned(),
3231 "faction_groups/Morocco".to_owned(),
3232 "faction_groups/MughalEmpire".to_owned(),
3233 "faction_groups/Mysore".to_owned(),
3234 "faction_groups/OttomanEmpire".to_owned(),
3235 "faction_groups/PapalStates".to_owned(),
3236 "faction_groups/Parma".to_owned(),
3237 "faction_groups/Pirates".to_owned(),
3238 "faction_groups/Poland".to_owned(),
3239 "faction_groups/Pomerania".to_owned(),
3240 "faction_groups/Portugal".to_owned(),
3241 "faction_groups/Prussia".to_owned(),
3242 "faction_groups/Punjab".to_owned(),
3243 "faction_groups/Russia".to_owned(),
3244 "faction_groups/SafavidEmpire".to_owned(),
3245 "faction_groups/Savoy".to_owned(),
3246 "faction_groups/Saxony".to_owned(),
3247 "faction_groups/Silesia".to_owned(),
3248 "faction_groups/SlaveRebels".to_owned(),
3249 "faction_groups/Spain".to_owned(),
3250 "faction_groups/Sweden".to_owned(),
3251 "faction_groups/Switzerland".to_owned(),
3252 "faction_groups/Tatars".to_owned(),
3253 "faction_groups/Tuscany".to_owned(),
3254 "faction_groups/USA".to_owned(),
3255 "faction_groups/Ujjain".to_owned(),
3256 "faction_groups/Venice".to_owned(),
3257 "faction_groups/Westphalia".to_owned(),
3258 "faction_groups/Wurttemberg".to_owned(),
3259 "factions/icons_path_units".to_owned(),
3260 "historical_characters/Gen_spawn_conditions".to_owned(),
3261 "ministerial_positions_by_gov_types/onscreen_name".to_owned(),
3262 "mission_activities/check_event".to_owned(),
3263 "mission_activities/evaluate_event".to_owned(),
3264 "mission_effects/Gen_text".to_owned(),
3265 "missions/Gen_TempField_x002A_0".to_owned(),
3266 "missions/Gen_cancel_condition".to_owned(),
3267 "missions/Gen_failure_condition".to_owned(),
3268 "missions/Gen_success_condition".to_owned(),
3269 "missions/cancellation_effect".to_owned(),
3270 "missions/failure_effect".to_owned(),
3271 "missions/success_effect".to_owned(),
3272 "mount_variants/key".to_owned(),
3273 "names_groups/Description".to_owned(),
3274 "names_groups/ID".to_owned(),
3275 "pdlc/ID".to_owned(),
3276 "pdlc/SteamID".to_owned(),
3277 "policies/Gen_prerequisites".to_owned(),
3278 "projectile_impacts/buildings".to_owned(),
3279 "projectile_shot_type_enum/is_artillery".to_owned(),
3280 "projectile_shot_type_enum/is_smallarms".to_owned(),
3281 "projectile_trails/min_apparent_width_distance".to_owned(),
3282 "projectiles/below_waterline_damage_modifer".to_owned(),
3283 "projectiles/bounce_angle".to_owned(),
3284 "projectiles/can_bounce".to_owned(),
3285 "projectiles/preflight_rules".to_owned(),
3286 "projectiles_explosions/non_lethal_detonation".to_owned(),
3287 "public_order_factors/Gen_TempField_x002A_0".to_owned(),
3288 "public_order_factors/Gen_TempField_x002A_1".to_owned(),
3289 "quotes/Gen_TempField_x002A_0".to_owned(),
3290 "quotes_people/Gen_TempField_x002A_0".to_owned(),
3291 "random_localisation_strings/Gen_string".to_owned(),
3292 "region_economics_factors/Gen_TempField_x002A_0".to_owned(),
3293 "regions/palette_entry".to_owned(),
3294 "sea_climate_details/sea_deep_colour".to_owned(),
3295 "sea_climate_details/sea_shallow_colour".to_owned(),
3296 "sea_climate_details/sky_colour".to_owned(),
3297 "sea_climate_details/sun_colour".to_owned(),
3298 "slots_art/minibuildings_differ_at_quality".to_owned(),
3299 "slots_art/underlay_differs_with_building".to_owned(),
3300 "slots_art/underlay_rotation".to_owned(),
3301 "slots_art/underlay_scale".to_owned(),
3302 "technologies/Gen_TempField_x002A_0".to_owned(),
3303 "technologies/Gen_TempField_x002A_1".to_owned(),
3304 "town_wealth_growth_factors/Gen_TempField_x002A_0".to_owned(),
3305 "town_wealth_growth_factors/Gen_TempField_x002A_1".to_owned(),
3306 "trade_details/Gen_TempField_x002A_0".to_owned(),
3307 "trade_nodes/ID".to_owned(),
3308 "trait_triggers/Gen_TempField_x002A_0".to_owned(),
3309 "trees/is_conifer".to_owned(),
3310 "trees/is_high_altitude".to_owned(),
3311 "trees/is_shrub".to_owned(),
3312 "trees/tree".to_owned(),
3313 "trigger_events/from_ui".to_owned(),
3314 "uniforms/Faction".to_owned(),
3315 "uniforms/Filename".to_owned(),
3316 "uniforms/IconScreenshotCameraPreset".to_owned(),
3317 "uniforms/InfoScreenshotCameraPreset".to_owned(),
3318 "uniforms/ManAnimation".to_owned(),
3319 "uniforms/MountAnimation".to_owned(),
3320 "uniforms/Uniform_Name".to_owned(),
3321 "uniforms/Unit".to_owned(),
3322 "unit_class/Gen_TempField_x002A_0".to_owned(),
3323 "unit_regiment_names/unit_class".to_owned(),
3324 "unit_stats_land/desert_effect".to_owned(),
3325 "unit_stats_land/dismounted_formation_spacing_horizontal".to_owned(),
3326 "unit_stats_land/dismounted_formation_spacing_vertical".to_owned(),
3327 "unit_stats_land/fatigue_resistant".to_owned(),
3328 "unit_stats_land/is_immune_to_attrition".to_owned(),
3329 "unit_stats_land/melee_defence".to_owned(),
3330 "unit_stats_land/snow_effect".to_owned(),
3331 "unit_stats_land/tropics_effect".to_owned(),
3332 "unit_stats_land/unit_class".to_owned(),
3333 "unit_stats_land_experience_bonuses/melee_defence".to_owned(),
3334 "unit_stats_naval/collision_momentum_modifer".to_owned(),
3335 "unit_stats_naval/reactivate_cost".to_owned(),
3336 "unit_stats_naval/repair_cost_port".to_owned(),
3337 "unit_stats_naval/repair_cost_sea".to_owned(),
3338 "unit_stats_naval/ship_rating_icon".to_owned(),
3339 "unit_stats_naval/side_panels_above_water_2_armour".to_owned(),
3340 "unit_stats_naval/side_panels_above_water_2_critical".to_owned(),
3341 "unit_stats_naval/side_panels_above_water_2_hits".to_owned(),
3342 "unit_stats_naval/stat_bar_manoeuvrability_rating".to_owned(),
3343 "unit_stats_naval_crew_to_factions/gunner_type".to_owned(),
3344 "unit_stats_naval_crew_to_factions/key".to_owned(),
3345 "unit_stats_naval_crew_to_factions/marine_type".to_owned(),
3346 "unit_stats_naval_crew_to_factions/officer_1".to_owned(),
3347 "unit_stats_naval_crew_to_factions/officer_2".to_owned(),
3348 "unit_stats_naval_crew_to_factions/officer_3".to_owned(),
3349 "unit_stats_naval_crew_to_factions/seaman_type".to_owned(),
3350 "units/era".to_owned(),
3351 "units/fitness".to_owned(),
3352 "unrest_cause_to_demands/demand".to_owned(),
3353 "warscape_rigid/category".to_owned(),
3354 "warscape_rigid_lod_range/LOD_id".to_owned(),
3355 "warscape_trees/model".to_owned(),
3356 "warscape_underlay_textures/filepath".to_owned(),
3357 "warscape_underlay_textures/height".to_owned(),
3358 "warscape_underlay_textures/orientation-angle".to_owned(),
3359 "warscape_underlay_textures/width".to_owned(),
3360 "wind_levels/magnitudeX".to_owned(),
3361 "wind_levels/magnitudeY".to_owned(),
3362 ],
3363 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
3364 compression_formats_supported: vec![],
3365 max_cs2_parsed_version: 0
3366 });
3367
3368 game_list.insert(KEY_EMPIRE, GameInfo {
3370 key: KEY_EMPIRE,
3371 display_name: DISPLAY_NAME_EMPIRE,
3372 pfh_versions: {
3373 let mut data = HashMap::new();
3374 data.insert(PFHFileType::Boot, PFHVersion::PFH0);
3375 data.insert(PFHFileType::Release, PFHVersion::PFH0);
3376 data.insert(PFHFileType::Patch, PFHVersion::PFH0);
3377 data.insert(PFHFileType::Mod, PFHVersion::PFH0);
3378 data.insert(PFHFileType::Movie, PFHVersion::PFH0);
3379 data
3380 },
3381 schema_file_name: "schema_emp.ron".to_owned(),
3382 dependencies_cache_file_name: "emp.pak2".to_owned(),
3383 raw_db_version: 0,
3384 portrait_settings_version: None,
3385 supports_editing: true,
3386 db_tables_have_guid: false,
3387 locale_file_name: Some("language.txt".to_owned()),
3388 banned_packedfiles: vec![],
3389 icon_small: "gs_emp.png".to_owned(),
3390 icon_big: "gs_big_emp.png".to_owned(),
3391 vanilla_db_table_name_logic: VanillaDBTableNameLogic::FolderName,
3392 install_data: {
3393 let mut data = HashMap::new();
3394 data.insert(InstallType::WinSteam, InstallData {
3395 vanilla_packs: vec![
3396 "anim.pack".to_owned(),
3397 "battlepresets.pack".to_owned(),
3398 "battleterrain.pack".to_owned(),
3399 "boot.pack".to_owned(),
3400 "groupformations.pack".to_owned(),
3401 "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(),
3415 "models.pack".to_owned(),
3416 "movies.pack".to_owned(),
3417 "patch.pack".to_owned(),
3418 "patch_media.pack".to_owned(),
3419 "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(),
3433 "patch3.pack".to_owned(),
3434 "patch4.pack".to_owned(),
3435 "patch5.pack".to_owned(),
3436 "seasurfaces.pack".to_owned(),
3437 "sound_non_wavefile_data.pack".to_owned(),
3438 "sounds.pack".to_owned(),
3439 "sounds_animation_triggers.pack".to_owned(),
3440 "sounds_campaign.pack".to_owned(),
3441 "sounds_music.pack".to_owned(),
3442 "sounds_other.pack".to_owned(),
3443 "sounds_placeholder.pack".to_owned(),
3444 "sounds_sfx.pack".to_owned(),
3445 "subtitles.pack".to_owned(),
3446 "supertexture.pack".to_owned(),
3447 "terrain_templates.pack".to_owned(),
3448 "testdata.pack".to_owned(),
3449 "ui.pack".to_owned(),
3450 "ui_movies.pack".to_owned(),
3451 "voices.pack".to_owned(),
3452 ],
3453 use_manifest: false,
3454 store_id: 10_500,
3455 store_id_ak: 0,
3456 executable: "Empire.exe".to_owned(),
3457 data_path: "data".to_owned(),
3458 language_path: "data".to_owned(),
3459 local_mods_path: "data".to_owned(),
3460 downloaded_mods_path: "./../../workshop/content/10500".to_owned(),
3461 config_folder: Some("Empire".to_owned()),
3462 });
3463
3464 data.insert(InstallType::LnxSteam, InstallData {
3465 vanilla_packs: vec![
3466 "anim.pack".to_owned(),
3467 "battlepresets.pack".to_owned(),
3468 "battleterrain.pack".to_owned(),
3469 "boot.pack".to_owned(),
3470 "groupformations.pack".to_owned(),
3471 "../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(),
3485 "models.pack".to_owned(),
3486 "movies.pack".to_owned(),
3487 "patch.pack".to_owned(),
3488 "patch_media.pack".to_owned(),
3489 "../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(),
3503 "patch3.pack".to_owned(),
3504 "patch4.pack".to_owned(),
3505 "patch5.pack".to_owned(),
3506 "seasurfaces.pack".to_owned(),
3507 "sound_non_wavefile_data.pack".to_owned(),
3508 "sounds.pack".to_owned(),
3509 "sounds_animation_triggers.pack".to_owned(),
3510 "sounds_campaign.pack".to_owned(),
3511 "sounds_music.pack".to_owned(),
3512 "sounds_other.pack".to_owned(),
3513 "sounds_placeholder.pack".to_owned(),
3514 "sounds_sfx.pack".to_owned(),
3515 "subtitles.pack".to_owned(),
3516 "supertexture.pack".to_owned(),
3517 "terrain_templates.pack".to_owned(),
3518 "testdata.pack".to_owned(),
3519 "ui.pack".to_owned(),
3520 "ui_movies.pack".to_owned(),
3521 "voices.pack".to_owned(),
3522 ],
3523 use_manifest: false,
3524 store_id: 10_500,
3525 store_id_ak: 0,
3526 executable: "Empire.sh".to_owned(),
3527 data_path: "data".to_owned(),
3528 language_path: "data".to_owned(),
3529 local_mods_path: "data".to_owned(),
3530 downloaded_mods_path: "./../../workshop/content/10500".to_owned(),
3531 config_folder: None,
3532 });
3533
3534 data
3535 },
3536 tool_vars: HashMap::new(),
3537 lua_autogen_folder: None,
3538 ak_lost_fields: vec![
3539 "_kv_fatigue/Gen_description".to_owned(),
3540 "_kv_morale/description".to_owned(),
3541 "_kv_naval_morale/description".to_owned(),
3542 "_kv_rules/Gen_description".to_owned(),
3543 "abilities/Gen_effect_text".to_owned(),
3544 "abilities/is_active".to_owned(),
3545 "abilities/project_specific".to_owned(),
3546 "advice_levels/Gen_TempField_x002A_1".to_owned(),
3547 "advice_levels/Gen_TempField_x002A_2".to_owned(),
3548 "advice_levels/Gen_onscreen_text".to_owned(),
3549 "agent_attribute_situations/Gen_effect_text".to_owned(),
3550 "agent_attribute_situations/project_specific".to_owned(),
3551 "agent_attributes/Gen_effect_text".to_owned(),
3552 "agent_attributes/project_specific".to_owned(),
3553 "agent_culture_details/project_specific".to_owned(),
3554 "agent_spawning_to_building_chains/project_specific".to_owned(),
3555 "agent_spawning_to_government_types/project_specific".to_owned(),
3556 "agent_spawnings/project_specific".to_owned(),
3557 "agent_to_agent_abilities/project_specific".to_owned(),
3558 "agent_to_agent_attributes/project_specific".to_owned(),
3559 "agent_to_bribe_actions/project_specific".to_owned(),
3560 "agents/associated_unit".to_owned(),
3561 "agents/project_specific".to_owned(),
3562 "ancillaries/Gen_colour_text".to_owned(),
3563 "ancillaries/Gen_effect_text".to_owned(),
3564 "ancillaries/Gen_exclusion_text".to_owned(),
3565 "ancillaries/Gen_explanation_text".to_owned(),
3566 "ancillary_info/Gen_comment".to_owned(),
3567 "ancillary_info/author".to_owned(),
3568 "ancillary_info/historical_example".to_owned(),
3569 "anim_reference_poses/Gen_path".to_owned(),
3570 "battle_bridge_subculture_jcts/project_specific".to_owned(),
3571 "battle_city_subculture_jct/project_specific".to_owned(),
3572 "battle_personalities/equipment_theme".to_owned(),
3573 "battle_script_strings/game_area".to_owned(),
3574 "battle_terrain_farms/project_specific".to_owned(),
3575 "battle_type_faction_presets/project_specific".to_owned(),
3576 "battle_weather_types/naval_appropriate".to_owned(),
3577 "battlefield_building_transformations/description".to_owned(),
3578 "battlefield_buildings/onscreen_name".to_owned(),
3579 "battlefield_deployable_siege_items/Gen_string".to_owned(),
3580 "battles/Gen_description".to_owned(),
3581 "battles/Gen_objectives_team_1".to_owned(),
3582 "battles/Gen_objectives_team_2".to_owned(),
3583 "bribe_actions/action".to_owned(),
3584 "bribe_actions/onscreen".to_owned(),
3585 "building_chains/Gen_chain_tooltip".to_owned(),
3586 "building_description_texts/Gen_TempField_x002A_0".to_owned(),
3587 "building_description_texts/Gen_long_description".to_owned(),
3588 "building_faction_variants/project_specific".to_owned(),
3589 "building_level_required_technology_junctions/project_specific".to_owned(),
3590 "building_levels/Gen_condition".to_owned(),
3591 "building_levels/building_category".to_owned(),
3592 "building_research_thread_junction/research_points_per_turn".to_owned(),
3593 "building_units_allowed/Gen_conditions".to_owned(),
3594 "building_units_allowed/XP".to_owned(),
3595 "campaign_ai_manager_behaviour_junctions/project_specific".to_owned(),
3596 "campaign_ai_managers/description".to_owned(),
3597 "campaign_ai_managers/project_specific".to_owned(),
3598 "campaign_ai_personalities/description".to_owned(),
3599 "campaign_ai_personalities/project_specific".to_owned(),
3600 "campaign_ai_personality_junctions/project_specific".to_owned(),
3601 "campaign_anim_action_to_sets/project_specific".to_owned(),
3602 "campaign_anim_sets/project_specific".to_owned(),
3603 "campaign_anim_transitions/Gen_path".to_owned(),
3604 "campaign_anim_transitions/ID".to_owned(),
3605 "campaign_anim_transitions/project_specific".to_owned(),
3606 "campaign_anims/Gen_path".to_owned(),
3607 "campaign_anims/project_specific".to_owned(),
3608 "campaign_character_anim_set_agent_junctions/project_specific".to_owned(),
3609 "campaign_character_anim_sets/project_specific".to_owned(),
3610 "campaign_character_anim_walk_anim_junctions/project_specific".to_owned(),
3611 "campaign_character_anims_junctions/project_specific".to_owned(),
3612 "campaign_map_playable_areas/Gen_TempField_x002A_0".to_owned(),
3613 "campaign_map_playable_areas/mapname".to_owned(),
3614 "campaign_map_playable_areas/maxx".to_owned(),
3615 "campaign_map_playable_areas/maxy".to_owned(),
3616 "campaign_map_playable_areas/minx".to_owned(),
3617 "campaign_map_playable_areas/miny".to_owned(),
3618 "campaign_map_playable_areas/project_specific".to_owned(),
3619 "campaign_map_settlements/project_specific".to_owned(),
3620 "campaign_map_settlements/template_name".to_owned(),
3621 "campaign_map_slots/project_specific".to_owned(),
3622 "campaign_map_slots/template".to_owned(),
3623 "campaign_map_tooltips/Gen_TempField_x002A_0".to_owned(),
3624 "campaign_map_tooltips/Gen_TempField_x002A_1".to_owned(),
3625 "campaign_map_tooltips/project_specific".to_owned(),
3626 "campaign_map_towns_and_ports/project_specific".to_owned(),
3627 "campaign_map_towns_and_ports/region".to_owned(),
3628 "campaign_variables/Gen_description".to_owned(),
3629 "character_trait_levels/Gen_colour_text".to_owned(),
3630 "character_trait_levels/Gen_effect_text".to_owned(),
3631 "character_trait_levels/Gen_epithet_text".to_owned(),
3632 "character_trait_levels/Gen_explanation_text".to_owned(),
3633 "character_trait_levels/Gen_gain_text".to_owned(),
3634 "character_trait_levels/Gen_removal_text".to_owned(),
3635 "character_traits/Gen_comment".to_owned(),
3636 "character_traits/author".to_owned(),
3637 "climates/project_specific".to_owned(),
3638 "commodities/price_elasticity_of_demand".to_owned(),
3639 "cultures/project_specific".to_owned(),
3640 "cultures_subcultures/project_specific".to_owned(),
3641 "cursors/hotspotX".to_owned(),
3642 "cursors/hotspotY".to_owned(),
3643 "diplomacy_factor_strings/project_specific".to_owned(),
3644 "diplomacy_negotiation_faction_override_strings/project_specific".to_owned(),
3645 "diplomacy_negotiation_strings/project_specific".to_owned(),
3646 "diplomacy_strings/Gen_TempField_x002A_1".to_owned(),
3647 "diplomatic_relations_religion/religion_A".to_owned(),
3648 "diplomatic_relations_religion/religion_B".to_owned(),
3649 "effect_bonus_value_basic_junction/project_specific".to_owned(),
3650 "effect_bonus_value_commodity_junction/project_specific".to_owned(),
3651 "effect_bonus_value_population_class_and_religion_junction/project_specific".to_owned(),
3652 "effect_bonus_value_population_class_junction/project_specific".to_owned(),
3653 "effect_bonus_value_projectile_junctions/bonus_value_id".to_owned(),
3654 "effect_bonus_value_projectile_junctions/project_specific".to_owned(),
3655 "effect_bonus_value_religion_junction/project_specific".to_owned(),
3656 "effect_bonus_value_resource_junction/project_specific".to_owned(),
3657 "effect_bonus_value_shot_type_junctions/project_specific".to_owned(),
3658 "effect_bonus_value_unit_ability_junctions/project_specific".to_owned(),
3659 "effect_bonus_value_unit_category_junction/project_specific".to_owned(),
3660 "effect_bonus_value_unit_class_junction/project_specific".to_owned(),
3661 "effects/Gen_description".to_owned(),
3662 "events/Gen_conditions".to_owned(),
3663 "events/Gen_event_text".to_owned(),
3664 "faction_groups/Afghanistan".to_owned(),
3665 "faction_groups/AfricanNatives".to_owned(),
3666 "faction_groups/AmerindIroquoisTribes".to_owned(),
3667 "faction_groups/AmerindTribesIII".to_owned(),
3668 "faction_groups/AmerindWoodlandTribes".to_owned(),
3669 "faction_groups/Austria".to_owned(),
3670 "faction_groups/BarbaryPirates".to_owned(),
3671 "faction_groups/Baroda".to_owned(),
3672 "faction_groups/Bavaria".to_owned(),
3673 "faction_groups/CrimeanKhanate".to_owned(),
3674 "faction_groups/Denmark".to_owned(),
3675 "faction_groups/EuropeanRebels".to_owned(),
3676 "faction_groups/France".to_owned(),
3677 "faction_groups/Genoa".to_owned(),
3678 "faction_groups/GreatBritain".to_owned(),
3679 "faction_groups/Greece".to_owned(),
3680 "faction_groups/Gwalior".to_owned(),
3681 "faction_groups/Haiti".to_owned(),
3682 "faction_groups/HanoverHesse".to_owned(),
3683 "faction_groups/Holland".to_owned(),
3684 "faction_groups/IndianRebels".to_owned(),
3685 "faction_groups/Indore".to_owned(),
3686 "faction_groups/IslamicRebels".to_owned(),
3687 "faction_groups/Malta".to_owned(),
3688 "faction_groups/Malwa".to_owned(),
3689 "faction_groups/Mamelukes".to_owned(),
3690 "faction_groups/MarathaConfederacy".to_owned(),
3691 "faction_groups/Modena".to_owned(),
3692 "faction_groups/Morocco".to_owned(),
3693 "faction_groups/MughalEmpire".to_owned(),
3694 "faction_groups/Mysore".to_owned(),
3695 "faction_groups/OttomanEmpire".to_owned(),
3696 "faction_groups/PapalStates".to_owned(),
3697 "faction_groups/Parma".to_owned(),
3698 "faction_groups/Pirates".to_owned(),
3699 "faction_groups/Poland".to_owned(),
3700 "faction_groups/Pomerania".to_owned(),
3701 "faction_groups/Portugal".to_owned(),
3702 "faction_groups/Prussia".to_owned(),
3703 "faction_groups/Punjab".to_owned(),
3704 "faction_groups/Russia".to_owned(),
3705 "faction_groups/SafavidEmpire".to_owned(),
3706 "faction_groups/Savoy".to_owned(),
3707 "faction_groups/Saxony".to_owned(),
3708 "faction_groups/Silesia".to_owned(),
3709 "faction_groups/SlaveRebels".to_owned(),
3710 "faction_groups/Spain".to_owned(),
3711 "faction_groups/Sweden".to_owned(),
3712 "faction_groups/Switzerland".to_owned(),
3713 "faction_groups/Tatars".to_owned(),
3714 "faction_groups/Tuscany".to_owned(),
3715 "faction_groups/USA".to_owned(),
3716 "faction_groups/Ujjain".to_owned(),
3717 "faction_groups/Venice".to_owned(),
3718 "faction_groups/Westphalia".to_owned(),
3719 "faction_groups/Wurttemberg".to_owned(),
3720 "factions/icons_path_units".to_owned(),
3721 "groupings_military/project_specific".to_owned(),
3722 "historical_characters/Gen_spawn_conditions".to_owned(),
3723 "loading_screens/project_specific".to_owned(),
3724 "ministerial_positions_by_gov_types/onscreen_name".to_owned(),
3725 "mission_activities/check_event".to_owned(),
3726 "mission_activities/evaluate_event".to_owned(),
3727 "mission_effects/Gen_text".to_owned(),
3728 "missions/Gen_TempField_x002A_0".to_owned(),
3729 "missions/Gen_cancel_condition".to_owned(),
3730 "missions/Gen_failure_condition".to_owned(),
3731 "missions/Gen_success_condition".to_owned(),
3732 "missions/cancellation_effect".to_owned(),
3733 "missions/failure_effect".to_owned(),
3734 "mount_variants/key".to_owned(),
3735 "mount_variants/project_specific".to_owned(),
3736 "mounts/project_specific".to_owned(),
3737 "names/project_specific".to_owned(),
3738 "names_groups/Description".to_owned(),
3739 "names_groups/ID".to_owned(),
3740 "pdlc/ID".to_owned(),
3741 "pdlc/SteamID".to_owned(),
3742 "pdlc/project_specific".to_owned(),
3743 "policies/Gen_prerequisites".to_owned(),
3744 "projectile_impacts/buildings".to_owned(),
3745 "projectile_shot_type_enum/is_artillery".to_owned(),
3746 "projectile_shot_type_enum/is_smallarms".to_owned(),
3747 "projectile_trails/min_apparent_width_distance".to_owned(),
3748 "projectiles/below_waterline_damage_modifer".to_owned(),
3749 "projectiles/bounce_angle".to_owned(),
3750 "projectiles/preflight_rules".to_owned(),
3751 "projectiles_explosions/non_lethal_detonation".to_owned(),
3752 "projectiles_explosions/project_specific".to_owned(),
3753 "public_order_factors/Gen_TempField_x002A_0".to_owned(),
3754 "public_order_factors/Gen_TempField_x002A_1".to_owned(),
3755 "quotes/Gen_TempField_x002A_0".to_owned(),
3756 "quotes/culture".to_owned(),
3757 "quotes/quote_person".to_owned(),
3758 "quotes_people/Gen_TempField_x002A_0".to_owned(),
3759 "random_localisation_strings/Gen_string".to_owned(),
3760 "random_localisation_strings/project_specific".to_owned(),
3761 "regions/palette_entry".to_owned(),
3762 "regions/project_specific".to_owned(),
3763 "sea_climate_details/sea_deep_colour".to_owned(),
3764 "sea_climate_details/sea_shallow_colour".to_owned(),
3765 "sea_climate_details/sky_colour".to_owned(),
3766 "sea_climate_details/sun_colour".to_owned(),
3767 "slots_art/minibuildings_differ_at_quality".to_owned(),
3768 "slots_art/project_specific".to_owned(),
3769 "slots_art/underlay_differs_with_building".to_owned(),
3770 "slots_art/underlay_rotation".to_owned(),
3771 "slots_art/underlay_scale".to_owned(),
3772 "technologies/Gen_TempField_x002A_0".to_owned(),
3773 "technologies/Gen_TempField_x002A_1".to_owned(),
3774 "technology_required_building_levels_junctions/project_specific".to_owned(),
3775 "technology_required_technology_junctions/project_specific".to_owned(),
3776 "town_wealth_growth_factors/Gen_TempField_x002A_0".to_owned(),
3777 "town_wealth_growth_factors/Gen_TempField_x002A_1".to_owned(),
3778 "trade_details/Gen_TempField_x002A_0".to_owned(),
3779 "trait_triggers/Gen_TempField_x002A_0".to_owned(),
3780 "trees/is_conifer".to_owned(),
3781 "trees/is_high_altitude".to_owned(),
3782 "trees/is_shrub".to_owned(),
3783 "trees/tree".to_owned(),
3784 "trigger_events/from_ui".to_owned(),
3785 "trigger_events/project_specific".to_owned(),
3786 "unit_regiment_names/unit_class".to_owned(),
3787 "unit_stats_land/desert_effect".to_owned(),
3788 "unit_stats_land/dismounted_formation_spacing_horizontal".to_owned(),
3789 "unit_stats_land/dismounted_formation_spacing_vertical".to_owned(),
3790 "unit_stats_land/fatigue_resistant".to_owned(),
3791 "unit_stats_land/melee_defence".to_owned(),
3792 "unit_stats_land/snow_effect".to_owned(),
3793 "unit_stats_land/tropics_effect".to_owned(),
3794 "unit_stats_land/unit_class".to_owned(),
3795 "unit_stats_land_experience_bonuses/melee_defence".to_owned(),
3796 "unit_stats_naval/collision_momentum_modifer".to_owned(),
3797 "unit_stats_naval/reactivate_cost".to_owned(),
3798 "unit_stats_naval/repair_cost_port".to_owned(),
3799 "unit_stats_naval/repair_cost_sea".to_owned(),
3800 "unit_stats_naval/ship_rating_icon".to_owned(),
3801 "unit_stats_naval/side_panels_above_water_2_armour".to_owned(),
3802 "unit_stats_naval/side_panels_above_water_2_critical".to_owned(),
3803 "unit_stats_naval/side_panels_above_water_2_hits".to_owned(),
3804 "unit_stats_naval/stat_bar_manoeuvrability_rating".to_owned(),
3805 "unit_stats_naval_crew_to_factions/gunner_type".to_owned(),
3806 "unit_stats_naval_crew_to_factions/key".to_owned(),
3807 "unit_stats_naval_crew_to_factions/marine_type".to_owned(),
3808 "unit_stats_naval_crew_to_factions/officer_1".to_owned(),
3809 "unit_stats_naval_crew_to_factions/officer_2".to_owned(),
3810 "unit_stats_naval_crew_to_factions/officer_3".to_owned(),
3811 "unit_stats_naval_crew_to_factions/seaman_type".to_owned(),
3812 "units/era".to_owned(),
3813 "units/fitness".to_owned(),
3814 "units_to_groupings_military_permissions/project_specific".to_owned(),
3815 "unrest_cause_to_demands/demand".to_owned(),
3816 "warscape_rigid/category".to_owned(),
3817 "warscape_rigid_lod_range/LOD_id".to_owned(),
3818 "warscape_trees/model".to_owned(),
3819 "warscape_underlay_textures/filepath".to_owned(),
3820 "warscape_underlay_textures/height".to_owned(),
3821 "warscape_underlay_textures/orientation-angle".to_owned(),
3822 "warscape_underlay_textures/width".to_owned(),
3823 "wind_levels/magnitudeX".to_owned(),
3824 "wind_levels/magnitudeY".to_owned(),
3825 ],
3826 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
3827 compression_formats_supported: vec![],
3828 max_cs2_parsed_version: 0
3829 });
3830
3831 game_list.insert(KEY_ARENA, GameInfo {
3835 key: KEY_ARENA,
3836 display_name: DISPLAY_NAME_ARENA,
3837 pfh_versions: {
3838 let mut data = HashMap::new();
3839 data.insert(PFHFileType::Boot, PFHVersion::PFH5);
3840 data.insert(PFHFileType::Release, PFHVersion::PFH5);
3841 data.insert(PFHFileType::Patch, PFHVersion::PFH5);
3842 data.insert(PFHFileType::Mod, PFHVersion::PFH5);
3843 data.insert(PFHFileType::Movie, PFHVersion::PFH5);
3844 data
3845 },
3846 schema_file_name: "schema_are.ron".to_owned(),
3847 dependencies_cache_file_name: "are.pack2".to_owned(),
3848 raw_db_version: -1,
3849 portrait_settings_version: None,
3850 supports_editing: false,
3851 db_tables_have_guid: true,
3852 locale_file_name: Some("language.txt".to_owned()),
3853 banned_packedfiles: vec![],
3854 icon_small: "gs_are.png".to_owned(),
3855 icon_big: "gs_big_are.png".to_owned(),
3856 vanilla_db_table_name_logic: VanillaDBTableNameLogic::FolderName,
3857 install_data: {
3858 let mut data = HashMap::new();
3859 data.insert(InstallType::WinWargaming, InstallData {
3860 vanilla_packs: vec![],
3861 use_manifest: false,
3862 store_id: 0,
3863 store_id_ak: 0,
3864 executable: "Arena.exe".to_owned(),
3865 data_path: "data".to_owned(),
3866 language_path: "data".to_owned(),
3867 local_mods_path: "data".to_owned(),
3868 downloaded_mods_path: "".to_owned(),
3869 config_folder: None,
3870 });
3871
3872 data
3873 },
3874 tool_vars: HashMap::new(),
3875 lua_autogen_folder: None,
3876 ak_lost_fields: vec![],
3877 install_type_cache: Arc::new(RwLock::new(HashMap::new())),
3878 compression_formats_supported: vec![],
3879 max_cs2_parsed_version: 0
3880 });
3881
3882 let order_list = vec![
3883 KEY_SHOGUN_2_COMPLETE_EDITION,
3884 KEY_PHARAOH_DYNASTIES,
3885 KEY_PHARAOH,
3886 KEY_WARHAMMER_3,
3887 KEY_TROY,
3888 KEY_THREE_KINGDOMS,
3889 KEY_WARHAMMER_2,
3890 KEY_WARHAMMER,
3891 KEY_THRONES_OF_BRITANNIA,
3892 KEY_ATTILA,
3893 KEY_ROME_2,
3894 KEY_SHOGUN_2,
3895 KEY_NAPOLEON,
3896 KEY_EMPIRE,
3897 KEY_ARENA,
3898 ];
3899
3900 Self {
3901 games: game_list,
3902 order: order_list,
3903 }
3904 }
3905}
3906
3907impl SupportedGames {
3909
3910 pub fn game(&self, key: &str) -> Option<&GameInfo> {
3930 self.games.get(key)
3931 }
3932
3933 pub fn games(&self) -> Vec<&GameInfo> {
3941 self.games.values().collect::<Vec<&GameInfo>>()
3942 }
3943
3944 pub fn game_keys(&self) -> Vec<&str> {
3952 self.games.keys().cloned().collect::<Vec<&str>>()
3953 }
3954
3955 pub fn games_sorted(&self) -> Vec<&GameInfo> {
3963 self.order.iter().map(|key| self.game(key).unwrap()).collect::<Vec<&GameInfo>>()
3964 }
3965
3966 pub fn game_keys_sorted(&self) -> &[&'static str] {
3972 &self.order
3973 }
3974}