Total War: WARHAMMER data exporter for twwstats. This projects heavily leverages code from the packfilemanager project. The goal of this project is twofold:
- extract raw tables data from
.pack
files and/or Assembly Kit.xml
files and convert each table to a JSON file (array of objects) - extract images from
.pack
files and store them in a folder structure matching the one found inside the.pack
files
Updated versions of the master_schema.xml file are regularly uploaded to packfilemanager when new versions of the game are released. Note that it contains a few typos that you should be aware of when using the exported data (I've tried getting in contact with PFM's owner/contributors to report it but never got a hold of them unfortunately...)
- battle_entities_tables
- hitpoints -> hit_points
- missile_weapons_tables
- can_fire_at_buildings -> use_secondary_ammo_pool
- special_ability_phases_tables
- max_damaged_entites -> max_damaged_entities
All the configurations you can make are inside the Common.cs
file.
This is the big list of versions stored inside the GameVersions
property. You should only list the versions you have the data for in the Data Folder (see below). Note that I am using the Steam ManifestId as the folder name but this is just my convention; you can use different folder names if you prefer.
The Data Folder (DataPath
property of Common.cs
) is the location on your computer where you store the raw .pack and .xml files for each game. It should contain the following subfolders
- tww -> Put the data folders for TWW game versions here
- tww2 -> Put the data folders for TWW2 game versions here
- mods -> Put the data folders for mods versions here
- Export -> This is where the json files get exported for each version when running the exporter
In the appropriate Data Folder's subfolder (e.g. <DataFolder>/tww2
for a game version defined with Game.TWW2
in the GameVersions
List), create a folder matching the name you gave to your version (i.e. the third element of the Tuple inside GameVersions
) and copy all data*.pack
and local*.pack
files from <steamapps>\common\Total War WARHAMMER II\data
into that folder (these are the files for the current version of the game installed on your computer. For older versions seee below).
Optionally you can also copy all the .xml
files found under <steamapps>\common\Total War WARHAMMER II\assembly_kit\raw_data\db
(those are the Assembly Kit files). If they exist they will be used instead of the .pack
files to get the tables data (the .pack
files are still required for the images).
This project will eventually be deprecated in favor of a similar project based on the Rusted PackFile Manager (rpfm) once I wrap my head around Rust :)
This is just some information for those of you who would like to get a hold of older versions of the game.
Guide: https://www.reddit.com/r/Steam/comments/611h5e/guide_how_to_download_older_versions_of_a_game_on/
download_depot <appid> <depotid> [<target manifestid>] [<delta manifestid>] [<depot flags filter>] : download a single depot
TWW
APP ID: 364360
Data Depot Id: 364362
English Depot Id: 364363
TWW Data Versions: https://steamdb.info/depot/364362/manifests/
TWW English Versions: https://steamdb.info/depot/364363/manifests/
Cmd Example: download_depot 364360 364362 8016606766435871385 -> Versy first data version!
TWW2
APP ID: 594570
Data Depot Id: 594572
English Depot Id: 594573
TWW Data Versions: https://steamdb.info/depot/594572/manifests/
TWW English Versions: https://steamdb.info/depot/594573/manifests/
Cmd Example: download_depot 594570 594572 5566353893085820817 -> Make War Not Love patch (latest at this time)