mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-03-03 13:19:40 +00:00
addition to last commit: show the selected weapon/spell names as inventory/spell window caption
This commit is contained in:
parent
298ae4f7f8
commit
c5a685d11f
5 changed files with 25 additions and 9 deletions
|
@ -44,6 +44,8 @@ HUD::HUD(int width, int height, int fpsLevel, DragAndDrop* dragAndDrop)
|
||||||
, mCellNameTimer(0.0f)
|
, mCellNameTimer(0.0f)
|
||||||
, mCellNameBox(NULL)
|
, mCellNameBox(NULL)
|
||||||
, mMapVisible(true)
|
, mMapVisible(true)
|
||||||
|
, mWeaponVisible(true)
|
||||||
|
, mSpellVisible(true)
|
||||||
{
|
{
|
||||||
setCoord(0,0, width, height);
|
setCoord(0,0, width, height);
|
||||||
|
|
||||||
|
@ -101,9 +103,6 @@ HUD::HUD(int width, int height, int fpsLevel, DragAndDrop* dragAndDrop)
|
||||||
|
|
||||||
setEffect("icons\\s\\tx_s_chameleon.dds");
|
setEffect("icons\\s\\tx_s_chameleon.dds");
|
||||||
|
|
||||||
unsetSelectedSpell();
|
|
||||||
unsetSelectedWeapon();
|
|
||||||
|
|
||||||
LocalMapBase::init(minimap, compass, this);
|
LocalMapBase::init(minimap, compass, this);
|
||||||
|
|
||||||
mMainWidget->eventMouseButtonClick += MyGUI::newDelegate(this, &HUD::onWorldClicked);
|
mMainWidget->eventMouseButtonClick += MyGUI::newDelegate(this, &HUD::onWorldClicked);
|
||||||
|
@ -201,6 +200,11 @@ void HUD::setBottomLeftVisibility(bool hmsVisible, bool weapVisible, bool spellV
|
||||||
if (!weapVisible)
|
if (!weapVisible)
|
||||||
spellDx += spellBoxBaseLeft - weapBoxBaseLeft;
|
spellDx += spellBoxBaseLeft - weapBoxBaseLeft;
|
||||||
|
|
||||||
|
mWeaponVisible = weapVisible;
|
||||||
|
mSpellVisible = spellVisible;
|
||||||
|
if (!mWeaponVisible && !mSpellVisible)
|
||||||
|
mWeaponSpellBox->setVisible(false);
|
||||||
|
|
||||||
health->setVisible(hmsVisible);
|
health->setVisible(hmsVisible);
|
||||||
stamina->setVisible(hmsVisible);
|
stamina->setVisible(hmsVisible);
|
||||||
magicka->setVisible(hmsVisible);
|
magicka->setVisible(hmsVisible);
|
||||||
|
@ -346,7 +350,7 @@ void HUD::setSelectedSpell(const std::string& spellId, int successChancePercent)
|
||||||
{
|
{
|
||||||
const ESM::Spell* spell = MWBase::Environment::get().getWorld()->getStore().spells.find(spellId);
|
const ESM::Spell* spell = MWBase::Environment::get().getWorld()->getStore().spells.find(spellId);
|
||||||
std::string spellName = spell->name;
|
std::string spellName = spell->name;
|
||||||
if (spellName != mSpellName)
|
if (spellName != mSpellName && mSpellVisible)
|
||||||
{
|
{
|
||||||
mWeaponSpellTimer = 5.0f;
|
mWeaponSpellTimer = 5.0f;
|
||||||
mSpellName = spellName;
|
mSpellName = spellName;
|
||||||
|
@ -376,7 +380,7 @@ void HUD::setSelectedSpell(const std::string& spellId, int successChancePercent)
|
||||||
void HUD::setSelectedEnchantItem(const MWWorld::Ptr& item, int chargePercent)
|
void HUD::setSelectedEnchantItem(const MWWorld::Ptr& item, int chargePercent)
|
||||||
{
|
{
|
||||||
std::string itemName = MWWorld::Class::get(item).getName(item);
|
std::string itemName = MWWorld::Class::get(item).getName(item);
|
||||||
if (itemName != mSpellName)
|
if (itemName != mSpellName && mSpellVisible)
|
||||||
{
|
{
|
||||||
mWeaponSpellTimer = 5.0f;
|
mWeaponSpellTimer = 5.0f;
|
||||||
mSpellName = itemName;
|
mSpellName = itemName;
|
||||||
|
@ -407,7 +411,7 @@ void HUD::setSelectedEnchantItem(const MWWorld::Ptr& item, int chargePercent)
|
||||||
void HUD::setSelectedWeapon(const MWWorld::Ptr& item, int durabilityPercent)
|
void HUD::setSelectedWeapon(const MWWorld::Ptr& item, int durabilityPercent)
|
||||||
{
|
{
|
||||||
std::string itemName = MWWorld::Class::get(item).getName(item);
|
std::string itemName = MWWorld::Class::get(item).getName(item);
|
||||||
if (itemName != mWeaponName)
|
if (itemName != mWeaponName && mWeaponVisible)
|
||||||
{
|
{
|
||||||
mWeaponSpellTimer = 5.0f;
|
mWeaponSpellTimer = 5.0f;
|
||||||
mWeaponName = itemName;
|
mWeaponName = itemName;
|
||||||
|
@ -443,7 +447,7 @@ void HUD::setSelectedWeapon(const MWWorld::Ptr& item, int durabilityPercent)
|
||||||
void HUD::unsetSelectedSpell()
|
void HUD::unsetSelectedSpell()
|
||||||
{
|
{
|
||||||
std::string spellName = "#{sNone}";
|
std::string spellName = "#{sNone}";
|
||||||
if (spellName != mSpellName)
|
if (spellName != mSpellName && mSpellVisible)
|
||||||
{
|
{
|
||||||
mWeaponSpellTimer = 5.0f;
|
mWeaponSpellTimer = 5.0f;
|
||||||
mSpellName = spellName;
|
mSpellName = spellName;
|
||||||
|
@ -462,7 +466,7 @@ void HUD::unsetSelectedSpell()
|
||||||
void HUD::unsetSelectedWeapon()
|
void HUD::unsetSelectedWeapon()
|
||||||
{
|
{
|
||||||
std::string itemName = "#{sSkillHandtohand}";
|
std::string itemName = "#{sSkillHandtohand}";
|
||||||
if (itemName != mWeaponName)
|
if (itemName != mWeaponName && mWeaponVisible)
|
||||||
{
|
{
|
||||||
mWeaponSpellTimer = 5.0f;
|
mWeaponSpellTimer = 5.0f;
|
||||||
mWeaponName = itemName;
|
mWeaponName = itemName;
|
||||||
|
|
|
@ -67,6 +67,8 @@ namespace MWGui
|
||||||
float mWeaponSpellTimer;
|
float mWeaponSpellTimer;
|
||||||
|
|
||||||
bool mMapVisible;
|
bool mMapVisible;
|
||||||
|
bool mWeaponVisible;
|
||||||
|
bool mSpellVisible;
|
||||||
|
|
||||||
void onWorldClicked(MyGUI::Widget* _sender);
|
void onWorldClicked(MyGUI::Widget* _sender);
|
||||||
void onWorldMouseOver(MyGUI::Widget* _sender, int x, int y);
|
void onWorldMouseOver(MyGUI::Widget* _sender, int x, int y);
|
||||||
|
|
|
@ -47,6 +47,7 @@ namespace MWGui
|
||||||
getWidget(mEffectBox, "EffectsBox");
|
getWidget(mEffectBox, "EffectsBox");
|
||||||
|
|
||||||
setCoord(498, 300, 302, 300);
|
setCoord(498, 300, 302, 300);
|
||||||
|
|
||||||
updateSpells();
|
updateSpells();
|
||||||
|
|
||||||
mMainWidget->castType<MyGUI::Window>()->eventWindowChangeCoord += MyGUI::newDelegate(this, &SpellWindow::onWindowResize);
|
mMainWidget->castType<MyGUI::Window>()->eventWindowChangeCoord += MyGUI::newDelegate(this, &SpellWindow::onWindowResize);
|
||||||
|
|
|
@ -144,6 +144,9 @@ WindowManager::WindowManager(
|
||||||
playerSkillValues.insert(std::make_pair(ESM::Skill::skillIds[i], MWMechanics::Stat<float>()));
|
playerSkillValues.insert(std::make_pair(ESM::Skill::skillIds[i], MWMechanics::Stat<float>()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsetSelectedSpell();
|
||||||
|
unsetSelectedWeapon();
|
||||||
|
|
||||||
// Set up visibility
|
// Set up visibility
|
||||||
updateVisible();
|
updateVisible();
|
||||||
}
|
}
|
||||||
|
@ -678,24 +681,30 @@ void WindowManager::removeGuiMode(GuiMode mode)
|
||||||
void WindowManager::setSelectedSpell(const std::string& spellId, int successChancePercent)
|
void WindowManager::setSelectedSpell(const std::string& spellId, int successChancePercent)
|
||||||
{
|
{
|
||||||
hud->setSelectedSpell(spellId, successChancePercent);
|
hud->setSelectedSpell(spellId, successChancePercent);
|
||||||
|
const ESM::Spell* spell = MWBase::Environment::get().getWorld()->getStore().spells.find(spellId);
|
||||||
|
mSpellWindow->setTitle(spell->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WindowManager::setSelectedEnchantItem(const MWWorld::Ptr& item, int chargePercent)
|
void WindowManager::setSelectedEnchantItem(const MWWorld::Ptr& item, int chargePercent)
|
||||||
{
|
{
|
||||||
hud->setSelectedEnchantItem(item, chargePercent);
|
hud->setSelectedEnchantItem(item, chargePercent);
|
||||||
|
mSpellWindow->setTitle(MWWorld::Class::get(item).getName(item));
|
||||||
}
|
}
|
||||||
|
|
||||||
void WindowManager::setSelectedWeapon(const MWWorld::Ptr& item, int durabilityPercent)
|
void WindowManager::setSelectedWeapon(const MWWorld::Ptr& item, int durabilityPercent)
|
||||||
{
|
{
|
||||||
hud->setSelectedWeapon(item, durabilityPercent);
|
hud->setSelectedWeapon(item, durabilityPercent);
|
||||||
|
mInventoryWindow->setTitle(MWWorld::Class::get(item).getName(item));
|
||||||
}
|
}
|
||||||
|
|
||||||
void WindowManager::unsetSelectedSpell()
|
void WindowManager::unsetSelectedSpell()
|
||||||
{
|
{
|
||||||
hud->unsetSelectedSpell();
|
hud->unsetSelectedSpell();
|
||||||
|
mSpellWindow->setTitle("#{sNone}");
|
||||||
}
|
}
|
||||||
|
|
||||||
void WindowManager::unsetSelectedWeapon()
|
void WindowManager::unsetSelectedWeapon()
|
||||||
{
|
{
|
||||||
hud->unsetSelectedWeapon();
|
hud->unsetSelectedWeapon();
|
||||||
|
mInventoryWindow->setTitle("#{sSkillHandtohand}");
|
||||||
}
|
}
|
||||||
|
|
|
@ -118,7 +118,7 @@ namespace GUI
|
||||||
void setTitle(const std::string& title)
|
void setTitle(const std::string& title)
|
||||||
{
|
{
|
||||||
// NOTE: this assume that mMainWidget is of type Window.
|
// NOTE: this assume that mMainWidget is of type Window.
|
||||||
static_cast<MyGUI::Window*>(mMainWidget)->setCaption(title);
|
static_cast<MyGUI::Window*>(mMainWidget)->setCaptionWithReplacing(title);
|
||||||
adjustWindowCaption();
|
adjustWindowCaption();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue