mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-10-30 02:56:44 +00:00 
			
		
		
		
	bugfix
This commit is contained in:
		
							parent
							
								
									fb91f76a2b
								
							
						
					
					
						commit
						f2d080d091
					
				
					 1 changed files with 11 additions and 7 deletions
				
			
		|  | @ -185,7 +185,7 @@ namespace MWScript | ||||||
|                     float ax = ptr.getRefData().getPosition().pos[0]; |                     float ax = ptr.getRefData().getPosition().pos[0]; | ||||||
|                     float ay = ptr.getRefData().getPosition().pos[1]; |                     float ay = ptr.getRefData().getPosition().pos[1]; | ||||||
|                     float az = ptr.getRefData().getPosition().pos[2]; |                     float az = ptr.getRefData().getPosition().pos[2]; | ||||||
|                     std::cout << "setPos"; |                      | ||||||
| 
 | 
 | ||||||
|                     if(axis == "x") |                     if(axis == "x") | ||||||
|                     { |                     { | ||||||
|  | @ -252,28 +252,32 @@ namespace MWScript | ||||||
|                     MWWorld::CellStore* store = 0; |                     MWWorld::CellStore* store = 0; | ||||||
|                     try |                     try | ||||||
|                     { |                     { | ||||||
|                         MWWorld::CellStore* store = MWBase::Environment::get().getWorld()->getInterior(cellID); |                         store = MWBase::Environment::get().getWorld()->getInterior(cellID); | ||||||
|                     } |                     } | ||||||
|                     catch(std::exception &e) |                     catch(std::exception &e) | ||||||
|                     { |                     { | ||||||
|                         const ESM::Cell* cell = MWBase::Environment::get().getWorld()->getExterior(cellID); |                         /*const ESM::Cell* cell = MWBase::Environment::get().getWorld()->getExterior(cellID);
 | ||||||
|                         if(cell) |                         if(cell) | ||||||
|                         { |                         { | ||||||
|                             store = MWBase::Environment::get().getWorld()->getExterior(cell->getGridX(),cell->getGridY()); |                             store = MWBase::Environment::get().getWorld()->getExterior(cell->getGridX(),cell->getGridY()); | ||||||
|                         } |                         }*/ | ||||||
|                     } |                     } | ||||||
|                     if(store) |                     if(store) | ||||||
|                     { |                     { | ||||||
|                         MWBase::Environment::get().getWorld()->moveObject(ptr,*store,x,y,z); |                         MWBase::Environment::get().getWorld()->moveObject(ptr,*store,x,y,z); | ||||||
|                         float ax = Ogre::Radian(ptr.getRefData().getPosition().rot[0]).valueDegrees(); |                         float ax = Ogre::Radian(ptr.getRefData().getPosition().rot[0]).valueDegrees(); | ||||||
|                         float ay = Ogre::Radian(ptr.getRefData().getPosition().rot[1]).valueDegrees(); |                         float ay = Ogre::Radian(ptr.getRefData().getPosition().rot[1]).valueDegrees(); | ||||||
|                         if(ptr.getTypeName() == "struct ESM::NPC")//some morrowind oddity
 |                         if(ptr.getTypeName() == typeid(ESM::NPC).name())//some morrowind oddity
 | ||||||
|                         { |                         { | ||||||
|                             ax = ax/60.; |                             ax = ax/60.; | ||||||
|                             ay = ay/60.; |                             ay = ay/60.; | ||||||
|                             zRot = zRot/60.; |                             zRot = zRot/60.; | ||||||
|                         } |                         } | ||||||
|                         MWBase::Environment::get().getWorld()->rotateObject(ptr,ax,ay,zRot); |                         //MWBase::Environment::get().getWorld()->rotateObject(ptr,ax,ay,zRot);
 | ||||||
|  |                     } | ||||||
|  |                     else | ||||||
|  |                     { | ||||||
|  |                         throw std::runtime_error ("unknown cell"); | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
|         }; |         }; | ||||||
|  | @ -301,7 +305,7 @@ namespace MWScript | ||||||
|                         *MWBase::Environment::get().getWorld()->getExterior(cx,cy),x,y,z); |                         *MWBase::Environment::get().getWorld()->getExterior(cx,cy),x,y,z); | ||||||
|                     float ax = Ogre::Radian(ptr.getRefData().getPosition().rot[0]).valueDegrees(); |                     float ax = Ogre::Radian(ptr.getRefData().getPosition().rot[0]).valueDegrees(); | ||||||
|                     float ay = Ogre::Radian(ptr.getRefData().getPosition().rot[1]).valueDegrees(); |                     float ay = Ogre::Radian(ptr.getRefData().getPosition().rot[1]).valueDegrees(); | ||||||
|                     if(ptr.getTypeName() == "struct ESM::NPC")//some morrowind oddity
 |                     if(ptr.getTypeName() == typeid(ESM::NPC).name())//some morrowind oddity
 | ||||||
|                     { |                     { | ||||||
|                         ax = ax/60.; |                         ax = ax/60.; | ||||||
|                         ay = ay/60.; |                         ay = ay/60.; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue