public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.Bitmap = binaryReader.ReadTagReference();
     this.Shader = binaryReader.ReadTagReference();
     this.OnscreenSequenceIndex  = binaryReader.ReadInt16();
     this.OccludedSequenceIndex  = binaryReader.ReadInt16();
     this.OffscreenSequenceIndex = binaryReader.ReadInt16();
     this.fieldpad = binaryReader.ReadBytes(2);
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.Effect        = binaryReader.ReadTagReference();
     this.Sound         = binaryReader.ReadTagReference();
     this.MaterialName  = binaryReader.ReadStringID();
     this.fieldskip     = binaryReader.ReadBytes(4);
     this.SweetenerMode = ((SweetenerModeEnum)(binaryReader.ReadByte()));
     this.fieldpad      = binaryReader.ReadBytes(3);
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.FirstPersonHands   = binaryReader.ReadTagReference();
     this.FirstPersonBody    = binaryReader.ReadTagReference();
     this.fieldpad           = binaryReader.ReadBytes(40);
     this.fieldpad0          = binaryReader.ReadBytes(120);
     this.ThirdPersonUnit    = binaryReader.ReadTagReference();
     this.ThirdPersonVariant = binaryReader.ReadStringID();
     return(pointerQueue);
 }
Beispiel #4
0
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.Type         = ((TypeEnum)(binaryReader.ReadInt16()));
     this.TriggersWhen = ((TriggersWhenEnum)(binaryReader.ReadInt16()));
     this.CallValue    = binaryReader.ReadSingle();
     this.ActionString = binaryReader.ReadStringID();
     this.On           = binaryReader.ReadTagReference();
     this.Off          = binaryReader.ReadTagReference();
     this.Deny         = binaryReader.ReadTagReference();
     return(pointerQueue);
 }
Beispiel #5
0
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.LightFlags                = ((Flags)(binaryReader.ReadInt32()));
     this.Type                      = ((TypeEnum)(binaryReader.ReadInt16()));
     this.fieldpad                  = binaryReader.ReadBytes(2);
     this.SizeModifer               = binaryReader.ReadRange();
     this.ShadowQualityBias         = binaryReader.ReadSingle();
     this.ShadowTapBias             = ((ShadowTapBiasEnum)(binaryReader.ReadInt16()));
     this.fieldpad0                 = binaryReader.ReadBytes(2);
     this.Radius                    = binaryReader.ReadSingle();
     this.SpecularRadius            = binaryReader.ReadSingle();
     this.NearWidth                 = binaryReader.ReadSingle();
     this.HeightStretch             = binaryReader.ReadSingle();
     this.FieldOfView               = binaryReader.ReadSingle();
     this.FalloffDistance           = binaryReader.ReadSingle();
     this.CutoffDistance            = binaryReader.ReadSingle();
     this.LightInterpolationFlags   = ((InterpolationFlags)(binaryReader.ReadInt32()));
     this.BloomBounds               = binaryReader.ReadRange();
     this.SpecularLowerBound        = binaryReader.ReadColorR8G8B8();
     this.SpecularUpperBound        = binaryReader.ReadColorR8G8B8();
     this.DiffuseLowerBound         = binaryReader.ReadColorR8G8B8();
     this.DiffuseUpperBound         = binaryReader.ReadColorR8G8B8();
     this.BrightnessBounds          = binaryReader.ReadRange();
     this.GelMap                    = binaryReader.ReadTagReference();
     this.SpecularMask              = ((SpecularMaskEnum)(binaryReader.ReadInt16()));
     this.fieldpad1                 = binaryReader.ReadBytes(2);
     this.fieldpad2                 = binaryReader.ReadBytes(4);
     this.FalloffFunction           = ((FalloffFunctionEnum)(binaryReader.ReadInt16()));
     this.DiffuseContrast           = ((DiffuseContrastEnum)(binaryReader.ReadInt16()));
     this.SpecularContrast          = ((SpecularContrastEnum)(binaryReader.ReadInt16()));
     this.FalloffGeometry           = ((FalloffGeometryEnum)(binaryReader.ReadInt16()));
     this.LensFlare                 = binaryReader.ReadTagReference();
     this.BoundingRadius            = binaryReader.ReadSingle();
     this.LightVolume               = binaryReader.ReadTagReference();
     this.DefaultLightmapSetting    = ((DefaultLightmapSettingEnum)(binaryReader.ReadInt16()));
     this.fieldpad3                 = binaryReader.ReadBytes(2);
     this.LightmapHalfLife          = binaryReader.ReadSingle();
     this.LightmapLightScale        = binaryReader.ReadSingle();
     this.Duration                  = binaryReader.ReadSingle();
     this.fieldpad4                 = binaryReader.ReadBytes(2);
     this.LightLightFalloffFunction = ((LightFalloffFunctionEnum)(binaryReader.ReadInt16()));
     this.IlluminationFade          = ((IlluminationFadeEnum)(binaryReader.ReadInt16()));
     this.ShadowFade                = ((ShadowFadeEnum)(binaryReader.ReadInt16()));
     this.SpecularFade              = ((SpecularFadeEnum)(binaryReader.ReadInt16()));
     this.fieldpad5                 = binaryReader.ReadBytes(2);
     this.LightLightFlags0          = ((LightFlags0)(binaryReader.ReadInt32()));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(8));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(8));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(16));
     this.Shader = binaryReader.ReadTagReference();
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.Bitmap           = binaryReader.ReadTagReference();
     this.Shader           = binaryReader.ReadTagReference();
     this.SequenceIndex    = binaryReader.ReadInt16();
     this.fieldpad         = binaryReader.ReadBytes(2);
     this.SmallestSize     = binaryReader.ReadSingle();
     this.SmallestDistance = binaryReader.ReadSingle();
     this.BorderBitmap     = binaryReader.ReadTagReference();
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.ColonyFlags = ((Flags)(binaryReader.ReadInt16()));
     this.fieldpad    = binaryReader.ReadBytes(2);
     this.fieldpad0   = binaryReader.ReadBytes(4);
     this.Radius      = binaryReader.ReadRange();
     this.fieldpad1   = binaryReader.ReadBytes(12);
     this.DebugColor  = binaryReader.ReadVector4();
     this.BaseMap     = binaryReader.ReadTagReference();
     this.DetailMap   = binaryReader.ReadTagReference();
     return(pointerQueue);
 }
Beispiel #8
0
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.ChargingTime         = binaryReader.ReadSingle();
     this.ChargedTime          = binaryReader.ReadSingle();
     this.OverchargedAction    = ((OverchargedActionEnum)(binaryReader.ReadInt16()));
     this.fieldpad             = binaryReader.ReadBytes(2);
     this.ChargedIllumination  = binaryReader.ReadSingle();
     this.SpewTime             = binaryReader.ReadSingle();
     this.ChargingEffect       = binaryReader.ReadTagReference();
     this.ChargingDamageEffect = binaryReader.ReadTagReference();
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.HudReferenceFlags = ((Flags)(binaryReader.ReadInt32()));
     this.AnimationIndex    = ((AnimationIndexEnum)(binaryReader.ReadInt16()));
     this.IntroAnimationDelayMilliseconds = binaryReader.ReadInt16();
     this.RenderDepthBias             = binaryReader.ReadInt16();
     this.StartingBitmapSequenceIndex = binaryReader.ReadInt16();
     this.Bitmap = binaryReader.ReadTagReference();
     this.Shader = binaryReader.ReadTagReference();
     this.Bounds = binaryReader.ReadVector2();
     return(pointerQueue);
 }
