示例#1
0
 def __init__(self, updatePeriod=0.1):
     CallbackDelayer.__init__(self)
     self.__rtpcTurretSpeed = WWISE.WW_getRTPCValue('RTPC_ext_turret_speed')
     self.__rtpcTurretAngle = WWISE.WW_getRTPCValue('RTPC_ext_turret_angle')
     self.__rtpcTurretPitch = WWISE.WW_getRTPCValue('RTPC_ext_turret_pitch')
     self.__rtpcTurretPitchSpeed = WWISE.WW_getRTPCValue(
         'RTPC_ext_turret_pitch_speed')
     self.__rtpcTurretDamaged = WWISE.WW_getRTPCValue(
         'RTPC_ext_turret_damaged')
     self.__updatePeriod = updatePeriod
     self.__soundObject = None
     self.__oldPitch = 0
     self.__oldTime = 0
     self.__init_sound()
     return
示例#2
0
    def __init__(self):
        self.__enableStatus = SOUND_ENABLE_STATUS_DEFAULT
        self.__volumeByCategory = {}
        self.__masterVolume = 1.0
        self.__handleInside = None
        self.__handleOutside = None
        self.__activeStinger = None
        self.__activeTrack = None
        self.__activeStingerPriority = None
        self.__muffled = False
        self.__muffledByReplay = False
        self.__spaceID = GuiGlobalSpaceID.UNDEFINED
        PlayerEvents.g_playerEvents.onAvatarReady += self.onAvatarReady
        self.__categories = {
            'vehicles': ('outside/vehicles', 'vehicles'),
            'effects':
            ('hits', 'outside/hits', 'inside/weapons', 'outside/weapons',
             'outside/environment', 'battle_gui'),
            'gui': ('gui', 'ingame_voice'),
            'music': ('music', ),
            'ambient': ('outside/ambient', 'hangar_v2', 'ambientUR'),
            'masterVivox': (),
            'micVivox': (),
            'masterFadeVivox': ()
        }
        defCategoryVolumes = {
            'music': 0.5,
            'masterVivox': 0.7,
            'micVivox': 0.4
        }
        userPrefs = Settings.g_instance.userPrefs
        soundModeName = SoundModes.DEFAULT_MODE_NAME
        nationalMapping = None
        self.__soundModes = None
        self.__viewPlayModeParam = WWISE.WW_getRTPCValue(
            'RTPC_ext_viewPlayMode')
        if not userPrefs.has_key(Settings.KEY_SOUND_PREFERENCES):
            userPrefs.write(Settings.KEY_SOUND_PREFERENCES, '')
            self.__masterVolume = MASTER_VOLUME_DEFAULT
            for categoryName in self.__categories.iterkeys():
                self.__volumeByCategory[categoryName] = defCategoryVolumes.get(
                    categoryName, 1.0)

            self.savePreferences()
        else:
            ds = userPrefs[Settings.KEY_SOUND_PREFERENCES]
            self.__enableStatus = ds.readInt('enable',
                                             SOUND_ENABLE_STATUS_DEFAULT)
            self.__masterVolume = ds.readFloat('masterVolume',
                                               MASTER_VOLUME_DEFAULT)
            self.__volumeByCategory['music_hangar'] = ds.readFloat(
                'volume_music_hangar', 1.0)
            self.__volumeByCategory['voice'] = ds.readFloat(
                'volume_voice', 1.0)
            self.__volumeByCategory['ev_ambient'] = ds.readFloat(
                'volume_ev_ambient', 0.8)
            self.__volumeByCategory['ev_effects'] = ds.readFloat(
                'volume_ev_effects', 0.8)
            self.__volumeByCategory['ev_gui'] = ds.readFloat(
                'volume_ev_gui', 0.8)
            self.__volumeByCategory['ev_music'] = ds.readFloat(
                'volume_ev_music', 0.8)
            self.__volumeByCategory['ev_vehicles'] = ds.readFloat(
                'volume_ev_vehicles', 0.8)
            self.__volumeByCategory['ev_voice'] = ds.readFloat(
                'volume_ev_voice', 0.8)
            for categoryName in self.__categories.iterkeys():
                volume = ds.readFloat(
                    'volume_' + categoryName,
                    defCategoryVolumes.get(categoryName, 1.0))
                self.__volumeByCategory[categoryName] = volume

            soundModeSec = ds['soundMode']
            if soundModeSec is not None:
                soundModeName = soundModeSec.asString
                if soundModeName == '':
                    soundModeName = SoundModes.DEFAULT_MODE_NAME
                    if ds['soundMode'].has_key('nationalPreset'):
                        nationalMapping = ds.readString(
                            'soundMode/nationalPreset', '')
                    else:
                        nationsSec = soundModeSec['nations']
                        if nationsSec is not None:
                            nationalMapping = {}
                            for nation, sec in nationsSec.items():
                                nationalMapping[nation] = sec.asString

        self.__soundModes = SoundModes(SoundModes.DEFAULT_MODE_NAME)
        if isinstance(nationalMapping, str):
            self.__soundModes.setNationalMappingByPreset(nationalMapping)
        elif isinstance(nationalMapping, dict):
            self.__soundModes.setNationalMapping(nationalMapping)
        else:
            self.__soundModes.setNationalMappingByMode(soundModeName)
        if not self.applyPreferences():
            Windowing.addWindowAccessibilitynHandler(
                self.__onWindowAccessibilityChanged)
        g_replayEvents.onMuteSound += self.__onReplayMute
        return