summaryrefslogtreecommitdiff
path: root/src/gui/status.cpp
diff options
context:
space:
mode:
authorJared Adams <jaxad0127@gmail.com>2009-02-22 10:00:20 -0700
committerJared Adams <jaxad0127@gmail.com>2009-02-22 10:02:01 -0700
commit57007e5ecadef9439998b229cb4b1427239f68eb (patch)
tree60658c0e9f9b675abc35cb0c7f0f6bd30b2c98b9 /src/gui/status.cpp
parentffaee35f99686709300b8d1977ade714d5a4e8af (diff)
downloadmana-57007e5ecadef9439998b229cb4b1427239f68eb.tar.gz
mana-57007e5ecadef9439998b229cb4b1427239f68eb.tar.bz2
mana-57007e5ecadef9439998b229cb4b1427239f68eb.tar.xz
mana-57007e5ecadef9439998b229cb4b1427239f68eb.zip
Allow percentage for exp displays
Diffstat (limited to 'src/gui/status.cpp')
-rw-r--r--src/gui/status.cpp30
1 files changed, 23 insertions, 7 deletions
diff --git a/src/gui/status.cpp b/src/gui/status.cpp
index 0f695b68..f5ec5c13 100644
--- a/src/gui/status.cpp
+++ b/src/gui/status.cpp
@@ -185,9 +185,9 @@ void StatusWindow::update()
updateMPBar(mMpBar, true);
- updateXPBar(mXpBar);
+ updateXPBar(mXpBar, false);
- updateJobBar(mJobBar);
+ updateJobBar(mJobBar, false);
// Stats Part
// ----------
@@ -329,13 +329,21 @@ void StatusWindow::updateMPBar(ProgressBar *bar, bool showMax)
bar->setProgress((float) player_node->mMp / (float) player_node->mMaxMp);
}
-void StatusWindow::updateXPBar(ProgressBar *bar)
+void StatusWindow::updateXPBar(ProgressBar *bar, bool percent)
{
if (player_node->mXpForNextLevel == 0) {
bar->setText(_("Max level"));
bar->setProgress(1.0);
} else {
- bar->setText(toString(player_node->getXp()) +
+ if (percent)
+ {
+ float xp = (float) player_node->getXp() /
+ player_node->mXpForNextLevel;
+ bar->setText(toString((float) ((int) (xp * 10000.0f)) / 100.0f) +
+ "%");
+ }
+ else
+ bar->setText(toString(player_node->getXp()) +
"/" + toString(player_node->mXpForNextLevel));
bar->setProgress((float) player_node->getXp() /
@@ -343,14 +351,22 @@ void StatusWindow::updateXPBar(ProgressBar *bar)
}
}
-void StatusWindow::updateJobBar(ProgressBar *bar)
+void StatusWindow::updateJobBar(ProgressBar *bar, bool percent)
{
if (player_node->mXpForNextLevel == 0) {
bar->setText(_("Max level"));
bar->setProgress(1.0);
} else {
- bar->setText(toString(player_node->mJobXp) +
- "/" + toString(player_node->mJobXpForNextLevel));
+ if (percent)
+ {
+ float xp = (float) player_node->mJobXp /
+ player_node->mJobXpForNextLevel;
+ bar->setText(toString((float) ((int) (xp * 10000.0f)) / 100.0f) +
+ "%");
+ }
+ else
+ bar->setText(toString(player_node->mJobXp) +
+ "/" + toString(player_node->mJobXpForNextLevel));
bar->setProgress((float) player_node->mJobXp /
(float) player_node->mJobXpForNextLevel);