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:
parent
271f74e36d
commit
0dfa3b5e08
@ -14,7 +14,7 @@ Object [116B]
|
|||||||
{
|
{
|
||||||
16B array of char : name
|
16B array of char : name
|
||||||
4B int : facegroups offset
|
4B int : facegroups offset
|
||||||
4B int : facegroup header offset
|
4B int : object parts offset
|
||||||
4B int : facegroup header 2 offset
|
4B int : facegroup header 2 offset
|
||||||
12B zero
|
12B zero
|
||||||
4B int : ? 94, 0xD4
|
4B int : ? 94, 0xD4
|
||||||
@ -30,9 +30,9 @@ Object [116B]
|
|||||||
6x 4B float : ?
|
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 ?
|
2B NX ?
|
||||||
NOF * Facegroup/meshdef0 offset {
|
NOF * Facegroup/meshdef0 offset {
|
||||||
4B int : ?
|
4B int : ?
|
||||||
|
@ -50,13 +50,13 @@ type
|
|||||||
THobObject = record
|
THobObject = record
|
||||||
name: array[0..15] of byte;
|
name: array[0..15] of byte;
|
||||||
face_group_offset: integer;
|
face_group_offset: integer;
|
||||||
face_group_header_offset: integer;
|
objects_part_header_offset: integer;
|
||||||
face_group_header2_offset: integer;
|
face_group_header2_offset: integer;
|
||||||
|
|
||||||
face_group_count: integer;
|
face_group_count: integer;
|
||||||
face_group_count0: integer;
|
face_group_count0: integer;
|
||||||
|
|
||||||
face_groups: array of THobFaceGroup;
|
object_parts: array of THobFaceGroup;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
THobFile = record
|
THobFile = record
|
||||||
@ -285,7 +285,7 @@ var
|
|||||||
begin
|
begin
|
||||||
f.ReadBuffer(mesh.name, 16);
|
f.ReadBuffer(mesh.name, 16);
|
||||||
mesh.face_group_offset := f.ReadDWord;
|
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;
|
mesh.face_group_header2_offset := f.ReadDWord;
|
||||||
|
|
||||||
//TODO skipped stuff
|
//TODO skipped stuff
|
||||||
@ -293,9 +293,9 @@ begin
|
|||||||
writeln('object: ', NameToString(mesh.name));
|
writeln('object: ', NameToString(mesh.name));
|
||||||
writeln('face group offset: ', mesh.face_group_offset);
|
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_count := f.ReadWord; //face group count - which?
|
||||||
mesh.face_group_count0 := f.ReadWord;
|
mesh.face_group_count0 := f.ReadWord;
|
||||||
if mesh.face_group_count <> mesh.face_group_count0 then begin
|
if mesh.face_group_count <> mesh.face_group_count0 then begin
|
||||||
@ -309,11 +309,11 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
//read face group defs
|
//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
|
for i := 0 to mesh.face_group_count - 1 do begin
|
||||||
writeln('fg meshdef0 offset: ', fg_offsets[i], IntToHex(fg_offsets[i], 8):9);
|
writeln('fg meshdef0 offset: ', fg_offsets[i], IntToHex(fg_offsets[i], 8):9);
|
||||||
f.Seek(fg_offsets[i], fsFromBeginning);
|
f.Seek(fg_offsets[i], fsFromBeginning);
|
||||||
ReadFaceGroup(mesh.face_groups[i], f);
|
ReadFaceGroup(mesh.object_parts[i], f);
|
||||||
end;
|
end;
|
||||||
writeln;
|
writeln;
|
||||||
end;
|
end;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user