示例#1
0
	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
示例#2
0
	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
示例#3
0
	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