mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-11-03 23:56:43 +00:00 
			
		
		
		
	Merge remote-tracking branch 'origin/openmw-41' into openmw-41
This commit is contained in:
		
						commit
						3c89b03568
					
				
					 5 changed files with 18 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -1350,6 +1350,7 @@ namespace MWPhysics
 | 
			
		|||
                {
 | 
			
		||||
                    const osg::Vec3f actorPosition = physicActor->getPosition();
 | 
			
		||||
                    physicActor->setPosition(osg::Vec3f(actorPosition.x(), actorPosition.y(), waterlevel));
 | 
			
		||||
                    waterCollision = true;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            physicActor->setCanWaterWalk(waterCollision);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -110,8 +110,6 @@ void CreatureWeaponAnimation::updatePart(PartHolderPtr& scene, int slot)
 | 
			
		|||
    osg::ref_ptr<osg::Node> node = mResourceSystem->getSceneManager()->getInstance(item.getClass().getModel(item));
 | 
			
		||||
    osg::ref_ptr<osg::Node> attached = SceneUtil::attach(node, mObjectRoot, bonename, bonename);
 | 
			
		||||
    mResourceSystem->getSceneManager()->notifyAttached(attached);
 | 
			
		||||
    if (mSkeleton)
 | 
			
		||||
        mSkeleton->markDirty();
 | 
			
		||||
 | 
			
		||||
    scene.reset(new PartHolder(attached));
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -671,8 +671,6 @@ PartHolderPtr NpcAnimation::insertBoundedPart(const std::string& model, const st
 | 
			
		|||
{
 | 
			
		||||
    osg::ref_ptr<osg::Node> instance = mResourceSystem->getSceneManager()->getInstance(model);
 | 
			
		||||
    osg::ref_ptr<osg::Node> attached = SceneUtil::attach(instance, mObjectRoot, bonefilter, bonename);
 | 
			
		||||
    if (mSkeleton)
 | 
			
		||||
        mSkeleton->markDirty();
 | 
			
		||||
    mResourceSystem->getSceneManager()->notifyAttached(attached);
 | 
			
		||||
    if (enchantedGlow)
 | 
			
		||||
        addGlow(attached, *glowColor);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -148,6 +148,8 @@ void Skeleton::markDirty()
 | 
			
		|||
{
 | 
			
		||||
    mTraversedEvenFrame = false;
 | 
			
		||||
    mTraversedOddFrame = false;
 | 
			
		||||
    mBoneCache.clear();
 | 
			
		||||
    mBoneCacheInit = false;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Skeleton::traverse(osg::NodeVisitor& nv)
 | 
			
		||||
| 
						 | 
				
			
			@ -160,6 +162,16 @@ void Skeleton::traverse(osg::NodeVisitor& nv)
 | 
			
		|||
    osg::Group::traverse(nv);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Skeleton::childInserted(unsigned int)
 | 
			
		||||
{
 | 
			
		||||
    markDirty();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Skeleton::childRemoved(unsigned int, unsigned int)
 | 
			
		||||
{
 | 
			
		||||
    markDirty();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Bone::Bone()
 | 
			
		||||
    : mNode(NULL)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,10 +53,12 @@ namespace SceneUtil
 | 
			
		|||
 | 
			
		||||
        bool getActive() const;
 | 
			
		||||
 | 
			
		||||
        /// If a new RigGeometry is added after the Skeleton has already been rendered, you must call markDirty().
 | 
			
		||||
        void traverse(osg::NodeVisitor& nv);
 | 
			
		||||
 | 
			
		||||
        void markDirty();
 | 
			
		||||
 | 
			
		||||
        void traverse(osg::NodeVisitor& nv);
 | 
			
		||||
        virtual void childInserted(unsigned int);
 | 
			
		||||
        virtual void childRemoved(unsigned int, unsigned int);
 | 
			
		||||
 | 
			
		||||
    private:
 | 
			
		||||
        // The root bone is not a "real" bone, it has no corresponding node in the scene graph.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue