Example #1
0
def init(scriptConfig, engineConfig, userPreferences, loadingScreenGUI = None):
    global g_replayCtrl
    try:
        if constants.IS_DEVELOPMENT:
            autoFlushPythonLog()
        LOG_DEBUG('init')
        BigWorld.wg_initCustomSettings()
        Settings.g_instance = Settings.Settings(scriptConfig, engineConfig, userPreferences)
        CommandMapping.g_instance = CommandMapping.CommandMapping()
        from helpers import DecalMap
        DecalMap.g_instance = DecalMap.DecalMap(scriptConfig['decal'])
        from helpers import EdgeDetectColorController
        EdgeDetectColorController.g_instance = EdgeDetectColorController.EdgeDetectColorController(scriptConfig['silhouetteColors'])
        import SoundGroups
        SoundGroups.g_instance = SoundGroups.SoundGroups()
        import BattleReplay
        g_replayCtrl = BattleReplay.g_replayCtrl = BattleReplay.BattleReplay()
        g_replayCtrl.registerWotReplayFileExtension()
        try:
            import Vibroeffects
            Vibroeffects.VibroManager.g_instance = Vibroeffects.VibroManager.VibroManager()
            Vibroeffects.VibroManager.g_instance.connect()
        except:
            LOG_CURRENT_EXCEPTION()

        tutorialLoaderInit()
        BigWorld.callback(0.1, asyncore_call)
        MessengerEntry.g_instance.init()
        import items
        items.init(True, None if not constants.IS_DEVELOPMENT else {})
        import ArenaType
        ArenaType.init()
        import dossiers1
        dossiers1.init()
        import dossiers2
        dossiers2.init()
        BigWorld.worldDrawEnabled(False)
        import LcdKeyboard
        LcdKeyboard.enableLcdKeyboardSpecificKeys(True)
        gui_personality.init(loadingScreenGUI=loadingScreenGUI)
        AreaDestructibles.init()
        MusicController.init()
        TriggersManager.init()
        RSSDownloader.init()
        g_postProcessing.init()
        try:
            from LightFx import LightManager
            LightManager.g_instance = LightManager.LightManager()
            import AuxiliaryFx
            AuxiliaryFx.g_instance = AuxiliaryFx.AuxiliaryFxManager()
        except:
            LOG_CURRENT_EXCEPTION()

    except Exception:
        LOG_CURRENT_EXCEPTION()
        BigWorld.quit()

    return
 def autoStartBattleReplay(self):
     fileName = self.getAutoStartFileName()
     if fileName:
         self.__quitAfterStop = True
         if not self.play(fileName):
             BigWorld.quit()
         else:
             return True
     return False
 def autoStartBattleReplay(self):
     fileName = self.__replayCtrl.getAutoStartFileName()
     if fileName != '':
         self.__quitAfterStop = True
         if not self.play(fileName):
             BigWorld.quit()
         else:
             return True
     return False
Example #4
0
def CRITICAL_ERROR(msg, *kargs):
    msg = '{0}:{1}:{2}'.format(_makeMsgHeader(sys._getframe(1)), msg, kargs)
    BigWorld.logCritical('CRITICAL', msg, None)
    if IS_CLIENT:
        BigWorld.quit()
    elif IS_CELLAPP or IS_BASEAPP:
        BigWorld.shutDownApp()
        raise CriticalError(msg)
    else:
        sys.exit()
    return
Example #5
0
def CRITICAL_ERROR(msg, *kargs):
    print _makeMsgHeader('CRITICAL ERROR', sys._getframe(1)), msg, kargs
    if IS_CLIENT:
        import BigWorld
        BigWorld.quit()
    elif IS_CELLAPP or IS_BASEAPP:
        import BigWorld
        BigWorld.shutDownApp()
        raise CriticalError, msg
    else:
        sys.exit()
Example #6
0
def CRITICAL_ERROR(msg, *kargs):
    msg = '{0}:{1}:{2}'.format(_makeMsgHeader(sys._getframe(1)), msg, kargs)
    BigWorld.logCritical('CRITICAL', msg, None)
    if IS_CLIENT:
        BigWorld.quit()
    elif IS_CELLAPP or IS_BASEAPP:
        BigWorld.shutDownApp()
        raise CriticalError(msg)
    else:
        sys.exit()
    return
 def onReplayFinished(self):
     if not self.scriptModalWindowsEnabled:
         self.stop()
         return
     if self.__isPlayingPlayList:
         self.stop()
         BigWorld.callback(1.0, self.play)
         return
     # add 'close video recording program here'
     # instead of normal crap, lets just quit here
     self.triggerRecord()
     BigWorld.quit()
 def onReplayFinished(self):
     if not self.scriptModalWindowsEnabled:
         self.stop()
         return
     if self.__isPlayingPlayList:
         self.stop()
         BigWorld.callback(1.0, self.play)
         return
     self.triggerRecord()
     BigWorld.quit()
     self.__isFinished = True
     self.setPlaybackSpeedIdx(0)
Example #9
0
 def onRestartConfirmed(self, buttonID):
     if buttonID == 'submit':
         print self.ID + ': client restart confirmed.'
         BigWorld.savePreferences()
         BigWorld.restartGame()
     elif buttonID == 'shutdown':
         print self.ID + ': client shut down.'
         BigWorld.savePreferences()
         BigWorld.quit()
     else:
         print self.ID + ': client restart declined.'
         self.was_declined = True
