def __init__(self): userPrefs = Settings.g_instance.userPrefs if not userPrefs.has_key(Settings.KEY_REPLAY_PREFERENCES): userPrefs.write(Settings.KEY_REPLAY_PREFERENCES, '') self.__settings = userPrefs[Settings.KEY_REPLAY_PREFERENCES] self.__fileName = None self.__replayCtrl = BigWorld.WGReplayController() self.__replayCtrl.replayFinishedCallback = self.onReplayFinished self.__replayCtrl.controlModeChangedCallback = self.onControlModeChanged self.__replayCtrl.ammoButtonPressedCallback = self.__onAmmoButtonPressed self.__replayCtrl.playerVehicleIDChangedCallback = self.onPlayerVehicleIDChanged self.__replayCtrl.clientVersionDiffersCallback = self.onClientVersionDiffers self.__replayCtrl.battleChatMessageCallback = self.onBattleChatMessage self.__replayCtrl.lockTargetCallback = self.onLockTarget self.__replayCtrl.cruiseModeCallback = self.onSetCruiseMode self.__replayCtrl.equipmentIdCallback = self.onSetEquipmentId self.__isAutoRecordingEnabled = False self.__quitAfterStop = False self.__isPlayingPlayList = False self.__playList = [] self.__isFinished = False self.__isMenuShowed = False self.__updateGunOnTimeWarp = False self.__isBattleSimulation = False battleSimulationSection = userPrefs[_BATTLE_SIMULATION_KEY_PATH] if battleSimulationSection is not None: self.__isBattleSimulation = battleSimulationSection.asBool self.__playerDatabaseID = 0 self.__serverSettings = dict() if isPlayerAccount(): self.__playerDatabaseID = BigWorld.player().databaseID self.__playbackSpeedModifiers = (0.0, 0.0625, 0.125, 0.25, 0.5, 1.0, 2.0, 4.0, 8.0, 16.0) self.__playbackSpeedModifiersStr = ('0', '1/16', '1/8', '1/4', '1/2', '1', '2', '4', '8', '16') self.__playbackSpeedIdx = self.__playbackSpeedModifiers.index(1.0) self.__savedPlaybackSpeedIdx = self.__playbackSpeedIdx self.__gunWasLockedBeforePause = False self.__wasVideoBeforeRewind = False self.__videoCameraMatrix = Math.Matrix() self.__replayDir = './replays' self.__replayCtrl.clientVersion = BigWorld.wg_getProductVersion() self.__timeWarpCleanupCb = None self.__enableTimeWarp = False self.__isChatPlaybackEnabled = True self.__warpTime = -1.0 self.__skipMessage = False self.__equipmentId = None self.__rewind = False self.replayTimeout = 0 self.__arenaPeriod = -1 self.enableAutoRecordingBattles(True) self.onCommandReceived = Event.Event() self.onAmmoSettingChanged = Event.Event() self.onStopped = Event.Event() if IS_DEVELOPMENT: try: import development.replay_override except: pass return
def onClientReady(self): if not (self.isPlaying or self.isRecording): return elif self.isRecording and BigWorld.player().arena.guiType == constants.ARENA_GUI_TYPE.TUTORIAL: self.stop(None, True) return else: self.__replayCtrl.playerVehicleID = BigWorld.player().playerVehicleID self.__replayCtrl.onClientReady() if self.isPlaying: AreaDestructibles.g_destructiblesManager.onAfterReplayTimeWarp() if isPlayerAvatar(): BigWorld.player().onVehicleEnterWorld += self.__onVehicleEnterWorld if self.isRecording: player = BigWorld.player() arena = player.arena arenaName = arena.arenaType.geometry i = arenaName.find('/') if i != -1: arenaName = arenaName[i + 1:] now = datetime.datetime.now() now = '%02d.%02d.%04d %02d:%02d:%02d' % (now.day, now.month, now.year, now.hour, now.minute, now.second) vehicleName = BigWorld.entities[player.playerVehicleID].typeDescriptor.name vehicleName = vehicleName.replace(':', '-') vehicles = self.__getArenaVehiclesInfo() gameplayID = player.arenaTypeID >> 16 clientVersionFromXml = getFullClientVersion() clientVersionFromExe = BigWorld.wg_getProductVersion() arenaInfo = {'dateTime': now, 'playerName': player.name, 'playerID': self.__playerDatabaseID, 'playerVehicle': vehicleName, 'mapName': arenaName, 'mapDisplayName': arena.arenaType.name, 'gameplayID': ArenaType.getGameplayName(gameplayID) or gameplayID, 'vehicles': vehicles, 'battleType': arena.bonusType, 'clientVersionFromExe': clientVersionFromExe, 'clientVersionFromXml': clientVersionFromXml, 'serverName': connectionManager.serverUserName, 'regionCode': constants.AUTH_REALM, 'serverSettings': self.__serverSettings, 'hasMods': self.__replayCtrl.hasMods} self.__replayCtrl.recMapName = arenaName self.__replayCtrl.recPlayerVehicleName = vehicleName self.__replayCtrl.setArenaInfoStr(json.dumps(arenaInfo)) else: self.__showInfoMessage('replayControlsHelp1') self.__showInfoMessage('replayControlsHelp2') self.__showInfoMessage('replayControlsHelp3') if self.replayTimeout > 0: LOG_DEBUG('replayTimeout set for %.2f' % float(self.replayTimeout)) BigWorld.callback(float(self.replayTimeout), BigWorld.quit) return
def onClientReady(self): if not (self.isPlaying or self.isRecording): return elif self.isRecording and BigWorld.player().arena.guiType == constants.ARENA_GUI_TYPE.TUTORIAL: self.stop(None, True) return else: self.__replayCtrl.playerVehicleID = BigWorld.player().playerVehicleID self.__replayCtrl.onClientReady() if self.isPlaying: AreaDestructibles.g_destructiblesManager.onAfterReplayTimeWarp() if isPlayerAvatar(): BigWorld.player().onVehicleEnterWorld += self.__onVehicleEnterWorld if self.isRecording: player = BigWorld.player() arena = player.arena arenaName = arena.arenaType.geometry i = arenaName.find('/') if i != -1: arenaName = arenaName[i + 1:] now = datetime.datetime.now() now = '%02d.%02d.%04d %02d:%02d:%02d' % (now.day, now.month, now.year, now.hour, now.minute, now.second) vehicleName = BigWorld.entities[player.playerVehicleID].typeDescriptor.name vehicleName = vehicleName.replace(':', '-') vehicles = self.__getArenaVehiclesInfo() gameplayID = player.arenaTypeID >> 16 clientVersionFromXml = getFullClientVersion() clientVersionFromExe = BigWorld.wg_getProductVersion() arenaInfo = {'dateTime': now, 'playerName': player.name, 'playerID': self.__playerDatabaseID, 'playerVehicle': vehicleName, 'mapName': arenaName, 'mapDisplayName': arena.arenaType.name, 'gameplayID': ArenaType.getGameplayName(gameplayID) or gameplayID, 'vehicles': vehicles, 'battleType': arena.bonusType, 'clientVersionFromExe': clientVersionFromExe, 'clientVersionFromXml': clientVersionFromXml, 'serverName': connectionManager.serverUserName, 'regionCode': constants.AUTH_REALM, 'serverSettings': self.__serverSettings} self.__replayCtrl.recMapName = arenaName self.__replayCtrl.recPlayerVehicleName = vehicleName self.__replayCtrl.setArenaInfoStr(json.dumps(arenaInfo)) else: self.__showInfoMessage('replayControlsHelp1') self.__showInfoMessage('replayControlsHelp2') self.__showInfoMessage('replayControlsHelp3') if self.replayTimeout > 0: LOG_DEBUG('replayTimeout set for %.2f' % float(self.replayTimeout)) BigWorld.callback(float(self.replayTimeout), BigWorld.quit) return
def __init__(self): userPrefs = Settings.g_instance.userPrefs if not userPrefs.has_key(Settings.KEY_REPLAY_PREFERENCES): userPrefs.write(Settings.KEY_REPLAY_PREFERENCES, '') self.__settings = userPrefs[Settings.KEY_REPLAY_PREFERENCES] self.__fileName = None self.__replayCtrl = BigWorld.WGReplayController() self.__replayCtrl.replayFinishedCallback = self.onReplayFinished self.__replayCtrl.controlModeChangedCallback = self.onControlModeChanged self.__replayCtrl.ammoButtonPressedCallback = self.__onAmmoButtonPressed self.__replayCtrl.playerVehicleIDChangedCallback = self.onPlayerVehicleIDChanged self.__replayCtrl.clientVersionDiffersCallback = self.onClientVersionDiffers self.__replayCtrl.battleChatMessageCallback = self.onBattleChatMessage self.__replayCtrl.lockTargetCallback = self.onLockTarget self.__replayCtrl.cruiseModeCallback = self.onSetCruiseMode self.__replayCtrl.equipmentIdCallback = self.onSetEquipmentId self.__isAutoRecordingEnabled = False self.__quitAfterStop = False self.__isPlayingPlayList = False self.__playList = [] self.__isFinished = False self.__isMenuShowed = False self.__updateGunOnTimeWarp = False g_playerEvents.onBattleResultsReceived += self.__onBattleResultsReceived g_playerEvents.onAccountBecomePlayer += self.__onAccountBecomePlayer g_playerEvents.onArenaPeriodChange += self.__onArenaPeriodChange from account_helpers.settings_core.SettingsCore import g_settingsCore g_settingsCore.onSettingsChanged += self.__onSettingsChanging self.__playerDatabaseID = 0 self.__serverSettings = dict() if isPlayerAccount(): self.__playerDatabaseID = BigWorld.player().databaseID self.__playbackSpeedModifiers = (0.0, 0.0625, 0.125, 0.25, 0.5, 1.0, 2.0, 4.0, 8.0, 16.0) self.__playbackSpeedModifiersStr = ('0', '1/16', '1/8', '1/4', '1/2', '1', '2', '4', '8', '16') self.__playbackSpeedIdx = self.__playbackSpeedModifiers.index(1.0) self.__savedPlaybackSpeedIdx = self.__playbackSpeedIdx self.__gunWasLockedBeforePause = False self.__wasVideoBeforeRewind = False self.__videoCameraMatrix = Math.Matrix() self.__replayDir = './replays' self.__replayCtrl.clientVersion = BigWorld.wg_getProductVersion() self.__timeWarpCleanupCb = None self.__enableTimeWarp = False self.__isChatPlaybackEnabled = True self.__warpTime = -1.0 self.__skipMessage = False self.__equipmentId = None self.__rewind = False self.replayTimeout = 0 self.__arenaPeriod = -1 self.enableAutoRecordingBattles(True) gui.Scaleform.CursorDelegator.g_cursorDelegator.detachCursor() self.onCommandReceived = Event.Event() self.onAmmoSettingChanged = Event.Event() self.onStopped = Event.Event() return
def onClientReady(self): if not (self.isPlaying or self.isRecording): return if self.isRecording and BigWorld.player().arena.guiType == constants.ARENA_GUI_TYPE.TUTORIAL: self.stop() return self.__replayCtrl.playerVehicleID = BigWorld.player().playerVehicleID self.__replayCtrl.onClientReady() if self.isRecording: player = BigWorld.player() arena = player.arena arenaName = arena.arenaType.geometry i = arenaName.find('/') if i != -1: arenaName = arenaName[i + 1:] now = datetime.datetime.now() now = '%02d.%02d.%04d %02d:%02d:%02d' % (now.day, now.month, now.year, now.hour, now.minute, now.second) vehicleName = BigWorld.entities[player.playerVehicleID].typeDescriptor.name vehicleName = vehicleName.replace(':', '-') vehicles = self.__getArenaVehiclesInfo() gameplayID = player.arenaTypeID >> 16 sec = ResMgr.openSection(VERSION_FILE_PATH) clientVersionFromXml = i18n.makeString(sec.readString('appname')) + ' ' + sec.readString('version') clientVersionFromExe = BigWorld.wg_getProductVersion() arenaInfo = {'dateTime': now, 'playerName': player.name, 'playerID': self.__playerDatabaseID, 'playerVehicle': vehicleName, 'mapName': arenaName, 'mapDisplayName': arena.arenaType.name, 'gameplayID': ArenaType.getGameplayName(gameplayID) or gameplayID, 'vehicles': vehicles, 'battleType': arena.bonusType, 'clientVersionFromExe': clientVersionFromExe, 'clientVersionFromXml': clientVersionFromXml, 'serverName': connectionManager.serverUserName, 'regionCode': constants.AUTH_REALM, 'roamingSettings': self.__roamingSettings} self.__replayCtrl.recMapName = arenaName self.__replayCtrl.recPlayerVehicleName = vehicleName self.__replayCtrl.setArenaInfoStr(json.dumps(arenaInfo)) else: self.isPlaying = True self.__enableTimeWarp = True currReplayTime = self.__replayCtrl.getTimeMark(REPLAY_TIME_MARK_CURRENT_TIME) self.__timeWarp(currReplayTime + 30.0) self.triggerRecord() self.__disableSidePanelContextMenu()
def onClientReady(self): if not self.isPlaying: if not self.isRecording: return if self.isRecording and BigWorld.player( ).arena.guiType == constants.ARENA_GUI_TYPE.TUTORIAL: self.stop() return self.__replayCtrl.playerVehicleID = BigWorld.player( ).playerVehicleID self.__replayCtrl.onClientReady() if self.isRecording: player = BigWorld.player() arena = player.arena arenaName = arena.arenaType.geometry i = arenaName.find('/') arenaName = i != -1 and arenaName[i + 1:] now = datetime.datetime.now() now = '%02d.%02d.%04d %02d:%02d:%02d' % ( now.day, now.month, now.year, now.hour, now.minute, now.second) vehicleName = BigWorld.entities[ player.playerVehicleID].typeDescriptor.name vehicleName = vehicleName.replace(':', '-') vehicles = self.__getArenaVehiclesInfo() gameplayID = player.arenaTypeID >> 16 sec = ResMgr.openSection(VERSION_FILE_PATH) clientVersionFromXml = i18n.makeString( sec.readString('appname')) + ' ' + sec.readString('version') clientVersionFromExe = BigWorld.wg_getProductVersion() arenaInfo = { 'dateTime': now, 'playerName': player.name, 'playerID': self.__playerDatabaseID, 'playerVehicle': vehicleName, 'mapName': arenaName, 'mapDisplayName': arena.arenaType.name, 'gameplayID': ArenaType.getGameplayName(gameplayID) or gameplayID, 'vehicles': vehicles, 'battleType': arena.bonusType, 'clientVersionFromExe': clientVersionFromExe, 'clientVersionFromXml': clientVersionFromXml } self.__replayCtrl.recMapName = arenaName self.__replayCtrl.recPlayerVehicleName = vehicleName self.__replayCtrl.setArenaInfoStr(json.dumps(arenaInfo)) else: self.__showInfoMessage('replayControlsHelp1') self.__showInfoMessage('replayControlsHelp2') self.__showInfoMessage('replayControlsHelp3') self.__disableSidePanelContextMenu()
def onClientReady(self): if not self.isPlaying: if not self.isRecording: return if self.isRecording and BigWorld.player().arena.guiType == constants.ARENA_GUI_TYPE.TUTORIAL: self.stop() return self.__replayCtrl.playerVehicleID = BigWorld.player().playerVehicleID self.__replayCtrl.onClientReady() if self.isRecording: player = BigWorld.player() arena = player.arena arenaName = arena.arenaType.geometry i = arenaName.find('/') arenaName = i != -1 and arenaName[i + 1:] now = datetime.datetime.now() now = '%02d.%02d.%04d %02d:%02d:%02d' % (now.day, now.month, now.year, now.hour, now.minute, now.second) vehicleName = BigWorld.entities[player.playerVehicleID].typeDescriptor.name vehicleName = vehicleName.replace(':', '-') vehicles = self.__getArenaVehiclesInfo() gameplayID = player.arenaTypeID >> 16 sec = ResMgr.openSection(VERSION_FILE_PATH) clientVersionFromXml = i18n.makeString(sec.readString('appname')) + ' ' + sec.readString('version') clientVersionFromExe = BigWorld.wg_getProductVersion() arenaInfo = {'dateTime': now, 'playerName': player.name, 'playerID': self.__playerDatabaseID, 'playerVehicle': vehicleName, 'mapName': arenaName, 'mapDisplayName': arena.arenaType.name, 'gameplayID': ArenaType.getGameplayName(gameplayID) or gameplayID, 'vehicles': vehicles, 'battleType': arena.bonusType, 'clientVersionFromExe': clientVersionFromExe, 'clientVersionFromXml': clientVersionFromXml} self.__replayCtrl.recMapName = arenaName self.__replayCtrl.recPlayerVehicleName = vehicleName self.__replayCtrl.setArenaInfoStr(json.dumps(arenaInfo)) else: self.__showInfoMessage('replayControlsHelp1') self.__showInfoMessage('replayControlsHelp2') self.__showInfoMessage('replayControlsHelp3') self.__disableSidePanelContextMenu()
def __init__(self): userPrefs = Settings.g_instance.userPrefs if not userPrefs.has_key(Settings.KEY_REPLAY_PREFERENCES): userPrefs.write(Settings.KEY_REPLAY_PREFERENCES, '') self.__settings = userPrefs[Settings.KEY_REPLAY_PREFERENCES] self.__fileName = None self.__replayCtrl = BigWorld.WGReplayController() self.__replayCtrl.replayFinishedCallback = self.onReplayFinished self.__replayCtrl.controlModeChangedCallback = self.onControlModeChanged self.__replayCtrl.ammoButtonPressedCallback = self.onAmmoButtonPressed self.__replayCtrl.minimapCellClickedCallback = self.onMinimapCellClicked self.__replayCtrl.playerVehicleIDChangedCallback = self.onPlayerVehicleIDChanged self.__replayCtrl.clientVersionDiffersCallback = self.onClientVersionDiffers self.__replayCtrl.battleChatMessageCallback = self.onBattleChatMessage self.__replayCtrl.lockTargetCallback = self.onLockTarget self.__replayCtrl.cruiseModeCallback = self.onSetCruiseMode self.__isAutoRecordingEnabled = False self.__quitAfterStop = False self.__isPlayingPlayList = False self.__playList = [] self.__isFinished = False g_playerEvents.onBattleResultsReceived += self.__onBattleResultsReceived g_playerEvents.onAccountBecomePlayer += self.__onAccountBecomePlayer from account_helpers.SettingsCore import g_settingsCore g_settingsCore.onSettingsChanged += self.__onSettingsChanging self.__playerDatabaseID = 0 self.__roamingSettings = None if isPlayerAccount(): self.__playerDatabaseID = BigWorld.player().databaseID self.__playbackSpeedModifiers = (0.0, 0.0625, 0.125, 0.25, 0.5, 1.0, 2.0, 4.0, 8.0, 16.0) self.__playbackSpeedModifiersStr = ('0', '1/16', '1/8', '1/4', '1/2', '1', '2', '4', '8', '16') self.__playbackSpeedIdx = self.__playbackSpeedModifiers.index(1.0) self.__savedPlaybackSpeedIdx = self.__playbackSpeedIdx self.__gunWasLockedBeforePause = False self.__replayDir = './replays' self.__replayCtrl.clientVersion = BigWorld.wg_getProductVersion() self.__timeWarpCleanupCb = None self.__enableTimeWarp = False self.__disableSidePanelContextMenuCb = None self.__isChatPlaybackEnabled = True self.enableAutoRecordingBattles(True) gui.Scaleform.CursorDelegator.g_cursorDelegator.detachCursor()
def __init__(self): userPrefs = Settings.g_instance.userPrefs if not userPrefs.has_key(Settings.KEY_REPLAY_PREFERENCES): userPrefs.write(Settings.KEY_REPLAY_PREFERENCES, '') self.__settings = userPrefs[Settings.KEY_REPLAY_PREFERENCES] self.__fileName = None self.__replayCtrl = BigWorld.WGReplayController() self.__replayCtrl.replayFinishedCallback = self.onReplayFinished self.__replayCtrl.controlModeChangedCallback = self.onControlModeChanged self.__replayCtrl.ammoButtonPressedCallback = self.onAmmoButtonPressed self.__replayCtrl.minimapCellClickedCallback = self.onMinimapCellClicked self.__replayCtrl.playerVehicleIDChangedCallback = self.onPlayerVehicleIDChanged self.__replayCtrl.clientVersionDiffersCallback = self.onClientVersionDiffers self.__replayCtrl.battleChatMessageCallback = self.onBattleChatMessage self.__isAutoRecordingEnabled = False self.__quitAfterStop = False self.__isPlayingPlayList = False self.__playList = [] g_playerEvents.onBattleResultsReceived += self.__onBattleResultsReceived g_playerEvents.onAccountBecomePlayer += self.__onAccountBecomePlayer from account_helpers.SettingsCore import g_settingsCore g_settingsCore.onSettingsChanged += self.__onSettingsChanging self.__playerDatabaseID = 0 if isPlayerAccount(): self.__playerDatabaseID = BigWorld.player().databaseID self.__playbackSpeedModifiers = (0.0, 0.0625, 0.125, 0.25, 0.5, 1.0, 2.0, 4.0, 8.0, 16.0) self.__playbackSpeedModifiersStr = ('0', '1/16', '1/8', '1/4', '1/2', '1', '2', '4', '8', '16') self.__playbackSpeedIdx = self.__playbackSpeedModifiers.index(1.0) self.__gunWasLockedBeforePause = False self.__replayDir = './replays' self.__replayCtrl.clientVersion = BigWorld.wg_getProductVersion() self.__timeWarpCleanupCb = None self.__enableTimeWarp = False self.__disableSidePanelContextMenuCb = None self.enableAutoRecordingBattles(True) return
def onClientReady(self): if not (self.isPlaying or self.isRecording): return elif self.isRecording and BigWorld.player( ).arena.guiType == constants.ARENA_GUI_TYPE.TUTORIAL: self.stop(None, True) return else: self.__replayCtrl.playerVehicleID = BigWorld.player( ).playerVehicleID self.__replayCtrl.onClientReady() if self.isPlaying: AreaDestructibles.g_destructiblesManager.onAfterReplayTimeWarp( ) if isPlayerAvatar(): BigWorld.player( ).onVehicleEnterWorld += self.__onVehicleEnterWorld from gui.app_loader import settings self.appLoader.attachCursor( settings.APP_NAME_SPACE.SF_BATTLE, flags=GUI_CTRL_MODE_FLAG.CURSOR_ATTACHED) if self.isRecording: player = BigWorld.player() arena = player.arena arenaName = arena.arenaType.geometry i = arenaName.find('/') if i != -1: arenaName = arenaName[i + 1:] now = datetime.datetime.now() now = '%02d.%02d.%04d %02d:%02d:%02d' % ( now.day, now.month, now.year, now.hour, now.minute, now.second) vehicleName = BigWorld.entities[ player.playerVehicleID].typeDescriptor.name vehicleName = vehicleName.replace(':', '-') vehicles = self.__getArenaVehiclesInfo() gameplayID = player.arenaTypeID >> 16 clientVersionFromXml = getFullClientVersion() clientVersionFromExe = BigWorld.wg_getProductVersion() arenaInfo = { 'dateTime': now, 'playerName': player.name, 'playerID': self.__playerDatabaseID, 'playerVehicle': vehicleName, 'mapName': arenaName, 'mapDisplayName': arena.arenaType.name, 'gameplayID': ArenaType.getGameplayName(gameplayID) or gameplayID, 'vehicles': vehicles, 'battleType': arena.bonusType, 'clientVersionFromExe': clientVersionFromExe, 'clientVersionFromXml': clientVersionFromXml, 'serverName': self.connectionMgr.serverUserName, 'regionCode': constants.AUTH_REALM, 'serverSettings': self.__serverSettings, 'hasMods': self.__replayCtrl.hasMods } if BigWorld.player( ).arena.guiType == constants.ARENA_GUI_TYPE.BOOTCAMP: from bootcamp.Bootcamp import g_bootcamp arenaInfo['lessonId'] = g_bootcamp.getLessonNum() arenaInfo['bootcampCtx'] = g_bootcamp.serializeContext() self.__replayCtrl.recMapName = arenaName self.__replayCtrl.recPlayerVehicleName = vehicleName self.__replayCtrl.setArenaInfoStr( json.dumps(_JSON_Encode(arenaInfo))) else: self.__showInfoMessages() if self.replayTimeout > 0: LOG_DEBUG('replayTimeout set for %.2f' % float(self.replayTimeout)) BigWorld.callback(float(self.replayTimeout), BigWorld.quit) return