private void ReadParticlePoints(BinaryReader Reader)
        {
            int ParticleCount = Reader.ReadInt32();

            for (int i = 0; i < ParticleCount; i++)
            {
                DrawShipParticlePoint s = new DrawShipParticlePoint();

                s.Position       = Vector3.Transform(SaveHelper.ReadVector3() * 100, ModelTransformMatrix);
                s.Layer          = Reader.ReadInt32();
                s.CinematicDelay = Reader.ReadInt32();
                s.GameDelay      = Reader.ReadInt32();
                s.ParticleType   = Reader.ReadInt32();
                s.MaxVelocity    = Vector3.Transform(SaveHelper.ReadVector3() * 100, ModelTransformMatrix);
                s.MinVelocity    = Vector3.Transform(SaveHelper.ReadVector3() * 100, ModelTransformMatrix);
                s.MinColor       = SaveHelper.ReadVector4();
                s.MaxColor       = SaveHelper.ReadVector4();
                s.MinSize        = Reader.ReadSingle() / ShipScale * 100;
                s.MaxSize        = Reader.ReadSingle() / ShipScale * 100;
                s.CinematicOnly  = Reader.ReadBoolean();

                if (!ParticlePoints.ContainsKey(s.Layer))
                {
                    ParticlePoints.Add(s.Layer, new LinkedList <DrawShipParticlePoint>());
                }

                ParticlePoints[s.Layer].AddLast(s);
            }
        }
        private void ReadShipViewer(BinaryReader Reader)
        {
            string ShipString = Reader.ReadString();

            ShipModel            = AssetManager.Load <Model>(ShipString);
            ModelTransformMatrix = Matrix.CreateScale(1 / ShipScale) * Matrix.CreateRotationY(ModelRotation);

            ShipEffect                = AssetManager.LoadEffect(Reader.ReadString());
            WorldParam                = ShipEffect.Parameters["World"];
            ViewParam                 = ShipEffect.Parameters["View"];
            ProjectionParam           = ShipEffect.Parameters["Projection"];
            ViewPosParam              = ShipEffect.Parameters["CameraPosition"];
            ForwardInstancedTechnique = ShipEffect.Techniques["ForwardInstancedTechnique"];
            ForwardTechnique          = ShipEffect.Techniques["ForwardTechnique"];
            ColorParameter            = ShipEffect.Parameters["DrawColor"];

            ShipTexture = AssetManager.Load <Texture2D>(Reader.ReadString());

            DrawColor        = SaveHelper.ReadVector4();
            SpecularColor    = SaveHelper.ReadVector4();
            SpecularExponent = Reader.ReadSingle();
        }
Exemple #3
0
 public static void DummyRead(BinaryReader Reader)
 {
     SaveHelper.ReadVector4();
 }
Exemple #4
0
 public override void Read(BinaryReader Reader)
 {
     set(SaveHelper.ReadVector4());
     base.Read(Reader);
 }