diff options
author | Paul Gilbert | 2015-02-01 15:24:12 -0500 |
---|---|---|
committer | Paul Gilbert | 2015-02-01 15:24:12 -0500 |
commit | d57c9f20213e66539fc7686a8b8abc26090aaa59 (patch) | |
tree | 3c192af6d876498212d5e0462488c338fdcb34bf | |
parent | 3ae4958f0ba6823b74cf86db6dbd905a8f2d4c47 (diff) | |
download | scummvm-rg350-d57c9f20213e66539fc7686a8b8abc26090aaa59.tar.gz scummvm-rg350-d57c9f20213e66539fc7686a8b8abc26090aaa59.tar.bz2 scummvm-rg350-d57c9f20213e66539fc7686a8b8abc26090aaa59.zip |
XEEN: Fixes to the Character Info dialog
-rw-r--r-- | engines/xeen/dialogs_char_info.cpp | 4 | ||||
-rw-r--r-- | engines/xeen/party.cpp | 4 | ||||
-rw-r--r-- | engines/xeen/resources.cpp | 4 | ||||
-rw-r--r-- | engines/xeen/screen.cpp | 7 |
4 files changed, 11 insertions, 8 deletions
diff --git a/engines/xeen/dialogs_char_info.cpp b/engines/xeen/dialogs_char_info.cpp index 9fedb56fcf..1c0d0bfe31 100644 --- a/engines/xeen/dialogs_char_info.cpp +++ b/engines/xeen/dialogs_char_info.cpp @@ -88,9 +88,9 @@ void CharacterInfo::execute(int charIndex) { charIndex = _buttonValue; c = (oldMode != MODE_InCombat) ? &party._activeParty[charIndex] : party._combatParty[charIndex]; } else { - _iconSprites.load("view.icn"); _vm->_mode = MODE_CHARACTER_INFO; } + redrawFlag = true; break; case Common::KEYCODE_UP: @@ -290,7 +290,7 @@ Common::String CharacterInfo::loadCharacterDetails(const Character &c) { RACE_NAMES[c._race], CLASS_NAMES[c._class], c.statColor(c.getStat(MIGHT), c.getStat(MIGHT, true)), c.getStat(MIGHT), c.statColor(c.getStat(ACCURACY), c.getStat(ACCURACY, true)), c.getStat(ACCURACY), - c.statColor(c._currentHp, c.getMaxHP()), + c.statColor(c._currentHp, c.getMaxHP()), c._currentHp, c.getCurrentExperience(), c.statColor(c.getStat(INTELLECT), c.getStat(INTELLECT, true)), c.getStat(INTELLECT), c.statColor(c.getStat(LUCK), c.getStat(LUCK, true)), c.getStat(LUCK), diff --git a/engines/xeen/party.cpp b/engines/xeen/party.cpp index 3cfc56e1ec..42500ddcfe 100644 --- a/engines/xeen/party.cpp +++ b/engines/xeen/party.cpp @@ -187,7 +187,7 @@ int Character::getMaxSP() const { Attribute attrib; Skill skill; - if (_hasSpells) + if (!_hasSpells) return 0; if (_class == CLASS_SORCERER || _class == CLASS_ARCHER) { @@ -202,7 +202,7 @@ int Character::getMaxSP() const { for (;;) { // Get the base number of spell points - result = statBonus(getStat(attrib)); + result = statBonus(getStat(attrib)) + 3; result += RACE_SP_BONUSES[_race][attrib - 1]; if (_skills[skill]) diff --git a/engines/xeen/resources.cpp b/engines/xeen/resources.cpp index 467dbe21f8..0847944147 100644 --- a/engines/xeen/resources.cpp +++ b/engines/xeen/resources.cpp @@ -304,9 +304,9 @@ const uint CLASS_EXP_LEVELS[10] = { }; const char *const CONDITION_NAMES[17] = { - nullptr, "Cursed", "Heart Broken", "Weak", "Poisoned", "Diseased", + "Cursed", "Heart Broken", "Weak", "Poisoned", "Diseased", "Insane", "In Love", "Drunk", "Asleep", "Depressed", "Confused", - "Paralyzed", "Unconscious", "Dead", "Stone", "Eradicated" + "Paralyzed", "Unconscious", "Dead", "Stone", "Eradicated", "Good" }; const int CONDITION_COLORS[17] = { diff --git a/engines/xeen/screen.cpp b/engines/xeen/screen.cpp index 9c9783ba4c..bb2f356f1b 100644 --- a/engines/xeen/screen.cpp +++ b/engines/xeen/screen.cpp @@ -192,9 +192,12 @@ void Window::drawList(DrawStruct *items, int count) { if (items->_frame == -1 || items->_scale == -1 || items->_sprites == nullptr) continue; + Common::Point pt(items->_x, items->_y); + pt.x += _innerBounds.left; + pt.y += _innerBounds.top; + // TODO: There are two sprite calls in this method. Figure out why - items->_sprites->draw(*this, items->_frame, - Common::Point(items->_x, items->_y), items->_flags, items->_scale); + items->_sprites->draw(*this, items->_frame, pt, items->_flags, items->_scale); } } |