struct Head { char8_t ResMagic[4]; // "GR01" char8_t ResClass[4]; // "SM01" uint32_t PropOffset; uint32_t PropLength; uint32_t DataOffset; uint32_t DataLength; uint64_t RawDateTime; // (FILETIME) char8_t RawFileExt[8]; // ".xshmat" } // @Head.PropOffset class Prop { uint8_t Buffer[Head.PropLength]; // 01 00 01 01 00 01 // 0013, "eCMaterialResource2" // 01 00 00 00C9 00C9 // AC000000 // C9 00 // 00000004 // 000E, "PhysicMaterial" // 0029, "bTPropertyContainer" // 001E, 00000006, {00C9, 00000000} // 0011, "IgnoredByTraceRay" // 0004, "bool" // 001E, 00000001, 00 // 0010, "DisableCollision" // 0004, "bool" // 001E, 00000001, 00 // 000F, "DisableResponse" // 0004, "bool" // 001E, 00000001, 00 // 00C9 } // @Head.DataOffset class Data { uint8_t Buffer[Head.DataLength]; // 01 00 01 01 00 01 // 000F, "eCShaderDefault" // 01 00 00 0003 00C9 // 00000557 // 00C9 // 0000000A // 0012, "TransformationType" // 0038, "bTPropertyContainer" // 001E, 00000006, {00C9, 00000003} // 000E, "EnableSpecular" // 0004, "bool" // 001E, 00000001, 01 // 000F, "DisableLighting" // 0004, "bool" // 001E, 00000001, 00 // 0009, "BlendMode" // 0033, "bTPropertyContainer" // 001E, 00000006, {00C9, 00000001} // 000D, "MaskReference" // 0004, "char" // 001E, 00000001, 00 // 0010, "MaxShaderVersion" // 0031, "bTPropertyContainer" // 001E, 00000006, {00C9, 00000003} // 0010, "FallbackMaterial" // 001F, "bCImageOrMaterialResourceString" // 001E, 00000002, {0000, {}} // 000C, "UseDepthBias" // 0004, "bool" // 001E, 00000001, 00 // 0011, "TradeAlphaAsSolid" // 0004, "bool" // 001E, 00000001, 00 // 000E, "RenderPriority" // 0003, "int" // 001E, 00000004, 00000000 // 0003 // __[0000012D] // 01 00 01 01 00 01 // 0011, "eCColorSrcSampler" // 01 00 00 0001 00C9 // 00000182 // 00C9 // 00000005 // 000D, "ImageFilePath" // 0015, "bCImageResourceString" // 001E, 0002, {0000, {}} // 000A, "TexRepeatU" // 0033, "bTPropertyContainer" // 001E, 00000006, {00C9, 00000000} // 000A, "TexRepeatV" // 0033, "bTPropertyContainer" // 001E, 00000006, {00C9, 00000000} // 000E, "AnimationSpeed" // 0005, "float" // 001E, 00000004, 00000000 // 000C, "SwitchRepeat" // 0030, "bTPropertyContainer" // 001E, 00000006, {00C9, 00000000} // 0001 // __[00000045] // 01 00 01 01 00 01 // 0012, "eCColorSrcConstant" // 01 00 00 0001 00C9 // 00000074 // 00C9 // 00000002 // 0005, "Color" // 000C, "bCFloatColor" // 001E, 00000010, {100F1960, 00000000, 00000000, 00000000} // 0005, "Alpha" // 0005, "float" // 001E, 00000004, 00000000 // 0001 // __[00000029] }