From 9757694060c883218bb88acdb0e0dead5b4ef687 Mon Sep 17 00:00:00 2001 From: Emanuel Guevel Date: Sat, 3 Aug 2013 02:43:56 +0200 Subject: [PATCH] Update sneaking indicator position with other widgets --- apps/openmw/mwgui/hud.cpp | 20 ++++++++++++++++++-- apps/openmw/mwgui/hud.hpp | 5 +++-- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/apps/openmw/mwgui/hud.cpp b/apps/openmw/mwgui/hud.cpp index 4eea0d0d0d..f5cb12e058 100644 --- a/apps/openmw/mwgui/hud.cpp +++ b/apps/openmw/mwgui/hud.cpp @@ -84,6 +84,9 @@ namespace MWGui mSpellBoxBaseLeft = mSpellBox->getLeft(); mSpellBox->eventMouseButtonClick += MyGUI::newDelegate(this, &HUD::onMagicClicked); + getWidget(mSneakBox, "SneakBox"); + mSneakBoxBaseLeft = mSneakBox->getLeft(); + getWidget(mEffectBox, "EffectBox"); mEffectBoxBaseRight = viewSize.width - mEffectBox->getRight(); @@ -503,6 +506,12 @@ namespace MWGui updatePositions(); } + void HUD::setSneakVisible(bool visible) + { + mSneakBox->setVisible(visible); + updatePositions(); + } + void HUD::setEffectVisible(bool visible) { mEffectBox->setVisible (visible); @@ -517,12 +526,18 @@ namespace MWGui void HUD::updatePositions() { - int weapDx = 0, spellDx = 0; + int weapDx = 0, spellDx = 0, sneakDx = 0; if (!mHealth->getVisible()) - spellDx = weapDx = mWeapBoxBaseLeft - mHealthManaStaminaBaseLeft; + sneakDx = spellDx = weapDx = mWeapBoxBaseLeft - mHealthManaStaminaBaseLeft; if (!mWeapBox->getVisible()) + { spellDx += mSpellBoxBaseLeft - mWeapBoxBaseLeft; + sneakDx = spellDx; + } + + if (!mSpellBox->getVisible()) + sneakDx += mSneakBoxBaseLeft - mSpellBoxBaseLeft; mWeaponVisible = mWeapBox->getVisible(); mSpellVisible = mSpellBox->getVisible(); @@ -531,6 +546,7 @@ namespace MWGui mWeapBox->setPosition(mWeapBoxBaseLeft - weapDx, mWeapBox->getTop()); mSpellBox->setPosition(mSpellBoxBaseLeft - spellDx, mSpellBox->getTop()); + mSneakBox->setPosition(mSneakBoxBaseLeft - sneakDx, mSneakBox->getTop()); const MyGUI::IntSize& viewSize = MyGUI::RenderManager::getInstance().getViewSize(); diff --git a/apps/openmw/mwgui/hud.hpp b/apps/openmw/mwgui/hud.hpp index 76d8782696..a3cab2c93a 100644 --- a/apps/openmw/mwgui/hud.hpp +++ b/apps/openmw/mwgui/hud.hpp @@ -21,6 +21,7 @@ namespace MWGui void setHmsVisible(bool visible); void setWeapVisible(bool visible); void setSpellVisible(bool visible); + void setSneakVisible(bool visible); void setEffectVisible(bool visible); void setMinimapVisible(bool visible); @@ -51,7 +52,7 @@ namespace MWGui private: MyGUI::ProgressBar *mHealth, *mMagicka, *mStamina, *mEnemyHealth; MyGUI::Widget* mHealthFrame; - MyGUI::Widget *mWeapBox, *mSpellBox; + MyGUI::Widget *mWeapBox, *mSpellBox, *mSneakBox; MyGUI::ImageBox *mWeapImage, *mSpellImage; MyGUI::ProgressBar *mWeapStatus, *mSpellStatus; MyGUI::Widget *mEffectBox, *mMinimapBox; @@ -70,7 +71,7 @@ namespace MWGui MyGUI::TextBox* mBatchCounter; // bottom left elements - int mHealthManaStaminaBaseLeft, mWeapBoxBaseLeft, mSpellBoxBaseLeft; + int mHealthManaStaminaBaseLeft, mWeapBoxBaseLeft, mSpellBoxBaseLeft, mSneakBoxBaseLeft; // bottom right elements int mMinimapBoxBaseRight, mEffectBoxBaseRight;