Пример #1
0
    def initWithPalette(self, image_file, tilePalette):
        self.tileset = {}
        self.boxsize = 32
        bxsz = self.boxsize
        self.tilePalette = tilePalette
        v = self.tilePalette

        if(self.fakefolder):
            self.imageFile = img_util.open(getdata.path('tile.png'))
        else:
            self.imageFile = img_util.open(image_file)
        if self.imageFile.size[0] % self.boxsize == 0 and self.imageFile.size[1] % self.boxsize == 0:
            if isinstance(self.tilePalette, dict):
                # remember: crop uses (( and )) because it is converting the
                # elements inside in coordinates
                self.tileset[0]=emptyTile
                sorted_keys = sorted(self.tilePalette, key=int)
                for k in sorted_keys:
                    #print("P Type= ", k, "  X= " ,v[k][0], "  Y= " , v[k][1])
                    #self.tileset.append( self.imageFile.crop((bxsz*v[k][0],bxsz*v[k][1],bxsz*v[k][0] + bxsz, bxsz*v[k][1] + bxsz)) )
                    imageTemp = self.imageFile.crop(
                        (bxsz * v[k][0], bxsz * v[k][1], bxsz * v[k][0] + bxsz, bxsz * v[k][1] + bxsz))
                    self.tileset[int(k)]=(imageTemp,
                                    imageTemp.resize((bxsz * 2, bxsz * 2), Image.NEAREST),
                                    imageTemp.resize((int(bxsz * 0.5), int(bxsz * 0.5)), Image.NEAREST))
Пример #2
0
    def initWithPalette(self, image_file, tilePalette):
        self.tileset = {}
        self.boxsize = 32
        bxsz = self.boxsize
        self.tilePalette = tilePalette
        v = self.tilePalette

        if(self.fakefolder):
            self.imageFile = img_util.open(getdata.path('tile.png'))
        else:
            self.imageFile = img_util.open(image_file)
        if self.imageFile.size[0] % self.boxsize == 0 and self.imageFile.size[1] % self.boxsize == 0:
            if isinstance(self.tilePalette, dict):
                # remember: crop uses (( and )) because it is converting the
                # elements inside in coordinates
                self.tileset[0]=emptyTile
                sorted_keys = sorted(self.tilePalette, key=int)
                for k in sorted_keys:
                    #print("P Type= ", k, "  X= " ,v[k][0], "  Y= " , v[k][1])
                    #self.tileset.append( self.imageFile.crop((bxsz*v[k][0],bxsz*v[k][1],bxsz*v[k][0] + bxsz, bxsz*v[k][1] + bxsz)) )
                    imageTemp = self.imageFile.crop(
                        (bxsz * v[k][0], bxsz * v[k][1], bxsz * v[k][0] + bxsz, bxsz * v[k][1] + bxsz))
                    self.tileset[int(k)]=(imageTemp,
                                    imageTemp.resize((bxsz * 2, bxsz * 2), Image.NEAREST),
                                    imageTemp.resize((int(bxsz * 0.5), int(bxsz * 0.5)), Image.NEAREST))
Пример #3
0
 def __init__(self, actionAndParameter):
     #super().__init__(str(actionAndParameter))
     QtWidgets.QListWidgetItem.__init__(self, '')
     self.setText('["' + actionAndParameter[0] + '","' +
                  actionAndParameter[1] + '"]')
     self.setData(QtCore.Qt.UserRole, actionAndParameter)
     self.setIcon(
         QtGui.QIcon(
             getdata.path('actions/' + actionAndParameter[0] + '.png')))
