public static int Remove_NotUsedColors(ref NCLR.NTFP palette, ref byte[][] tiles) { int num2; int num = -1; List <bool> list = new List <bool>(); for (num2 = 0; num2 < palette.colors.Length; num2++) { list.Add(false); } for (num2 = 0; num2 < tiles.Length; num2++) { for (int i = 0; i < tiles[num2].Length; i++) { list[tiles[num2][i]] = true; } } for (num2 = 0; num2 < list.Count; num2++) { if (!list[num2]) { num = num2; } } return(num); }
public static int Remove_DuplicatedColors(ref NCLR.NTFP palette, ref byte[][] tiles) { List <Color> list = new List <Color>(); int num = -1; for (int i = 0; i < palette.colors.Length; i++) { if (!list.Contains(palette.colors[i])) { list.Add(palette.colors[i]); } else { int index = list.IndexOf(palette.colors[i]); Replace_Color(ref tiles, i, index); list.Add(Color.FromArgb(0xf8, 0, 0xf8)); if (num == -1) { num = i; } } } palette.colors = list.ToArray(); return(num); }