[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