コード例 #1
0
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     TriggerConditions = new TriggerConditions();
     TriggerConditions.Parse(buffer);
     Field2 = buffer.ReadInt(32);
     Field3 = new SNOName();
     Field3.Parse(buffer);
     Field4 = buffer.ReadInt(32);
     Field5 = buffer.ReadInt(32);
     HardPointLinks = new HardpointLink[2];
     for(int i = 0;i < _HardPointLinks.Length;i++)
     {
         _HardPointLinks[i] = new HardpointLink();
         _HardPointLinks[i].Parse(buffer);
     }
     LookLink = new LookLink();
     LookLink.Parse(buffer);
     ConstraintLink = new ConstraintLink();
     ConstraintLink.Parse(buffer);
     Field9 = buffer.ReadInt(32);
     Field10 = buffer.ReadFloat32();
     Field11 = buffer.ReadInt(32);
     Field12 = buffer.ReadInt(32);
     Field13 = buffer.ReadInt(32);
     Field14 = buffer.ReadInt(32);
     Field15 = buffer.ReadInt(32);
     Field16 = buffer.ReadFloat32();
     Field17 = buffer.ReadFloat32();
     Field18 = buffer.ReadInt(32);
     Field19 = buffer.ReadInt(32);
     Field20 = buffer.ReadFloat32();
     Field21 = buffer.ReadInt(32);
     Velocity = buffer.ReadFloat32();
     Ticks1 = buffer.ReadInt(32);
     RuneType = buffer.ReadInt(32);
     UseRuneType = buffer.ReadInt(32);
     Color1 = new RGBAColor();
     Color1.Parse(buffer);
     Field27 = buffer.ReadInt(32);
     Color2 = new RGBAColor();
     Color2.Parse(buffer);
     Field29 = buffer.ReadInt(32);
 }
コード例 #2
0
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadCharArray(64);
     Field1 = new RGBAColor();
     Field1.Parse(buffer);
 }
コード例 #3
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 4;
     TriggerConditions = new TriggerConditions();
     TriggerConditions.FileRead(stream, stream.Position);
     stream.Position = offset + 40;
     Field2 = stream.ReadValueS32();
     stream.Position = offset + 44;
     Field3 = new SNOName();
     Field3.FileRead(stream, stream.Position);
     stream.Position = offset + 52;
     Field4 = stream.ReadValueS32();
     stream.Position = offset + 56;
     Field5 = stream.ReadValueS32();
     stream.Position = offset + 68;
     HardPointLinks = new HardpointLink[2];
     for(int loop12=0; loop12 < 2; loop12++ )
     {
         HardpointLink temp12_HardPointLinks;
         temp12_HardPointLinks = new HardpointLink();
         temp12_HardPointLinks.FileRead(stream, stream.Position);
         _HardPointLinks[loop12] = temp12_HardPointLinks;
     }
     stream.Position = offset + 204;
     LookLink = new LookLink();
     LookLink.FileRead(stream, stream.Position);
     stream.Position = offset + 268;
     ConstraintLink = new ConstraintLink();
     ConstraintLink.FileRead(stream, stream.Position);
     stream.Position = offset + 332;
     Field9 = stream.ReadValueS32();
     stream.Position = offset + 336;
     Field10 = stream.ReadValueF32();
     stream.Position = offset + 340;
     Field11 = stream.ReadValueS32();
     stream.Position = offset + 344;
     Field12 = stream.ReadValueS32();
     stream.Position = offset + 348;
     Field13 = stream.ReadValueS32();
     stream.Position = offset + 352;
     Field14 = stream.ReadValueS32();
     stream.Position = offset + 356;
     Field15 = stream.ReadValueS32();
     stream.Position = offset + 360;
     Field16 = stream.ReadValueF32();
     stream.Position = offset + 364;
     Field17 = stream.ReadValueF32();
     stream.Position = offset + 384;
     Field18 = stream.ReadValueS32();
     stream.Position = offset + 368;
     Field19 = stream.ReadValueS32();
     stream.Position = offset + 372;
     Field20 = stream.ReadValueF32();
     stream.Position = offset + 376;
     Field21 = stream.ReadValueS32();
     stream.Position = offset + 380;
     Velocity = stream.ReadValueF32();
     stream.Position = offset + 388;
     Ticks1 = stream.ReadValueS32();
     stream.Position = offset + 60;
     RuneType = stream.ReadValueS32();
     stream.Position = offset + 64;
     UseRuneType = stream.ReadValueS32();
     stream.Position = offset + 392;
     Color1 = new RGBAColor();
     Color1.FileRead(stream, stream.Position);
     stream.Position = offset + 396;
     Field27 = stream.ReadValueS32();
     stream.Position = offset + 400;
     Color2 = new RGBAColor();
     Color2.FileRead(stream, stream.Position);
     stream.Position = offset + 404;
     Field29 = stream.ReadValueS32();
 }
コード例 #4
0
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     Field1 = buffer.ReadInt(32);
     Field2 = buffer.ReadInt(32);
     Field3 = buffer.ReadFloat32();
     Field4 = buffer.ReadFloat32();
     Field5 = buffer.ReadInt(32);
     Field6 = buffer.ReadInt(32);
     Field7 = buffer.ReadInt(32);
     Field8 = buffer.ReadInt(32);
     Field9 = buffer.ReadInt(32);
     Field10 = buffer.ReadInt(32);
     Field11 = buffer.ReadInt(32);
     Field12 = buffer.ReadInt(32);
     Field13 = (byte)buffer.ReadInt(8);
     Field14 = buffer.ReadInt(32);
     Field15 = buffer.ReadInt(32);
     Field16 = buffer.ReadInt(32);
     Field17 = buffer.ReadInt(32);
     Field18 = buffer.ReadInt(32);
     Field19 = buffer.ReadInt(32);
     Field20 = buffer.ReadInt(32);
     Field21 = buffer.ReadInt(32);
     Field22 = new RGBAColor();
     Field22.Parse(buffer);
 }
コード例 #5
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = stream.ReadString(64);
     stream.Position = offset + 64;
     Field1 = new RGBAColor();
     Field1.FileRead(stream, stream.Position);
 }
コード例 #6
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Color = new RGBAColor[2];
     for(int loop12=0; loop12 < 2; loop12++ )
     {
         RGBAColor temp12_Color;
         temp12_Color = new RGBAColor();
         temp12_Color.FileRead(stream, stream.Position);
         _Color[loop12] = temp12_Color;
     }
     stream.Position = offset + 8;
     String1 = stream.ReadString(64);
     stream.Position = offset + 72;
     Field2 = stream.ReadValueS32();
     stream.Position = offset + 76;
     Field3 = stream.ReadValueS32();
 }
コード例 #7
0
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = new RGBAColor();
     Field0.Parse(buffer);
     Field1 = new RGBAColor();
     Field1.Parse(buffer);
     Field2 = buffer.ReadFloat32();
 }
コード例 #8
0
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = new Vector3D();
     Field0.Parse(buffer);
     Field1 = new RGBAColor();
     Field1.Parse(buffer);
     Field2 = new RGBAColor[2];
     for(int i = 0;i < _Field2.Length;i++)
     {
         _Field2[i] = new RGBAColor();
         _Field2[i].Parse(buffer);
     }
     Field3 = new RGBAColor[2];
     for(int i = 0;i < _Field3.Length;i++)
     {
         _Field3[i] = new RGBAColor();
         _Field3[i].Parse(buffer);
     }
     Field4 = new RGBAColor();
     Field4.Parse(buffer);
     Field5 = new RGBAColor();
     Field5.Parse(buffer);
     Field6 = (ushort)buffer.ReadInt(16);
 }
