def deleteMap(self, item): mapForDeletion = self.initFile['LevelsList'][item.text()] gamefolder = current_project.settings["gamefolder"] target_to_delete = os.path.join(gamefolder, fifl.LEVELS, mapForDeletion) if (os.path.basename(current_project.settings["workingFile"]) != mapForDeletion): reply = QtWidgets.QMessageBox.question( self, 'Delete?', 'Do you really wish to delete:\n' + mapForDeletion, QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No) if reply == QtWidgets.QMessageBox.Yes: osremove(target_to_delete) game_init.regenerateInit() self.reloadInitFile() else: QtWidgets.QMessageBox.information( self, 'Delete Problem', "Can't delete a map while it's open in the map editor.", QtWidgets.QMessageBox.Ok)
def __charasetOpen(self, filename): print(filename) if os.path.isfile(filename): self.csetsList.clear() self.animNames.clear() self.animList.clear() game_init.regenerateInit() self.cset.load(filename) self.csetsOpenEdit.setText( os.path.splitext(os.path.basename(filename))[0]) print(os.path.splitext(os.path.basename(filename))[0]) self.ssettings["gamefolder"] = os.path.abspath( os.path.join(os.path.dirname(str(filename)), "../../")) self.__imgOpen( os.path.join(self.ssettings["gamefolder"], fifl.IMG, self.cset.jsonTree["Charaset"]["tileImage"])) for charset in self.cset.jsonTree["Charaset"]: if (charset != "tileImage"): self.csetsList.addItem( csetsItem(charset, self.cset.jsonTree["Charaset"][charset]))
def openFileByName(self, filename): if(filename=="newFile.map.json"): return if os.path.isfile(filename): current_project.settings["gamefolder"] = os.path.abspath( os.path.join(os.path.dirname(str(filename)), "../../")) current_project.settings["workingFile"] = filename self.setWindowTitle(current_project.settings["workingFile"]) self.myMap.load(current_project.settings["workingFile"]) self.myTileSet = tile_set.TileSet(os.path.join( current_project.settings["gamefolder"], self.myMap.tileImage), self.myMap.palette) self.myMapWidget.DrawMap(self) self.gridViewAction.setChecked(False) # gambiarra self.myPaletteWidget.drawPalette(self.myTileSet) self.myEventsWidget.updateEventsList() self.myEventsWidget.enableButtonsBecauseEventsList() self.myCharasPalWidget.reinit() game_init.regenerateInit() hasinit = self.myMapExplorerWidget.reloadInitFile() self.setEnabledAll(hasinit == True) cmd.clearCommandStack() self.firsttime = False self.changeTileCurrent(0) if(hasinit): self.myServer.runServer(os.path.abspath(current_project.settings["gamefolder"])) else: self.myServer.stopServer()
def charasetSave(self): self.cset.new() self.cset.setTileImage(self.tileImage) for itemIndex in range(self.csetsList.count()): self.cset.addCharaset(str(self.csetsList.item(itemIndex).aname), self.csetsList.item(itemIndex).jsonTree) if (len(self.csetsOpenEdit.text()) > 0): self.cset.filename = os.path.join( self.ssettings["gamefolder"], fifl.CHARASETS, self.csetsOpenEdit.text()) + ".json" self.cset.save() game_init.regenerateInit()
def charasetSave(self): self.cset.new() self.cset.setTileImage(self.tileImage) for itemIndex in range(self.csetsList.count()): self.cset.addCharaset(str(self.csetsList.item( itemIndex).aname), self.csetsList.item(itemIndex).jsonTree) if( len(self.csetsOpenEdit.text()) > 0): self.cset.filename = os.path.join( self.ssettings["gamefolder"], fifl.CHARASETS, self.csetsOpenEdit.text()) + ".json" self.cset.save( ) game_init.regenerateInit()
def saveFile(self): filename = current_project.settings["workingFile"] if filename != "": self.myMap.save(filename) cmd.updateStackAtSave() if game_init.regenerateInit(): self.myMapExplorerWidget.reloadInitFile()
def deleteMap(self, item): mapForDeletion = self.initFile['LevelsList'][item.text()] gamefolder = current_project.settings["gamefolder"] target_to_delete = os.path.join(gamefolder,fifl.LEVELS,mapForDeletion) if(os.path.basename(current_project.settings["workingFile"])!=mapForDeletion): reply = QtWidgets.QMessageBox.question(self, 'Delete?', 'Do you really wish to delete:\n'+mapForDeletion, QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No) if reply == QtWidgets.QMessageBox.Yes: osremove(target_to_delete) game_init.regenerateInit() self.reloadInitFile() else: QtWidgets.QMessageBox.information(self, 'Delete Problem', "Can't delete a map while it's open in the map editor.", QtWidgets.QMessageBox.Ok )
def __newFile(self, returnedNFD): current_project.settings["gamefolder"] = str(returnedNFD["gameFolder"]) self.levelName = str(returnedNFD["name"]) current_project.settings["workingFile"] = os.path.join( current_project.settings["gamefolder"], fifl.LEVELS, self.levelName + ".map.json") self.setWindowTitle(current_project.settings["workingFile"]) palette = os.path.join( current_project.settings["gamefolder"], fifl.LEVELS,returnedNFD["palette"]) self.myMap.new(self.levelName, returnedNFD[ "width"], returnedNFD["height"], palette) self.myTileSet = tile_set.TileSet(os.path.join( current_project.settings["gamefolder"], self.myMap.tileImage), self.myMap.palette) self.myMapWidget.DrawMap(self) self.gridViewAction.setChecked(False) # gambiarra self.myPaletteWidget.drawPalette(self.myTileSet) self.myEventsWidget.updateEventsList() self.myCharasPalWidget.reinit() game_init.regenerateInit() hasinit = self.myMapExplorerWidget.reloadInitFile() self.setEnabledAll(hasinit == True) self.changeTileCurrent(0) cmd.clearCommandStack()
def saveFileAs(self): filename, extension = QtWidgets.QFileDialog.getSaveFileName( self, 'Save File', os.path.expanduser("~"), 'JSON Game Level (*.map.json)') if filename[0] != "": if filename[-9:] != '.map.json': filename += '.map.json' current_project.settings["workingFile"] = filename self.myMap.save(current_project.settings["workingFile"]) cmd.updateStackAtSave() if game_init.regenerateInit(): self.myMapExplorerWidget.reloadInitFile()
def __charasetOpen(self, filename): print(filename) if os.path.isfile(filename): self.csetsList.clear() self.animNames.clear() self.animList.clear() game_init.regenerateInit() self.cset.load(filename) self.csetsOpenEdit.setText(os.path.splitext(os.path.basename(filename))[0] ) print(os.path.splitext(os.path.basename(filename))[0]) self.ssettings["gamefolder"] = os.path.abspath( os.path.join(os.path.dirname(str(filename)), "../../")) self.__imgOpen(os.path.join(self.ssettings[ "gamefolder"], fifl.IMG, self.cset.jsonTree["Charaset"]["tileImage"])) for charset in self.cset.jsonTree["Charaset"]: if(charset != "tileImage"): self.csetsList.addItem( csetsItem(charset, self.cset.jsonTree["Charaset"][charset]))