forked from teamnwah/openmw-tes3coop
improvement to bug fix http://bugs.openmw.org/issues/428
This commit is contained in:
parent
8dd930cf97
commit
c0d07fbdc9
2 changed files with 35 additions and 29 deletions
|
@ -180,6 +180,8 @@ namespace MWInput
|
||||||
switch (action)
|
switch (action)
|
||||||
{
|
{
|
||||||
case A_GameMenu:
|
case A_GameMenu:
|
||||||
|
if(!(MWWorld::Class::get(mPlayer->getPlayer()).getCreatureStats(mPlayer->getPlayer()).isDead()
|
||||||
|
&& MWBase::Environment::get().getWindowManager()->getMode () == MWGui::GM_MainMenu ) )
|
||||||
toggleMainMenu ();
|
toggleMainMenu ();
|
||||||
break;
|
break;
|
||||||
case A_Screenshot:
|
case A_Screenshot:
|
||||||
|
@ -300,7 +302,9 @@ namespace MWInput
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Disable movement in Gui mode
|
// Disable movement in Gui mode
|
||||||
if (MWBase::Environment::get().getWindowManager()->isGuiMode()) return;
|
if (MWBase::Environment::get().getWindowManager()->isGuiMode()
|
||||||
|
|| MWWorld::Class::get(mPlayer->getPlayer()).getCreatureStats(mPlayer->getPlayer()).isDead() )
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
// Configure player movement according to keyboard input. Actual movement will
|
// Configure player movement according to keyboard input. Actual movement will
|
||||||
|
@ -367,8 +371,7 @@ namespace MWInput
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MWWorld::Ptr player = MWBase::Environment::get().getWorld ()->getPlayer().getPlayer();
|
|
||||||
if ( !player.getClass().getCreatureStats(player).isDead() ) {
|
|
||||||
if (mControlSwitch["playerviewswitch"]) {
|
if (mControlSwitch["playerviewswitch"]) {
|
||||||
// work around preview mode toggle when pressing Alt+Tab
|
// work around preview mode toggle when pressing Alt+Tab
|
||||||
if (actionIsActive(A_TogglePOV) && !mInputManager->isModifierHeld(SDL_Keymod(KMOD_ALT))) {
|
if (actionIsActive(A_TogglePOV) && !mInputManager->isModifierHeld(SDL_Keymod(KMOD_ALT))) {
|
||||||
|
@ -389,7 +392,7 @@ namespace MWInput
|
||||||
mPreviewPOVDelay = 0.f;
|
mPreviewPOVDelay = 0.f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (actionIsActive(A_MoveForward) ||
|
if (actionIsActive(A_MoveForward) ||
|
||||||
actionIsActive(A_MoveBackward) ||
|
actionIsActive(A_MoveBackward) ||
|
||||||
|
|
|
@ -1062,9 +1062,9 @@ bool CharacterController::kill()
|
||||||
{
|
{
|
||||||
//player death animation is over: toggle game menu without 'return' option
|
//player death animation is over: toggle game menu without 'return' option
|
||||||
if( mPtr == MWBase::Environment::get().getWorld()->getPlayer().getPlayer()
|
if( mPtr == MWBase::Environment::get().getWorld()->getPlayer().getPlayer()
|
||||||
&& !isAnimPlaying(mCurrentDeath) )
|
&& !isAnimPlaying(mCurrentDeath) && MWBase::Environment::get().getWindowManager()->getMode () != MWGui::GM_MainMenu )
|
||||||
{
|
{
|
||||||
MWBase::Environment::get().getWindowManager()->setMainMenuNoReturn(true);
|
MWWorld::Class::get(mPtr).getCreatureStats(mPtr).setHealth(0);
|
||||||
MWBase::Environment::get().getWindowManager()->pushGuiMode (MWGui::GM_MainMenu);
|
MWBase::Environment::get().getWindowManager()->pushGuiMode (MWGui::GM_MainMenu);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -1106,9 +1106,12 @@ bool CharacterController::kill()
|
||||||
|
|
||||||
if(mAnimation)
|
if(mAnimation)
|
||||||
{
|
{
|
||||||
if (mPtr == MWBase::Environment::get().getWorld()->getPlayer().getPlayer()
|
if (mPtr == MWBase::Environment::get().getWorld()->getPlayer().getPlayer() )
|
||||||
&& MWBase::Environment::get().getWorld()->getCamera()->isFirstPerson() )
|
{
|
||||||
|
MWBase::Environment::get().getWindowManager()->setMainMenuNoReturn(true);
|
||||||
|
if (MWBase::Environment::get().getWorld()->getCamera()->isFirstPerson() )
|
||||||
MWBase::Environment::get().getWorld()->togglePOV();
|
MWBase::Environment::get().getWorld()->togglePOV();
|
||||||
|
}
|
||||||
|
|
||||||
mAnimation->play(mCurrentDeath, Priority_Death, MWRender::Animation::Group_All,
|
mAnimation->play(mCurrentDeath, Priority_Death, MWRender::Animation::Group_All,
|
||||||
false, 1.0f, "start", "stop", 0.0f, 0);
|
false, 1.0f, "start", "stop", 0.0f, 0);
|
||||||
|
|
Loading…
Reference in a new issue