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.Enqueue(binaryReader.ReadBlamPointer(592));
     this.fieldpad = binaryReader.ReadBytes(4);
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(20));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(64));
     this.VehicleFloor   = binaryReader.ReadSingle();
     this.VehicleCeiling = binaryReader.ReadSingle();
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(6));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(8));
     this.WorldBoundsX = binaryReader.ReadRange();
     this.WorldBoundsY = binaryReader.ReadRange();
     this.WorldBoundsZ = binaryReader.ReadRange();
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(8));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(1));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(36));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(24));
     this.fieldpad0 = binaryReader.ReadBytes(24);
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(136));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(24));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(36));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(176));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(32));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(2));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(24));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(24));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(116));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(1));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(100));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(72));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(1));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(60));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(16));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(20));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(104));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(8));
     this.fieldpad1 = binaryReader.ReadBytes(4);
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(16));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(24));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(676));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(48));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(200));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(88));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(20));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(20));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(20));
     this.fieldpad2 = binaryReader.ReadBytes(96);
     this.VehicleSpericalLimitRadius = binaryReader.ReadSingle();
     this.VehicleSpericalLimitCenter = binaryReader.ReadVector3();
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(88));
     this.Decorators = binaryReader.ReadTagReference();
     pointerQueue    = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.StructurePhysics.ReadFields(binaryReader)));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(172));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(16));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(52));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(92));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(48));
     return(pointerQueue);
 }
Beispiel #2
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.ScaleBounds           = binaryReader.ReadRange();
     this.RandomBaseAndVariance = binaryReader.ReadRange();
     return(pointerQueue);
 }
Beispiel #3
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.ProjectileMaterialResponseFlags = ((Flags)(binaryReader.ReadInt16()));
     this.Response     = ((ResponseEnum)(binaryReader.ReadInt16()));
     this.DONOTUSE     = binaryReader.ReadTagReference();
     this.MaterialName = binaryReader.ReadStringID();
     this.fieldskip    = binaryReader.ReadBytes(4);
     this.ProjectileMaterialResponseProjectileMaterialResponseResponse = ((ProjectileMaterialResponseResponseEnum)(binaryReader.ReadInt16()));
     this.ProjectileMaterialResponseProjectileMaterialResponseFlags0   = ((ProjectileMaterialResponseFlags0)(binaryReader.ReadInt16()));
     this.ChanceFraction        = binaryReader.ReadSingle();
     this.Between               = binaryReader.ReadRange();
     this.And                   = binaryReader.ReadRange();
     this.DONOTUSE0             = binaryReader.ReadTagReference();
     this.ScaleEffectsBy        = ((ScaleEffectsByEnum)(binaryReader.ReadInt16()));
     this.fieldpad              = binaryReader.ReadBytes(2);
     this.AngularNoise          = binaryReader.ReadSingle();
     this.VelocityNoise         = binaryReader.ReadSingle();
     this.DONOTUSE1             = binaryReader.ReadTagReference();
     this.InitialFriction       = binaryReader.ReadSingle();
     this.MaximumDistance       = binaryReader.ReadSingle();
     this.ParallelFriction      = binaryReader.ReadSingle();
     this.PerpendicularFriction = binaryReader.ReadSingle();
     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.MaxSoundsPerTag116      = binaryReader.ReadInt16();
     this.MaxSoundsPerObject116   = binaryReader.ReadInt16();
     this.PreemptionTime          = binaryReader.ReadInt32();
     this.SoundClassInternalFlags = ((InternalFlags)(binaryReader.ReadInt16()));
     this.SoundClassFlags         = ((Flags)(binaryReader.ReadInt16()));
     this.Priority                         = binaryReader.ReadInt16();
     this.CacheMissMode                    = ((CacheMissModeEnum)(binaryReader.ReadInt16()));
     this.ReverbGain                       = binaryReader.ReadSingle();
     this.OverrideSpeakerGain              = binaryReader.ReadSingle();
     this.DistanceBounds                   = binaryReader.ReadRange();
     this.GainBounds                       = binaryReader.ReadRange();
     this.CutsceneDucking                  = binaryReader.ReadSingle();
     this.CutsceneDuckingFadeInTime        = binaryReader.ReadSingle();
     this.CutsceneDuckingSustainTime       = binaryReader.ReadSingle();
     this.CutsceneDuckingFadeOutTime       = binaryReader.ReadSingle();
     this.ScriptedDialogDucking            = binaryReader.ReadSingle();
     this.ScriptedDialogDuckingFadeInTime  = binaryReader.ReadSingle();
     this.ScriptedDialogDuckingSustainTime = binaryReader.ReadSingle();
     this.ScriptedDialogDuckingFadeOutTime = binaryReader.ReadSingle();
     this.DopplerFactor                    = binaryReader.ReadSingle();
     this.StereoPlaybackType               = ((StereoPlaybackTypeEnum)(binaryReader.ReadByte()));
     this.fieldpad                         = binaryReader.ReadBytes(3);
     this.TransmissionMultiplier           = binaryReader.ReadSingle();
     this.ObstructionMaxBend               = binaryReader.ReadSingle();
     this.OcclusionMaxBend                 = binaryReader.ReadSingle();
     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.DecalFlags             = ((Flags)(binaryReader.ReadInt16()));
     this.Type                   = ((TypeEnum)(binaryReader.ReadInt16()));
     this.Layer                  = ((LayerEnum)(binaryReader.ReadInt16()));
     this.MaxOverlappingCount    = binaryReader.ReadInt16();
     this.NextDecalInChain       = binaryReader.ReadTagReference();
     this.Radius                 = binaryReader.ReadRange();
     this.RadiusOverlapRejection = binaryReader.ReadSingle();
     this.ColorLowerBounds       = binaryReader.ReadColorR8G8B8();
     this.ColorUpperBounds       = binaryReader.ReadColorR8G8B8();
     this.Lifetime               = binaryReader.ReadRange();
     this.DecayTime              = binaryReader.ReadRange();
     this.fieldpad               = binaryReader.ReadBytes(40);
     this.fieldpad0              = binaryReader.ReadBytes(2);
     this.fieldpad1              = binaryReader.ReadBytes(2);
     this.fieldpad2              = binaryReader.ReadBytes(2);
     this.fieldpad3              = binaryReader.ReadBytes(2);
     this.fieldpad4              = binaryReader.ReadBytes(20);
     this.Bitmap                 = binaryReader.ReadTagReference();
     this.fieldpad5              = binaryReader.ReadBytes(20);
     this.MaximumSpriteExtent    = binaryReader.ReadSingle();
     this.fieldpad6              = binaryReader.ReadBytes(4);
     return(pointerQueue);
 }
