ADT/v22: Difference between revisions

From wowdev
Jump to navigation Jump to search
(→‎AVTX: VerTeX: : Important! They are not mixed but seperated.)
mNo edit summary
Line 63: Line 63:
  uint uniqueId
  uint uniqueId
  DWORD[] // name / doodadsets?
  DWORD[] // name / doodadsets?
[[Category:Format]]

Revision as of 13:35, 20 May 2014

Most likely temporary version. Do not bother implementing until final version is there. This is not used in current clients.

This document may not list all chunks.

AHDR: HeaDeR

  • size: 0x40
DWORD // 22
DWORD vertices_x // 129
DWORD vertices_y // 129
DWORD chunks_x // 16
DWORD chunks_y // 16
DWORD[10]

AVTX: VerTeX

  • size: may be variable. Its based on the header. header.vertices_x*header.vertices_y + (header.vertices_x-1)*(header.vertices_y-1) * 4 bytes (float).

A large collection of floats. Again with inner[(header.vertices_x-1)*(header.vertices_y-1)] and outer[header.vertices_x*header.vertices_y] vertices.

Important: These are NOT mixed as in the ADT/v18s, but have the 129*129 field first, then the 128*128 one.

float outer[129][129];
float inner[128][128];

for example. Same should apply for the normals.

ANRM: NoRMals

  • size: may be variable. Its based on the header. header.vertices_x*header.vertices_y + (header.vertices_x-1)*(header.vertices_y-1) * 3 bytes.

Like ADT/v18, these are triples of chars being a vector. 127 is 1.0, -127 is -1.0.

ATEX: TEXtures

  • size: variable

Used for texture filenames. This is an array of chunks. There are as many chunks as there are textures used in this ADT tile.

ADOO: DOOdad

  • size: variable

Used for M2/WotLK and WMO filenames. Both are in here. Again, an array of chunks with a chunk for every filename.

ACNK: ChuNK

  • size: variable

This one is a bit like the MCNK one. There is an header for it, if the size is bigger than 0x40. If it has an header, its like this:

int indexX
int indexY
DWORD
int areaId
WORD
DWORD[4] lowdetailtextureingmap
WORD
DWORD[7]

ALYR: LaYeR

  • size: 0x20 or more.

This will include the alpha map if flags&0x100.

int textureID // as in ATEX
int flags
DWORD[6]

AMAP: alpha MAP

  • optional. size: variable (?)

most likely like the old one.

ASHD: SHaDow map

  • optional. size: 0x200 (?)

most likely like the old one.

ACDO: Chunk - Definitions of Objects

  • optional. size: 0x38

Doodads and WMOs are now both defined here.

int modelid // as in ADOO
float position[3]
float rotation[3]
float scale[3]
float
uint uniqueId
DWORD[] // name / doodadsets?