[Scummvm-git-logs] scummvm master -> 8e2f6b662d7f3312c35b7b32cde2014e856a0af0
dreammaster
noreply at scummvm.org
Tue Mar 28 04:27:25 UTC 2023
This automated email contains information about 7 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
e7168e34c0 MM: MM1: Fix combat btns to generate action messages
692b6e265a MM: MM1: Go Back button for combat options
1c9db43757 MM: MM1: Clicking in the monster list can select targets
07754db1aa MM: MM1: Added which character view for combat exchanges
186bfe2755 MM: MM1: Fix combat attack messages
9ec204bbb0 MM: MM1: Fix display of a bunch of other text
8e2f6b662d MM: MM1: Fix hotizontal alignment of ) chars in party list
Commit: e7168e34c01db16e3b8e3dc7864bd76d00c47d0d
https://github.com/scummvm/scummvm/commit/e7168e34c01db16e3b8e3dc7864bd76d00c47d0d
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-03-27T18:39:18-07:00
Commit Message:
MM: MM1: Fix combat btns to generate action messages
Changed paths:
engines/mm/mm1/views_enh/combat.cpp
diff --git a/engines/mm/mm1/views_enh/combat.cpp b/engines/mm/mm1/views_enh/combat.cpp
index 0e85dae4646..d6a3d7a7bc1 100644
--- a/engines/mm/mm1/views_enh/combat.cpp
+++ b/engines/mm/mm1/views_enh/combat.cpp
@@ -349,18 +349,19 @@ bool Combat::msgAction(const ActionMessage &msg) {
}
bool Combat::msgMouseUp(const MouseUpMessage &msg) {
- const char *const BTN_KEYS = "afreubsc";
+ const KeybindingAction BTN_ACTIONS[8] = {
+ KEYBIND_COMBAT_ATTACK, KEYBIND_COMBAT_FIGHT,
+ KEYBIND_COMBAT_RETREAT, KEYBIND_COMBAT_EXCHANGE,
+ KEYBIND_COMBAT_USE, KEYBIND_COMBAT_BLOCK,
+ KEYBIND_COMBAT_SHOOT, KEYBIND_COMBAT_CAST
+ };
for (int col = 0; col < 3; ++col) {
for (int row = 0; row < 3; ++row) {
if (col != 2 || row != 2) {
Common::Rect r = getOptionButtonRect(col, row);
if (r.contains(msg._pos)) {
- char c = BTN_KEYS[col * 3 + row];
- msgKeypress(KeypressMessage(Common::KeyState(
- (Common::KeyCode)(Common::KEYCODE_a + (c - 'a')),
- c
- )));
+ msgAction(ActionMessage(BTN_ACTIONS[col * 3 + row]));
return true;
}
}
Commit: 692b6e265a57588d1ed6d1e088afa5213d669560
https://github.com/scummvm/scummvm/commit/692b6e265a57588d1ed6d1e088afa5213d669560
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-03-27T19:40:13-07:00
Commit Message:
MM: MM1: Go Back button for combat options
Changed paths:
devtools/create_mm/files/mm1/strings_en.yml
engines/mm/mm1/views/combat.cpp
engines/mm/mm1/views_enh/combat.cpp
engines/mm/mm1/views_enh/combat.h
diff --git a/devtools/create_mm/files/mm1/strings_en.yml b/devtools/create_mm/files/mm1/strings_en.yml
index 05711deb37b..708524deecc 100644
--- a/devtools/create_mm/files/mm1/strings_en.yml
+++ b/devtools/create_mm/files/mm1/strings_en.yml
@@ -383,7 +383,7 @@ dialogs:
monster_wanders: "wanders aimlessly"
attacks: "attacks"
shoots: "shoots"
- weapon_no_effect: "weapon has no effect!"
+ weapon_no_effect: "Weapon has no effect!"
once: "once"
times: "times"
and: "and"
@@ -394,9 +394,9 @@ dialogs:
point: "point"
points: "points"
of_damage: "of damage!"
- fight_which: "fight which 'a'-'%c'?"
- shoot_which: "shoot which 'a'-'%c'?"
- set_delay: "set delay (0-9):"
+ fight_which: "Fight which 'A'-'%c'?"
+ shoot_which: "Shoot which 'A'-'%c'?"
+ set_delay: "Set delay (0-9):"
delay_currently: "(currently= %d)"
infiltration: "infiltrates the ranks!"
exchange_places: "exchange places with (1-%c)?"
diff --git a/engines/mm/mm1/views/combat.cpp b/engines/mm/mm1/views/combat.cpp
index dd9913b8697..7c63ed8cbc8 100644
--- a/engines/mm/mm1/views/combat.cpp
+++ b/engines/mm/mm1/views/combat.cpp
@@ -273,8 +273,15 @@ bool Combat::msgAction(const ActionMessage &msg) {
if (endDelay())
return true;
+ if (_mode == SELECT_OPTION && _option != OPTION_NONE &&
+ msg._action == KEYBIND_ESCAPE) {
+ _option = OPTION_NONE;
+ combatLoop();
+ return true;
+ }
+
if (_mode != SELECT_OPTION || (_option != OPTION_NONE &&
- _option != OPTION_EXCHANGE))
+ _option != OPTION_EXCHANGE))
return false;
switch (msg._action) {
@@ -331,12 +338,6 @@ bool Combat::msgAction(const ActionMessage &msg) {
case KEYBIND_COMBAT_USE:
use();
break;
- case KEYBIND_ESCAPE:
- if (_mode == SELECT_OPTION) {
- _option = OPTION_NONE;
- combatLoop();
- }
- break;
default:
break;
}
diff --git a/engines/mm/mm1/views_enh/combat.cpp b/engines/mm/mm1/views_enh/combat.cpp
index d6a3d7a7bc1..91bd94496ce 100644
--- a/engines/mm/mm1/views_enh/combat.cpp
+++ b/engines/mm/mm1/views_enh/combat.cpp
@@ -39,6 +39,7 @@ Combat::Combat() : ScrollView("Combat") {
void Combat::setMode(Mode newMode) {
_mode = newMode;
+ clearButtons();
if (newMode == SELECT_OPTION) {
_option = OPTION_NONE;
@@ -277,6 +278,13 @@ bool Combat::msgAction(const ActionMessage &msg) {
if (endDelay())
return true;
+ if (_mode == SELECT_OPTION && _option != OPTION_NONE &&
+ msg._action == KEYBIND_ESCAPE) {
+ _option = OPTION_NONE;
+ combatLoop();
+ return true;
+ }
+
if (_mode != SELECT_OPTION || (_option != OPTION_NONE &&
_option != OPTION_EXCHANGE))
return false;
@@ -335,12 +343,6 @@ bool Combat::msgAction(const ActionMessage &msg) {
case KEYBIND_COMBAT_USE:
use();
break;
- case KEYBIND_ESCAPE:
- if (_mode == SELECT_OPTION) {
- _option = OPTION_NONE;
- combatLoop();
- }
- break;
default:
break;
}
@@ -372,7 +374,8 @@ bool Combat::msgMouseUp(const MouseUpMessage &msg) {
}
void Combat::writeOptions() {
- resetBottom();
+ if (_option != OPTION_NONE)
+ writeString(30, 170, STRING["enhdialogs.misc.go_back"]);
switch (_option) {
case OPTION_NONE:
@@ -435,36 +438,34 @@ void Combat::writeAllOptions() {
}
void Combat::writeDelaySelect() {
- resetBottom();
+ error("TODO: delay select");
writeString(0, 20, STRING["dialogs.combat.set_delay"]);
writeString(0, 23, Common::String::format(
STRING["dialogs.combat.delay_currently"].c_str(),
g_globals->_delay));
- escToGoBack(0, 23);
}
void Combat::writeExchangeSelect() {
- resetBottom();
- writeString(7, 20, Common::String::format(
+ writeBottomText(0, 1, Common::String::format(
STRING["dialogs.combat.exchange_places"].c_str(),
- '0' + g_globals->_combatParty.size()));
- escToGoBack(12, 23);
+ '0' + g_globals->_combatParty.size()),
+ ALIGN_MIDDLE);
}
void Combat::writeFightSelect() {
_attackableCount = MIN(_attackersCount, (int)_remainingMonsters.size());
- writeString(10, 20, Common::String::format(
- STRING["dialogs.combat.fight_which"].c_str(), 'A' + _attackableCount - 1));
- escToGoBack(12, 23);
+ writeBottomText(0, 1, Common::String::format(
+ STRING["dialogs.combat.fight_which"].c_str(), 'A' + _attackableCount - 1),
+ ALIGN_MIDDLE);
}
void Combat::writeShootSelect() {
_attackableCount = MIN(_attackersCount, (int)_remainingMonsters.size());
- writeString(10, 20, Common::String::format(
- STRING["dialogs.combat.shoot_which"].c_str(), 'A' + _attackableCount - 1));
- escToGoBack(12, 23);
+ writeBottomText(0, 1, Common::String::format(
+ STRING["dialogs.combat.shoot_which"].c_str(), 'A' + _attackableCount - 1),
+ ALIGN_MIDDLE);
}
void Combat::writeAttackOptions() {
@@ -514,8 +515,9 @@ void Combat::resetBottom() {
_allowCast = _allowAttack = false;
}
-void Combat::writeBottomText(int x, int line, const Common::String &msg) {
- writeString(x, (line + 19) * LINE_H, msg);
+void Combat::writeBottomText(int x, int line, const Common::String &msg,
+ TextAlign align) {
+ writeString(x, (line + 19) * LINE_H, msg, align);
}
#define BTN_SIZE 10
@@ -919,6 +921,13 @@ void Combat::setOption(SelectedOption option) {
KeybindingMode::KBMODE_PARTY_MENUS :
KeybindingMode::KBMODE_MENUS);
_option = option;
+
+ clearButtons();
+ if (option != OPTION_NONE) {
+ addButton(&g_globals->_escSprites, Common::Point(0, 164),
+ 0, KEYBIND_ESCAPE);
+ }
+
redraw();
}
diff --git a/engines/mm/mm1/views_enh/combat.h b/engines/mm/mm1/views_enh/combat.h
index db721f2c497..6d673c81a1a 100644
--- a/engines/mm/mm1/views_enh/combat.h
+++ b/engines/mm/mm1/views_enh/combat.h
@@ -34,7 +34,6 @@ private:
// TODO: Stuff to refactor
void writeSpaces(int count) { error("TODO"); }
void clearLines(int y1, int y2) { error("TODO"); }
- void escToGoBack(int x, int y) { error("TODO"); }
private:
LineArray _monsterSpellLines;
@@ -62,7 +61,8 @@ private:
void clearBottom();
void clearArea(const Common::Rect &r);
void resetBottom();
- void writeBottomText(int x, int line, const Common::String &msg);
+ void writeBottomText(int x, int line, const Common::String &msg,
+ TextAlign align = ALIGN_LEFT);
Common::Rect getOptionButtonRect(uint col, uint row);
void writeOption(uint col, uint row, char c, const Common::String &msg);
Commit: 1c9db43757dbb70d815920b15d0a2808a920f624
https://github.com/scummvm/scummvm/commit/1c9db43757dbb70d815920b15d0a2808a920f624
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-03-27T19:58:44-07:00
Commit Message:
MM: MM1: Clicking in the monster list can select targets
Changed paths:
engines/mm/mm1/views_enh/combat.cpp
diff --git a/engines/mm/mm1/views_enh/combat.cpp b/engines/mm/mm1/views_enh/combat.cpp
index 91bd94496ce..483afe257bf 100644
--- a/engines/mm/mm1/views_enh/combat.cpp
+++ b/engines/mm/mm1/views_enh/combat.cpp
@@ -358,18 +358,37 @@ bool Combat::msgMouseUp(const MouseUpMessage &msg) {
KEYBIND_COMBAT_SHOOT, KEYBIND_COMBAT_CAST
};
- for (int col = 0; col < 3; ++col) {
- for (int row = 0; row < 3; ++row) {
- if (col != 2 || row != 2) {
- Common::Rect r = getOptionButtonRect(col, row);
- if (r.contains(msg._pos)) {
- msgAction(ActionMessage(BTN_ACTIONS[col * 3 + row]));
- return true;
+ if (_mode == SELECT_OPTION && _option == OPTION_NONE) {
+ // Check for option buttons being pressed
+ for (int col = 0; col < 3; ++col) {
+ for (int row = 0; row < 3; ++row) {
+ if (col != 2 || row != 2) {
+ Common::Rect r = getOptionButtonRect(col, row);
+ if (r.contains(msg._pos)) {
+ msgAction(ActionMessage(BTN_ACTIONS[col * 3 + row]));
+ return true;
+ }
}
}
}
}
+ if (_mode == SELECT_OPTION && (_option == OPTION_SHOOT ||
+ _option == OPTION_FIGHT)) {
+ // Check for entries in the monster list being pressed
+ if (msg._pos.x >= MONSTERS_X && msg._pos.x < 310
+ && msg._pos.y >= _innerBounds.top && msg._pos.y < 100) {
+ uint monsterNum = (msg._pos.y - _innerBounds.top) / LINE_H;
+ if (monsterNum < _remainingMonsters.size()) {
+ char c = 'a' + monsterNum;
+ msgKeypress(KeypressMessage(Common::KeyState(
+ (Common::KeyCode)(Common::KEYCODE_a + (c - 'a')), c
+ )));
+ return true;
+ }
+ }
+ }
+
return ScrollView::msgMouseUp(msg);
}
@@ -599,6 +618,7 @@ void Combat::writePartyNumbers() {
void Combat::writeMonsters() {
Common::String mStr = "A)";
setReduced(true);
+ clearArea(Common::Rect(MONSTERS_X, 0, 320, 100));
for (int i = 0; i < (int)_remainingMonsters.size(); ++i) {
writeString(MONSTERS_X, i * LINE_H, (i < _attackersCount) ? "+" : " ");
Commit: 07754db1aa0d30b3985040a7b6d4db61d5eb68b0
https://github.com/scummvm/scummvm/commit/07754db1aa0d30b3985040a7b6d4db61d5eb68b0
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-03-27T20:43:00-07:00
Commit Message:
MM: MM1: Added which character view for combat exchanges
Changed paths:
devtools/create_mm/files/mm1/strings_en.yml
engines/mm/mm1/views_enh/combat.cpp
engines/mm/mm1/views_enh/which_character.cpp
engines/mm/mm1/views_enh/which_character.h
diff --git a/devtools/create_mm/files/mm1/strings_en.yml b/devtools/create_mm/files/mm1/strings_en.yml
index 708524deecc..ca5e43f0037 100644
--- a/devtools/create_mm/files/mm1/strings_en.yml
+++ b/devtools/create_mm/files/mm1/strings_en.yml
@@ -399,7 +399,7 @@ dialogs:
set_delay: "Set delay (0-9):"
delay_currently: "(currently= %d)"
infiltration: "infiltrates the ranks!"
- exchange_places: "exchange places with (1-%c)?"
+ exchange_places: "Exchange places with (1-%c)?"
status:
0: "(paralyze)"
1: "(webbed) "
@@ -595,6 +595,7 @@ enhdialogs:
exit: "Exit"
go_back: "Go back"
no_items: "Inventory empty"
+ exchange: "Exchange with whom?"
quickref:
title: "Quick Reference Chart"
headers:
diff --git a/engines/mm/mm1/views_enh/combat.cpp b/engines/mm/mm1/views_enh/combat.cpp
index 483afe257bf..f6742f0440d 100644
--- a/engines/mm/mm1/views_enh/combat.cpp
+++ b/engines/mm/mm1/views_enh/combat.cpp
@@ -99,6 +99,12 @@ bool Combat::msgGame(const GameMessage &msg) {
setMode(SPELL_RESULT);
return true;
+
+ } else if (msg._name == "EXCHANGE" && msg._value != -1) {
+ int charNum = msg._value;
+ if (g_globals->_combatParty[charNum] != g_globals->_currCharacter)
+ exchangeWith(charNum);
+ return true;
}
return false;
@@ -942,13 +948,20 @@ void Combat::setOption(SelectedOption option) {
KeybindingMode::KBMODE_MENUS);
_option = option;
- clearButtons();
- if (option != OPTION_NONE) {
- addButton(&g_globals->_escSprites, Common::Point(0, 164),
- 0, KEYBIND_ESCAPE);
- }
+ if (option == OPTION_EXCHANGE) {
+ // Show the view to select which character
+ _option = OPTION_NONE;
+ addView("WhichCharacter");
- redraw();
+ } else {
+ clearButtons();
+ if (option != OPTION_NONE) {
+ addButton(&g_globals->_escSprites, Common::Point(0, 164),
+ 0, KEYBIND_ESCAPE);
+ }
+
+ redraw();
+ }
}
void Combat::displaySpellResult(const InfoMessage &msg) {
diff --git a/engines/mm/mm1/views_enh/which_character.cpp b/engines/mm/mm1/views_enh/which_character.cpp
index 4dc1856d429..88bdb6d5896 100644
--- a/engines/mm/mm1/views_enh/which_character.cpp
+++ b/engines/mm/mm1/views_enh/which_character.cpp
@@ -20,6 +20,7 @@
*/
#include "mm/mm1/views_enh/which_character.h"
+#include "mm/mm1/views_enh/combat.h"
#include "mm/mm1/globals.h"
namespace MM {
@@ -32,15 +33,27 @@ WhichCharacter::WhichCharacter() : PartyView("WhichCharacter") {
}
void WhichCharacter::draw() {
+ if (dynamic_cast<Combat *>(g_events->priorView()) != nullptr) {
+ // For combat view, draw a frame that the party view will be inside
+ const Common::Rect old = _bounds;
+ _bounds = Common::Rect(0, 144, 320, 200);
+ frame();
+ fill();
+
+ _bounds = old;
+ g_events->send("GameParty", GameMessage("CHAR_HIGHLIGHT", (int)true));
+ }
+
PartyView::draw();
- writeString(10, 5, STRING["enhdialogs.trade.dest"]);
+ writeString(10, 5, STRING[g_events->isInCombat() ?
+ "enhdialogs.misc.exchange" : "enhdialogs.trade.dest"]);
}
bool WhichCharacter::msgAction(const ActionMessage &msg) {
switch (msg._action) {
case KEYBIND_ESCAPE:
close();
- send("CharacterInventory", GameMessage("TRADE_DEST", -1));
+ selectCharacter(-1);
return true;
case KEYBIND_VIEW_PARTY1:
@@ -52,7 +65,7 @@ bool WhichCharacter::msgAction(const ActionMessage &msg) {
uint charNum = msg._action - KEYBIND_VIEW_PARTY1;
if (charNum < g_globals->_party.size()) {
close();
- send("CharacterInventory", GameMessage("TRADE_DEST", charNum));
+ selectCharacter(charNum);
}
return true;
}
@@ -62,6 +75,14 @@ bool WhichCharacter::msgAction(const ActionMessage &msg) {
}
}
+void WhichCharacter::selectCharacter(int charNum) {
+ if (dynamic_cast<Combat *>(g_events->focusedView()) != nullptr) {
+ send("Combat", GameMessage("EXCHANGE", charNum));
+ } else {
+ send("CharacterInventory", GameMessage("TRADE_DEST", charNum));
+ }
+}
+
} // namespace ViewsEnh
} // namespace MM1
} // namespace MM
diff --git a/engines/mm/mm1/views_enh/which_character.h b/engines/mm/mm1/views_enh/which_character.h
index 2dad8e8091d..d8daa79d78d 100644
--- a/engines/mm/mm1/views_enh/which_character.h
+++ b/engines/mm/mm1/views_enh/which_character.h
@@ -30,6 +30,9 @@ namespace MM1 {
namespace ViewsEnh {
class WhichCharacter : public PartyView {
+private:
+ void selectCharacter(int charNum);
+
public:
WhichCharacter();
virtual ~WhichCharacter() {}
Commit: 186bfe2755d842bac20c4bd3111ea7cee4e0c823
https://github.com/scummvm/scummvm/commit/186bfe2755d842bac20c4bd3111ea7cee4e0c823
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-03-27T21:04:53-07:00
Commit Message:
MM: MM1: Fix combat attack messages
Changed paths:
engines/mm/mm1/views_enh/combat.cpp
diff --git a/engines/mm/mm1/views_enh/combat.cpp b/engines/mm/mm1/views_enh/combat.cpp
index f6742f0440d..aa05f4bac5c 100644
--- a/engines/mm/mm1/views_enh/combat.cpp
+++ b/engines/mm/mm1/views_enh/combat.cpp
@@ -766,8 +766,8 @@ void Combat::writeMonsterAttack() {
attackStyle.c_str(),
c._name
);
- writeString(0, 20, line);
- writeString(0, 21, getAttackString());
+ writeBottomText(0, 0, line);
+ writeBottomText(0, 1, getAttackString());
if (_damage) {
// Attacks wake up sleeping characters
@@ -778,13 +778,13 @@ void Combat::writeMonsterAttack() {
// This returns a text line to display, and can also
// adjust the damage amount. Another reason why we
// can't actually apply damage until here
- int yp = 22;
+ int yp = 2;
if (monsterTouch(line))
- writeString(0, yp++, line);
+ writeBottomText(0, yp++, line);
Common::String damageStr = subtractDamageFromChar();
if (!damageStr.empty())
- writeString(0, yp, damageStr);
+ writeBottomText(0, yp, damageStr);
}
}
@@ -869,7 +869,7 @@ void Combat::writeMessage() {
void Combat::writeCharAttackDamage() {
resetBottom();
- writeString(0, 20, Common::String::format("%s %s %s",
+ writeBottomText(0, 0, Common::String::format("%s %s %s",
g_globals->_currCharacter->_name,
STRING[_isShooting ? "dialogs.combat.shoots" :
"dialogs.combat.attacks"].c_str(),
@@ -877,10 +877,10 @@ void Combat::writeCharAttackDamage() {
));
_isShooting = false;
- writeString(0, 21, getAttackString());
+ writeBottomText(0, 1, getAttackString());
if (_monsterP->_status == MONFLAG_DEAD) {
- writeString(0, 22, Common::String::format("%s %s",
+ writeBottomText(0, 2, Common::String::format("%s %s",
_monsterP->_name.c_str(),
STRING["dialogs.combat.goes_down"].c_str()));
}
Commit: 9ec204bbb0f882a6e4625d0b75a97cebc638f37e
https://github.com/scummvm/scummvm/commit/9ec204bbb0f882a6e4625d0b75a97cebc638f37e
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-03-27T21:26:30-07:00
Commit Message:
MM: MM1: Fix display of a bunch of other text
Changed paths:
engines/mm/mm1/views_enh/combat.cpp
diff --git a/engines/mm/mm1/views_enh/combat.cpp b/engines/mm/mm1/views_enh/combat.cpp
index aa05f4bac5c..109ae860eac 100644
--- a/engines/mm/mm1/views_enh/combat.cpp
+++ b/engines/mm/mm1/views_enh/combat.cpp
@@ -119,7 +119,7 @@ void Combat::draw() {
delaySeconds(1);
return;
case MONSTER_ADVANCES:
- writeString(0, 20, _monsterName);
+ writeBottomText(0, 0, _monsterName);
writeString(STRING["dialogs.combat.advances"]);
writeSpaces(30);
writeRound();
@@ -463,9 +463,8 @@ void Combat::writeAllOptions() {
}
void Combat::writeDelaySelect() {
- error("TODO: delay select");
- writeString(0, 20, STRING["dialogs.combat.set_delay"]);
- writeString(0, 23, Common::String::format(
+ writeBottomText(0, 0, STRING["dialogs.combat.set_delay"]);
+ writeBottomText(0, 3, Common::String::format(
STRING["dialogs.combat.delay_currently"].c_str(),
g_globals->_delay));
}
@@ -794,7 +793,7 @@ void Combat::writeInfiltration() {
STRING["dialogs.combat.infiltration"].c_str());
resetBottom();
- writeString(0, 20, line);
+ writeBottomText(0, 0, line);
Sound::sound(SOUND_2);
Sound::sound(SOUND_2);
}
@@ -806,13 +805,13 @@ void Combat::writeWaitsForOpening() {
);
resetBottom();
- writeString(0, 20, line);
+ writeBottomText(0, 0, line);
}
void Combat::writeSpellResult() {
for (uint i = 0; i < _spellResult._lines.size(); ++i) {
const Line &l = _spellResult._lines[i];
- writeString(l.x, l.y + 20, l._text);
+ writeBottomText(l.x, l.y, l._text);
}
}
@@ -889,7 +888,7 @@ void Combat::writeCharAttackDamage() {
void Combat::writeCharAttackNoEffect() {
resetBottom();
- writeString(0, 20, Common::String::format("%s %s %s",
+ writeBottomText(0, 0, Common::String::format("%s %s %s",
g_globals->_currCharacter->_name,
STRING[_isShooting ? "dialogs.combat.shoots" :
"dialogs.combat.attacks"].c_str(),
@@ -897,7 +896,7 @@ void Combat::writeCharAttackNoEffect() {
));
_isShooting = false;
- writeString(0, 21, STRING["dialogs.combat.weapon_no_effect"]);
+ writeBottomText(0, 1, STRING["dialogs.combat.weapon_no_effect"]);
}
Common::String Combat::getAttackString() {
Commit: 8e2f6b662d7f3312c35b7b32cde2014e856a0af0
https://github.com/scummvm/scummvm/commit/8e2f6b662d7f3312c35b7b32cde2014e856a0af0
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-03-27T21:27:13-07:00
Commit Message:
MM: MM1: Fix hotizontal alignment of ) chars in party list
Changed paths:
engines/mm/mm1/views_enh/combat.cpp
diff --git a/engines/mm/mm1/views_enh/combat.cpp b/engines/mm/mm1/views_enh/combat.cpp
index 109ae860eac..ca5b82f4e87 100644
--- a/engines/mm/mm1/views_enh/combat.cpp
+++ b/engines/mm/mm1/views_enh/combat.cpp
@@ -678,13 +678,13 @@ void Combat::writeParty() {
for (uint i = 0; i < g_globals->_combatParty.size(); ++i) {
const Character &c = *g_globals->_combatParty[i];
- writeString(160 * (i % 2), (15 + (i / 2)) * LINE_H,
- Common::String::format("%c%c) %s",
- (c._condition == 0) ? ' ' : '*',
- '1' + i,
- c._name
- )
- );
+ const int x = 160 * (i % 2);
+ const int y = (15 + (i / 2)) * LINE_H;
+
+ writeChar(x, y, (c._condition == 0) ? ' ' : '*');
+ writeString(x + 15, y, Common::String::format("%c)", '1' + i), ALIGN_RIGHT);
+ writeChar(' ');
+ writeString(c._name);
}
}
More information about the Scummvm-git-logs
mailing list