Пример #4
0
    def __init__ (self, parent=None):
        QtWidgets.QDialog.__init__(self, parent)
        self.engine = QtHelp.QHelpEngine(getdata.path('fgmk.qhc'), self)
        self.engine.setupData()
        self.engine.registerDocumentation(getdata.path('fgmk.qch'))
        self.engine.searchEngine().reindexDocumentation()

        self.querySearch = self.engine.searchEngine().queryWidget()
        self.resultSearch = self.engine.searchEngine().resultWidget()
        splitter = QtWidgets.QSplitter(orientation=QtCore.Qt.Horizontal)
        self.browser = HelpBrowser(self.engine, self)
        tWidget = QtWidgets.QTabWidget(self);

        searcWidget = QtWidgets.QWidget(self)
        VBox = QtWidgets.QVBoxLayout(searcWidget)

        VBox.addWidget(self.querySearch)
        VBox.addWidget(self.resultSearch)

        tWidget.setMaximumWidth(200);
        self.hcontent = self.engine.contentWidget()
        self.hindex = self.engine.indexWidget()

        tWidget.addTab(self.hcontent, "Contents")
        #tWidget.addTab(self.hindex, "Index");
        tWidget.addTab(searcWidget, "Search")

        self.hcontent.expandToDepth(2)
        self.hcontent.setExpandsOnDoubleClick(False)
        self.hcontent.linkActivated.connect(self.browser.setSource)
        self.hindex.linkActivated.connect(self.browser.setSource)
        self.resultSearch.requestShowLink.connect(self.browser.setSource)
        self.querySearch.search.connect(self.search)

        splitter.addWidget(tWidget)
        splitter.addWidget(self.browser)
        splitter.setSizes((160,440))

        hlayout = QtWidgets.QHBoxLayout(self)
        hlayout.addWidget(splitter)
        self.browser.setSource(QtCore.QUrl('qthelp://org.sphinx.fgmk.'+ __version__ +'/doc/index.html'))
        #self.setLayout(hlayout)
        self.resize(800, 600)
        self.setWindowTitle(u'%s help' % __title__)
Пример #5
0
    def __init__(self, parent=None, **kwargs):
        #super().__init__(parent, **kwargs)
        QtWidgets.QWidget.__init__(self, parent, **kwargs)

        self.menuTileset = tile_set.TileSet(
            getdata.path('map_explorer_icons.png'))
        self.scale = 0.5

        iconGrid = QtWidgets.QGridLayout()

        iconHBoxL = QtWidgets.QHBoxLayout()
        iconHBoxL.setAlignment(QtCore.Qt.AlignLeft)
        iconGrid.addLayout(iconHBoxL, 0, 0, QtCore.Qt.AlignLeft)

        iconHBoxR = QtWidgets.QHBoxLayout()
        iconHBoxR.setAlignment(QtCore.Qt.AlignRight)
        iconGrid.addLayout(iconHBoxR, 0, 1, QtCore.Qt.AlignRight)

        #the last element will be left at the right corner
        #I want the trash to be always the last element
        iconName = ["new", "open", "trash"]
        iconHelp = [
            "creates a new map file",
            "opens a map file. Same as double clicking.", "deletes a map file."
        ]
        self.menuIcons = []

        for i in range(len(iconName)):
            self.menuIcons.append(base_tile.QTile(self))
            self.menuIcons[-1].initTile(self.menuTileset.tileset, 0, 0,
                                        self.menuTileset.boxsize,
                                        [0, 0, i + 1, 0, 0], self.scale)
            self.menuIcons[-1].setObjectName(iconName[i])
            self.menuIcons[-1].setToolTip(iconName[i] + "\nWhen clicked, " +
                                          iconHelp[i])
            self.menuIcons[-1].clicked.connect(self.clickedOnIcon)
            if (i < len(iconName) - 1):
                iconHBoxL.addWidget(self.menuIcons[-1])
            else:
                iconHBoxR.addWidget(self.menuIcons[-1])

        self.parent = parent
        self.LvlLWidget = QtWidgets.QListWidget(self)
        self.VBox = QtWidgets.QVBoxLayout(self)
        self.VBox.setAlignment(QtCore.Qt.AlignTop)
        self.VBox.addLayout(iconGrid)
        self.VBox.addWidget(self.LvlLWidget)
        self.levelList = []
        self.mapForOpen = ''
        self.LvlLWidget.itemDoubleClicked.connect(self.openMapItem)
        #self.LvlLWidget.itemClicked.connect(self.doubleClickedForOpen)

        self.show()
Пример #6
0
    def __init__(self, parent=None, **kwargs):
        #super().__init__(parent, **kwargs)
        QtWidgets.QWidget.__init__(self, parent, **kwargs)

        self.menuTileset = tile_set.TileSet(getdata.path('map_explorer_icons.png'))
        self.scale = 0.5

        iconGrid = QtWidgets.QGridLayout()

        iconHBoxL = QtWidgets.QHBoxLayout()
        iconHBoxL.setAlignment(QtCore.Qt.AlignLeft)
        iconGrid.addLayout(iconHBoxL, 0,0, QtCore.Qt.AlignLeft)

        iconHBoxR = QtWidgets.QHBoxLayout()
        iconHBoxR.setAlignment(QtCore.Qt.AlignRight)
        iconGrid.addLayout(iconHBoxR, 0,1, QtCore.Qt.AlignRight)

        #the last element will be left at the right corner
        #I want the trash to be always the last element
        iconName = ["new","open","trash"]
        iconHelp = ["creates a new map file",
                    "opens a map file. Same as double clicking.",
                    "deletes a map file."]
        self.menuIcons = []

        for i in range(len(iconName)):
            self.menuIcons.append(base_tile.QTile(self))
            self.menuIcons[-1].initTile(self.menuTileset.tileset, 0, 0,
                                        self.menuTileset.boxsize,
                                        [0, 0, i+1, 0, 0], self.scale)
            self.menuIcons[-1].setObjectName(iconName[i])
            self.menuIcons[-1].setToolTip(iconName[i] + "\nWhen clicked, " + iconHelp[i])
            self.menuIcons[-1].clicked.connect(self.clickedOnIcon)
            if(i<len(iconName)-1):
                iconHBoxL.addWidget(self.menuIcons[-1])
            else:
                iconHBoxR.addWidget(self.menuIcons[-1])


        self.parent = parent
        self.LvlLWidget = QtWidgets.QListWidget(self)
        self.VBox = QtWidgets.QVBoxLayout(self)
        self.VBox.setAlignment(QtCore.Qt.AlignTop)
        self.VBox.addLayout(iconGrid)
        self.VBox.addWidget(self.LvlLWidget)
        self.levelList = []
        self.mapForOpen = ''
        self.LvlLWidget.itemDoubleClicked.connect(self.openMapItem)
        #self.LvlLWidget.itemClicked.connect(self.doubleClickedForOpen)

        self.show()
Пример #7
0
 def __newProject(self, returnedNFD):
     current_projectectPath = os.path.join(
         str(returnedNFD["baseFolder"]), str(returnedNFD["name"]))
     current_project.settings["basefolder"] = str(returnedNFD["baseFolder"])
     current_project.settings["gamefolder"] = current_projectectPath
     current_project.settings["gamename"] = str(returnedNFD["name"])
     os.mkdir(current_projectectPath)
     tar = tarfile.open(getdata.path("basegame.tar.gz"))
     tar.extractall(current_projectectPath)
     tar.close()
     initfile = game_init.openInitFile(current_project.settings["gamefolder"])
     levellist = initfile["LevelsList"]
     startlevel = initfile['World']['initLevel']
     levelfile = levellist[startlevel]
     self.openFileByName(os.path.join(current_project.settings["gamefolder"],fifl.LEVELS,levelfile))
Пример #8
0
def load_example():
    exampleProject = {"name": "example", "baseFolder": temp.mkdtemp()}
    current_projectectPath = os.path.join(str(exampleProject["baseFolder"]),
                                          str(exampleProject["name"]))
    current_project.settings["basefolder"] = str(exampleProject["baseFolder"])
    current_project.settings["gamefolder"] = current_projectectPath
    current_project.settings["gamename"] = str(exampleProject["name"])
    os.mkdir(current_projectectPath)
    tar = tarfile.open(getdata.path("example.tar.gz"))
    tar.extractall(current_projectectPath)
    tar.close()
    initfile = game_init.openInitFile(current_project.settings["gamefolder"])
    levellist = initfile["LevelsList"]
    startlevel = initfile['World']['initLevel']
    levelfile = levellist[startlevel]
    return levelfile
Пример #9
0
def load_example():
    exampleProject = {'name': 'example', 'baseFolder': temp.mkdtemp()}
    current_projectectPath = os.path.join(
        str(exampleProject['baseFolder']), str(exampleProject['name']))
    current_project.settings['basefolder'] = str(exampleProject['baseFolder'])
    current_project.settings['gamefolder'] = current_projectectPath
    current_project.settings['gamename'] = str(exampleProject['name'])
    os.mkdir(current_projectectPath)
    tar = tarfile.open(getdata.path('example.tar.gz'))
    tar.extractall(current_projectectPath)
    tar.close()
    initfile = game_init.openInitFile(current_project.settings['gamefolder'])
    levellist = initfile['LevelsList']
    startlevel = initfile['World']['initLevel']
    levelfile = levellist[startlevel]
    return levelfile
Пример #10
0
    def __init__(self, parent=None, **kwargs):
        #super().__init__(parent, **kwargs)
        QtWidgets.QWidget.__init__(self, parent, **kwargs)

        self.parent = parent
        self.scale = 2

        self.toolTileset = tile_set.TileSet(getdata.path('tools.png'))

        self.FBox = FlowLayout(self)

        TOOLSTARTINGTILE = 6
        ToolsName = [
            "pen", "dropper", "bucket", "line", "rectangle", "charaplacer",
            "pan"
        ]
        ToolsHelp = [
            "click to change tile to selected tile",
            "click to get tile type and set to selected tile",
            "click to fill area with selected tile",
            "click once to set starting point and again to set ending point",
            "click once to set first corner and again to set opposing corner",
            "places a chara on a selected spot",
            "click and hold to pan the map"
        ]
        self.MaxTools = len(ToolsName)
        self.ToolTile = []

        self.lastLeftClickTool = 0
        self.lastLeftClickTool = 1

        for i in range(self.MaxTools):
            self.ToolTile.append(base_tile.QTile(self))
            self.ToolTile[-1].initTile(self.toolTileset.tileset, 0, 0,
                                       self.toolTileset.boxsize,
                                       [0, 0, TOOLSTARTINGTILE + i, 0, 0],
                                       self.scale)
            self.ToolTile[-1].setObjectName(ToolsName[i])
            self.ToolTile[-1].setToolTip(ToolsName[i] + "\nWhen selected, " +
                                         ToolsHelp[i])
            self.ToolTile[-1].clicked.connect(self.toolLeftClicked)
            self.ToolTile[-1].rightClicked.connect(self.toolRightClicked)
            self.FBox.addWidget(self.ToolTile[-1])

        self.updateToolTiles()
        self.show()
Пример #11
0
    def new(self, tlevelName, levelWidth, levelHeight, palettepath=None):

        if palettepath is None:
            f = open(getdata.path('default.pal.json'), 'r')
            levelPalette = json.load(f)
            f.close()
        else:
            f = open(os.path.join(palettepath), 'r')
            levelPalette = json.load(f)
            f.close()

        self.listOfEvents = []
        self.listOfCharas = []
        self.listOfEventsTypes = dict()
        self.listOfActions = dict()

        self.jsonTree = {
            "Level": {
                "levelName": tlevelName,
                LayersName[0]: tMat.mnZeros(levelWidth, levelHeight),
                LayersName[1]: tMat.mnZeros(levelWidth, levelHeight),
                LayersName[2]: tMat.mnZeros(levelWidth, levelHeight),
                LayersName[3]: tMat.mnZeros(levelWidth, levelHeight),
                LayersName[4]: tMat.mnZeros(levelWidth, levelHeight),
                "tiles": levelPalette['tiles'],
                "tileImage": levelPalette['tileImage'],
                "tilesAnimated": levelPalette['tilesAnimated'],
                "eventsType": self.listOfEventsTypes,
                "eventsActions": self.listOfActions,
                "charas": self.listOfCharas
            }
        }
        self.LayersMapTiles = np.array((self.jsonTree['Level'][LayersName[0]],
                                        self.jsonTree['Level'][LayersName[1]],
                                        self.jsonTree['Level'][LayersName[2]],
                                        self.jsonTree['Level'][LayersName[3]],
                                        self.jsonTree['Level'][LayersName[4]]))

        self.palette = self.jsonTree['Level']['tiles']
        self.tileImage = self.jsonTree['Level']['tileImage']
        self.tilesAnimated = self.jsonTree['Level']['tilesAnimated']
        self.levelName = self.jsonTree['Level']['levelName']
Пример #12
0
    def new(self, tlevelName, levelWidth, levelHeight, palettepath=None):

        if palettepath is None:
            f = open(getdata.path('default.pal.json'), 'r')
            levelPalette = json.load(f)
            f.close()
        else:
            f = open(os.path.join(palettepath), 'r')
            levelPalette = json.load(f)
            f.close()

        self.listOfEvents = []
        self.listOfCharas = []
        self.listOfEventsTypes = dict()
        self.listOfActions = dict()

        self.jsonTree = {"Level":
                         {
                             "levelName": tlevelName,
                             LayersName[0]: tMat.mnZeros(levelWidth, levelHeight),
                             LayersName[1]: tMat.mnZeros(levelWidth, levelHeight),
                             LayersName[2]: tMat.mnZeros(levelWidth, levelHeight),
                             LayersName[3]: tMat.mnZeros(levelWidth, levelHeight),
                             LayersName[4]: tMat.mnZeros(levelWidth, levelHeight),
                             "tiles": levelPalette['tiles'],
                             "tileImage": levelPalette['tileImage'],
                             "tilesAnimated": levelPalette['tilesAnimated'],
                             "eventsType": self.listOfEventsTypes,
                             "eventsActions": self.listOfActions,
                             "charas": self.listOfCharas
                         }
                         }
        self.LayersMapTiles = np.array((self.jsonTree['Level'][LayersName[0]],
                                        self.jsonTree['Level'][LayersName[1]],
                                        self.jsonTree['Level'][LayersName[2]],
                                        self.jsonTree['Level'][LayersName[3]],
                                        self.jsonTree['Level'][LayersName[4]]))

        self.palette = self.jsonTree['Level']['tiles']
        self.tileImage = self.jsonTree['Level']['tileImage']
        self.tilesAnimated = self.jsonTree['Level']['tilesAnimated']
        self.levelName = self.jsonTree['Level']['levelName']
Пример #13
0
    def __init__(self, parent=None, **kwargs):
        #super().__init__(parent, **kwargs)
        QtWidgets.QWidget.__init__(self, parent, **kwargs)

        self.parent = parent
        self.scale = 2

        self.toolTileset = tile_set.TileSet(getdata.path('tools.png'))

        self.FBox = FlowLayout(self)

        TOOLSTARTINGTILE = 6
        ToolsName = ["pen", "dropper", "bucket",
                     "line", "rectangle", "charaplacer","pan"]
        ToolsHelp = ["click to change tile to selected tile",
                     "click to get tile type and set to selected tile",
                     "click to fill area with selected tile",
                     "click once to set starting point and again to set ending point",
                     "click once to set first corner and again to set opposing corner",
                     "places a chara on a selected spot",
                     "click and hold to pan the map"]
        self.MaxTools = len(ToolsName)
        self.ToolTile = []

        self.lastLeftClickTool = 0
        self.lastLeftClickTool = 1

        for i in range(self.MaxTools):
            self.ToolTile.append(base_tile.QTile(self))
            self.ToolTile[-1].initTile(self.toolTileset.tileset, 0, 0, self.toolTileset.boxsize, [
                                       0, 0, TOOLSTARTINGTILE + i, 0, 0], self.scale)
            self.ToolTile[-1].setObjectName(ToolsName[i])
            self.ToolTile[-1].setToolTip(ToolsName[i] +
                                         "\nWhen selected, " + ToolsHelp[i])
            self.ToolTile[-1].clicked.connect(self.toolLeftClicked)
            self.ToolTile[-1].rightClicked.connect(self.toolRightClicked)
            self.FBox.addWidget(self.ToolTile[-1])

        self.updateToolTiles()
        self.show()
Пример #14
0
    def __init__(self, psSettings, parent=None, nothis=False, **kwargs):
        #super().__init__(parent, **kwargs)
        QtWidgets.QDialog.__init__(self, parent, **kwargs)

        self.psSettings = psSettings
        self.nothis = nothis

        self.mainVBox = QtWidgets.QVBoxLayout(self)
        self.mainVBox.setAlignment(QtCore.Qt.AlignTop)

        self.scrollArea = QtWidgets.QScrollArea()
        self.scrollArea.setWidgetResizable(True)
        self.mainVBox.addWidget(self.scrollArea)

        self.insideScrollArea = QtWidgets.QWidget(self.scrollArea)
        self.scrollArea.setWidget(self.insideScrollArea)

        self.VBox = QtWidgets.QVBoxLayout(self.insideScrollArea)
        self.VBox.setAlignment(QtCore.Qt.AlignTop)
        self.insideScrollArea.setLayout(self.VBox)

        filepath = getdata.path('actionsList.json')
        f = open(filepath, "r")
        e = json.load(f)
        f.close()

        self.parent = parent
        self.actionButton = []

        for action in e["actionOrder"]:
            self.actionButton.append(ActionButton(action=action, parent=self))
            self.VBox.addWidget(self.actionButton[-1])
            self.actionButton[-1].clicked.connect(self.getAction)

        self.setGeometry(300, 40, 350, 650)
        self.setLayout(self.mainVBox)
        self.setWindowTitle('Select Action to add...')

        self.show()
