minor Pythonic update to HGR packer, and some comments

This commit is contained in:
4am 2025-01-09 14:05:47 -05:00
parent cd38e5d173
commit 8d95d437ad

View File

@ -4,25 +4,24 @@ import sys
infile = sys.argv[1]
outfile = sys.argv[2]
i = open(infile,"rb")
filedata = i.read()
i.close
with open(infile,"rb") as i:
filedata = i.read()
# If the file has a JMP in the last screen hole, the
# game has an animated title, skip packing and copy
# the file as is instead.
# Some HGR files were saved as 8184 bytes (without
# final screen hole) so check file length first.
if(len(filedata) >= 8192 and filedata[8189] == 0x4c):
print (infile, "has animation, not packing")
outdata = bytearray(filedata[0:8192])
else:
outdata = bytearray(filedata[0:7680])
for h in range(60):
oh = h*128+120
ih = h*8+7680+(int(h/15)*8)
outdata[oh:oh+8] = filedata[ih:ih+8]
o = open(outfile,"wb")
o.write(outdata)
o.close
for h in range(60):
oh = h*128+120
ih = h*8+7680+(int(h/15)*8)
outdata[oh:oh+8] = filedata[ih:ih+8]
with open(outfile,"wb") as o:
o.write(outdata)