예제 #1
0
 def updateCameraByMouseMove(self, dx, dy, dz):
     if self.__selectedEmblemInfo is not None:
         self.__cam.target.setTranslate(
             _CFG['preview_cam_start_target_pos'])
         self.__cam.pivotPosition = _CFG['preview_cam_pivot_pos']
         if self.__locatedOnEmbelem:
             self.__cam.maxDistHalfLife = 0.0
         else:
             self.__cam.maxDistHalfLife = _CFG['cam_fluency']
     sourceMat = Math.Matrix(self.__cam.source)
     yaw = sourceMat.yaw
     pitch = sourceMat.pitch
     dist = self.__cam.pivotMaxDist
     currentMatrix = Math.Matrix(self.__cam.invViewMatrix)
     currentYaw = currentMatrix.yaw
     yaw = self.__yawCameraFilter.getNextYaw(currentYaw, yaw, dx)
     pitch -= dy * _CFG['cam_sens']
     dist -= dz * _CFG['cam_sens']
     pitch = mathUtils.clamp(math.radians(_CFG['cam_pitch_constr'][0]),
                             math.radians(_CFG['cam_pitch_constr'][1]),
                             pitch)
     prevDist = dist
     distConstr = self.__camDistConstr[
         1] if self.__selectedEmblemInfo is not None else self.__camDistConstr[
             0]
     dist = mathUtils.clamp(distConstr[0], distConstr[1], dist)
     if self.__boundingRadius is not None:
         boundingRadius = self.__boundingRadius if self.__boundingRadius < distConstr[
             1] else distConstr[1]
         dist = dist if dist > boundingRadius else boundingRadius
     if dist > prevDist and dz > 0:
         if self.__selectedEmblemInfo is not None:
             self.locateCameraOnEmblem(*self.__selectedEmblemInfo)
             return
     self.__locatedOnEmbelem = False
     mat = Math.Matrix()
     mat.setRotateYPR((yaw, pitch, 0.0))
     self.__cam.source = mat
     self.__cam.pivotMaxDist = dist
     if g_settingsCore.getSetting(
             'dynamicFov') and abs(distConstr[1] - distConstr[0]) > 0.001:
         relativeDist = (dist - distConstr[0]) / (distConstr[1] -
                                                  distConstr[0])
         _, minFov, maxFov = g_settingsCore.getSetting('fov')
         fov = mathUtils.lerp(minFov, maxFov, relativeDist)
         BigWorld.callback(
             0,
             functools.partial(FovExtended.instance().setFovByAbsoluteValue,
                               math.radians(fov), 0.1))
     return
예제 #2
0
def _getNewModeFromSetting():
    state = g_settingsCore.getSetting('ppState')
    if state in _LEGACY_TO_NEW_MODE:
        converted = _LEGACY_TO_NEW_MODE[state]
    else:
        converted = _LEGACY_TO_NEW_MODE['large']
    return converted
예제 #3
0
 def getPlayerStatus(self, vo):
     status = super(PlayerTeamOverrides, self).getPlayerStatus(vo)
     if self.personal.vehicleID == vo.vehicleID and vo.isSquadMan(
     ) and self.__isVoipSupported and not g_settingsCore.getSetting(
             SOUND.VOIP_ENABLE) and not self.isReplayPlaying:
         status |= _P_STATUS.IS_VOIP_DISABLED
     return status
예제 #4
0
def _getNewModeFromSetting():
    state = g_settingsCore.getSetting('ppState')
    if state in _LEGACY_TO_NEW_MODE:
        converted = _LEGACY_TO_NEW_MODE[state]
    else:
        converted = _LEGACY_TO_NEW_MODE['large']
    return converted
예제 #5
0
 def _populate(self):
     super(MarkersManager, self)._populate()
     self.__addCanvas()
     self.__setMarkersScale()
     self.__setMarkerDuration()
     self.__setMarkerSettings()
     self.__setColorsSchemes(g_settingsCore.getSetting('isColorBlind'))
     self.__addListeners()