Пример #15
0
    def __init__(self,mappalette=None, parent=None, ssettings={}, palettefiles=None, **kwargs):
        QtWidgets.QDialog.__init__(self, parent, **kwargs)

        #this will create a undo stack
        self.undostack = QtWidgets.QUndoStack(self)

        #this block creates the outer scroll area
        self.mainVBox = QtWidgets.QVBoxLayout(self)
        self.mainVBox.setAlignment(QtCore.Qt.AlignTop)
        scrollArea = QtWidgets.QScrollArea()
        scrollArea.setWidgetResizable(True)
        self.mainVBox.addWidget(scrollArea)
        insideScrollArea = QtWidgets.QWidget(scrollArea)
        scrollArea.setWidget(insideScrollArea)
        VBox = QtWidgets.QVBoxLayout(insideScrollArea)
        VBox.setAlignment(QtCore.Qt.AlignTop)
        insideScrollArea.setLayout(VBox)

        #this will create the basic palette editor widget
        self.myPalWidget = PaletteCfgWidget(parent=self)
        self.PalscrollArea = QtWidgets.QScrollArea(self)
        self.PalscrollArea.setWidget(self.myPalWidget)

        #adding a toolbar
        self.toolbar = QtWidgets.QToolBar(self)
        self.toolbar.addAction("new\npalette",self.myPalWidget.new)
        self.toolbar.addAction("open\npalette",self.openPalette)
        self.toolbar.addAction("save\npalette",self.savePalette)
        self.toolbar.addAction("save\npalette as..",self.savePaletteAs)
        self.toolbar.addAction("open\nimage",self.openImage)
        if(current_project.settings['gamefolder'] == ''):
            self.toolbar.addAction("open\ngame project",self.openProject)

        #this will add id and anim control
        undoaction = self.undostack.createUndoAction(self, self.tr("&Undo"))
        redoaction = self.undostack.createRedoAction(self, self.tr("&Redo"))
        self.toolbar.addAction(undoaction)
        self.toolbar.addAction(redoaction)

        maxpixmap = QtGui.QPixmap(getdata.path('icon_max.png'))
        maxp1pixmap = QtGui.QPixmap(getdata.path('icon_max_p1.png'))
        zeropixmap = QtGui.QPixmap(getdata.path('icon_zero.png'))
        maxicon = QtGui.QIcon(maxpixmap)
        maxp1icon = QtGui.QIcon(maxp1pixmap)
        zeroicon = QtGui.QIcon(zeropixmap)
        labelIdCurrent = QtWidgets.QLabel("Tile Nº")
        self.tileSpinbox = QtWidgets.QSpinBox(self)
        self.tileSpinbox.setToolTip("Tile 0 means not selected.")
        self.tileSpinbox.setMinimum(0)
        self.tileSpinbox.setMaximum(299)
        self.tileSpinbox.setSingleStep(1)
        self.tileSpinbox.valueChanged.connect(self.myPalWidget.changeTileIdCurrent)
        tileMaxP1 = QtWidgets.QPushButton()
        tileMaxP1.setIcon(maxp1icon)
        tileMaxP1.setIconSize(maxp1pixmap.rect().size())
        tileMaxP1.clicked.connect(self.maxTileSpinboxP1)
        tileMaxP1.show()
        tileMax = QtWidgets.QPushButton()
        tileMax.setIcon(maxicon)
        tileMax.setIconSize(maxpixmap.rect().size())
        tileMax.clicked.connect(self.maxTileSpinbox)
        tileMax.show()
        tileZero = QtWidgets.QPushButton()
        tileZero.setIcon(zeroicon)
        tileZero.setIconSize(zeropixmap.rect().size())
        tileZero.clicked.connect(self.zeroTileSpinbox)
        tileZero.show()
        labelAnimCurrent = QtWidgets.QLabel("Tile Animated")
        self.animSpinbox = QtWidgets.QSpinBox(self)
        self.animSpinbox.setToolTip("0 means not animated.")
        self.animSpinbox.setMinimum(0)
        self.animSpinbox.setMaximum(4)
        self.animSpinbox.setSingleStep(1)
        self.animSpinbox.valueChanged.connect(self.myPalWidget.changeAnimIdCurrent)
        animMax = QtWidgets.QPushButton()
        animMax.setIcon(maxicon)
        animMax.setIconSize(maxpixmap.rect().size())
        animMax.clicked.connect(self.maxAnimSpinbox)
        animMax.show()
        animZero = QtWidgets.QPushButton()
        animZero.setIcon(zeroicon)
        animZero.setIconSize(zeropixmap.rect().size())
        animZero.clicked.connect(self.zeroAnimSpinbox)
        animZero.show()
        SpinHBox=QtWidgets.QHBoxLayout()
        SpinHBox.setAlignment(QtCore.Qt.AlignLeft)
        SpinHBox.addWidget(labelIdCurrent)
        SpinHBox.addWidget(self.tileSpinbox)
        SpinHBox.addWidget(tileMaxP1)
        SpinHBox.addWidget(tileMax)
        SpinHBox.addWidget(tileZero)
        SpinHBox.addWidget(labelAnimCurrent)
        SpinHBox.addWidget(self.animSpinbox)
        SpinHBox.addWidget(animMax)
        SpinHBox.addWidget(animZero)

        VBox.addWidget(self.toolbar)
        VBox.addLayout(SpinHBox)
        VBox.addWidget(self.PalscrollArea)

        if(mappalette!=None):
            self.openMapPalette(mappalette)
        elif(palettefiles!=None):
            if os.path.isfile(os.path.join(palettefiles[0])):
                # if path is absolute
                self.myPalWidget.LoadPal(os.path.join(palettefiles[0]))
            elif os.path.isfile(os.path.join(os.getcwd(),palettefiles[0])):
                # if path is relative
                self.myPalWidget.LoadPal(os.path.join(os.getcwd(),palettefiles[0]))
