# -*- coding: utf-8 -*- # script that takes a AND mask and a XOR sprite # and inerleaves their data # in order to be used by a and/xor largesprite routine a=""" db %11111111,%11111111,%11110000,%11111111,%11111111,%11111111 db %11111111,%11111111,%11100000,%11111111,%11111111,%11111111 db %11111111,%11111111,%11100000,%01111111,%11111111,%11111111 db %11111111,%11111111,%11100000,%01111111,%11111111,%11111111 db %11111111,%11111111,%11100000,%01111111,%11111111,%11111111 db %11111111,%11111111,%11100000,%01111111,%11111111,%11111111 db %11111111,%11111111,%11100000,%00111111,%11111111,%11111111 db %11111111,%11111111,%11100000,%00111111,%11111111,%11111111 db %11111111,%11111111,%11100000,%00111111,%11111111,%11111111 db %11111111,%11111111,%11100000,%00001111,%11111111,%11111111 db %11111111,%11111111,%11100000,%00001111,%11111111,%11111111 db %11111111,%11111111,%11100000,%00000111,%11111111,%11111111 db %11111111,%11111111,%11100000,%00000000,%01111111,%11111111 db %11111111,%11111111,%11100000,%00000000,%00111111,%11111111 db %11111111,%11111111,%11100000,%00000000,%00011111,%11111111 db %11111111,%11111111,%11100000,%00000000,%00001111,%11111111 db %11111111,%11111111,%11100000,%00000000,%00000111,%11111111 db %11111111,%11111111,%11100000,%00000000,%00000111,%11111111 db %11111111,%11111111,%11100000,%00000000,%00000011,%11111111 db %11111111,%11111100,%00000000,%00000000,%00000001,%11111111 db %11111111,%11100000,%00000000,%00000000,%00000000,%11111111 db %11111111,%10000000,%00000000,%00000000,%00000000,%01111111 db %11111111,%10000000,%00000000,%00000000,%00000000,%00111111 db %11111111,%10000000,%00000000,%00000000,%00000000,%00111111 db %11111111,%00000000,%00000000,%00000000,%00000000,%00111111 db %11111111,%00000000,%00000000,%00000000,%00000000,%00111111 db %11111111,%00000000,%00000000,%00000000,%00000000,%00111111 db %11111111,%00000000,%00000000,%00000000,%00000000,%01111111 db %11111111,%00000000,%00000000,%00000000,%00000000,%01111111 db %11111111,%00000000,%00000000,%00000000,%00000000,%01111111 db %11111111,%00000000,%00000000,%00000000,%00000000,%11111111 db %11111110,%00000000,%00000000,%00000000,%00000000,%11111111 db %11111100,%00000000,%00000000,%00000000,%00000001,%11111111 db %11111100,%00000000,%00000000,%00000000,%00000001,%11111111 db %11111000,%00000000,%00000000,%00000000,%00000111,%11111111 db %11111000,%00000000,%00000000,%00000000,%00000111,%11111111 db %11110000,%00000000,%00000000,%00000000,%00000011,%11111111 db %11110000,%00000000,%00000000,%00000000,%00000001,%11111111 db %11100000,%00000000,%00000000,%00000000,%00000001,%11111111 db %11000000,%00000000,%00000000,%00000000,%00000001,%11111111 db %10000000,%00000000,%00000000,%00000000,%00000000,%11111111 db %00000000,%00000000,%00000000,%00000000,%00000000,%11111111""" b=""" db %00000000,%00000000,%00001111,%00000000,%00000000,%00000000 db %00000000,%00000000,%00011111,%00000000,%00000000,%00000000 db %00000000,%00000000,%00011111,%10000000,%00000000,%00000000 db %00000000,%00000000,%00011111,%10000000,%00000000,%00000000 db %00000000,%00000000,%00011111,%10000000,%00000000,%00000000 db %00000000,%00000000,%00011111,%10000000,%00000000,%00000000 db %00000000,%00000000,%00011111,%11000000,%00000000,%00000000 db %00000000,%00000000,%00011111,%11000000,%00000000,%00000000 db %00000000,%00000000,%00011111,%11000000,%00000000,%00000000 db %00000000,%00000000,%00011111,%11110000,%00000000,%00000000 db %00000000,%00000000,%00011111,%10010000,%00000000,%00000000 db %00000000,%00000000,%00011111,%10101000,%00000000,%00000000 db %00000000,%00000000,%00011111,%00111011,%10000000,%00000000 db %00000000,%00000000,%00011111,%01110100,%11000000,%00000000 db %00000000,%00000000,%00011111,%01110111,%10100000,%00000000 db %00000000,%00000000,%00011111,%01110111,%10110000,%00000000 db %00000000,%00000000,%00011111,%01110111,%11111000,%00000000 db %00000000,%00000000,%00011111,%01011111,%10111000,%00000000 db %00000000,%00000000,%00011111,%00011011,%11111100,%00000000 db %00000000,%00000011,%11111111,%00011011,%11101110,%00000000 db %00000000,%00011111,%10111111,%10111011,%11111011,%00000000 db %00000000,%01111011,%11111111,%10111011,%11111111,%10000000 db %00000000,%01100011,%11111111,%10001100,%11111111,%11000000 db %00000000,%01110001,%11111111,%10001111,%01111111,%11000000 db %00000000,%11111111,%11111111,%11111111,%10111111,%11000000 db %00000000,%11111111,%11111111,%11101111,%11111111,%11000000 db %00000000,%11111111,%11111111,%11110011,%11111111,%11000000 db %00000000,%11111111,%11111110,%01110111,%11111111,%10000000 db %00000000,%10101111,%11111100,%01111011,%11111111,%10000000 db %00000000,%11111111,%11111100,%01111011,%11111111,%10000000 db %00000000,%11101111,%11111100,%01110101,%11111111,%00000000 db %00000001,%11111001,%11111111,%11110110,%11111111,%00000000 db %00000011,%10111111,%11111011,%11110111,%00111110,%00000000 db %00000011,%11101111,%11111011,%11110111,%10111110,%00000000 db %00000100,%00011111,%11111011,%11111111,%00101000,%00000000 db %00000100,%00000011,%11111111,%11011011,%01111000,%00000000 db %00001000,%00000001,%11111111,%11111111,%11110100,%00000000 db %00001000,%00000000,%11111111,%11111111,%11010010,%00000000 db %00010000,%00000000,%01111111,%11111111,%11011010,%00000000 db %00100000,%00000000,%00111111,%11111111,%11111010,%00000000 db %01000000,%00000000,%00111111,%11111111,%11101101,%00000000 db %11000000,%00000000,%00111111,%11111111,%11111101,%00000000""" def spritetolist(sprite): s2=sprite.replace('\n',',').split(',') return [ s.replace('db','').strip() for s in s2] def mergesprites(s1,s2): # in : s1 and s2 : list of strings # out : list of strings = [s1[0],s2[0],s1[1],s2[1] ... ] assert(len(s1)==len(s2)) result = [] for i in range(len(s1)): result.append(s1[i]) result.append(s2[i]) return result def listtosprite(li): assert(divmod(len(li),2)[1]==0) result = '' for i in range(len(li)/2): print ' db ' + li[i*2] + ',' + li[i*2+1] listtosprite(mergesprites(spritetolist(a),spritetolist(b)))