def change_text(self, button_index):
     text_screens = {
             'btn_finances' : lambda:get_relations_text(VS.getPlayer()),
             'btn_manifest' : lambda:get_manifest_text(VS.getPlayer()),
             'btn_missions' : lambda:get_missions_text()
             }
     if button_index in text_screens:
         self.txt_screen.setText( text_screens[button_index]() )
         self.txt_screen.show()
         self.picker_screen.hide()
     elif button_index == "btn_load":
         if self.mode != button_index:
             self.picker_screen.items = savelist()
             self.picker_screen.show()
             self.txt_screen.hide()
         elif self.picker_screen.selection is not None:
             ShowProgress.activateProgressScreen('loading',3)
             import dj_lib
             dj_lib.enable()
             game = self.picker_screen.items[self.picker_screen.selection].data
             if not Director.isUtf8SaveGame(game):
                 alert = f'  {game} is not UTF-8, convert it before loading'
                 print(alert)
                 self.alert_text = GUI.GUIStaticText(self.guiroom, 'txt_screen', alert,
                     GUI.GUIRect(40, 60, 438, 100, 'pixel', (800,600)),
                     color=GUI.GUIColor(255, 255, 255), bgcolor=GUI.GUIColor(0, 0, 0))
                 self.alert_text.show()
                 return
             else:
                 VS.loadGame(game)
     elif button_index == "btn_save":
         if self.mode != button_index:
             self.picker_screen.items = [GUI.GUISimpleListPicker.listitem("New Game",NewSaveGame)]+savelist()
             self.picker_screen.show()
             self.txt_screen.hide()
         elif self.picker_screen.visible and self.picker_screen.items[self.picker_screen.selection].data is not NewSaveGame:
             self.picker_screen.hide()
             self.txt_screen.setText(
                     "\n"*7+
                     "Are you sure you want to overwrite the savegame?\n(%s)"%
                             self.picker_screen.items[self.picker_screen.selection]
                     +"\n"*3
                     +"Press SAVE again to do it." )
             self.txt_screen.show()
         elif self.picker_screen.selection is not None:
             if self.picker_screen.items[self.picker_screen.selection].data is NewSaveGame:
                 VS.saveGame(makeNewSaveName())
             else:
                 VS.saveGame(self.picker_screen.items[self.picker_screen.selection].data)
             self.picker_screen.items = [GUI.GUISimpleListPicker.listitem("New Game",NewSaveGame)]+savelist()
             self.picker_screen.show()
             self.txt_screen.hide()
     else:
         self.picker_screen.hide()
         self.txt_screen.hide()
     self.mode = button_index
Esempio n. 2
0
 def change_text(self, button_index):
     text_screens = {
         'btn_finances': lambda: get_relations_text(VS.getPlayer()),
         'btn_manifest': lambda: get_manifest_text(VS.getPlayer()),
         'btn_missions': lambda: get_missions_text()
     }
     if button_index in text_screens:
         self.txt_screen.setText(text_screens[button_index]())
         self.txt_screen.show()
         self.picker_screen.hide()
     elif button_index == "btn_load":
         if self.mode != button_index:
             self.picker_screen.items = savelist()
             self.picker_screen.show()
             self.txt_screen.hide()
         elif self.picker_screen.selection is not None:
             ShowProgress.activateProgressScreen('loading', 3)
             import dj_lib
             dj_lib.enable()
             VS.loadGame(self.picker_screen.items[
                 self.picker_screen.selection].data)
     elif button_index == "btn_save":
         if self.mode != button_index:
             self.picker_screen.items = [
                 GUI.GUISimpleListPicker.listitem("New Game", NewSaveGame)
             ] + savelist()
             self.picker_screen.show()
             self.txt_screen.hide()
         elif self.picker_screen.visible and self.picker_screen.items[
                 self.picker_screen.selection].data is not NewSaveGame:
             self.picker_screen.hide()
             self.txt_screen.setText(
                 "\n" * 7 +
                 "Are you sure you want to overwrite the savegame?\n(%s)" %
                 self.picker_screen.items[self.picker_screen.selection] +
                 "\n" * 3 + "Press SAVE again to do it.")
             self.txt_screen.show()
         elif self.picker_screen.selection is not None:
             if self.picker_screen.items[
                     self.picker_screen.selection].data is NewSaveGame:
                 VS.saveGame(makeNewSaveName())
             else:
                 VS.saveGame(self.picker_screen.items[
                     self.picker_screen.selection].data)
             self.picker_screen.items = [
                 GUI.GUISimpleListPicker.listitem("New Game", NewSaveGame)
             ] + savelist()
             self.picker_screen.show()
             self.txt_screen.hide()
     else:
         self.picker_screen.hide()
         self.txt_screen.hide()
     self.mode = button_index
