コード例 #1
0
        private Tileset GetTileset(int tilesetIndex)
        {
            int tilesetOffset = Sar.GetOffset(tilesetIndex);
            int tileCount     = Sar.GetSize(tilesetIndex) / 32;

            return(GbaReader.ReadTileset(tilesetOffset, tileCount, 4));
        }
コード例 #2
0
        private Palette GetPalette(int paletteIndex, bool padWithTransparent)
        {
            int paletteOffset   = Sar.GetOffset(paletteIndex);
            int subPaletteCount = Sar.GetSize(paletteIndex) / 32;
            var palette         = GbaReader.ReadPalette(paletteOffset, subPaletteCount, 16);

            if (padWithTransparent)
            {
                var newPalette = new Palette(16, palette.ColorsPerSubPalette);
                for (int i = 0; i < palette.SubPaletteCount * palette.ColorsPerSubPalette; i++)
                {
                    newPalette[i] = palette[i];
                }
                palette = newPalette;
            }

            return(palette);
        }
コード例 #3
0
        public Mother3Reader(GbaReader reader)
        {
            reader.ThrowIfNull(nameof(reader));

            Reader = reader;
        }