def prepareTile(bytes1, bytes2, palette): pixels, x = [0] * 64, 56 for i in helper.range(8): p = x byte1, byte2 = ord(bytes1[i]), ord(bytes2[i]) black, gray = splitBits(byte1 & byte2), splitBits(byte1 ^ byte2) for pixel in helper.range(8): pixels[p] = palette[gray[pixel] << 1 | black[pixel]] p -= 8 #endfor x += 1 #endfor return pixels
def prepareSprite(bytes, palette): pixels = [0] * 256 for q in helper.range(4): x = [112, 240, 120, 248][q] base = [0, 8, 32, 40][q] for i in helper.range(base, base + 8): p = x mask, draw = splitBits(ord(bytes[i])), splitBits(ord(bytes[i + 16])) for pixel in helper.range(8): pixels[p] = palette[mask[pixel] << 1 | draw[pixel]] p -= 16 #endfor x += 1 #endfor #endfor return pixels
def prepareSprite(bytes1, bytes2, palette): pixels = [0] * 256 for q in helper.range(4): x = [112, 240, 120, 248][q] base = [0, 8, 32, 40][q] for i in helper.range(base, base + 8): p = x # If one mask is opaque and one is transparent, prefer opaque.. mask = splitBits(ord(bytes1[i]) & ord(bytes2[i])) i = i + 16 byte1, byte2 = ord(bytes1[i]), ord(bytes2[i]) black, gray = splitBits(byte1 & byte2), splitBits(byte1 ^ byte2) for pixel in helper.range(8): if gray[pixel] and not mask[pixel]: pixels[p] = palette[4] else: pixels[p] = palette[mask[pixel] << 1 | black[pixel]] p -= 16 #endfor x += 1 #endfor #endfor return pixels