def ReloadUniverse():
    global genUniverse, hasUniverse
    if cp >= 0:
        ShowProgress.activateProgressScreen("loading", force=True)
        debug.debug('Purging...')
        for i in fg_util.AllFactions():
            fg_util.PurgeZeroShips(i)
            systemcount[i] = 0
        debug.debug('StartSystemCount')
        ForEachSys(CountSystems)
        debug.debug(systemcount)
        debug.debug('EndSystemCount')
        genUniverse = 0
        needNewUniverse = 0
        curfaclist = fg_util.AllFactions()
        reflist = fg_util.ReadStringList(cp, "FactionRefList")

        if (reflist != curfaclist):
            needNewUniverse = 1
            debug.debug('reflist is ' + str(reflist))
            debug.debug('curfaclist is ' + str(curfaclist))

        if (fg_util.HasLegacyFGFormat()):
            needNewUniverse = 1
            debug.warn(
                'save using legacy FG format... resetting universe to reformat'
            )
            fg_util.DeleteLegacyFGLeftovers()

        if needNewUniverse:
            fg_util.WriteStringList(cp, "FactionRefList", curfaclist)
            debug.debug('generating ships... ... ...')
            GenerateAllShips(
            )  ###Insert number of flight groups and max ships per fg
            debug.debug('placing ships... ... ...')
            genUniverse = MakeUniverse()
            #now every system has distributed ships in the save data!
        else:
            GenerateAllShips()
            debug.debug("Second Load")
            for i in range(len(fgnames)):
                fg_util.origfgoffset = fgoffset[i]
                fgnames[i] = fg_util.TweakFGNames(origfgnames[i])
                fgoffset[i] += 1
        campaigns.loadAll(cp)
        hasUniverse = True
        #TODO: add ships to current system (for both modes)  uru?
        ShowProgress.deactivateProgressScreen('loading')
    else:
        debug.error('fatal error: no cockpit')
def ReloadUniverse():
  global genUniverse, hasUniverse
  if cp>=0:
    ShowProgress.activateProgressScreen("loading",force=True)
    debug.debug('Purging...')
    for i in fg_util.AllFactions():
        fg_util.PurgeZeroShips(i)
        systemcount[i]=0
    debug.debug('StartSystemCount')
    ForEachSys(CountSystems)
    debug.debug(systemcount)
    debug.debug('EndSystemCount')
    genUniverse=0
    needNewUniverse=0
    curfaclist = fg_util.AllFactions()
    reflist = fg_util.ReadStringList(cp,"FactionRefList")
    
    if (reflist !=curfaclist):
        needNewUniverse = 1
        debug.debug('reflist is '+str(reflist))
        debug.debug('curfaclist is '+str(curfaclist))

    if (fg_util.HasLegacyFGFormat()):
        needNewUniverse = 1
        debug.warn('save using legacy FG format... resetting universe to reformat')
        fg_util.DeleteLegacyFGLeftovers()

    if needNewUniverse:
        fg_util.WriteStringList(cp,"FactionRefList",curfaclist)
        debug.debug('generating ships... ... ...')
        GenerateAllShips() ###Insert number of flight groups and max ships per fg
        debug.debug('placing ships... ... ...')
        genUniverse=MakeUniverse()
        #now every system has distributed ships in the save data!
    else:
        GenerateAllShips()
        debug.debug("Second Load")
        for i in xrange(len(fgnames)):
            fg_util.origfgoffset=fgoffset[i]
            fgnames[i]=fg_util.TweakFGNames(origfgnames[i])
            fgoffset[i]+=1
    campaigns.loadAll(cp)
    hasUniverse=True;
    #TODO: add ships to current system (for both modes)  uru?
    ShowProgress.deactivateProgressScreen('loading')
  else:
    debug.error('fatal error: no cockpit')
Esempio n. 5
0
	def change_text(self, button_index):
		text_screens = {
			'btn_finances' : lambda:get_relations_text(VS.getPlayer()),
			'btn_manifest' : lambda:get_manifest_text(VS.getPlayer()),
			'btn_missions' : lambda:get_missions_text()
			}
		if button_index in text_screens:
			self.txt_screen.setText( text_screens[button_index]() )
			self.txt_screen.show()
			self.picker_screen.hide()
		elif button_index == "btn_load":
			if self.mode != button_index:
				self.picker_screen.items = savelist()
				self.picker_screen.show()
				self.txt_screen.hide()
			elif self.picker_screen.selection is not None:
				ShowProgress.activateProgressScreen('loading',3)
				import dj_lib
				dj_lib.enable()
				VS.loadGame(self.picker_screen.items[self.picker_screen.selection].data)
		elif button_index == "btn_save":
			if self.mode != button_index:
				self.picker_screen.items = [GUI.GUISimpleListPicker.listitem("New Game",NewSaveGame)]+savelist()
				self.picker_screen.show()
				self.txt_screen.hide()
			elif self.picker_screen.visible and self.picker_screen.items[self.picker_screen.selection].data is not NewSaveGame:
				self.picker_screen.hide()
				self.txt_screen.setText( 
					"\n"*7+
					"Are you sure you want to overwrite the savegame?\n(%s)"%
						self.picker_screen.items[self.picker_screen.selection]
					+"\n"*3
					+"Press SAVE again to do it." )
				self.txt_screen.show()
			elif self.picker_screen.selection is not None:
				if self.picker_screen.items[self.picker_screen.selection].data is NewSaveGame:
					VS.saveGame(makeNewSaveName())
				else:
					VS.saveGame(self.picker_screen.items[self.picker_screen.selection].data)
				self.picker_screen.items = [GUI.GUISimpleListPicker.listitem("New Game",NewSaveGame)]+savelist()
				self.picker_screen.show()
				self.txt_screen.hide()
		else:
			self.picker_screen.hide()
			self.txt_screen.hide()
		self.mode = button_index
 def NewSystemHousekeeping(self,oldsystem,newsystem):
     print oldsystem,' IS NOW AT ',newsystem
     print oldsystem.split('/')[0]
     if oldsystem.split('/')[0]=='Special':
         print 'Showing splash screen!'
         ShowProgress.activateProgressScreen('loading', 0)
     fg_util.launchBases(newsystem)
     fg_util.launchUnits(newsystem)
     news.newNews()
     newquest = adventure.newAdventure (self.cur_player,oldsystem,newsystem)
     if (newquest):
         self.cur.quests+=[newquest]
     else:
         self.RestoreDroneMission()
     self.CalculateSignificantDistance()
     ShowProgress.deactivateProgressScreen('loading')
     VS.hideSplashScreen()
 def NewSystemHousekeeping(self, oldsystem, newsystem):
     print(oldsystem, ' IS NOW AT ', newsystem)
     print(oldsystem.split('/')[0])
     if oldsystem.split('/')[0] == 'Special':
         print('Showing splash screen!')
         ShowProgress.activateProgressScreen('loading', 0)
     fg_util.launchBases(newsystem)
     fg_util.launchUnits(newsystem)
     news.newNews()
     newquest = adventure.newAdventure(self.cur_player, oldsystem,
                                       newsystem)
     if (newquest):
         self.cur.quests += [newquest]
     else:
         self.RestoreDroneMission()
     self.CalculateSignificantDistance()
     ShowProgress.deactivateProgressScreen('loading')
     VS.hideSplashScreen()
