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