[Гайд] Структуры CryEngine файлов / CryEngine file structures


Командный игрок
В своё время эти данные помогли мне написать парсер гео-файлов под aion emu. Пользуйтесь!
Оригинальная статья
Please, Вход or Регистрация to view URLs content!

These formats might be generic CryTek engine file formats, but I've only tested them on the demo of X-Isle. Written and researched by Andres.

Image files:
CryTek Compressed Textures (.cct)
: Model textures, normal maps, bumpmaps, and pre-rendered billboards of models.
CryTek Terrain Textures (.ctc): Terrain textures (DXT1 compressed)
.h16: Terrain heightmap. 1024x1024 array of 16bit integers (unsigned?).

CryTek Geometry File (.cgf)
: Meshes of all objects (static and dinos).
.cbb: Unknown. Array of 52 byte structures (floats), size related to mesh.num_verts
.cbi: Unknown. Array of ints.

.caf, .cal, .cct (see Images), .cgf (see Models), .cid, .csf

.lst: Unknown. struct { uint size; byte unknown[size][0x14]; }

CryTek Compressed Textures (.cct)​

Contains a single DXT compressed texture plus mipmaps.. If the filename ends with "_unm" the color components store a normal map, and the alpha channel stores the corresponding bump/heightmap.

Please, Вход or Регистрация to view codes content!

CryTek Terrain Textures (.ctc)​

Contains an array of square terrain texture tiles. First uint of file is the width/height of the textures (128 in X-Isle demo). Followed by an array of raw data for DXT1 compressed textures + mipmaps ie. 128*128/2 bytes for first texture, 64*64/2 for first mipmap, ..., 8 bytes for 4x4 mipmap, 8 bytes for 2x2 mipmap (8 bytes as must store full DXT1 block), 8 bytes for 1x1 mipmap, 128*128/2 bytes for second texture, ... . Size of array is unknown, read until end of file. (X-Isle demo "cover.ctc" contains 508 textures.)

CryTek Geometry File (.cgf)​

Contain a bunch of static meshes. Joint information for dinosaurs is stored elsewhere (format of which is not known).

Please, Вход or Регистрация to view codes content!
  • Like
Реакции: WeRn
This might contain additional info about some unknown generic values:
Please, Вход or Регистрация to view URLs content!

Haven't really looked into it, just enough to see that it doesn't support or contain Aion-specific mappings.