Skip to main content

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.json file.

Now let's walk through each example in the above config. file:

 game/ripatorium/ripatorium$game/sp/m1_intro/m1_intro$.resources

  1. Imports all .resources archives 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.