Beispiel #7
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));
     pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.SectionInfo.ReadFields(binaryReader)));
     pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.GeometryBlockInfo.ReadFields(binaryReader)));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(68));
     this.BoundsX                     = binaryReader.ReadRange();
     this.BoundsY                     = binaryReader.ReadRange();
     this.BoundsZ                     = binaryReader.ReadRange();
     this.ScenarioSkyIndex            = binaryReader.ReadByte();
     this.MediaIndex                  = binaryReader.ReadByte();
     this.ScenarioVisibleSkyIndex     = binaryReader.ReadByte();
     this.ScenarioAtmosphericFogIndex = binaryReader.ReadByte();
     this.PlanarFogDesignator         = binaryReader.ReadByte();
     this.VisibleFogPlaneIndex        = binaryReader.ReadByte();
     this.BackgroundSound             = binaryReader.ReadShortBlockIndex1();
     this.SoundEnvironment            = binaryReader.ReadShortBlockIndex1();
     this.Weather                     = binaryReader.ReadShortBlockIndex1();
     this.TransitionStructureBSP      = binaryReader.ReadInt16();
     this.fieldpad                    = binaryReader.ReadBytes(2);
     this.fieldpad0                   = binaryReader.ReadBytes(4);
     this.StructureBspClusterFlags    = ((Flags)(binaryReader.ReadInt16()));
     this.fieldpad1                   = binaryReader.ReadBytes(2);
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(8));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(2));
     this.ChecksumFromStructure = binaryReader.ReadInt32();
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(2));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(2));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(1));
     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.CharacterSearchSearchFlags = ((SearchFlags)(binaryReader.ReadInt32()));
     this.SearchTime            = binaryReader.ReadRange();
     this.UncoverDistanceBounds = binaryReader.ReadRange();
     return(pointerQueue);
 }
 void IDefinition.FromArray(byte[] buffer)
 {
     BinaryReader bin = new BinaryReader(new MemoryStream(buffer));
     X = bin.ReadRange();
     Y = bin.ReadRange();
     Z = bin.ReadRange();
     U = bin.ReadRange();
     V = bin.ReadRange();
 }
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.VolumeType              = ((VolumeTypeEnum)(binaryReader.ReadInt32()));
     this.Height                  = binaryReader.ReadSingle();
     this.OverrideDistanceBounds  = binaryReader.ReadRange();
     this.OverrideConeAngleBounds = binaryReader.ReadRange();
     this.OverrideOuterConeGain   = binaryReader.ReadSingle();
     return(pointerQueue);
 }
Beispiel #11
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.CharacterPresearchPresearchFlags = ((PresearchFlags)(binaryReader.ReadInt32()));
     this.MinPresearchTime   = binaryReader.ReadRange();
     this.MaxPresearchTime   = binaryReader.ReadRange();
     this.MinCertaintyRadius = binaryReader.ReadSingle();
     this.DEPRECATED         = binaryReader.ReadSingle();
     this.MinSuppressingTime = binaryReader.ReadRange();
     return(pointerQueue);
 }
