Пример #1
0
        public Q3BspLightmaps(BinaryReader reader, Q3BspDirEntry dirEntry)
        {
            reader.BaseStream.Seek(Convert.ToInt64(dirEntry.offset), SeekOrigin.Begin);

            int cSize = dirEntry.length / Q3BspLightmap.GetSize();

            lightmaps = new Q3BspLightmap[cSize];

            for (int i = 0; i < cSize; i++)
            {
                lightmaps[i] = new Q3BspLightmap(reader);
            }
        }
Пример #2
0
        public Q3BspFaces(BinaryReader reader, Q3BspDirEntry dirEntry)
        {
            reader.BaseStream.Seek(Convert.ToInt64(dirEntry.offset), SeekOrigin.Begin);

            int cSize = dirEntry.length / Q3BspFace.GetSize();

            faces = new Q3BspFace[cSize];

            for (int i = 0; i < cSize; i++)
            {
                faces[i] = new Q3BspFace(reader);
            }
        }
Пример #3
0
        public Q3BspMeshVerts(BinaryReader reader, Q3BspDirEntry dirEntry)
        {
            reader.BaseStream.Seek(Convert.ToInt64(dirEntry.offset), SeekOrigin.Begin);

            int cSize = dirEntry.length / 4;

            offsets = new int[cSize];

            for (int i = 0; i < cSize; i++)
            {
                offsets[i] = reader.ReadInt32();
            }
        }
Пример #4
0
        public Q3BspTextures(BinaryReader reader, Q3BspDirEntry dirEntry, string textureDir)
        {
            reader.BaseStream.Seek(Convert.ToInt64(dirEntry.offset), SeekOrigin.Begin);

            int cSize = dirEntry.length / Q3BspTexture.GetSize();

            textures = new Q3BspTexture[cSize];

            for (int i = 0; i < cSize; i++)
            {
                textures[i] = new Q3BspTexture(reader, textureDir);
            }
        }
Пример #5
0
        public Q3BspHeader(BinaryReader reader)
        {
            magic   = reader.ReadChars(4);
            version = reader.ReadInt32();

            if (version != 0x2e)
            {
                throw(new System.Exception("Not a valid Quake3 Map!"));
            }

            for (int i = 0; i < dirEntries.Length; i++)
            {
                dirEntries[i] = new Q3BspDirEntry(reader);
            }
        }
Пример #6
0
        public Q3BspEntities(BinaryReader reader, Q3BspDirEntry dirEntry)
        {
            reader.BaseStream.Seek(Convert.ToInt64(dirEntry.offset), SeekOrigin.Begin);

            entities = reader.ReadChars(dirEntry.length);
        }