40 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import argparse
 | |
| import json
 | |
| from os import listdir
 | |
| from os.path import isfile, join
 | |
| from Rom import Sprite
 | |
| from Gui import get_image_for_sprite
 | |
| 
 | |
| parser = argparse.ArgumentParser(description='Dump sprite data and .png files to a directory.')
 | |
| parser.add_argument('-i')
 | |
| parser.add_argument('-o')
 | |
| args = parser.parse_args()
 | |
| 
 | |
| if not args.i or not args.o:
 | |
|     print('Invalid arguments provided. -i and -o are required.')
 | |
|     exit()
 | |
| 
 | |
| # Target directories
 | |
| input_dir = args.i
 | |
| output_dir = args.o
 | |
| 
 | |
| # Get a list of all files in the input directory
 | |
| targetFiles = [file for file in listdir(input_dir) if isfile(join(input_dir, file))]
 | |
| 
 | |
| spriteData = {}
 | |
| 
 | |
| for file in targetFiles:
 | |
|     if file[-5:] != '.zspr':
 | |
|         continue
 | |
| 
 | |
|     sprite = Sprite(join(input_dir, file))
 | |
|     spriteData[sprite.name] = file
 | |
| 
 | |
|     image = open(f'{output_dir}/{sprite.name}.gif', 'wb')
 | |
|     image.write(get_image_for_sprite(sprite, True))
 | |
|     image.close()
 | |
| 
 | |
| jsonFile = open(f'{output_dir}/spriteData.json', 'w')
 | |
| jsonFile.write(json.dumps(spriteData))
 | |
| jsonFile.close()
 | 