Example #10
0
def shutdown():
    print 'mod_OfflineMode: shutdown'
    from MemoryCriticalController import g_critMemHandler
    g_critMemHandler.restore()
    g_critMemHandler.destroy()
    import MusicControllerWWISE
    MusicControllerWWISE.destroy()
    BigWorld.resetEntityManager(False, False)
    BigWorld.clearAllSpaces()
    from gui.shared import personality as gui_personality
    gui_personality.fini()
    from helpers import dependency
    dependency.clear()
    import SoundGroups
    SoundGroups.g_instance.destroy()
    BigWorld.quit()
 def stop(self, rewindToTime = None):
     if not self.isPlaying and not self.isRecording:
         return False
     wasPlaying = self.isPlaying
     isOffline = self.__replayCtrl.isOfflinePlaybackMode
     self.__replayCtrl.stop()
     self.__fileName = None
     if self.__disableSidePanelContextMenuCb is not None:
         BigWorld.cancelCallback(self.__disableSidePanelContextMenuCb)
         self.__disableSidePanelContextMenuCb = None
     if wasPlaying:
         if not isOffline:
             connectionManager.onDisconnected += self.__showLoginPage
         BigWorld.clearEntitiesAndSpaces()
         BigWorld.disconnect()
         if self.__quitAfterStop:
             BigWorld.quit()
         elif isOffline:
             self.__showLoginPage()
Example #12
0
 def stop(self, rewindToTime=None, delete=False):
     if not self.isPlaying and not self.isRecording:
         return False
     self.onStopped()
     wasPlaying = self.isPlaying
     isOffline = self.__replayCtrl.isOfflinePlaybackMode
     self.__replayCtrl.stop(delete)
     self.__fileName = None
     if self.__disableSidePanelContextMenuCb is not None:
         BigWorld.cancelCallback(self.__disableSidePanelContextMenuCb)
         self.__disableSidePanelContextMenuCb = None
     if wasPlaying:
         if not isOffline:
             connectionManager.onDisconnected += self.__showLoginPage
         BigWorld.clearEntitiesAndSpaces()
         BigWorld.disconnect()
         if self.__quitAfterStop:
             BigWorld.quit()
         elif isOffline:
             self.__showLoginPage()
Example #13
0
 def stop(self, rewindToTime = None, delete = False):
     if not self.isPlaying and not self.isRecording:
         return False
     else:
         self.onStopped()
         wasPlaying = self.isPlaying
         isOffline = self.__replayCtrl.isOfflinePlaybackMode
         self.__replayCtrl.stop(delete)
         self.__fileName = None
         if wasPlaying:
             if isPlayerAvatar():
                 BigWorld.player().onVehicleEnterWorld -= self.__onVehicleEnterWorld
             if not isOffline:
                 connectionManager.onDisconnected += self.__showLoginPage
             BigWorld.clearEntitiesAndSpaces()
             BigWorld.disconnect()
             if self.__quitAfterStop:
                 BigWorld.quit()
             elif isOffline:
                 self.__showLoginPage()
         return
Example #14
0
 def stop(self, rewindToTime = None, delete = False):
     if not self.isPlaying and not self.isRecording:
         return False
     else:
         self.onStopped()
         wasPlaying = self.isPlaying
         isOffline = self.__replayCtrl.isOfflinePlaybackMode
         self.__replayCtrl.stop(delete)
         self.__fileName = None
         if wasPlaying:
             if isPlayerAvatar():
                 BigWorld.player().onVehicleEnterWorld -= self.__onVehicleEnterWorld
             if not isOffline:
                 connectionManager.onDisconnected += self.__showLoginPage
             BigWorld.clearEntitiesAndSpaces()
             BigWorld.disconnect()
             if self.__quitAfterStop:
                 BigWorld.quit()
             elif isOffline:
                 self.__showLoginPage()
         return
Example #15
0
 def onWindowClose(self):
     callLoading.__isub__(self.__callMethod)
     if needToReReadSkinsModels:
         showConfirmDialog(
             g_config.i18n['UI_restart_header'],
             g_config.i18n['UI_restart_text'],
             (g_config.i18n['UI_restart_button_restart'],
              g_config.i18n['UI_restart_button_shutdown']), lambda restart:
             (BigWorld.savePreferences(),
              (BigWorld.restartGame() if restart else BigWorld.quit())))
     elif self.doLogin:
         BigWorld.callback(0.1, partial(doLogin, self.app))
     self.destroy()
Example #16
0
 def onWindowClose(self):
     g_config.loadingProxy = None
     if needToReReadSkinsModels:
         showConfirmDialog(
             g_config.i18n['UI_restart_header'],
             g_config.i18n['UI_restart_text'],
             (g_config.i18n['UI_restart_button_restart'],
              g_config.i18n['UI_restart_button_shutdown']), lambda restart:
             (BigWorld.savePreferences(),
              (BigWorld.restartGame() if restart else BigWorld.quit())))
     elif self.doLogin:
         BigWorld.callback(0.1, doLogin)
     self.destroy()
Example #17
0
    def onWindowClose(self):
        g_config.loadingProxy = None
        self.destroy()
        if needToReReadSkinsModels:
            from gui import DialogsInterface
            from gui.Scaleform.daapi.view.dialogs import SimpleDialogMeta, ConfirmDialogButtons, DIALOG_BUTTON_ID

            class RestartButtons(ConfirmDialogButtons):
                def getLabels(self):
                    return [{
                        'id': DIALOG_BUTTON_ID.SUBMIT,
                        'label': self._submit,
                        'focused': True
                    }, {
                        'id': DIALOG_BUTTON_ID.CLOSE,
                        'label': self._close,
                        'focused': False
                    }]

            DialogsInterface.showDialog(
                SimpleDialogMeta(
                    g_config.i18n['UI_restart_header'],
                    g_config.i18n['UI_restart_text'],
                    RestartButtons(
                        g_config.i18n['UI_restart_button_restart'],
                        g_config.i18n['UI_restart_button_shutdown']), None),
                lambda restart: (BigWorld.savePreferences(),
                                 (BigWorld.restartGame()
                                  if restart else BigWorld.quit())))
        elif self.doLogin:
            loginView = g_appLoader.getDefLobbyApp(
            ).containerManager.getViewByKey(ViewKey(VIEW_ALIAS.LOGIN))
            if loginView and loginView.loginManager.getPreference(
                    'remember_user'):
                password = '******' * loginView.loginManager.getPreference(
                    'password_length')
                login = loginView.loginManager.getPreference('login')
                loginView.onLogin(login, password,
                                  loginView._servers.selectedServer['data'],
                                  '@' not in login)
