summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2013-01-01 15:57:26 -0500
committeryenatch <yenatch@gmail.com>2013-01-01 16:31:05 -0500
commitb3ebb0f873e762f45dd62fd653a4b0a0ea8e487b (patch)
tree49c388055e3fcd98015c0d91679ffff96fdbdd42
parent78494c359e713776c21ef7c1e385952f64252172 (diff)
make gfx.py more convenient from command line
original-commit-id: 3e953ad7b65f033cc5e29319f34cfd661b24af07
-rw-r--r--gfx.py42
1 files changed, 28 insertions, 14 deletions
diff --git a/gfx.py b/gfx.py
index 051150a..d4d777f 100644
--- a/gfx.py
+++ b/gfx.py
@@ -593,6 +593,9 @@ class Decompressed:
self.decompress()
+ debug = False
+ if debug: print '(' + hex(self.start) + ', ' + hex(self.start + self.address) + ')'
+
# only transpose pic
self.pic = []
self.animtiles = []
@@ -1179,16 +1182,10 @@ def decompress_all():
return
-def export_decompressed(address, mode='horiz', filename = 'de.2bpp', size = None, debug = True):
+def decompress_from_address(address, mode='horiz', filename = 'de.2bpp', size = None):
"""write decompressed data from an address to a 2bpp file"""
-
- if debug: print 'decompressing ' + hex(address)
image = Decompressed(rom, mode, size, address)
-
- if debug: print 'export to ' + filename + '\n'
to_file(filename, image.pic)
-
- return image.pic
def decompress_file(filein, fileout, mode = 'horiz', size = None):
@@ -1225,21 +1222,38 @@ def compress_monster_frontpic(id, fileout):
cpr = Compressed(image, mode, 5)
- to_file('old.2bpp', cpr.output)
+ out = '../gfx/frontpics/cpr/' + str(id).zfill(3) + '.cpr'
+
+ to_file(out, cpr.output)
parser = argparse.ArgumentParser()
parser.add_argument('cmd', nargs='?', metavar='cmd', type=str)
-parser.add_argument('addr', nargs='?', metavar='addr', type=str)
-parser.add_argument('mode', nargs='?', metavar='mode', type=str)
-parser.add_argument('fname', nargs='?', metavar='fname', type=str)
+parser.add_argument('arg1', nargs='?', metavar='arg1', type=str)
+parser.add_argument('arg2', nargs='?', metavar='arg2', type=str)
+parser.add_argument('arg3', nargs='?', metavar='arg3', type=str)
args = parser.parse_args()
+debug = True
+
if args.cmd == 'de':
- # python gfx.py de [addr] [fname] [mode]
- print hex_dump(export_decompressed(int(args.addr,16), args.mode, args.fname))
+ # python gfx.py de [addr] [fileout] [mode]
+ addr = int(args.arg1,16)
+ fileout = args.arg2
+ mode = args.arg3
+ decompress_from_address(addr, fileout, mode)
+ if debug: print 'decompressed to ' + args.arg2 + ' from ' + hex(int(args.arg1,16)) + '!'
+
+elif args.cmd == 'cpr':
+ # python gfx.py cpr [filein] [fileout] [mode]
+ filein = args.arg1
+ fileout = args.arg2
+ mode = args.arg3
+ compress_file(filein, fileout, mode)
+ if debug: print 'compressed ' + filein + ' to ' + fileout + '!'
+
else:
decompress_all()
- print 'decompressed known gfx to ../gfx/!'
+ if debug: print 'decompressed known gfx to ../gfx/!'