[Scummvm-git-logs] scummvm master -> 849ea4da6d0ff91b4b354c306299efb83b2e7809

dreammaster noreply at scummvm.org
Sun Feb 5 05:38:39 UTC 2023


This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
a91ba40fb1 MM: MM1: Remove more deprecated name formatting
2f7e07e1ba MM: MM1: Move subtractDamage to Combat class
849ea4da6d MM: MM1: Change subtractDamageFromChar to return string


Commit: a91ba40fb18d72f2224c46976f5d5112b5a65e5a
    https://github.com/scummvm/scummvm/commit/a91ba40fb18d72f2224c46976f5d5112b5a65e5a
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-02-04T21:19:22-08:00

Commit Message:
MM: MM1: Remove more deprecated name formatting

Changed paths:
    engines/mm/mm1/data/character.cpp
    engines/mm/mm1/data/character.h
    engines/mm/mm1/game/monster_touch.cpp
    engines/mm/mm1/game/spells_monsters.cpp
    engines/mm/mm1/views/search.cpp


diff --git a/engines/mm/mm1/data/character.cpp b/engines/mm/mm1/data/character.cpp
index 09c2e202365..7888d90a42e 100644
--- a/engines/mm/mm1/data/character.cpp
+++ b/engines/mm/mm1/data/character.cpp
@@ -593,10 +593,6 @@ bool Character::hasItem(byte itemId) const {
 		_equipped.indexOf(itemId) != -1;
 }
 
-Common::String Character::getDisplayName() const {
-	return Common::String::format("|%s|", _name);
-}
-
 #define PERF16(x) ((x & 0xff) + ((x >> 8) & 0xff))
 #define PERF32(x) ((x & 0xff) + ((x >> 8) & 0xff) + \
 	((x >> 16) & 0xff) + ((x >> 24) & 0xff))
diff --git a/engines/mm/mm1/data/character.h b/engines/mm/mm1/data/character.h
index 7e3abee23b9..322fcf04512 100644
--- a/engines/mm/mm1/data/character.h
+++ b/engines/mm/mm1/data/character.h
@@ -526,11 +526,6 @@ struct Character : public PrimaryAttributes {
 	 */
 	bool hasItem(byte itemId) const;
 
-	/**
-	 * Return a display version of the character's name
-	 */
-	Common::String getDisplayName() const;
-
 	/**
 	 * Gets the numeric value of every property a character
 	 * has and totals it up to give a stupid 'performance'
diff --git a/engines/mm/mm1/game/monster_touch.cpp b/engines/mm/mm1/game/monster_touch.cpp
index 6d8ad6d2800..9e9088bf7ae 100644
--- a/engines/mm/mm1/game/monster_touch.cpp
+++ b/engines/mm/mm1/game/monster_touch.cpp
@@ -228,7 +228,7 @@ bool MonsterTouch::action14(Common::String &line) {
 	if (canPerform(3) && isCharAffected()) {
 		setCondition(BAD_CONDITION | STONE);
 		line = Common::String::format("%s %s",
-			c.getDisplayName().c_str(),
+			c._name,
 			STRING["monster_actions.turned_to_stone"].c_str()
 		);
 		return true;
@@ -280,7 +280,7 @@ bool MonsterTouch::action17(Common::String &line) {
 	if (canPerform(3) && isCharAffected()) {
 		setCondition(BAD_CONDITION | DEAD);
 		line = Common::String::format("%s %s",
-			c.getDisplayName().c_str(),
+			c._name,
 			STRING["monster_actions.is_killed"].c_str()
 		);
 		return true;
@@ -368,7 +368,7 @@ bool MonsterTouch::action23(Common::String &line) {
 
 	setCondition(ERADICATED);
 	line = Common::String::format("%s %s",
-		c.getDisplayName().c_str(),
+		c._name,
 		STRING["monster_actions.is_eradicated"].c_str()
 	);
 
diff --git a/engines/mm/mm1/game/spells_monsters.cpp b/engines/mm/mm1/game/spells_monsters.cpp
index 63330326988..c96b414d2d4 100644
--- a/engines/mm/mm1/game/spells_monsters.cpp
+++ b/engines/mm/mm1/game/spells_monsters.cpp
@@ -446,7 +446,7 @@ bool SpellsMonsters::casts() {
 }
 
 void SpellsMonsters::addCharName() {
-	add(g_globals->_currCharacter->getDisplayName());
+	add(g_globals->_currCharacter->_name);
 }
 
 void SpellsMonsters::damageRandomChar() {
diff --git a/engines/mm/mm1/views/search.cpp b/engines/mm/mm1/views/search.cpp
index d0b3f45a29e..2d6bff703cd 100644
--- a/engines/mm/mm1/views/search.cpp
+++ b/engines/mm/mm1/views/search.cpp
@@ -358,7 +358,7 @@ void Search::drawTreasure() {
 
 		writeString(0, _lineNum++, Common::String::format(
 			STRING["dialogs.search.found_gems"].c_str(),
-			c.getDisplayName().c_str(),
+			c._name,
 			gems));
 		c._gems = MIN((int)c._gems + gems, 0xffff);
 	}
@@ -387,7 +387,7 @@ void Search::drawItem() {
 			// Add line for found item
 			writeString(0, _lineNum++, Common::String::format(
 				STRING["dialogs.search.found_item"].c_str(),
-				c.getDisplayName().c_str(),
+				c._name,
 				item->_name.c_str()
 			));
 


Commit: 2f7e07e1baf6746931c265a6c23311f57670f576
    https://github.com/scummvm/scummvm/commit/2f7e07e1baf6746931c265a6c23311f57670f576
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-02-04T21:30:16-08:00

Commit Message:
MM: MM1: Move subtractDamage to Combat class

Changed paths:
    engines/mm/mm1/game/combat.cpp
    engines/mm/mm1/game/combat.h
    engines/mm/mm1/game/spells_monsters.cpp
    engines/mm/mm1/game/spells_monsters.h
    engines/mm/mm1/views/combat.cpp


diff --git a/engines/mm/mm1/game/combat.cpp b/engines/mm/mm1/game/combat.cpp
index 34b28c6b002..2fc1347363c 100644
--- a/engines/mm/mm1/game/combat.cpp
+++ b/engines/mm/mm1/game/combat.cpp
@@ -1621,6 +1621,36 @@ void Combat::combatDone() {
 	g_globals->_party.rearrange(g_globals->_combatParty);
 }
 
+void Combat::subtractDamageFromChar() {
+	Character &c = *g_globals->_currCharacter;
+	int newHp = c._hpBase - _damage;
+
+	if (newHp > 0) {
+		c._hpBase = newHp;
+
+	} else {
+		c._hpBase = 0;
+
+		if (!(c._condition & (BAD_CONDITION | UNCONSCIOUS))) {
+			c._condition |= UNCONSCIOUS;
+			addCharName();
+			add(' ');
+			add(STRING["monster_spellsState.goes_down"]);
+			Sound::sound2(SOUND_8);
+
+		} else {
+			if (c._condition & BAD_CONDITION)
+				c._condition = BAD_CONDITION | DEAD;
+
+			_lines.push_back(Line(0, 3, ""));
+			addCharName();
+			add(' ');
+			add(STRING["monster_spellsState.dies"]);
+			Sound::sound2(SOUND_8);
+		}
+	}
+}
+
 } // namespace Game
 } // namespace MM1
 } // namespace MM
diff --git a/engines/mm/mm1/game/combat.h b/engines/mm/mm1/game/combat.h
index c077f5219e4..d74a0fbdb42 100644
--- a/engines/mm/mm1/game/combat.h
+++ b/engines/mm/mm1/game/combat.h
@@ -104,6 +104,12 @@ protected:
 	 */
 	virtual void combatDone();
 
+	/**
+	 * Subtracts the damage from the character, making
+	 * them unconscious or die if needed
+	 */
+	void subtractDamageFromChar() override;
+
 	/**
 	 * Clear all the combat variables
 	 */
diff --git a/engines/mm/mm1/game/spells_monsters.cpp b/engines/mm/mm1/game/spells_monsters.cpp
index c96b414d2d4..96b4d7c9df2 100644
--- a/engines/mm/mm1/game/spells_monsters.cpp
+++ b/engines/mm/mm1/game/spells_monsters.cpp
@@ -490,7 +490,7 @@ void SpellsMonsters::handleDamage() {
 					_damage = 1;
 
 				writeDamage();
-				subtractDamage();
+				subtractDamageFromChar();
 			}
 		}
 	}
@@ -572,36 +572,6 @@ void SpellsMonsters::writeDamage() {
 		add(STRING["monster_spellsState.of_damage"]);
 }
 
-void SpellsMonsters::subtractDamage() {
-	Character &c = *g_globals->_currCharacter;
-	int newHp = c._hpBase - _damage;
-
-	if (newHp > 0) {
-		c._hpBase = newHp;
-
-	} else {
-		c._hpBase = 0;
-
-		if (!(c._condition & (BAD_CONDITION | UNCONSCIOUS))) {
-			c._condition |= UNCONSCIOUS;
-			addCharName();
-			add(' ');
-			add(STRING["monster_spellsState.goes_down"]);
-			Sound::sound2(SOUND_8);
-
-		} else {
-			if (c._condition & BAD_CONDITION)
-				c._condition = BAD_CONDITION | DEAD;
-
-			_lines.push_back(Line(0, 3, ""));
-			addCharName();
-			add(' ');
-			add(STRING["monster_spellsState.dies"]);
-			Sound::sound2(SOUND_8);
-		}
-	}
-}
-
 void SpellsMonsters::proc9() {
 	const Character &c = *g_globals->_currCharacter;
 	int val = c._level._current * 4 + c._luck._current;
diff --git a/engines/mm/mm1/game/spells_monsters.h b/engines/mm/mm1/game/spells_monsters.h
index 451669c91f4..c1342864333 100644
--- a/engines/mm/mm1/game/spells_monsters.h
+++ b/engines/mm/mm1/game/spells_monsters.h
@@ -80,21 +80,6 @@ private:
 	 */
 	bool casts();
 
-	/**
-	 * Adds text to the current line
-	 */
-	void add(const Common::String &msg) {
-		_lines.back()._text += msg;
-	}
-	void add(char c) {
-		_lines.back()._text += c;
-	}
-
-	/**
-	 * Adds current character's name
-	 */
-	void addCharName();
-
 	/**
 	 * Selects a random character and applies the damage to them
 	 */
@@ -155,6 +140,12 @@ protected:
 	virtual void dispelParty() = 0;
 	virtual void removeMonster() = 0;
 
+	/**
+	 * Subtracts the damage from the character, making
+	 * them unconscious or die if needed
+	 */
+	virtual void subtractDamageFromChar() = 0;
+
 	/**
 	 * Adds text for damage effects on the party
 	 */
@@ -184,10 +175,19 @@ protected:
 	void proc9();
 
 	/**
-	 * Subtracts the damage from the character, making
-	 * them unconscious or die if needed
+	 * Adds text to the current line
 	 */
-	void subtractDamage();
+	void add(const Common::String &msg) {
+		_lines.back()._text += msg;
+	}
+	void add(char c) {
+		_lines.back()._text += c;
+	}
+
+	/**
+	 * Adds current character's name
+	 */
+	void addCharName();
 
 public:
 	SpellsMonsters();
diff --git a/engines/mm/mm1/views/combat.cpp b/engines/mm/mm1/views/combat.cpp
index 40449349130..45b794b331e 100644
--- a/engines/mm/mm1/views/combat.cpp
+++ b/engines/mm/mm1/views/combat.cpp
@@ -682,7 +682,7 @@ void Combat::writeMonsterAttack() {
 		// to call it from here
 		_lines.clear();
 		_lines.push_back(Line(0, 3, ""));
-		subtractDamage();
+		subtractDamageFromChar();
 
 		if (!_lines.back()._text.empty())
 			writeString(0, yp, _lines.back()._text);


Commit: 849ea4da6d0ff91b4b354c306299efb83b2e7809
    https://github.com/scummvm/scummvm/commit/849ea4da6d0ff91b4b354c306299efb83b2e7809
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-02-04T21:38:24-08:00

Commit Message:
MM: MM1: Change subtractDamageFromChar to return string

Changed paths:
    engines/mm/mm1/game/combat.cpp
    engines/mm/mm1/game/combat.h
    engines/mm/mm1/game/spells_monsters.cpp
    engines/mm/mm1/game/spells_monsters.h
    engines/mm/mm1/views/combat.cpp


diff --git a/engines/mm/mm1/game/combat.cpp b/engines/mm/mm1/game/combat.cpp
index 2fc1347363c..130b8e68e35 100644
--- a/engines/mm/mm1/game/combat.cpp
+++ b/engines/mm/mm1/game/combat.cpp
@@ -1621,9 +1621,10 @@ void Combat::combatDone() {
 	g_globals->_party.rearrange(g_globals->_combatParty);
 }
 
-void Combat::subtractDamageFromChar() {
+Common::String Combat::subtractDamageFromChar() {
 	Character &c = *g_globals->_currCharacter;
 	int newHp = c._hpBase - _damage;
+	Common::String result;
 
 	if (newHp > 0) {
 		c._hpBase = newHp;
@@ -1633,22 +1634,22 @@ void Combat::subtractDamageFromChar() {
 
 		if (!(c._condition & (BAD_CONDITION | UNCONSCIOUS))) {
 			c._condition |= UNCONSCIOUS;
-			addCharName();
-			add(' ');
-			add(STRING["monster_spellsState.goes_down"]);
+
+			result = Common::String::format("%s %s", c._name,
+				STRING["monster_spellsState.goes_down"]);
 			Sound::sound2(SOUND_8);
 
 		} else {
 			if (c._condition & BAD_CONDITION)
 				c._condition = BAD_CONDITION | DEAD;
 
-			_lines.push_back(Line(0, 3, ""));
-			addCharName();
-			add(' ');
-			add(STRING["monster_spellsState.dies"]);
+			result = Common::String::format("%s %s", c._name,
+				STRING["monster_spellsState.dies"]);
 			Sound::sound2(SOUND_8);
 		}
 	}
+
+	return result;
 }
 
 } // namespace Game
diff --git a/engines/mm/mm1/game/combat.h b/engines/mm/mm1/game/combat.h
index d74a0fbdb42..d5e85d9bb08 100644
--- a/engines/mm/mm1/game/combat.h
+++ b/engines/mm/mm1/game/combat.h
@@ -108,7 +108,7 @@ protected:
 	 * Subtracts the damage from the character, making
 	 * them unconscious or die if needed
 	 */
-	void subtractDamageFromChar() override;
+	Common::String subtractDamageFromChar() override;
 
 	/**
 	 * Clear all the combat variables
diff --git a/engines/mm/mm1/game/spells_monsters.cpp b/engines/mm/mm1/game/spells_monsters.cpp
index 96b4d7c9df2..b3ebf40dc88 100644
--- a/engines/mm/mm1/game/spells_monsters.cpp
+++ b/engines/mm/mm1/game/spells_monsters.cpp
@@ -490,7 +490,9 @@ void SpellsMonsters::handleDamage() {
 					_damage = 1;
 
 				writeDamage();
-				subtractDamageFromChar();
+				Common::String str = subtractDamageFromChar();
+				if (!str.empty())
+					_lines.push_back(Line(0, _lines.back().y + 1, str));
 			}
 		}
 	}
diff --git a/engines/mm/mm1/game/spells_monsters.h b/engines/mm/mm1/game/spells_monsters.h
index c1342864333..0352e3bfae0 100644
--- a/engines/mm/mm1/game/spells_monsters.h
+++ b/engines/mm/mm1/game/spells_monsters.h
@@ -144,7 +144,7 @@ protected:
 	 * Subtracts the damage from the character, making
 	 * them unconscious or die if needed
 	 */
-	virtual void subtractDamageFromChar() = 0;
+	virtual Common::String subtractDamageFromChar() = 0;
 
 	/**
 	 * Adds text for damage effects on the party
diff --git a/engines/mm/mm1/views/combat.cpp b/engines/mm/mm1/views/combat.cpp
index 45b794b331e..90128917a6c 100644
--- a/engines/mm/mm1/views/combat.cpp
+++ b/engines/mm/mm1/views/combat.cpp
@@ -677,16 +677,9 @@ void Combat::writeMonsterAttack() {
 		if (monsterTouch(line))
 			writeString(0, yp++, line);
 
-		// TODO: Maybe refactor subtractDamage to not use
-		// the _lines/add methods, which would make it cleaner
-		// to call it from here
-		_lines.clear();
-		_lines.push_back(Line(0, 3, ""));
-		subtractDamageFromChar();
-
-		if (!_lines.back()._text.empty())
-			writeString(0, yp, _lines.back()._text);
-		_lines.clear();
+		Common::String damageStr = subtractDamageFromChar();
+		if (!damageStr.empty())
+			writeString(0, yp, damageStr);
 	}
 }
 




More information about the Scummvm-git-logs mailing list