コード例 #9
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 24;
     serServerData = new SerializeData();
     serServerData.FileRead(stream, stream.Position);
     stream.Position = offset + 16;
     //still checking variablearrays
     ServerData = new List<GlobalServerData>();
     for(int i = 0; i < (int)(serServerData.Field1 / 320); i++)
     {
     stream.Position = serServerData.Field0 + 16 + (320*i) ;
         GlobalServerData temp12_ServerData;
         temp12_ServerData = new GlobalServerData();
         temp12_ServerData.FileRead(stream, stream.Position);
         _ServerData.Add(temp12_ServerData);
     }
     stream.Position = offset + 32;
     Field2 = stream.ReadValueS32();
     stream.Position = offset + 48;
     serStartLocationNames = new SerializeData();
     serStartLocationNames.FileRead(stream, stream.Position);
     stream.Position = offset + 40;
     //still checking variablearrays
     StartLocationNames = new List<StartLocationName>();
     for(int i = 0; i < (int)(serStartLocationNames.Field1 / 68); i++)
     {
     stream.Position = serStartLocationNames.Field0 + 16 + (68*i) ;
         StartLocationName temp12_StartLocationNames;
         temp12_StartLocationNames = new StartLocationName();
         temp12_StartLocationNames.FileRead(stream, stream.Position);
         _StartLocationNames.Add(temp12_StartLocationNames);
     }
     stream.Position = offset + 56;
     Field5 = stream.ReadValueF32();
     stream.Position = offset + 60;
     Field6 = stream.ReadValueF32();
     stream.Position = offset + 64;
     Field7 = stream.ReadValueF32();
     stream.Position = offset + 68;
     Field8 = stream.ReadValueF32();
     stream.Position = offset + 72;
     Colors = new RGBAColor[400];
     for(int loop12=0; loop12 < 400; loop12++ )
     {
         RGBAColor temp12_Colors;
         temp12_Colors = new RGBAColor();
         temp12_Colors.FileRead(stream, stream.Position);
         _Colors[loop12] = temp12_Colors;
     }
     stream.Position = offset + 1672;
     Field10 = stream.ReadValueS32();
     stream.Position = offset + 1676;
     Field11 = stream.ReadValueS32();
     stream.Position = offset + 1680;
     Field12 = stream.ReadValueF32();
     stream.Position = offset + 1684;
     Field13 = stream.ReadValueS32();
     stream.Position = offset + 1688;
     Field14 = stream.ReadValueF32();
     stream.Position = offset + 1692;
     Field15 = stream.ReadValueF32();
     stream.Position = offset + 1696;
     Field16 = stream.ReadValueF32();
     stream.Position = offset + 1700;
     Field17 = stream.ReadValueF32();
     stream.Position = offset + 1704;
     Field18 = stream.ReadValueF32();
     stream.Position = offset + 1708;
     Field19 = stream.ReadValueS32();
     stream.Position = offset + 1712;
     Field20 = new int[4];
     for(int loop12=0; loop12 < 4; loop12++ )
     {
         int temp12_Field20;
         temp12_Field20 = stream.ReadValueS32();
         _Field20[loop12] = temp12_Field20;
     }
     stream.Position = offset + 1728;
     BannerParams = new BannerParams();
     BannerParams.FileRead(stream, stream.Position);
     stream.Position = offset + 1960;
     Field22 = stream.ReadValueS32();
     stream.Position = offset + 1964;
     Field23 = stream.ReadValueS32();
     stream.Position = offset + 1968;
     Field24 = stream.ReadValueS32();
     stream.Position = offset + 1972;
     Field25 = stream.ReadValueS32();
     stream.Position = offset + 1976;
     Field26 = stream.ReadValueF32();
     stream.Position = offset + 1980;
     Field27 = stream.ReadValueF32();
     stream.Position = offset + 1984;
     Field28 = stream.ReadValueF32();
     stream.Position = offset + 1988;
     Field29 = stream.ReadValueF32();
     stream.Position = offset + 1992;
     Field30 = stream.ReadValueF32();
     stream.Position = offset + 1996;
     Field31 = stream.ReadValueF32();
     stream.Position = offset + 2000;
     Field32 = stream.ReadValueF32();
     stream.Position = offset + 2004;
     Field33 = stream.ReadValueF32();
 }