Beispiel #10
0
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.VehicleVehicleFlags = ((VehicleFlags)(binaryReader.ReadInt32()));
     this.Type                           = ((TypeEnum)(binaryReader.ReadInt16()));
     this.Control                        = ((ControlEnum)(binaryReader.ReadInt16()));
     this.MaximumForwardSpeed            = binaryReader.ReadSingle();
     this.MaximumReverseSpeed            = binaryReader.ReadSingle();
     this.SpeedAcceleration              = binaryReader.ReadSingle();
     this.SpeedDeceleration              = binaryReader.ReadSingle();
     this.MaximumLeftTurn                = binaryReader.ReadSingle();
     this.MaximumRightTurn               = binaryReader.ReadSingle();
     this.WheelCircumference             = binaryReader.ReadSingle();
     this.TurnRate                       = binaryReader.ReadSingle();
     this.BlurSpeed                      = binaryReader.ReadSingle();
     this.SpecificType                   = ((SpecificTypeEnum)(binaryReader.ReadInt16()));
     this.PlayerTrainingVehicleType      = ((PlayerTrainingVehicleTypeEnum)(binaryReader.ReadInt16()));
     this.FlipMessage                    = binaryReader.ReadStringID();
     this.TurnScale                      = binaryReader.ReadSingle();
     this.SpeedTurnPenaltyPower          = binaryReader.ReadSingle();
     this.SpeedTurnPenalty               = binaryReader.ReadSingle();
     this.MaximumLeftSlide               = binaryReader.ReadSingle();
     this.MaximumRightSlide              = binaryReader.ReadSingle();
     this.SlideAcceleration              = binaryReader.ReadSingle();
     this.SlideDeceleration              = binaryReader.ReadSingle();
     this.MinimumFlippingAngularVelocity = binaryReader.ReadSingle();
     this.MaximumFlippingAngularVelocity = binaryReader.ReadSingle();
     this.VehicleSize                    = ((VehicleSizeEnum)(binaryReader.ReadInt16()));
     this.fieldpad4                      = binaryReader.ReadBytes(2);
     this.FixedGunYaw                    = binaryReader.ReadSingle();
     this.FixedGunPitch                  = binaryReader.ReadSingle();
     this.OverdampenCuspAngle            = binaryReader.ReadSingle();
     this.OverdampenExponent             = binaryReader.ReadSingle();
     this.CrouchTransitionTime           = binaryReader.ReadSingle();
     this.fieldpad5                      = binaryReader.ReadBytes(4);
     this.EngineMoment                   = binaryReader.ReadSingle();
     this.EngineMaxAngularVelocity       = binaryReader.ReadSingle();
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(68));
     this.FlyingTorqueScale = binaryReader.ReadSingle();
     this.SeatEnteranceAccelerationScale = binaryReader.ReadSingle();
     this.SeatExitAccelersationScale     = binaryReader.ReadSingle();
     this.AirFrictionDeceleration        = binaryReader.ReadSingle();
     this.ThrustScale     = binaryReader.ReadSingle();
     this.SuspensionSound = binaryReader.ReadTagReference();
     this.CrashSound      = binaryReader.ReadTagReference();
     this.UNUSED          = binaryReader.ReadTagReference();
     this.SpecialEffect   = binaryReader.ReadTagReference();
     this.UnusedEffect    = binaryReader.ReadTagReference();
     pointerQueue         = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.HavokVehiclePhysics.ReadFields(binaryReader)));
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.UnitUnitFlags         = ((UnitFlags)(binaryReader.ReadInt32()));
     this.DefaultTeam           = ((DefaultTeamEnum)(binaryReader.ReadInt16()));
     this.ConstantSoundVolume   = ((ConstantSoundVolumeEnum)(binaryReader.ReadInt16()));
     this.IntegratedLightToggle = binaryReader.ReadTagReference();
     this.CameraFieldOfView     = binaryReader.ReadSingle();
     this.CameraStiffness       = binaryReader.ReadSingle();
     pointerQueue                    = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.UnitCamera.ReadFields(binaryReader)));
     pointerQueue                    = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.Acceleration.ReadFields(binaryReader)));
     this.SoftPingThreshold          = binaryReader.ReadSingle();
     this.SoftPingInterruptTime      = binaryReader.ReadSingle();
     this.HardPingThreshold          = binaryReader.ReadSingle();
     this.HardPingInterruptTime      = binaryReader.ReadSingle();
     this.HardDeathThreshold         = binaryReader.ReadSingle();
     this.FeignDeathThreshold        = binaryReader.ReadSingle();
     this.FeignDeathTime             = binaryReader.ReadSingle();
     this.DistanceOfEvadeAnim        = binaryReader.ReadSingle();
     this.DistanceOfDiveAnim         = binaryReader.ReadSingle();
     this.StunnedMovementThreshold   = binaryReader.ReadSingle();
     this.FeignDeathChance           = binaryReader.ReadSingle();
     this.FeignRepeatChance          = binaryReader.ReadSingle();
     this.SpawnedTurretCharacter     = binaryReader.ReadTagReference();
     this.SpawnedActorCount          = binaryReader.ReadInt32();
     this.SpawnedVelocity            = binaryReader.ReadSingle();
     this.AimingVelocityMaximum      = binaryReader.ReadSingle();
     this.AimingAccelerationMaximum  = binaryReader.ReadSingle();
     this.CasualAimingModifier       = binaryReader.ReadSingle();
     this.LookingVelocityMaximum     = binaryReader.ReadSingle();
     this.LookingAccelerationMaximum = binaryReader.ReadSingle();
     this.RightHandNode              = binaryReader.ReadStringID();
     this.LeftHandNode               = binaryReader.ReadStringID();
     pointerQueue                    = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.MoreDamnNodes.ReadFields(binaryReader)));
     this.MeleeDamage                = binaryReader.ReadTagReference();
     pointerQueue                    = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.YourMomma.ReadFields(binaryReader)));
     this.MotionSensorBlipSize       = ((MotionSensorBlipSizeEnum)(binaryReader.ReadInt16()));
     this.fieldpad3                  = binaryReader.ReadBytes(2);
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(16));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(8));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(12));
     this.GrenadeVelocity = binaryReader.ReadSingle();
     this.GrenadeType     = ((GrenadeTypeEnum)(binaryReader.ReadInt16()));
     this.GrenadeCount    = binaryReader.ReadInt16();
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(8));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(8));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(176));
     pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.Boost.ReadFields(binaryReader)));
     pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.Lipsync.ReadFields(binaryReader)));
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.AttachmentMarkerName = binaryReader.ReadStringID();
     this.Bitmaps  = binaryReader.ReadTagReference();
     this.Physics  = binaryReader.ReadTagReference();
     this.fieldpad = binaryReader.ReadBytes(80);
     this.SpringStrengthCoefficient = binaryReader.ReadSingle();
     this.FalloffPixels             = binaryReader.ReadSingle();
     this.CutoffPixels = binaryReader.ReadSingle();
     this.fieldpad0    = binaryReader.ReadBytes(40);
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(128));
     return(pointerQueue);
 }
