[Scummvm-git-logs] scummvm branch-2-9 -> dcefad88690c91e681355827dad62ec0386bf334

AndywinXp noreply at scummvm.org
Wed Nov 20 21:12:49 UTC 2024


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

Summary:
aba5523482 SCUMM: DOTT: Partial fix for hotspots being unclickable after load
dcefad8869 SCUMM: DOTT: Disable copy protection


Commit: aba55234820ef2b0b613142eac20234c1ffa7368
    https://github.com/scummvm/scummvm/commit/aba55234820ef2b0b613142eac20234c1ffa7368
Author: AndywinXp (andywinxp at gmail.com)
Date: 2024-11-20T22:12:41+01:00

Commit Message:
SCUMM: DOTT: Partial fix for hotspots being unclickable after load

Related to ticket #15404.

Changed paths:
    engines/scumm/saveload.cpp


diff --git a/engines/scumm/saveload.cpp b/engines/scumm/saveload.cpp
index 3ceb1023a89..11cc8afd51d 100644
--- a/engines/scumm/saveload.cpp
+++ b/engines/scumm/saveload.cpp
@@ -1335,7 +1335,6 @@ bool ScummEngine::changeSavegameName(int slot, char *newName) {
 
 void ScummEngine::saveLoadWithSerializer(Common::Serializer &s) {
 	int i;
-	int var120Backup;
 	int var98Backup;
 	uint8 md5Backup[16];
 
@@ -1921,7 +1920,14 @@ void ScummEngine::saveLoadWithSerializer(Common::Serializer &s) {
 	//
 	// Save/load script variables
 	//
-	var120Backup = _scummVars[120];
+
+	// From disasm...
+	int32 dottVarsBackup[5];
+	if (_game.id == GID_TENTACLE) {
+		for (int j = 0; j < 5; j++)
+			dottVarsBackup[j] = _scummVars[120 + j];
+	}
+
 	var98Backup = _scummVars[98];
 
 	s.syncArray(_roomVars, _numRoomVariables, Common::Serializer::Sint32LE, VER(38));
@@ -1952,8 +1958,14 @@ void ScummEngine::saveLoadWithSerializer(Common::Serializer &s) {
 		}
 	}
 
-	if (_game.id == GID_TENTACLE)	// Maybe misplaced, but that's the main idea
-		_scummVars[120] = var120Backup;
+	// This is again from disasm...
+	if (_game.id == GID_TENTACLE) {	
+		for (int j = 0; j < 5; j++)
+			_scummVars[120 + j] = dottVarsBackup[j];
+
+		_scummVars[70] = 1;
+	}
+
 	if (_game.id == GID_INDY4)
 		_scummVars[98] = var98Backup;
 


Commit: dcefad88690c91e681355827dad62ec0386bf334
    https://github.com/scummvm/scummvm/commit/dcefad88690c91e681355827dad62ec0386bf334
Author: AndywinXp (andywinxp at gmail.com)
Date: 2024-11-20T22:12:41+01:00

Commit Message:
SCUMM: DOTT: Disable copy protection

This inherently fixes ticket #15404.
"SCUMM: DOTT: nothing clickable after loading save game"

The game will still break if _copyProtection is true,
but at least we can declare the blocker issue as gone.

Changed paths:
    engines/scumm/scumm.cpp


diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index 19df7a7aa19..b672013b3a8 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -1439,6 +1439,11 @@ Common::Error ScummEngine::init() {
 	resetScumm();
 	resetScummVars();
 
+	if (!_copyProtection && _game.id == GID_TENTACLE) {
+		VAR(124) = 1;
+		_bitVars[352 >> 3] |= (1 << (352 & 7));
+	}
+
 	if (_game.version >= 5 && _game.version <= 7 && _game.id != GID_DIG) {
 		_sound->setupSound();
 		// In case of talkie edition without sfx file, enable subtitles




More information about the Scummvm-git-logs mailing list