mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-10-25 11:26:37 +00:00 
			
		
		
		
	Create entities when loading NIFs for the NPC base
This commit is contained in:
		
							parent
							
								
									3efd2030e2
								
							
						
					
					
						commit
						a590db2cf4
					
				
					 1 changed files with 5 additions and 9 deletions
				
			
		|  | @ -65,14 +65,12 @@ NpcAnimation::NpcAnimation(const MWWorld::Ptr& ptr, OEngine::Render::OgreRendere | ||||||
| 
 | 
 | ||||||
|     std::string smodel = (!isBeast ? "meshes\\base_anim.nif" : "meshes\\base_animkna.nif"); |     std::string smodel = (!isBeast ? "meshes\\base_anim.nif" : "meshes\\base_animkna.nif"); | ||||||
| 
 | 
 | ||||||
|     NifOgre::MeshPairList meshes = NifOgre::NIFLoader::load(smodel); |     NifOgre::EntityList entities = NifOgre::NIFLoader::createEntities(mInsert, smodel); | ||||||
|     for(size_t i = 0;i < meshes.size();i++) |     mBase = entities.mEntities; | ||||||
|  |     mSkelBase = entities.mSkelBase; | ||||||
|  |     for(size_t i = 0;i < mBase.size();i++) | ||||||
|     { |     { | ||||||
|         mBase.push_back(mRend.getScene()->createEntity(meshes[i].first->getName())); |         Ogre::Entity *base = mBase[i]; | ||||||
|         Ogre::Entity *base = mBase.back(); |  | ||||||
| 
 |  | ||||||
|         if(!mSkelBase && base->hasSkeleton()) |  | ||||||
|             mSkelBase = base; |  | ||||||
| 
 | 
 | ||||||
|         base->setVisibilityFlags(RV_Actors); |         base->setVisibilityFlags(RV_Actors); | ||||||
|         bool transparent = false; |         bool transparent = false; | ||||||
|  | @ -95,8 +93,6 @@ NpcAnimation::NpcAnimation(const MWWorld::Ptr& ptr, OEngine::Render::OgreRendere | ||||||
|         base->setRenderQueueGroup(transparent ? RQG_Alpha : RQG_Main); |         base->setRenderQueueGroup(transparent ? RQG_Alpha : RQG_Main); | ||||||
|         base->setSkipAnimationStateUpdate(true); //Magical line of code, this makes the bones
 |         base->setSkipAnimationStateUpdate(true); //Magical line of code, this makes the bones
 | ||||||
|                                                  //stay in the same place when we skipanim, or open a gui window
 |                                                  //stay in the same place when we skipanim, or open a gui window
 | ||||||
| 
 |  | ||||||
|         mInsert->attachObject(base); |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if(isFemale) |     if(isFemale) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue