Esempio n. 1
0
        public SPR(Stream stream, bool IsLittleEndian)
        {
            try
            {
                BinaryReader reader;

                if (IsLittleEndian)
                {
                    reader = new BinaryReader(stream);
                }
                else
                {
                    reader = new BinaryReaderBE(stream);
                }

                Header = new SPRHeader(reader);
                for (int i = 0; i < Header.TextureCount; i++)
                {
                    reader.ReadUInt32();
                    TextureOffsetList.Add(reader.ReadInt32());
                }
                for (int i = 0; i < Header.KeyFrameCount; i++)
                {
                    reader.ReadUInt32();
                    KeyOffsetList.Add(reader.ReadInt32());
                }
                KeyList  = new SPRKeyList(reader, Header.KeyFrameCount);
                Textures = new SPRTextures(reader, TextureOffsetList);
            }
            catch (Exception e)
            {
                Logging.Write("L", e);
            }
        }
Esempio n. 2
0
        private void Open(BinaryReader reader)
        {
            Header = new SPRHeader(reader);
            for (int i = 0; i < Header.TextureCount; i++)
            {
                reader.ReadUInt32();
                TextureOffsetList.Add(reader.ReadInt32());
            }
            for (int i = 0; i < Header.KeyFrameCount; i++)
            {
                reader.ReadUInt32();
                KeyOffsetList.Add(reader.ReadInt32());
            }
            KeyList = new SPRKeyList(reader, Header.KeyFrameCount);

            foreach (var a in TextureOffsetList)
            {
                var tmx = new Graphic.TMX(reader.BaseStream, a);
                SubFiles.Add(new ObjectFile(tmx.Name, tmx));
            }
        }