[Scummvm-cvs-logs] scummvm master -> d7112b5bbc17e80065534d5308f24ea0fefeedaf

wjp wjp at usecode.org
Sun Feb 27 15:53:38 CET 2011


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:
d7112b5bbc SCI: Remove kDoBresen special case for SCI_VERSION_1_EGA_ONLY


Commit: d7112b5bbc17e80065534d5308f24ea0fefeedaf
    https://github.com/scummvm/scummvm/commit/d7112b5bbc17e80065534d5308f24ea0fefeedaf
Author: Willem Jan Palenstijn (wjp at usecode.org)
Date: 2011-02-27T06:52:19-08:00

Commit Message:
SCI: Remove kDoBresen special case for SCI_VERSION_1_EGA_ONLY

Confirmed with QfG2 disassembly (the only 1_EGA_ONLY game)
that it behaves the same as SCI_VERSION_1_EARLY games, except
for the uninitialized read already mentioned in kDoBresen.

Changed paths:
    engines/sci/engine/kmovement.cpp



diff --git a/engines/sci/engine/kmovement.cpp b/engines/sci/engine/kmovement.cpp
index bc22397..392db56 100644
--- a/engines/sci/engine/kmovement.cpp
+++ b/engines/sci/engine/kmovement.cpp
@@ -374,17 +374,10 @@ reg_t kDoBresen(EngineState *s, int argc, reg_t *argv) {
 		writeSelectorValue(segMan, mover, SELECTOR(b_i2), mover_i2);
 		writeSelectorValue(segMan, mover, SELECTOR(b_di), mover_di);
 
-		if (getSciVersion() == SCI_VERSION_1_EGA_ONLY) {
-			// We need to compare directly in here, complete may have happened during
-			//  the current move
-			if ((client_x == mover_x) && (client_y == mover_y))
-				invokeSelector(s, mover, SELECTOR(moveDone), argc, argv);
-		}
-
-		if (getSciVersion() >= SCI_VERSION_1_EARLY) {
-			// This calling code here was right before the last return in
-			//  sci1ega and got changed to this position since sci1early
-			//  this was an uninitialized issue in sierra sci
+		if (getSciVersion() >= SCI_VERSION_1_EGA_ONLY) {
+			// In sci1egaonly this block of code was outside of the main if,
+			// but client_x/client_y aren't set there, so it was an
+			// uninitialized read in SSCI. (This issue was fixed in sci1early.)
 			if (handleMoveCount)
 				writeSelectorValue(segMan, mover, SELECTOR(b_movCnt), mover_moveCnt);
 			// We need to compare directly in here, complete may have happened during






More information about the Scummvm-git-logs mailing list