[Scummvm-git-logs] scummvm master -> 9aae6fa756d914cecf17ee504c9ab0de4cab204d

kelmer44 noreply at scummvm.org
Tue Oct 7 07:39:04 UTC 2025


This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
ea0ee03bcf TOT: Initializes movement grids. PVS-Studio: V730
ff0e1c2bd2 TOT: Coalesce switch conditions. PVS-Studio: V1037
9aae6fa756 TOT: Amend depth check condition. PVS-Studio: V781


Commit: ea0ee03bcfb1adb9572f8fc0536e0cb9e8fa631f
    https://github.com/scummvm/scummvm/commit/ea0ee03bcfb1adb9572f8fc0536e0cb9e8fa631f
Author: kelmer (kelmer at gmail.com)
Date: 2025-10-07T06:57:24+02:00

Commit Message:
TOT: Initializes movement grids. PVS-Studio: V730

Changed paths:
    engines/tot/tot.cpp


diff --git a/engines/tot/tot.cpp b/engines/tot/tot.cpp
index 74d88f75aca..8b5b3e90d07 100644
--- a/engines/tot/tot.cpp
+++ b/engines/tot/tot.cpp
@@ -60,6 +60,19 @@ TotEngine::TotEngine(OSystem *syst, const ADGameDescription *gameDesc) : Engine(
 			_secondaryAnimation.bitmap[dir][frame] = nullptr;
 		}
 	}