コード例 #10
0
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = new RGBAColor();
     Field0.Parse(buffer);
     Field1 = new PostFXParams();
     Field1.Parse(buffer);
     Field2 = buffer.ReadInt(32);
     Field3 = buffer.ReadInt(32);
     Field4 = new UberMaterial();
     Field4.Parse(buffer);
     snoMusic = buffer.ReadInt(32);
     snoCombatMusic = buffer.ReadInt(32);
     snoAmbient = buffer.ReadInt(32);
     snoReverb = buffer.ReadInt(32);
     snoWeather = buffer.ReadInt(32);
     snoIrradianceTex = buffer.ReadInt(32);
     snoIrradianceTexDead = buffer.ReadInt(32);
 }
コード例 #11
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = new Vector3D();
     Field0.FileRead(stream, stream.Position);
     stream.Position = offset + 12;
     Field1 = new RGBAColor();
     Field1.FileRead(stream, stream.Position);
     stream.Position = offset + 16;
     Field2 = new RGBAColor[2];
     for(int loop12=0; loop12 < 2; loop12++ )
     {
         RGBAColor temp12_Field2;
         temp12_Field2 = new RGBAColor();
         temp12_Field2.FileRead(stream, stream.Position);
         _Field2[loop12] = temp12_Field2;
     }
     stream.Position = offset + 24;
     Field3 = new RGBAColor[2];
     for(int loop12=0; loop12 < 2; loop12++ )
     {
         RGBAColor temp12_Field3;
         temp12_Field3 = new RGBAColor();
         temp12_Field3.FileRead(stream, stream.Position);
         _Field3[loop12] = temp12_Field3;
     }
     stream.Position = offset + 32;
     Field4 = new RGBAColor();
     Field4.FileRead(stream, stream.Position);
     stream.Position = offset + 36;
     Field5 = new RGBAColor();
     Field5.FileRead(stream, stream.Position);
     stream.Position = offset + 40;
     Field6 = stream.ReadValueU16();
 }
コード例 #12
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = new RGBAColor();
     Field0.FileRead(stream, stream.Position);
     stream.Position = offset + 4;
     Field1 = new PostFXParams();
     Field1.FileRead(stream, stream.Position);
     stream.Position = offset + 36;
     Field2 = stream.ReadValueS32();
     stream.Position = offset + 40;
     Field3 = stream.ReadValueS32();
     stream.Position = offset + 48;
     Field4 = new UberMaterial();
     Field4.FileRead(stream, stream.Position);
     stream.Position = offset + 152;
     snoMusic = stream.ReadValueS32();
     stream.Position = offset + 156;
     snoCombatMusic = stream.ReadValueS32();
     stream.Position = offset + 160;
     snoAmbient = stream.ReadValueS32();
     stream.Position = offset + 164;
     snoReverb = stream.ReadValueS32();
     stream.Position = offset + 168;
     snoWeather = stream.ReadValueS32();
     stream.Position = offset + 172;
     snoIrradianceTex = stream.ReadValueS32();
     stream.Position = offset + 176;
     snoIrradianceTexDead = stream.ReadValueS32();
 }
コード例 #13
0
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = new RequiredMessageHeader();
     Field0.Parse(buffer);
     Field1 = buffer.ReadInt(32);
     Field2 = buffer.ReadInt(32);
     Field3 = buffer.ReadInt(32);
     Field4 = new Vector3D();
     Field4.Parse(buffer);
     Field5 = new Vector3D();
     Field5.Parse(buffer);
     Field6 = buffer.ReadFloat32();
     Field7 = buffer.ReadFloat32();
     Field8 = buffer.ReadInt(32);
     Field9 = new RGBAColor();
     Field9.Parse(buffer);
     Field10 = buffer.ReadCharArray(128);
 }