Beispiel #13
0
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.ContrailFlags             = ((Flags)(binaryReader.ReadInt16()));
     this.ContrailScaleFlags        = ((ScaleFlags)(binaryReader.ReadInt16()));
     this.PointGenerationRate       = binaryReader.ReadSingle();
     this.PointVelocity             = binaryReader.ReadRange();
     this.PointVelocityConeAngle    = binaryReader.ReadSingle();
     this.InheritedVelocityFraction = binaryReader.ReadSingle();
     this.RenderType                = ((RenderTypeEnum)(binaryReader.ReadInt16()));
     this.fieldpad                  = binaryReader.ReadBytes(2);
     this.TextureRepeatsU           = binaryReader.ReadSingle();
     this.TextureRepeatsV           = binaryReader.ReadSingle();
     this.TextureAnimationU         = binaryReader.ReadSingle();
     this.TextureAnimationV         = binaryReader.ReadSingle();
     this.AnimationRate             = binaryReader.ReadSingle();
     this.Bitmap                    = binaryReader.ReadTagReference();
     this.FirstSequenceIndex        = binaryReader.ReadInt16();
     this.SequenceCount             = binaryReader.ReadInt16();
     this.fieldpad0                 = binaryReader.ReadBytes(40);
     this.ContrailShaderFlags       = ((ShaderFlags)(binaryReader.ReadInt16()));
     this.FramebufferBlendFunction  = ((FramebufferBlendFunctionEnum)(binaryReader.ReadInt16()));
     this.FramebufferFadeMode       = ((FramebufferFadeModeEnum)(binaryReader.ReadInt16()));
     this.ContrailMapFlags          = ((MapFlags)(binaryReader.ReadInt16()));
     this.fieldpad1                 = binaryReader.ReadBytes(28);
     this.Bitmap0                   = binaryReader.ReadTagReference();
     this.Anchor                    = ((AnchorEnum)(binaryReader.ReadInt16()));
     this.ContrailContrailFlags0    = ((ContrailFlags0)(binaryReader.ReadInt16()));
     this.fieldpad2                 = binaryReader.ReadBytes(2);
     this.UanimationFunction        = ((UanimationFunctionEnum)(binaryReader.ReadInt16()));
     this.UanimationPeriod          = binaryReader.ReadSingle();
     this.UanimationPhase           = binaryReader.ReadSingle();
     this.UanimationScale           = binaryReader.ReadSingle();
     this.fieldpad3                 = binaryReader.ReadBytes(2);
     this.VanimationFunction        = ((VanimationFunctionEnum)(binaryReader.ReadInt16()));
     this.VanimationPeriod          = binaryReader.ReadSingle();
     this.VanimationPhase           = binaryReader.ReadSingle();
     this.VanimationScale           = binaryReader.ReadSingle();
     this.fieldpad4                 = binaryReader.ReadBytes(2);
     this.RotationanimationFunction = ((RotationanimationFunctionEnum)(binaryReader.ReadInt16()));
     this.RotationanimationPeriod   = binaryReader.ReadSingle();
     this.RotationanimationPhase    = binaryReader.ReadSingle();
     this.RotationanimationScale    = binaryReader.ReadSingle();
     this.RotationanimationCenter   = binaryReader.ReadVector2();
     this.fieldpad5                 = binaryReader.ReadBytes(4);
     this.ZspriteRadiusScale        = binaryReader.ReadSingle();
     this.fieldpad6                 = binaryReader.ReadBytes(20);
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(64));
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.Name              = binaryReader.ReadString32();
     this.WeatherSystem     = binaryReader.ReadTagReference();
     this.fieldpad          = binaryReader.ReadBytes(2);
     this.fieldpad0         = binaryReader.ReadBytes(2);
     this.fieldpad1         = binaryReader.ReadBytes(32);
     this.Wind              = binaryReader.ReadTagReference();
     this.WindDirection     = binaryReader.ReadVector3();
     this.WindMagnitude     = binaryReader.ReadSingle();
     this.fieldpad2         = binaryReader.ReadBytes(4);
     this.WindScaleFunction = binaryReader.ReadString32();
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.Unit  = binaryReader.ReadTagReference();
     this.Style = binaryReader.ReadTagReference();
     this.CharacterVehicleVehicleFlags     = ((VehicleFlags)(binaryReader.ReadInt32()));
     this.AiPathfindingRadius              = binaryReader.ReadSingle();
     this.AiDestinationRadius              = binaryReader.ReadSingle();
     this.AiDecelerationDistanceworldUnits = binaryReader.ReadSingle();
     this.AiTurningRadius             = binaryReader.ReadSingle();
     this.AiInnerTurningRadius        = binaryReader.ReadSingle();
     this.AiIdealTurningRadius        = binaryReader.ReadSingle();
     this.AiBansheeSteeringMaximum    = binaryReader.ReadSingle();
     this.AiMaxSteeringAngle          = binaryReader.ReadSingle();
     this.AiMaxSteeringDelta          = binaryReader.ReadSingle();
     this.AiOversteeringScale         = binaryReader.ReadSingle();
     this.AiOversteeringBounds        = binaryReader.ReadRange();
     this.AiSideslipDistance          = binaryReader.ReadSingle();
     this.AiAvoidanceDistance         = binaryReader.ReadSingle();
     this.AiMinUrgency                = binaryReader.ReadSingle();
     this.AiThrottleMaximum           = binaryReader.ReadSingle();
     this.AiGoalMinThrottleScale      = binaryReader.ReadSingle();
     this.AiTurnMinThrottleScale      = binaryReader.ReadSingle();
     this.AiDirectionMinThrottleScale = binaryReader.ReadSingle();
     this.AiAccelerationScale         = binaryReader.ReadSingle();
     this.AiThrottleBlend             = binaryReader.ReadSingle();
     this.TheoreticalMaxSpeed         = binaryReader.ReadSingle();
     this.ErrorScale = binaryReader.ReadSingle();
     this.AiAllowableAimDeviationAngle = binaryReader.ReadSingle();
     this.AiChargeTightAngleDistance   = binaryReader.ReadSingle();
     this.AiChargeTightAngle           = binaryReader.ReadSingle();
     this.AiChargeRepeatTimeout        = binaryReader.ReadSingle();
     this.AiChargeLookaheadTime        = binaryReader.ReadSingle();
     this.AiChargeConsiderDistance     = binaryReader.ReadSingle();
     this.AiChargeAbortDistance        = binaryReader.ReadSingle();
     this.VehicleRamTimeout            = binaryReader.ReadSingle();
     this.RamParalysisTime             = binaryReader.ReadSingle();
     this.AiCoverDamageThreshold       = binaryReader.ReadSingle();
     this.AiCoverMinDistance           = binaryReader.ReadSingle();
     this.AiCoverTime                   = binaryReader.ReadSingle();
     this.AiCoverMinBoostDistance       = binaryReader.ReadSingle();
     this.TurtlingRecentDamageThreshold = binaryReader.ReadSingle();
     this.TurtlingMinTime               = binaryReader.ReadSingle();
     this.TurtlingTimeout               = binaryReader.ReadSingle();
     this.ObstacleIgnoreSize            = ((ObstacleIgnoreSizeEnum)(binaryReader.ReadInt16()));
     this.fieldpad = binaryReader.ReadBytes(2);
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.StateAttachedTo            = ((StateAttachedToEnum)(binaryReader.ReadInt16()));
     this.fieldpad                   = binaryReader.ReadBytes(2);
     this.CanUseOnMapType            = ((CanUseOnMapTypeEnum)(binaryReader.ReadInt16()));
     this.fieldpad0                  = binaryReader.ReadBytes(2);
     this.fieldpad1                  = binaryReader.ReadBytes(28);
     this.AnchorOffset               = binaryReader.ReadPoint();
     this.WidthScale                 = binaryReader.ReadSingle();
     this.HeightScale                = binaryReader.ReadSingle();
     this.WeaponHudMeterScalingFlags = ((ScalingFlags)(binaryReader.ReadInt16()));
     this.fieldpad2                  = binaryReader.ReadBytes(2);
     this.fieldpad3                  = binaryReader.ReadBytes(20);
     this.MeterBitmap                = binaryReader.ReadTagReference();
     this.ColorAtMeterMinimum        = binaryReader.ReadColourR1G1B1();
     this.ColorAtMeterMaximum        = binaryReader.ReadColourR1G1B1();
     this.FlashColor                 = binaryReader.ReadColourR1G1B1();
     this.EmptyColor                 = binaryReader.ReadColourA1R1G1B1();
     this.WeaponHudMeterFlags        = ((Flags)(binaryReader.ReadByte()));
     this.MinumumMeterValue          = binaryReader.ReadByte();
     this.SequenceIndex              = binaryReader.ReadInt16();
     this.AlphaMultiplier            = binaryReader.ReadByte();
     this.AlphaBias                  = binaryReader.ReadByte();
     this.ValueScale                 = binaryReader.ReadInt16();
     this.Opacity       = binaryReader.ReadSingle();
     this.Translucency  = binaryReader.ReadSingle();
     this.DisabledColor = binaryReader.ReadColourA1R1G1B1();
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(0));
     this.fieldpad4 = binaryReader.ReadBytes(4);
     this.fieldpad5 = binaryReader.ReadBytes(40);
     return(pointerQueue);
 }
Beispiel #17
0
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.Name                   = binaryReader.ReadStringID();
     pointerQueue                = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.HudWidgetInputsStruct.ReadFields(binaryReader)));
     pointerQueue                = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.HudWidgetStateDefinitionStruct.ReadFields(binaryReader)));
     this.Anchor                 = ((AnchorEnum)(binaryReader.ReadInt16()));
     this.HudTextWidgetsFlags    = ((Flags)(binaryReader.ReadInt16()));
     this.Shader                 = binaryReader.ReadTagReference();
     this.String                 = binaryReader.ReadStringID();
     this.Justification          = ((JustificationEnum)(binaryReader.ReadInt16()));
     this.fieldpad               = binaryReader.ReadBytes(2);
     this.FullscreenFontIndex    = ((FullscreenFontIndexEnum)(binaryReader.ReadByte()));
     this.HalfscreenFontIndex    = ((HalfscreenFontIndexEnum)(binaryReader.ReadByte()));
     this.QuarterscreenFontIndex = ((QuarterscreenFontIndexEnum)(binaryReader.ReadByte()));
     this.fieldpad0              = binaryReader.ReadBytes(1);
     this.FullscreenScale        = binaryReader.ReadSingle();
     this.HalfscreenScale        = binaryReader.ReadSingle();
     this.QuarterscreenScale     = binaryReader.ReadSingle();
     this.FullscreenOffset       = binaryReader.ReadPoint();
     this.HalfscreenOffset       = binaryReader.ReadPoint();
     this.QuarterscreenOffset    = binaryReader.ReadPoint();
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(104));
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.UpdatesPerSecond = binaryReader.ReadInt16();
     this.fieldpad         = binaryReader.ReadBytes(2);
     this.DeadCellPenalty  = binaryReader.ReadSingle();
     this.LiveCellBonus    = binaryReader.ReadSingle();
     this.fieldpad0        = binaryReader.ReadBytes(80);
     this.Width            = binaryReader.ReadInt16();
     this.Height           = binaryReader.ReadInt16();
     this.CellWidth        = binaryReader.ReadSingle();
     this.Height0          = binaryReader.ReadSingle();
     this.Velocity         = binaryReader.ReadVector2();
     this.fieldpad1        = binaryReader.ReadBytes(28);
     this.Marker           = binaryReader.ReadStringID();
     this.CellularAutomata2dInterpolationFlags = ((InterpolationFlags)(binaryReader.ReadInt32()));
     this.BaseColor    = binaryReader.ReadColorR8G8B8();
     this.PeakColor    = binaryReader.ReadColorR8G8B8();
     this.fieldpad2    = binaryReader.ReadBytes(76);
     this.Width0       = binaryReader.ReadInt16();
     this.Height1      = binaryReader.ReadInt16();
     this.CellWidth0   = binaryReader.ReadSingle();
     this.Velocity0    = binaryReader.ReadVector2();
     this.fieldpad3    = binaryReader.ReadBytes(48);
     this.Marker0      = binaryReader.ReadStringID();
     this.TextureWidth = binaryReader.ReadInt16();
     this.fieldpad4    = binaryReader.ReadBytes(2);
     this.fieldpad5    = binaryReader.ReadBytes(48);
     this.Texture      = binaryReader.ReadTagReference();
     this.fieldpad6    = binaryReader.ReadBytes(160);
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(84));
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.CreatureCreatureFlags      = ((CreatureFlags)(binaryReader.ReadInt32()));
     this.DefaultTeam                = ((DefaultTeamEnum)(binaryReader.ReadInt16()));
     this.MotionSensorBlipSize       = ((MotionSensorBlipSizeEnum)(binaryReader.ReadInt16()));
     this.TurningVelocityMaximum     = binaryReader.ReadSingle();
     this.TurningAccelerationMaximum = binaryReader.ReadSingle();
     this.CasualTurningModifier      = binaryReader.ReadSingle();
     this.AutoaimWidth               = binaryReader.ReadSingle();
     pointerQueue               = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.Physics.ReadFields(binaryReader)));
     this.ImpactDamage          = binaryReader.ReadTagReference();
     this.ImpactShieldDamage    = binaryReader.ReadTagReference();
     this.DestroyAfterDeathTime = binaryReader.ReadRange();
     return(pointerQueue);
 }
