public TileMask(TileSP SP, Tile Tile, Zoom Zoom, bool FlipX, bool FlipY) { this.SP = SP; XDisp = 0; YDisp = 0; zoom = Zoom; flipX = FlipX; flipY = FlipY; tile = Tile; palette = ColorPalette.SelectedPalette; ColorPalette.SelectedGlobalPaletteChange += colorPalette_SelectedGlobalPaletteChange; }
public TileMask ToTileMask(Tile[,] t16SP12, Tile[,] t16SP34, Tile[,] t8SP12, Tile[,] t8SP34) { Tile[,] t; if (SP == 0) { if (Size == 16) { t = t16SP12; } else { t = t8SP12; } } else { if (Size == 16) { t = t16SP34; } else { t = t8SP34; } } int i = 0; if (Tile[1] >= 'A') { i = 10 + Tile[1] - 'A'; } else { i = Tile[1] - '0'; } int j = 0; if (Tile[2] >= 'A') { j = 10 + Tile[2] - 'A'; } else { j = Tile[2] - '0'; } TileSP sp = TileSP.SP01; if (SP > 0) { sp = TileSP.SP23; } TileMask tm = new TileMask(sp, t[j, i], 2, FlipX, FlipY); sbyte b = Convert.ToSByte(XDisp.Substring(1), 16); tm.XDisp = b + 128; tm.XDisp *= 2; b = Convert.ToSByte(YDisp.Substring(1), 16); tm.YDisp = b + 112; tm.YDisp *= 2; tm.Palette = (PaletteId)PalId; tm.Priority = (TilePriority)Priority; return(tm); }