Exemplo n.º 1
0
        public override ChrDump GetRawPatterns()
        {
            // Non-Justin-Bailey graphics (load BG and sprites)
            LoadRawChr_Standard();
            // 4 KB CHR banks
            var sprBlob = ExtractChr(0x0000, 0x1000);
            var bgBlob  = ExtractChr(0x1000, 0x1000);

            // Justin-Bailey graphics (load 1/2 page of sprites)
            LoadRawChr_JustinBailey();
            var sprAltBlob = ExtractChr(0x0000, 0x800); // 1/2 page

            byte[][] blobs  = new byte[][] { bgBlob, sprBlob, sprAltBlob };
            var      bgMeta = new FrameSectionID[] { new FrameSectionID(0) };

            return(new ChrDump(blobs, bgMeta, 1, 2, null));
        }
Exemplo n.º 2
0
        public override ChrDump GetRawPatterns()
        {
            ExpandoPatternOffsets.Entry bgChrOffsets;
            ExpandoPatternOffsets.Entry areaSprChrOffsets;
            ExpandoPatternOffsets.Entry globalSprOffsets    = ExpandoPatternOffsets.GlobalGameplaySprites;
            ExpandoPatternOffsets.Entry justinBaileyOffsets = ExpandoPatternOffsets.JustinBaileySprites;


            if (LevelId == LevelIndex.None)
            {
                bgChrOffsets      = ExpandoPatternOffsets.TitleBgGraphics;
                areaSprChrOffsets = ExpandoPatternOffsets.TitleSpriteGraphics;
            }
            else
            {
                bgChrOffsets      = ExpandoPatternOffsets.GetBackgroundEntry(LevelId);
                areaSprChrOffsets = ExpandoPatternOffsets.GetSpriteEntry(LevelId);
            }

            LoadTileset(bgChrOffsets);
            LoadTileset(globalSprOffsets);
            LoadTileset(areaSprChrOffsets);
            var sprChr = ExtractChr(0x0000, 0x1000);
            var bgChr  = ExtractChr(0x1000, 0x1000);

            LoadTileset(justinBaileyOffsets);
            var altSprChr = ExtractChr(0x0000, 0x800);

            if (LevelId == LevelIndex.None)
            {
                byte[][] blobs  = new byte[][] { bgChr, sprChr };
                var      bgMeta = new FrameSectionID[] { new FrameSectionID(0) };
                return(new ChrDump(blobs, bgMeta, 1, null, null));
            }
            else
            {
                byte[][] blobs  = new byte[][] { bgChr, sprChr, altSprChr };
                var      bgMeta = new FrameSectionID[] { new FrameSectionID(0) };
                return(new ChrDump(blobs, bgMeta, 1, 2, null));
            }
        }