Used File Types Documentation

From Nexus Mods Wiki
Revision as of 10:14, 18 February 2020 by WarhorseStudios (talk | contribs)
Jump to: navigation, search

This is a roadpost to informations about commonly and uncommonly used file types:

  • Models
    • CGF
    • DFP
    • CGA
      • ANM
    • CHR
    • SKIN
    • CDF
    • ABC, CAX, CBC
  • Textures
    • TIFF
    • DDS
  • Materials
    • MTL
  • Level
    • LYR
    • BAK/BAK2
    • DAT
    • XML
    • OCM
    • VGA
    • VGO
    • WHSEG

Models

CGF

CGF is the most commonly used model file type. It contains static geometry, reference to material, material IDs, physicalisation and what max file it was exported from in case it was.

You can load cgf into many different level objects but most commonly, you'll use it in brushes.

You can open a cgf file in a text format and although most of it will be some binary gibberish, some of it can read by humans. For example you can look for *.max* and it should take you to the path for it's max file. Nearby, you'll be also able to find date of the last export and workstation it was exported on. Bit lower, you will see material name (local or global without .mtl) and names of it's submats. These can be some usefull informations.

DFP

Contains default brush parameters.

CGA

CGA is the most primitive format for animated assets in CryENGINE. It can only support rigid bodies (as opposed to deformables), but is very easy to setup and use. How to prepare animation for CGA and how to export it could be found in CryENGNINE Documentation.

Opening it in text editor reveals simillar informations as in cgf.

ANM

CGA could have more different animations, they are exported as ANM files and could be loaded in AnimObject enity.

CHR

CHR is an animated asset file type. It contains skeleton and may contain skin and/or one animation as well. Since it has skeleton it supports deformables as well as rigid bodies.

Usually we export skin separately and it to chr in cdf file.

SKIN

SKIN file contains geometry and skinning data. It knows which verticies are affected by which bones. Skin is then linked to it's chr using cdf file.

CDF

CDF links skin to it's corresponding chr. These has to be created for each other, otherwise it won't work. It can also specify what material the asset will use. It has a simple XML structure and is created/edited in text editor.


ABC, CAX, CBC

Files regarding Alembic.

  • ABC - source alembic file, exported from 3D program
  • CAX - ABC compiled to the fileformat used by engine
  • CBC - parameters used to compile CAX from ABC

See more info in dedicated page.

Textures

TIFF

The only submitable texture type. Uses CryTiff format which adds a footer to the regular tiff file where you can find reduce settings for different platforms as well as texture type for that resource compiler uses to pick proper dds format.

DDS

Texture used by engine. It's compiled from tiff based on texture type. This is highly optimized file type that saves tons of memory when used properly. This is why picking the right texture preset during save of tiff in Photoshop/Substance is so important.

Materials

MTL

We use only mtl material file. It is a simple XML readable in any text editor. Contains information about everything you can setup in Material editor, for example references to textures, shader parameters, surface types, vertex deformations and so on.

Level

LYR

Contains info about it's sublayers and objects placed into the level. Has XML structure and thus can be fulltext-searched through easily (for example to find if there's a Objects\props\blacksmith_tools\key_c.cgf used in the level I can create a fulltext search through all *.lyr files in Total Commander or similar tool). Can be edited manually and diffed, just be sure you know what you're doing or you might make it unparsable.

BAK/BAK2

This is a backup file. Everytime you save a layer or vegetaion map (and some other files), bak file is deleted, bak is renamed to bak2, lyr/vga is renamed to bak and the newest version is saved as lyr/vga. That means you can get back to upto two versions old file in case something goes wrong. 

DAT

DAT is a binary or semi-binary file used to store various data. 

XML

Some data (usually small ones that doesn't need to be read often in game) are saved as xml. This makes them easy to edit or search through. An example would be Time of Day.

OCM

File containing geometry of a static occluder. I'ts created from editor and located in level's root.

VGA

Semi-binary file containing informations about used vegetation objects (in text format) and their placement in level (in binary code). This is deprecated for future projects.

VGO

XML file defining vegetation objects. Stores content of vegetation list in editor including all properties of all vegetation objects.

WHSEG

Segmented data, segment 64x64 m.

  • segment_X_Y.whseg – terrain data (height data and terrain paint) and vegetation data per segment, X and Y are segment coordinates
  • macro_X_Y.whseg – macro map per segment