]> git.mxchange.org Git - flightgear.git/blobdiff - src/Sound/fg_fx.cxx
Fix the temperature computation.
[flightgear.git] / src / Sound / fg_fx.cxx
index eb7abd1eb47ebca64f7aaa5f524c2430c8877362..caff002e224a8e41a9754cb32040e254877e2517 100644 (file)
@@ -202,13 +202,12 @@ FGFX::play_message( SGSoundSample *_sample )
 void
 FGFX::play_message( const string path, const string fname, double volume )
 {
-    if (globals->get_soundmgr()->is_working() == false) {
-        return;
+    if (globals->get_soundmgr()->is_working() == true) {
+        SGSoundSample *sample;
+        sample = new SGSoundSample( path.c_str(), fname.c_str() );
+        sample->set_volume( volume );
+        play_message( sample );
     }
-    SGSoundSample *sample;
-    sample = new SGSoundSample( path.c_str(), fname.c_str() );
-    sample->set_volume( volume );
-    play_message( sample );
 }
 
 void
@@ -226,9 +225,8 @@ FGFX::update_pos_and_orientation(SGSoundMgr *smgr, double dt)
 
     // get the orientation
     const SGQuatd view_or = observer->getViewOrientation();
-    SGQuatd surf_or = SGQuatd::fromLonLatDeg(
-                                observer->getLongitude_deg(),
-                                observer->getLatitude_deg());
+    SGQuatd surf_or = SGQuatd::fromLonLat(observer->getPosition());
+    
     SGQuatd model_or = SGQuatd::fromYawPitchRollDeg(
                                 model->getHeadingDeg(),
                                 model->getPitchDeg(),
@@ -271,8 +269,8 @@ FGFX::update_pos_and_orientation(SGSoundMgr *smgr, double dt)
                     ));
     sgSetVec3(listener_vel, SGV3d_help[0], SGV3d_help[1], SGV3d_help[2]);
 
-    sgdSubVec3(sgdv3_help, last_model_pos, absolute_view_pos.sg());
-    sgdAddVec3(last_model_pos, sgdv3_null, absolute_view_pos.sg());
+    sgdSubVec3(sgdv3_help, last_model_pos, absolute_view_pos.data());
+    sgdAddVec3(last_model_pos, sgdv3_null, absolute_view_pos.data());
 
     SGV3d_help = model_or.rotateBack(
                     surf_or.rotateBack(
@@ -304,7 +302,7 @@ FGFX::update_pos_and_orientation(SGSoundMgr *smgr, double dt)
     sgdVec3 dsource_pos_offset;
     sgdSubVec3( dsource_pos_offset,
                 (double*) &observer->get_view_pos(),
-                absolute_view_pos.sg() );
+                absolute_view_pos.data() );
     SGVec3d sgv_dsource_pos_offset;
     sgv_dsource_pos_offset = model_or.rotateBack(
                                 surf_or.rotateBack(