Beispiel #12
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.Radius            = binaryReader.ReadRange();
     this.CutoffScale       = binaryReader.ReadSingle();
     this.DamageEffectFlags = ((Flags)(binaryReader.ReadInt32()));
     this.SideEffect        = ((SideEffectEnum)(binaryReader.ReadInt16()));
     this.Category          = ((CategoryEnum)(binaryReader.ReadInt16()));
     this.DamageEffectDamageEffectFlags0 = ((DamageEffectFlags0)(binaryReader.ReadInt32()));
     this.AOECoreRadius          = binaryReader.ReadSingle();
     this.DamageLowerBound       = binaryReader.ReadSingle();
     this.DamageUpperBound       = binaryReader.ReadRange();
     this.DmgInnerConeAngle      = binaryReader.ReadSingle();
     pointerQueue                = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.Blah.ReadFields(binaryReader)));
     this.ActiveCamouflageDamage = binaryReader.ReadSingle();
     this.Stun        = binaryReader.ReadSingle();
     this.MaximumStun = binaryReader.ReadSingle();
     this.StunTime    = binaryReader.ReadSingle();
     this.InstantaneousAcceleration       = binaryReader.ReadSingle();
     this.RiderDirectDamageScale          = binaryReader.ReadSingle();
     this.RiderMaximumTransferDamageScale = binaryReader.ReadSingle();
     this.RiderMinimumTransferDamageScale = binaryReader.ReadSingle();
     this.GeneralDamage  = binaryReader.ReadStringID();
     this.SpecificDamage = binaryReader.ReadStringID();
     this.AIStunRadius   = binaryReader.ReadSingle();
     this.AIStunBounds   = binaryReader.ReadRange();
     this.ShakeRadius    = binaryReader.ReadSingle();
     this.EMPRadius      = binaryReader.ReadSingle();
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(76));
     this.Duration             = binaryReader.ReadSingle();
     this.FadeFunction         = ((FadeFunctionEnum)(binaryReader.ReadInt16()));
     this.fieldpad             = binaryReader.ReadBytes(2);
     this.Rotation             = binaryReader.ReadSingle();
     this.Pushback             = binaryReader.ReadSingle();
     this.Jitter               = binaryReader.ReadRange();
     this.Duration0            = binaryReader.ReadSingle();
     this.FalloffFunction      = ((FalloffFunctionEnum)(binaryReader.ReadInt16()));
     this.fieldpad0            = binaryReader.ReadBytes(2);
     this.RandomTranslation    = binaryReader.ReadSingle();
     this.RandomRotation       = binaryReader.ReadSingle();
     this.WobbleFunction       = ((WobbleFunctionEnum)(binaryReader.ReadInt16()));
     this.fieldpad1            = binaryReader.ReadBytes(2);
     this.WobbleFunctionPeriod = binaryReader.ReadSingle();
     this.WobbleWeight         = binaryReader.ReadSingle();
     this.Sound           = binaryReader.ReadTagReference();
     this.ForwardVelocity = binaryReader.ReadSingle();
     this.ForwardRadius   = binaryReader.ReadSingle();
     this.ForwardExponent = binaryReader.ReadSingle();
     this.OutwardVelocity = binaryReader.ReadSingle();
     this.OutwardRadius   = binaryReader.ReadSingle();
     this.OutwardExponent = binaryReader.ReadSingle();
     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.WeaponBarrelsFlags        = ((Flags)(binaryReader.ReadInt32()));
     this.RoundsPerSecond           = binaryReader.ReadRange();
     this.AccelerationTime          = binaryReader.ReadSingle();
     this.DecelerationTime          = binaryReader.ReadSingle();
     this.BarrelSpinScale           = binaryReader.ReadSingle();
     this.BlurredRateOfFire         = binaryReader.ReadSingle();
     this.ShotsPerFire              = binaryReader.ReadInt32();
     this.FireRecoveryTime          = binaryReader.ReadSingle();
     this.SoftRecoveryFraction      = binaryReader.ReadSingle();
     this.Magazine                  = binaryReader.ReadShortBlockIndex1();
     this.RoundsPerShot             = binaryReader.ReadInt16();
     this.MinimumRoundsLoaded       = binaryReader.ReadInt16();
     this.RoundsBetweenTracers      = binaryReader.ReadInt16();
     this.OptionalBarrelMarkerName  = binaryReader.ReadStringID();
     this.PredictionType            = ((PredictionTypeEnum)(binaryReader.ReadInt16()));
     this.FiringNoise               = ((FiringNoiseEnum)(binaryReader.ReadInt16()));
     this.AccelerationTime0         = binaryReader.ReadSingle();
     this.DecelerationTime0         = binaryReader.ReadSingle();
     this.DamageError               = binaryReader.ReadRange();
     this.AccelerationTime1         = binaryReader.ReadSingle();
     this.DecelerationTime1         = binaryReader.ReadSingle();
     this.fieldpad                  = binaryReader.ReadBytes(8);
     this.MinimumError              = binaryReader.ReadSingle();
     this.ErrorAngle                = binaryReader.ReadRange();
     this.DualWieldDamageScale      = binaryReader.ReadSingle();
     this.DistributionFunction      = ((DistributionFunctionEnum)(binaryReader.ReadInt16()));
     this.ProjectilesPerShot        = binaryReader.ReadInt16();
     this.DistributionAngle         = binaryReader.ReadSingle();
     this.MinimumError0             = binaryReader.ReadSingle();
     this.ErrorAngle0               = binaryReader.ReadRange();
     this.FirstPersonOffset         = binaryReader.ReadVector3();
     this.DamageEffectReportingType = ((DamageEffectReportingTypeEnum)(binaryReader.ReadByte()));
     this.fieldpad0                 = binaryReader.ReadBytes(3);
     this.Projectile                = binaryReader.ReadTagReference();
     pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.Eh.ReadFields(binaryReader)));
     this.EjectionPortRecoveryTime = binaryReader.ReadSingle();
     this.IlluminationRecoveryTime = binaryReader.ReadSingle();
     this.HeatGeneratedPerRound    = binaryReader.ReadSingle();
     this.AgeGeneratedPerRound     = binaryReader.ReadSingle();
     this.OverloadTime             = binaryReader.ReadSingle();
     this.AngleChangePerShot       = binaryReader.ReadRange();
     this.AccelerationTime2        = binaryReader.ReadSingle();
     this.DecelerationTime2        = binaryReader.ReadSingle();
     this.AngleChangeFunction      = ((AngleChangeFunctionEnum)(binaryReader.ReadInt16()));
     this.fieldpad1 = binaryReader.ReadBytes(2);
     this.fieldpad2 = binaryReader.ReadBytes(8);
     this.fieldpad3 = binaryReader.ReadBytes(24);
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(52));
     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.Duration           = binaryReader.ReadRange();
     this.TransitionDuration = binaryReader.ReadRange();
     this.Physics            = binaryReader.ReadTagReference();
     this.Width           = binaryReader.ReadSingle();
     this.ColorLowerBound = binaryReader.ReadVector4();
     this.ColorUpperBound = binaryReader.ReadVector4();
     this.ContrailPointStatesScaleFlags = ((ScaleFlags)(binaryReader.ReadInt32()));
     return(pointerQueue);
 }
Beispiel #16
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.EffectEventFlags = ((Flags)(binaryReader.ReadInt32()));
     this.SkipFraction     = binaryReader.ReadSingle();
     this.DelayBounds      = binaryReader.ReadRange();
     this.DurationBounds   = binaryReader.ReadRange();
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(56));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(60));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(20));
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(56));
     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();
     this.Sound = binaryReader.ReadTagReference();
     this.RandomPeriodBounds      = binaryReader.ReadRange();
     this.FieldReal               = binaryReader.ReadSingle();
     this.LoopingSoundDetailFlags = ((Flags)(binaryReader.ReadInt32()));
     this.YawBounds               = binaryReader.ReadRange();
     this.PitchBounds             = binaryReader.ReadRange();
     this.DistanceBounds          = binaryReader.ReadRange();
     return(pointerQueue);
 }
Beispiel #18
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.CharacterVitalityVitalityFlags = ((VitalityFlags)(binaryReader.ReadInt32()));
     this.NormalBodyVitality             = binaryReader.ReadSingle();
     this.NormalShieldVitality           = binaryReader.ReadSingle();
     this.LegendaryBodyVitality          = binaryReader.ReadSingle();
     this.LegendaryShieldVitality        = binaryReader.ReadSingle();
     this.BodyRechargeFraction           = binaryReader.ReadSingle();
     this.SoftPingThreshold             = binaryReader.ReadSingle();
     this.SoftPingThreshold0            = binaryReader.ReadSingle();
     this.SoftPingMinInterruptTime      = binaryReader.ReadSingle();
     this.HardPingThreshold             = binaryReader.ReadSingle();
     this.HardPingThreshold0            = binaryReader.ReadSingle();
     this.HardPingMinInterruptTime      = binaryReader.ReadSingle();
     this.CurrentDamageDecayDelay       = binaryReader.ReadSingle();
     this.CurrentDamageDecayTime        = binaryReader.ReadSingle();
     this.RecentDamageDecayDelay        = binaryReader.ReadSingle();
     this.RecentDamageDecayTime         = binaryReader.ReadSingle();
     this.BodyRechargeDelayTime         = binaryReader.ReadSingle();
     this.BodyRechargeTime              = binaryReader.ReadSingle();
     this.ShieldRechargeDelayTime       = binaryReader.ReadSingle();
     this.ShieldRechargeTime            = binaryReader.ReadSingle();
     this.StunThreshold                 = binaryReader.ReadSingle();
     this.StunTimeBounds                = binaryReader.ReadRange();
     this.ExtendedShieldDamageThreshold = binaryReader.ReadSingle();
     this.ExtendedBodyDamageThreshold   = binaryReader.ReadSingle();
     this.SuicideRadius                 = binaryReader.ReadSingle();
     this.fieldskip = binaryReader.ReadBytes(8);
     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.fieldpad          = binaryReader.ReadBytes(4);
     this.IdlePoseDelayTime = 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.ItemItemFlags            = ((ItemFlags)(binaryReader.ReadInt32()));
     this.OLDMessageIndex          = binaryReader.ReadInt16();
     this.SortOrder                = binaryReader.ReadInt16();
     this.MultiplayerOngroundScale = binaryReader.ReadSingle();
     this.CampaignOngroundScale    = binaryReader.ReadSingle();
     this.PickupMessage            = binaryReader.ReadStringID();
     this.SwapMessage              = binaryReader.ReadStringID();
     this.PickupOrDualMsg          = binaryReader.ReadStringID();
     this.SwapOrDualMsg            = binaryReader.ReadStringID();
     this.DualonlyMsg              = binaryReader.ReadStringID();
     this.PickedUpMsg              = binaryReader.ReadStringID();
     this.SingluarQuantityMsg      = binaryReader.ReadStringID();
     this.PluralQuantityMsg        = binaryReader.ReadStringID();
     this.SwitchtoMsg              = binaryReader.ReadStringID();
     this.SwitchtoFromAiMsg        = binaryReader.ReadStringID();
     this.UNUSED         = binaryReader.ReadTagReference();
     this.CollisionSound = binaryReader.ReadTagReference();
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(8));
     this.DetonationDamageEffect = binaryReader.ReadTagReference();
     this.DetonationDelay        = binaryReader.ReadRange();
     this.DetonatingEffect       = binaryReader.ReadTagReference();
     this.DetonationEffect       = binaryReader.ReadTagReference();
     return(pointerQueue);
 }