Example #18
0
 def __onConfirmClosed(self, isOk):
     if isOk:
         self.destroy()
         BigWorld.quit()
Example #19
0
def start():
    LOG_DEBUG('start')
    if OfflineMode.onStartup():
        LOG_DEBUG('OfflineMode')
        return
    connectionManager.onConnected += onConnected
    connectionManager.onDisconnected += onDisconnected
    if len(sys.argv) > 2:
        if sys.argv[1] == 'scriptedTest':
            try:
                scriptName = sys.argv[2]
                if scriptName[-3:] == '.py':
                    scriptName = scriptName[:-3]
                try:
                    __import__(scriptName)
                except ImportError:
                    try:
                        __import__('tests.' + scriptName)
                    except ImportError:
                        __import__('cat.' + scriptName)

            except:
                LOG_CURRENT_EXCEPTION()
                BigWorld.wg_writeToStdOut('Failed to run scripted test, Python exception was thrown, see python.log')
                BigWorld.quit()

        elif sys.argv[1] == 'offlineTest':
            try:
                from cat.tasks.TestArena2 import TestArena2Object
                LOG_DEBUG(sys.argv)
                LOG_DEBUG('starting offline test: %s', sys.argv[2])
                if len(sys.argv) > 3:
                    TestArena2Object.startOffline(sys.argv[2], sys.argv[3])
                else:
                    TestArena2Object.startOffline(sys.argv[2])
            except:
                LOG_DEBUG('Game start FAILED with:')
                LOG_CURRENT_EXCEPTION()

        elif sys.argv[1] == 'validationTest':
            try:
                gui_personality.start()
                LOG_DEBUG('starting validationTest')
                import Cat
                Cat.Tasks.Validation.ParamsObject.setResultFileName(sys.argv[2])
                BigWorld.callback(10, Cat.Tasks.Validation.startAllValidationTests)
            except:
                LOG_DEBUG('Game start FAILED with:')
                LOG_CURRENT_EXCEPTION()

        elif sys.argv[1] == 'resourcesValidationTest':
            try:
                gui_personality.start()
                LOG_DEBUG('starting resourcesValidationTest')
                import Cat
                Cat.Tasks.Validation.ParamsObject.setResultFileName(sys.argv[2])
                BigWorld.callback(10, Cat.Tasks.Validation.startResourcesValidationTest)
            except:
                LOG_DEBUG('Game start FAILED with:')
                LOG_CURRENT_EXCEPTION()

        elif sys.argv[1] == 'replayTimeout':
            try:
                g_replayCtrl.replayTimeout = float(sys.argv[2])
            except:
                LOG_DEBUG('Game start FAILED with:')
                LOG_CURRENT_EXCEPTION()

            gui_personality.start()
        elif sys.argv[1] == 'bot':
            gui_personality.start()
            try:
                LOG_DEBUG('BOTNET: Playing scenario "%s" with bot "%s"...' % (sys.argv[2], sys.argv[3]))
                sys.path.append('scripts/bot')
                from client.ScenarioPlayer import ScenarioPlayerObject
                ScenarioPlayerObject.play(sys.argv[2], sys.argv[3])
            except:
                LOG_DEBUG('BOTNET: Failed to start the client with:')
                LOG_CURRENT_EXCEPTION()

        else:
            gui_personality.start()
    else:
        gui_personality.start()
    try:
        import Vibroeffects
        Vibroeffects.VibroManager.g_instance.start()
    except:
        LOG_CURRENT_EXCEPTION()

    try:
        import LightFx
        if LightFx.LightManager.g_instance is not None:
            LightFx.LightManager.g_instance.start()
        import AuxiliaryFx
        AuxiliaryFx.g_instance.start()
    except:
        LOG_CURRENT_EXCEPTION()
Example #20
0
 def __onQuitOk(self):
     self.__fireEulaClose()
     self.destroy()
     BigWorld.quit()
Example #21
0
 def leaveArena(self, statistics=None):
     LOG_DEBUG('AvatarServer.leaveArena')
     BigWorld.quit()
Example #22
0
def CRITICAL_ERROR(msg, *kargs):
    print _makeMsgHeader('CRITICAL ERROR', sys._getframe(1)), msg, kargs
    if IS_CLIENT:
        import BigWorld
        BigWorld.quit()
    sys.exit()
Example #23
0
 def quitFromGame():
     BigWorld.quit()
