Esempio n. 1
0
        //========= CONSTRUCTORS =========
        #region Constructors

        /** <summary> Constructs the default attraction car header. </summary> */
        public CarHeader()
        {
            this.LastRotationFrame = 0;
            this.Reserved0x01      = new byte[3];

            this.Unknown0x04 = 0;

            this.CarSpacing    = 0;
            this.Reserved0x07  = 0;
            this.CarFriction   = 0;
            this.CarTabHeight  = 0;
            this.RiderSettings = 0;
            this.SpriteFlags   = CarSpriteFlags.None;

            this.Unknown0x0E = new byte[3];
            for (int i = 0; i < this.Unknown0x0E.Length; i++)
            {
                this.Unknown0x0E[i] = 0;
            }

            this.Flags = CarFlags.None;

            this.Reserved0x16 = new byte[59];
            for (int i = 0; i < this.Reserved0x16.Length; i++)
            {
                this.Reserved0x16[i] = 0;
            }

            this.RiderSprites     = 0;
            this.SpinningInertia  = 0;
            this.SpinningFriction = 0;

            this.Unknown0x57 = new byte[4];
            for (int i = 0; i < this.Unknown0x57.Length; i++)
            {
                this.Unknown0x57[i] = 0;
            }

            this.PoweredAcceleration = 0;
            this.PoweredMaxSpeed     = 0;
            this.CarVisual           = CarVisuals.Default;
            this.UnknownSetting      = CarUnknownSettings.Default;
            this.DrawOrder           = 0;
            this.SpecialFrames       = 0;
            this.Reserved0x61        = 0;
        }
        //========= 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();
        }
Esempio n. 4
0
        //=========== READING ============
        #region Reading

        /** <summary> Reads the object header. </summary> */
        public void Read(BinaryReader reader)
        {
            this.LastRotationFrame = reader.ReadByte();

            reader.Read(this.Reserved0x01, 0, this.Reserved0x01.Length);

            this.Unknown0x04 = reader.ReadByte();

            this.CarSpacing    = reader.ReadUInt16();
            this.Reserved0x07  = reader.ReadByte();
            this.CarFriction   = reader.ReadUInt16();
            this.CarTabHeight  = reader.ReadByte();
            this.RiderSettings = reader.ReadByte();
            this.SpriteFlags   = (CarSpriteFlags)reader.ReadUInt16();

            reader.Read(this.Unknown0x0E, 0, this.Unknown0x0E.Length);

            this.Flags = (CarFlags)reader.ReadUInt64();

            reader.Read(this.Reserved0x16, 0, this.Reserved0x16.Length);

            this.RiderSprites     = reader.ReadByte();
            this.SpinningInertia  = reader.ReadByte();
            this.SpinningFriction = reader.ReadByte();

            reader.Read(this.Unknown0x57, 0, this.Unknown0x57.Length);

            this.PoweredAcceleration = reader.ReadByte();
            this.PoweredMaxSpeed     = reader.ReadByte();
            this.CarVisual           = (CarVisuals)reader.ReadByte();
            this.UnknownSetting      = (CarUnknownSettings)reader.ReadByte();
            this.DrawOrder           = reader.ReadByte();
            this.SpecialFrames       = reader.ReadByte();

            this.Reserved0x61 = reader.ReadUInt32();
        }