Beispiel #21
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.MaximumAimingDeviation  = binaryReader.ReadVector2();
     this.MaximumLookingDeviation = binaryReader.ReadVector2();
     this.fieldpad             = binaryReader.ReadBytes(16);
     this.NoncombatLookDeltaL  = binaryReader.ReadSingle();
     this.NoncombatLookDeltaR  = binaryReader.ReadSingle();
     this.CombatLookDeltaL     = binaryReader.ReadSingle();
     this.CombatLookDeltaR     = binaryReader.ReadSingle();
     this.NoncombatIdleLooking = binaryReader.ReadRange();
     this.NoncombatIdleAiming  = binaryReader.ReadRange();
     this.CombatIdleLooking    = binaryReader.ReadRange();
     this.CombatIdleAiming     = binaryReader.ReadRange();
     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.ProjectileProjectileFlags = ((ProjectileFlags)(binaryReader.ReadInt32()));
     this.DetonationTimerStarts     = ((DetonationTimerStartsEnum)(binaryReader.ReadInt16()));
     this.ImpactNoise        = ((ImpactNoiseEnum)(binaryReader.ReadInt16()));
     this.AIPerceptionRadius = binaryReader.ReadSingle();
     this.CollisionRadius    = binaryReader.ReadSingle();
     this.ArmingTime         = binaryReader.ReadSingle();
     this.DangerRadius       = binaryReader.ReadSingle();
     this.Timer                            = binaryReader.ReadRange();
     this.MinimumVelocity                  = binaryReader.ReadSingle();
     this.MaximumRange                     = binaryReader.ReadSingle();
     this.DetonationNoise                  = ((DetonationNoiseEnum)(binaryReader.ReadInt16()));
     this.SuperDetProjectileCount          = binaryReader.ReadInt16();
     this.DetonationStarted                = binaryReader.ReadTagReference();
     this.DetonationEffect                 = binaryReader.ReadTagReference();
     this.DetonationEffect0                = binaryReader.ReadTagReference();
     this.DetonationDamage                 = binaryReader.ReadTagReference();
     this.AttachedDetonationDamage         = binaryReader.ReadTagReference();
     this.SuperDetonation                  = binaryReader.ReadTagReference();
     pointerQueue                          = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.YourMomma.ReadFields(binaryReader)));
     this.DetonationSound                  = binaryReader.ReadTagReference();
     this.DamageReportingType              = ((DamageReportingTypeEnum)(binaryReader.ReadByte()));
     this.fieldpad3                        = binaryReader.ReadBytes(3);
     this.SuperAttachedDetonationDamage    = binaryReader.ReadTagReference();
     this.MaterialEffectRadius             = binaryReader.ReadSingle();
     this.FlybySound                       = binaryReader.ReadTagReference();
     this.ImpactEffect                     = binaryReader.ReadTagReference();
     this.ImpactDamage                     = binaryReader.ReadTagReference();
     this.BoardingDetonationTime           = binaryReader.ReadSingle();
     this.BoardingDetonationDamage         = binaryReader.ReadTagReference();
     this.BoardingAttachedDetonationDamage = binaryReader.ReadTagReference();
     this.AirGravityScale                  = binaryReader.ReadSingle();
     this.AirDamageRange                   = binaryReader.ReadRange();
     this.WaterGravityScale                = binaryReader.ReadSingle();
     this.WaterDamageRange                 = binaryReader.ReadRange();
     this.InitialVelocity                  = binaryReader.ReadSingle();
     this.FinalVelocity                    = binaryReader.ReadSingle();
     pointerQueue                          = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(pointerQueue.Concat(this.Blah.ReadFields(binaryReader)));
     this.GuidedAngularVelocity            = binaryReader.ReadSingle();
     this.AccelerationRange                = binaryReader.ReadRange();
     this.fieldpad4                        = binaryReader.ReadBytes(4);
     this.TargetedLeadingFraction          = binaryReader.ReadSingle();
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(88));
     return(pointerQueue);
 }
Beispiel #23
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.GainModifier         = binaryReader.ReadRange();
     this.PitchModifier        = binaryReader.ReadInt32();
     this.SkipFractionModifier = binaryReader.ReadVector2();
     return(pointerQueue);
 }
Beispiel #24
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.DangerBroadlyFacing               = binaryReader.ReadSingle();
     this.fieldpad                          = binaryReader.ReadBytes(4);
     this.DangerShootingNear                = binaryReader.ReadSingle();
     this.fieldpad0                         = binaryReader.ReadBytes(4);
     this.DangerShootingAt                  = binaryReader.ReadSingle();
     this.fieldpad1                         = binaryReader.ReadBytes(4);
     this.DangerExtremelyClose              = binaryReader.ReadSingle();
     this.fieldpad2                         = binaryReader.ReadBytes(4);
     this.DangerShieldDamage                = binaryReader.ReadSingle();
     this.DangerExetendedShieldDamage       = binaryReader.ReadSingle();
     this.DangerBodyDamage                  = binaryReader.ReadSingle();
     this.DangerExtendedBodyDamage          = binaryReader.ReadSingle();
     this.fieldpad3                         = binaryReader.ReadBytes(48);
     this.GlobalDialogueTag                 = binaryReader.ReadTagReference();
     this.DefaultMissionDialogueSoundEffect = binaryReader.ReadStringID();
     this.fieldpad4                         = binaryReader.ReadBytes(20);
     this.JumpDown                          = binaryReader.ReadSingle();
     this.JumpStep                          = binaryReader.ReadSingle();
     this.JumpCrouch                        = binaryReader.ReadSingle();
     this.JumpStand                         = binaryReader.ReadSingle();
     this.JumpStorey                        = binaryReader.ReadSingle();
     this.JumpTower                         = binaryReader.ReadSingle();
     this.MaxJumpDownHeightDown             = binaryReader.ReadSingle();
     this.MaxJumpDownHeightStep             = binaryReader.ReadSingle();
     this.MaxJumpDownHeightCrouch           = binaryReader.ReadSingle();
     this.MaxJumpDownHeightStand            = binaryReader.ReadSingle();
     this.MaxJumpDownHeightStorey           = binaryReader.ReadSingle();
     this.MaxJumpDownHeightTower            = binaryReader.ReadSingle();
     this.HoistStep                         = binaryReader.ReadRange();
     this.HoistCrouch                       = binaryReader.ReadRange();
     this.HoistStand                        = binaryReader.ReadRange();
     this.fieldpad5                         = binaryReader.ReadBytes(24);
     this.VaultStep                         = binaryReader.ReadRange();
     this.VaultCrouch                       = binaryReader.ReadRange();
     this.fieldpad6                         = binaryReader.ReadBytes(48);
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(12));
     this.fieldpad7                = binaryReader.ReadBytes(48);
     this.ScaryTargetThrehold      = binaryReader.ReadSingle();
     this.ScaryWeaponThrehold      = binaryReader.ReadSingle();
     this.PlayerScariness          = binaryReader.ReadSingle();
     this.BerserkingActorScariness = binaryReader.ReadSingle();
     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.CreateIn = ((CreateInEnum)(binaryReader.ReadInt16()));
     this.EffectPartEffectPartCreateIn = ((EffectPartCreateInEnum)(binaryReader.ReadInt16()));
     this.Location = binaryReader.ReadShortBlockIndex1();
     this.EffectPartFlags = ((Flags)(binaryReader.ReadInt16()));
     this.fieldpad = binaryReader.ReadBytes(4);
     this.Type = binaryReader.ReadTagReference();
     this.VelocityBounds = binaryReader.ReadRange();
     this.VelocityConeAngle = binaryReader.ReadSingle();
     this.AngularVelocityBounds = binaryReader.ReadRange();
     this.RadiusModifierBounds = binaryReader.ReadRange();
     this.EffectPartAScalesValues = ((AScalesValues)(binaryReader.ReadInt32()));
     this.EffectPartBScalesValues = ((BScalesValues)(binaryReader.ReadInt32()));
     return pointerQueue;
 }
Beispiel #26
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.RateOfFire           = binaryReader.ReadSingle();
     this.TargetTracking       = binaryReader.ReadSingle();
     this.TargetLeading        = binaryReader.ReadSingle();
     this.BurstOriginRadius    = binaryReader.ReadSingle();
     this.BurstOriginAngle     = binaryReader.ReadSingle();
     this.BurstReturnLength    = binaryReader.ReadRange();
     this.BurstReturnAngle     = binaryReader.ReadSingle();
     this.BurstDuration        = binaryReader.ReadRange();
     this.BurstSeparation      = binaryReader.ReadRange();
     this.WeaponDamageModifier = binaryReader.ReadSingle();
     this.ProjectileError      = binaryReader.ReadSingle();
     this.BurstAngularVelocity = binaryReader.ReadSingle();
     this.MaximumErrorAngle    = binaryReader.ReadSingle();
     return(pointerQueue);
 }
Beispiel #27
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.Unused                  = binaryReader.ReadTagReference();
     this.fieldpad                = binaryReader.ReadBytes(28);
     this.WalkingSpeed            = binaryReader.ReadSingle();
     this.fieldpad0               = binaryReader.ReadBytes(4);
     this.RunForward              = binaryReader.ReadSingle();
     this.RunBackward             = binaryReader.ReadSingle();
     this.RunSideways             = binaryReader.ReadSingle();
     this.RunAcceleration         = binaryReader.ReadSingle();
     this.SneakForward            = binaryReader.ReadSingle();
     this.SneakBackward           = binaryReader.ReadSingle();
     this.SneakSideways           = binaryReader.ReadSingle();
     this.SneakAcceleration       = binaryReader.ReadSingle();
     this.AirborneAcceleration    = binaryReader.ReadSingle();
     this.fieldpad1               = binaryReader.ReadBytes(16);
     this.GrenadeOrigin           = binaryReader.ReadVector3();
     this.fieldpad2               = binaryReader.ReadBytes(12);
     this.StunMovementPenalty     = binaryReader.ReadSingle();
     this.StunTurningPenalty      = binaryReader.ReadSingle();
     this.StunJumpingPenalty      = binaryReader.ReadSingle();
     this.MinimumStunTime         = binaryReader.ReadSingle();
     this.MaximumStunTime         = binaryReader.ReadSingle();
     this.fieldpad3               = binaryReader.ReadBytes(8);
     this.FirstPersonIdleTime     = binaryReader.ReadRange();
     this.FirstPersonSkipFraction = binaryReader.ReadSingle();
     this.fieldpad4               = binaryReader.ReadBytes(16);
     this.CoopRespawnEffect       = binaryReader.ReadTagReference();
     this.BinocularsZoomCount     = binaryReader.ReadInt32();
     this.BinocularsZoomRange     = binaryReader.ReadRange();
     this.BinocularsZoomInSound   = binaryReader.ReadTagReference();
     this.BinocularsZoomOutSound  = binaryReader.ReadTagReference();
     this.fieldpad5               = binaryReader.ReadBytes(16);
     this.ActiveCamouflageOn      = binaryReader.ReadTagReference();
     this.ActiveCamouflageOff     = binaryReader.ReadTagReference();
     this.ActiveCamouflageError   = binaryReader.ReadTagReference();
     this.ActiveCamouflageReady   = binaryReader.ReadTagReference();
     this.FlashlightOn            = binaryReader.ReadTagReference();
     this.FlashlightOff           = binaryReader.ReadTagReference();
     this.IceCream                = binaryReader.ReadTagReference();
     return(pointerQueue);
 }