Example #24
0
def start():
    LOG_DEBUG('start')
    connectionManager.onConnected += onConnected
    connectionManager.onDisconnected += onDisconnected
    if len(sys.argv) > 2:
        if sys.argv[1] == 'scriptedTest':
            try:
                scriptName = sys.argv[2]
                if scriptName[-3:] == '.py':
                    scriptName = scriptName[:-3]
                try:
                    __import__(scriptName)
                except ImportError:
                    __import__('cat.' + scriptName)

            except:
                LOG_CURRENT_EXCEPTION()
                BigWorld.wg_writeToStdOut(
                    'Failed to run scripted test, Python exception was thrown, see python.log'
                )
                BigWorld.quit()

        elif sys.argv[1] == 'offlineTest':
            try:
                from cat.tasks.TestArena2 import TestArena2Object
                LOG_DEBUG(sys.argv)
                LOG_DEBUG('starting offline test: %s', sys.argv[2])
                if len(sys.argv) > 3:
                    TestArena2Object.startOffline(sys.argv[2], sys.argv[3])
                else:
                    TestArena2Object.startOffline(sys.argv[2])
            except:
                LOG_DEBUG('Game start FAILED with:')
                LOG_CURRENT_EXCEPTION()

        elif sys.argv[1] == 'validationTest':
            try:
                gui_personality.start()
                LOG_DEBUG('starting validationTest')
                import Cat
                Cat.Tasks.Validation.ParamsObject.setResultFileName(
                    sys.argv[2])
                BigWorld.callback(10,
                                  Cat.Tasks.Validation.startAllValidationTests)
            except:
                LOG_DEBUG('Game start FAILED with:')
                LOG_CURRENT_EXCEPTION()

        elif sys.argv[1] == 'resourcesValidationTest':
            try:
                gui_personality.start()
                LOG_DEBUG('starting resourcesValidationTest')
                import Cat
                Cat.Tasks.Validation.ParamsObject.setResultFileName(
                    sys.argv[2])
                BigWorld.callback(
                    10, Cat.Tasks.Validation.startResourcesValidationTest)
            except:
                LOG_DEBUG('Game start FAILED with:')
                LOG_CURRENT_EXCEPTION()

    else:
        gui_personality.start()
    try:
        import Vibroeffects
        Vibroeffects.VibroManager.g_instance.start()
    except:
        LOG_CURRENT_EXCEPTION()

    try:
        import LightFx
        LightFx.LightManager.g_instance.start()
        import AuxiliaryFx
        AuxiliaryFx.g_instance.start()
    except:
        LOG_CURRENT_EXCEPTION()
Example #25
0
def init(scriptConfig, engineConfig, userPreferences, loadingScreenGUI=None):
    global g_replayCtrl
    try:
        if constants.IS_DEVELOPMENT:
            autoFlushPythonLog()
        LOG_DEBUG('init')
        BigWorld.wg_initCustomSettings()
        Settings.g_instance = Settings.Settings(scriptConfig, engineConfig,
                                                userPreferences)
        CommandMapping.g_instance = CommandMapping.CommandMapping()
        from helpers import DecalMap
        DecalMap.g_instance = DecalMap.DecalMap(scriptConfig['decal'])
        from helpers import EdgeDetectColorController
        EdgeDetectColorController.g_instance = EdgeDetectColorController.EdgeDetectColorController(
            scriptConfig['silhouetteColors'])
        import SoundGroups
        SoundGroups.g_instance = SoundGroups.SoundGroups()
        import BattleReplay
        g_replayCtrl = BattleReplay.g_replayCtrl = BattleReplay.BattleReplay()
        g_replayCtrl.registerWotReplayFileExtension()
        try:
            import Vibroeffects
            Vibroeffects.VibroManager.g_instance = Vibroeffects.VibroManager.VibroManager(
            )
            Vibroeffects.VibroManager.g_instance.connect()
        except:
            LOG_CURRENT_EXCEPTION()

        tutorialLoaderInit()
        BigWorld.callback(0.1, asyncore_call)
        MessengerEntry.g_instance.init()
        import items
        items.init(True, None if not constants.IS_DEVELOPMENT else {})
        import ArenaType
        ArenaType.init()
        import dossiers1
        dossiers1.init()
        import dossiers2
        dossiers2.init()
        BigWorld.worldDrawEnabled(False)
        import LcdKeyboard
        LcdKeyboard.enableLcdKeyboardSpecificKeys(True)
        gui_personality.init(loadingScreenGUI=loadingScreenGUI)
        AreaDestructibles.init()
        MusicController.init()
        TriggersManager.init()
        RSSDownloader.init()
        g_postProcessing.init()
        try:
            from LightFx import LightManager
            LightManager.g_instance = LightManager.LightManager()
            import AuxiliaryFx
            AuxiliaryFx.g_instance = AuxiliaryFx.AuxiliaryFxManager()
        except:
            LOG_CURRENT_EXCEPTION()

    except Exception:
        LOG_CURRENT_EXCEPTION()
        BigWorld.quit()

    return
Example #26
0
 def buttonHandler(isOk):
     if isOk:
         self.destroy()
         BigWorld.quit()
Example #27
0
 def quitFromGame(self):
     BigWorld.quit()
 def _replayFinishedCallback(self):
     logger.trace('onReplayFinished callback')
     BigWorld.quit()
Example #29
0
def showDemoAccountBootcampFailureDialog(i18nKey, meta=None):
    result = yield showDialog(
        DemoAccountBootcampFailureMeta(i18nKey, meta=meta))
    if result == DIALOG_BUTTON_ID.HYPERLINK:
        WGC.requestCompleteAccount()
    BigWorld.quit()
Example #30
0
 def __onConfirmClosed(self, isOk):
     if isOk:
         self.destroy()
         BigWorld.quit()
Example #31
0
def start():
    LOG_DEBUG('start')
    connectionManager.onConnected += onConnected
    connectionManager.onDisconnected += onDisconnected
    if len(sys.argv) > 2:
        if sys.argv[1] == 'scriptedTest':
            try:
                scriptName = sys.argv[2]
                if scriptName[-3:] == '.py':
                    scriptName = scriptName[:-3]
                try:
                    __import__(scriptName)
                except ImportError:
                    try:
                        __import__('tests.' + scriptName)
                    except ImportError:
                        __import__('cat.' + scriptName)

            except:
                LOG_CURRENT_EXCEPTION()
                BigWorld.wg_writeToStdOut('Failed to run scripted test, Python exception was thrown, see python.log')
                BigWorld.quit()

        elif sys.argv[1] == 'offlineTest':
            try:
                from cat.tasks.TestArena2 import TestArena2Object
                LOG_DEBUG(sys.argv)
                LOG_DEBUG('starting offline test: %s', sys.argv[2])
                if len(sys.argv) > 3:
                    TestArena2Object.startOffline(sys.argv[2], sys.argv[3])
                else:
                    TestArena2Object.startOffline(sys.argv[2])
            except:
                LOG_DEBUG('Game start FAILED with:')
                LOG_CURRENT_EXCEPTION()

        elif sys.argv[1] == 'validationTest':
            try:
                gui_personality.start()
                LOG_DEBUG('starting validationTest')
                import Cat
                Cat.Tasks.Validation.ParamsObject.setResultFileName(sys.argv[2])
                BigWorld.callback(10, Cat.Tasks.Validation.startAllValidationTests)
            except:
                LOG_DEBUG('Game start FAILED with:')
                LOG_CURRENT_EXCEPTION()

        elif sys.argv[1] == 'resourcesValidationTest':
            try:
                gui_personality.start()
                LOG_DEBUG('starting resourcesValidationTest')
                import Cat
                Cat.Tasks.Validation.ParamsObject.setResultFileName(sys.argv[2])
                BigWorld.callback(10, Cat.Tasks.Validation.startResourcesValidationTest)
            except:
                LOG_DEBUG('Game start FAILED with:')
                LOG_CURRENT_EXCEPTION()

        elif sys.argv[1] == 'replayTimeout':
            try:
                g_replayCtrl.replayTimeout = float(sys.argv[2])
            except:
                LOG_DEBUG('Game start FAILED with:')
                LOG_CURRENT_EXCEPTION()

            gui_personality.start()
    else:
        gui_personality.start()
    try:
        import Vibroeffects
        Vibroeffects.VibroManager.g_instance.start()
    except:
        LOG_CURRENT_EXCEPTION()

    try:
        import LightFx
        if LightFx.LightManager.g_instance is not None:
            LightFx.LightManager.g_instance.start()
        import AuxiliaryFx
        AuxiliaryFx.g_instance.start()
    except:
        LOG_CURRENT_EXCEPTION()
Example #32
0
def start():
    LOG_DEBUG('start')
    if OfflineMode.onStartup():
        LOG_DEBUG('OfflineMode')
        return
    else:
        connectionManager.onConnected += onConnected
        connectionManager.onDisconnected += onDisconnected
        if len(sys.argv) > 2:
            if sys.argv[1] == 'scriptedTest':
                try:
                    scriptName = sys.argv[2]
                    if scriptName[-3:] == '.py':
                        scriptName = scriptName[:-3]
                    try:
                        __import__(scriptName)
                    except ImportError:
                        try:
                            __import__('tests.' + scriptName)
                        except ImportError:
                            __import__('cat.' + scriptName)

                except:
                    LOG_CURRENT_EXCEPTION()
                    BigWorld.wg_writeToStdOut(
                        'Failed to run scripted test, Python exception was thrown, see python.log'
                    )
                    BigWorld.quit()

            elif sys.argv[1] == 'offlineTest':
                try:
                    from cat.tasks.TestArena2 import TestArena2Object
                    LOG_DEBUG(sys.argv)
                    LOG_DEBUG('starting offline test: %s', sys.argv[2])
                    if len(sys.argv) > 3:
                        TestArena2Object.startOffline(sys.argv[2], sys.argv[3])
                    else:
                        TestArena2Object.startOffline(sys.argv[2])
                except:
                    LOG_DEBUG('Game start FAILED with:')
                    LOG_CURRENT_EXCEPTION()

            elif sys.argv[1] == 'spinTest':
                try:
                    from cat.tasks.TestArena2 import TestArena2Object
                    LOG_DEBUG(sys.argv)
                    targetDirectory = sys.argv[4] if len(
                        sys.argv) > 4 else 'SpinTestResult'
                    LOG_DEBUG('starting offline test: %s %s %s', sys.argv[2],
                              sys.argv[3], targetDirectory)
                    TestArena2Object.startOffline(
                        sys.argv[2],
                        mapName=sys.argv[3],
                        targetDirectory=targetDirectory)
                except:
                    LOG_DEBUG('Game start FAILED with:')
                    LOG_CURRENT_EXCEPTION()

            elif sys.argv[1] == 'hangarOverride':
                try:
                    LOG_DEBUG(sys.argv)
                    from tests.auto.HangarOverride import HangarOverride
                    HangarOverride.setHangar('spaces/' + sys.argv[2])
                except:
                    LOG_DEBUG('Game start FAILED with:')
                    LOG_CURRENT_EXCEPTION()

                gui_personality.start()
            elif sys.argv[1] == 'replayTimeout':
                try:
                    g_replayCtrl.replayTimeout = float(sys.argv[2])
                except:
                    LOG_DEBUG('Game start FAILED with:')
                    LOG_CURRENT_EXCEPTION()

                gui_personality.start()
            elif sys.argv[1] == 'botInit' or sys.argv[1] == 'botExecute':
                gui_personality.start()
                try:
                    LOG_DEBUG(
                        'BOTNET: Playing scenario "%s" with bot "%s"...' %
                        (sys.argv[2], sys.argv[3]))
                    if sys.argv[1] == 'botInit':
                        scenarioPlayer().initBot(sys.argv[3], sys.argv[2])
                    elif sys.argv[1] == 'botExecute':
                        scenarioPlayer().execute(sys.argv[3], sys.argv[2])
                except:
                    LOG_DEBUG('BOTNET: Failed to start the client with:')
                    LOG_CURRENT_EXCEPTION()

            else:
                gui_personality.start()
        else:
            gui_personality.start()
        try:
            import Vibroeffects
            Vibroeffects.VibroManager.g_instance.start()
        except:
            LOG_CURRENT_EXCEPTION()

        try:
            from LightFx import LightManager
            if LightManager.g_instance is not None:
                LightManager.g_instance.start()
            from AuxiliaryFx import g_instance
            if g_instance is not None:
                g_instance.start()
        except:
            LOG_CURRENT_EXCEPTION()

        return
