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

84 lines
1.5 KiB
Plaintext

4B entity_count. 0 in empty files, 1 for most single objects, N>1 in opkg.hob files
4B simple offset to vertices/faces - doesn't work all the time. Probably useless?
16B name
4B facegroups offset
4B int ? 0x7C,
4B int ? 0x88, 0xA8
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 ? -bark_moon, e_cor, towc: 0xA = 10
6x 4B float ?
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 ?
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
-if the last index is zero, the face is most probably a triangle
x bytes until block size
}
}
Vertices
{
2B int X
2B int Y
2B int Z
2B int ?
}