예제 #6
0
 def _populate(self):
     super(MarkersManager, self)._populate()
     self.__addCanvas()
     self.__setMarkersScale()
     self.__setMarkerDuration()
     self.__setMarkerSettings()
     self.__setColorsSchemes(g_settingsCore.getSetting('isColorBlind'))
     self.__addListeners()
예제 #7
0
 def setSettings(self):
     newSize = settings.clampMinimapSizeIndex(AccountSettings.getSettings(self.__currentSizeSettings))
     if self.__sizeIndex != newSize:
         self.__sizeIndex = newSize
         self._parentObj.as_setSizeS(self.__sizeIndex)
     value = int(g_settingsCore.getSetting(settings_constants.GAME.MINIMAP_ALPHA))
     if value:
         self._parentObj.as_setAlphaS(1 - value / 100.0)
예제 #8
0
 def _squadCreatedImRecruit(self, squadNum):
     param = {'squadNum': squadNum}
     if IS_CHINA:
         key = MESSENGER.CLIENT_DYNSQUAD_CREATED_RECRUIT_WITHOUTVOIP
     else:
         key = '#messenger:client/dynSquad/created/recruit/disableVOIP' if g_settingsCore.getSetting(SOUND.VOIP_ENABLE) else '#messenger:client/dynSquad/created/owner/enableVOIP'
         param['hotkey'] = 'ALT+Q'
     self.__sendMessage(key, **param)
예제 #9
0
 def __init__(self, name, file):
     super(BattleMessageListMeta, self).__init__()
     self.__name = name
     self.__settingsFilePath = _MESSAGES_SETTINGS_PATH.format(file)
     self.__isColorBlind = g_settingsCore.getSetting('isColorBlind')
     self.__messages = {}
     self.__styles = None
     return
예제 #10
0
 def _iAmJoinedSquad(self, squadNum):
     param = {'squadNum': squadNum}
     if IS_CHINA:
         key = MESSENGER.CLIENT_DYNSQUAD_INVITEACCEPTED_MYSELF_WITHOUTVOIP
     else:
         key = '#messenger:client/dynSquad/inviteAccepted/myself/disableVOIP' if g_settingsCore.getSetting(SOUND.VOIP_ENABLE) else '#messenger:client/dynSquad/inviteAccepted/myself/enableVOIP'
         param['hotkey'] = 'ALT+Q'
     self.__sendMessage(key, **param)
예제 #11
0
 def __init__(self, parentUI, name, cfgFileName):
     self.__name = name
     self.__cfgFileName = cfgFileName
     self.__isColorBlind = g_settingsCore.getSetting('isColorBlind')
     self.__messages = {}
     self.__ui = parentUI
     self.__name = name
     self.__pathPrefix = 'battle.{0}.%s'.format(name)
     self.__ui.addExternalCallbacks({'battle.%s.PopulateUI' % name: self.__onPopulateUI})
예제 #12
0
 def __init__(self, parentUI, name, cfgFileName):
     self.__name = name
     self.__cfgFileName = cfgFileName
     self.__isColorBlind = g_settingsCore.getSetting('isColorBlind')
     self.__messages = {}
     self.__ui = parentUI
     self.__name = name
     self.__pathPrefix = 'battle.{0}.%s'.format(name)
     self.__ui.addExternalCallbacks({'battle.%s.PopulateUI' % name: self.__onPopulateUI})
예제 #13
0
 def populate(self):
     arenaDP = g_sessionProvider.getArenaDP()
     getTeamName = g_sessionProvider.getCtx().getTeamName
     _alliedTeamName = getTeamName(enemy=False)
     _enemyTeamName = getTeamName(enemy=True)
     self.__callFlash('setTeamNames', [_alliedTeamName, _enemyTeamName])
     self.showVehiclesCounter(g_settingsCore.getSetting('showVehiclesCounter'))
     self.updateScore()
     for isEnemy, team in arenaDP.getTeamIDsIterator():
         self.updateTeam(isEnemy, team)
예제 #14
0
 def __init__(self):
     super(PostmortemPanel, self).__init__()
     self.__playerInfo = None
     self.__isPlayerVehicle = False
     self.__maxHealth = 0
     self.__healthPercent = 0
     self.__isInPostmortem = False
     self.__deathAlreadySet = False
     self.__isColorBlind = g_settingsCore.getSetting('isColorBlind')
     return