Example #33
0
 def onQuit(self, arg):
     LOG_TRACE('BattleWindow Quit')
     BigWorld.quit()
Example #34
0
 def onQuit(self, arg):
     import BigWorld
     BigWorld.quit()
Example #35
0
def start():
    LOG_DEBUG('start')
    if OfflineMode.onStartup():
        LOG_DEBUG('OfflineMode')
        return
    elif LightingGenerationMode.onStartup():
        LOG_DEBUG('LightingGenerationMode')
        return
    else:
        ServiceLocator.connectionMgr.onConnected += onConnected
        ServiceLocator.connectionMgr.onDisconnected += onDisconnected
        if len(sys.argv) > 2:
            if sys.argv[1] == 'scriptedTest':
                try:
                    scriptName = sys.argv[2]
                    if scriptName[-3:] == '.py':
                        scriptName = scriptName[:-3]
                    try:
                        __import__(scriptName)
                    except ImportError:
                        try:
                            __import__('tests.' + scriptName)
                        except ImportError:
                            __import__('Cat.' + scriptName)

                    ServiceLocator.gameplay.start()
                except Exception:
                    LOG_CURRENT_EXCEPTION()
                    BigWorld.wg_writeToStdOut(
                        'Failed to run scripted test, Python exception was thrown, see python.log'
                    )
                    BigWorld.quit()

            elif sys.argv[1] == 'offlineTest':
                try:
                    from Cat.Tasks.TestArena2 import TestArena2Object
                    LOG_DEBUG(sys.argv)
                    LOG_DEBUG('starting offline test: %s', sys.argv[2])
                    if len(sys.argv) > 3:
                        TestArena2Object.startOffline(sys.argv[2], sys.argv[3])
                    else:
                        TestArena2Object.startOffline(sys.argv[2])
                except Exception:
                    LOG_DEBUG('Game start FAILED with:')
                    LOG_CURRENT_EXCEPTION()

            elif sys.argv[1] == 'spinTest':
                try:
                    from Cat.Tasks.TestArena2 import TestArena2Object
                    LOG_DEBUG(sys.argv)
                    targetDirectory = sys.argv[4] if len(
                        sys.argv) > 4 else 'SpinTestResult'
                    LOG_DEBUG('starting offline test: %s %s %s', sys.argv[2],
                              sys.argv[3], targetDirectory)
                    TestArena2Object.startOffline(
                        sys.argv[2],
                        mapName=sys.argv[3],
                        targetDirectory=targetDirectory)
                except Exception:
                    LOG_DEBUG('Game start FAILED with:')
                    LOG_CURRENT_EXCEPTION()

            elif sys.argv[1] == 'hangarOverride':
                try:
                    LOG_DEBUG(sys.argv)
                    from Tests.auto.HangarOverride import HangarOverride
                    HangarOverride.setHangar('spaces/' + sys.argv[2])
                    if len(sys.argv) > 3 and sys.argv[3] is not None:
                        LOG_DEBUG(
                            'Setting default client inactivity timeout: %s' %
                            sys.argv[3])
                        constants.CLIENT_INACTIVITY_TIMEOUT = int(sys.argv[3])
                except Exception:
                    LOG_DEBUG('Game start FAILED with:')
                    LOG_CURRENT_EXCEPTION()

                ServiceLocator.gameplay.start()
            elif sys.argv[1] == 'replayTimeout':
                try:
                    g_replayCtrl.replayTimeout = float(sys.argv[2])
                except Exception:
                    LOG_DEBUG('Game start FAILED with:')
                    LOG_CURRENT_EXCEPTION()

                ServiceLocator.gameplay.start()
            elif sys.argv[1] == 'botExecute':
                ServiceLocator.gameplay.start()
                botLoginName = sys.argv[3]
                scenarioPath = sys.argv[2]
                LOG_DEBUG(
                    'BOTNET: Start playing scenario {} with bot {}...'.format(
                        scenarioPath, botLoginName))
                initBotNet().initializeBots(loginName=botLoginName,
                                            scenarioPath=scenarioPath)
            else:
                ServiceLocator.gameplay.start()
        else:
            ServiceLocator.gameplay.start()
        try:
            import Vibroeffects
            Vibroeffects.VibroManager.g_instance.start()
        except Exception:
            LOG_CURRENT_EXCEPTION()

        try:
            from LightFx import LightManager
            if LightManager.g_instance is not None:
                LightManager.g_instance.start()
            from AuxiliaryFx import g_instance
            if g_instance is not None:
                g_instance.start()
        except Exception:
            LOG_CURRENT_EXCEPTION()

        WebBrowser.initExternalCache()
        return
def _close():
    LOG_DEBUG('exiting client')
    BigWorld.quit()
Example #37
0
def init(scriptConfig, engineConfig, userPreferences, loadingScreenGUI=None):
    global g_replayCtrl
    global g_onBeforeSendEvent
    try:
        log.config.setupFromXML()
        if constants.IS_DEVELOPMENT:
            autoFlushPythonLog()
            from development_features import initDevBonusTypes
            initDevBonusTypes()
        import Event
        g_onBeforeSendEvent = Event.Event()
        BigWorld.wg_initCustomSettings()
        Settings.g_instance = Settings.Settings(scriptConfig, engineConfig, userPreferences)
        CommandMapping.g_instance = CommandMapping.CommandMapping()
        from helpers import DecalMap
        DecalMap.g_instance = DecalMap.DecalMap(scriptConfig['decal'])
        from helpers import EdgeDetectColorController
        EdgeDetectColorController.g_instance = EdgeDetectColorController.EdgeDetectColorController(scriptConfig['silhouetteColors'])
        SoundGroups.g_instance = SoundGroups.SoundGroups()
        import BattleReplay
        g_replayCtrl = BattleReplay.g_replayCtrl = BattleReplay.BattleReplay()
        g_replayCtrl.registerWotReplayFileExtension()
        g_bootcamp.replayCallbackSubscribe()
        try:
            from Vibroeffects import VibroManager
            VibroManager.g_instance = VibroManager.VibroManager()
            VibroManager.g_instance.connect()
        except Exception:
            LOG_CURRENT_EXCEPTION()

        tutorialLoaderInit()
        BigWorld.callback(0.1, asyncore_call)
        import items
        items.init(True, None if not constants.IS_DEVELOPMENT else {})
        import win_points
        win_points.init()
        import rage
        rage.init()
        import ArenaType
        ArenaType.init()
        import dossiers2
        dossiers2.init()
        import personal_missions
        personal_missions.init()
        import motivation_quests
        motivation_quests.init()
        BigWorld.worldDrawEnabled(False)
        dependency.configure(services_config.getClientServicesConfig)
        gui_personality.init(loadingScreenGUI=loadingScreenGUI)
        EdgeDetectColorController.g_instance.create()
        g_replayCtrl.subscribe()
        MessengerEntry.g_instance.init()
        AreaDestructibles.init()
        MusicControllerWWISE.create()
        TriggersManager.init()
        RSSDownloader.init()
        items.clearXMLCache()
        SoundGroups.loadLightSoundsDB()
        import player_ranks
        player_ranks.init()
        import destructible_entities
        destructible_entities.init()
        try:
            from LightFx import LightManager
            LightManager.g_instance = LightManager.LightManager()
            import AuxiliaryFx
            AuxiliaryFx.g_instance = AuxiliaryFx.AuxiliaryFxManager()
        except Exception:
            LOG_CURRENT_EXCEPTION()

        from AvatarInputHandler.cameras import FovExtended
        FovExtended.instance().resetFov()
        BigWorld.pauseDRRAutoscaling(True)
    except Exception:
        LOG_CURRENT_EXCEPTION()
        BigWorld.quit()

    return
Example #38
0
def start():
    LOG_DEBUG('start')
    if OfflineMode.onStartup():
        LOG_DEBUG('OfflineMode')
        return
    else:
        connectionManager.onConnected += onConnected
        connectionManager.onDisconnected += onDisconnected
        if len(sys.argv) > 2:
            if sys.argv[1] == 'scriptedTest':
                try:
                    scriptName = sys.argv[2]
                    if scriptName[-3:] == '.py':
                        scriptName = scriptName[:-3]
                    try:
                        __import__(scriptName)
                    except ImportError:
                        try:
                            __import__('tests.' + scriptName)
                        except ImportError:
                            __import__('cat.' + scriptName)

                except:
                    LOG_CURRENT_EXCEPTION()
                    BigWorld.wg_writeToStdOut('Failed to run scripted test, Python exception was thrown, see python.log')
                    BigWorld.quit()

            elif sys.argv[1] == 'offlineTest':
                try:
                    from cat.tasks.TestArena2 import TestArena2Object
                    LOG_DEBUG(sys.argv)
                    LOG_DEBUG('starting offline test: %s', sys.argv[2])
                    if len(sys.argv) > 3:
                        TestArena2Object.startOffline(sys.argv[2], sys.argv[3])
                    else:
                        TestArena2Object.startOffline(sys.argv[2])
                except:
                    LOG_DEBUG('Game start FAILED with:')
                    LOG_CURRENT_EXCEPTION()

            elif sys.argv[1] == 'spinTest':
                try:
                    from cat.tasks.TestArena2 import TestArena2Object
                    LOG_DEBUG(sys.argv)
                    targetDirectory = sys.argv[4] if len(sys.argv) > 4 else 'SpinTestResult'
                    LOG_DEBUG('starting offline test: %s %s %s', sys.argv[2], sys.argv[3], targetDirectory)
                    TestArena2Object.startOffline(sys.argv[2], mapName=sys.argv[3], targetDirectory=targetDirectory)
                except:
                    LOG_DEBUG('Game start FAILED with:')
                    LOG_CURRENT_EXCEPTION()

            elif sys.argv[1] == 'validationTest':
                try:
                    gui_personality.start()
                    LOG_DEBUG('starting validationTest')
                    import Cat
                    Cat.Tasks.Validation.ParamsObject.setResultFileName(sys.argv[2])
                    BigWorld.callback(10, Cat.Tasks.Validation.startAllValidationTests)
                except:
                    LOG_DEBUG('Game start FAILED with:')
                    LOG_CURRENT_EXCEPTION()

            elif sys.argv[1] == 'resourcesValidationTest':
                try:
                    gui_personality.start()
                    LOG_DEBUG('starting resourcesValidationTest')
                    import Cat
                    Cat.Tasks.Validation.ParamsObject.setResultFileName(sys.argv[2])
                    BigWorld.callback(10, Cat.Tasks.Validation.startResourcesValidationTest)
                except:
                    LOG_DEBUG('Game start FAILED with:')
                    LOG_CURRENT_EXCEPTION()

            elif sys.argv[1] == 'replayTimeout':
                try:
                    g_replayCtrl.replayTimeout = float(sys.argv[2])
                except:
                    LOG_DEBUG('Game start FAILED with:')
                    LOG_CURRENT_EXCEPTION()

                gui_personality.start()
            elif sys.argv[1] == 'botInit' or sys.argv[1] == 'botExecute':
                gui_personality.start()
                try:
                    LOG_DEBUG('BOTNET: Playing scenario "%s" with bot "%s"...' % (sys.argv[2], sys.argv[3]))
                    if sys.argv[1] == 'botInit':
                        scenarioPlayer().initBot(sys.argv[3], sys.argv[2])
                    elif sys.argv[1] == 'botExecute':
                        scenarioPlayer().execute(sys.argv[3], sys.argv[2])
                except:
                    LOG_DEBUG('BOTNET: Failed to start the client with:')
                    LOG_CURRENT_EXCEPTION()

            else:
                gui_personality.start()
        else:
            gui_personality.start()
        try:
            import Vibroeffects
            Vibroeffects.VibroManager.g_instance.start()
        except:
            LOG_CURRENT_EXCEPTION()

        try:
            from LightFx import LightManager
            if LightManager.g_instance is not None:
                LightManager.g_instance.start()
            from AuxiliaryFx import g_instance
            if g_instance is not None:
                g_instance.start()
        except:
            LOG_CURRENT_EXCEPTION()

        return
