From 5018db3332ad1c7b70bb595714031e031e723c68 Mon Sep 17 00:00:00 2001 From: greye Date: Sat, 11 Aug 2012 12:13:16 +0400 Subject: [PATCH] removed some redundant code, added some comments --- apps/openmw/mwrender/player.hpp | 8 ++++++++ apps/openmw/mwrender/renderingmanager.hpp | 4 ++++ apps/openmw/mwworld/scene.cpp | 5 ++--- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/apps/openmw/mwrender/player.hpp b/apps/openmw/mwrender/player.hpp index b1160435d..e5361e64b 100644 --- a/apps/openmw/mwrender/player.hpp +++ b/apps/openmw/mwrender/player.hpp @@ -28,6 +28,8 @@ namespace MWRender bool mVanityModeEnabled; void controlFlip(); + + /// Updates sound manager listener data void updateListener(); public: @@ -35,11 +37,17 @@ namespace MWRender Player (Ogre::Camera *camera, Ogre::SceneNode* mNode); /// Set where the player is looking at. Uses Morrowind (euler) angles + /// \return true if player object needs to bo rotated physically bool setRotation(const Ogre::Vector3 &rot); + + /// \return true if player object needs to bo rotated physically bool adjustRotation(const Ogre::Vector3 &rot); std::string getHandle() const; + /// Attach camera to object + /// \note there is no protection from attaching the same camera to + /// several different objects void attachTo(const MWWorld::Ptr &); void toggleViewMode() { diff --git a/apps/openmw/mwrender/renderingmanager.hpp b/apps/openmw/mwrender/renderingmanager.hpp index 197c1fda0..c0558b714 100644 --- a/apps/openmw/mwrender/renderingmanager.hpp +++ b/apps/openmw/mwrender/renderingmanager.hpp @@ -85,6 +85,10 @@ class RenderingManager: private RenderingInterface, public Ogre::WindowEventList void moveObject (const MWWorld::Ptr& ptr, const Ogre::Vector3& position); void scaleObject (const MWWorld::Ptr& ptr, const Ogre::Vector3& scale); + + /// Rotates object accordingly to its type + /// \param adjust indicates should rotation be set or adjusted + /// \return true if object needs to be rotated physically bool rotateObject (const MWWorld::Ptr& ptr, Ogre::Vector3 &rot, bool adjust = false); void setWaterHeight(const float height); diff --git a/apps/openmw/mwworld/scene.cpp b/apps/openmw/mwworld/scene.cpp index ec557e35c..531546a57 100644 --- a/apps/openmw/mwworld/scene.cpp +++ b/apps/openmw/mwworld/scene.cpp @@ -140,19 +140,18 @@ namespace MWWorld const ESM::Position& pos, bool adjustPlayerPos) { - MWBase::Environment::get().getWorld()->getPlayer().setCell (cell); - bool hasWater = cell->cell->data.flags & cell->cell->HasWater; mPhysics->setCurrentWater(hasWater, cell->cell->water); MWBase::World *world = MWBase::Environment::get().getWorld(); + world->getPlayer().setCell(cell); + MWWorld::Ptr player = world->getPlayer().getPlayer(); if (adjustPlayerPos) { world->moveObject(player, pos.pos[0], pos.pos[1], pos.pos[2]); world->rotateObject(player, pos.rot[0], pos.rot[1], pos.rot[2]); } - world->getPlayer().setCell(cell); MWMechanics::MechanicsManager *mechMgr = MWBase::Environment::get().getMechanicsManager();