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()
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')
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
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
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()
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')
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()
def SetupPlayerListener(self): camera = sm.GetService('cameraClient').GetActiveCamera() if camera: camera.audio2Listener = audio2.GetListener(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()
def OnActivated(self, *args, **kwargs): self.audio2Listener = audio2.GetListener(0)