]> git.localhorst.tv Git - l2e.git/blobdiff - src/menu/HeroStatus.cpp
added 'change' menu state
[l2e.git] / src / menu / HeroStatus.cpp
index 2d038b1a3c69b247f661b4fe807c72c2a8ee5def..5bc0c3b51205e34edf0ee8cb5136ffde40c0afff 100644 (file)
@@ -18,6 +18,7 @@ namespace menu {
 
 HeroStatus::HeroStatus()
 : res(0)
+, party(0)
 , hero(0) {
 
 }
@@ -28,55 +29,55 @@ HeroStatus::~HeroStatus() {
 
 
 int HeroStatus::Width() const {
-       return hero->BattleSprite()->Width() + res->statusFont->CharWidth() * 11;
+       return party[hero]->BattleSprite()->Width() + res->statusFont->CharWidth() * 11;
 }
 
 int HeroStatus::Height() const {
-       return hero->BattleSprite()->Height() + res->statusFont->CharWidth();
+       return party[hero]->BattleSprite()->Height() + res->statusFont->CharWidth();
 }
 
 
 void HeroStatus::Render(SDL_Surface *screen, const Vector<int> &offset) const {
-       if (!hero) return;
+       if (!party) return;
 
-       hero->BattleSprite()->Draw(screen, offset, 0, 0);
+       party[hero]->BattleSprite()->Draw(screen, offset, 0, 0);
 
        // for some reason, fonts are shifted by one pixel in the original
        Vector<int> nameOffset(
-                       hero->BattleSprite()->Width(),
+                       party[hero]->BattleSprite()->Width(),
                        res->statusFont->CharHeight() * 7 / 8);
        nameOffset += offset;
-       res->statusFont->DrawString(hero->Name(), screen, nameOffset, 5);
+       res->statusFont->DrawString(party[hero]->Name(), screen, nameOffset, 5);
 
        Vector<int> levelLabelOffset(nameOffset.X() + 6 * res->statusFont->CharWidth(), nameOffset.Y());
        res->statusLabels->Draw(screen, levelLabelOffset, 0, 0);
 
        Vector<int> levelOffset(levelLabelOffset.X() + 2 * res->statusFont->CharWidth(), levelLabelOffset.Y());
-       res->statusFont->DrawNumber(hero->Level(), screen, levelOffset, 2);
+       res->statusFont->DrawNumber(party[hero]->Level(), screen, levelOffset, 2);
 
        Vector<int> healthLabelOffset(nameOffset.X(), nameOffset.Y() + res->statusFont->CharHeight());
        res->statusLabels->Draw(screen, healthLabelOffset, 0, 1);
 
        Vector<int> healthOffset(nameOffset.X() + 3 * res->statusFont->CharWidth(), nameOffset.Y() + res->statusFont->CharHeight());
-       res->statusFont->DrawNumber(hero->Health(), screen, healthOffset, 3);
+       res->statusFont->DrawNumber(party[hero]->Health(), screen, healthOffset, 3);
 
        Vector<int> healthSeparatorOffset(healthOffset.X() + 3 * res->statusFont->CharWidth(), healthOffset.Y());
        res->statusFont->DrawChar('/', screen, healthSeparatorOffset);
 
        Vector<int> maxHealthOffset(healthSeparatorOffset.X() + res->statusFont->CharWidth(), healthOffset.Y());
-       res->statusFont->DrawNumber(hero->MaxHealth(), screen, maxHealthOffset, 3);
+       res->statusFont->DrawNumber(party[hero]->MaxHealth(), screen, maxHealthOffset, 3);
 
        Vector<int> manaLabelOffset(healthLabelOffset.X(), healthLabelOffset.Y() + res->statusFont->CharHeight());
        res->statusLabels->Draw(screen, manaLabelOffset, 0, 2);
 
        Vector<int> manaOffset(healthOffset.X(), healthOffset.Y() + res->statusFont->CharHeight());
-       res->statusFont->DrawNumber(hero->Mana(), screen, manaOffset, 3);
+       res->statusFont->DrawNumber(party[hero]->Mana(), screen, manaOffset, 3);
 
        Vector<int> manaSeparatorOffset(healthSeparatorOffset.X(), manaOffset.Y());
        res->statusFont->DrawChar('/', screen, manaSeparatorOffset);
 
        Vector<int> maxManaOffset(maxHealthOffset.X(), manaOffset.Y());
-       res->statusFont->DrawNumber(hero->MaxMana(), screen, maxManaOffset, 3);
+       res->statusFont->DrawNumber(party[hero]->MaxMana(), screen, maxManaOffset, 3);
 }
 
 }