Beispiel #28
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.CharacterCoverCoverFlags = ((CoverFlags)(binaryReader.ReadInt32()));
     this.HideBehindCoverTime      = binaryReader.ReadRange();
     this.CoverVitalityThreshold   = binaryReader.ReadSingle();
     this.CoverShieldFraction      = binaryReader.ReadSingle();
     this.CoverCheckDelay          = binaryReader.ReadSingle();
     this.EmergeFromCoverWhenShieldFractionReachesThreshold = binaryReader.ReadSingle();
     this.CoverDangerThreshold            = binaryReader.ReadSingle();
     this.DangerUpperThreshold            = binaryReader.ReadSingle();
     this.CoverChance                     = binaryReader.ReadRange();
     this.ProximitySelfpreserve           = binaryReader.ReadSingle();
     this.DisallowCoverDistance           = binaryReader.ReadSingle();
     this.ProximityMeleeDistance          = binaryReader.ReadSingle();
     this.UnreachableEnemyDangerThreshold = binaryReader.ReadSingle();
     this.ScaryTargetThreshold            = binaryReader.ReadSingle();
     return(pointerQueue);
 }
Beispiel #29
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.CameraMarkerName          = binaryReader.ReadStringID();
     this.CameraSubmergedMarkerName = binaryReader.ReadStringID();
     this.PitchAutolevel            = binaryReader.ReadSingle();
     this.PitchRange = binaryReader.ReadRange();
     pointerQueue.Enqueue(binaryReader.ReadBlamPointer(8));
     return(pointerQueue);
 }
Beispiel #30
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.Velocity             = binaryReader.ReadRange();
     this.VariationArea        = binaryReader.ReadVector2();
     this.LocalVariationWeight = binaryReader.ReadSingle();
     this.LocalVariationRate   = binaryReader.ReadSingle();
     this.Damping  = binaryReader.ReadSingle();
     this.fieldpad = binaryReader.ReadBytes(36);
     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.Color     = binaryReader.ReadColorR8G8B8();
     this.fieldpad  = binaryReader.ReadBytes(12);
     this.Density   = binaryReader.ReadVector2();
     this.Distance  = binaryReader.ReadRange();
     this.fieldpad0 = binaryReader.ReadBytes(32);
     this.PatchyFog = binaryReader.ReadTagReference();
     return(pointerQueue);
 }
Beispiel #32
0
        static byte[] GetRangeHandler(BinaryReader requestReader, World world)
        {
            var requestedRange = requestReader.ReadRange();
            var rangeData = world.GetRange(requestedRange);

            using(var responseStream = new MemoryStream())
            {
                using(var responseWriter = new BinaryWriter(responseStream))
                {
                    responseWriter.Write((byte)WorldResponse.Ok);
                    responseWriter.Write(rangeData.Range);
                    responseWriter.Write(rangeData.Data);
                }

                return responseStream.ToArray();
            }
        }
