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); } }
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)); } }