Exemple #1
0
 def EnterWorldspace(self):
     """
     Happens whenever we go into a worldspace, originates in the viewState transition for entering a worldspace. 
     Resets all the camera stuff so that we start with a clean, unburdened slate.
     """
     if self.enabled:
         self.Disable()
     self.ResetCameras()
     self.SetAudioListener(audio2.GetListener(0))
     defaultCamera = cameras.AvatarCamera()
     if self.cameraStartupInfo is not None:
         defaultCamera.yaw = self.cameraStartupInfo.yaw
         defaultCamera.pitch = self.cameraStartupInfo.pitch
         defaultCamera.zoom = defaultCamera.collisionZoom = defaultCamera.desiredZoom = self.cameraStartupInfo.zoom
         defaultCamera.userSelectedZoom = self.cameraStartupInfo.zoom
     if self.audioListener is not None:
         defaultCamera.audio2Listener = self.audioListener
     self.cameraStack = [defaultCamera]
     self._CreateCameraRenderJob()
     defaultCamera.Update()
     self.sharedCameras = {'Default Incarna Avatar Camera': defaultCamera}
     defaultCamera.AddBehavior(cameras.CharacterOffsetBehavior(
         session.charid),
                               priority=1)
     defaultCamera.AddBehavior(cameras.ZoomFovBehavior(), priority=2)
     self.ApplyUserSettings()
     self.Enable()
Exemple #2
0
    def Activate(self):
        """
            This method is used by external services to activate the audio
            system. This sets up the user's saved audio preferences and
            attaches an audio2 listener to the camera.
        
            Scatters the OnAudioActivated event.
        """
        self.manager.Enable()
        if self.uiPlayer is None:
            self.uiPlayer = audio2.GetUIPlayer()
        self.active = True
        self.SetMasterVolume(self.GetMasterVolume())
        self.SetUIVolume(self.GetUIVolume())
        self.SetWorldVolume(self.GetWorldVolume())
        self.SetVoiceVolume(self.GetVoiceVolume())
        self._SetAmpVolume(self.GetMusicVolume())
        self.SetTurretSuppression(self.GetTurretSuppression())
        self.SetVoiceCountLimitation(self.GetVoiceCountLimitation())
        if not self.firstStartup:
            sm.GetService('dynamicMusic').dynamicMusicSystem.EnableMusic()
            sm.GetService('dynamicMusic').UpdateDynamicMusic()
        self.firstStartup = False
        try:
            self.SetListener(audio2.GetListener(0))
        except Exception:
            pass

        sm.ScatterEvent('OnAudioActivated')
Exemple #3
0
    def AudioUpdateThread(self):
        self.audioListener = audio2.GetListener(0)
        while self.isActive:
            self.audioListener.SetPosition(self.GetLookAtDirection(),
                                           self.upDirection, self.eyePosition)
            blue.synchro.Yield()

        self.audioListener = None
 def GetSpaceCamera(self):
     if self.spaceCamera is None:
         camera = blue.resMan.LoadObject('res:/dx9/scene/camera.red')
         self._CreateErrorHandler(camera)
         camera.noise = gfxsettings.Get(gfxsettings.UI_CAMERA_SHAKE_ENABLED)
         evecamera.ApplyCameraDefaults(camera)
         camera.audio2Listener = audio2.GetListener(0)
         self.spaceCamera = camera
     return self.spaceCamera
Exemple #5
0
 def _GetCamera(self, key, setupCamera):
     if key == 'default':
         return sm.GetService('camera').GetSpaceCamera()
     camera = self.GetRegisteredCamera(key)
     if setupCamera and camera is None:
         camera = self._GetSharedResource('res:/dx9/scene/camera.red', key)
         camera.noise = False
     if camera:
         evecamera.ApplyCameraDefaults(camera)
         if key == 'default':
             camera.audio2Listener = audio2.GetListener(0)
     return camera
Exemple #6
0
    def LoadScene(self):
        self.camera = trinity.Load('res:/dx9/scene/login_screen_camera.red')
        self.scene = trinity.Load('res:/dx9/scene/login_screen.red')
        blue.resMan.Wait()
        self.CheckHeightMaps()
        stations = self.scene.Find('trinity.EveStation2')
        for station in stations:
            station.PlayAnimationEx('NormalLoop', 0, 0, 0.2)

        self.camera.audio2Listener = audio2.GetListener(0)
        sm.GetService('sceneManager').SetActiveCamera(self.camera)
        sm.GetService('sceneManager').SetActiveScene(self.scene)
        audioService = sm.GetService('audio')
        audioService.UpdateDynamicMusic()
        self.sceneLoadedEvent.set()
        blue.pyos.synchro.Yield()
Exemple #7
0
    def Activate(self):
        self.manager.SetEnabled(True)
        if self.uiPlayer is None:
            self.uiPlayer = audio2.GetUIPlayer()
        if self.jukeboxPlayer is None:
            self.jukeboxPlayer = audio2.GetJukebox()
            jukeboxEventHandler = blue.classes.CreateInstance(
                'blue.BlueEventToPython')
            jukeboxEventHandler.handler = Audio2JukeboxCallback
            self.jukeboxPlayer.eventListener = jukeboxEventHandler
        if not self.banksLoaded:
            self.manager.LoadBank(u'Init.bnk')
            self.AppLoadBanks()
            self.banksLoaded = True
        self.active = True
        self.AppActivate()
        try:
            self.AppSetListener(audio2.GetListener(0))
        except:
            pass

        sm.ScatterEvent('OnAudioActivated')
Exemple #8
0
 def EnterWorldspace(self):
     if self.enabled:
         self.Disable()
     self.ResetCameras()
     self.SetAudioListener(audio2.GetListener(0))
     defaultCamera = cameras.AvatarCamera()
     if self.cameraStartupInfo is not None:
         defaultCamera.yaw = self.cameraStartupInfo.yaw
         defaultCamera.pitch = self.cameraStartupInfo.pitch
         defaultCamera.zoom = defaultCamera.collisionZoom = defaultCamera.desiredZoom = self.cameraStartupInfo.zoom
         defaultCamera.userSelectedZoom = self.cameraStartupInfo.zoom
     if self.audioListener is not None:
         defaultCamera.audio2Listener = self.audioListener
     self.cameraStack = [defaultCamera]
     self._CreateCameraRenderJob()
     defaultCamera.Update()
     self.sharedCameras = {'Default Incarna Avatar Camera': defaultCamera}
     defaultCamera.AddBehavior(cameras.CharacterOffsetBehavior(
         session.charid),
                               priority=1)
     defaultCamera.AddBehavior(cameras.ZoomFovBehavior(), priority=2)
     self.ApplyUserSettings()
     self.Enable()
Exemple #9
0
 def SetupPlayerListener(self):
     camera = sm.GetService('cameraClient').GetActiveCamera()
     if camera:
         camera.audio2Listener = audio2.GetListener(0)
Exemple #10
0
 def LoadScene(self,
               scenefile,
               sceneName='',
               fov=None,
               leaveUntouched=0,
               inflight=0,
               registerKey=None,
               setupCamera=True):
     try:
         if registerKey:
             self.sceneLoadedEvents[registerKey] = locks.Event(registerKey)
         self.SetSceneType(SCENE_TYPE_SPACE)
         sceneFromFile = trinity.Load(scenefile)
         if sceneFromFile is None:
             return
         scene = sceneFromFile
         bp = sm.GetService('michelle').GetBallpark()
         camera = self.GetRegisteredCamera(registerKey)
         if setupCamera:
             if camera is None:
                 camera = trinity.Load('res:/dx9/scene/camera.red')
         if inflight:
             if scene.dustfield is None:
                 scene.dustfield = trinity.Load(
                     'res:/dx9/scene/dustfield.red')
             scene.dustfieldConstraint = scene.dustfield.Find(
                 'trinity.EveDustfieldConstraint')[0]
             if scene.dustfieldConstraint is not None:
                 scene.dustfieldConstraint.camera = camera
             scene.ballpark = bp
             scene.sunDiffuseColor = (1.5, 1.5, 1.5, 1.0)
             if settings.user.ui.Get(
                     'effectsEnabled',
                     1) and session.solarsystemid is not None:
                 universe = getattr(self, 'universe', None)
                 if not universe:
                     universe = trinity.Load(
                         'res:/dx9/scene/starfield/universe.red')
                     setattr(self, 'universe', universe)
                 scene.backgroundObjects.append(universe)
                 here = sm.GetService('map').GetItem(session.solarsystemid)
                 if here:
                     scale = 10000000000.0
                     position = (here.x / scale, here.y / scale,
                                 -here.z / scale)
                     universe.children[0].translation = position
         if leaveUntouched:
             self.SetActiveScene(scene, registerKey)
             return scene
         if camera:
             self.PrepareCamera(camera)
             if fov:
                 camera.fieldOfView = fov
         self.PrepareBackgroundLandscapes(scene)
         if registerKey:
             self.RegisterCamera(registerKey, camera)
             self.RegisterScene(scene, registerKey)
             activeScene = self.GetActiveScene()
             if activeScene is None or activeScene not in self.registeredScenes.values(
             ):
                 self.SetActiveScene(scene, registerKey)
                 if camera:
                     self.SetActiveCamera(camera)
         else:
             self.SetActiveScene(scene, registerKey)
             if camera:
                 self.SetActiveCamera(camera)
         if camera:
             camera.audio2Listener = audio2.GetListener(0)
         if camera and bp is not None:
             myShipBall = bp.GetBallById(bp.ego)
             vel = geo2.Vector(myShipBall.vx, myShipBall.vy, myShipBall.vz)
             if geo2.Vec3Length(vel) > 0.0:
                 vel = geo2.Vec3Normalize(vel)
                 pitch = asin(-vel[1])
                 yaw = atan2(vel[0], vel[2])
                 yaw = yaw - 0.3
                 pitch = pitch - 0.15
                 camera.SetOrbit(yaw, pitch)
         if inflight and settings.user.ui.Get('routeVisualizationEnabled',
                                              True):
             if self.routeVisualizer:
                 self.routeVisualizer.Cleanup()
             self.routeVisualizer = RouteVisualizer()
         sm.ScatterEvent('OnLoadScene')
     except Exception:
         log.LogException('sceneManager::LoadScene')
         sys.exc_clear()
     finally:
         if registerKey and registerKey in self.sceneLoadedEvents:
             self.sceneLoadedEvents.pop(registerKey).set()
Exemple #11
0
 def OnActivated(self, *args, **kwargs):
     self.audio2Listener = audio2.GetListener(0)