Example #39
0
 def __onQuitOk(self):
     self.__fireEulaClose()
     self.destroy()
     BigWorld.quit()
Example #40
0
 def onRestartConfirmed(confirm):
     BigWorld.savePreferences()
     if confirm:
         BigWorld.restartGame()
     else:
         BigWorld.quit()
Example #41
0
 def onQuit(self, arg):
     import BigWorld
     BigWorld.quit()
Example #42
0
 def quitFromGame():
     BigWorld.quit()
def shutdown():
    print 'mod_OfflineMode: shutdown'
    if OfflineMode.enabled():
        OfflineMode.onShutdown()
        BigWorld.quit()
Example #44
0
 def quitFromGame(self):
     BigWorld.quit()
Example #45
0
 def buttonHandler(isOk):
     if isOk:
         self.destroy()
         BigWorld.quit()
Example #46
0
 def quit(self):
     """ Close client """
     BigWorld.quit()
Example #47
0
def init(scriptConfig, engineConfig, userPreferences, loadingScreenGUI=None):
    global g_replayCtrl
    try:
        if constants.IS_DEVELOPMENT:
            autoFlushPythonLog()
        BigWorld.wg_initCustomSettings()
        g_postProcessing.init()
        Settings.g_instance = Settings.Settings(scriptConfig, engineConfig,
                                                userPreferences)
        CommandMapping.g_instance = CommandMapping.CommandMapping()
        from helpers import DecalMap
        DecalMap.g_instance = DecalMap.DecalMap(scriptConfig['decal'])
        from helpers import EdgeDetectColorController
        EdgeDetectColorController.g_instance = EdgeDetectColorController.EdgeDetectColorController(
            scriptConfig['silhouetteColors'])
        import SoundGroups
        SoundGroups.g_instance = SoundGroups.SoundGroups()
        import BattleReplay
        g_replayCtrl = BattleReplay.g_replayCtrl = BattleReplay.BattleReplay()
        g_replayCtrl.registerWotReplayFileExtension()
        try:
            from Vibroeffects import VibroManager
            VibroManager.g_instance = VibroManager.VibroManager()
            VibroManager.g_instance.connect()
        except:
            LOG_CURRENT_EXCEPTION()

        tutorialLoaderInit()
        BigWorld.callback(0.1, asyncore_call)
        import items
        items.init(True, None if not constants.IS_DEVELOPMENT else {})
        import win_points
        win_points.init()
        import rage
        rage.init()
        import ArenaType
        ArenaType.init()
        import dossiers2
        dossiers2.init()
        import fortified_regions
        fortified_regions.init()
        import clubs_settings
        clubs_settings.init()
        import potapov_quests
        potapov_quests.init()
        import clubs_quests
        clubs_quests.init()
        import motivation_quests
        motivation_quests.init()
        BigWorld.worldDrawEnabled(False)
        import LcdKeyboard
        LcdKeyboard.enableLcdKeyboardSpecificKeys(True)
        dependency.configure(services_config.getClientServicesConfig)
        gui_personality.init(loadingScreenGUI=loadingScreenGUI)
        EdgeDetectColorController.g_instance.create()
        g_replayCtrl.subscribe()
        MessengerEntry.g_instance.init()
        AreaDestructibles.init()
        MusicControllerWWISE.create()
        TriggersManager.init()
        RSSDownloader.init()
        SoundGroups.loadLightSoundsDB()
        try:
            from LightFx import LightManager
            LightManager.g_instance = LightManager.LightManager()
            import AuxiliaryFx
            AuxiliaryFx.g_instance = AuxiliaryFx.AuxiliaryFxManager()
        except:
            LOG_CURRENT_EXCEPTION()

        from AvatarInputHandler.cameras import FovExtended
        FovExtended.instance().resetFov()
        BigWorld.pauseDRRAutoscaling(True)
    except Exception:
        LOG_CURRENT_EXCEPTION()
        BigWorld.quit()

    return
Example #48
0
def CRITICAL_ERROR(msg, *kargs):
    print _makeMsgHeader('CRITICAL ERROR', sys._getframe(1)), msg, kargs
    if IS_CLIENT:
        import BigWorld
        BigWorld.quit()
    sys.exit()