예제 #15
0
 def setSettings(self):
     newSize = settings.clampMinimapSizeIndex(
         AccountSettings.getSettings(self.__currentSizeSettings))
     if self.__sizeIndex != newSize:
         self.__sizeIndex = newSize
         self._parentObj.as_setSizeS(self.__sizeIndex)
     value = int(
         g_settingsCore.getSetting(settings_constants.GAME.MINIMAP_ALPHA))
     if value:
         self._parentObj.as_setAlphaS(1 - value / 100.0)
def _getVIOPState(key):
    """Get the current state of VOIP in the client considering bind key, region and VOIP settings.
    """
    if IS_CHINA:
        return 'withoutVOIP'
    elif key == Keys.KEY_NONE:
        return 'specifyVOIP'
    elif g_settingsCore.getSetting(SOUND.VOIP_ENABLE):
        return 'disableVOIP'
    else:
        return 'enableVOIP'
예제 #17
0
 def populate(self):
     arenaDP = g_sessionProvider.getArenaDP()
     getTeamName = g_sessionProvider.getCtx().getTeamName
     _alliedTeamName = getTeamName(enemy=False)
     _enemyTeamName = getTeamName(enemy=True)
     self.__callFlash('setTeamNames', [_alliedTeamName, _enemyTeamName])
     self.showVehiclesCounter(
         g_settingsCore.getSetting('showVehiclesCounter'))
     self.updateScore()
     for isEnemy, team in arenaDP.getTeamIDsIterator():
         self.updateTeam(isEnemy, team)
def _getVIOPState(key):
    """Get the current state of VOIP in the client considering bind key, region and VOIP settings.
    """
    if IS_CHINA:
        return 'withoutVOIP'
    elif key == Keys.KEY_NONE:
        return 'specifyVOIP'
    elif g_settingsCore.getSetting(SOUND.VOIP_ENABLE):
        return 'disableVOIP'
    else:
        return 'enableVOIP'
예제 #19
0
 def populate(self):
     getNumberOfTeam = g_sessionProvider.getArenaDP().getNumberOfTeam
     getTeamName = g_sessionProvider.getCtx().getTeamName
     playerTeamIdx = getNumberOfTeam()
     _alliedTeamName = getTeamName(playerTeamIdx, True)
     _enemyTeamName = getTeamName(playerTeamIdx, False)
     self.__callFlash('setTeamNames', [_alliedTeamName, _enemyTeamName])
     self.showVehiclesCounter(g_settingsCore.getSetting('showVehiclesCounter'))
     self.updateScore(playerTeamIdx)
     self.updateTeam(False, playerTeamIdx)
     self.updateTeam(True, getNumberOfTeam(True))
예제 #20
0
def getColorValue(colorScheme, csManager):
    __colorGroup = g_settingsCore.getSetting('isColorBlind')
    scheme = csManager.getScheme(colorScheme)
    makeRGB = csManager._makeRGB
    if __colorGroup in scheme:
        color = makeRGB(scheme[__colorGroup])
    elif csManager.DEFAULT_TAG in scheme:
        color = makeRGB(scheme[csManager.DEFAULT_TAG])
    else:
        LOG_ERROR('Current color scheme not found', scheme, __colorGroup)
        color = 0
    return color
예제 #21
0
 def populate(self):
     arenaDP = g_sessionProvider.getArenaDP()
     getTeamName = g_sessionProvider.getCtx().getTeamName
     getNumberOfTeam = arenaDP.getNumberOfTeam
     playerTeamIdx, enemyTeamIdx = getNumberOfTeam(), getNumberOfTeam(True)
     _alliedTeamName = getTeamName(playerTeamIdx)
     _enemyTeamName = getTeamName(enemyTeamIdx)
     self.__callFlash('setTeamNames', [_alliedTeamName, _enemyTeamName])
     self.showVehiclesCounter(g_settingsCore.getSetting('showVehiclesCounter'))
     self.updateScore()
     for isEnemy, team in arenaDP.getTeamIDsIterator():
         self.updateTeam(isEnemy, team)
예제 #22
0
 def populate(self):
     arenaDP = g_sessionProvider.getArenaDP()
     getTeamName = g_sessionProvider.getCtx().getTeamName
     getNumberOfTeam = arenaDP.getNumberOfTeam
     playerTeamIdx, enemyTeamIdx = getNumberOfTeam(), getNumberOfTeam(True)
     _alliedTeamName = getTeamName(playerTeamIdx)
     _enemyTeamName = getTeamName(enemyTeamIdx)
     self.__callFlash('setTeamNames', [_alliedTeamName, _enemyTeamName])
     self.showVehiclesCounter(g_settingsCore.getSetting('showVehiclesCounter'))
     self.updateScore()
     for isEnemy, team in arenaDP.getTeamIDsIterator():
         self.updateTeam(isEnemy, team)
예제 #23
0
 def updateCameraByMouseMove(self, dx, dy, dz):
     if self.__selectedEmblemInfo is not None:
         self.__cam.target.setTranslate(_CFG['preview_cam_start_target_pos'])
         self.__cam.pivotPosition = _CFG['preview_cam_pivot_pos']
         if self.__locatedOnEmbelem:
             self.__cam.maxDistHalfLife = 0.0
         else:
             self.__cam.maxDistHalfLife = _CFG['cam_fluency']
     sourceMat = Math.Matrix(self.__cam.source)
     yaw = sourceMat.yaw
     pitch = sourceMat.pitch
     dist = self.__cam.pivotMaxDist
     currentMatrix = Math.Matrix(self.__cam.invViewMatrix)
     currentYaw = currentMatrix.yaw
     yaw = self.__yawCameraFilter.getNextYaw(currentYaw, yaw, dx)
     pitch -= dy * _CFG['cam_sens']
     dist -= dz * _CFG['cam_sens']
     pitch = mathUtils.clamp(math.radians(_CFG['cam_pitch_constr'][0]), math.radians(_CFG['cam_pitch_constr'][1]), pitch)
     prevDist = dist
     distConstr = self.__camDistConstr[1] if self.__selectedEmblemInfo is not None else self.__camDistConstr[0]
     dist = mathUtils.clamp(distConstr[0], distConstr[1], dist)
     if self.__boundingRadius is not None:
         boundingRadius = self.__boundingRadius if self.__boundingRadius < distConstr[1] else distConstr[1]
         dist = dist if dist > boundingRadius else boundingRadius
     if dist > prevDist and dz > 0:
         if self.__selectedEmblemInfo is not None:
             self.locateCameraOnEmblem(*self.__selectedEmblemInfo)
             return
     self.__locatedOnEmbelem = False
     mat = Math.Matrix()
     mat.setRotateYPR((yaw, pitch, 0.0))
     self.__cam.source = mat
     self.__cam.pivotMaxDist = dist
     if g_settingsCore.getSetting('dynamicFov') and abs(distConstr[1] - distConstr[0]) > 0.001:
         relativeDist = (dist - distConstr[0]) / (distConstr[1] - distConstr[0])
         _, minFov, maxFov = g_settingsCore.getSetting('fov')
         fov = mathUtils.lerp(minFov, maxFov, relativeDist)
         BigWorld.callback(0, functools.partial(FovExtended.instance().setFovByAbsoluteValue, math.radians(fov), 0.1))
     return
예제 #24
0
def getHTMLString(colorScheme, csManager):
    __colorGroup = g_settingsCore.getSetting('isColorBlind')
    scheme = csManager.getScheme(colorScheme)
    makeRGB = csManager._makeRGB
    if __colorGroup in scheme:
        color = makeRGB(scheme[__colorGroup])
    elif csManager.DEFAULT_TAG in scheme:
        color = makeRGB(scheme[csManager.DEFAULT_TAG])
    else:
        LOG_ERROR('Current color scheme not found', scheme, __colorGroup)
        color = 0
    if color:
        result = "<font color='#{0:06x}'>%s</font><br/>".format(color)
    else:
        result = '<font>%s</font><br/>'
    return result
