 81a239325d
			
		
	
	81a239325d
	
	
	
		
			
			Adds Link's Awakening: DX. Fully imports and forks LADXR, with permission - https://github.com/daid/LADXR
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import requests
 | |
| import PIL.Image
 | |
| import re
 | |
| 
 | |
| url = "https://raw.githubusercontent.com/CrystalSaver/Z4RandomizerBeta2/master/"
 | |
| 
 | |
| for k, v in requests.get(url + "asset-manifest.json").json()['files'].items():
 | |
|     m = re.match("static/media/Graphics(.+)\\.bin", k)
 | |
|     assert m is not None
 | |
|     if not k.startswith("static/media/Graphics") or not k.endswith(".bin"):
 | |
|         continue
 | |
|     name = m.group(1)
 | |
|     
 | |
|     data = requests.get(url + v).content
 | |
|     
 | |
|     icon = PIL.Image.new("P", (16, 16))
 | |
|     buffer = bytearray(b'\x00' * 16 * 8)
 | |
|     for idx in range(0x0C0, 0x0C2):
 | |
|         for y in range(16):
 | |
|             a = data[idx * 32 + y * 2]
 | |
|             b = data[idx * 32 + y * 2 + 1]
 | |
|             for x in range(8):
 | |
|                 v = 0
 | |
|                 if a & (0x80 >> x):
 | |
|                     v |= 1
 | |
|                 if b & (0x80 >> x):
 | |
|                     v |= 2
 | |
|                 buffer[x+y*8] = v
 | |
|         tile = PIL.Image.frombytes('P', (8, 16), bytes(buffer))
 | |
|         x = (idx % 16) * 8
 | |
|         icon.paste(tile, (x, 0))
 | |
|     pal = icon.getpalette()
 | |
|     assert pal is not None
 | |
|     pal[0:3] = [150, 150, 255]
 | |
|     pal[3:6] = [0, 0, 0]
 | |
|     pal[6:9] = [59, 180, 112]
 | |
|     pal[9:12] = [251, 221, 197]
 | |
|     icon.putpalette(pal)
 | |
|     icon = icon.resize((32, 32))
 | |
|     icon.save("gfx/%s.bin.png" % (name))
 | |
|     open("gfx/%s.bin" % (name), "wb").write(data)
 |