Пример #16
0
 def __init__(self, action='noEffect', parent=None):
     icon = QtGui.QIcon(getdata.path('actions/'+action+'.png'))
     QtWidgets.QPushButton.__init__(self,icon, action, parent)
     self.setMaximumWidth(330)
     self.setMinimumWidth(80)
     self.setMinimumHeight(24)
Пример #17
0
# -*- coding: utf-8 -*-
from PIL import Image
from PIL.ImageQt import ImageQt

from fgmk import tMat, getdata, current_project
from fgmk.util import img_util

emptyTile = img_util.open(getdata.path('emptyTile.png'))

class TileSet:
    """
    A TileSet has the property tileset which contains the image_file broken in
    boxsized (32px) square images. You can specify how to treat the image_file
    by passing a tilePalette along
    """
    def __init__(self, image_file, tilePalette=None):
        self.fakefolder = False
        if(current_project.settings['gamefolder'] == ''):
            self.fakefolder = True

        if tilePalette is None:
            self.initWithoutPalette(image_file)
        else:
            self.initWithPalette(image_file, tilePalette)

    def initWithoutPalette(self, image_file):
        self.tileset = {}
        self.boxsize = 32
        self.imageFile = img_util.open(image_file)
        if self.imageFile.size[0] % self.boxsize == 0 and self.imageFile.size[1] % self.boxsize == 0:
            currentx = 0
Пример #18
0
def Icon():
    return QtGui.QPixmap(getdata.path('icon.png'))
Пример #19
0
# -*- coding: utf-8 -*-
from PIL import Image
from PIL.ImageQt import ImageQt

from fgmk import tMat, getdata, current_project
from fgmk.util import img_util

emptyTile = img_util.open(getdata.path('emptyTile.png'))

class TileSet:
    """
    A TileSet has the property tileset which contains the image_file broken in
    boxsized (32px) square images. You can specify how to treat the image_file
    by passing a tilePalette along
    """
    def __init__(self, image_file, tilePalette=None):
        self.fakefolder = False
        if(current_project.settings['gamefolder'] == ''):
            self.fakefolder = True

        if tilePalette is None:
            self.initWithoutPalette(image_file)
        else:
            self.initWithPalette(image_file, tilePalette)

    def initWithoutPalette(self, image_file):
        self.tileset = {}
        self.boxsize = 32
        self.imageFile = img_util.open(image_file)
        if self.imageFile.size[0] % self.boxsize == 0 and self.imageFile.size[1] % self.boxsize == 0:
            currentx = 0