Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # You must specify the input file with the full directory
- # you must also specify the output directory AND filename (no extension)
- # also remember to change the scale
- # couldn't be bothered to invert the face orientation
- # select all and invert within metasequoia.
- import struct
- import zlib
- import codecs
- from array import array
- import sys
- h1= codecs.decode('424d','hex')
- h2=codecs.decode('000000003600000028000000','hex')
- h3=codecs.decode('010018000000000000000000120B0000120B00000000000000000000','hex')
- h4= codecs.decode('0000','hex')
- #******* Change the Scale here *********
- scale = 1
- #**************************************
- f = open("C:/noesis/brs/BCHR_YUB01/chr_m_yub01.mdl", "rb")
- outputname = "chr_m_yub01"
- outputdirectory = "C:/noesis/brs/BCHR_YUB01/"
- metafile = outputdirectory+outputname
- of = open(metafile+".mqo", 'w')
- UVfile = outputdirectory+"UV.tmp"
- of2 = open(UVfile, 'w+b')
- of.write("Metasequoia Document\n")
- of.write("Format Text Ver 1.0\n")
- of.write(" \n")
- of.write("Scene {\n")
- of.write("pos -30.5374 -301.0406 878.7299\n")
- of.write("lookat 0.0000 0.0000 0.0000\n")
- of.write("head -6.8400\n")
- of.write("pich 0.1908\n")
- of.write("ortho 0\n")
- of.write("zoom2 10.0094\n")
- of.write("amb 0.490 0.490 0.490\n")
- of.write("}\n")
- try:
- vertcounter=0
- polycounter = 0
- dump = f.read(4) #tag
- dump = f.read(4)
- dump = f.read(4) #num_of_k2
- num_of_k2 = struct.unpack("<I", dump)[0]
- dump = f.read(4) #num_of_k2
- num_of_k3 = struct.unpack("<I", dump)[0]
- dump = f.read(4) #offset_k0
- offset_k0 = struct.unpack("<I", dump)[0]
- dump = f.read(4) #offset_k1
- offset_k1 = struct.unpack("<I", dump)[0]
- dump = f.read(4) #offset_k2
- offset_k2 = struct.unpack("<I", dump)[0]
- dump = f.read(4) #offset_k3
- offset_k3 = struct.unpack("<I", dump)[0]
- #dump ptmd data
- dump = f.read(4)
- dump = f.read(4)
- #offset_poly
- dump = f.read(4)
- offset_poly = struct.unpack("<I", dump)[0]
- #offset1 = offset_poly
- f.seek(offset_poly,0);
- #offset_k1_bak = offset_k1
- polycounter = 0
- #**************************************** just for vals
- fpos1=f.tell()
- f.seek(offset_k1,0); #list of offsets
- dump = f.read(4) #sets the vertex read length
- dump = f.read(4)
- offset1 = struct.unpack("<I", dump)[0] #get 1st polyoffset
- f.seek(fpos1,0);
- vertlen = 0
- tags2 = f.read(4) #read tag 0x00000014
- dump = f.read(4) #read next tag
- while tags2 == b'\x00\x00\x00\x14' :
- fpos1=f.tell() #push file pos
- f.seek(offset_k1,0);
- dump = f.read(1) #sets the vertex read length
- dump = f.read(1)
- dump = f.read(4)
- offset1 = struct.unpack("<I", dump)[0]
- offset_k1+=8
- f.seek(fpos1,0); #restore file pos
- tmpoffset = f.tell()
- first4 = f.read(4)
- f.seek(tmpoffset,0);
- while first4 != b'\x00\x00\x00\x0B' :
- polycounter +=1
- reed3 = f.read(2)
- dump = f.read(6)
- dumpk1 = f.read(1)
- dumpk2 = f.read(1)
- dumpk3 = f.read(1)
- num = str(b'\x00') + dumpk3+ dumpk2+ dumpk1
- off2 = int(num.encode('hex'), 16)
- dump = f.read(1) #dump last byte of 3rd long
- dump = f.read(1) #get number of verts in poly
- vnumb = struct.unpack("<B", dump)
- vnum = vnumb[0]
- dump = f.read(3) #dump last 3 bytes
- off1 = f.tell()
- off3 = offset1 + off2
- f.seek(off3,0);
- vertcounter += vnum
- f.seek(off1,0); #restore file pos to poly list
- first4 = f.read(4) # read and store next long
- f.seek(off1,0); #restore file pos to file pos - 4
- koffk = f.tell()
- print ('offset for 0B = ',koffk)
- dump = f.read(4) #read the 0000000B long
- tags2 = f.read(4) # read 0x00000014
- dump = f.read(4) # read 0x******1D
- koffk = f.tell()
- f.seek(offset1,0);
- kcount = 0
- numvert = vertcounter
- facecounter = 0
- f.seek(offset_poly,0);
- tags2 = f.read(4)
- dump = f.read(4)
- while tags2 == b'\x00\x00\x00\x14' :
- print'outer loop'
- tmpoffset = f.tell()
- first4 = f.read(4)
- f.seek(tmpoffset,0);
- while first4 != b'\x00\x00\x00\x0B' :
- reed3 = f.read(2)
- dump = f.read(6)
- dump = f.read(2)
- off2 = struct.unpack("<H", dump)
- dump = f.read(2)
- dump = f.read(1)
- vnumb = struct.unpack("<B", dump)
- vnum = vnumb[0]
- dump = f.read(3)
- off1 = f.tell()
- if vnum == 3:
- facecounter+=1
- kcount+=3
- elif vnum == 4:
- facecounter+=2
- kcount+=4
- elif vnum == 5:
- facecounter+=3
- kcount+=5
- elif vnum == 6:
- facecounter+=4
- kcount+=6
- elif vnum == 7:
- facecounter+=5
- kcount+=7
- elif vnum == 8:
- facecounter+=6
- kcount+=8
- elif vnum == 9:
- facecounter+=7
- kcount+=9
- elif vnum == 10:
- facecounter+=8
- kcount+=10
- elif vnum == 11:
- facecounter+=9
- kcount+=11
- elif vnum == 12:
- facecounter+=10
- kcount+=12
- elif vnum == 13:
- facecounter+=11
- kcount+=13
- elif vnum > 13:
- print 'oops',vnum
- f.seek(off1,0);
- first4 = f.read(4)
- f.seek(off1,0);
- dump = f.read(4)
- tags2 = f.read(4)
- dump = f.read(4)
- numfaces = facecounter
- print numvert,numfaces
- #****************************************
- #numvert = 0
- kcount = 0
- facecounter = 0
- vertcounter = 0
- #offset_k1 = offset_k1_bak
- f.seek(0,0);
- print (f.tell())
- dump = f.read(4) #tag
- dump = f.read(4)
- dump = f.read(4) #num_of_k2
- num_of_k2 = struct.unpack("<I", dump)[0]
- dump = f.read(4) #num_of_k2
- num_of_k3 = struct.unpack("<I", dump)[0]
- dump = f.read(4) #offset_k0
- offset_k0 = struct.unpack("<I", dump)[0]
- dump = f.read(4) #offset_k1
- offset_k1 = struct.unpack("<I", dump)[0]
- dump = f.read(4) #offset_k2
- offset_k2 = struct.unpack("<I", dump)[0]
- dump = f.read(4) #offset_k3
- offset_k3 = struct.unpack("<I", dump)[0]
- #dump ptmd data
- dump = f.read(4)
- dump = f.read(4)
- #offset_poly
- dump = f.read(4)
- offset_poly = struct.unpack("<I", dump)[0]
- print offset_k1,offset_poly
- offset1 = offset_poly
- f.seek(offset_poly,0);
- polycounter = 0
- #dump = f.read(8) nope
- kk1 = 1
- if kk1 > 10000: kk1=1
- for i in range(0, kk1):
- name = "obj1"
- of.write("Object \""+name+"\" {\n")
- of.write(" depth 0\n")
- of.write(" folding 0\n")
- of.write(" scale 1.000000 1.000000 1.000000\n")
- of.write(" rotation 0.000000 0.000000 0.000000\n")
- of.write(" translation 0.000000 0.000000 0.000000\n")
- of.write(" visible 15\n")
- of.write(" locking 0\n")
- of.write(" shading 1\n")
- of.write(" facet 59.5\n")
- of.write(" color 0.000 0.000 0.000\n")
- of.write(" color_type 0\n")
- of.write(" vertex "),
- kk2 = 4213
- of.write(str(numvert)),
- of.write("{\n")
- fpos1=f.tell()
- f.seek(offset_k1,0); #list of offsets
- dump = f.read(4)
- dump = f.read(4)
- offset1 = struct.unpack("<I", dump)[0] #get 1st polyoffset
- print(offset1)
- #f.seek(offset1,0); #set file position to first polyoffset
- f.seek(fpos1,0);
- vertlen = 0
- tags2 = f.read(4) #read tag 0x00000014
- dump = f.read(4) #read next tag
- print(f.tell())
- while tags2 == b'\x00\x00\x00\x14' :
- print'outer loop'
- #get vertex field length
- fpos1=f.tell() #push file pos
- f.seek(offset_k1,0);
- dump = f.read(1)
- dump = f.read(1)
- dump = f.read(2)
- dump = f.read(4)
- offset1 = struct.unpack("<I", dump)[0]
- print offset1
- offset_k1+=8
- f.seek(fpos1,0); #restore file pos
- tmpoffset = f.tell()
- first4 = f.read(4)
- f.seek(tmpoffset,0);
- while first4 != b'\x00\x00\x00\x0B' :
- polycounter +=1
- #read offsets from poly list
- reed3 = f.read(2)
- dump = f.read(6)
- # the off2 is 3 bytes long
- dumpk1 = f.read(1)
- dumpk2 = f.read(1)
- dumpk3 = f.read(1)
- num = str(b'\x00') + dumpk3+ dumpk2+ dumpk1
- off2 = int(num.encode('hex'), 16)
- dump = f.read(1) #dump last byte of 3rd long
- dump = f.read(1) #get number of verts in poly
- vnumb = struct.unpack("<B", dump)
- vnum = vnumb[0]
- dump = f.read(3) #dump last 3 bytes
- off1 = f.tell()
- #set file pos to vert list position
- off3 = offset1 + off2
- f.seek(off3,0);
- for k in range(0, vnum):
- koffk = f.tell()
- #print ()
- vertcounter +=1
- #print ('offs = ',koffk,vertcounter-26,polycounter, off2, off3,offset1)
- if reed3 == '\xBA\x07':
- vertlen = 28-12
- if reed3 == '\xA2\x07':
- vertlen = 24-12
- if reed3 == '\xA2\x47':
- vertlen = 28-12
- if reed3 == '\xBA\x47':
- vertlen = 32-12
- if reed3 == '\xBA\x87':
- vertlen = 36-12
- if reed3 == '\xA2\x87':
- vertlen = 28-12
- dump = f.read(vertlen)
- x = f.read(4)
- y = f.read(4)
- z = f.read(4)
- otx = struct.unpack("<f", x)
- oty = struct.unpack("<f", y)
- otz = struct.unpack("<f", z)
- ox = otx[0] #* scale
- oy = oty[0] #* scale
- oz = otz[0] #* scale
- #str(reed3)+
- tmpstr = "\t"+("%.5f" % ox)+" "+("%.5f" % oy)+" "+("%.5f" % oz)
- of.write(tmpstr+"\n")
- #print (vertcounter,polycounter,off2,off3,reed3,tmpstr+"\n" )
- f.seek(off1,0); #restore file pos to poly list
- first4 = f.read(4) # read and store next long
- f.seek(off1,0); #restore file pos to file pos - 4
- #gets here if next long is 0000000B
- #f.seek(off1,0);
- #print 'off1 = ', off1
- koffk = f.tell()
- print ('offset for 0B = ',koffk)
- dump = f.read(4) #read the 0000000B long
- tags2 = f.read(4) # read 0x00000014
- dump = f.read(4) # read 0x******1D
- koffk = f.tell()
- #print ('offset for 0B = ',koffk)
- #offset1 +=4
- #print tags2
- of.write(" }\n")
- f.seek(offset1,0);
- kcount = 0
- tmpstr = "\t face"+" "+str(numfaces)+" {\n"
- of.write(tmpstr)
- # triangle generator
- kcount = 0
- f.seek(offset_poly,0);
- tags2 = f.read(4)
- dump = f.read(4)
- while tags2 == b'\x00\x00\x00\x14' :
- print'outer loop'
- tmpoffset = f.tell()
- first4 = f.read(4)
- f.seek(tmpoffset,0);
- while first4 != b'\x00\x00\x00\x0B' :
- reed3 = f.read(2)
- dump = f.read(6)
- dump = f.read(2)
- off2 = struct.unpack("<H", dump)
- dump = f.read(2)
- dump = f.read(1)
- vnumb = struct.unpack("<B", dump)
- vnum = vnumb[0]
- dump = f.read(3)
- off1 = f.tell()
- '''
- vn = vnum -2
- rm = (vnum+1) % 2
- print vnum,vn,rm
- for q in range(0, vn):
- kk = q*3
- of.write("3 V("+str(kcount+kk)+" "+str(kcount+kk+1)+" "+str(kcount+kk+2)+")\n")
- facecounter+=1
- if vn > 1 and rm == 0:
- of.write("3 V("+str(kcount+kk+3)+" "+str(kcount+kk+2)+" "+str(kcount+kk+1)+")\n")
- facecounter+=1
- kcount+=vnum
- '''
- if vnum == 3:
- of.write("3 V("+str(kcount)+" "+str(kcount+1)+" "+str(kcount+2)+")\n")
- facecounter+=1
- kcount+=3
- elif vnum == 4:
- of.write("3 V("+str(kcount)+" "+str(kcount+1)+" "+str(kcount+2)+")\n")
- of.write("3 V("+str(kcount+3)+" "+str(kcount+2)+" "+str(kcount+1)+")\n")
- facecounter+=2
- kcount+=4
- elif vnum == 5:
- of.write("3 V("+str(kcount)+" "+str(kcount+1)+" "+str(kcount+2)+")\n")
- of.write("3 V("+str(kcount+3)+" "+str(kcount+2)+" "+str(kcount+1)+")\n")
- of.write("3 V("+str(kcount+2)+" "+str(kcount+3)+" "+str(kcount+4)+")\n")
- facecounter+=3
- kcount+=5
- elif vnum == 6:
- of.write("3 V("+str(kcount)+" "+str(kcount+1)+" "+str(kcount+2)+")\n")
- of.write("3 V("+str(kcount+3)+" "+str(kcount+2)+" "+str(kcount+1)+")\n")
- of.write("3 V("+str(kcount+2)+" "+str(kcount+3)+" "+str(kcount+4)+")\n")
- of.write("3 V("+str(kcount+5)+" "+str(kcount+4)+" "+str(kcount+3)+")\n")
- facecounter+=4
- kcount+=6
- elif vnum == 7:
- of.write("3 V("+str(kcount)+" "+str(kcount+1)+" "+str(kcount+2)+")\n")
- of.write("3 V("+str(kcount+3)+" "+str(kcount+2)+" "+str(kcount+1)+")\n")
- of.write("3 V("+str(kcount+2)+" "+str(kcount+3)+" "+str(kcount+4)+")\n")
- of.write("3 V("+str(kcount+5)+" "+str(kcount+4)+" "+str(kcount+3)+")\n")
- of.write("3 V("+str(kcount+4)+" "+str(kcount+5)+" "+str(kcount+6)+")\n")
- facecounter+=5
- kcount+=7
- elif vnum == 8:
- of.write("3 V("+str(kcount)+" "+str(kcount+1)+" "+str(kcount+2)+")\n")
- of.write("3 V("+str(kcount+3)+" "+str(kcount+2)+" "+str(kcount+1)+")\n")
- of.write("3 V("+str(kcount+2)+" "+str(kcount+3)+" "+str(kcount+4)+")\n")
- of.write("3 V("+str(kcount+5)+" "+str(kcount+4)+" "+str(kcount+3)+")\n")
- of.write("3 V("+str(kcount+4)+" "+str(kcount+5)+" "+str(kcount+6)+")\n")
- of.write("3 V("+str(kcount+7)+" "+str(kcount+6)+" "+str(kcount+5)+")\n")
- facecounter+=6
- kcount+=8
- elif vnum == 9:
- of.write("3 V("+str(kcount)+" "+str(kcount+1)+" "+str(kcount+2)+")\n")
- of.write("3 V("+str(kcount+3)+" "+str(kcount+2)+" "+str(kcount+1)+")\n")
- of.write("3 V("+str(kcount+2)+" "+str(kcount+3)+" "+str(kcount+4)+")\n")
- of.write("3 V("+str(kcount+5)+" "+str(kcount+4)+" "+str(kcount+3)+")\n")
- of.write("3 V("+str(kcount+4)+" "+str(kcount+5)+" "+str(kcount+6)+")\n")
- of.write("3 V("+str(kcount+7)+" "+str(kcount+6)+" "+str(kcount+5)+")\n")
- of.write("3 V("+str(kcount+6)+" "+str(kcount+7)+" "+str(kcount+8)+")\n")
- facecounter+=7
- kcount+=9
- elif vnum == 10:
- of.write("3 V("+str(kcount)+" "+str(kcount+1)+" "+str(kcount+2)+")\n")
- of.write("3 V("+str(kcount+3)+" "+str(kcount+2)+" "+str(kcount+1)+")\n")
- of.write("3 V("+str(kcount+2)+" "+str(kcount+3)+" "+str(kcount+4)+")\n")
- of.write("3 V("+str(kcount+5)+" "+str(kcount+4)+" "+str(kcount+3)+")\n")
- of.write("3 V("+str(kcount+4)+" "+str(kcount+5)+" "+str(kcount+6)+")\n")
- of.write("3 V("+str(kcount+7)+" "+str(kcount+6)+" "+str(kcount+5)+")\n")
- of.write("3 V("+str(kcount+6)+" "+str(kcount+7)+" "+str(kcount+8)+")\n")
- of.write("3 V("+str(kcount+9)+" "+str(kcount+8)+" "+str(kcount+7)+")\n")
- facecounter+=8
- kcount+=10
- elif vnum == 11:
- of.write("3 V("+str(kcount)+" "+str(kcount+1)+" "+str(kcount+2)+")\n")
- of.write("3 V("+str(kcount+3)+" "+str(kcount+2)+" "+str(kcount+1)+")\n")
- of.write("3 V("+str(kcount+2)+" "+str(kcount+3)+" "+str(kcount+4)+")\n")
- of.write("3 V("+str(kcount+5)+" "+str(kcount+4)+" "+str(kcount+3)+")\n")
- of.write("3 V("+str(kcount+4)+" "+str(kcount+5)+" "+str(kcount+6)+")\n")
- of.write("3 V("+str(kcount+7)+" "+str(kcount+6)+" "+str(kcount+5)+")\n")
- of.write("3 V("+str(kcount+6)+" "+str(kcount+7)+" "+str(kcount+8)+")\n")
- of.write("3 V("+str(kcount+9)+" "+str(kcount+8)+" "+str(kcount+7)+")\n")
- of.write("3 V("+str(kcount+8)+" "+str(kcount+9)+" "+str(kcount+10)+")\n")
- facecounter+=9
- kcount+=11
- elif vnum == 12:
- of.write("3 V("+str(kcount)+" "+str(kcount+1)+" "+str(kcount+2)+")\n")
- of.write("3 V("+str(kcount+3)+" "+str(kcount+2)+" "+str(kcount+1)+")\n")
- of.write("3 V("+str(kcount+2)+" "+str(kcount+3)+" "+str(kcount+4)+")\n")
- of.write("3 V("+str(kcount+5)+" "+str(kcount+4)+" "+str(kcount+3)+")\n")
- of.write("3 V("+str(kcount+4)+" "+str(kcount+5)+" "+str(kcount+6)+")\n")
- of.write("3 V("+str(kcount+7)+" "+str(kcount+6)+" "+str(kcount+5)+")\n")
- of.write("3 V("+str(kcount+6)+" "+str(kcount+7)+" "+str(kcount+8)+")\n")
- of.write("3 V("+str(kcount+9)+" "+str(kcount+8)+" "+str(kcount+7)+")\n")
- of.write("3 V("+str(kcount+8)+" "+str(kcount+9)+" "+str(kcount+10)+")\n")
- of.write("3 V("+str(kcount+11)+" "+str(kcount+10)+" "+str(kcount+9)+")\n")
- facecounter+=10
- kcount+=12
- elif vnum == 13:
- of.write("3 V("+str(kcount)+" "+str(kcount+1)+" "+str(kcount+2)+")\n")
- of.write("3 V("+str(kcount+3)+" "+str(kcount+2)+" "+str(kcount+1)+")\n")
- of.write("3 V("+str(kcount+2)+" "+str(kcount+3)+" "+str(kcount+4)+")\n")
- of.write("3 V("+str(kcount+5)+" "+str(kcount+4)+" "+str(kcount+3)+")\n")
- of.write("3 V("+str(kcount+4)+" "+str(kcount+5)+" "+str(kcount+6)+")\n")
- of.write("3 V("+str(kcount+7)+" "+str(kcount+6)+" "+str(kcount+5)+")\n")
- of.write("3 V("+str(kcount+6)+" "+str(kcount+7)+" "+str(kcount+8)+")\n")
- of.write("3 V("+str(kcount+9)+" "+str(kcount+8)+" "+str(kcount+7)+")\n")
- of.write("3 V("+str(kcount+8)+" "+str(kcount+9)+" "+str(kcount+10)+")\n")
- of.write("3 V("+str(kcount+11)+" "+str(kcount+10)+" "+str(kcount+9)+")\n")
- of.write("3 V("+str(kcount+10)+" "+str(kcount+11)+" "+str(kcount+12)+")\n")
- facecounter+=11
- kcount+=13
- elif vnum == 14:
- of.write("3 V("+str(kcount)+" "+str(kcount+1)+" "+str(kcount+2)+")\n")
- of.write("3 V("+str(kcount+3)+" "+str(kcount+2)+" "+str(kcount+1)+")\n")
- of.write("3 V("+str(kcount+2)+" "+str(kcount+3)+" "+str(kcount+4)+")\n")
- of.write("3 V("+str(kcount+5)+" "+str(kcount+4)+" "+str(kcount+3)+")\n")
- of.write("3 V("+str(kcount+4)+" "+str(kcount+5)+" "+str(kcount+6)+")\n")
- of.write("3 V("+str(kcount+7)+" "+str(kcount+6)+" "+str(kcount+5)+")\n")
- of.write("3 V("+str(kcount+6)+" "+str(kcount+7)+" "+str(kcount+8)+")\n")
- of.write("3 V("+str(kcount+9)+" "+str(kcount+8)+" "+str(kcount+7)+")\n")
- of.write("3 V("+str(kcount+8)+" "+str(kcount+9)+" "+str(kcount+10)+")\n")
- of.write("3 V("+str(kcount+11)+" "+str(kcount+10)+" "+str(kcount+9)+")\n")
- of.write("3 V("+str(kcount+10)+" "+str(kcount+11)+" "+str(kcount+12)+")\n")
- of.write("3 V("+str(kcount+13)+" "+str(kcount+12)+" "+str(kcount+11)+")\n")
- facecounter+=12
- kcount+=14
- elif vnum == 15:
- of.write("3 V("+str(kcount)+" "+str(kcount+1)+" "+str(kcount+2)+")\n")
- of.write("3 V("+str(kcount+3)+" "+str(kcount+2)+" "+str(kcount+1)+")\n")
- of.write("3 V("+str(kcount+2)+" "+str(kcount+3)+" "+str(kcount+4)+")\n")
- of.write("3 V("+str(kcount+5)+" "+str(kcount+4)+" "+str(kcount+3)+")\n")
- of.write("3 V("+str(kcount+4)+" "+str(kcount+5)+" "+str(kcount+6)+")\n")
- of.write("3 V("+str(kcount+7)+" "+str(kcount+6)+" "+str(kcount+5)+")\n")
- of.write("3 V("+str(kcount+6)+" "+str(kcount+7)+" "+str(kcount+8)+")\n")
- of.write("3 V("+str(kcount+9)+" "+str(kcount+8)+" "+str(kcount+7)+")\n")
- of.write("3 V("+str(kcount+8)+" "+str(kcount+9)+" "+str(kcount+10)+")\n")
- of.write("3 V("+str(kcount+11)+" "+str(kcount+10)+" "+str(kcount+9)+")\n")
- of.write("3 V("+str(kcount+10)+" "+str(kcount+11)+" "+str(kcount+12)+")\n")
- of.write("3 V("+str(kcount+13)+" "+str(kcount+12)+" "+str(kcount+11)+")\n")
- of.write("3 V("+str(kcount+12)+" "+str(kcount+13)+" "+str(kcount+14)+")\n")
- facecounter+=13
- kcount+=15
- elif vnum == 16:
- of.write("3 V("+str(kcount)+" "+str(kcount+1)+" "+str(kcount+2)+")\n")
- of.write("3 V("+str(kcount+3)+" "+str(kcount+2)+" "+str(kcount+1)+")\n")
- of.write("3 V("+str(kcount+2)+" "+str(kcount+3)+" "+str(kcount+4)+")\n")
- of.write("3 V("+str(kcount+5)+" "+str(kcount+4)+" "+str(kcount+3)+")\n")
- of.write("3 V("+str(kcount+4)+" "+str(kcount+5)+" "+str(kcount+6)+")\n")
- of.write("3 V("+str(kcount+7)+" "+str(kcount+6)+" "+str(kcount+5)+")\n")
- of.write("3 V("+str(kcount+6)+" "+str(kcount+7)+" "+str(kcount+8)+")\n")
- of.write("3 V("+str(kcount+9)+" "+str(kcount+8)+" "+str(kcount+7)+")\n")
- of.write("3 V("+str(kcount+8)+" "+str(kcount+9)+" "+str(kcount+10)+")\n")
- of.write("3 V("+str(kcount+11)+" "+str(kcount+10)+" "+str(kcount+9)+")\n")
- of.write("3 V("+str(kcount+10)+" "+str(kcount+11)+" "+str(kcount+12)+")\n")
- of.write("3 V("+str(kcount+13)+" "+str(kcount+12)+" "+str(kcount+11)+")\n")
- of.write("3 V("+str(kcount+12)+" "+str(kcount+13)+" "+str(kcount+14)+")\n")
- of.write("3 V("+str(kcount+15)+" "+str(kcount+14)+" "+str(kcount+13)+")\n")
- facecounter+=16
- kcount+=16
- elif vnum > 17:
- print 'oops',vnum
- f.seek(off1,0);
- first4 = f.read(4)
- f.seek(off1,0);
- dump = f.read(4)
- tags2 = f.read(4)
- dump = f.read(4)
- of.write(" }\n")
- numfaces = numvert
- of.write("}\n")
- of.write("}\n")
- of.write("Eof\n")
- #of.write("vertcounter "+str(vertcounter))
- #of.write("facecounter "+str(facecounter))
- of.close()
- of2.close()
- except EOFError:
- print "oooops"
- finally:
- f.close()
- print "finished"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement