示例#1
0
        public static ObjectData Read(BinaryReader reader)
        {
            uint i1 = reader.ReadUInt32();             //As float
            uint i2 = reader.ReadUInt32();             //As float

            uint i3 = reader.ReadUInt32();
            uint i4 = reader.ReadUInt32();
            uint i5 = reader.ReadUInt32();
            uint i6 = reader.ReadUInt32();

            string s1 = reader.ReadTString();

            int i7 = reader.ReadInt32();

            if (i7 > 0)             //Load some kind of array
            {
                uint[] ar1 = new uint[i7];

                for (int x = 0; x < i7; x++)
                {
                    ar1[x] = reader.ReadUInt32();
                }
            }

            uint i8 = reader.ReadUInt32();

            if (i8 > 0)             //Load some kind of array
            {
                uint[] ar2 = new uint[i8];

                for (int x = 0; x < i8; x++)
                {
                    ar2[x] = reader.ReadUInt32();
                }
            }

            //Num tiles?
            uint numTiles = reader.ReadUInt32();

            TileData[] tiles = new TileData[numTiles];
            for (uint tx = 0; tx < numTiles; tx++)
            {
                tiles[tx] = TileData.Read(reader);
            }

            uint i9 = reader.ReadUInt32();             //Function num?

            if (i9 > 0)
            {
                //0x004375A6
                for (int fx = 0; fx < i9; fx++)
                {
                    GameFunction func = GameFunction.ReadFunction(reader);
                }
            }

            return(null);
        }
示例#2
0
        public static TileDataWrapper Read(BinaryReader reader)
        {
            uint magicHeader = reader.ReadUInt32();

            if (magicHeader != 0x01)
            {
                throw new Exception("Unexpected tile header!");
            }

            TileDataWrapper wrapper = new TileDataWrapper();

            wrapper.Tile = TileData.Read(reader);

            return(wrapper);
        }
示例#3
0
        public TileData ReadTileData(IEXEntry entry)
        {
            JumpToEntry(entry);

            uint magicNumber = _reader.ReadUInt32();             //Tile count?

            if (magicNumber != 0x01)
            {
                throw new Exception("Unexpected tile count");;
            }

            TileData tile = TileData.Read(_reader);

            CheckFilePosition(entry);

            return(tile);
        }