Merge pull request #173 from OpenMW/master

Add OpenMW commits up to 26 Feb 2017
This commit is contained in:
David Cernat 2017-02-26 14:13:37 +02:00 committed by GitHub
commit 5d30ba0abd
3 changed files with 7 additions and 3 deletions

View file

@ -388,6 +388,9 @@ namespace Resource
"Bip01 L Hand", "Bip01 R Hand", "Bip01 Head", "Bip01 Spine1", "Bip01 Spine2", "Bip01 L Clavicle", "Bip01 R Clavicle", "bip01", "Root Bone", "Bip01 Neck", "Bip01 L Hand", "Bip01 R Hand", "Bip01 Head", "Bip01 Spine1", "Bip01 Spine2", "Bip01 L Clavicle", "Bip01 R Clavicle", "bip01", "Root Bone", "Bip01 Neck",
"BoneOffset", "AttachLight", "ArrowBone", "Camera"}; "BoneOffset", "AttachLight", "ArrowBone", "Camera"};
reservedNames = std::set<std::string, Misc::StringUtils::CiComp>(reserved, reserved + sizeof(reserved)/sizeof(reserved[0])); reservedNames = std::set<std::string, Misc::StringUtils::CiComp>(reserved, reserved + sizeof(reserved)/sizeof(reserved[0]));
for (unsigned int i=0; i<sizeof(reserved)/sizeof(reserved[0]); ++i)
reservedNames.insert(std::string("Tri ") + reserved[i]);
} }
return reservedNames.find(name) != reservedNames.end(); return reservedNames.find(name) != reservedNames.end();
} }

View file

@ -38,7 +38,7 @@ namespace SceneUtil
return operator()(processor); return operator()(processor);
if (const osgParticle::ParticleSystemUpdater* updater = dynamic_cast<const osgParticle::ParticleSystemUpdater*>(node)) if (const osgParticle::ParticleSystemUpdater* updater = dynamic_cast<const osgParticle::ParticleSystemUpdater*>(node))
{ {
osgParticle::ParticleSystemUpdater* cloned = osg::clone(updater, *this); osgParticle::ParticleSystemUpdater* cloned = new osgParticle::ParticleSystemUpdater(*updater, osg::CopyOp::SHALLOW_COPY);
mMap2[cloned] = updater->getParticleSystem(0); mMap2[cloned] = updater->getParticleSystem(0);
return cloned; return cloned;
} }
@ -94,7 +94,7 @@ namespace SceneUtil
osgParticle::ParticleProcessor* CopyOp::operator() (const osgParticle::ParticleProcessor* processor) const osgParticle::ParticleProcessor* CopyOp::operator() (const osgParticle::ParticleProcessor* processor) const
{ {
osgParticle::ParticleProcessor* cloned = osg::clone(processor, *this); osgParticle::ParticleProcessor* cloned = osg::clone(processor, osg::CopyOp::SHALLOW_COPY);
mMap[cloned] = processor->getParticleSystem(); mMap[cloned] = processor->getParticleSystem();
return cloned; return cloned;
} }

View file

@ -847,10 +847,11 @@ void Optimizer::RemoveRedundantNodesVisitor::removeRedundantNodes()
pitr!=parents.end(); pitr!=parents.end();
++pitr) ++pitr)
{ {
unsigned int childIndex = (*pitr)->getChildIndex(group);
for (unsigned int i=0; i<group->getNumChildren(); ++i) for (unsigned int i=0; i<group->getNumChildren(); ++i)
{ {
osg::Node* child = group->getChild(i); osg::Node* child = group->getChild(i);
(*pitr)->addChild(child); (*pitr)->insertChild(childIndex++, child);
} }
(*pitr)->removeChild(group); (*pitr)->removeChild(group);