This is output from template:
Code: Select all
Vertex Offset = 0x000560 Block Size = 24
Vertex Offset = 0x001570 Block Size = 24
Vertex Offset = 0x001a80 Block Size = 24
Vertex Offset = 0x001f90 Block Size = 24
Vertex Offset = 0x0024a0 Block Size = 24
Vertex Offset = 0x0029b0 Block Size = 24
Vertex Offset = 0x003140 Block Size = 24
Vertex Offset = 0x003a90 Block Size = 24
Face Offset = 0x0013a0 Face Count = 228
Face Offset = 0x0019f0 Face Count = 72
Face Offset = 0x001f00 Face Count = 72
Face Offset = 0x002410 Face Count = 72
Face Offset = 0x002920 Face Count = 72
Face Offset = 0x003070 Face Count = 104
Face Offset = 0x003980 Face Count = 134
Face Offset = 0x004240 Face Count = 120
Code: Select all
Vertex Offset = 0x000560 Block Size = 24 Face Offset = 0x0013a0 Face Count = 228
Vertex Offset = 0x001570 Block Size = 24 Face Offset = 0x0019f0 Face Count = 72
Vertex Offset = 0x001a80 Block Size = 24 Face Offset = 0x001f00 Face Count = 72
Vertex Offset = 0x001f90 Block Size = 24 Face Offset = 0x002410 Face Count = 72
Vertex Offset = 0x0024a0 Block Size = 24 Face Offset = 0x002920 Face Count = 72
Vertex Offset = 0x0029b0 Block Size = 24 Face Offset = 0x003070 Face Count = 104
Vertex Offset = 0x003140 Block Size = 24 Face Offset = 0x003980 Face Count = 134
Vertex Offset = 0x003a90 Block Size = 24 Face Offset = 0x004240 Face Count = 120
Code: Select all
//------------------------------------------------
//--- 010 Editor v11.0.1 Binary Template
//
// File:
// Authors:
// Version:
// Purpose:
// Category:
// File Mask:
// ID Bytes:
// History:
//------------------------------------------------
OutputPaneClear();
local uint i,Align0,Align1,Align2,Align3;
FSeek(36);
uint MDL_COUNT;
FSeek(28);
uint VTX_TABLE_OFSFET;
FSeek(VTX_TABLE_OFSFET);
local uint FIRST_VTX_OFFSET_TMP=ReadUInt(FTell()+4);
local uint BASE_VTX_OFFSET=FTell();
local uint FIRST_VTX_OFFSET=BASE_VTX_OFFSET+FIRST_VTX_OFFSET_TMP;
struct {
struct {
local uint VERTICES_BASE_OFFSET=FTell();
uint UNK0_TMP,VTX_OFFSET_TMP,UNK2_TMP,FILE_NUM_TMP,FACE_INDICES_CHUNKS_TMP,VTXB_SIZE_TMP,UNK6_TMP;
local uint VERTEX_START=VERTICES_BASE_OFFSET+VTX_OFFSET_TMP,VTXB_SIZE=VTXB_SIZE_TMP,FACE_INDICES_CHUNKS=FACE_INDICES_CHUNKS_TMP;
local struct {
Printf("Vertex Offset = 0x%06x Block Size = %u\n",VERTEX_START,VTXB_SIZE);
}VTX[FACE_INDICES_CHUNKS]<optimize=false>;
}ENTRY[MDL_COUNT]<optimize=false>;
Align0=ReadInt(FTell());
Align1=ReadInt(FTell()+4);
Align2=ReadInt(FTell()+8);
if (Align0 == 0 && Align1 == 0 && Align2 == 0)
FSkip(12);
if (Align0 == 0 && Align1 == 0 && Align2 != 0)
FSkip(8);
if (Align0 == 0 && Align1 != 0 && Align2 != 0)
FSkip(4);
if (Align0 != 0 );
Printf("\n");
}VERTICES_INFO;
local uint FI_TABLE_BASE_OFFSET=FTell();
local uint TABLE_COUNT_TMP=FIRST_VTX_OFFSET-FI_TABLE_BASE_OFFSET;
local uint TABLE_COUNT=TABLE_COUNT_TMP/48;
struct {
struct {
local uint FACE_INDICES_BASE_OFFSET=FTell();
float UNK0,UNK1,UNK2,UNK3,UNK4,UNK5,UNK6,UNK7;
uint FLAG,FACE_COUNT_TMP,FACE_INDICES_OFFSET,NULL;
local uint FACE_START=FACE_INDICES_BASE_OFFSET+FACE_INDICES_OFFSET;
local uint FACE_INDICES_SIZE_TMP=FACE_COUNT_TMP+1;
local uint FACE_BLOCK_SIZE=FACE_INDICES_SIZE_TMP*2;
local uint FACE_COUNT=FACE_BLOCK_SIZE/2;
local struct {
Printf("Face Offset = 0x%06x Face Count = %u\n",FACE_START,FACE_COUNT);
}FI;
}ENTRY[TABLE_COUNT]<optimize=false>;
}FACE_INDICES_INFO;