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

kelmer44 noreply at scummvm.org
Fri Oct 3 12:01:36 UTC 2025


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:
a22aea0fb9 TOT: Fixes on original save/load screen


Commit: a22aea0fb97ac8250594b86010680b186a1c8a7d
    https://github.com/scummvm/scummvm/commit/a22aea0fb97ac8250594b86010680b186a1c8a7d
Author: kelmer (kelmer at gmail.com)
Date: 2025-10-03T14:01:32+02:00

Commit Message:
TOT: Fixes on original save/load screen

Changed paths:
    engines/tot/engine.cpp
    engines/tot/saveload.cpp
    engines/tot/tot.cpp


diff --git a/engines/tot/engine.cpp b/engines/tot/engine.cpp
index 8d59903b1f2..11bc5e2beeb 100644
--- a/engines/tot/engine.cpp
+++ b/engines/tot/engine.cpp
@@ -4835,7 +4835,7 @@ void TotEngine::readAlphaGraphSmall(
 	bool removeCaret = false;
 	if (startChar != 0) {
 		output.append(1, startChar);
-		output.toUppercase();
+
 		pun += 1;
 		bar(posx, (posy + 2), (posx + length * 6), (posy + 9), barColor);
 		euroText(posx, posy, output, textColor);
@@ -4866,7 +4866,7 @@ void TotEngine::readAlphaGraphSmall(
 					bar((posx + (output.size()) * 6), (posy + 2), (posx + (output.size() + 1) * 6), (posy + 9), barColor);
 				} else if (asciiCode == 8 && pun > 1) {
 					output = output.substr(0, output.size() - 1);
-					output.toUppercase();
+
 					bar(posx, (posy + 2), (posx + length * 6), (posy + 9), barColor);
 					euroText(posx, posy, output, textColor);
 					euroText((posx + (output.size()) * 6), posy, "-", textColor);
@@ -4882,7 +4882,7 @@ void TotEngine::readAlphaGraphSmall(
 				} else {
 					pun += 1;
 					output = output + (char)e.kbd.ascii;
-					output.toUppercase();
+
 					bar(posx, (posy + 2), (posx + length * 6), (posy + 9), barColor);
 					euroText(posx, posy, output, textColor);
 					euroText((posx + (output.size()) * 6), posy, "-", textColor);
diff --git a/engines/tot/saveload.cpp b/engines/tot/saveload.cpp
index b1af19f78cb..5ae74696098 100644
--- a/engines/tot/saveload.cpp
+++ b/engines/tot/saveload.cpp
@@ -586,9 +586,15 @@ Common::String drawAndSelectSaves(Common::StringArray saves, uint selectedGame)
 			euroText(65, 29 + (i * 15), availableText, color);
 		}
 	}
+
+	ExtendedSavegameHeader header;
+
+	Common::InSaveFile *in = g_system->getSavefileManager()->openForLoading(saves[selectedGame]);
+	bool result = g_engine->getMetaEngine()->readSavegameHeader(in, &header, true);
+
 	g_engine->_mouse->show();
 	if (selectedGame < saves.size())
-		return saves[selectedGame];
+		return result ? header.description.c_str() : saves[selectedGame].c_str();
 	else
 		return "";
 }
@@ -651,7 +657,7 @@ void TotEngine::originalSaveLoadScreen() {
 
 		if (mouseClicked) {
 			if (_mouse->mouseY >= 13 && _mouse->mouseY <= 16) {
-				if (_mouse->mouseX >= 54 && _mouse->mouseX <= 124) {
+				if (_mouse->mouseX >= 54 && _mouse->mouseX <= 124) { // Save
 					if (selectedGame && _saveAllowed && saveName != "") {
 						saveGameState(selectedGame, saveName, false);
 						_graphics->putImg(50, 10, menuBgPointer);
@@ -661,7 +667,7 @@ void TotEngine::originalSaveLoadScreen() {
 						_sound->beep(100, 300);
 					}
 				} else if (_mouse->mouseX >= 130 && _mouse->mouseX <= 194) {
-					if (selectedGame && !modified) {
+					if (selectedGame >= 0 && !modified) { // Load
 						if (selectedGame < saves.size()) {
 							_mouse->hide();
 							_graphics->putImg(50, 10, menuBgPointer);
@@ -695,7 +701,7 @@ void TotEngine::originalSaveLoadScreen() {
 						saveName = drawAndSelectSaves(saves, selectedGame);
 						_mouse->show();
 					}
-				} else if (_mouse->mouseClickX >= 200 && _mouse->mouseClickX <= 250) {
+				} else if (_mouse->mouseClickX >= 200 && _mouse->mouseClickX <= 250) { // Exit
 					if (_inGame && _saveAllowed) {
 						_graphics->putImg(50, 10, menuBgPointer);
 						exitSaveLoadMenu = true;
diff --git a/engines/tot/tot.cpp b/engines/tot/tot.cpp
index 5f89b84236c..60769aac765 100644
--- a/engines/tot/tot.cpp
+++ b/engines/tot/tot.cpp
@@ -424,7 +424,7 @@ int TotEngine::startGame() {
 		processEvents(escapePressed);
 		checkMouseGrid();
 		advanceAnimations(false, true);
-
+		if(shouldQuit()) break;
 		// Scene changes
 		if (_xframe2 == 0 && _roomChange) {
 			changeRoom();




More information about the Scummvm-git-logs mailing list