Esempio n. 8
0
def StartNewGame(self, params):
    print(" ;;; StartNewGame(self=%s, params=%s" % (str(self), str(params)))
    ShowProgress.activateProgressScreen('loading', 3)
    print(" ;;; VS.loadGame(VS.getNewGameSaveName=%s)" %
          (str(VS.getNewGameSaveName())))
    VS.loadGame(VS.getNewGameSaveName())
def DoStartNewGame(self,params):
	ShowProgress.activateProgressScreen('loading',3)
	VS.loadGame(VS.getNewGameSaveName())
	enterMainMenu(self, params)
Esempio n. 10
0
    def change_text(self, button_index):
        text_screens = {
            'btn_finances' : lambda:get_relations_text(VS.getPlayer()),
            'btn_manifest' : lambda:get_manifest_text(VS.getPlayer()),
            'btn_missions' : lambda:get_missions_text()
            }
        if button_index in text_screens:
            self.txt_screen.setText( text_screens[button_index]() )
            self.txt_screen.show()
            self.picker_screen.hide()
        elif button_index == "btn_load":
            if self.mode != button_index:
                self.picker_screen.items = savelist()
                self.picker_screen.show()
                self.txt_screen.hide()
            elif self.picker_screen.selection is not None:
                ShowProgress.activateProgressScreen('loading',3)
                VS.loadGame(self.picker_screen.items[self.picker_screen.selection].data)
        elif button_index == "btn_save":
            if self.mode != button_index:
                self.picker_screen.items = [
                    GUI.GUISimpleListPicker.listitem("New Game",NewSaveGame)
                    ]+savelist()
                self.picker_screen.show()
                self.txt_screen.hide()
            elif self.picker_screen.visible and self.picker_screen.items[self.picker_screen.selection].data is not NewSaveGame:
                self.picker_screen.hide()
                self.txt_screen.setText(
                    "\n"*7+
                    "Are you sure you want to overwrite the savegame?\n(%s)"%
                        self.picker_screen.items[self.picker_screen.selection]
                    +"\n"*3
                    +"Press SAVE again to do it." )
                self.txt_screen.show()
            elif self.picker_screen.selection is not None:
                savename = ''
                if self.picker_screen.items[self.picker_screen.selection].data is NewSaveGame:
                    savename = makeNewSaveName()
                    self.oldSaveName = None
                else:
                    savename = self.picker_screen.items[self.picker_screen.selection].data
                    self.oldSaveName = savename

                #enter a modal line editor
                boxloc = GUI.GUIRect(120,130,200,20,"pixel",(800,600))
                self.saveGameNameEntryBox = GUI.GUILineEdit(self.saveNameEntryEntered,
                                        self.guiroom,"box_save",
                                        savename, boxloc,
                                        self.screen_color,
                                        bgcolor=self.screen_bgcolor)
                for id in list(self.buttons.keys()):
                    button = self.buttons[id]
                    button.disable()
                    button.redraw()
                self.saveGameNameEntryBox.focus(True)
#               self.setExitLinkState(False)
                self.txt_screen.setText( 'Save Game:' )
                self.txt_screen.show()
                self.saveGameNameEntryBox.show()
                self.picker_screen.hide()
                self.lastEnteredSavegameName = None
                self.guiroom.redraw()

        else:
            self.picker_screen.hide()
            self.txt_screen.hide()
        self.mode = button_index
