Example #1
0
        private SpriteFile CreateSpriteFile(string filepath)
        {
            if (filepath == null)
            {
                throw new ArgumentNullException(nameof(filepath));
            }

            var file = GetSubSystem <IO.FileSystem>().OpenFile(filepath);

            var header = new IO.FileHeaders.SpriteFileHeader(file);

            var datalist = new List <SpriteFileData>(header.NumberOfImages);

            var subheaderOffset = header.SubheaderOffset;

            for (file.SeekFromBeginning(subheaderOffset); file.ReadPosition != file.FileLength; file.SeekFromBeginning(subheaderOffset))
            {
                var subheader = new IO.FileHeaders.SpriteFileSubHeader(file);

                var data = new SpriteFileData((int)file.ReadPosition + 13, subheader.ImageSize, subheader.Axis, subheader.Id, subheader.SharedIndex, subheader.CopyLastPalette);
                datalist.Add(data);

                subheaderOffset = subheader.NextOffset;
            }

            return(new SpriteFile(this, file, header.Version, datalist, header.SharedPalette));
        }
Example #2
0
		SpriteFile CreateSpriteFile(String filepath)
		{
			if (filepath == null) throw new ArgumentNullException("filepath");

			IO.File file = GetSubSystem<IO.FileSystem>().OpenFile(filepath);

			IO.FileHeaders.SpriteFileHeader header = new IO.FileHeaders.SpriteFileHeader(file);

			List<SpriteFileData> datalist = new List<SpriteFileData>(header.NumberOfImages);

			Int32 subheader_offset = header.SubheaderOffset;
			for (file.SeekFromBeginning(subheader_offset); file.ReadPosition != file.FileLength; file.SeekFromBeginning(subheader_offset))
			{
				IO.FileHeaders.SpriteFileSubHeader subheader = new IO.FileHeaders.SpriteFileSubHeader(file);

				SpriteFileData data = new SpriteFileData((Int32)file.ReadPosition + 13, subheader.ImageSize, subheader.Axis, subheader.Id, subheader.SharedIndex, subheader.CopyLastPalette);
				datalist.Add(data);

				subheader_offset = subheader.NextOffset;
			}

			return new SpriteFile(this, file, header.Version, datalist, header.SharedPalette);
		}