Skip to content
Japa edited this page May 9, 2016 · 18 revisions

All of the content in Armok Vision is set by a set of XML and TXT files found under Armok Vision_Data\StreamingAssets

Each XML file contains one type of configuration, set by the root XML element, while each TXT file acts as an index for which XML files to load.

Armok Vision starts with Armok Vision_Data\StreamingAssets\index.txt, and loads loads the file referenced on each line. This is an example of what it can look like:

#This is a comment line, and is skipped.
#Testfolder/index.txt
Colors/index.txt
MaterialTextures/index.txt
TileTextures/index.txt
TileMeshes/index.txt
BuildingMeshes/index.txt

This will start with Colors/index.txt and read through it in the same fashion.

Eventually, it will reach an XML file, which can look something like this:

<?xml version="1.0"?>
<colors>
	<color red="128" green="128" blue="128">
		<material token="NONE" />
		<subObject red="80" green="220" blue="80">
			<tiletype token="BRANCH:*:*:*:*" />
			<tiletype token="TWIG:*:*:*:*" />
			<tiletype token="SHRUB:*:*:*:*" />
			<tiletype token="SAPLING:*:*:*:*" />
		</subObject>
	</color>
	<color red="79" green="205" blue="88">
		<material token="GLASS_GREEN" />
	</color>
</colors>

The first tag, <colors>, indicates that this file is defining colors, mostly for materials, though they can be defined for anything, really.

These are all the currently valid root tags:

  • buildingMeshes This defines the model files to use for any constructed building. You can also define any textures used per-building in the same file.
  • buildingShapeTextures Mostly depreciated, this is for setting normal, AO, and alpha maps for constructed buildings. It's easier to just define them in the same file as the meshes.
  • colors Used to define the RGB colors for all materials, and a few other things. These are merged with the textures defined in materialTextures using overlay blending (black and white stay black and white, while mid-tones are colored) to get the final texture for all materials.
  • designationMeshes Used to define meshes to use for digging, etc, designations, as well as hidden areas.
  • growthMeshes Meshes for tree leaves, fruits, and flowers. These tend to be seasonal.
  • materialTextures Albedo and Specular roughness textures for different materials are set here
  • shapeTextures Normal, AO, and Alpha maps are set here.
  • tileMeshes This is where the meshes for all landscape elements is defined. This includes natural terrain, tree trunks and branches, constructions, etc.

All of these simply use the singular form for individual items in the list.

The next sub-tags of note are <material/> and <subObject/>. The first one determines which material the color is applied to, while the subObject tag lists any further customizations that can be done within this material. In this case, the NONE material (a special case for models to define no material used) gets a flat grey color, but if the tile is also any type of branch, twig, tree, or sapling, then anything with the NONE material gets green instead.

The material tag can be replaced with any other valid tag that defines where something can be used, but all siblings need to use the same type. So you cannot have one color for any marble, and the next color in the list being for any floors, because there's no way to chose between them. Armok Vision will just discard the floor tag in the second one, and complain about a lack of material tag.

For map tiles, these are the available tags that can be used to chose which option go pick:

  • buildingPosition
  • buildingType
  • designation
  • growth
  • item
  • material
  • ramp
  • random
  • tiletype
Clone this wiki locally