public ScenarioAtmosphericFogPalette(BinaryReader binaryReader)
 {
     this.name = binaryReader.ReadStringID();
     this.color = binaryReader.ReadColorR8G8B8();
     this.spreadDistanceWorldUnitsHowFarFogSpreadsIntoAdjacentClusters0DefaultsTo1 = binaryReader.ReadSingle();
     this.padding = binaryReader.ReadBytes(4);
     this.maximumDensity01FogDensityClampsToThisValue = binaryReader.ReadSingle();
     this.startDistanceWorldUnitsBeforeThisDistanceThereIsNoFog = binaryReader.ReadSingle();
     this.opaqueDistanceWorldUnitsFogBecomesOpaqueMaximumDensityAtThisDistanceFromViewer = binaryReader.ReadSingle();
     this.color0 = binaryReader.ReadColorR8G8B8();
     this.padding0 = binaryReader.ReadBytes(4);
     this.maximumDensity01FogDensityClampsToThisValue0 = binaryReader.ReadSingle();
     this.startDistanceWorldUnitsBeforeThisDistanceThereIsNoFog0 = binaryReader.ReadSingle();
     this.opaqueDistanceWorldUnitsFogBecomesOpaqueMaximumDensityAtThisDistanceFromViewer0 = binaryReader.ReadSingle();
     this.padding1 = binaryReader.ReadBytes(4);
     this.planarColor = binaryReader.ReadColorR8G8B8();
     this.planarMaxDensity01 = binaryReader.ReadSingle();
     this.planarOverrideAmount01 = binaryReader.ReadSingle();
     this.planarMinDistanceBiasWorldUnitsDontAsk = binaryReader.ReadSingle();
     this.padding2 = binaryReader.ReadBytes(44);
     this.patchyColor = binaryReader.ReadColorR8G8B8();
     this.padding3 = binaryReader.ReadBytes(12);
     this.patchyDensity01 = binaryReader.ReadSingle();
     this.patchyDistanceWorldUnits = binaryReader.ReadRange();
     this.padding4 = binaryReader.ReadBytes(32);
     this.patchyFog = binaryReader.ReadTagReference();
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioAtmosphericFogMixerBlock));
         this.mixers = new ScenarioAtmosphericFogMixerBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.mixers[i] = new ScenarioAtmosphericFogMixerBlock(binaryReader);
             }
         }
     }
     this.amount01 = binaryReader.ReadSingle();
     this.threshold01 = binaryReader.ReadSingle();
     this.brightness01 = binaryReader.ReadSingle();
     this.gammaPower = binaryReader.ReadSingle();
     this.cameraImmersionFlags = (CameraImmersionFlags)binaryReader.ReadInt16();
     this.padding5 = binaryReader.ReadBytes(2);
 }
 public ScenarioLightFixtureStruct(BinaryReader binaryReader)
 {
     this.color = binaryReader.ReadColorR8G8B8();
     this.intensity = binaryReader.ReadSingle();
     this.falloffAngleDegrees = binaryReader.ReadSingle();
     this.cutoffAngleDegrees = binaryReader.ReadSingle();
 }
 public RenderLightingStruct(BinaryReader binaryReader)
 {
     this.ambient = binaryReader.ReadColorR8G8B8();
     this.shadowDirection = binaryReader.ReadVector3();
     this.lightingAccuracy = binaryReader.ReadSingle();
     this.shadowOpacity = binaryReader.ReadSingle();
     this.primaryDirectionColor = binaryReader.ReadColorR8G8B8();
     this.primaryDirection = binaryReader.ReadVector3();
     this.secondaryDirectionColor = binaryReader.ReadColorR8G8B8();
     this.secondaryDirection = binaryReader.ReadVector3();
     this.shIndex = binaryReader.ReadInt16();
     this.padding = binaryReader.ReadBytes(2);
 }
 public GlobalGeometrySectionRawVertexBlock(BinaryReader binaryReader)
 {
     this.position = binaryReader.ReadVector3();
     this.nodeIndicesOLD = new NodeIndicesOLD[4];
     for (int i = 0; i < 4; ++i)
     {
         this.nodeIndicesOLD[i] = new NodeIndicesOLD(binaryReader);
     }
     this.nodeWeights = new NodeWeights[4];
     for (int i = 0; i < 4; ++i)
     {
         this.nodeWeights[i] = new NodeWeights(binaryReader);
     }
     this.nodeIndicesNEW = new NodeIndicesNEW[4];
     for (int i = 0; i < 4; ++i)
     {
         this.nodeIndicesNEW[i] = new NodeIndicesNEW(binaryReader);
     }
     this.useNewNodeIndices = binaryReader.ReadInt32();
     this.adjustedCompoundNodeIndex = binaryReader.ReadInt32();
     this.texcoord = binaryReader.ReadVector2();
     this.normal = binaryReader.ReadVector3();
     this.binormal = binaryReader.ReadVector3();
     this.tangent = binaryReader.ReadVector3();
     this.anisotropicBinormal = binaryReader.ReadVector3();
     this.secondaryTexcoord = binaryReader.ReadVector2();
     this.primaryLightmapColor = binaryReader.ReadColorR8G8B8();
     this.primaryLightmapTexcoord = binaryReader.ReadVector2();
     this.primaryLightmapIncidentDirection = binaryReader.ReadVector3();
     this.padding = binaryReader.ReadBytes(12);
     this.padding0 = binaryReader.ReadBytes(8);
     this.padding1 = binaryReader.ReadBytes(12);
 }
 public GlobalWaterDefinitionsBlock(BinaryReader binaryReader)
 {
     this.shader = binaryReader.ReadTagReference();
     {
         var elementSize = Marshal.SizeOf(typeof(WaterGeometrySectionBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.section = new WaterGeometrySectionBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.section[i] = new WaterGeometrySectionBlock(binaryReader);
             }
         }
     }
     this.geometryBlockInfo = new GlobalGeometryBlockInfoStruct(binaryReader);
     this.sunSpotColor = binaryReader.ReadColorR8G8B8();
     this.reflectionTint = binaryReader.ReadColorR8G8B8();
     this.refractionTint = binaryReader.ReadColorR8G8B8();
     this.horizonColor = binaryReader.ReadColorR8G8B8();
     this.sunSpecularPower = binaryReader.ReadSingle();
     this.reflectionBumpScale = binaryReader.ReadSingle();
     this.refractionBumpScale = binaryReader.ReadSingle();
     this.fresnelScale = binaryReader.ReadSingle();
     this.sunDirHeading = binaryReader.ReadSingle();
     this.sunDirPitch = binaryReader.ReadSingle();
     this.fOV = binaryReader.ReadSingle();
     this.aspect = binaryReader.ReadSingle();
     this.height = binaryReader.ReadSingle();
     this.farz = binaryReader.ReadSingle();
     this.rotateOffset = binaryReader.ReadSingle();
     this.center = binaryReader.ReadVector2();
     this.extents = binaryReader.ReadVector2();
     this.fogNear = binaryReader.ReadSingle();
     this.fogFar = binaryReader.ReadSingle();
     this.dynamicHeightBias = binaryReader.ReadSingle();
 }