예제 #25
0
 def __init__(self, spaceId, vEntityId, hangarSpace):
     self.__isLoaded = False
     self.__curBuildInd = 0
     self.__vDesc = None
     self.__vState = None
     self.__fashions = VehiclePartsTuple(None, None, None, None)
     self.__spaceId = spaceId
     self.__vEntityId = vEntityId
     self.__onLoadedCallback = None
     self.__emblemsAlpha = _CFG['emblems_alpha_undamaged']
     self.__vehicleStickers = None
     self.__isVehicleDestroyed = False
     self.__smCb = None
     self.__smRemoveCb = None
     self.__hangarSpace = weakref.proxy(hangarSpace)
     self.__removeHangarShadowMap()
     from account_helpers.settings_core.SettingsCore import g_settingsCore
     self.__showMarksOnGun = g_settingsCore.getSetting('showMarksOnGun')
     g_settingsCore.onSettingsChanged += self.__onSettingsChanged
     g_itemsCache.onSyncCompleted += self.__onItemsCacheSyncCompleted
     return
예제 #26
0
 def setInitialMode(self):
     if not self.__isChanged:
         self.__call('setState', [g_settingsCore.getSetting('ppState')])
         self.__ui.invalidateGUI()
예제 #27
0
 def getPlayerStatus(self, vo):
     status = super(PlayerTeamOverrides, self).getPlayerStatus(vo)
     if self.personal.vehicleID == vo.vehicleID and vo.isSquadMan() and arena_info.isRandomBattle() and not g_settingsCore.getSetting(SOUND.VOIP_ENABLE) and not IS_CHINA:
         status |= PLAYER_STATUS.IS_VOIP_DISABLED
     return status
예제 #28
0
 def setSettings(self):
     value = g_settingsCore.getSetting(settings_constants.GAME.SHOW_VEH_MODELS_ON_MAP)
     self.__flags = settings.convertSettingToFeatures(value, self.__flags)
     if _FEATURES.isOn(self.__flags):
         self.__showFeatures(True)
예제 #29
0
 def __updatePing(self, pingValues):
     currentPing = pingValues.get(connectionManager.url, UNDEFINED_PING_VAL)
     self.as_updatePingStatusS(getPingStatus(currentPing), g_settingsCore.getSetting('isColorBlind'))
예제 #30
0
 def setSettings(self):
     value = g_settingsCore.getSetting(
         settings_constants.GAME.SHOW_VEH_MODELS_ON_MAP)
     self.__flags = settings.convertSettingToFeatures(value, self.__flags)
     if _FEATURES.isOn(self.__flags):
         self.__showFeatures(True)
예제 #31
0
 def getPlayerStatus(self, vo):
     status = super(PlayerTeamOverrides, self).getPlayerStatus(vo)
     if self.personal.vehicleID == vo.vehicleID and vo.isSquadMan() and self.__isVoipSupported and not g_settingsCore.getSetting(SOUND.VOIP_ENABLE) and not self.isReplayPlaying and not IS_CHINA:
         status |= _P_STATUS.IS_VOIP_DISABLED
     return status
예제 #32
0
def getColorValue(schemeName, csManager):
    isColorBlind = g_settingsCore.getSetting('isColorBlind')
    rgba = csManager.getSubScheme(schemeName, isColorBlind)['rgba']
    return (int(rgba[0]) << 16) + (int(rgba[1]) << 8) + (int(rgba[2]) << 0)
예제 #33
0
 def setInitialMode(self):
     if not self.__isChanged:
         self.__call('setState', [g_settingsCore.getSetting('ppState')])
         self.__ui.invalidateGUI()
예제 #34
0
def getColorValue(schemeName, csManager):
    isColorBlind = g_settingsCore.getSetting('isColorBlind')
    rgba = csManager.getSubScheme(schemeName, isColorBlind)['rgba']
    return (int(rgba[0]) << 16) + (int(rgba[1]) << 8) + (int(rgba[2]) << 0)
예제 #35
0
 def __updatePing(self, pingValues):
     currentPing = pingValues.get(connectionManager.url, UNDEFINED_PING_VAL)
     self.as_updatePingStatusS(getPingStatus(currentPing),
                               g_settingsCore.getSetting('isColorBlind'))