From c6f4bcbf68416498eafa6e6e0db8f46be29b1f3c Mon Sep 17 00:00:00 2001 From: Marc Zinnschlag Date: Sat, 21 Aug 2010 09:48:56 +0200 Subject: [PATCH] another coordinate system fix; still not working properly --- apps/openmw/mwrender/playerpos.hpp | 10 +++++----- apps/openmw/mwscript/cellextensions.cpp | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/openmw/mwrender/playerpos.hpp b/apps/openmw/mwrender/playerpos.hpp index 7a1f571ce4..7c66c8b4c1 100644 --- a/apps/openmw/mwrender/playerpos.hpp +++ b/apps/openmw/mwrender/playerpos.hpp @@ -37,9 +37,9 @@ namespace MWRender if (updateCamera) camera->setPosition (Ogre::Vector3 ( mPlayer.ref.pos.pos[0], - -mPlayer.ref.pos.pos[2], - mPlayer.ref.pos.pos[1])); - + mPlayer.ref.pos.pos[2], + -mPlayer.ref.pos.pos[1])); +std::cout<<"camera: "<getPosition()<getPosition(); relX = pos[0]; - relY = -pos[2]; - relZ = pos[1]; + relY = pos[2]; + relZ = -pos[1]; // TODO: Collision detection must be used to find the REAL new // position. diff --git a/apps/openmw/mwscript/cellextensions.cpp b/apps/openmw/mwscript/cellextensions.cpp index 6171a82d93..27251a7288 100644 --- a/apps/openmw/mwscript/cellextensions.cpp +++ b/apps/openmw/mwscript/cellextensions.cpp @@ -65,8 +65,8 @@ namespace MWScript const int cellSize = 8192; ESM::Position pos; - pos.pos[0] = cellSize * x; - pos.pos[1] = cellSize * y; + pos.pos[0] = cellSize * (x+0.5); + pos.pos[1] = cellSize * (y+0.5); pos.pos[2] = 0; pos.rot[0] = pos.rot[1] = pos.rot[2] = 0; context.getWorld().changeToExteriorCell (pos);