def start(mapName): print 'mod_OfflineMode: start' if not OfflineMode.enabled(): for x in GUI.roots(): GUI.delRoot(x) OfflineMode.launch(mapName) BigWorld.setWatcher('Visibility/GUI', True)
def start(mapName): print 'mod_OfflineMode: start' if not OfflineMode.enabled(): for x in GUI.roots(): GUI.delRoot(x) WWISE.WW_eventGlobal('loginscreen_mute') OfflineMode.launch(mapName) BigWorld.setWatcher('Visibility/GUI', True)
def handleMouseEvent(event): if OfflineMode.handleMouseEvent(event): return True else: dx, dy, dz, cursorPos = convertMouseEvent(event) if constants.IS_CAT_LOADED: import Cat if Cat.handleMouseEvent(dx, dy, dz): return True if g_replayCtrl.isPlaying: if g_replayCtrl.handleMouseEvent(dx, dy, dz): return True if GUI.handleMouseEvent(event): return True inputHandler = getattr(BigWorld.player(), 'inputHandler', None) if inputHandler is not None: if inputHandler.handleMouseEvent(dx, dy, dz): return True for handler in g_mouseEventHandlers: try: if handler(event): return True except Exception: LOG_CURRENT_EXCEPTION() return False
def fini(): global g_scenario LOG_DEBUG('fini') if OfflineMode.enabled(): return else: BigWorld.wg_setScreenshotNotifyCallback(None) if g_postProcessing is None: return g_critMemHandler.restore() g_critMemHandler.destroy() if constants.IS_CAT_LOADED: import Cat Cat.fini() MusicControllerWWISE.destroy() if RSSDownloader.g_downloader is not None: RSSDownloader.g_downloader.destroy() connectionManager.onConnected -= onConnected connectionManager.onDisconnected -= onDisconnected MessengerEntry.g_instance.fini() g_postProcessing.fini() from helpers import EdgeDetectColorController if EdgeDetectColorController.g_instance is not None: EdgeDetectColorController.g_instance.destroy() EdgeDetectColorController.g_instance = None BigWorld.resetEntityManager(False, False) BigWorld.clearAllSpaces() if TriggersManager.g_manager is not None: TriggersManager.g_manager.destroy() TriggersManager.g_manager = None gui_personality.fini() tutorialLoaderFini() import LcdKeyboard LcdKeyboard.finalize() import Vibroeffects if Vibroeffects.VibroManager.g_instance is not None: Vibroeffects.VibroManager.g_instance.destroy() Vibroeffects.VibroManager.g_instance = None if g_replayCtrl is not None: g_replayCtrl.destroy() from LightFx import LightManager if LightManager.g_instance is not None: LightManager.g_instance.destroy() LightManager.g_instance = None import AuxiliaryFx if AuxiliaryFx.g_instance is not None: AuxiliaryFx.g_instance.destroy() AuxiliaryFx.g_instance = None from predefined_hosts import g_preDefinedHosts if g_preDefinedHosts is not None: g_preDefinedHosts.fini() voipRespHandler = VOIP.getVOIPManager() if voipRespHandler is not None: VOIP.getVOIPManager().destroy() import SoundGroups SoundGroups.g_instance.destroy() Settings.g_instance.save() if g_scenario is not None: g_scenario.fini() return
def handleKeyEvent(event): if OfflineMode.handleKeyEvent(event): return True elif LightingGenerationMode.handleKeyEvent(event): return True else: isDown, key, mods, isRepeat = convertKeyEvent(event) if g_bootcamp.isRunning(): g_bootcamp.handleKeyEvent(event) if WebBrowser.g_mgr.handleKeyEvent(event): return True if g_replayCtrl.isPlaying: if g_replayCtrl.handleKeyEvent(isDown, key, mods, isRepeat, event): return True if isRepeat: if onRepeatKeyEvent(event): return True if constants.IS_CAT_LOADED: import Cat if Cat.handleKeyEventBeforeGUI(isDown, key, mods, event): return True if not isRepeat: InputHandler.g_instance.handleKeyEvent(event) if GUI.handleKeyEvent(event): return True if constants.IS_CAT_LOADED: import Cat if Cat.handleKeyEventAfterGUI(isDown, key, mods, event): return True if not isRepeat: if MessengerEntry.g_instance.gui.handleKey(event): return True inputHandler = getattr(BigWorld.player(), 'inputHandler', None) if inputHandler is not None: if inputHandler.handleKeyEvent(event): return True for handler in g_keyEventHandlers: try: if handler(event): return True except Exception: LOG_CURRENT_EXCEPTION() return False
def handleKeyEvent(event): if OfflineMode.handleKeyEvent(event): return True else: isDown, key, mods, isRepeat = convertKeyEvent(event) if WebBrowser.g_mgr.handleKeyEvent(event): return True if g_replayCtrl.isPlaying: if g_replayCtrl.handleKeyEvent(isDown, key, mods, isRepeat, event): return True if isRepeat: if onRepeatKeyEvent(event): return True if constants.IS_CAT_LOADED: import Cat if Cat.handleKeyEventBeforeGUI(isDown, key, mods, event): return True if not isRepeat: InputHandler.g_instance.handleKeyEvent(event) if GUI.handleKeyEvent(event): return True if constants.IS_CAT_LOADED: import Cat if Cat.handleKeyEventAfterGUI(isDown, key, mods, event): return True if not isRepeat: if MessengerEntry.g_instance.gui.isEditing(event): return True inputHandler = getattr(BigWorld.player(), 'inputHandler', None) if inputHandler is not None: if inputHandler.handleKeyEvent(event): return True for handler in g_keyEventHandlers: try: if handler(event): return True except Exception: LOG_CURRENT_EXCEPTION() return False
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 fini(): global g_replayCtrl global g_onBeforeSendEvent global g_scenario LOG_DEBUG('fini') if OfflineMode.enabled(): dependency.clear() return elif LightingGenerationMode.enabled(): return else: BigWorld.wg_setScreenshotNotifyCallback(None) g_critMemHandler.restore() g_critMemHandler.destroy() if constants.IS_CAT_LOADED: import Cat Cat.fini() MusicControllerWWISE.destroy() if RSSDownloader.g_downloader is not None: RSSDownloader.g_downloader.destroy() ServiceLocator.connectionMgr.onConnected -= onConnected ServiceLocator.connectionMgr.onDisconnected -= onDisconnected MessengerEntry.g_instance.fini() from helpers import EdgeDetectColorController if EdgeDetectColorController.g_instance is not None: EdgeDetectColorController.g_instance.destroy() EdgeDetectColorController.g_instance = None BigWorld.resetEntityManager(False, False) BigWorld.clearAllSpaces() if TriggersManager.g_manager is not None: TriggersManager.g_manager.destroy() TriggersManager.g_manager = None if g_replayCtrl is not None: g_replayCtrl.unsubscribe() gui_personality.fini() tutorialLoaderFini() import Vibroeffects if Vibroeffects.VibroManager.g_instance is not None: Vibroeffects.VibroManager.g_instance.destroy() Vibroeffects.VibroManager.g_instance = None from LightFx import LightManager if LightManager.g_instance is not None: LightManager.g_instance.destroy() LightManager.g_instance = None import AuxiliaryFx if AuxiliaryFx.g_instance is not None: AuxiliaryFx.g_instance.destroy() AuxiliaryFx.g_instance = None from predefined_hosts import g_preDefinedHosts if g_preDefinedHosts is not None: g_preDefinedHosts.fini() from bootcamp.BootcampTransition import BootcampTransition BootcampTransition.stop() SoundGroups.g_instance.stopListeningGUISpaceChanges() dependency.clear() if g_replayCtrl is not None: g_replayCtrl.destroy() g_replayCtrl = None voipRespHandler = VOIP.getVOIPManager() if voipRespHandler is not None: voipRespHandler.destroy() SoundGroups.g_instance.destroy() Settings.g_instance.save() if g_scenario is not None: g_scenario.destroy() g_onBeforeSendEvent = None WebBrowser.destroyExternalCache() if constants.HAS_DEV_RESOURCES: import development development.fini() return
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 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] == '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() 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 shutdown(): print 'mod_OfflineMode: shutdown' if OfflineMode.enabled(): OfflineMode.onShutdown() BigWorld.quit()