Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: iso-8859-15 -*
- #notepad++ start with cmd.exe /K python -i "$(FULL_CURRENT_PATH)"
- import glob
- import os
- import sys
- import pfp
- import binascii
- #######setup
- i=0
- skip=0
- def getScriptPath():
- return os.path.dirname(os.path.realpath(sys.argv[0]))
- fo = open(getScriptPath() +"/pathTestDRSFolder.txt", "r+")
- pathToDRS = fo.readline()
- ########pfp stuff
- #print(ni.uk._pfp__show(level=0, include_offset=False))
- ########functions
- def charArray2HexStr(binarys):
- ret=""
- for b in binarys:
- ret+=b.toHex()+" "
- return ret
- def getDirWithFiles( root ):
- """ finds folders with a file in them """
- for root, dirs, files in os.walk(root):
- if files:
- yield root
- def getFilesIn( root ):
- """ finds files in root (not recursive) """
- for item in os.listdir(root): #list everything in dir
- if os.path.isfile(os.path.join(root, item)): #filter files
- if(item.endswith(".drs")): #filter drs
- if(item!="unit_tuskgiant.drs" and item!= "unit_wrathblade.drs"): #filter old files
- yield item
- def analyzeFolder(f):
- global i,sum, modSkip
- print("#########" + f)
- content = getFilesIn(f)
- for g in content: #for every file
- print(g) #print file
- print(i, end="\r")
- i+=1
- if(i>skip):
- #print("\n"+f +"/" +g) #print position
- dom = pfp.parse(data_file=f+"/"+g, template_file=getScriptPath() +"/drs.bt")
- for node in dom.Nodes:
- tmp=""
- for s in node.Name.Text:
- tmp+=s.toStr()
- if(tmp=="CGeoMesh"):
- for face in node.Mesh.Faces:
- print("f " +(face.Indices[0]+1).toStr() +" " +(face.Indices[1]+1).toStr() +" " +(face.Indices[2]+1).toStr())
- for v in node.Mesh.Vertices:
- print("v " +v.X.toStr() +" " +v.Y.toStr() +" " +v.Z.toStr())
- break
- groups=getDirWithFiles(pathToDRS)
- for f in groups:
- analyzeFolder(f)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement