From 9bb9a78249af819352230fee4fe984537af520d4 Mon Sep 17 00:00:00 2001 From: ThorstenB Date: Wed, 10 Oct 2012 20:34:02 +0200 Subject: [PATCH] Stash properties --- src/Sound/soundmanager.cxx | 14 +++++++++----- src/Sound/soundmanager.hxx | 3 ++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/Sound/soundmanager.cxx b/src/Sound/soundmanager.cxx index fd4224acd..9ae7e3aed 100644 --- a/src/Sound/soundmanager.cxx +++ b/src/Sound/soundmanager.cxx @@ -74,6 +74,10 @@ void FGSoundManager::init() _velocityEastFPS = fgGetNode("velocities/speed-east-fps", true); _velocityDownFPS = fgGetNode("velocities/speed-down-fps", true); + _viewXoffset = _currentView->getNode("x-offset-m", true); + _viewYoffset = _currentView->getNode("y-offset-m", true); + _viewZoffset = _currentView->getNode("z-offset-m", true); + reinit(); } @@ -123,13 +127,13 @@ void FGSoundManager::update_device_list() devices.clear(); } -bool FGSoundManager::stationary() const +bool FGSoundManager::stationaryView() const { // this is an ugly hack to decide if the *viewer* is stationary, // since we don't model the viewer velocity directly. - return (_currentView->getDoubleValue("x-offset-m") == 0.0) && - (_currentView->getDoubleValue("y-offset-m") == 0.0) && - (_currentView->getDoubleValue("z-offset-m") == 0.0); + return (_viewXoffset->getDoubleValue() == 0.0) && + (_viewYoffset->getDoubleValue() == 0.0) && + (_viewZoffset->getDoubleValue() == 0.0); } // Update sound manager and propagate property values, @@ -165,7 +169,7 @@ void FGSoundManager::update(double dt) set_orientation( viewOrientation ); SGVec3d velocity(SGVec3d::zeros()); - if (!stationary()) { + if (!stationaryView()) { velocity = SGVec3d(_velocityNorthFPS->getDoubleValue(), _velocityEastFPS->getDoubleValue(), _velocityDownFPS->getDoubleValue() ); diff --git a/src/Sound/soundmanager.hxx b/src/Sound/soundmanager.hxx index b68983355..af7f19bc7 100644 --- a/src/Sound/soundmanager.hxx +++ b/src/Sound/soundmanager.hxx @@ -46,13 +46,14 @@ public: void update_device_list(); private: - bool stationary() const; + bool stationaryView() const; bool _is_initialized, _enabled; SGPropertyNode_ptr _sound_working, _sound_enabled, _volume, _device_name; SGPropertyNode_ptr _currentView; SGPropertyNode_ptr _viewPosLon, _viewPosLat, _viewPosElev; SGPropertyNode_ptr _velocityNorthFPS, _velocityEastFPS, _velocityDownFPS; + SGPropertyNode_ptr _viewXoffset, _viewYoffset, _viewZoffset; Listener* _listener; }; #else