Beispiel #33
0
 void IDefinition.FromArray(byte[] buffer)
 {
     BinaryReader bin = new BinaryReader(new MemoryStream(buffer));
     x = bin.ReadRange();
     y = bin.ReadRange();
     z = bin.ReadRange();
 }
 public ErrorReportsBlock(BinaryReader binaryReader)
 {
     this.type = (Type)binaryReader.ReadInt16();
     this.flags = (Flags)binaryReader.ReadInt16();
     this.paddingtext = binaryReader.ReadBytes(8);
     this.sourceFilename = binaryReader.ReadString32();
     this.sourceLineNumber = binaryReader.ReadInt32();
     this.vertices = ReadVertices(binaryReader);
     this.vectors = ReadVectors(binaryReader);
     this.lines = ReadLines(binaryReader);
     this.triangles = ReadTriangles(binaryReader);
     this.quads = ReadQuads(binaryReader);
     this.comments = ReadComments(binaryReader);
     this.padding = binaryReader.ReadBytes(380);
     this.reportKey = binaryReader.ReadInt32();
     this.nodeIndex = binaryReader.ReadInt32();
     this.boundsX = binaryReader.ReadRange();
     this.boundsY = binaryReader.ReadRange();
     this.boundsZ = binaryReader.ReadRange();
     this.color = binaryReader.ReadVector4();
     this.padding0 = binaryReader.ReadBytes(84);
 }
 public ScenarioStructureBSP(BinaryReader binaryReader)
 {
     {
         var elementSize = Marshal.SizeOf(typeof(GlobalTagImportInfoBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.importInfo = new GlobalTagImportInfoBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.importInfo[i] = new GlobalTagImportInfoBlock(binaryReader);
             }
         }
     }
     this.padding = binaryReader.ReadBytes(4);
     {
         var elementSize = Marshal.SizeOf(typeof(StructureCollisionMaterialsBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.collisionMaterials = new StructureCollisionMaterialsBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.collisionMaterials[i] = new StructureCollisionMaterialsBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(GlobalCollisionBspBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.collisionBSP = new GlobalCollisionBspBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.collisionBSP[i] = new GlobalCollisionBspBlock(binaryReader);
             }
         }
     }
     this.vehicleFloorWorldUnitsHeightBelowWhichVehiclesGetPushedUpByAnUnstoppableForce = binaryReader.ReadSingle();
     this.vehicleCeilingWorldUnitsHeightAboveWhichVehiclesGetPushedDownByAnUnstoppableForce = binaryReader.ReadSingle();
     {
         var elementSize = Marshal.SizeOf(typeof(UNUSEDStructureBspNodeBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.uNUSEDNodes = new UNUSEDStructureBspNodeBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.uNUSEDNodes[i] = new UNUSEDStructureBspNodeBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspLeafBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.leaves = new StructureBspLeafBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.leaves[i] = new StructureBspLeafBlock(binaryReader);
             }
         }
     }
     this.worldBoundsX = binaryReader.ReadRange();
     this.worldBoundsY = binaryReader.ReadRange();
     this.worldBoundsZ = binaryReader.ReadRange();
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspSurfaceReferenceBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.surfaceReferences = new StructureBspSurfaceReferenceBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.surfaceReferences[i] = new StructureBspSurfaceReferenceBlock(binaryReader);
             }
         }
     }
     this.paddingclusterData = binaryReader.ReadBytes(8);
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspClusterPortalBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.clusterPortals = new StructureBspClusterPortalBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.clusterPortals[i] = new StructureBspClusterPortalBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspFogPlaneBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.fogPlanes = new StructureBspFogPlaneBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.fogPlanes[i] = new StructureBspFogPlaneBlock(binaryReader);
             }
         }
     }
     this.padding0 = binaryReader.ReadBytes(24);
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspWeatherPaletteBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.weatherPalette = new StructureBspWeatherPaletteBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.weatherPalette[i] = new StructureBspWeatherPaletteBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspWeatherPolyhedronBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.weatherPolyhedra = new StructureBspWeatherPolyhedronBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.weatherPolyhedra[i] = new StructureBspWeatherPolyhedronBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspDetailObjectDataBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.detailObjects = new StructureBspDetailObjectDataBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.detailObjects[i] = new StructureBspDetailObjectDataBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspClusterBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.clusters = new StructureBspClusterBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.clusters[i] = new StructureBspClusterBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(GlobalGeometryMaterialBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.materials = new GlobalGeometryMaterialBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.materials[i] = new GlobalGeometryMaterialBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspSkyOwnerClusterBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.skyOwnerCluster = new StructureBspSkyOwnerClusterBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.skyOwnerCluster[i] = new StructureBspSkyOwnerClusterBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspConveyorSurfaceBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.conveyorSurfaces = new StructureBspConveyorSurfaceBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.conveyorSurfaces[i] = new StructureBspConveyorSurfaceBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspBreakableSurfaceBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.breakableSurfaces = new StructureBspBreakableSurfaceBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.breakableSurfaces[i] = new StructureBspBreakableSurfaceBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(PathfindingDataBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.pathfindingData = new PathfindingDataBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.pathfindingData[i] = new PathfindingDataBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspPathfindingEdgesBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.pathfindingEdges = new StructureBspPathfindingEdgesBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.pathfindingEdges[i] = new StructureBspPathfindingEdgesBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspBackgroundSoundPaletteBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.backgroundSoundPalette = new StructureBspBackgroundSoundPaletteBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.backgroundSoundPalette[i] = new StructureBspBackgroundSoundPaletteBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspSoundEnvironmentPaletteBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.soundEnvironmentPalette = new StructureBspSoundEnvironmentPaletteBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.soundEnvironmentPalette[i] = new StructureBspSoundEnvironmentPaletteBlock(binaryReader);
             }
         }
     }
     this.paddingsoundPASData = binaryReader.ReadBytes(8);
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspMarkerBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.markers = new StructureBspMarkerBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.markers[i] = new StructureBspMarkerBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspRuntimeDecalBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.runtimeDecals = new StructureBspRuntimeDecalBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.runtimeDecals[i] = new StructureBspRuntimeDecalBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspEnvironmentObjectPaletteBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.environmentObjectPalette = new StructureBspEnvironmentObjectPaletteBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.environmentObjectPalette[i] = new StructureBspEnvironmentObjectPaletteBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspEnvironmentObjectBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.environmentObjects = new StructureBspEnvironmentObjectBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.environmentObjects[i] = new StructureBspEnvironmentObjectBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspLightmapDataBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.lightmaps = new StructureBspLightmapDataBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.lightmaps[i] = new StructureBspLightmapDataBlock(binaryReader);
             }
         }
     }
     this.padding1 = binaryReader.ReadBytes(4);
     {
         var elementSize = Marshal.SizeOf(typeof(GlobalMapLeafBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.leafMapLeaves = new GlobalMapLeafBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.leafMapLeaves[i] = new GlobalMapLeafBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(GlobalLeafConnectionBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.leafMapConnections = new GlobalLeafConnectionBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.leafMapConnections[i] = new GlobalLeafConnectionBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(GlobalErrorReportCategoriesBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.errors = new GlobalErrorReportCategoriesBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.errors[i] = new GlobalErrorReportCategoriesBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspPrecomputedLightingBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.precomputedLighting = new StructureBspPrecomputedLightingBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.precomputedLighting[i] = new StructureBspPrecomputedLightingBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspInstancedGeometryDefinitionBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.instancedGeometriesDefinitions = new StructureBspInstancedGeometryDefinitionBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.instancedGeometriesDefinitions[i] = new StructureBspInstancedGeometryDefinitionBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspInstancedGeometryInstancesBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.instancedGeometryInstances = new StructureBspInstancedGeometryInstancesBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.instancedGeometryInstances[i] = new StructureBspInstancedGeometryInstancesBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspSoundClusterBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.ambienceSoundClusters = new StructureBspSoundClusterBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.ambienceSoundClusters[i] = new StructureBspSoundClusterBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspSoundClusterBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.reverbSoundClusters = new StructureBspSoundClusterBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.reverbSoundClusters[i] = new StructureBspSoundClusterBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(TransparentPlanesBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.transparentPlanes = new TransparentPlanesBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.transparentPlanes[i] = new TransparentPlanesBlock(binaryReader);
             }
         }
     }
     this.padding2 = binaryReader.ReadBytes(96);
     this.vehicleSpericalLimitRadiusDistancesThisFarAndLongerFromLimitOriginWillPullYouBackIn = binaryReader.ReadSingle();
     this.vehicleSpericalLimitCenterCenterOfSpaceInWhichVehicleCanMove = binaryReader.ReadVector3();
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspDebugInfoBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.debugInfo = new StructureBspDebugInfoBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.debugInfo[i] = new StructureBspDebugInfoBlock(binaryReader);
             }
         }
     }
     this.decorators = binaryReader.ReadTagReference();
     this.structurePhysics = new GlobalStructurePhysicsStruct(binaryReader);
     {
         var elementSize = Marshal.SizeOf(typeof(GlobalWaterDefinitionsBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.waterDefinitions = new GlobalWaterDefinitionsBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.waterDefinitions[i] = new GlobalWaterDefinitionsBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructurePortalDeviceMappingBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.portalDeviceMapping = new StructurePortalDeviceMappingBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.portalDeviceMapping[i] = new StructurePortalDeviceMappingBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspAudibilityBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.audibility = new StructureBspAudibilityBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.audibility[i] = new StructureBspAudibilityBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspFakeLightprobesBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.objectFakeLightprobes = new StructureBspFakeLightprobesBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.objectFakeLightprobes[i] = new StructureBspFakeLightprobesBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(DecoratorPlacementDefinitionBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.decorators0 = new DecoratorPlacementDefinitionBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.decorators0[i] = new DecoratorPlacementDefinitionBlock(binaryReader);
             }
         }
     }
 }
 public StructureBspClusterBlock(BinaryReader binaryReader)
 {
     this.sectionInfo = new GlobalGeometrySectionInfoStruct(binaryReader);
     this.geometryBlockInfo = new Moonfish.Tags.GlobalGeometryBlockInfoStruct(binaryReader);
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspClusterDataBlockNew));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.clusterData = new StructureBspClusterDataBlockNew[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.clusterData[i] = new StructureBspClusterDataBlockNew(binaryReader);
             }
         }
     }
     this.boundsX = binaryReader.ReadRange();
     this.boundsY = binaryReader.ReadRange();
     this.boundsZ = binaryReader.ReadRange();
     this.scenarioSkyIndex = binaryReader.ReadByte();
     this.mediaIndex = binaryReader.ReadByte();
     this.scenarioVisibleSkyIndex = binaryReader.ReadByte();
     this.scenarioAtmosphericFogIndex = binaryReader.ReadByte();
     this.planarFogDesignator = binaryReader.ReadByte();
     this.visibleFogPlaneIndex = binaryReader.ReadByte();
     this.backgroundSound = binaryReader.ReadShortBlockIndex1();
     this.soundEnvironment = binaryReader.ReadShortBlockIndex1();
     this.weather = binaryReader.ReadShortBlockIndex1();
     this.transitionStructureBSP = binaryReader.ReadInt16();
     this.padding = binaryReader.ReadBytes(2);
     this.padding0 = binaryReader.ReadBytes(4);
     this.flags = (Flags)binaryReader.ReadInt16();
     this.padding1 = binaryReader.ReadBytes(2);
     {
         var elementSize = Marshal.SizeOf(typeof(PredictedResourceBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.predictedResources = new PredictedResourceBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.predictedResources[i] = new PredictedResourceBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspClusterPortalIndexBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.portals = new StructureBspClusterPortalIndexBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.portals[i] = new StructureBspClusterPortalIndexBlock(binaryReader);
             }
         }
     }
     this.checksumFromStructure = binaryReader.ReadInt32();
     {
         var elementSize = Marshal.SizeOf(typeof(StructureBspClusterInstancedGeometryIndexBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.instancedGeometryIndices = new StructureBspClusterInstancedGeometryIndexBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.instancedGeometryIndices[i] = new StructureBspClusterInstancedGeometryIndexBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(GlobalGeometrySectionStripIndexBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.indexReorderTable = new GlobalGeometrySectionStripIndexBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.indexReorderTable[i] = new GlobalGeometrySectionStripIndexBlock(binaryReader);
             }
         }
     }
     this.paddingcollisionMoppCode = binaryReader.ReadBytes(8);
 }
 public ErrorReportsBlock(BinaryReader binaryReader)
 {
     this.type = (Type)binaryReader.ReadInt16();
     this.flags = (Flags)binaryReader.ReadInt16();
     this.paddingtext = binaryReader.ReadBytes(8);
     this.sourceFilename = binaryReader.ReadString32();
     this.sourceLineNumber = binaryReader.ReadInt32();
     {
         var elementSize = Marshal.SizeOf(typeof(ErrorReportVerticesBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.vertices = new ErrorReportVerticesBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.vertices[i] = new ErrorReportVerticesBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(ErrorReportVectorsBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.vectors = new ErrorReportVectorsBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.vectors[i] = new ErrorReportVectorsBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(ErrorReportLinesBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.lines = new ErrorReportLinesBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.lines[i] = new ErrorReportLinesBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(ErrorReportTrianglesBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.triangles = new ErrorReportTrianglesBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.triangles[i] = new ErrorReportTrianglesBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(ErrorReportQuadsBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.quads = new ErrorReportQuadsBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.quads[i] = new ErrorReportQuadsBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(ErrorReportCommentsBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.comments = new ErrorReportCommentsBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.comments[i] = new ErrorReportCommentsBlock(binaryReader);
             }
         }
     }
     this.padding = binaryReader.ReadBytes(380);
     this.reportKey = binaryReader.ReadInt32();
     this.nodeIndex = binaryReader.ReadInt32();
     this.boundsX = binaryReader.ReadRange();
     this.boundsY = binaryReader.ReadRange();
     this.boundsZ = binaryReader.ReadRange();
     this.color = binaryReader.ReadVector4();
     this.padding0 = binaryReader.ReadBytes(84);
 }
 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 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 SoundSceneryDatumStruct(BinaryReader binaryReader)
 {
     this.volumeType = (VolumeType)binaryReader.ReadInt32();
     this.height = binaryReader.ReadSingle();
     this.overrideDistanceBounds = binaryReader.ReadRange();
     this.overrideConeAngleBounds = binaryReader.ReadRange();
     this.overrideOuterConeGainDb = binaryReader.ReadSingle();
 }
 public GlobalGeometryCompressionInfoBlock(BinaryReader binaryReader)
 {
     this.positionBoundsX = binaryReader.ReadRange();
     this.positionBoundsY = binaryReader.ReadRange();
     this.positionBoundsZ = binaryReader.ReadRange();
     this.texcoordBoundsX = binaryReader.ReadRange();
     this.texcoordBoundsY = binaryReader.ReadRange();
     this.secondaryTexcoordBoundsX = binaryReader.ReadRange();
     this.secondaryTexcoordBoundsY = binaryReader.ReadRange();
 }
 public StructureBspAudibilityBlock(BinaryReader binaryReader)
 {
     this.doorPortalCount = binaryReader.ReadInt32();
     this.clusterDistanceBounds = binaryReader.ReadRange();
     {
         var elementSize = Marshal.SizeOf(typeof(DoorEncodedPasBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.encodedDoorPas = new DoorEncodedPasBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.encodedDoorPas[i] = new DoorEncodedPasBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(ClusterDoorPortalEncodedPasBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.clusterDoorPortalEncodedPas = new ClusterDoorPortalEncodedPasBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.clusterDoorPortalEncodedPas[i] = new ClusterDoorPortalEncodedPasBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(AiDeafeningEncodedPasBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.aiDeafeningPas = new AiDeafeningEncodedPasBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.aiDeafeningPas[i] = new AiDeafeningEncodedPasBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(EncodedClusterDistancesBlock));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.clusterDistances = new EncodedClusterDistancesBlock[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.clusterDistances[i] = new EncodedClusterDistancesBlock(binaryReader);
             }
         }
     }
     {
         var elementSize = Marshal.SizeOf(typeof(OccluderToMachineDoorMapping));
         var blamPointer = binaryReader.ReadBlamPointer(elementSize);
         this.machineDoorMapping = new OccluderToMachineDoorMapping[blamPointer.Count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < blamPointer.Count; ++i)
             {
                 binaryReader.BaseStream.Position = blamPointer[i];
                 this.machineDoorMapping[i] = new OccluderToMachineDoorMapping(binaryReader);
             }
         }
     }
 }