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
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 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()
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)
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
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()
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()
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
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()
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()
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)
def __onConfirmClosed(self, isOk): if isOk: self.destroy() BigWorld.quit()
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()
def __onQuitOk(self): self.__fireEulaClose() self.destroy() BigWorld.quit()
def leaveArena(self, statistics=None): LOG_DEBUG('AvatarServer.leaveArena') BigWorld.quit()
def CRITICAL_ERROR(msg, *kargs): print _makeMsgHeader('CRITICAL ERROR', sys._getframe(1)), msg, kargs if IS_CLIENT: import BigWorld BigWorld.quit() sys.exit()
def quitFromGame(): BigWorld.quit()
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()
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 buttonHandler(isOk): if isOk: self.destroy() BigWorld.quit()
def quitFromGame(self): BigWorld.quit()
def _replayFinishedCallback(self): logger.trace('onReplayFinished callback') BigWorld.quit()
def showDemoAccountBootcampFailureDialog(i18nKey, meta=None): result = yield showDialog( DemoAccountBootcampFailureMeta(i18nKey, meta=meta)) if result == DIALOG_BUTTON_ID.HYPERLINK: WGC.requestCompleteAccount() BigWorld.quit()
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()
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
def onQuit(self, arg): LOG_TRACE('BattleWindow Quit') BigWorld.quit()
def onQuit(self, arg): import BigWorld BigWorld.quit()
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()
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
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
def onRestartConfirmed(confirm): BigWorld.savePreferences() if confirm: BigWorld.restartGame() else: BigWorld.quit()
def shutdown(): print 'mod_OfflineMode: shutdown' if OfflineMode.enabled(): OfflineMode.onShutdown() BigWorld.quit()
def quit(self): """ Close client """ BigWorld.quit()
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