From 0dfa3b5e08854b9475e63a6a0ccc357b797b30a4 Mon Sep 17 00:00:00 2001 From: dpethes Date: Tue, 28 Jul 2020 11:58:24 +0200 Subject: [PATCH] hob: rename top-level facegroup to object part --- doc/file_hob_spec.txt | 6 +++--- rs_units/hob_parser.pas | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/file_hob_spec.txt b/doc/file_hob_spec.txt index 6b12ecd..97d01f3 100644 --- a/doc/file_hob_spec.txt +++ b/doc/file_hob_spec.txt @@ -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 : ? diff --git a/rs_units/hob_parser.pas b/rs_units/hob_parser.pas index a5cbab8..ec9c9bd 100644 --- a/rs_units/hob_parser.pas +++ b/rs_units/hob_parser.pas @@ -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;