diff --git a/apps/openmw/mwworld/player.cpp b/apps/openmw/mwworld/player.cpp index b333d106a..d24780ec1 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 f235140f8..8dcd9fcc6 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);