-
Notifications
You must be signed in to change notification settings - Fork 2
[Development] Mod Zip File
This page details what kind of structure the Mod Launcher uses and recognizes for mod zip files. (This similar structure is also generated and used by the Telltale Script Editor automatically).
If you are developing a Mod for game that is likely unsupported by the tools then this page will help you detail how you should structure the zip file for the Mod Launcher to recognize it.
The file structure is very simple but occasionally will have some variances depending on the game it is built for.
Mod Zip File/...
- Mod Json File (.json)
- Text Files (.txt)
- Archive Files (.ttarch/.ttarch2)
- Resource Description Files (.lua/.lenc)
- etc.
Generally, a mod zip archive will have the files detailed here, but depending on the mod creator they could contain these files, other files, or sometimes not the files listed here at all. The Mod Launcher does not care exactly what type of file is in the archive which makes it flexible in that sense.
Each zip archive is accompanied by a SINGLE .json file that the Mod Launcher parses its data from, this .json is critical for a mod zip archive as it details exactly what and where files go into a game directory along with other information. The other files in a mod zip archive can vary (some may even not have these files), but generally they will contain what is described.
The .json file is the crutch for the Mod Launcher. It details information about the mod, but more importantly, it describes how to place files within a game.
{
"ModJsonFormatVersion": "1.0"
"ModDisplayName": "Mod Display Nmae",
"ModVersion": "1.0",
"ModAuthor": "Author Name",
"ModCompatibility": "The_Walking_Dead_Definitive_Edition",
"ModFiles": [
"archive1.ttarch2",
"_resdesc_50_Mod.lua",
"WDC_pc_WalkingDead401_data_Mod.ttarch2",
"_resdesc_50_WalkingDead401_Mod.lua"
]
"ModFilesGameDirectory": []
"ModResourcePriority": 700
}
- ModJsonFormatVersion - This variable is a string that indicates what format version the json file is written in.
- ModDisplayName - This variable is a string that indicates the display name of the mod (shown by the launcher)
- ModVersion - This variable is a string that indicates the version of the mod (shown by the launcher)
- ModAuthor - This variable is a string that indicates the author of the mod (shown by the launcher)
- ModCompatibility - This variable is a string of an enum name from a list of supported game enums in the launcher.
This value is checked and parsed into an enum, now the enum name needs to match exactly what is on the enum list detailed in the mod launcher. If the enum does not match then the launcher will throw a mod compatibility warning. You can find the script of the enum names here in the source code.
- ModFiles - This variable is a string array that tells the launcher where the files go, relative to the game data folder.
Each string is a path that is relative to the Game Data folder (folder that contains .ttarch/.ttarch2 archives). The Game Data folder is either /Archives, /Packs, or /Pack. For newer titles (which use /Archives), most of the game archives are right inside of the folder and not divided up into subfolders, so there is no need to specify which folder it goes into like shown in the example.
In other game versions that use /Packs or /Pack, episodes are often divided into different subfolders so, for example, specifying "archive1.ttarch2" would be "GameEpisode101/archive1.ttarch2".
- ModFilesGameDirectory - This variable is a string array that tells the launcher what files go to the main game directory (not the game data folder).
Each string is treated as a path relative to the Game Directory folder. Configuration files or other documents are placed into the game directory as when running in the game, the executable reads/writes files relative to the game directory.
- ModResourcePriority - This variable is an integer that tells the launcher what resource priority value the custom archives are set at.
These values are set and defined in the .lua/.lenc resource description files. Resource description files detail how archives are loaded into the game. Priority values for default game archives sit around 650 and below. The resource priority is set for the entire mod archives set.
These values can also be changed and modified inside of the Mod Launcher for sorting or loading one mod over the other. This can be useful if you have one mod overwriting a file that another mod is overwriting, so you can change the priority to suit which one you loaded ontop.