public void Load(BinaryReaderBE reader) { LightingFunction = (LightingFunction)reader.ReadInt16(); Period = reader.ReadInt16(); DeltaPeriod = reader.ReadInt16(); Intensity = reader.ReadFixed(); DeltaIntensity = reader.ReadFixed(); }
public void Load(BinaryReaderBE reader) { Flags = (RandomSoundFlags)reader.ReadUInt16(); SoundIndex = reader.ReadInt16(); volume = reader.ReadInt16(); deltaVolume = reader.ReadInt16(); Period = reader.ReadInt16(); DeltaPeriod = reader.ReadInt16(); direction = reader.ReadInt16(); deltaDirection = reader.ReadInt16(); Pitch = reader.ReadFixed(); DeltaPitch = reader.ReadFixed(); phase = reader.ReadInt16(); reader.BaseStream.Seek(2 * 3, SeekOrigin.Current); }
public void Load(BinaryReaderBE reader) { Collection = reader.ReadInt16(); Shape = reader.ReadInt16(); DetonationEffect = reader.ReadInt16(); MediaDetonationEffect = reader.ReadInt16(); ContrailEffect = reader.ReadInt16(); TicksBetweenContrails = reader.ReadInt16(); MaximumContrails = reader.ReadInt16(); MediaProjectilePromotion = reader.ReadInt16(); Radius = reader.ReadInt16(); AreaOfEffect = reader.ReadInt16(); Damage.Load(reader); Flags = reader.ReadUInt32(); Speed = reader.ReadInt16(); MaximumRange = reader.ReadInt16(); SoundPitch = reader.ReadFixed(); FlybySound = reader.ReadInt16(); ReboundSound = reader.ReadInt16(); }
public void Load(BinaryReaderBE reader) { Type = reader.ReadInt16(); Flags = reader.ReadInt16(); Base = reader.ReadInt16(); Random = reader.ReadInt16(); Scale = reader.ReadFixed(); }
public void Load(BinaryReaderBE reader) { long origin = reader.BaseStream.Position; soundCode = reader.ReadInt16(); behaviorIndex = reader.ReadInt16(); flags = (SoundDefinitionFlags)reader.ReadUInt16(); chance = (32768.0 - reader.ReadUInt16()) / 32768.0; lowPitch = reader.ReadFixed(); highPitch = reader.ReadFixed(); short numPermutations = reader.ReadInt16(); reader.ReadUInt16(); // permutations played uint groupOffset = reader.ReadUInt32(); reader.ReadUInt32(); // single length reader.ReadUInt32(); // total length List <int> offsets = new List <int>(); for (int i = 0; i < MAXIMUM_PERMUTATIONS_PER_SOUND; ++i) { offsets.Add(reader.ReadInt32()); } reader.ReadUInt32(); // last played reader.BaseStream.Position = origin + HEADER_SIZE; permutations.Clear(); long position = reader.BaseStream.Position; for (int i = 0; i < numPermutations; ++i) { reader.BaseStream.Seek(groupOffset + offsets[i], SeekOrigin.Begin); Permutation permutation = new Permutation(); permutation.Load(reader); permutations.Add(permutation); } reader.BaseStream.Seek(position, SeekOrigin.Begin); }
public void Load(BinaryReaderBE reader) { Collection = reader.ReadInt16(); Shape = reader.ReadInt16(); SoundPitch = reader.ReadFixed(); Flags = reader.ReadUInt16(); Delay = reader.ReadInt16(); DelaySound = reader.ReadInt16(); }
public void Load(BinaryReaderBE reader) { Type = (MediaType)reader.ReadInt16(); Flags = (MediaFlags)reader.ReadUInt16(); LightIndex = reader.ReadInt16(); direction = reader.ReadInt16(); CurrentMagnitude = reader.ReadInt16(); Low = reader.ReadInt16(); High = reader.ReadInt16(); reader.ReadInt16(); // X reader.ReadInt16(); // Y reader.ReadInt16(); // Height MinimumLightIntensity = reader.ReadFixed(); reader.ReadInt16(); // Texture reader.ReadInt16(); // TransferMode reader.BaseStream.Seek(2 * 2, SeekOrigin.Current); }
public void Load(BinaryReaderBE reader) { Flags = reader.ReadUInt16(); MinimumLightIntensity = reader.ReadFixed(); BitmapIndex = reader.ReadInt16(); OriginX = reader.ReadInt16(); OriginY = reader.ReadInt16(); KeyX = reader.ReadInt16(); KeyY = reader.ReadInt16(); WorldLeft = reader.ReadInt16(); WorldRight = reader.ReadInt16(); WorldTop = reader.ReadInt16(); WorldBottom = reader.ReadInt16(); WorldX0 = reader.ReadInt16(); WorldY0 = reader.ReadInt16(); Unused = new short[4]; for (int i = 0; i < Unused.Length; i++) { Unused[i] = reader.ReadInt16(); } }
public void Load(BinaryReaderBE reader) { ItemType = reader.ReadInt16(); PowerupType = reader.ReadInt16(); WeaponClass = reader.ReadInt16(); Flags = reader.ReadInt16(); FiringLightIntensity = reader.ReadFixed(); FiringIntensityDecayTicks = reader.ReadInt16(); IdleHeight = reader.ReadFixed(); BobAmplitude = reader.ReadFixed(); KickHeight = reader.ReadFixed(); ReloadHeight = reader.ReadFixed(); IdleWidth = reader.ReadFixed(); HorizontalAmplitude = reader.ReadFixed(); Collection = reader.ReadInt16(); IdleShape = reader.ReadInt16(); FiringShape = reader.ReadInt16(); ReloadingShape = reader.ReadInt16(); Unused = reader.ReadInt16(); ChargingShape = reader.ReadInt16(); ChargedShape = reader.ReadInt16(); ReadyTicks = reader.ReadInt16(); AwaitReloadTicks = reader.ReadInt16(); LoadingTicks = reader.ReadInt16(); FinishLoadingTicks = reader.ReadInt16(); PowerupTicks = reader.ReadInt16(); for (int i = 0; i < 2; ++i) { Triggers[i] = new TriggerDefinition(); Triggers[i].Load(reader); } }
public void Load(BinaryReaderBE reader) { samples.Clear(); int depth = 8; bool signed_8bit = false; uint frames = 0; long origin = reader.BaseStream.Position; reader.BaseStream.Seek(20, SeekOrigin.Current); byte headerType = reader.ReadByte(); reader.BaseStream.Seek(origin, SeekOrigin.Begin); switch (headerType) { case StandardSoundHeader: depth = 8; signed_8bit = false; channels = 1; reader.ReadUInt32(); // sample pointer frames = reader.ReadUInt32(); sampleRate = reader.ReadFixed(); loopStart = reader.ReadUInt32(); loopEnd = reader.ReadUInt32(); reader.ReadByte(); // type frequency = reader.ReadByte(); // I think this is a MIDI note? break; case ExtendedSoundHeader: case CompressedSoundHeader: reader.ReadUInt32(); // sample pointer channels = reader.ReadUInt32() == 2 ? 2 : 1; sampleRate = reader.ReadFixed(); loopStart = reader.ReadUInt32(); loopEnd = reader.ReadUInt32(); reader.ReadByte(); // type frequency = reader.ReadByte(); // I think this is MIDI? frames = reader.ReadUInt32(); if (headerType == CompressedSoundHeader) { reader.BaseStream.Seek(10, SeekOrigin.Current); reader.ReadUInt32(); // marker chunk uint format = reader.ReadUInt32(); reader.ReadUInt32(); // future use reader.ReadUInt32(); // stateVars reader.ReadUInt32(); // leftOverSamples short compressionId = reader.ReadInt16(); if (format != SoundsFile.FourCharsToInt('t', 'w', 'o', 's') || compressionId != -1) { // fail somehow return; } signed_8bit = true; reader.ReadInt16(); // packet size reader.ReadInt16(); // unused depth = (reader.ReadInt16() == 16 ? 16 : 8); } else { signed_8bit = false; reader.BaseStream.Seek(22, SeekOrigin.Current); depth = (reader.ReadInt16() == 16 ? 16 : 8); reader.BaseStream.Seek(14, SeekOrigin.Current); } break; } for (int i = 0; i < frames; ++i) { for (int j = 0; j < channels; ++j) { float sample; if (depth == 16) { sample = (reader.ReadInt16() + 0.5f) / 32767.5f; } else if (signed_8bit) { sample = (reader.ReadSByte() + 0.5f) / 127.5f; } else { sample = reader.ReadByte() / 127.5f - 1.0f; } samples.Add(sample); } } }
public void Load(BinaryReaderBE reader) { MaximumForwardVelocity = reader.ReadFixed(); MaximumBackwardVelocity = reader.ReadFixed(); MaximumPerpendicularVelocity = reader.ReadFixed(); Acceleration = reader.ReadFixed(); Deceleration = reader.ReadFixed(); AirborneDeceleration = reader.ReadFixed(); GravitationalAcceleration = reader.ReadFixed(); ClimbingAcceleration = reader.ReadFixed(); TerminalVelocity = reader.ReadFixed(); ExternalAcceleration = reader.ReadFixed(); AngularAcceleration = reader.ReadFixed(); AngularDeceleration = reader.ReadFixed(); MaximumAngularVelocity = reader.ReadFixed(); AngularRecenteringVelocity = reader.ReadFixed(); FastAngularVelocity = reader.ReadFixed(); FastAngularMaximum = reader.ReadFixed(); MaximumElevation = reader.ReadFixed(); ExternalAngularDeceleration = reader.ReadFixed(); StepDelta = reader.ReadFixed(); StepAmplitude = reader.ReadFixed(); Radius = reader.ReadFixed(); Height = reader.ReadFixed(); DeadHeight = reader.ReadFixed(); CameraHeight = reader.ReadFixed(); SplashHeight = reader.ReadFixed(); HalfCameraSeparation = reader.ReadFixed(); }
public void Load(BinaryReaderBE reader) { Collection = reader.ReadInt16(); Vitality = reader.ReadInt16(); Immunities = reader.ReadUInt32(); Weaknesses = reader.ReadUInt32(); Flags = reader.ReadUInt32(); Class = reader.ReadInt32(); Friends = reader.ReadInt32(); Enemies = reader.ReadInt32(); SoundPitch = reader.ReadFixed(); ActivationSound = reader.ReadInt16(); FriendlyActivationSound = reader.ReadInt16(); ClearSound = reader.ReadInt16(); KillSound = reader.ReadInt16(); ApologySound = reader.ReadInt16(); FriendlyFireSound = reader.ReadInt16(); FlamingSound = reader.ReadInt16(); RandomSound = reader.ReadInt16(); RandomSoundMask = reader.ReadInt16(); CarryingItemType = reader.ReadInt16(); Radius = reader.ReadInt16(); Height = reader.ReadInt16(); PreferredHoverHeight = reader.ReadInt16(); MinimumLedgeDelta = reader.ReadInt16(); MaximumLedgeDelta = reader.ReadInt16(); ExternalVelocityScale = reader.ReadFixed(); ImpactEffect = reader.ReadInt16(); MeleeImpactEffect = reader.ReadInt16(); ContrailEffect = reader.ReadInt16(); HalfVisualArc = reader.ReadInt16(); HalfVerticalVisualArc = reader.ReadInt16(); VisualRange = reader.ReadInt16(); DarkVisualRange = reader.ReadInt16(); Intelligence = reader.ReadInt16(); Speed = reader.ReadInt16(); Gravity = reader.ReadInt16(); TerminalVelocity = reader.ReadInt16(); DoorRetryMask = reader.ReadInt16(); ShrapnelRadius = reader.ReadInt16(); ShrapnelDamage.Load(reader); HitShapes = reader.ReadInt16(); HardDyingShape = reader.ReadInt16(); SoftDyingShape = reader.ReadInt16(); HardDeadShapes = reader.ReadInt16(); SoftDeadShapes = reader.ReadInt16(); StationaryShape = reader.ReadInt16(); MovingShape = reader.ReadInt16(); TeleportInShape = reader.ReadInt16(); TeleportOutShape = reader.ReadInt16(); AttackFrequency = reader.ReadInt16(); MeleeAttack.Load(reader); RangedAttack.Load(reader); }