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

hob parser: read groups without any defined faces

This commit is contained in:
dpethes 2014-10-14 04:53:19 +02:00
parent 650a8f8f89
commit d1a468fbfe

View File

@ -159,27 +159,29 @@ begin
//read group/meshdef0 //read group/meshdef0
f.Seek(16, fsFromCurrent); //unknown f.Seek(16, fsFromCurrent); //unknown
fg.meshdef1_offset := f.ReadDWord - 4; fg.meshdef1_offset := f.ReadDWord;
writeln('fg meshdef offset:', fg.meshdef1_offset); writeln('fg meshdef offset:', fg.meshdef1_offset);
//read meshdef1 if fg.meshdef1_offset > 0 then begin
f.Seek(fg.meshdef1_offset, fsFromBeginning); //read meshdef1
fg.face_block_end_offset := f.ReadDWord; f.Seek(fg.meshdef1_offset - 4, fsFromBeginning);
f.Seek(20, fsFromCurrent); //zero fg.face_block_end_offset := f.ReadDWord;
fg.vertex_count := f.ReadDWord; f.Seek(20, fsFromCurrent); //zero
f.Seek(8, fsFromCurrent); //zero fg.vertex_count := f.ReadDWord;
fg.face_block_offset := f.ReadDWord; f.Seek(8, fsFromCurrent); //zero
fg.vertex_block_offset := f.ReadDWord; fg.face_block_offset := f.ReadDWord;
fg.vertex_block_offset := f.ReadDWord;
//faces //faces
writeln('faces at: ', fg.face_block_offset, hexStr(fg.face_block_offset, 4):6); writeln('faces at: ', fg.face_block_offset, hexStr(fg.face_block_offset, 4):6);
f.Seek(fg.face_block_offset, fsFromBeginning); f.Seek(fg.face_block_offset, fsFromBeginning);
ReadFaces(fg, f); ReadFaces(fg, f);
//vertices //vertices
writeln('vertices at: ', fg.vertex_block_offset, hexStr(fg.vertex_block_offset, 4):6); writeln('vertices at: ', fg.vertex_block_offset, hexStr(fg.vertex_block_offset, 4):6);
f.Seek(fg.vertex_block_offset, fsFromBeginning); f.Seek(fg.vertex_block_offset, fsFromBeginning);
ReadVertices(fg, f, fg.vertex_count); ReadVertices(fg, f, fg.vertex_count);
end;
f.Seek(filepos + 132, fsFromBeginning); f.Seek(filepos + 132, fsFromBeginning);
end; end;