private void ApplyLevelSpritePatterns(ChrBankBuilder builder, LevelIndex levelIndex, bool justinBailey) { ApplyPatternsToBank(builder, ExpandoPatternOffsets.GlobalGameplaySprites); ApplyPatternsToBank(builder, ExpandoPatternOffsets.DigitSprites); if (justinBailey) { ApplyPatternsToBank(builder, ExpandoPatternOffsets.JustinBaileySprites); } ApplyPatternsToBank(builder, ExpandoPatternOffsets.GetSpriteEntry(levelIndex)); }
private void ApplyLevelPatterns(ChrBankBuilder builder, LevelIndex level) { // Level sprites ApplyLevelSpritePatterns(builder, level, false); builder.NextBank(); // Level sprites (Justin Bailey) ApplyLevelSpritePatterns(builder, level, true); builder.NextBank(); // Level BG (copied four times) for (int i = 0; i < 4; i++) { ApplyPatternsToBank(builder, ExpandoPatternOffsets.GetBackgroundEntry(level)); builder.NextBank(); } }
private void PerformTileCopy() { ChrBankBuilder builder = new ChrBankBuilder(enhancedRomData); builder.SetOffset(0x40010); // skipping title banks for now builder.NextBank(); builder.NextBank(); ApplyLevelPatterns(builder, LevelIndex.Brinstar); ApplyLevelPatterns(builder, LevelIndex.Norfair); ApplyLevelPatterns(builder, LevelIndex.Tourian); ApplyLevelPatterns(builder, LevelIndex.Kraid); ApplyLevelPatterns(builder, LevelIndex.Ridley); CreateTitleAndEndingCompositeBanks(); }
private void ApplyPatternsToBank(ChrBankBuilder builder, ExpandoPatternOffsets.Entry entry) { builder.CopyTiles(entry.RomOffset, entry.DestTileindex, entry.TileCount); }