[Scummvm-cvs-logs] CVS: scummvm-new/scumm saveload.cpp,1.2,1.3 script.cpp,1.1.1.1,1.2 scumm.h,1.3,1.4 script_v2.cpp,1.2,1.3

Ralph Brorsen painelf at users.sourceforge.net
Sun Aug 25 04:36:03 CEST 2002


Update of /cvsroot/scummvm/scummvm-new/scumm
In directory usw-pr-cvs1:/tmp/cvs-serv18557/scummvm-new/scumm

Modified Files:
	saveload.cpp script.cpp scumm.h script_v2.cpp 
Log Message:
Fix for #556564

Index: saveload.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm-new/scumm/saveload.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- saveload.cpp	24 Aug 2002 15:31:37 -0000	1.2
+++ saveload.cpp	25 Aug 2002 11:35:12 -0000	1.3
@@ -535,7 +535,7 @@
 		MKLINE(ScriptSlot, offs, sleUint32),
 		MKLINE(ScriptSlot, delay, sleInt32),
 		MKLINE(ScriptSlot, number, sleUint16),
-		MKLINE(ScriptSlot, newfield, sleUint16),
+		MKLINE(ScriptSlot, delayFrameCount, sleUint16),
 		MKLINE(ScriptSlot, status, sleByte),
 		MKLINE(ScriptSlot, where, sleByte),
 		MKLINE(ScriptSlot, unk1, sleByte),

Index: script.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm-new/scumm/script.cpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- script.cpp	21 Aug 2002 16:07:33 -0000	1.1.1.1
+++ script.cpp	25 Aug 2002 11:35:13 -0000	1.2
@@ -69,7 +69,8 @@
 	s->where = scriptType;
 	s->unk1 = a;
 	s->unk2 = b;
-	s->freezeCount = 0;
+	s->freezeCount = 0;
+	s->delayFrameCount = 0;
 
 	initializeLocals(slot, lvarptr);
 
@@ -619,7 +620,8 @@
 		vm.slot[slot].offs = _EXCD_offs;
 		vm.slot[slot].unk1 = 0;
 		vm.slot[slot].unk2 = 0;
-		vm.slot[slot].freezeCount = 0;
+		vm.slot[slot].freezeCount = 0;
+		vm.slot[slot].delayFrameCount = 0;
 		runScriptNested(slot);
 	}
 	if (_vars[VAR_EXIT_SCRIPT2])
@@ -638,7 +640,8 @@
 		vm.slot[slot].offs = _ENCD_offs;
 		vm.slot[slot].unk1 = 0;
 		vm.slot[slot].unk2 = 0;
-		vm.slot[slot].freezeCount = 0;
+		vm.slot[slot].freezeCount = 0;
+		vm.slot[slot].delayFrameCount = 0;
 		runScriptNested(slot);
 	}
 	if (_vars[VAR_ENTRY_SCRIPT2])
@@ -770,7 +773,7 @@
 	vm.slot[slot].unk1 = a;
 	vm.slot[slot].unk2 = b;
 	vm.slot[slot].freezeCount = 0;
-	vm.slot[slot].newfield = 0;
+	vm.slot[slot].delayFrameCount = 0;
 
 	initializeLocals(slot, vars);
 

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm-new/scumm/scumm.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- scumm.h	24 Aug 2002 13:12:29 -0000	1.3
+++ scumm.h	25 Aug 2002 11:35:13 -0000	1.4
@@ -108,7 +108,7 @@
 	uint32 offs;
 	int32 delay;
 	uint16 number;
-	uint16 newfield;
+	uint16 delayFrameCount;
 	byte status;
 	byte where;
 	byte unk1, unk2, freezeCount, didexec;
@@ -1213,7 +1213,7 @@
 	void o6_distPtPt();
 	void o6_dummy_stacklist();
 	void o6_miscOps();
-	void o6_breakMaybe();
+	void o6_delayFrames();
 	void o6_pickOneOf();
 	void o6_pickOneOfDefault();
 	void o6_jumpToScript();

Index: script_v2.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm-new/scumm/script_v2.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- script_v2.cpp	24 Aug 2002 15:31:37 -0000	1.2
+++ script_v2.cpp	25 Aug 2002 11:35:13 -0000	1.3
@@ -286,7 +286,7 @@
 		/* C8 */
 		&Scumm::o6_kernelFunction,
 		&Scumm::o6_miscOps,
-		&Scumm::o6_breakMaybe,
+		&Scumm::o6_delayFrames,
 		&Scumm::o6_pickOneOf,
 		/* CC */
 		&Scumm::o6_pickOneOfDefault,
@@ -2984,15 +2984,15 @@
 	}
 }
 
-void Scumm::o6_breakMaybe()
+void Scumm::o6_delayFrames()
 {
 	ScriptSlot *ss = &vm.slot[_currentScript];
-	if (ss->newfield == 0) {
-		ss->newfield = pop();
+	if (ss->delayFrameCount== 0) {
+		ss->delayFrameCount = pop();
 	} else {
-		ss->newfield--;
+		ss->delayFrameCount--;
 	}
-	if (ss->newfield) {
+	if (ss->delayFrameCount) {
 		_scriptPointer--;
 		o6_breakHere();
 	}





More information about the Scummvm-git-logs mailing list