[Scummvm-git-logs] scummvm master -> 9ace55fa8d8e07c20079bb78e6c74bc028c4d702
dreammaster
paulfgilbert at gmail.com
Sun Jun 14 22:30:55 UTC 2020
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
9ace55fa8d XEEN: Display actual Warzone Wins instead of a hardcoded value
Commit: 9ace55fa8d8e07c20079bb78e6c74bc028c4d702
https://github.com/scummvm/scummvm/commit/9ace55fa8d8e07c20079bb78e6c74bc028c4d702
Author: Jonathan Phénix (greaterd at gmail.com)
Date: 2020-06-14T15:30:51-07:00
Commit Message:
XEEN: Display actual Warzone Wins instead of a hardcoded value
Changed paths:
engines/xeen/character.cpp
engines/xeen/character.h
engines/xeen/dialogs/dialogs_awards.cpp
diff --git a/engines/xeen/character.cpp b/engines/xeen/character.cpp
index 8a5fa94737..6b4ca056dc 100644
--- a/engines/xeen/character.cpp
+++ b/engines/xeen/character.cpp
@@ -485,24 +485,26 @@ bool Character::noActions() {
}
}
-void Character::setAward(int awardId, bool value) {
+static int fixAwardId(int awardId) {
int v = awardId;
if (awardId == 73)
v = 126;
else if (awardId == 81)
v = 127;
- _awards[v] = value ? 1 : 0;
+ return v;
+}
+
+void Character::setAward(int awardId, bool value) {
+ _awards[fixAwardId(awardId)] = value ? 1 : 0;
}
bool Character::hasAward(int awardId) const {
- int v = awardId;
- if (awardId == 73)
- v = 126;
- else if (awardId == 81)
- v = 127;
+ return _awards[fixAwardId(awardId)] ? true : false;
+}
- return _awards[v];
+int Character::getAwardCount(int awardId) const {
+ return _awards[fixAwardId(awardId)];
}
int Character::getArmorClass(bool baseOnly) const {
diff --git a/engines/xeen/character.h b/engines/xeen/character.h
index 07d93b2d45..5181f0f59f 100644
--- a/engines/xeen/character.h
+++ b/engines/xeen/character.h
@@ -263,6 +263,11 @@ public:
*/
bool hasAward(int awardId) const;
+ /**
+ * Returns the number of times a character has received a given award
+ */
+ int getAwardCount(int awardId) const;
+
/**
* Returns the character's armor class
*/
diff --git a/engines/xeen/dialogs/dialogs_awards.cpp b/engines/xeen/dialogs/dialogs_awards.cpp
index f0181d6226..4179723bda 100644
--- a/engines/xeen/dialogs/dialogs_awards.cpp
+++ b/engines/xeen/dialogs/dialogs_awards.cpp
@@ -62,9 +62,9 @@ void Awards::execute(const Character *ch) {
for (int awardNum = 0; awardNum < AWARDS_TOTAL; ++awardNum) {
if (ch->hasAward(awardNum)) {
- if (awardNum == 9) {
+ if (awardNum == WARZONE_AWARD) {
// # Warzone Wins
- awards[numAwards] = Common::String::format(_textStrings[9].c_str(), 28);
+ awards[numAwards] = Common::String::format(_textStrings[9].c_str(), ch->getAwardCount(WARZONE_AWARD));
} else if (awardNum == 17) {
// Legendary Race
awards[numAwards] = Common::String::format(_textStrings[17].c_str(),
More information about the Scummvm-git-logs
mailing list