[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