//--------------------------------------
//--- 010 Editor v3.0.6 Binary Template
//
// File:
// Author:
// Revision:
// Purpose:
//--------------------------------------
#include "common-types.bt"
// #pragma byteorder(big_endian)
BigEndian();
// mark used bytes with a light green background
SetBackColor(cLtGreen);
struct FRME_FILE
{
struct FRME_HEADER
{
uint32 unknown0;
uint32 unknown1;
uint32 unknown2;
uint32 unknown3;
uint32 unknownCount;
}fileHeader;
struct FRME_DATA
{
local uint32 i = 0;
for (i = 0; i < fileHeader.unknownCount; i++)
{
struct
{
char tag[4];
//uint8 unk1;
string Name1;
//uint8 unk2;
string Name2;
uint16 unknown1[2];
uint32 unknown2[4];
uint32 unknown3;
switch(tag)
{
case "BWIG":
uint8 unknown4;
uint16 unknownArray[unknown4];
float4 unknown5;
uint8 data[0x32];
break;
case "CAMR":
float4 translateValue;
uint32 unknown5[2];
uint8 unknown6;
switch(unknown6)
{
case 1:
uint8 unknown7;
break;
case 2:
uint8 unknownArray[2];
break;
case 69:
uint32 unknown7[2];
break;
}
uint16 unknown[0x1F];
break;
case "ENRG":
uint8 data[0x47];
break;
case "GRUP":
uint8 unknown4;
uint16 unknown5[2];
uint8 unknown6;
if (unknown5[1] != 0)
float3 unknown7;
else
uint16 unknown7[5];
uint8 unknown8[0x36];
//uint16 unknown8;
//uint8 data[0x48];
break;
case "HWIG":
uint8 data[0x43];
break;
case "IMGP":
uint8 data[0xA7];
break;
case "LITE":
uint8 data[0x63];
break;
case "MODL":
uint32 CMDL;
uint32 unknown4[2];
uint8 unknown5;
uint16 unk[unknown5];
float4 translateValue[2];
uint32 unknown6[8];
uint16 unknown7;
break;
case "METR":
Printf("%s Here %i\n", tag, i);
uint16 unknown4;
uint32 unknown5;
uint8 data[0x47];
break;
case "SLGP":
uint8 data[0x53];
break;
case "TBGP":
uint8 data[0x66];
break;
case "TXPN":
float4 translateValue[2];
uint16 unknown4;
uint32 unknown5[0x08];
uint32 unknown6[2];
uint32 FONT <format = hex>;
uint32 unknown7[2];
uint8 unknownArrayCount;
uint16 unknownArray[unknownArrayCount];
float4 translateValue2[2];
uint8 data[0x22];
break;
}
}widgetInfo;
}
}fileData;
};
struct FRME_FILE fileInfo;