//========= CONSTRUCTORS ========= #region Constructors /**<summary>Constructs the default attraction car header.</summary>*/ public CarHeader() { LastRotationFrame = 0; NumVerticalFramesUnused = 0; NumHorizontalFramesUnused = 0; Spacing = 0; CarFriction = 0; CarTabHeight = 0; RiderSettings = 0; SpriteFlags = CarSpriteFlags.None; SpriteWidth = 0; SpriteHeightPositive = 0; SpriteHeightNegative = 0; Animation = 0; Flags = CarFlags.None; BaseNumFrames = 0; Reserved0x18 = new byte[60]; for (int i = 0; i < Reserved0x18.Length; i++) { Reserved0x18[i] = 0; } RiderSprites = 0; SpinningInertia = 0; SpinningFriction = 0; FrictionSoundID = 0; Unknown0x58 = 0; SoundRange = 0; Unknown0x5A = 0; PoweredAcceleration = 0; PoweredMaxSpeed = 0; CarVisual = CarVisuals.Default; EffectVisual = CarEffectVisuals.Default; DrawOrder = 0; SpecialFrames = 0; Reserved0x61 = 0; }
//=========== READING ============ #region Reading /**<summary>Reads the object header.</summary>*/ public void Read(BinaryReader reader) { LastRotationFrame = reader.ReadUInt16(); NumVerticalFramesUnused = reader.ReadByte(); NumHorizontalFramesUnused = reader.ReadByte(); Spacing = reader.ReadUInt32(); CarFriction = reader.ReadUInt16(); CarTabHeight = reader.ReadSByte(); RiderSettings = reader.ReadByte(); SpriteFlags = (CarSpriteFlags)reader.ReadUInt16(); SpriteWidth = reader.ReadByte(); SpriteHeightPositive = reader.ReadByte(); SpriteHeightNegative = reader.ReadByte(); Animation = reader.ReadByte(); Flags = (CarFlags)reader.ReadUInt32(); BaseNumFrames = reader.ReadUInt16(); reader.Read(Reserved0x18, 0, Reserved0x18.Length); RiderSprites = reader.ReadByte(); SpinningInertia = reader.ReadByte(); SpinningFriction = reader.ReadByte(); FrictionSoundID = reader.ReadByte(); Unknown0x58 = reader.ReadByte(); SoundRange = reader.ReadByte(); Unknown0x5A = reader.ReadByte(); PoweredAcceleration = reader.ReadByte(); PoweredMaxSpeed = reader.ReadByte(); CarVisual = (CarVisuals)reader.ReadByte(); EffectVisual = (CarEffectVisuals)reader.ReadByte(); DrawOrder = reader.ReadByte(); SpecialFrames = reader.ReadByte(); Reserved0x61 = reader.ReadUInt32(); }