public void FileRead(MpqFileStream stream, long offset) { stream.Position = offset + 0; Field0 = stream.ReadValueS32(); stream.Position = offset + 4; serStringElements = new SerializeData(); serStringElements.FileRead(stream, stream.Position); stream.Position = offset + 12; //still checking variablearrays StringElements = new List<UIControlElement>(); for(int i = 0; i < (int)(serStringElements.Field1 / 264); i++) { stream.Position = serStringElements.Field0 + 16 + (264*i) ; UIControlElement temp12_StringElements; temp12_StringElements = new UIControlElement(); temp12_StringElements.FileRead(stream, stream.Position); _StringElements.Add(temp12_StringElements); } stream.Position = offset + 16; Field3 = stream.ReadValueS32(); stream.Position = offset + 20; serInt32Elements = new SerializeData(); serInt32Elements.FileRead(stream, stream.Position); stream.Position = offset + 28; //still checking variablearrays Int32Elements = new List<UIDataElementInt32>(); for(int i = 0; i < (int)(serInt32Elements.Field1 / 16); i++) { stream.Position = serInt32Elements.Field0 + 16 + (16*i) ; UIDataElementInt32 temp12_Int32Elements; temp12_Int32Elements = new UIDataElementInt32(); temp12_Int32Elements.FileRead(stream, stream.Position); _Int32Elements.Add(temp12_Int32Elements); } stream.Position = offset + 32; Field6 = stream.ReadValueS32(); stream.Position = offset + 36; serFloat32Elements = new SerializeData(); serFloat32Elements.FileRead(stream, stream.Position); stream.Position = offset + 44; //still checking variablearrays Float32Elements = new List<UIDataElementFloat32>(); for(int i = 0; i < (int)(serFloat32Elements.Field1 / 16); i++) { stream.Position = serFloat32Elements.Field0 + 16 + (16*i) ; UIDataElementFloat32 temp12_Float32Elements; temp12_Float32Elements = new UIDataElementFloat32(); temp12_Float32Elements.FileRead(stream, stream.Position); _Float32Elements.Add(temp12_Float32Elements); } }