1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-02-01 14:45:33 +00:00

Handle always run in the inputmanager, instead of using forced stance.

This commit is contained in:
scrawl 2013-03-14 21:08:19 +01:00
parent 2d8f0949a4
commit 5b943a965f
7 changed files with 7 additions and 23 deletions

View file

@ -84,7 +84,7 @@ namespace MWClass
virtual bool getStance (const MWWorld::Ptr& ptr, Stance stance, bool ignoreForce = false) virtual bool getStance (const MWWorld::Ptr& ptr, Stance stance, bool ignoreForce = false)
const; const;
////< Check if a stance is active or not. ///< Check if a stance is active or not.
virtual float getSpeed (const MWWorld::Ptr& ptr) const; virtual float getSpeed (const MWWorld::Ptr& ptr) const;
///< Return movement speed. ///< Return movement speed.

View file

@ -55,6 +55,7 @@ namespace MWInput
, mPreviewPOVDelay(0.f) , mPreviewPOVDelay(0.f)
, mTimeIdle(0.f) , mTimeIdle(0.f)
, mOverencumberedMessageDelay(0.f) , mOverencumberedMessageDelay(0.f)
, mAlwaysRunActive(false)
{ {
Ogre::RenderWindow* window = mOgre.getWindow (); Ogre::RenderWindow* window = mOgre.getWindow ();
size_t windowHnd; size_t windowHnd;
@ -315,10 +316,10 @@ namespace MWInput
else else
mPlayer.setUpDown (0); mPlayer.setUpDown (0);
if(actionIsActive(A_Run)) if (mAlwaysRunActive)
mPlayer.setRunState(true); mPlayer.setRunState(!actionIsActive(A_Run));
else else
mPlayer.setRunState(false); mPlayer.setRunState(actionIsActive(A_Run));
// if player tried to start moving, but can't (due to being overencumbered), display a notification. // if player tried to start moving, but can't (due to being overencumbered), display a notification.
if (triedToMove) if (triedToMove)
@ -699,7 +700,7 @@ namespace MWInput
void InputManager::toggleWalking() void InputManager::toggleWalking()
{ {
if (mWindows.isGuiMode()) return; if (mWindows.isGuiMode()) return;
mPlayer.toggleRunning(); mAlwaysRunActive = !mAlwaysRunActive;
} }
// Exit program now button (which is disabled in GUI mode) // Exit program now button (which is disabled in GUI mode)

View file

@ -152,6 +152,7 @@ namespace MWInput
int mMouseWheel; int mMouseWheel;
bool mDebug; bool mDebug;
bool mUserFileExists; bool mUserFileExists;
bool mAlwaysRunActive;
std::map<std::string, bool> mControlSwitch; std::map<std::string, bool> mControlSwitch;

View file

@ -117,11 +117,6 @@ namespace MWWorld
return false; return false;
} }
bool Class::getForceStance (const Ptr& ptr, Stance stance) const
{
return false;
}
float Class::getSpeed (const Ptr& ptr) const float Class::getSpeed (const Ptr& ptr) const
{ {
return 0; return 0;

View file

@ -131,9 +131,6 @@ namespace MWWorld
virtual void setForceStance (const Ptr& ptr, Stance stance, bool force) const; virtual void setForceStance (const Ptr& ptr, Stance stance, bool force) const;
///< Force or unforce a stance. ///< Force or unforce a stance.
virtual bool getForceStance (const Ptr& ptr, Stance stance) const;
///< Check if a stance forced.
virtual void setStance (const Ptr& ptr, Stance stance, bool set) const; virtual void setStance (const Ptr& ptr, Stance stance, bool set) const;
///< Set or unset a stance. ///< Set or unset a stance.

View file

@ -77,15 +77,6 @@ namespace MWWorld
MWWorld::Class::get(ptr).setStance(ptr, MWWorld::Class::Run, run); MWWorld::Class::get(ptr).setStance(ptr, MWWorld::Class::Run, run);
} }
void Player::toggleRunning()
{
MWWorld::Ptr ptr = getPlayer();
bool running = MWWorld::Class::get (ptr).getForceStance(ptr, MWWorld::Class::Run);
MWWorld::Class::get (ptr).setForceStance(ptr, MWWorld::Class::Run, !running);
}
void Player::setSneak(bool sneak) void Player::setSneak(bool sneak)
{ {
MWWorld::Ptr ptr = getPlayer(); MWWorld::Ptr ptr = getPlayer();

View file

@ -66,7 +66,6 @@ namespace MWWorld
void setUpDown(int value); void setUpDown(int value);
void setRunState(bool run); void setRunState(bool run);
void toggleRunning();
void setSneak(bool sneak); void setSneak(bool sneak);
}; };
} }