mirror of
https://github.com/OpenMW/openmw.git
synced 2025-01-24 18:23:54 +00:00
Revert "bug fix http://bugs.openmw.org/issues/428"
This reverts commit 8dd930cf97
.
This commit is contained in:
parent
e480e31d1e
commit
b98cfe2d1b
14 changed files with 31 additions and 92 deletions
|
@ -202,8 +202,6 @@ namespace MWBase
|
||||||
virtual void setSpellVisibility(bool visible) = 0;
|
virtual void setSpellVisibility(bool visible) = 0;
|
||||||
virtual void setSneakVisibility(bool visible) = 0;
|
virtual void setSneakVisibility(bool visible) = 0;
|
||||||
|
|
||||||
void virtual setMainMenuNoReturn(bool noreturn) = 0;
|
|
||||||
|
|
||||||
virtual void activateQuickKey (int index) = 0;
|
virtual void activateQuickKey (int index) = 0;
|
||||||
|
|
||||||
virtual void setSelectedSpell(const std::string& spellId, int successChancePercent) = 0;
|
virtual void setSelectedSpell(const std::string& spellId, int successChancePercent) = 0;
|
||||||
|
|
|
@ -40,7 +40,6 @@ namespace ESM
|
||||||
|
|
||||||
namespace MWRender
|
namespace MWRender
|
||||||
{
|
{
|
||||||
class Camera;
|
|
||||||
class ExternalRendering;
|
class ExternalRendering;
|
||||||
class Animation;
|
class Animation;
|
||||||
}
|
}
|
||||||
|
@ -116,8 +115,6 @@ namespace MWBase
|
||||||
|
|
||||||
virtual MWWorld::Player& getPlayer() = 0;
|
virtual MWWorld::Player& getPlayer() = 0;
|
||||||
|
|
||||||
virtual MWRender::Camera* getCamera() const = 0;
|
|
||||||
|
|
||||||
virtual const MWWorld::ESMStore& getStore() const = 0;
|
virtual const MWWorld::ESMStore& getStore() const = 0;
|
||||||
|
|
||||||
virtual std::vector<ESM::ESMReader>& getEsmReader() = 0;
|
virtual std::vector<ESM::ESMReader>& getEsmReader() = 0;
|
||||||
|
|
|
@ -17,7 +17,6 @@ namespace MWGui
|
||||||
MainMenu::MainMenu(int w, int h)
|
MainMenu::MainMenu(int w, int h)
|
||||||
: OEngine::GUI::Layout("openmw_mainmenu.layout")
|
: OEngine::GUI::Layout("openmw_mainmenu.layout")
|
||||||
, mButtonBox(0)
|
, mButtonBox(0)
|
||||||
, mNoReturn(false)
|
|
||||||
{
|
{
|
||||||
onResChange(w,h);
|
onResChange(w,h);
|
||||||
}
|
}
|
||||||
|
@ -34,8 +33,7 @@ namespace MWGui
|
||||||
int curH = 0;
|
int curH = 0;
|
||||||
|
|
||||||
std::vector<std::string> buttons;
|
std::vector<std::string> buttons;
|
||||||
if(!mNoReturn)
|
buttons.push_back("return");
|
||||||
buttons.push_back("return");
|
|
||||||
buttons.push_back("newgame");
|
buttons.push_back("newgame");
|
||||||
//buttons.push_back("loadgame");
|
//buttons.push_back("loadgame");
|
||||||
//buttons.push_back("savegame");
|
//buttons.push_back("savegame");
|
||||||
|
@ -70,15 +68,6 @@ namespace MWGui
|
||||||
mButtonBox->setCoord (w/2 - maxwidth/2, h/2 - curH/2, maxwidth, curH);
|
mButtonBox->setCoord (w/2 - maxwidth/2, h/2 - curH/2, maxwidth, curH);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainMenu::setNoReturn(bool bNoReturn)
|
|
||||||
{
|
|
||||||
if (mNoReturn != bNoReturn)
|
|
||||||
{
|
|
||||||
mNoReturn = bNoReturn;
|
|
||||||
onResChange( Settings::Manager::getInt("resolution x", "Video"), Settings::Manager::getInt("resolution y", "Video") );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainMenu::onButtonClicked(MyGUI::Widget *sender)
|
void MainMenu::onButtonClicked(MyGUI::Widget *sender)
|
||||||
{
|
{
|
||||||
MWBase::Environment::get().getSoundManager()->playSound("Menu Click", 1.f, 1.f);
|
MWBase::Environment::get().getSoundManager()->playSound("Menu Click", 1.f, 1.f);
|
||||||
|
|
|
@ -12,13 +12,9 @@ namespace MWGui
|
||||||
|
|
||||||
void onResChange(int w, int h);
|
void onResChange(int w, int h);
|
||||||
|
|
||||||
void setNoReturn(bool bNoReturn);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
MyGUI::Widget* mButtonBox;
|
MyGUI::Widget* mButtonBox;
|
||||||
|
|
||||||
bool mNoReturn;
|
|
||||||
|
|
||||||
std::map<std::string, MWGui::ImageButton*> mButtons;
|
std::map<std::string, MWGui::ImageButton*> mButtons;
|
||||||
|
|
||||||
void onButtonClicked (MyGUI::Widget* sender);
|
void onButtonClicked (MyGUI::Widget* sender);
|
||||||
|
|
|
@ -880,11 +880,6 @@ namespace MWGui
|
||||||
mHud->setSneakVisible(visible);
|
mHud->setSneakVisible(visible);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WindowManager::setMainMenuNoReturn(bool noreturn)
|
|
||||||
{
|
|
||||||
mMenu->setNoReturn(noreturn);
|
|
||||||
}
|
|
||||||
|
|
||||||
void WindowManager::setDragDrop(bool dragDrop)
|
void WindowManager::setDragDrop(bool dragDrop)
|
||||||
{
|
{
|
||||||
mToolTips->setEnabled(!dragDrop);
|
mToolTips->setEnabled(!dragDrop);
|
||||||
|
|
|
@ -198,9 +198,6 @@ namespace MWGui
|
||||||
virtual void setSpellVisibility(bool visible);
|
virtual void setSpellVisibility(bool visible);
|
||||||
virtual void setSneakVisibility(bool visible);
|
virtual void setSneakVisibility(bool visible);
|
||||||
|
|
||||||
//disables 'return' button in the main menu (used when player is dead)
|
|
||||||
void virtual setMainMenuNoReturn(bool noreturn);
|
|
||||||
|
|
||||||
virtual void activateQuickKey (int index);
|
virtual void activateQuickKey (int index);
|
||||||
|
|
||||||
virtual void setSelectedSpell(const std::string& spellId, int successChancePercent);
|
virtual void setSelectedSpell(const std::string& spellId, int successChancePercent);
|
||||||
|
|
|
@ -367,27 +367,24 @@ namespace MWInput
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MWWorld::Ptr player = MWBase::Environment::get().getWorld ()->getPlayer().getPlayer();
|
if (mControlSwitch["playerviewswitch"]) {
|
||||||
if ( !player.getClass().getCreatureStats(player).isDead() ) {
|
|
||||||
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))) {
|
if (mPreviewPOVDelay <= 0.5 &&
|
||||||
|
(mPreviewPOVDelay += dt) > 0.5)
|
||||||
if (mPreviewPOVDelay <= 0.5 &&
|
{
|
||||||
(mPreviewPOVDelay += dt) > 0.5)
|
mPreviewPOVDelay = 1.f;
|
||||||
{
|
MWBase::Environment::get().getWorld()->togglePreviewMode(true);
|
||||||
mPreviewPOVDelay = 1.f;
|
|
||||||
MWBase::Environment::get().getWorld()->togglePreviewMode(true);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (mPreviewPOVDelay > 0.5) {
|
|
||||||
//disable preview mode
|
|
||||||
MWBase::Environment::get().getWorld()->togglePreviewMode(false);
|
|
||||||
} else if (mPreviewPOVDelay > 0.f) {
|
|
||||||
MWBase::Environment::get().getWorld()->togglePOV();
|
|
||||||
}
|
|
||||||
mPreviewPOVDelay = 0.f;
|
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
if (mPreviewPOVDelay > 0.5) {
|
||||||
|
//disable preview mode
|
||||||
|
MWBase::Environment::get().getWorld()->togglePreviewMode(false);
|
||||||
|
} else if (mPreviewPOVDelay > 0.f) {
|
||||||
|
MWBase::Environment::get().getWorld()->togglePOV();
|
||||||
|
}
|
||||||
|
mPreviewPOVDelay = 0.f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -570,13 +570,15 @@ namespace MWMechanics
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (iter->second->kill())
|
if(iter->second->isDead())
|
||||||
{
|
continue;
|
||||||
++mDeathCount[cls.getId(iter->first)];
|
|
||||||
|
|
||||||
if(cls.isEssential(iter->first))
|
iter->second->kill();
|
||||||
MWBase::Environment::get().getWindowManager()->messageBox("#{sKilledEssential}");
|
|
||||||
}
|
++mDeathCount[cls.getId(iter->first)];
|
||||||
|
|
||||||
|
if(cls.isEssential(iter->first))
|
||||||
|
MWBase::Environment::get().getWindowManager()->messageBox("#{sKilledEssential}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,6 @@
|
||||||
#include "security.hpp"
|
#include "security.hpp"
|
||||||
|
|
||||||
#include "../mwrender/animation.hpp"
|
#include "../mwrender/animation.hpp"
|
||||||
#include "../mwrender/camera.hpp"
|
|
||||||
|
|
||||||
#include "../mwbase/environment.hpp"
|
#include "../mwbase/environment.hpp"
|
||||||
#include "../mwbase/world.hpp"
|
#include "../mwbase/world.hpp"
|
||||||
|
@ -1056,19 +1055,10 @@ void CharacterController::forceStateUpdate()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CharacterController::kill()
|
void CharacterController::kill()
|
||||||
{
|
{
|
||||||
if( isDead() )
|
if(mDeathState != CharState_None)
|
||||||
{
|
return;
|
||||||
//player death animation is over: toggle game menu without 'return' option
|
|
||||||
if( mPtr == MWBase::Environment::get().getWorld()->getPlayer().getPlayer()
|
|
||||||
&& !isAnimPlaying(mCurrentDeath) )
|
|
||||||
{
|
|
||||||
MWBase::Environment::get().getWindowManager()->setMainMenuNoReturn(true);
|
|
||||||
MWBase::Environment::get().getWindowManager()->pushGuiMode (MWGui::GM_MainMenu);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(mPtr.getTypeName() == typeid(ESM::NPC).name())
|
if(mPtr.getTypeName() == typeid(ESM::NPC).name())
|
||||||
{
|
{
|
||||||
|
@ -1106,10 +1096,6 @@ bool CharacterController::kill()
|
||||||
|
|
||||||
if(mAnimation)
|
if(mAnimation)
|
||||||
{
|
{
|
||||||
if (mPtr == MWBase::Environment::get().getWorld()->getPlayer().getPlayer()
|
|
||||||
&& MWBase::Environment::get().getWorld()->getCamera()->isFirstPerson() )
|
|
||||||
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);
|
||||||
mAnimation->disable(mCurrentIdle);
|
mAnimation->disable(mCurrentIdle);
|
||||||
|
@ -1117,8 +1103,6 @@ bool CharacterController::kill()
|
||||||
|
|
||||||
mIdleState = CharState_None;
|
mIdleState = CharState_None;
|
||||||
mCurrentIdle.clear();
|
mCurrentIdle.clear();
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CharacterController::resurrect()
|
void CharacterController::resurrect()
|
||||||
|
|
|
@ -190,7 +190,7 @@ public:
|
||||||
void skipAnim();
|
void skipAnim();
|
||||||
bool isAnimPlaying(const std::string &groupName);
|
bool isAnimPlaying(const std::string &groupName);
|
||||||
|
|
||||||
bool kill();
|
void kill();
|
||||||
void resurrect();
|
void resurrect();
|
||||||
bool isDead() const
|
bool isDead() const
|
||||||
{ return mDeathState != CharState_None; }
|
{ return mDeathState != CharState_None; }
|
||||||
|
|
|
@ -211,11 +211,6 @@ MWRender::SkyManager* RenderingManager::getSkyManager()
|
||||||
return mSkyManager;
|
return mSkyManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
MWRender::Camera* RenderingManager::getCamera() const
|
|
||||||
{
|
|
||||||
return mCamera;
|
|
||||||
}
|
|
||||||
|
|
||||||
MWRender::Objects& RenderingManager::getObjects(){
|
MWRender::Objects& RenderingManager::getObjects(){
|
||||||
return *mObjects;
|
return *mObjects;
|
||||||
}
|
}
|
||||||
|
|
|
@ -98,8 +98,6 @@ public:
|
||||||
SkyManager* getSkyManager();
|
SkyManager* getSkyManager();
|
||||||
Compositors* getCompositors();
|
Compositors* getCompositors();
|
||||||
|
|
||||||
MWRender::Camera* getCamera() const;
|
|
||||||
|
|
||||||
void toggleLight();
|
void toggleLight();
|
||||||
bool toggleRenderMode(int mode);
|
bool toggleRenderMode(int mode);
|
||||||
|
|
||||||
|
|
|
@ -312,8 +312,6 @@ namespace MWWorld
|
||||||
mWeatherManager = new MWWorld::WeatherManager(mRendering,&mFallback);
|
mWeatherManager = new MWWorld::WeatherManager(mRendering,&mFallback);
|
||||||
|
|
||||||
MWBase::Environment::get().getScriptManager()->resetGlobalScripts();
|
MWBase::Environment::get().getScriptManager()->resetGlobalScripts();
|
||||||
|
|
||||||
MWBase::Environment::get().getWindowManager()->setMainMenuNoReturn(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -405,11 +403,6 @@ namespace MWWorld
|
||||||
return *mPlayer;
|
return *mPlayer;
|
||||||
}
|
}
|
||||||
|
|
||||||
MWRender::Camera* World::getCamera() const
|
|
||||||
{
|
|
||||||
return mRendering->getCamera();
|
|
||||||
}
|
|
||||||
|
|
||||||
const MWWorld::ESMStore& World::getStore() const
|
const MWWorld::ESMStore& World::getStore() const
|
||||||
{
|
{
|
||||||
return mStore;
|
return mStore;
|
||||||
|
@ -1311,7 +1304,7 @@ namespace MWWorld
|
||||||
// inform the GUI about focused object
|
// inform the GUI about focused object
|
||||||
MWWorld::Ptr object = getFacedObject ();
|
MWWorld::Ptr object = getFacedObject ();
|
||||||
|
|
||||||
MWBase::Environment::get().getWindowManager()->setFocusObject(object);
|
MWBase::Environment::get().getWindowManager()->setFocusObject(object);
|
||||||
|
|
||||||
// retrieve object dimensions so we know where to place the floating label
|
// retrieve object dimensions so we know where to place the floating label
|
||||||
if (!object.isEmpty ())
|
if (!object.isEmpty ())
|
||||||
|
|
|
@ -187,8 +187,6 @@ namespace MWWorld
|
||||||
|
|
||||||
virtual Player& getPlayer();
|
virtual Player& getPlayer();
|
||||||
|
|
||||||
virtual MWRender::Camera* getCamera() const;
|
|
||||||
|
|
||||||
virtual const MWWorld::ESMStore& getStore() const;
|
virtual const MWWorld::ESMStore& getStore() const;
|
||||||
|
|
||||||
virtual std::vector<ESM::ESMReader>& getEsmReader();
|
virtual std::vector<ESM::ESMReader>& getEsmReader();
|
||||||
|
|
Loading…
Reference in a new issue