Esempio n. 11
0
def DoStartNewGame(self,params):
    global starting_new_game
    ShowProgress.activateProgressScreen('loading',3)
    VS.loadGame(VS.getNewGameSaveName())
    starting_new_game = False
    enterMainMenu(self,params)
Esempio n. 12
0
def StartNewGame(self,params):
    print(" ;;; StartNewGame(self=%s, params=%s" % (str(self), str(params)))
    ShowProgress.activateProgressScreen('loading',3)
    print(" ;;; VS.loadGame(VS.getNewGameSaveName=%s)" % (str(VS.getNewGameSaveName())))
    VS.loadGame(VS.getNewGameSaveName())
    def change_text(self, button_index):
        # this method performs the necessary action of a button click
        text_screens = {
            "btn_finances": lambda: get_relations_text(VS.getPlayer()),
            "btn_manifest": lambda: get_manifest_text(VS.getPlayer()),
            "btn_missions": lambda: get_missions_text(),
        }
        if button_index in text_screens:
            # show new text screen (finances, manifext, missions)
            self.txt_screen.setText(text_screens[button_index]())
            self.txt_screen.show()
            self.picker_screen.hide()
        elif button_index == "btn_load":
            # "load" button clicked
            if self.mode != button_index:
                # load list of saved games
                self.picker_screen.items = savelist()
                self.picker_screen.show()
                self.txt_screen.hide()
            elif self.picker_screen.selection is not None:
                # load selected saved game
                ShowProgress.activateProgressScreen("loading", 3)
                VS.loadGame(self.picker_screen.items[self.picker_screen.selection].data)
        elif button_index == "btn_save":
            # "save" button clicked
            if self.mode != button_index:
                # load list of saved games (to overwrite), or "New Game"
                self.picker_screen.items = [GUI.GUISimpleListPicker.listitem("New Game", NewSaveGame)] + savelist()
                self.picker_screen.show()
                self.txt_screen.hide()
            elif self.picker_screen.selection is not None:
                # a list item has been selected
                listItem = self.picker_screen.items[self.picker_screen.selection]

                if listItem.data is NewSaveGame:
                    # new game
                    # show save text box

                    savename = ""
                    # savename = makeNewSaveName()
                    self.oldSaveName = None  # why?

                    # enter a modal line editor
                    boxloc = GUI.GUIRect(120, 130, 200, 20, "pixel", (800, 600))
                    self.saveGameNameEntryBox = GUI.GUILineEdit(
                        self.saveNameEntryEntered,
                        self.guiroom,
                        "box_save",
                        savename,
                        boxloc,
                        self.screen_bgcolor,
                        bgcolor=self.screen_color,
                    )  #  use inverted fore/background colors; even better would be a box around input field
                    # disable all the buttons
                    for id in self.buttons.keys():
                        button = self.buttons[id]
                        button.disable()
                        button.redraw()
                        # self.setExitLinkState(False)
                    self.txt_screen.setText("Type name and press ENTER:")
                    self.txt_screen.show()
                    self.saveGameNameEntryBox.focus(True)
                    self.saveGameNameEntryBox.show()
                    self.picker_screen.hide()
                    self.lastEnteredSavegameName = None
                    self.guiroom.redraw()

                elif self.picker_screen.visible:
                    # not new game, and pick screen visible
                    # so, show confirm screen
                    trace(0, "::: picker_screen.visible")

                    self.picker_screen.hide()
                    self.txt_screen.setText(
                        "\n" * 7
                        + "Are you sure you want to overwrite the savegame?\n"  # (%s)"% listItem.data
                        + "\n" * 3
                        + "Press SAVE again to do it."
                    )
                    self.txt_screen.show()

                else:
                    # not new game, and pick screen not visible
                    # that means confirm screen IS visible, so do save
                    trace(0, "::: picker_screen NOT visible")

                    savename = self.picker_screen.items[self.picker_screen.selection].data
                    VS.saveGame(savename)
                    self.oldSaveName = savename

                    # redisplay saved list
                    self.picker_screen.items = [GUI.GUISimpleListPicker.listitem("New Game", NewSaveGame)] + savelist()
                    self.picker_screen.show()
                    self.txt_screen.hide()

                    # or should this call reset? or show "game saved" text?

        else:
            # some other button was pressed
            self.picker_screen.hide()
            self.txt_screen.hide()
        self.mode = button_index
Esempio n. 14
0
def DoStartNewGame(self,params):
    global starting_new_game
    ShowProgress.activateProgressScreen('loading',3)
    VS.loadGame(VS.getNewGameSaveName())
    starting_new_game = False
    enterMainMenu(self,params)
Esempio n. 15
0
    def change_text(self, button_index):
        text_screens = {
            'btn_finances': lambda: get_relations_text(VS.getPlayer()),
            'btn_manifest': lambda: get_manifest_text(VS.getPlayer()),
            'btn_missions': lambda: get_missions_text()
        }
        if button_index in text_screens:
            self.txt_screen.setText(text_screens[button_index]())
            self.txt_screen.show()
            self.picker_screen.hide()
        elif button_index == "btn_load":
            if self.mode != button_index:
                self.picker_screen.items = savelist()
                self.picker_screen.show()
                self.txt_screen.hide()
            elif self.picker_screen.selection is not None:
                ShowProgress.activateProgressScreen('loading', 3)
                VS.loadGame(self.picker_screen.items[
                    self.picker_screen.selection].data)
        elif button_index == "btn_save":
            if self.mode != button_index:
                self.picker_screen.items = [
                    GUI.GUISimpleListPicker.listitem("New Game", NewSaveGame)
                ] + savelist()
                self.picker_screen.show()
                self.txt_screen.hide()
            elif self.picker_screen.visible and self.picker_screen.items[
                    self.picker_screen.selection].data is not NewSaveGame:
                self.picker_screen.hide()
                self.txt_screen.setText(
                    "\n" * 7 +
                    "Are you sure you want to overwrite the savegame?\n(%s)" %
                    self.picker_screen.items[self.picker_screen.selection] +
                    "\n" * 3 + "Press SAVE again to do it.")
                self.txt_screen.show()
            elif self.picker_screen.selection is not None:
                savename = ''
                if self.picker_screen.items[
                        self.picker_screen.selection].data is NewSaveGame:
                    savename = makeNewSaveName()
                    self.oldSaveName = None
                else:
                    savename = self.picker_screen.items[
                        self.picker_screen.selection].data
                    self.oldSaveName = savename

                #enter a modal line editor
                boxloc = GUI.GUIRect(120, 130, 200, 20, "pixel", (800, 600))
                self.saveGameNameEntryBox = GUI.GUILineEdit(
                    self.saveNameEntryEntered,
                    self.guiroom,
                    "box_save",
                    savename,
                    boxloc,
                    self.screen_color,
                    bgcolor=self.screen_bgcolor)
                for id in list(self.buttons.keys()):
                    button = self.buttons[id]
                    button.disable()
                    button.redraw()
                self.saveGameNameEntryBox.focus(True)
                #               self.setExitLinkState(False)
                self.txt_screen.setText('Save Game:')
                self.txt_screen.show()
                self.saveGameNameEntryBox.show()
                self.picker_screen.hide()
                self.lastEnteredSavegameName = None
                self.guiroom.redraw()

        else:
            self.picker_screen.hide()
            self.txt_screen.hide()
        self.mode = button_index
def StartNewGame(self, params):
    ShowProgress.activateProgressScreen("loading", 3)
    VS.loadGame(VS.getNewGameSaveName())
Esempio n. 17
0
def DoStartNewGame(self, params):
    ShowProgress.activateProgressScreen('loading', 3)
    VS.loadGame(VS.getNewGameSaveName())
    enterMainMenu(self, params)