Beispiel #20
0
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.ShaderPass = binaryReader.ReadTagReference();
     pointerQueue    = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.Implementations.ReadFields(binaryReader)));
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.CubeMapReference = binaryReader.ReadTagReference();
     this.PowerScale       = binaryReader.ReadSingle();
     return(pointerQueue);
 }
Beispiel #22
0
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.AnchorOffset = binaryReader.ReadPoint();
     this.WidthScale   = binaryReader.ReadSingle();
     this.HeightScale  = binaryReader.ReadSingle();
     this.UnitHudAuxilaryOverlayScalingFlags = ((ScalingFlags)(binaryReader.ReadInt16()));
     this.fieldpad        = binaryReader.ReadBytes(2);
     this.fieldpad0       = binaryReader.ReadBytes(20);
     this.InterfaceBitmap = binaryReader.ReadTagReference();
     this.DefaultColor    = binaryReader.ReadColourA1R1G1B1();
     this.FlashingColor   = binaryReader.ReadColourA1R1G1B1();
     this.FlashPeriod     = binaryReader.ReadSingle();
     this.FlashDelay      = binaryReader.ReadSingle();
     this.NumberOfFlashes = binaryReader.ReadInt16();
     this.UnitHudAuxilaryOverlayFlashFlags = ((FlashFlags)(binaryReader.ReadInt16()));
     this.FlashLength   = binaryReader.ReadSingle();
     this.DisabledColor = binaryReader.ReadColourA1R1G1B1();
     this.fieldpad1     = binaryReader.ReadBytes(4);
     this.SequenceIndex = binaryReader.ReadInt16();
     this.fieldpad2     = binaryReader.ReadBytes(2);
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(452));
     this.fieldpad3 = binaryReader.ReadBytes(4);
     this.Type      = ((TypeEnum)(binaryReader.ReadInt16()));
     this.UnitHudAuxilaryOverlayFlags = ((Flags)(binaryReader.ReadInt16()));
     this.fieldpad4 = binaryReader.ReadBytes(24);
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.Textures.ReadFields(binaryReader)));
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.RenderStates.ReadFields(binaryReader)));
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.TextureStates.ReadFields(binaryReader)));
     this.fieldskip    = binaryReader.ReadBytes(240);
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.PsFragments.ReadFields(binaryReader)));
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.PsPermutations.ReadFields(binaryReader)));
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.PsCombiners.ReadFields(binaryReader)));
     this.VertexShader = binaryReader.ReadTagReference();
     this.fieldskip0   = binaryReader.ReadBytes(8);
     this.fieldskip1   = binaryReader.ReadBytes(8);
     this.fieldskip2   = binaryReader.ReadBytes(4);
     this.fieldskip3   = binaryReader.ReadBytes(4);
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.DefaultRenderStates.ReadFields(binaryReader)));
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.RenderStateExterns.ReadFields(binaryReader)));
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.TextureStateExterns.ReadFields(binaryReader)));
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.PixelConstantExterns.ReadFields(binaryReader)));
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.VertexConstantExterns.ReadFields(binaryReader)));
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.PsConstants.ReadFields(binaryReader)));
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.VsConstants.ReadFields(binaryReader)));
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.PixelConstantInfo.ReadFields(binaryReader)));
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.VertexConstantInfo.ReadFields(binaryReader)));
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.RenderStateInfo.ReadFields(binaryReader)));
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.TextureStateInfo.ReadFields(binaryReader)));
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.Bsp                  = binaryReader.ReadShortBlockIndex1();
     this.fieldpad             = binaryReader.ReadBytes(2);
     this.BoundingVolume       = binaryReader.ReadShortBlockIndex1();
     this.FlockDefinitionFlags = ((Flags)(binaryReader.ReadInt16()));
     this.EcologyMargin        = binaryReader.ReadSingle();
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(28));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(16));
     this.ProductionFrequency = binaryReader.ReadSingle();
     this.Scale                   = binaryReader.ReadRange();
     this.Creature                = binaryReader.ReadTagReference();
     this.BoidCount               = binaryReader.ReadInt32();
     this.NeighborhoodRadius      = binaryReader.ReadSingle();
     this.AvoidanceRadius         = binaryReader.ReadSingle();
     this.ForwardScale            = binaryReader.ReadSingle();
     this.AlignmentScale          = binaryReader.ReadSingle();
     this.AvoidanceScale          = binaryReader.ReadSingle();
     this.LevelingForceScale      = binaryReader.ReadSingle();
     this.SinkScale               = binaryReader.ReadSingle();
     this.PerceptionAngle         = binaryReader.ReadSingle();
     this.AverageThrottle         = binaryReader.ReadSingle();
     this.MaximumThrottle         = binaryReader.ReadSingle();
     this.PositionScale           = binaryReader.ReadSingle();
     this.PositionMinRadius       = binaryReader.ReadSingle();
     this.PositionMaxRadius       = binaryReader.ReadSingle();
     this.MovementWeightThreshold = binaryReader.ReadSingle();
     this.DangerRadius            = binaryReader.ReadSingle();
     this.DangerScale             = binaryReader.ReadSingle();
     this.RandomOffsetScale       = binaryReader.ReadSingle();
     this.RandomOffsetPeriod      = binaryReader.ReadRange();
     this.FlockName               = binaryReader.ReadStringID();
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.ChildScenario = binaryReader.ReadTagReference();
     this.fieldpad      = binaryReader.ReadBytes(16);
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.BSP = binaryReader.ReadTagReference();
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(12));
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.GPUState.ReadFields(binaryReader)));
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.GPUConstantState.ReadFields(binaryReader)));
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.GPUVolatileState.ReadFields(binaryReader)));
     pointerQueue      = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.GPUDefaultState.ReadFields(binaryReader)));
     this.VertexShader = binaryReader.ReadTagReference();
     this.fieldskip    = binaryReader.ReadBytes(8);
     this.fieldskip0   = binaryReader.ReadBytes(8);
     this.fieldskip1   = binaryReader.ReadBytes(4);
     this.fieldskip2   = binaryReader.ReadBytes(4);
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(2));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(2));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(2));
     this.BitmapParameterCount = binaryReader.ReadInt16();
     this.fieldpad             = binaryReader.ReadBytes(2);
     this.fieldskip3           = binaryReader.ReadBytes(240);
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(4));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(16));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(32));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(6));
     this.fieldskip4 = binaryReader.ReadBytes(4);
     this.fieldskip5 = binaryReader.ReadBytes(4);
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.Sprites                  = binaryReader.ReadTagReference();
     this.ViewBoxWidth             = binaryReader.ReadSingle();
     this.ViewBoxHeight            = binaryReader.ReadSingle();
     this.ViewBoxDepth             = binaryReader.ReadSingle();
     this.ExclusionRadius          = binaryReader.ReadSingle();
     this.MaxVelocity              = binaryReader.ReadSingle();
     this.MinMass                  = binaryReader.ReadSingle();
     this.MaxMass                  = binaryReader.ReadSingle();
     this.MinSize                  = binaryReader.ReadSingle();
     this.MaxSize                  = binaryReader.ReadSingle();
     this.MaximumNumberOfParticles = binaryReader.ReadInt32();
     this.InitialVelocity          = binaryReader.ReadVector3();
     this.BitmapAnimationSpeed     = binaryReader.ReadSingle();
     pointerQueue                  = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.GeometryBlockInfo.ReadFields(binaryReader)));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(48));
     this.Type            = ((TypeEnum)(binaryReader.ReadInt16()));
     this.fieldpad        = binaryReader.ReadBytes(2);
     this.MininumOpacity  = binaryReader.ReadSingle();
     this.MaxinumOpacity  = binaryReader.ReadSingle();
     this.RainStreakScale = binaryReader.ReadSingle();
     this.RainLineWidth   = binaryReader.ReadSingle();
     this.fieldpad0       = binaryReader.ReadBytes(4);
     this.fieldpad1       = binaryReader.ReadBytes(4);
     this.fieldpad2       = binaryReader.ReadBytes(4);
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.GameEngineAssaultEventFlags = ((Flags)(binaryReader.ReadInt16()));
     this.fieldpad                         = binaryReader.ReadBytes(2);
     this.Event                            = ((EventEnum)(binaryReader.ReadInt16()));
     this.Audience                         = ((AudienceEnum)(binaryReader.ReadInt16()));
     this.fieldpad0                        = binaryReader.ReadBytes(2);
     this.fieldpad1                        = binaryReader.ReadBytes(2);
     this.DisplayString                    = binaryReader.ReadStringID();
     this.RequiredField                    = ((RequiredFieldEnum)(binaryReader.ReadInt16()));
     this.ExcludedAudience                 = ((ExcludedAudienceEnum)(binaryReader.ReadInt16()));
     this.PrimaryString                    = binaryReader.ReadStringID();
     this.PrimaryStringDuration            = binaryReader.ReadInt32();
     this.PluralDisplayString              = binaryReader.ReadStringID();
     this.fieldpad2                        = binaryReader.ReadBytes(28);
     this.SoundDelay                       = binaryReader.ReadSingle();
     this.GameEngineAssaultEventSoundFlags = ((SoundFlags)(binaryReader.ReadInt16()));
     this.fieldpad3                        = binaryReader.ReadBytes(2);
     this.Sound                            = binaryReader.ReadTagReference();
     pointerQueue                          = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.ExtraSounds.ReadFields(binaryReader)));
     this.fieldpad4                        = binaryReader.ReadBytes(4);
     this.fieldpad5                        = binaryReader.ReadBytes(16);
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(80));
     return(pointerQueue);
 }
 public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.FalloffAngle              = binaryReader.ReadSingle();
     this.CutoffAngle               = binaryReader.ReadSingle();
     this.fieldskip                 = binaryReader.ReadBytes(4);
     this.fieldskip0                = binaryReader.ReadBytes(4);
     this.OcclusionRadius           = binaryReader.ReadSingle();
     this.OcclusionOffsetDirection  = ((OcclusionOffsetDirectionEnum)(binaryReader.ReadInt16()));
     this.OcclusionInnerRadiusScale = ((OcclusionInnerRadiusScaleEnum)(binaryReader.ReadInt16()));
     this.NearFadeDistance          = binaryReader.ReadSingle();
     this.FarFadeDistance           = binaryReader.ReadSingle();
     this.Bitmap                = binaryReader.ReadTagReference();
     this.LensFlareFlags        = ((Flags)(binaryReader.ReadInt16()));
     this.fieldskip1            = binaryReader.ReadBytes(2);
     this.RotationFunction      = ((RotationFunctionEnum)(binaryReader.ReadInt16()));
     this.fieldpad              = binaryReader.ReadBytes(2);
     this.RotationFunctionScale = binaryReader.ReadSingle();
     this.CoronaScale           = binaryReader.ReadVector2();
     this.FalloffFunction       = ((FalloffFunctionEnum)(binaryReader.ReadInt16()));
     this.fieldpad0             = binaryReader.ReadBytes(2);
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(48));
     this.LensFlareLensFlareFlags0 = ((LensFlareFlags0)(binaryReader.ReadInt16()));
     this.fieldpad1 = binaryReader.ReadBytes(2);
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(8));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(8));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(8));
     return(pointerQueue);
 }
 public ScenarioDecalPaletteBlock(BinaryReader binaryReader)
 {
     this.reference = binaryReader.ReadTagReference();
 }
 public AiScenarioMissionDialogueBlock(BinaryReader binaryReader)
 {
     this.missionDialogue = binaryReader.ReadTagReference();
 }
 public GlobalUiMultiplayerLevelBlock(BinaryReader binaryReader)
 {
     this.mapID = binaryReader.ReadInt32();
     this.bitmap = binaryReader.ReadTagReference();
     this.skip = binaryReader.ReadBytes(576);
     this.skip0 = binaryReader.ReadBytes(2304);
     this.path = binaryReader.ReadString256();
     this.sortOrder = binaryReader.ReadInt32();
     this.flags = (Flags)binaryReader.ReadByte();
     this.padding1 = binaryReader.ReadBytes(3);
     this.maxTeamsNone = binaryReader.ReadByte();
     this.maxTeamsCTF = binaryReader.ReadByte();
     this.maxTeamsSlayer = binaryReader.ReadByte();
     this.maxTeamsOddball = binaryReader.ReadByte();
     this.maxTeamsKOTH = binaryReader.ReadByte();
     this.maxTeamsRace = binaryReader.ReadByte();
     this.maxTeamsHeadhunter = binaryReader.ReadByte();
     this.maxTeamsJuggernaut = binaryReader.ReadByte();
     this.maxTeamsTerritories = binaryReader.ReadByte();
     this.maxTeamsAssault = binaryReader.ReadByte();
     this.maxTeamsStub10 = binaryReader.ReadByte();
     this.maxTeamsStub11 = binaryReader.ReadByte();
     this.maxTeamsStub12 = binaryReader.ReadByte();
     this.maxTeamsStub13 = binaryReader.ReadByte();
     this.maxTeamsStub14 = binaryReader.ReadByte();
     this.maxTeamsStub15 = binaryReader.ReadByte();
 }
 public ScenarioStructureBspSphericalHarmonicLightingBlock(BinaryReader binaryReader)
 {
     this.bSP = binaryReader.ReadTagReference();
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioSphericalHarmonicLightingPoint));
         this.lightingPoints = new ScenarioSphericalHarmonicLightingPoint[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.lightingPoints[i] = new ScenarioSphericalHarmonicLightingPoint(binaryReader);
             }
         }
     }
 }
 public ScenarioCreaturePaletteBlock(BinaryReader binaryReader)
 {
     this.name = binaryReader.ReadTagReference();
     this.padding = binaryReader.ReadBytes(32);
 }
 public HsReferencesBlock(BinaryReader binaryReader)
 {
     this.reference = binaryReader.ReadTagReference();
 }
 public AiConversationLineBlock(BinaryReader binaryReader)
 {
     this.flags = (Flags)binaryReader.ReadInt16();
     this.participant = binaryReader.ReadShortBlockIndex1();
     this.addressee = (Addressee)binaryReader.ReadInt16();
     this.addresseeParticipantThisFieldIsOnlyUsedIfTheAddresseeTypeIsParticipant = binaryReader.ReadShortBlockIndex1();
     this.padding = binaryReader.ReadBytes(4);
     this.lineDelayTime = binaryReader.ReadSingle();
     this.padding0 = binaryReader.ReadBytes(12);
     this.variant1 = binaryReader.ReadTagReference();
     this.variant2 = binaryReader.ReadTagReference();
     this.variant3 = binaryReader.ReadTagReference();
     this.variant4 = binaryReader.ReadTagReference();
     this.variant5 = binaryReader.ReadTagReference();
     this.variant6 = binaryReader.ReadTagReference();
 }
 public AiAnimationReferenceBlock(BinaryReader binaryReader)
 {
     this.animationName = binaryReader.ReadString32();
     this.animationGraphLeaveThisBlankToUseTheUnitsNormalAnimationGraph = binaryReader.ReadTagReference();
     this.padding = binaryReader.ReadBytes(12);
 }
 public CharacterPaletteBlock(BinaryReader binaryReader)
 {
     this.reference = binaryReader.ReadTagReference();
 }
 public Scenario(BinaryReader binaryReader)
 {
     this.doNotUse = binaryReader.ReadTagReference();
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioSkyReferenceBlock));
         this.skies = new ScenarioSkyReferenceBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.skies[i] = new ScenarioSkyReferenceBlock(binaryReader);
             }
         }
     }
     this.type = (Type)binaryReader.ReadInt16();
     this.flags = (Flags)binaryReader.ReadInt16();
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioChildScenarioBlock));
         this.childScenarios = new ScenarioChildScenarioBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.childScenarios[i] = new ScenarioChildScenarioBlock(binaryReader);
             }
         }
     }
     this.localNorth = binaryReader.ReadSingle();
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(PredictedResourceBlock));
         this.predictedResources = new PredictedResourceBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.predictedResources[i] = new PredictedResourceBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioFunctionBlock));
         this.functions = new ScenarioFunctionBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.functions[i] = new ScenarioFunctionBlock(binaryReader);
             }
         }
     }
     this.paddingeditorScenarioData = binaryReader.ReadBytes(8);
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(EditorCommentBlock));
         this.comments = new EditorCommentBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.comments[i] = new EditorCommentBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(DontUseMeScenarioEnvironmentObjectBlock));
         this.dontUseMeScenarioEnvironmentObjectBlock = new DontUseMeScenarioEnvironmentObjectBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.dontUseMeScenarioEnvironmentObjectBlock[i] = new DontUseMeScenarioEnvironmentObjectBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioObjectNamesBlock));
         this.objectNames = new ScenarioObjectNamesBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.objectNames[i] = new ScenarioObjectNamesBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioSceneryBlock));
         this.scenery = new ScenarioSceneryBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.scenery[i] = new ScenarioSceneryBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioSceneryPaletteBlock));
         this.sceneryPalette = new ScenarioSceneryPaletteBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.sceneryPalette[i] = new ScenarioSceneryPaletteBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioBipedBlock));
         this.bipeds = new ScenarioBipedBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.bipeds[i] = new ScenarioBipedBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioBipedPaletteBlock));
         this.bipedPalette = new ScenarioBipedPaletteBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.bipedPalette[i] = new ScenarioBipedPaletteBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioVehicleBlock));
         this.vehicles = new ScenarioVehicleBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.vehicles[i] = new ScenarioVehicleBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioVehiclePaletteBlock));
         this.vehiclePalette = new ScenarioVehiclePaletteBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.vehiclePalette[i] = new ScenarioVehiclePaletteBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioEquipmentBlock));
         this.equipment = new ScenarioEquipmentBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.equipment[i] = new ScenarioEquipmentBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioEquipmentPaletteBlock));
         this.equipmentPalette = new ScenarioEquipmentPaletteBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.equipmentPalette[i] = new ScenarioEquipmentPaletteBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioWeaponBlock));
         this.weapons = new ScenarioWeaponBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.weapons[i] = new ScenarioWeaponBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioWeaponPaletteBlock));
         this.weaponPalette = new ScenarioWeaponPaletteBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.weaponPalette[i] = new ScenarioWeaponPaletteBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(DeviceGroupBlock));
         this.deviceGroups = new DeviceGroupBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.deviceGroups[i] = new DeviceGroupBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioMachineBlock));
         this.machines = new ScenarioMachineBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.machines[i] = new ScenarioMachineBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioMachinePaletteBlock));
         this.machinePalette = new ScenarioMachinePaletteBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.machinePalette[i] = new ScenarioMachinePaletteBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioControlBlock));
         this.controls = new ScenarioControlBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.controls[i] = new ScenarioControlBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioControlPaletteBlock));
         this.controlPalette = new ScenarioControlPaletteBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.controlPalette[i] = new ScenarioControlPaletteBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioLightFixtureBlock));
         this.lightFixtures = new ScenarioLightFixtureBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.lightFixtures[i] = new ScenarioLightFixtureBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioLightFixturePaletteBlock));
         this.lightFixturesPalette = new ScenarioLightFixturePaletteBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.lightFixturesPalette[i] = new ScenarioLightFixturePaletteBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioSoundSceneryBlock));
         this.soundScenery = new ScenarioSoundSceneryBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.soundScenery[i] = new ScenarioSoundSceneryBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioSoundSceneryPaletteBlock));
         this.soundSceneryPalette = new ScenarioSoundSceneryPaletteBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.soundSceneryPalette[i] = new ScenarioSoundSceneryPaletteBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioLightBlock));
         this.lightVolumes = new ScenarioLightBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.lightVolumes[i] = new ScenarioLightBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioLightPaletteBlock));
         this.lightVolumesPalette = new ScenarioLightPaletteBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.lightVolumesPalette[i] = new ScenarioLightPaletteBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioProfilesBlock));
         this.playerStartingProfile = new ScenarioProfilesBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.playerStartingProfile[i] = new ScenarioProfilesBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioPlayersBlock));
         this.playerStartingLocations = new ScenarioPlayersBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.playerStartingLocations[i] = new ScenarioPlayersBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioTriggerVolumeBlock));
         this.killTriggerVolumes = new ScenarioTriggerVolumeBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.killTriggerVolumes[i] = new ScenarioTriggerVolumeBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(RecordedAnimationBlock));
         this.recordedAnimations = new RecordedAnimationBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.recordedAnimations[i] = new RecordedAnimationBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioNetpointsBlock));
         this.netgameFlags = new ScenarioNetpointsBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.netgameFlags[i] = new ScenarioNetpointsBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioNetgameEquipmentBlock));
         this.netgameEquipment = new ScenarioNetgameEquipmentBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.netgameEquipment[i] = new ScenarioNetgameEquipmentBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioStartingEquipmentBlock));
         this.startingEquipment = new ScenarioStartingEquipmentBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.startingEquipment[i] = new ScenarioStartingEquipmentBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioBspSwitchTriggerVolumeBlock));
         this.bSPSwitchTriggerVolumes = new ScenarioBspSwitchTriggerVolumeBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.bSPSwitchTriggerVolumes[i] = new ScenarioBspSwitchTriggerVolumeBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioDecalsBlock));
         this.decals = new ScenarioDecalsBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.decals[i] = new ScenarioDecalsBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioDecalPaletteBlock));
         this.decalsPalette = new ScenarioDecalPaletteBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.decalsPalette[i] = new ScenarioDecalPaletteBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioDetailObjectCollectionPaletteBlock));
         this.detailObjectCollectionPalette = new ScenarioDetailObjectCollectionPaletteBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.detailObjectCollectionPalette[i] = new ScenarioDetailObjectCollectionPaletteBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(StylePaletteBlock));
         this.stylePalette = new StylePaletteBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.stylePalette[i] = new StylePaletteBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(SquadGroupsBlock));
         this.squadGroups = new SquadGroupsBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.squadGroups[i] = new SquadGroupsBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(SquadsBlock));
         this.squads = new SquadsBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.squads[i] = new SquadsBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ZoneBlock));
         this.zones = new ZoneBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.zones[i] = new ZoneBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(AiSceneBlock));
         this.missionScenes = new AiSceneBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.missionScenes[i] = new AiSceneBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(CharacterPaletteBlock));
         this.characterPalette = new CharacterPaletteBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.characterPalette[i] = new CharacterPaletteBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(PathfindingDataBlock));
         this.aIPathfindingData = new PathfindingDataBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.aIPathfindingData[i] = new PathfindingDataBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(AiAnimationReferenceBlock));
         this.aIAnimationReferences = new AiAnimationReferenceBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.aIAnimationReferences[i] = new AiAnimationReferenceBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(AiScriptReferenceBlock));
         this.aIScriptReferences = new AiScriptReferenceBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.aIScriptReferences[i] = new AiScriptReferenceBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(AiRecordingReferenceBlock));
         this.aIRecordingReferences = new AiRecordingReferenceBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.aIRecordingReferences[i] = new AiRecordingReferenceBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(AiConversationBlock));
         this.aIConversations = new AiConversationBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.aIConversations[i] = new AiConversationBlock(binaryReader);
             }
         }
     }
     this.paddingscriptSyntaxData = binaryReader.ReadBytes(8);
     this.paddingscriptStringData = binaryReader.ReadBytes(8);
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(HsScriptsBlock));
         this.scripts = new HsScriptsBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.scripts[i] = new HsScriptsBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(HsGlobalsBlock));
         this.globals = new HsGlobalsBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.globals[i] = new HsGlobalsBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(HsReferencesBlock));
         this.references = new HsReferencesBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.references[i] = new HsReferencesBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(HsSourceFilesBlock));
         this.sourceFiles = new HsSourceFilesBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.sourceFiles[i] = new HsSourceFilesBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(CsScriptDataBlock));
         this.scriptingData = new CsScriptDataBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.scriptingData[i] = new CsScriptDataBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioCutsceneFlagBlock));
         this.cutsceneFlags = new ScenarioCutsceneFlagBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.cutsceneFlags[i] = new ScenarioCutsceneFlagBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioCutsceneCameraPointBlock));
         this.cutsceneCameraPoints = new ScenarioCutsceneCameraPointBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.cutsceneCameraPoints[i] = new ScenarioCutsceneCameraPointBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioCutsceneTitleBlock));
         this.cutsceneTitles = new ScenarioCutsceneTitleBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.cutsceneTitles[i] = new ScenarioCutsceneTitleBlock(binaryReader);
             }
         }
     }
     this.customObjectNames = binaryReader.ReadTagReference();
     this.chapterTitleText = binaryReader.ReadTagReference();
     this.hUDMessages = binaryReader.ReadTagReference();
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioStructureBspReferenceBlock));
         this.structureBsps = new ScenarioStructureBspReferenceBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.structureBsps[i] = new ScenarioStructureBspReferenceBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioResourcesBlock));
         this.scenarioResources = new ScenarioResourcesBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.scenarioResources[i] = new ScenarioResourcesBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(OldUnusedStrucurePhysicsBlock));
         this.scenarioResources0 = new OldUnusedStrucurePhysicsBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.scenarioResources0[i] = new OldUnusedStrucurePhysicsBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(HsUnitSeatBlock));
         this.hsUnitSeats = new HsUnitSeatBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.hsUnitSeats[i] = new HsUnitSeatBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioKillTriggerVolumesBlock));
         this.scenarioKillTriggers = new ScenarioKillTriggerVolumesBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.scenarioKillTriggers[i] = new ScenarioKillTriggerVolumesBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(SyntaxDatumBlock));
         this.hsSyntaxDatums = new SyntaxDatumBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.hsSyntaxDatums[i] = new SyntaxDatumBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(OrdersBlock));
         this.orders = new OrdersBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.orders[i] = new OrdersBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(TriggersBlock));
         this.triggers = new TriggersBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.triggers[i] = new TriggersBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(StructureBspBackgroundSoundPaletteBlock));
         this.backgroundSoundPalette = new StructureBspBackgroundSoundPaletteBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.backgroundSoundPalette[i] = new StructureBspBackgroundSoundPaletteBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(StructureBspSoundEnvironmentPaletteBlock));
         this.soundEnvironmentPalette = new StructureBspSoundEnvironmentPaletteBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.soundEnvironmentPalette[i] = new StructureBspSoundEnvironmentPaletteBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(StructureBspWeatherPaletteBlock));
         this.weatherPalette = new StructureBspWeatherPaletteBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.weatherPalette[i] = new StructureBspWeatherPaletteBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(GNullBlock));
         this.eMPTYSTRING = new GNullBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.eMPTYSTRING[i] = new GNullBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(GNullBlock));
         this.eMPTYSTRING0 = new GNullBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.eMPTYSTRING0[i] = new GNullBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(GNullBlock));
         this.eMPTYSTRING1 = new GNullBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.eMPTYSTRING1[i] = new GNullBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(GNullBlock));
         this.eMPTYSTRING2 = new GNullBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.eMPTYSTRING2[i] = new GNullBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(GNullBlock));
         this.eMPTYSTRING3 = new GNullBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.eMPTYSTRING3[i] = new GNullBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioClusterDataBlock));
         this.scenarioClusterData = new ScenarioClusterDataBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.scenarioClusterData[i] = new ScenarioClusterDataBlock(binaryReader);
             }
         }
     }
     this.objectSalts = new ObjectSalts[32];
     for (int i = 0; i < 32; ++i)
     {
         this.objectSalts[i] = new ObjectSalts(binaryReader);
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioSpawnDataBlock));
         this.spawnData = new ScenarioSpawnDataBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.spawnData[i] = new ScenarioSpawnDataBlock(binaryReader);
             }
         }
     }
     this.soundEffectCollection = binaryReader.ReadTagReference();
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioCrateBlock));
         this.crates = new ScenarioCrateBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.crates[i] = new ScenarioCrateBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioCratePaletteBlock));
         this.cratesPalette = new ScenarioCratePaletteBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.cratesPalette[i] = new ScenarioCratePaletteBlock(binaryReader);
             }
         }
     }
     this.globalLighting = binaryReader.ReadTagReference();
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioAtmosphericFogPalette));
         this.atmosphericFogPalette = new ScenarioAtmosphericFogPalette[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.atmosphericFogPalette[i] = new ScenarioAtmosphericFogPalette(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioPlanarFogPalette));
         this.planarFogPalette = new ScenarioPlanarFogPalette[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.planarFogPalette[i] = new ScenarioPlanarFogPalette(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(FlockDefinitionBlock));
         this.flocks = new FlockDefinitionBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.flocks[i] = new FlockDefinitionBlock(binaryReader);
             }
         }
     }
     this.subtitles = binaryReader.ReadTagReference();
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(DecoratorPlacementDefinitionBlock));
         this.decorators = new DecoratorPlacementDefinitionBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.decorators[i] = new DecoratorPlacementDefinitionBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioCreatureBlock));
         this.creatures = new ScenarioCreatureBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.creatures[i] = new ScenarioCreatureBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioCreaturePaletteBlock));
         this.creaturesPalette = new ScenarioCreaturePaletteBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.creaturesPalette[i] = new ScenarioCreaturePaletteBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioDecoratorSetPaletteEntryBlock));
         this.decoratorsPalette = new ScenarioDecoratorSetPaletteEntryBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.decoratorsPalette[i] = new ScenarioDecoratorSetPaletteEntryBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioBspSwitchTransitionVolumeBlock));
         this.bSPTransitionVolumes = new ScenarioBspSwitchTransitionVolumeBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.bSPTransitionVolumes[i] = new ScenarioBspSwitchTransitionVolumeBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioStructureBspSphericalHarmonicLightingBlock));
         this.structureBSPLighting = new ScenarioStructureBspSphericalHarmonicLightingBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.structureBSPLighting[i] = new ScenarioStructureBspSphericalHarmonicLightingBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(GScenarioEditorFolderBlock));
         this.editorFolders = new GScenarioEditorFolderBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.editorFolders[i] = new GScenarioEditorFolderBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioLevelDataBlock));
         this.levelData = new ScenarioLevelDataBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.levelData[i] = new ScenarioLevelDataBlock(binaryReader);
             }
         }
     }
     this.territoryLocationNames = binaryReader.ReadTagReference();
     this.padding = binaryReader.ReadBytes(8);
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(AiScenarioMissionDialogueBlock));
         this.missionDialogue = new AiScenarioMissionDialogueBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.missionDialogue[i] = new AiScenarioMissionDialogueBlock(binaryReader);
             }
         }
     }
     this.objectives = binaryReader.ReadTagReference();
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioInterpolatorBlock));
         this.interpolators = new ScenarioInterpolatorBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.interpolators[i] = new ScenarioInterpolatorBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(HsReferencesBlock));
         this.sharedReferences = new HsReferencesBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.sharedReferences[i] = new HsReferencesBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioScreenEffectReferenceBlock));
         this.screenEffectReferences = new ScenarioScreenEffectReferenceBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.screenEffectReferences[i] = new ScenarioScreenEffectReferenceBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioSimulationDefinitionTableBlock));
         this.simulationDefinitionTable = new ScenarioSimulationDefinitionTableBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.simulationDefinitionTable[i] = new ScenarioSimulationDefinitionTableBlock(binaryReader);
             }
         }
     }
 }
 public ScenarioDetailObjectCollectionPaletteBlock(BinaryReader binaryReader)
 {
     this.name = binaryReader.ReadTagReference();
     this.padding = binaryReader.ReadBytes(32);
 }
 public ScenarioNetgameEquipmentBlock(BinaryReader binaryReader)
 {
     this.flags = (Flags)binaryReader.ReadInt32();
     this.gameType1 = (GameType1)binaryReader.ReadInt16();
     this.gameType2 = (GameType2)binaryReader.ReadInt16();
     this.gameType3 = (GameType3)binaryReader.ReadInt16();
     this.gameType4 = (GameType4)binaryReader.ReadInt16();
     this.padding = binaryReader.ReadBytes(2);
     this.spawnTimeInSeconds0Default = binaryReader.ReadInt16();
     this.respawnOnEmptyTimeSeconds = binaryReader.ReadInt16();
     this.respawnTimerStarts = (RespawnTimerStarts)binaryReader.ReadInt16();
     this.classification = (Classification)binaryReader.ReadByte();
     this.padding0 = binaryReader.ReadBytes(3);
     this.padding1 = binaryReader.ReadBytes(40);
     this.position = binaryReader.ReadVector3();
     this.orientation = new ScenarioNetgameEquipmentOrientationStruct(binaryReader);
     this.itemVehicleCollection = binaryReader.ReadTagReference();
     this.padding2 = binaryReader.ReadBytes(48);
 }
 public FlockDefinitionBlock(BinaryReader binaryReader)
 {
     this.bsp = binaryReader.ReadShortBlockIndex1();
     this.padding = binaryReader.ReadBytes(2);
     this.boundingVolume = binaryReader.ReadShortBlockIndex1();
     this.flags = (Flags)binaryReader.ReadInt16();
     this.ecologyMarginWusDistanceFromEcologyBoundaryThatCreatureBeginsToBeRepulsed = binaryReader.ReadSingle();
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(FlockSourceBlock));
         this.sources = new FlockSourceBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.sources[i] = new FlockSourceBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(FlockSinkBlock));
         this.sinks = new FlockSinkBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.sinks[i] = new FlockSinkBlock(binaryReader);
             }
         }
     }
     this.productionFrequencyBoidsSecHowFrequentlyBoidsAreProducedAtOneOfTheSourcesLimitedByTheMaxBoidCount = binaryReader.ReadSingle();
     this.scale = binaryReader.ReadRange();
     this.creature = binaryReader.ReadTagReference();
     this.boidCount = binaryReader.ReadInt32();
     this.neighborhoodRadiusWorldUnitsDistanceWithinWhichOneBoidIsAffectedByAnother = binaryReader.ReadSingle();
     this.avoidanceRadiusWorldUnitsDistanceThatABoidTriesToMaintainFromAnother = binaryReader.ReadSingle();
     this.forwardScale01WeightGivenToBoidsDesireToFlyStraightAhead = binaryReader.ReadSingle();
     this.alignmentScale01WeightGivenToBoidsDesireToAlignItselfWithNeighboringBoids = binaryReader.ReadSingle();
     this.avoidanceScale01WeightGivenToBoidsDesireToAvoidCollisionsWithOtherBoidsWhenWithinTheAvoidanceRadius = binaryReader.ReadSingle();
     this.levelingForceScale01WeightGivenToBoidsDesireToFlyLevel = binaryReader.ReadSingle();
     this.sinkScale01WeightGivenToBoidsDesireToFlyTowardsItsSinks = binaryReader.ReadSingle();
     this.perceptionAngleDegreesAngleFromForwardWithinWhichOneBoidCanPerceiveAndReactToAnother = binaryReader.ReadSingle();
     this.averageThrottle01ThrottleAtWhichBoidsWillNaturallyFly = binaryReader.ReadSingle();
     this.maximumThrottle01MaximumThrottleApplicable = binaryReader.ReadSingle();
     this.positionScale01WeightGivenToBoidsDesireToBeNearFlockCenter = binaryReader.ReadSingle();
     this.positionMinRadiusWusDistanceToFlockCenterBeyondWhichAnAttractingForceIsApplied = binaryReader.ReadSingle();
     this.positionMaxRadiusWusDistanceToFlockCenterAtWhichTheMaximumAttractingForceIsApplied = binaryReader.ReadSingle();
     this.movementWeightThresholdTheThresholdOfAccumulatedWeightOverWhichMovementOccurs = binaryReader.ReadSingle();
     this.dangerRadiusWusDistanceWithinWhichBoidsWillAvoidADangerousObjectEGThePlayer = binaryReader.ReadSingle();
     this.dangerScaleWeightGivenToBoidsDesireToAvoidDanger = binaryReader.ReadSingle();
     this.randomOffsetScale01WeightGivenToBoidsRandomHeadingOffset = binaryReader.ReadSingle();
     this.randomOffsetPeriodSeconds = binaryReader.ReadRange();
     this.flockName = binaryReader.ReadStringID();
 }
 public ScenarioStructureBspReferenceBlock(BinaryReader binaryReader)
 {
     this.padding = binaryReader.ReadBytes(16);
     this.structureBSP = binaryReader.ReadTagReference();
     this.structureLightmap = binaryReader.ReadTagReference();
     this.padding0 = binaryReader.ReadBytes(4);
     this.uNUSEDRadianceEstSearchDistance = binaryReader.ReadSingle();
     this.padding1 = binaryReader.ReadBytes(4);
     this.uNUSEDLuminelsPerWorldUnit = binaryReader.ReadSingle();
     this.uNUSEDOutputWhiteReference = binaryReader.ReadSingle();
     this.padding2 = binaryReader.ReadBytes(8);
     this.flags = (Flags)binaryReader.ReadInt16();
     this.padding3 = binaryReader.ReadBytes(2);
     this.defaultSky = binaryReader.ReadShortBlockIndex1();
     this.padding4 = binaryReader.ReadBytes(2);
 }
 public ScenarioDecoratorSetPaletteEntryBlock(BinaryReader binaryReader)
 {
     this.decoratorSet = binaryReader.ReadTagReference();
 }
 public ScenarioAiResourceReferenceBlock(BinaryReader binaryReader)
 {
     this.reference = binaryReader.ReadTagReference();
 }
 public GlobalUiCampaignLevelBlock(BinaryReader binaryReader)
 {
     this.campaignID = binaryReader.ReadInt32();
     this.mapID = binaryReader.ReadInt32();
     this.bitmap = binaryReader.ReadTagReference();
     this.skip = binaryReader.ReadBytes(576);
     this.skip0 = binaryReader.ReadBytes(2304);
 }
 public StructureBspBackgroundSoundPaletteBlock(BinaryReader binaryReader)
 {
     this.name = binaryReader.ReadString32();
     this.backgroundSound = binaryReader.ReadTagReference();
     this.insideClusterSoundPlayOnlyWhenPlayerIsInsideCluster = binaryReader.ReadTagReference();
     this.padding = binaryReader.ReadBytes(20);
     this.cutoffDistance = binaryReader.ReadSingle();
     this.scaleFlags = (ScaleFlags)binaryReader.ReadInt32();
     this.interiorScale = binaryReader.ReadSingle();
     this.portalScale = binaryReader.ReadSingle();
     this.exteriorScale = binaryReader.ReadSingle();
     this.interpolationSpeed1Sec = binaryReader.ReadSingle();
     this.padding0 = binaryReader.ReadBytes(8);
 }
 public ScenarioLevelDataBlock(BinaryReader binaryReader)
 {
     this.levelDescription = binaryReader.ReadTagReference();
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(GlobalUiCampaignLevelBlock));
         this.campaignLevelData = new GlobalUiCampaignLevelBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.campaignLevelData[i] = new GlobalUiCampaignLevelBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(GlobalUiMultiplayerLevelBlock));
         this.multiplayer = new GlobalUiMultiplayerLevelBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.multiplayer[i] = new GlobalUiMultiplayerLevelBlock(binaryReader);
             }
         }
     }
 }
 public StructureBspSoundEnvironmentPaletteBlock(BinaryReader binaryReader)
 {
     this.name = binaryReader.ReadString32();
     this.soundEnvironment = binaryReader.ReadTagReference();
     this.cutoffDistance = binaryReader.ReadSingle();
     this.interpolationSpeed1Sec = binaryReader.ReadSingle();
     this.padding = binaryReader.ReadBytes(24);
 }
 public ScenarioScreenEffectReferenceBlock(BinaryReader binaryReader)
 {
     this.padding = binaryReader.ReadBytes(16);
     this.screenEffect = binaryReader.ReadTagReference();
     this.primaryInputInterpolator = binaryReader.ReadStringID();
     this.secondaryInputInterpolator = binaryReader.ReadStringID();
     this.skip0 = binaryReader.ReadBytes(2);
     this.skip1 = binaryReader.ReadBytes(2);
 }
 public ScenarioChildScenarioBlock(BinaryReader binaryReader)
 {
     this.childScenario = binaryReader.ReadTagReference();
     this.padding = binaryReader.ReadBytes(16);
 }
 public StructureBspWeatherPaletteBlock(BinaryReader binaryReader)
 {
     this.name = binaryReader.ReadString32();
     this.weatherSystem = binaryReader.ReadTagReference();
     this.padding = binaryReader.ReadBytes(2);
     this.padding0 = binaryReader.ReadBytes(2);
     this.padding1 = binaryReader.ReadBytes(32);
     this.wind = binaryReader.ReadTagReference();
     this.windDirection = binaryReader.ReadVector3();
     this.windMagnitude = binaryReader.ReadSingle();
     this.padding2 = binaryReader.ReadBytes(4);
     this.windScaleFunction = binaryReader.ReadString32();
 }
 public ScenarioStartingEquipmentBlock(BinaryReader binaryReader)
 {
     this.flags = (Flags)binaryReader.ReadInt32();
     this.gameType1 = (GameType1)binaryReader.ReadInt16();
     this.gameType2 = (GameType2)binaryReader.ReadInt16();
     this.gameType3 = (GameType3)binaryReader.ReadInt16();
     this.gameType4 = (GameType4)binaryReader.ReadInt16();
     this.padding = binaryReader.ReadBytes(48);
     this.itemCollection1 = binaryReader.ReadTagReference();
     this.itemCollection2 = binaryReader.ReadTagReference();
     this.itemCollection3 = binaryReader.ReadTagReference();
     this.itemCollection4 = binaryReader.ReadTagReference();
     this.itemCollection5 = binaryReader.ReadTagReference();
     this.itemCollection6 = binaryReader.ReadTagReference();
     this.padding0 = binaryReader.ReadBytes(48);
 }
 public ScenarioClusterDataBlock(BinaryReader binaryReader)
 {
     this.bSP = binaryReader.ReadTagReference();
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioClusterBackgroundSoundsBlock));
         this.backgroundSounds = new ScenarioClusterBackgroundSoundsBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.backgroundSounds[i] = new ScenarioClusterBackgroundSoundsBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioClusterSoundEnvironmentsBlock));
         this.soundEnvironments = new ScenarioClusterSoundEnvironmentsBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.soundEnvironments[i] = new ScenarioClusterSoundEnvironmentsBlock(binaryReader);
             }
         }
     }
     this.bSPChecksum = binaryReader.ReadInt32();
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioClusterPointsBlock));
         this.clusterCentroids = new ScenarioClusterPointsBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.clusterCentroids[i] = new ScenarioClusterPointsBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioClusterWeatherPropertiesBlock));
         this.weatherProperties = new ScenarioClusterWeatherPropertiesBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.weatherProperties[i] = new ScenarioClusterWeatherPropertiesBlock(binaryReader);
             }
         }
     }
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ScenarioClusterAtmosphericFogPropertiesBlock));
         this.atmosphericFogProperties = new ScenarioClusterAtmosphericFogPropertiesBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.atmosphericFogProperties[i] = new ScenarioClusterAtmosphericFogPropertiesBlock(binaryReader);
             }
         }
     }
 }
 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 ScenarioSkyReferenceBlock(BinaryReader binaryReader)
 {
     this.sky = binaryReader.ReadTagReference();
 }
 public ScenarioPlanarFogPalette(BinaryReader binaryReader)
 {
     this.name = binaryReader.ReadStringID();
     this.planarFog = binaryReader.ReadTagReference();
     this.padding = binaryReader.ReadBytes(2);
     this.padding0 = binaryReader.ReadBytes(2);
 }
 public StylePaletteBlock(BinaryReader binaryReader)
 {
     this.reference = binaryReader.ReadTagReference();
 }
 public ScenarioProfilesBlock(BinaryReader binaryReader)
 {
     this.name = binaryReader.ReadString32();
     this.startingHealthDamage01 = binaryReader.ReadSingle();
     this.startingShieldDamage01 = binaryReader.ReadSingle();
     this.primaryWeapon = binaryReader.ReadTagReference();
     this.roundsLoaded = binaryReader.ReadInt16();
     this.roundsTotal = binaryReader.ReadInt16();
     this.secondaryWeapon = binaryReader.ReadTagReference();
     this.roundsLoaded0 = binaryReader.ReadInt16();
     this.roundsTotal0 = binaryReader.ReadInt16();
     this.startingFragmentationGrenadeCount = binaryReader.ReadByte();
     this.startingPlasmaGrenadeCount = binaryReader.ReadByte();
     this.startingUnknownGrenadeCount = binaryReader.ReadByte();
     this.startingUnknownGrenadeCount0 = binaryReader.ReadByte();
 }