+	for (int i = 0; i < 2; i++) {
+		for (int j = 0; j < 4; j++) {
+			_niche[i][j] = 0;
+		}
+	}
+	for (int i = 0; i < 10; i++) {
+		for (int j = 0; j < 10; j++) {
+			_movementGridForSecondaryAnim[i][j] = 0;
+			_mouseGridForSecondaryAnim[i][j] = 0;
+			_maskGridSecondaryAnim[i][j] = 0;
+			_maskMouseSecondaryAnim[i][j] = 0;
+		}
+	}
 }
 
 TotEngine::~TotEngine() {


Commit: ff0e1c2bd204141e5e9df6bf8de84ad3c24221ec
    https://github.com/scummvm/scummvm/commit/ff0e1c2bd204141e5e9df6bf8de84ad3c24221ec
Author: kelmer (kelmer at gmail.com)
Date: 2025-10-07T07:06:39+02:00

Commit Message:
TOT: Coalesce switch conditions. PVS-Studio: V1037

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


diff --git a/engines/tot/anims.cpp b/engines/tot/anims.cpp
index 4f3b19be9ca..8566cbb07c0 100644
--- a/engines/tot/anims.cpp
+++ b/engines/tot/anims.cpp
@@ -128,6 +128,8 @@ void handleFlcEvent(byte eventNumber, uint loopNumber, byte frameCount) {
 				break;
 			// English only
 			case 40:
+			case 73:
+			case 82:
 				if (isEnglish) {
 					clearCharacterText();
 				}
@@ -138,14 +140,13 @@ void handleFlcEvent(byte eventNumber, uint loopNumber, byte frameCount) {
 				}
 				break;
 			case 47:
+			case 59:
+			case 102:
 				clearCharacterText();
 				break;
 			case 48:
 				drawCharacterText(messages[20], messages[21], messages[22], messages[23], messages[24]);
 				break;
-			case 59:
-				clearCharacterText();
-				break;
 			case 60:
 				drawTvText(messages[25], messages[26], messages[27], messages[28], messages[29]);
 				break;
@@ -153,6 +154,7 @@ void handleFlcEvent(byte eventNumber, uint loopNumber, byte frameCount) {
 				drawCharacterText(messages[30], messages[31], messages[32], messages[33], messages[34]);
 				break;
 			case 70:
+			case 80:
 				if (isEnglish) {
 					clearTvText();
 				}
@@ -162,11 +164,6 @@ void handleFlcEvent(byte eventNumber, uint loopNumber, byte frameCount) {
 					drawTvText(messages[255], messages[256], messages[257], messages[258], messages[259]);
 				}
 				break;
-			case 73:
-				if (isEnglish) {
-					clearCharacterText();
-				}
-				break;
 			case 74:
 				if (isEnglish) {
 					debug(3, "Showing character text in English: %s\n", messages[35]);
@@ -179,6 +176,7 @@ void handleFlcEvent(byte eventNumber, uint loopNumber, byte frameCount) {
 				}
 				break;
 			case 75:
+			case 89:
 				if (isSpanish) {
 					clearCharacterText();
 				}
@@ -193,27 +191,11 @@ void handleFlcEvent(byte eventNumber, uint loopNumber, byte frameCount) {
 					drawCharacterText(messages[35], messages[36], messages[37], messages[38], messages[39]);
 				}
 				break;
-
-			case 80:
-				if (isEnglish) {
-					clearTvText();
-				}
-				break;
-			case 82:
-				if (isEnglish) {
-					clearCharacterText();
-				}
-				break;
 			case 83:
 				if (isEnglish) {
 					drawCharacterText(messages[260], messages[261], messages[262], messages[263], messages[264]);
 				}
 				break;
-			case 89:
-				if (isSpanish) {
-					clearCharacterText();
-				}
-				break;
 			case 90:
 				if (isSpanish) {
 					drawCharacterText(messages[40], messages[41], messages[42], messages[43], messages[44]);
@@ -226,10 +208,6 @@ void handleFlcEvent(byte eventNumber, uint loopNumber, byte frameCount) {
 					drawCharacterText(messages[40], messages[41], messages[42], messages[43], messages[44]);
 				}
 				break;
-
-			case 102:
-				clearCharacterText();
-				break;
 			case 103:
 				drawTvText(messages[45], messages[46], messages[47], messages[48], messages[49]);
 				break;
diff --git a/engines/tot/engine.cpp b/engines/tot/engine.cpp
index dbdd435908b..5aef271aa0c 100644
--- a/engines/tot/engine.cpp
+++ b/engines/tot/engine.cpp
@@ -1483,20 +1483,18 @@ void TotEngine::pickupScreenObject() {
 		} break;
 		case 1: { // Waist level
 			switch (_curObject->code) {
-			case 218: { // Necronomicon
+			case 218: // Necronomicon
+			case 308: // Mistletoe
+			case 517: // mints
 				animatePickup1(0, 1);
 				animatePickup2(0, 1);
-			} break;
+			 break;
 			case 223: { // table cloths
 				animatePickup1(0, 1);
 				_currentRoomData->screenObjectIndex[_currentRoomData->mouseGrid[correctedMouseX][correctedMouseY]]->fileIndex = _curObject->replaceWith;
 				updateVideo();
 				animatePickup2(0, 1);
 			} break;
-			case 308: { // Mistletoe
-				animatePickup1(0, 1);
-				animatePickup2(0, 1);
-			} break;
 			case 402: { // Kitchen table
 				animatePickup1(0, 1);
 				updateVideo();
@@ -1506,10 +1504,6 @@ void TotEngine::pickupScreenObject() {
 				animatePickup1(3, 1);
 				animatePickup2(3, 1);
 			} break;
-			case 517: { // mints
-				animatePickup1(0, 1);
-				animatePickup2(0, 1);
-			} break;
 			case 521: { // Puts plaster and key on the floor
 				animatePickup1(0, 1);
 				{
@@ -3860,11 +3854,12 @@ void TotEngine::sayLine(
 		posy = 2;
 		width = 30;
 	} break;
-	case 8: { // patch
+	case 8:  // patch
+	case 21: // p4
 		posx = 10;
 		posy = 100;
 		width = 50;
-	} break;
+		break;
 	case 10: { // well
 		posx = 10;
 		posy = 2;
@@ -3885,11 +3880,6 @@ void TotEngine::sayLine(
 		posy = 2;
 		width = 30;
 	} break;
-	case 21: { // p4
-		posx = 10;
-		posy = 100;
-		width = 50;
-	} break;
 	case 23: { // fountain
 		posx = 10;
 		posy = 2;
@@ -4475,14 +4465,12 @@ void TotEngine::drawMenu(byte menuNumber) {
 		xmenu = 0;
 		ymenu = 150;
 	} break;
-	case 2: {
-		xmenu = 50;
-		ymenu = 10;
-	} break;
-	case 3: {
+	case 2:
+	case 3:
+	case 6:
 		xmenu = 50;
 		ymenu = 10;
-	} break;
+		break;
 	case 4: {
 		if (_cpCounter2 > 20)
 			showError(274);
@@ -4495,10 +4483,6 @@ void TotEngine::drawMenu(byte menuNumber) {
 		xmenu = 0;
 		ymenu = 150;
 	} break;
-	case 6: {
-		xmenu = 50;
-		ymenu = 10;
-	} break;
 	case 7: {
 		xmenu = 58;
 		ymenu = 48;


Commit: 9aae6fa756d914cecf17ee504c9ab0de4cab204d
    https://github.com/scummvm/scummvm/commit/9aae6fa756d914cecf17ee504c9ab0de4cab204d
Author: kelmer (kelmer at gmail.com)
Date: 2025-10-07T09:38:51+02:00

Commit Message:
TOT: Amend depth check condition. PVS-Studio: V781

Changed paths:
    engines/tot/engine.cpp


diff --git a/engines/tot/engine.cpp b/engines/tot/engine.cpp
index 5aef271aa0c..4783f291e68 100644
--- a/engines/tot/engine.cpp
+++ b/engines/tot/engine.cpp
@@ -3286,10 +3286,9 @@ void TotEngine::openScreenObject() {
 				animatePickup1(0, 1);
 				clearScreenLayer(_curObject->depth - 1);
 				yIndex = 0;
-				while (_currentRoomData->screenLayers[yIndex].depth != _curObject->depth && yIndex < 15) {
+				while (yIndex < 14 && _currentRoomData->screenLayers[yIndex].depth != _curObject->depth) {
 					yIndex++;
 				}
-				debug("changing bitmap at %d, with depth = %d", yIndex, _currentRoomData->screenLayers[yIndex].depth);
 				_currentRoomData->screenLayers[yIndex].bitmapPointer = 0;
 				_currentRoomData->screenLayers[yIndex].bitmapSize = 0;
 				_currentRoomData->screenLayers[yIndex].coordx = 0;




More information about the Scummvm-git-logs mailing list