# -*- coding: utf-8-dos; mode: python -*- import sys from optparse import OptionParser from pyffi.formats.nif import NifFormat parser = OptionParser(usage="usage: %prog [options] FILE") parser.add_option("-o", dest="outfile", help="output file", default="out.nif", metavar="FILE") parser.add_option("-q", dest="quiet", help="quiet mode", default=False) (opts, args) = parser.parse_args(sys.argv) if len(args) != 2: parser.print_help() exit() istrm = open(args[1], 'rb') data = NifFormat.Data() data.read(istrm) print ("NIF version 0x%x, User version %d" % (data.version, data.user_version)) for root in data.roots: for block in root.tree(): if isinstance(block, NifFormat.NiTriShape): print("%s: Current scale is %.4f" % (block.name.decode("ascii"), block.scale)) if block.scale == 1.0000: block.scale = 1.1700 print " Changed to 1.1700" ostrm = open(opts.outfile, 'wb') data.write(ostrm) ostrm.close() istrm.close() print "Wrote to '%s'" % opts.outfile