示例#1
0
        public void Read(Reader reader)
        {
            X.Low  = reader.ReadUInt16();
            X.High = reader.ReadInt16();

            Y.Low  = reader.ReadUInt16();
            Y.High = reader.ReadInt16();
        }
示例#2
0
        internal void Read(Reader reader)
        {
            X.Low  = reader.ReadUInt16();
            X.High = reader.ReadInt16();

            Y.Low  = reader.ReadUInt16();
            Y.High = reader.ReadInt16();
        }
示例#3
0
        public Model(Reader reader)
        {
            if (!reader.ReadBytes(4).SequenceEqual(MAGIC))
            {
                throw new Exception("Invalid config file header magic");
            }

            for (int a = 0; a < 256; a++)
            {
                MySin[a] = -Math.Sin(a * Math.PI / 128);
                MyCos[a] = Math.Cos(a * Math.PI / 128);
            }

            TexturePosCount = reader.ReadUInt16();

            for (int i = 0; i < TexturePosCount; i++)
            {
                TexturePositions.Add(new TexturePosition(reader));
            }

            FaceCount = reader.ReadInt16();
            for (int i = 0; i < FaceCount; ++i)
            {
                //Faces.Add(reader.ReadInt16());
                Faces.Add(new Face(reader));
            }

            VertexCount = reader.ReadUInt16();

            //FIX THIS
            //if (VertexCount == 1)
            //{
            int newcnt = (int)((reader.BaseStream.Length - reader.BaseStream.Position) / 4) / 6;

            for (int i = 0; i < newcnt; i++)
            {
                Vertices.Add(new Vertex(reader));
            }
            WeirdOne = true;

            /*}
             * else
             * {
             *  for (int i = 0; i < VertexCount; i++)
             *  {
             *      Vertices.Add(new Vertex(reader));
             *  }
             * }*/

            //Console.WriteLine("File Size: " + reader.BaseStream.Length + " Reader Pos: " + reader.BaseStream.Position + " Data Left: " + (reader.BaseStream.Length - reader.BaseStream.Position));
        }
示例#4
0
        public Animation(Reader reader)
        {
            int spriteSheetCount = reader.ReadByte();

            for (int i = 0; i < spriteSheetCount; ++i)
            {
                SpriteSheets.Add(reader.ReadString());
            }

            var animationCount = reader.ReadInt16();

            for (int i = 0; i < animationCount; ++i)
            {
                Animations.Add(new sprAnimation(reader));
            }

            int collisionBoxCount = reader.ReadByte();

            for (int i = 0; i < collisionBoxCount; ++i)
            {
                CollisionBoxes.Add(new sprHitbox(reader));
            }
            reader.Close();
        }
示例#5
0
 public Face(Reader reader)
 {
     X = reader.ReadInt16();
     Y = reader.ReadInt16();
     Z = reader.ReadInt16();
 }