shithub: pokecrystal

Download patch

ref: e7762890aac4da72e75c7e7365c1cd924dadbc85
parent: 0b05325e07648f989c612e81fb6bbd37e56813de
author: yenatch <[email protected]>
date: Sat Feb 9 01:22:08 EST 2013

Don't try to convert empty 2bpp files

Also, make non-square images 1 tile wide
Minor path fixes and cleanup

--- a/extras/gfx.py
+++ b/extras/gfx.py
@@ -1212,12 +1212,13 @@
 	Takes a planar 2bpp graphics file and converts it to png.
 	"""
 	
-	if fileout == None: fileout = ''.join(filein.split('.')[:-1]) + '.png'
+	if fileout == None: fileout = '.'.join(filein.split('.')[:-1]) + '.png'
 	
 	image = open(filein, 'rb').read()
 	
+	if len(image) == 0: return 'empty image!'
 
-	# unless the pic is square, at least one dimension should be given
+	# unless the pic is square, at least one dimension should be given...
 	
 	if height   == None and width == None:
 		height = int(sqrt(len(image)*4))
@@ -1227,9 +1228,13 @@
 
 	elif width  == None: width = len(image)*4 / height
 	
-	assert height * width == len(image)*4, 'Please specify dimensions for non-square image!'
+	# ...or it will become 1 tile wide
 	
+	if height * width != len(image)*4:
+		height = len(image)*4 / 8
+		width  = 8
 	
+	
 	# map it out
 	
 	lines = to_lines(flatten(image), width)
@@ -1261,7 +1266,7 @@
 	Takes a png and converts it to planar 2bpp.
 	"""
 	
-	if fileout == None: fileout = ''.join(filein.split('.')[:-1]) + '.2bpp'
+	if fileout == None: fileout = '.'.join(filein.split('.')[:-1]) + '.2bpp'
 	
 	with open(filein, 'rb') as file:
 
@@ -1489,8 +1494,6 @@
 			to_2bpp(args.arg1, args.arg2)
 	
 	#else:
-	else:
-		dump_trainer_pals()
 		## python gfx.py
 		#decompress_all()
 		#if debug: print 'decompressed known gfx to ../gfx/!'