def openFile(self): self.filelist.delete(0, Tkinter.END) options = { "initialdir": "input/", "initialfile": "", "defaultextension": ".w3x", "filetypes": [("Warcraft III Frozen Throne map", ".w3x")], "title": "Open a Frozen Throne map" } file = askopenfile(mode="rb", **options) self.filenameText.set(file.name) self.map = WC3Map(file, forceV1=True) with open("lib/wc3Files_compact.txt", "r") as f: self.map.createListfile(template=f) triggers = None try: triggers = read_WTS( io.BytesIO(self.map.mpq.read_file("war3map.wts"))) except: triggers = None for file in self.map.listfile: file_extention = file.rpartition(".")[2] try: if file == "war3map.w3e": #We have terrain self.tabHandle.tab(1, state="normal") self.terrainTab.openFile( io.BytesIO(self.map.mpq.read_file("war3map.w3e"))) if file_extention in ("w3t", "w3u", "w3a"): #We have items, units or abilities fileInfo = read_object( io.BytesIO(self.map.mpq.read_file(file)), file_extention, triggerDB=triggers) #ObjectReader(filename) if file_extention == "w3u": self.tabHandle.tab(2, state="normal") print("SETTING INFO") self.unitTab.setInfo( translate_info(fileInfo, file_extention), file_extention, self.filenameText.get()) if file_extention == "w3t": self.tabHandle.tab(3, state="normal") self.itemTab.setInfo( translate_info(fileInfo, file_extention), file_extention, self.filenameText.get()) if file_extention == "w3a": self.tabHandle.tab(4, state="normal") self.abilTab.setInfo( translate_info(fileInfo, file_extention), file_extention, self.filenameText.get()) except: print(traceback.format_exc()) self.filelist.insert(Tkinter.END, file)
def openFile(self): self.filelist.delete(0, Tkinter.END) options = { "initialdir" : "input/", "initialfile" : "", "defaultextension" : ".w3x", "filetypes" : [("Warcraft III Frozen Throne map", ".w3x")], "title" : "Open a Frozen Throne map" } file = askopenfile(mode="rb", **options) self.filenameText.set(file.name) self.map = WC3Map(file, forceV1=True) with open("lib/wc3Files_compact.txt", "r") as f: self.map.createListfile(template=f) triggers = None try: triggers = read_WTS(io.BytesIO(self.map.mpq.read_file("war3map.wts"))) except: triggers = None for file in self.map.listfile: file_extention = file.rpartition(".")[2] try: if file == "war3map.w3e": #We have terrain self.tabHandle.tab(1, state="normal") self.terrainTab.openFile(io.BytesIO(self.map.mpq.read_file("war3map.w3e"))) if file_extention in ("w3t", "w3u", "w3a"): #We have items, units or abilities fileInfo = read_object(io.BytesIO(self.map.mpq.read_file(file)), file_extention, triggerDB=triggers)#ObjectReader(filename) if file_extention == "w3u": self.tabHandle.tab(2, state="normal") print("SETTING INFO") self.unitTab.setInfo(translate_info(fileInfo, file_extention), file_extention, self.filenameText.get()) if file_extention == "w3t": self.tabHandle.tab(3, state="normal") self.itemTab.setInfo(translate_info(fileInfo, file_extention), file_extention, self.filenameText.get()) if file_extention == "w3a": self.tabHandle.tab(4, state="normal") self.abilTab.setInfo(translate_info(fileInfo, file_extention), file_extention, self.filenameText.get()) except: print(traceback.format_exc()) self.filelist.insert(Tkinter.END, file)
print unit_file = None try: trigger_file = WarMap.read_file("war3map.wts") except Exception as error: print "Couldn't extract trigger string file:" +str(error) print "TRIGSTR resolving will not be available." trigger_file = None mpqHandle.close() if trigger_file != None: # We can resolve TRIGSTR strings according to # what is written in the wts file. triggerDB = read_WTS(trigger_file) else: # No TRIGSTR resolving. :( triggerDB = None if item_file != None: itemData = read_W3T(item_file, triggerDB) translated_itemData = {"fileVersion" : itemData["fileVersion"], "originalInfo" : translate_info(itemData["originalInfo"], "w3t"), "customInfo" : translate_info(itemData["customInfo"], "w3t")} path = OUTPUTPATH+"war3map.w3t_itemData.json" with open(path, "w") as f:
print unit_file = None try: trigger_file = WarMap.read_file("war3map.wts") except Exception as error: print "Couldn't extract trigger string file:" + str(error) print "TRIGSTR resolving will not be available." trigger_file = None mpqHandle.close() if trigger_file != None: # We can resolve TRIGSTR strings according to # what is written in the wts file. triggerDB = read_WTS(trigger_file) else: # No TRIGSTR resolving. :( triggerDB = None if item_file != None: itemData = read_W3T(item_file, triggerDB) translated_itemData = { "fileVersion": itemData["fileVersion"], "originalInfo": translate_info(itemData["originalInfo"], "w3t"), "customInfo": translate_info(itemData["customInfo"], "w3t") } path = OUTPUTPATH + "war3map.w3t_itemData.json" with open(path, "w") as f: