]> git.mxchange.org Git - simgear.git/commitdiff
Maik JUSTUS: fix/implement directional sound
authormfranz <mfranz>
Thu, 21 Jun 2007 21:46:21 +0000 (21:46 +0000)
committermfranz <mfranz>
Thu, 21 Jun 2007 21:46:21 +0000 (21:46 +0000)
simgear/sound/sample_openal.cxx
simgear/sound/xmlsound.cxx

index 310b6339b7ab9deb9f33c4f0d71f37eb790776b3..2eb4910d2bf73426a7e3ec4029c875790cb89c03 100644 (file)
@@ -338,6 +338,9 @@ SGSoundSample::set_orientation( ALfloat *dir, ALfloat inner_angle,
     inner = inner_angle;
     outer = outer_angle;
     outergain = outer_gain;
+    direction[0] = dir[0];
+    direction[1] = dir[1];
+    direction[2] = dir[2];
     if (playing) {
         alSourcefv( source, AL_DIRECTION, dir);
         alSourcef( source, AL_CONE_INNER_ANGLE, inner );
index 74ef4713b097766487eb11db93a3a160f707afc0..c4b6523314fa643fbbcee35315e0940542edea6d 100644 (file)
@@ -237,7 +237,7 @@ SGXmlSound::init(SGPropertyNode *root, SGPropertyNode *node, SGSoundMgr *sndmgr,
    SGPropertyNode_ptr pos = node->getChild("position");
    if ( pos != NULL ) {
        offset_pos[0] = pos->getDoubleValue("x", 0.0);
-       offset_pos[1] = pos->getDoubleValue("y", 0.0);
+       offset_pos[1] = -pos->getDoubleValue("y", 0.0);
        offset_pos[2] = pos->getDoubleValue("z", 0.0);
    }
 
@@ -252,7 +252,7 @@ SGXmlSound::init(SGPropertyNode *root, SGPropertyNode *node, SGSoundMgr *sndmgr,
    pos = node->getChild("orientation");
    if ( pos != NULL ) {
       dir[0] = pos->getDoubleValue("x", 0.0);
-      dir[1] = pos->getDoubleValue("y", 0.0);
+      dir[1] = -pos->getDoubleValue("y", 0.0);
       dir[2] = pos->getDoubleValue("z", 0.0);
       inner = pos->getDoubleValue("inner-angle", 360.0);
       outer = pos->getDoubleValue("outer-angle", 360.0);