From 9893e4b38484cb9806af407a9f52d8a536542687 Mon Sep 17 00:00:00 2001 From: Aleksandar Jovanov Date: Sun, 8 Apr 2012 19:43:04 +0200 Subject: [PATCH] made player respect NpcStats for mDrawState --- apps/openmw/mwworld/player.cpp | 12 ++++++++++-- apps/openmw/mwworld/player.hpp | 5 ++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/apps/openmw/mwworld/player.cpp b/apps/openmw/mwworld/player.cpp index b333d106af..d24780ec10 100644 --- a/apps/openmw/mwworld/player.cpp +++ b/apps/openmw/mwworld/player.cpp @@ -4,6 +4,7 @@ #include "../mwrender/player.hpp" #include "../mwmechanics/movement.hpp" +#include "../mwmechanics/npcstats.hpp" #include "world.hpp" #include "class.hpp" @@ -12,7 +13,7 @@ namespace MWWorld { Player::Player (MWRender::Player *renderer, const ESM::NPC *player, MWWorld::World& world) : mCellStore (0), mRenderer (renderer), mWorld (world), mClass (0), - mAutoMove (false), mForwardBackward (0) , mDrawState(DrawState_Nothing) + mAutoMove (false), mForwardBackward (0) { mPlayer.base = player; mPlayer.ref.refID = "player"; @@ -50,7 +51,8 @@ namespace MWWorld void Player::setDrawState(const DrawState& value) { - mDrawState = value; + MWWorld::Ptr ptr = getPlayer(); + MWWorld::Class::get(ptr).getNpcStats(ptr).mDrawState = value; } void Player::setAutoMove (bool enable) @@ -94,4 +96,10 @@ namespace MWWorld MWWorld::Class::get (ptr).setStance (ptr, MWWorld::Class::Run, !running); } + + DrawState Player::getDrawState() + { + MWWorld::Ptr ptr = getPlayer(); + return MWWorld::Class::get(ptr).getNpcStats(ptr).mDrawState; + } } diff --git a/apps/openmw/mwworld/player.hpp b/apps/openmw/mwworld/player.hpp index f235140f8c..8dcd9fcc65 100644 --- a/apps/openmw/mwworld/player.hpp +++ b/apps/openmw/mwworld/player.hpp @@ -20,7 +20,7 @@ namespace MWWorld class World; /// \brief NPC object representing the player and additional player data - class Player + class Player { ESMS::LiveCellRef mPlayer; MWWorld::Ptr::CellStore *mCellStore; @@ -33,7 +33,6 @@ namespace MWWorld ESM::Class *mClass; bool mAutoMove; int mForwardBackward; - DrawState mDrawState; public: Player(MWRender::Player *renderer, const ESM::NPC *player, MWWorld::World& world); @@ -110,7 +109,7 @@ namespace MWWorld return mAutoMove; } - DrawState getDrawState() { return mDrawState; } + DrawState getDrawState(); void setAutoMove (bool enable);