From 238f40602479c43954916a967523d0a873cdd92b Mon Sep 17 00:00:00 2001 From: yenatch Date: Sun, 13 Jan 2013 00:38:48 -0500 Subject: implement rgb macro for palettes --- extras/gfx.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'extras/gfx.py') diff --git a/extras/gfx.py b/extras/gfx.py index f36b944d7..11e6860f1 100644 --- a/extras/gfx.py +++ b/extras/gfx.py @@ -1283,6 +1283,28 @@ def get_uncompressed_gfx(start, num_tiles, filename): +def hex_to_rgb(word): + red = word & 0b11111 + word >>= 5 + green = word & 0b11111 + word >>= 5 + blue = word & 0b11111 + return (red, green, blue) + +def grab_palettes(address, length = 0x80): + output = '' + for word in range(length/2): + color = ord(rom[address+1])*0x100 + ord(rom[address]) + address += 2 + color = hex_to_rgb(color) + red = str(color[0]).zfill(2) + green = str(color[1]).zfill(2) + blue = str(color[2]).zfill(2) + output += '\tRGB '+red+', '+green+', '+blue + output += '\n' + return output + + if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument('cmd', nargs='?', metavar='cmd', type=str) @@ -1317,6 +1339,10 @@ if __name__ == "__main__": # python gfx.py un [address] [num_tiles] [filename] get_uncompressed_gfx(int(args.arg1,16), int(args.arg2), args.arg3) + elif args.cmd == 'pal': + # python gfx.py pal [address] [length] + print grab_palettes(int(args.arg1,16), int(args.arg2)) + else: # python gfx.py decompress_all() -- cgit v1.2.3 From 9fbe7ea42390e7a0d6a1288f076d7951ce66b5eb Mon Sep 17 00:00:00 2001 From: yenatch Date: Sun, 13 Jan 2013 00:40:13 -0500 Subject: make careless use of gfx.py less fatal --- extras/gfx.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'extras/gfx.py') diff --git a/extras/gfx.py b/extras/gfx.py index 11e6860f1..70c657c15 100644 --- a/extras/gfx.py +++ b/extras/gfx.py @@ -1343,7 +1343,7 @@ if __name__ == "__main__": # python gfx.py pal [address] [length] print grab_palettes(int(args.arg1,16), int(args.arg2)) - else: - # python gfx.py - decompress_all() - if debug: print 'decompressed known gfx to ../gfx/!' + #else: + ## python gfx.py + #decompress_all() + #if debug: print 'decompressed known gfx to ../gfx/!' -- cgit v1.2.3 From cd0f71730583f7db1e81549d0269fa38ea315ac9 Mon Sep 17 00:00:00 2001 From: yenatch Date: Tue, 22 Jan 2013 05:01:21 -0500 Subject: update gfx.py to reflect new structure --- extras/gfx.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'extras/gfx.py') diff --git a/extras/gfx.py b/extras/gfx.py index 70c657c15..67bb66404 100644 --- a/extras/gfx.py +++ b/extras/gfx.py @@ -1043,14 +1043,16 @@ def decompress_monsters(type = front): # decompress monster = decompress_monster_by_id(id, type) if monster != None: # no unowns here - filename = str(id+1).zfill(3) + '.2bpp' # 001.2bpp if not type: # front - folder = '../gfx/frontpics/' + filename = 'front.2bpp' + folder = '../gfx/pics/' + str(id+1).zfill(3) + '/' to_file(folder+filename, monster.pic) - folder = '../gfx/anim/' + filename = 'tiles.2bpp' + folder = '../gfx/pics/' + str(id+1).zfill(3) + '/' to_file(folder+filename, monster.animtiles) else: # back - folder = '../gfx/backpics/' + filename = 'back.2bpp' + folder = '../gfx/pics/' + str(id+1).zfill(3) + '/' to_file(folder+filename, monster.pic) @@ -1073,14 +1075,16 @@ def decompress_unowns(type = front): # decompress unown = decompress_unown_by_id(letter, type) - filename = str(unown_dex).zfill(3) + chr(ord('a') + letter) + '.2bpp' # 201a.2bpp if not type: # front - folder = '../gfx/frontpics/' + filename = 'front.2bpp' + folder = '../gfx/pics/' + str(unown_dex).zfill(3) + chr(ord('a') + letter) + '/' to_file(folder+filename, unown.pic) + filename = 'tiles.2bpp' folder = '../gfx/anim/' to_file(folder+filename, unown.animtiles) else: # back - folder = '../gfx/backpics/' + filename = 'back.2bpp' + folder = '../gfx/pics/' + str(unown_dex).zfill(3) + chr(ord('a') + letter) + '/' to_file(folder+filename, unown.pic) @@ -1255,8 +1259,8 @@ def compress_file(filein, fileout, mode = 'horiz'): def compress_monster_frontpic(id, fileout): mode = 'vert' - fpic = '../gfx/frontpics/' + str(id).zfill(3) + '.2bpp' - fanim = '../gfx/anim/' + str(id).zfill(3) + '.2bpp' + fpic = '../gfx/pics/' + str(id).zfill(3) + '/front.2bpp' + fanim = '../gfx/pics/' + str(id).zfill(3) + '/tiles.2bpp' pic = open(fpic, 'rb').read() anim = open(fanim, 'rb').read() @@ -1264,7 +1268,7 @@ def compress_monster_frontpic(id, fileout): lz = Compressed(image, mode, 5) - out = '../gfx/frontpics/lz/' + str(id).zfill(3) + '.lz' + out = '../gfx/pics/' + str(id).zfill(3) + '/front.lz' to_file(out, lz.output) -- cgit v1.2.3