Dark Ages Assets Info
These features are a work in progress and are not publicly available yet.
This section describes advanced settings available through your mod's configuration file. Please read this page to gain a basic understanding of the Atlan config. file before continuing here.
These are advanced settings. Please take care when using them. Improper usage may cause instability or crashes.
PackageMapSpec Manipulation
Located in your game installation is the file base/packagemapspec.json
This file declares the resource and streamdb archives that are to be loaded in each level. By editing this file, you can change what resources a level loads. For example, if you wanted to use DLC AI in a base-campaign level, you can import the DLC level's archives to gain access to those assets.
The following is an example of a mod config. file that performs packagemapspec manipulation
modinfo = {
name = "MapSpec Example"
author = "FlavorfulGecko5"
description = "Demonstrates how the MapSpec block works"
version = "9.0"
loadPriority = 1
requiredVersion = 1
}
mapspec = {
"game/ripatorium/ripatorium$game/sp/m1_intro/m1_intro$.resources"
"game/ripatorium/ripatorium$game/sp/m7_armada/m7_armada$.streamdb"
"game/ripatorium/ripatorium$game/sp/m11_styx/m11_styx"
"game/dlc/m15_hub/m15_hub$game/sp/m9_cosmic_a/cosmic_a$_patch1.resources"
}
First, let's introduce the format: "FROM_MAP$TO_MAP$FILTER"
- FROM_MAP is the map you want to import files from.
- TO_MAP is the map you want to import files into.
- FILTER is a filter string for specifying the exact files you want to import. This field is optional.
- $ characters separate the three fields.
- You can find all map names in the maps list, at the bottom of the
packagemapspec.jsonfile.
Now let's walk through each example in the above config. file:
game/ripatorium/ripatorium$game/sp/m1_intro/m1_intro$.resources
- Imports all
.resourcesarchives loaded by the Ripatorium into Village of Khalim.
game/ripatorium/ripatorium$game/sp/m7_armada/m7_armada$.streamdb
2. Imports all .streamdb archives loaded by the Ripatorium into Sentinel Command Station
game/ripatorium/ripatorium$game/sp/m11_styx/m11_styx
3. This import statement has no filter string. Therefore, ALL resource and streamdb files loaded by Ripatorium get imported into Harbor of Souls
game/dlc/m15_hub/m15_hub$game/sp/m9_cosmic_a/cosmic_a$_patch1.resources
4. This imports m15_hub_patch1.resources into the first Cosmic Realm level. It's not recommended to use this feature this way versus importing all resource archives. However, if you really want just a patch archive imported for some reason, this is one way you can do it.
MapResources Injection
The game archives contain one .mapresources file per map. These are enormous lists of game assets used in each level. There is also a global file located at generated/buildgame/common.mapresources The resource type of these files is simply file
These files are known to influence asset loading, and may be important when adding new assets to the game (versus replacing existing assets). Therefore, Atlan Mod Loader supports injecting data into common.mapresources using your mod's configuration file.
Example:
modinfo = {
name = "MapResources"
author = "FlavorfulGecko5"
description = "Demonstrates how the MapResources block works"
version = "9.0"
loadPriority = 1
requiredVersion = 1
}
mapresources = {
"aiComponentList/custom/my_custom_component_list"
}
This config. file adds an entry for an aiComponentList decl into the mapresources. The zipped filepath of this asset would be decls/aicomponentlist/custom/my_custom_component_list.decl
The text before the first / character is the resource type. The capitalization of the resource type matters, and must be correct! Atlan Resource Extractor's extra scripts will provide a full list of correctly capitalized resource types for you.
Unfortunately, the exact rules regarding mapresources files are unknown. Some new assets may need to be listed in the mapresources, while others may not. When testing your mods, if you experience crashes or anything that suggests your custom assets aren't loading, try listing them in the mapresources block.