PlaceItem, PlaceItemCell angle should be treated as degrees (Fixes #3007)

openmw-37
scrawl 9 years ago
parent 3647af8d73
commit 90b6fa5ef1

@ -402,7 +402,7 @@ namespace MWScript
runtime.pop(); runtime.pop();
Interpreter::Type_Float z = runtime[0].mFloat; Interpreter::Type_Float z = runtime[0].mFloat;
runtime.pop(); runtime.pop();
Interpreter::Type_Float zRot = runtime[0].mFloat; Interpreter::Type_Float zRotDegrees = runtime[0].mFloat;
runtime.pop(); runtime.pop();
MWWorld::CellStore* store = 0; MWWorld::CellStore* store = 0;
@ -429,7 +429,7 @@ namespace MWScript
pos.pos[1] = y; pos.pos[1] = y;
pos.pos[2] = z; pos.pos[2] = z;
pos.rot[0] = pos.rot[1] = 0; pos.rot[0] = pos.rot[1] = 0;
pos.rot[2] = zRot; pos.rot[2] = osg::DegreesToRadians(zRotDegrees);
MWWorld::ManualRef ref(MWBase::Environment::get().getWorld()->getStore(),itemID); MWWorld::ManualRef ref(MWBase::Environment::get().getWorld()->getStore(),itemID);
ref.getPtr().getCellRef().setPosition(pos); ref.getPtr().getCellRef().setPosition(pos);
MWWorld::Ptr placed = MWBase::Environment::get().getWorld()->safePlaceObject(ref.getPtr(),store,pos); MWWorld::Ptr placed = MWBase::Environment::get().getWorld()->safePlaceObject(ref.getPtr(),store,pos);
@ -454,7 +454,7 @@ namespace MWScript
runtime.pop(); runtime.pop();
Interpreter::Type_Float z = runtime[0].mFloat; Interpreter::Type_Float z = runtime[0].mFloat;
runtime.pop(); runtime.pop();
Interpreter::Type_Float zRot = runtime[0].mFloat; Interpreter::Type_Float zRotDegrees = runtime[0].mFloat;
runtime.pop(); runtime.pop();
MWWorld::Ptr player = MWMechanics::getPlayer(); MWWorld::Ptr player = MWMechanics::getPlayer();
@ -473,7 +473,7 @@ namespace MWScript
pos.pos[1] = y; pos.pos[1] = y;
pos.pos[2] = z; pos.pos[2] = z;
pos.rot[0] = pos.rot[1] = 0; pos.rot[0] = pos.rot[1] = 0;
pos.rot[2] = zRot; pos.rot[2] = osg::DegreesToRadians(zRotDegrees);
MWWorld::ManualRef ref(MWBase::Environment::get().getWorld()->getStore(),itemID); MWWorld::ManualRef ref(MWBase::Environment::get().getWorld()->getStore(),itemID);
ref.getPtr().getCellRef().setPosition(pos); ref.getPtr().getCellRef().setPosition(pos);
MWWorld::Ptr placed = MWBase::Environment::get().getWorld()->safePlaceObject(ref.getPtr(),store,pos); MWWorld::Ptr placed = MWBase::Environment::get().getWorld()->safePlaceObject(ref.getPtr(),store,pos);

Loading…
Cancel
Save