コード例 #14
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = new RequiredMessageHeader();
     Field0.FileRead(stream, stream.Position);
     stream.Position = offset + 8;
     Field1 = stream.ReadValueS32();
     stream.Position = offset + 12;
     Field2 = stream.ReadValueS32();
     stream.Position = offset + 16;
     Field3 = stream.ReadValueS32();
     stream.Position = offset + 20;
     Field4 = new Vector3D();
     Field4.FileRead(stream, stream.Position);
     stream.Position = offset + 32;
     Field5 = new Vector3D();
     Field5.FileRead(stream, stream.Position);
     stream.Position = offset + 44;
     Field6 = stream.ReadValueF32();
     stream.Position = offset + 48;
     Field7 = stream.ReadValueF32();
     stream.Position = offset + 52;
     Field8 = stream.ReadValueS32();
     stream.Position = offset + 56;
     Field9 = new RGBAColor();
     Field9.FileRead(stream, stream.Position);
     stream.Position = offset + 60;
     Field10 = stream.ReadString(128);
 }
コード例 #15
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 4;
     Field1 = new RGBAColor();
     Field1.FileRead(stream, stream.Position);
     stream.Position = offset + 8;
     Field2 = stream.ReadValueF32();
     stream.Position = offset + 12;
     Field3 = stream.ReadValueF32();
     stream.Position = offset + 16;
     Field4 = new RGBAColor();
     Field4.FileRead(stream, stream.Position);
     stream.Position = offset + 20;
     Field5 = stream.ReadValueF32();
     stream.Position = offset + 24;
     Field6 = stream.ReadValueF32();
     stream.Position = offset + 28;
     snoSunLightScene = stream.ReadValueS32();
     stream.Position = offset + 32;
     snoSunLightActor = stream.ReadValueS32();
     stream.Position = offset + 36;
     Field9 = stream.ReadValueF32();
     stream.Position = offset + 40;
     Field10 = stream.ReadValueF32();
     stream.Position = offset + 44;
     snoPlayerLightScene = stream.ReadValueS32();
     stream.Position = offset + 48;
     snoPlayerLightActor = stream.ReadValueS32();
     stream.Position = offset + 52;
     snoLocalPlayerHeadLight = stream.ReadValueS32();
 }
コード例 #16
0
 public override void Parse(GameBitBuffer buffer)
 {
     serServerData = new SerializeData();
     serServerData.Parse(buffer);
     //still checking variablearrays
     this.ServerData = new List<GlobalServerData>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _ServerData.Count; loop12++)
     {
         _ServerData[loop12] = new GlobalServerData();
         _ServerData[loop12].Parse(buffer);
     }
     Field2 = buffer.ReadInt(32);
     serStartLocationNames = new SerializeData();
     serStartLocationNames.Parse(buffer);
     //still checking variablearrays
     this.StartLocationNames = new List<StartLocationName>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _StartLocationNames.Count; loop12++)
     {
         _StartLocationNames[loop12] = new StartLocationName();
         _StartLocationNames[loop12].Parse(buffer);
     }
     Field5 = buffer.ReadFloat32();
     Field6 = buffer.ReadFloat32();
     Field7 = buffer.ReadFloat32();
     Field8 = buffer.ReadFloat32();
     Colors = new RGBAColor[400];
     for(int i = 0;i < _Colors.Length;i++)
     {
         _Colors[i] = new RGBAColor();
         _Colors[i].Parse(buffer);
     }
     Field10 = buffer.ReadInt(32);
     Field11 = buffer.ReadInt(32);
     Field12 = buffer.ReadFloat32();
     Field13 = buffer.ReadInt(32);
     Field14 = buffer.ReadFloat32();
     Field15 = buffer.ReadFloat32();
     Field16 = buffer.ReadFloat32();
     Field17 = buffer.ReadFloat32();
     Field18 = buffer.ReadFloat32();
     Field19 = buffer.ReadInt(32);
     Field20 = new int[4];
     for(int i = 0;i < _Field20.Length;i++) _Field20[i] = buffer.ReadInt(32);
     BannerParams = new BannerParams();
     BannerParams.Parse(buffer);
     Field22 = buffer.ReadInt(32);
     Field23 = buffer.ReadInt(32);
     Field24 = buffer.ReadInt(32);
     Field25 = buffer.ReadInt(32);
     Field26 = buffer.ReadFloat32();
     Field27 = buffer.ReadFloat32();
     Field28 = buffer.ReadFloat32();
     Field29 = buffer.ReadFloat32();
     Field30 = buffer.ReadFloat32();
     Field31 = buffer.ReadFloat32();
     Field32 = buffer.ReadFloat32();
     Field33 = buffer.ReadFloat32();
 }
コード例 #17
0
 public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     Field1 = new RGBAColor();
     Field1.Parse(buffer);
     Field2 = buffer.ReadFloat32();
     Field3 = buffer.ReadFloat32();
     Field4 = new RGBAColor();
     Field4.Parse(buffer);
     Field5 = buffer.ReadFloat32();
     Field6 = buffer.ReadFloat32();
     snoSunLightScene = buffer.ReadInt(32);
     snoSunLightActor = buffer.ReadInt(32);
     Field9 = buffer.ReadFloat32();
     Field10 = buffer.ReadFloat32();
     snoPlayerLightScene = buffer.ReadInt(32);
     snoPlayerLightActor = buffer.ReadInt(32);
     snoLocalPlayerHeadLight = buffer.ReadInt(32);
 }
コード例 #18
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 4;
     Field1 = stream.ReadValueS32();
     stream.Position = offset + 8;
     Field2 = stream.ReadValueS32();
     stream.Position = offset + 12;
     Field3 = stream.ReadValueF32();
     stream.Position = offset + 16;
     Field4 = stream.ReadValueF32();
     stream.Position = offset + 20;
     Field5 = stream.ReadValueS32();
     stream.Position = offset + 24;
     Field6 = stream.ReadValueS32();
     stream.Position = offset + 28;
     Field7 = stream.ReadValueS32();
     stream.Position = offset + 32;
     Field8 = stream.ReadValueS32();
     stream.Position = offset + 36;
     Field9 = stream.ReadValueS32();
     stream.Position = offset + 40;
     Field10 = stream.ReadValueS32();
     stream.Position = offset + 44;
     Field11 = stream.ReadValueS32();
     stream.Position = offset + 48;
     Field12 = stream.ReadValueS32();
     stream.Position = offset + 52;
     Field13 = (byte)stream.ReadByte();
     stream.Position = offset + 56;
     Field14 = stream.ReadValueS32();
     stream.Position = offset + 60;
     Field15 = stream.ReadValueS32();
     stream.Position = offset + 64;
     Field16 = stream.ReadValueS32();
     stream.Position = offset + 68;
     Field17 = stream.ReadValueS32();
     stream.Position = offset + 72;
     Field18 = stream.ReadValueS32();
     stream.Position = offset + 76;
     Field19 = stream.ReadValueS32();
     stream.Position = offset + 80;
     Field20 = stream.ReadValueS32();
     stream.Position = offset + 84;
     Field21 = stream.ReadValueS32();
     stream.Position = offset + 88;
     Field22 = new RGBAColor();
     Field22.FileRead(stream, stream.Position);
 }
コード例 #19
0
 public override void Parse(GameBitBuffer buffer)
 {
     Color = new RGBAColor[2];
     for(int i = 0;i < _Color.Length;i++)
     {
         _Color[i] = new RGBAColor();
         _Color[i].Parse(buffer);
     }
     String1 = buffer.ReadCharArray(64);
     Field2 = buffer.ReadInt(32);
     Field3 = buffer.ReadInt(32);
 }
コード例 #20
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = new RGBAColor();
     Field0.FileRead(stream, stream.Position);
     stream.Position = offset + 4;
     Field1 = new RGBAColor();
     Field1.FileRead(stream, stream.Position);
     stream.Position = offset + 8;
     Field2 = stream.ReadValueF32();
 }