2
0
mirror of https://github.com/dpethes/rerogue.git synced 2025-06-07 18:58:32 +02:00
rerogue/doc/file_hob_spec.txt

91 lines
1.7 KiB
Plaintext

4B object count OF. 0 in empty files
4B simple offset to vertices/faces - doesn't work all the time. Probably useless?
OF * object header 116B
{
16B name
4B int facegroups offset
4B int facegroup header offset
4B int facegroup header 2 offset
12B zero
4B int ? 94, 0xD4
4B int ? 98, 0x100
4B int ? 9C, 0x104
4B float ?:
-bark_moon, cldcar: 1.0
-sky, e_cor: 0.2
-wmvwing: 1.25
12B zero
5x4B floats ?
4B int offset before 0xFFFFFFFF header end marker
6x 4B float ?
}
OF * facegroup header
{
2B number of facegroups? NOF
2B number of facegroups? NOF
facegoup definitions
{
offsets, names, floats
}
4B 0xFFFFFFFF header end marker
}
NOF * facegroup/meshdef0 132B
{
4B int
4B int
4B int
4B int
4B int offset to meshdef1 + 4
8B zero
48B 3 * {
4B float 1.0
12B zero
}
4B int
3 * 4B float
3 * 4B float 1.0
28B zero
}
NOF * facegroup/meshdef1 96B
{
4B int facedef end offset
20B zero
4B int vertices used
8B zero
4B int face def offset
4B int vertex def offset
52B zero
}
NOF * face block
{
8B zero
4B int filepos + 4
4B int face count FC
FC * face
{
4B int face flags? if bit 3 is set, the face is a quad, otherwise triangle
1B int 46/49/4B
1B int 51/71
1B int 0C
1B int block size / 4: A = 40B, 9 = 36, etc.
2B int zero?
2B int texture/material index?
4x 2B vertex indices, relative to the face group. The last index is zero in triangle faces
x bytes until block size: most probably texture coordinates and some other stuff?
}
}
Vertices
{
2B int X
2B int Y
2B int Z
2B int ?
}