[Scummvm-git-logs] scummvm master -> e28b3f09b1c02395ca51c264ccec22a00737d0f7

AndywinXp noreply at scummvm.org
Sun Mar 19 18:26:21 UTC 2023


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:
e28b3f09b1 SCUMM: GUI: Use correct heap message for some v6 games


Commit: e28b3f09b1c02395ca51c264ccec22a00737d0f7
    https://github.com/scummvm/scummvm/commit/e28b3f09b1c02395ca51c264ccec22a00737d0f7
Author: AndywinXp (andywinxp at gmail.com)
Date: 2023-03-19T19:26:15+01:00

Commit Message:
SCUMM: GUI: Use correct heap message for some v6 games

Changed paths:
    engines/scumm/dialogs.cpp
    engines/scumm/gfx_gui.cpp
    engines/scumm/input.cpp
    engines/scumm/scumm.h


diff --git a/engines/scumm/dialogs.cpp b/engines/scumm/dialogs.cpp
index 594825a933c..faf4b14dedb 100644
--- a/engines/scumm/dialogs.cpp
+++ b/engines/scumm/dialogs.cpp
@@ -190,7 +190,8 @@ static const ResString string_map_table_v6[] = {
 	{0, "Heap %dK"},
 	{0, "Recalibrating Joystick"},
 	{0, "Joystick Mode"}, // SAMNMAX Floppy
-	{0, "Mouse Mode"}
+	{0, "Mouse Mode"},
+	{0, "Heap %dK, ems %dK"} // Floppy versions
 };
 
 #pragma mark -
diff --git a/engines/scumm/gfx_gui.cpp b/engines/scumm/gfx_gui.cpp
index e1c2c600ce7..2574a893be5 100644
--- a/engines/scumm/gfx_gui.cpp
+++ b/engines/scumm/gfx_gui.cpp
@@ -3902,6 +3902,9 @@ const char *ScummEngine_v6::getGUIString(int stringId) {
 	case gsMouseMode:
 		resStringId = 38;
 		break;
+	case gsHeapExt:
+		resStringId = 39;
+		break;
 	default:
 		break;
 	}
diff --git a/engines/scumm/input.cpp b/engines/scumm/input.cpp
index cd756e6eb70..89fd33f315c 100644
--- a/engines/scumm/input.cpp
+++ b/engines/scumm/input.cpp
@@ -1091,7 +1091,15 @@ void ScummEngine::processKeyboard(Common::KeyState lastKeyHit) {
 
 
 		if (_game.version > 4 && lastKeyHit.keycode == Common::KEYCODE_k && lastKeyHit.hasFlags(Common::KBD_CTRL) && !isSegaCD) {
-			showBannerAndPause(0, 120, getGUIString(gsHeap), _res->getHeapSize() / 1024);
+			bool useExtendedMsg = _game.id == GID_TENTACLE ||
+				(_game.id == GID_SAMNMAX && (!strcmp(_game.variant, "Floppy") || (_game.features & GF_DEMO)));
+
+			if (useExtendedMsg && VAR_V6_EMSSPACE != 0xFF) {
+				showBannerAndPause(0, 120, getGUIString(gsHeapExt), _res->getHeapSize() / 1024, VAR(VAR_V6_EMSSPACE));
+			} else {
+				showBannerAndPause(0, 120, getGUIString(gsHeap), _res->getHeapSize() / 1024);
+			}
+
 			return;
 		}
 
diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h
index 8f795898a1c..5ed7899d572 100644
--- a/engines/scumm/scumm.h
+++ b/engines/scumm/scumm.h
@@ -471,6 +471,7 @@ enum GUIString {
 	gsInvalidPasscode = 59,
 	gsSlowFast = 60,
 	gsRestartGame = 61,
+	gsHeapExt = 62,
 };
 
 struct InternalGUIControl {




More information about the Scummvm-git-logs mailing list