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

hob: rename top-level facegroup to object part

This commit is contained in:
dpethes 2020-07-28 11:58:24 +02:00
parent 271f74e36d
commit 0dfa3b5e08
2 changed files with 10 additions and 10 deletions

View File

@ -14,7 +14,7 @@ Object [116B]
{
16B array of char : name
4B int : facegroups offset
4B int : facegroup header offset
4B int : object parts offset
4B int : facegroup header 2 offset
12B zero
4B int : ? 94, 0xD4
@ -30,9 +30,9 @@ Object [116B]
6x 4B float : ?
}
Facegroup header [variable length]
Object parts (Facegroup) header [variable length]
{
2B int : number of facegroups NOF
2B int : number of facegroups/object parts NOF
2B NX ?
NOF * Facegroup/meshdef0 offset {
4B int : ?

View File

@ -50,13 +50,13 @@ type
THobObject = record
name: array[0..15] of byte;
face_group_offset: integer;
face_group_header_offset: integer;
objects_part_header_offset: integer;
face_group_header2_offset: integer;
face_group_count: integer;
face_group_count0: integer;
face_groups: array of THobFaceGroup;
object_parts: array of THobFaceGroup;
end;
THobFile = record
@ -285,7 +285,7 @@ var
begin
f.ReadBuffer(mesh.name, 16);
mesh.face_group_offset := f.ReadDWord;
mesh.face_group_header_offset := f.ReadDWord;
mesh.objects_part_header_offset := f.ReadDWord;
mesh.face_group_header2_offset := f.ReadDWord;
//TODO skipped stuff
@ -293,9 +293,9 @@ begin
writeln('object: ', NameToString(mesh.name));
writeln('face group offset: ', mesh.face_group_offset);
//Facegroup header
//Object parts/Facegroup header
f.Seek(mesh.face_group_header_offset, fsFromBeginning); //16B zero
f.Seek(mesh.objects_part_header_offset, fsFromBeginning); //16B zero
mesh.face_group_count := f.ReadWord; //face group count - which?
mesh.face_group_count0 := f.ReadWord;
if mesh.face_group_count <> mesh.face_group_count0 then begin
@ -309,11 +309,11 @@ begin
end;
//read face group defs
SetLength(mesh.face_groups, mesh.face_group_count);
SetLength(mesh.object_parts, mesh.face_group_count);
for i := 0 to mesh.face_group_count - 1 do begin
writeln('fg meshdef0 offset: ', fg_offsets[i], IntToHex(fg_offsets[i], 8):9);
f.Seek(fg_offsets[i], fsFromBeginning);
ReadFaceGroup(mesh.face_groups[i], f);
ReadFaceGroup(mesh.object_parts[i], f);
end;
writeln;
end;