]> git.mxchange.org Git - flightgear.git/commitdiff
Properly construct a string from another string and an integer, use a relative path...
authorErik Hofman <erik@ehofman.com>
Sat, 3 Dec 2011 13:40:48 +0000 (14:40 +0100)
committerErik Hofman <erik@ehofman.com>
Sat, 3 Dec 2011 13:40:48 +0000 (14:40 +0100)
src/AIModel/AIBase.cxx
src/Sound/fg_fx.cxx

index d2e2fe25dce9c7956b475377a00ff7c51d989738..95d023296daeead9e0194f595f86300ecad6dd70 100644 (file)
@@ -147,7 +147,10 @@ FGAIBase::~FGAIBase() {
 
     if (_refID != 0 && _refID !=  1) {
         SGSoundMgr *smgr = globals->get_soundmgr();
-        smgr->remove("aifx:"+_refID);
+        stringstream name; 
+        name <<  "aifx:";
+        name << _refID;
+        smgr->remove(name.str());
     }
 
     delete fp;
@@ -221,7 +224,8 @@ void FGAIBase::update(double dt) {
         _fx->set_orientation( orient );
 
         SGVec3d velocity;
-        velocity = SGVec3d( speed_north_deg_sec, speed_east_deg_sec, pitch*speed );
+        velocity = SGVec3d( speed_north_deg_sec, speed_east_deg_sec,
+                            pitch*speed );
         _fx->set_velocity( velocity );
     }
     else if (_aimodel)
@@ -234,7 +238,10 @@ void FGAIBase::update(double dt) {
 
             // initialize the sound configuration
             SGSoundMgr *smgr = globals->get_soundmgr();
-            _fx = new FGFX(smgr, "aifx:"+_refID, props);
+            stringstream name;
+            name <<  "aifx:";
+            name << _refID;
+            _fx = new FGFX(smgr, name.str(), props);
             _fx->init();
         }
     }
index c8c6b49f383173f27de8d02005c6e0ab30cea742..2df20387d72be99687434bce12560184b6f4868b 100644 (file)
 #include <simgear/sound/xmlsound.hxx>
 
 FGFX::FGFX ( SGSoundMgr *smgr, const string &refname, SGPropertyNode *props ) :
-    _props( props ),
-    _enabled( fgGetNode("/sim/sound/effects/enabled", true) ),
-    _volume( fgGetNode("/sim/sound/effects/volume", true) )
+    _props( props )
 {
-    if (!props) _props = globals->get_props();
+    if (!props) {
+        _props = globals->get_props();
+        _enabled = fgGetNode("/sim/sound/effects/enabled", true);
+        _volume = fgGetNode("/sim/sound/effects/volume", true);
+    } else {
+        _enabled = _props->getNode("/sim/sound/aimodels/enabled", true);
+        _enabled->setBoolValue(fgGetBool("/sim/sound/effects/enabled"));
+         _volume = _props->getNode("/sim/sound/aimodels/volume", true);
+        _volume->setFloatValue(fgGetFloat("/sim/sound/effects/volume"));
+_volume->setFloatValue(0.1f);
+    }
 
     _avionics_enabled = _props->getNode("sim/sound/avionics/enabled", true);
     _avionics_volume = _props->getNode("sim/sound/avionics/volume", true);
@@ -102,9 +110,9 @@ FGFX::init()
             SGXmlSound *sound = new SGXmlSound();
   
             try {
-                sound->init(globals->get_props(), node->getChild(i), this,
+//              sound->init(globals->get_props(), node->getChild(i), this,
+                sound->init(_props, node->getChild(i), this,
                             _avionics, path.dir());
-  
                 _sound.push_back(sound);
             } catch ( sg_exception &e ) {
                 SG_LOG(SG_SOUND, SG_ALERT, e.getFormattedMessage());