X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fsound%2Fxmlsound.cxx;h=8958af9108375c2ff68104eee4353b6719baa034;hb=c4b4c0ce59602a0b749e22b29d6ce5db6f654eae;hp=479e312361d34c7bd631e1266a7034f6f2cf4a0a;hpb=3cd4c5566f8c418bc9bbb6026072eb0192027993;p=simgear.git diff --git a/simgear/sound/xmlsound.cxx b/simgear/sound/xmlsound.cxx index 479e3123..8958af91 100644 --- a/simgear/sound/xmlsound.cxx +++ b/simgear/sound/xmlsound.cxx @@ -93,11 +93,11 @@ SGXmlSound::init(SGPropertyNode *root, SGPropertyNode *node, _name = node->getStringValue("name", ""); SG_LOG(SG_GENERAL, SG_DEBUG, "Loading sound information for: " << _name ); - const char *mode_str = node->getStringValue("mode", ""); - if ( !strcmp(mode_str, "looped") ) { + string mode_str = node->getStringValue("mode", ""); + if ( mode_str == "looped" ) { _mode = SGXmlSound::LOOPED; - } else if ( !strcmp(mode_str, "in-transit") ) { + } else if ( mode_str == "in-transit" ) { _mode = SGXmlSound::IN_TRANSIT; } else { @@ -105,11 +105,14 @@ SGXmlSound::init(SGPropertyNode *root, SGPropertyNode *node, } bool is_avionics = false; - const char *type_str = node->getStringValue("type", "fx"); - if ( !strcmp(type_str, "avionics") ) + string type_str = node->getStringValue("type", "fx"); + if ( type_str == "avionics" ) is_avionics = true; - _property = root->getNode(node->getStringValue("property", ""), true); + string propval = node->getStringValue("property", ""); + if (propval != "") + _property = root->getNode(propval, true); + SGPropertyNode *condition = node->getChild("condition"); if (condition != NULL) _condition = sgReadCondition(root, condition); @@ -129,13 +132,14 @@ SGXmlSound::init(SGPropertyNode *root, SGPropertyNode *node, for (i = 0; (i < kids.size()) && (i < SGXmlSound::MAXPROP); i++) { _snd_prop volume = {NULL, NULL, NULL, 1.0, 0.0, 0.0, 0.0, false}; - if (strcmp(kids[i]->getStringValue("property"), "")) - volume.prop = root->getNode(kids[i]->getStringValue("property", ""), true); + propval = kids[i]->getStringValue("property", ""); + if ( propval != "" ) + volume.prop = root->getNode(propval, true); - const char *intern_str = kids[i]->getStringValue("internal", ""); - if (!strcmp(intern_str, "dt_play")) + string intern_str = kids[i]->getStringValue("internal", ""); + if (intern_str == "dt_play") volume.intern = &_dt_play; - else if (!strcmp(intern_str, "dt_stop")) + else if (intern_str == "dt_stop") volume.intern = &_dt_stop; if ((volume.factor = kids[i]->getDoubleValue("factor", 1.0)) != 0.0) @@ -144,11 +148,11 @@ SGXmlSound::init(SGPropertyNode *root, SGPropertyNode *node, volume.subtract = true; } - const char *type_str = kids[i]->getStringValue("type", ""); - if ( strcmp(type_str, "") ) { + string type_str = kids[i]->getStringValue("type", ""); + if ( type_str != "" ) { for (int j=0; __sound_fn[j].fn; j++) - if ( !strcmp(type_str, __sound_fn[j].name) ) { + if ( type_str == __sound_fn[j].name ) { volume.fn = __sound_fn[j].fn; break; } @@ -186,13 +190,14 @@ SGXmlSound::init(SGPropertyNode *root, SGPropertyNode *node, for (i = 0; (i < kids.size()) && (i < SGXmlSound::MAXPROP); i++) { _snd_prop pitch = {NULL, NULL, NULL, 1.0, 1.0, 0.0, 0.0, false}; - if (strcmp(kids[i]->getStringValue("property", ""), "")) - pitch.prop = root->getNode(kids[i]->getStringValue("property", ""), true); + propval = kids[i]->getStringValue("property", ""); + if (propval != "") + pitch.prop = root->getNode(propval, true); - const char *intern_str = kids[i]->getStringValue("internal", ""); - if (!strcmp(intern_str, "dt_play")) + string intern_str = kids[i]->getStringValue("internal", ""); + if (intern_str == "dt_play") pitch.intern = &_dt_play; - else if (!strcmp(intern_str, "dt_stop")) + else if (intern_str == "dt_stop") pitch.intern = &_dt_stop; if ((pitch.factor = kids[i]->getDoubleValue("factor", 1.0)) != 0.0) @@ -201,11 +206,11 @@ SGXmlSound::init(SGPropertyNode *root, SGPropertyNode *node, pitch.subtract = true; } - const char *type_str = kids[i]->getStringValue("type", ""); - if ( strcmp(type_str, "") ) { + string type_str = kids[i]->getStringValue("type", ""); + if ( type_str != "" ) { for (int j=0; __sound_fn[j].fn; j++) - if ( !strcmp(type_str, __sound_fn[j].name) ) { + if ( type_str == __sound_fn[j].name ) { pitch.fn = __sound_fn[j].fn; break; }