From 0dd0ae40a113440ce7cdbad188b898bb8aef76e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juli=C3=A1n=20Corso?= Date: Wed, 9 Jan 2019 21:42:41 -0300 Subject: [PATCH 1/2] [MOD] res2img new releases support --- res2img.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/res2img.py b/res2img.py index 5ff6d81..36efb53 100755 --- a/res2img.py +++ b/res2img.py @@ -110,7 +110,7 @@ def get_rsrc_addr(idx): - ptr = (4 * idx + 0x14) + ptr = (4 * idx + 0x24) buf = [ ord(elem) for elem in fileContent[ptr:ptr+4]] addr = (buf[0] <<0) + (buf[1] <<8) + (buf[2] << 16) + (buf[3] <<24) return addr @@ -363,13 +363,13 @@ def raw2png(idx): fileHeader = fileContent[0:5] version = ord(fileContent[5:6]) - if fileHeader != "HMRES": + if fileHeader != "NERES": print "file isn't a resource file. Exiting" os.exit(1) print "file is a Haumi resource file" print "version %d" % version - buf = [ ord(elem) for elem in fileContent[0x10:0x10+4]] + buf = [ ord(elem) for elem in fileContent[0x20:0x20+4]] max_rsrc = (buf[0] <<0) + (buf[1] <<8) + (buf[2] << 16) + (buf[3] <<24) print "number of resources: %d" % max_rsrc @@ -377,7 +377,7 @@ def raw2png(idx): #unpack if args.unpack: - offs = 4 * max_rsrc + 0x14 + offs = 4 * max_rsrc + 0x24 if args.translate: #create only translate bitmap @@ -409,8 +409,8 @@ def raw2png(idx): warnings='' for index in range(max_rsrc): for i in range(4): - #print (0x14 + index *4 +i), (offset >> 8*i) & 0xFF - header_res[0x14 + index * 4+i] = (offset >> 8*i) & 0xFF + #print (0x24 + index *4 +i), (offset >> 8*i) & 0xFF + header_res[0x24 + index * 4+i] = (offset >> 8*i) & 0xFF #print "resource %3d | addr: %x " % ( index, offset ) img,warn = png2raw(index) From fb068974c354dcd7371ee61acfc1a71a9e6a1e5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juli=C3=A1n=20Corso?= Date: Thu, 10 Jan 2019 01:07:19 -0300 Subject: [PATCH 2/2] [MOD] Packing working --- res2img.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/res2img.py b/res2img.py index 36efb53..401d704 100755 --- a/res2img.py +++ b/res2img.py @@ -399,11 +399,12 @@ def raw2png(idx): #pack if args.pack: - header_res = [ 0x48, 0x4D, 0x52, 0x45, 0x53, version , 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF ] + header_res = [ 0x4E, 0x45, 0x52, 0x45, 0x53, version , 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF ] #extend the array to make space for number of element and resource's index header_res.extend([0]*( 4 + 4 * max_rsrc)) for i in range(4): - header_res[0x10 + i] = (max_rsrc >> 8*i) & 0xFF + header_res[0x20 + i] = (max_rsrc >> 8*i) & 0xFF offset = 0 warnings=''