[Scummvm-git-logs] scummvm master -> 11766609a8e06351cdbc59e033eb1048b0a440c1
dreammaster
noreply at scummvm.org
Sun Jan 18 07:49:49 UTC 2026
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
11766609a8 MM: MM1: Fix bugged monster names in combat
Commit: 11766609a8e06351cdbc59e033eb1048b0a440c1
https://github.com/scummvm/scummvm/commit/11766609a8e06351cdbc59e033eb1048b0a440c1
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-01-18T18:48:10+11:00
Commit Message:
MM: MM1: Fix bugged monster names in combat
This fixes #16460. It also contains some left over work from
the previous treasure items bugfix for the non-enhanced mode
that I forgot to include.
Changed paths:
NEWS.md
engines/mm/mm1/views/combat.cpp
engines/mm/mm1/views/search.cpp
engines/mm/mm1/views_enh/combat.cpp
diff --git a/NEWS.md b/NEWS.md
index 87d0ce47cc2..f08be6af4d9 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -3,6 +3,10 @@ For a more comprehensive changelog of the latest experimental code, see:
#### 2026.1.1 (2026-XX-XX)
+MM:
+ - Fixed M&M1 memory corruption on exit
+ - Fixed M&M1 display issues/corruption getting items from treasure chests
+ - Fixed M&M1 showing incorrect name for attacking monsters in combat
#### 2026.1.0 (2026-01-31)
diff --git a/engines/mm/mm1/views/combat.cpp b/engines/mm/mm1/views/combat.cpp
index 56eeb93118a..b753a6968d2 100644
--- a/engines/mm/mm1/views/combat.cpp
+++ b/engines/mm/mm1/views/combat.cpp
@@ -533,6 +533,7 @@ void Combat::writeMonsters() {
}
void Combat::writeMonsterStatus(int monsterNum) {
+ auto *currMonster = _monsterP;
_monsterP = _remainingMonsters[monsterNum];
monsterIndexOf();
byte statusBits = _remainingMonsters[monsterNum]->_status;
@@ -557,6 +558,8 @@ void Combat::writeMonsterStatus(int monsterNum) {
} else {
writeSpaces(40 - _textPos.x);
}
+
+ _monsterP = currMonster;
}
void Combat::writeDots() {
diff --git a/engines/mm/mm1/views/search.cpp b/engines/mm/mm1/views/search.cpp
index 117b682cce8..19946c44922 100644
--- a/engines/mm/mm1/views/search.cpp
+++ b/engines/mm/mm1/views/search.cpp
@@ -400,6 +400,7 @@ void Search::drawTreasure() {
void Search::drawItem() {
Treasure &treasure = g_globals->_treasure;
int itemId = treasure.removeItem();
+ _lineNum = 0;
// Iterate through any treasure items
if (itemId != 0) {
@@ -421,8 +422,13 @@ void Search::drawItem() {
item->_name.c_str()
));
- delaySeconds(2);
- return;
+ if (treasure.hasItems()) {
+ delaySeconds(2);
+ return;
+ } else {
+ // Finished final item, so go down below to switch to items done
+ break;
+ }
}
}
diff --git a/engines/mm/mm1/views_enh/combat.cpp b/engines/mm/mm1/views_enh/combat.cpp
index 084fbde874d..ef0801c4d92 100644
--- a/engines/mm/mm1/views_enh/combat.cpp
+++ b/engines/mm/mm1/views_enh/combat.cpp
@@ -656,6 +656,7 @@ void Combat::writeMonsters() {
}
void Combat::writeMonsterStatus(int monsterNum) {
+ auto *currMonster = _monsterP;
_monsterP = _remainingMonsters[monsterNum];
monsterIndexOf();
byte statusBits = _remainingMonsters[monsterNum]->_status;
@@ -678,6 +679,8 @@ void Combat::writeMonsterStatus(int monsterNum) {
writeDots();
writeString(STRING["dialogs.combat.status.wounded"]);
}
+
+ _monsterP = currMonster;
}
void Combat::writeDots() {
More information about the Scummvm-git-logs
mailing list