def standalone_error_popup(headline, msg): """Display an error via gui. Use only for errors that make 'import horizons.main' fail.""" from fife.extensions import pychan from fife import fife e = fife.Engine() e.getSettings().setDefaultFontPath("content/fonts/LinLibertine.ttf") e.init() pychan.init(e) pychan.loadFonts("content/fonts/libertine.fontdef") # hack for accessing this in do_quit (global does't work as the variables here are local) class Quit(object): do = False def do_quit(): Quit.do=True dlg = pychan.loadXML("content/gui/xml/startup_error_popup.xml") # can't translate as translations are only set up later dlg.findChild(name="headline").text = headline dlg.findChild(name="msg").text = msg dlg.mapEvents({'quit_button': do_quit}) dlg.show() e.initializePumping() while not Quit.do: e.pump() e.finalizePumping()
def __init__(self, setting=None): if setting: self._setting = setting else: self._setting = Setting(app_name="", settings_file="./settings.xml", settings_gui_xml="") self.engine = fife.Engine() self.initLogging() self.loadSettings() self.engine.init() """ we are giving users a valid screen resolution option that is supported """ screen_modes = self.engine.getDeviceCaps().getSupportedScreenModes() resolutions = list( set([(mode.getWidth(), mode.getHeight()) for mode in screen_modes])) resolutions = [ "{0}x{1}".format(item[0], item[1]) for item in sorted(resolutions)[1:] ] self._setting.setValidResolutions(resolutions) pychan.init(self.engine, debug=self._finalSetting['PychanDebug']) pychan.setupModalExecution(self.mainLoop, self.breakFromMainLoop) self.quitRequested = False self.breakRequested = False self.returnValues = []
def __init__(self, setting=None): if setting: self._setting = setting else: self._setting = Setting(app_name="", settings_file="./settings.xml", settings_gui_xml="") self.engine = fife.Engine() self.initLogging() self.loadSettings() self.engine.init() """ we are giving users a valid screen resolution option that is supported """ screen_modes = self.engine.getDeviceCaps().getSupportedScreenModes() resolutions = list(set([(mode.getWidth(), mode.getHeight()) for mode in screen_modes])) resolutions = ["{0}x{1}".format(item[0], item[1]) for item in sorted(resolutions)[1:]] self._setting.setValidResolutions(resolutions) pychan.init(self.engine, debug = self._finalSetting['PychanDebug']) pychan.setupModalExecution(self.mainLoop,self.breakFromMainLoop) self.quitRequested = False self.breakRequested = False self.returnValues = []
def __init__(self, setting): """Initialise the instance. @return: None""" super(PARPGApplication, self).__init__(setting) pychan.init(self.engine, debug = True) #self.engine.getModel(self) self.model = GameModel(self.engine, setting) self.model.maps_file = self._setting.get("PARPG", "MapsFile") self.model.readMapFiles() self.model.object_db_file = self._setting.get("PARPG", "ObjectDatabaseFile") self.model.readObjectDB() self.model.agents_directory = self._setting.get("PARPG", "AgentsDirectory") self.model.getAgentImportFiles() self.model.all_agents_file = self._setting.get("PARPG", "AllAgentsFile") self.model.readAllAgents() self.model.dialogues_directory = self._setting.get("PARPG", "DialoguesDirectory") self.model.getDialogues() self.view = MainMenuView(self.engine, self.model) self.event_listener = EventListener(self.engine) self.controllers = [] controller = MainMenuController(self.engine, self.view, self.model, self) #controller.initHud() self.controllers.append(controller) self.listener = ApplicationListener(self.event_listener, self.engine, self.view, self.model)
def __init__(self, app, engine, setting): """ __init__ Function Starts an instance of the World class Keyword Arguments app - A pointer to the main application engine - A pointer to fife.engine setting - A pointer to a fife settings XML file """ super(World, self).__init__(engine, regKeys=True, regCmd=False, regMouse=True) # Throw values into their variables self._applictaion = app self._engine = engine self._setting = setting self._timemanager = engine.getTimeManager() self._eventmanager = engine.getEventManager() self._model = engine.getModel() self._filename = '' self._keystate = { 'UP': False, 'DOWN': False, 'LEFT': False, 'RIGHT': False, 'CTRL': False, 'SPACE': False, 'Q': False, 'E': False,} self._cameras = {} self._npcs = {} self._npclist = None self._pump_ctr = 0 self._map = None self._scene = None self._paused = True self._pausedtime = 0 self._starttime = 0 self._gamestate = 'NONE' self._quit = False self._player = None self._eventtracker = None self._objects = {} self._contextmenu = contextmenu.ContextMenu('rightclickmenu', self) self._mouseMoved = False # Start pychan pychan.init(self._engine) # Set all GUI types to empty self._hud = None self._mainmenu = None self._pausemenu = None self._loadingmenu = None self._settingsmenu = None self._aboutmenu = None # Start the sound manager self._soundmanager = SoundManager(self._engine) self._sounds = musicmanager.MusicManager(self._engine, self._soundmanager, self._timemanager)
def __init__(self, setting=None): if setting: self._setting = setting else: self._setting = Setting(app_name="", settings_file="./settings.xml", settings_gui_xml="") self.engine = fife.Engine() self.loadSettings() self.initLogging() self.engine.init() self._animationloader = XMLAnimationLoader(self.engine.getImagePool(), self.engine.getVFS()) self.engine.getAnimationPool().addResourceLoader(self._animationloader) pychan.init(self.engine, debug=self._setting.get("FIFE", "PychanDebug", False)) pychan.setupModalExecution(self.mainLoop, self.breakFromMainLoop) self.quitRequested = False self.breakRequested = False self.returnValues = []
def __init__(self, setting=None): super(PychanApplicationBase, self).__init__(setting) pychan.init(self.engine, debug=self._finalSetting['PychanDebug']) pychan.setupModalExecution(self.mainLoop, self.breakFromMainLoop)
def __init__(self,xmlfile): super(TestXMLApplication,self).__init__() pychan.init(self.engine,debug=True) self.start()
def __init__(self, setting=None): super(PychanApplicationBase, self).__init__(setting) pychan.init(self.engine, debug = self._finalSetting['PychanDebug']) pychan.setupModalExecution(self.mainLoop,self.breakFromMainLoop)