[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.425,2.426 script_v100he.cpp,2.113,2.114 script_v6he.cpp,2.148,2.149 script_v72he.cpp,2.241,2.242 script_v7he.cpp,2.139,2.140 script_v80he.cpp,2.86,2.87 script_v90he.cpp,2.217,2.218

kirben kirben at users.sourceforge.net
Fri Apr 8 04:10:37 CEST 2005


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31474/scumm

Modified Files:
	intern.h script_v100he.cpp script_v6he.cpp script_v72he.cpp 
	script_v7he.cpp script_v80he.cpp script_v90he.cpp 
Log Message:

Add HE70+ version of seekFilePos opcode.


Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.425
retrieving revision 2.426
diff -u -d -r2.425 -r2.426
--- intern.h	7 Apr 2005 11:43:21 -0000	2.425
+++ intern.h	8 Apr 2005 11:09:44 -0000	2.426
@@ -636,7 +636,6 @@
 	void writeFileFromArray(int slot, int resID);
 	int virtScreenSave(byte *dst, int x1, int y1, int x2, int y2);
 	void virtScreenLoad(int resIdx, int x1, int y1, int x2, int y2);
-	void seekFilePos(int slot, int offset, int mode);
 	virtual void decodeParseString(int a, int b);
 	void swapObjects(int object1, int object2);
 
@@ -706,6 +705,7 @@
 	void o70_resourceRoutines();
 	void o70_quitPauseRestart();
 	void o70_kernelSetFunctions();
+	void o70_seekFilePos();
 	void o70_copyString();
 	void o70_getStringWidth();
 	void o70_getStringLen();

Index: script_v100he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v100he.cpp,v
retrieving revision 2.113
retrieving revision 2.114
diff -u -d -r2.113 -r2.114
--- script_v100he.cpp	7 Apr 2005 10:54:35 -0000	2.113
+++ script_v100he.cpp	8 Apr 2005 11:09:44 -0000	2.114
@@ -178,7 +178,7 @@
 		/* 6C */
 		OPCODE(o72_talkEgo),
 		OPCODE(o6_invalid),
-		OPCODE(o60_seekFilePos),
+		OPCODE(o70_seekFilePos),
 		OPCODE(o6_setBoxFlags),
 		/* 70 */
 		OPCODE(o6_invalid),

Index: script_v6he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v6he.cpp,v
retrieving revision 2.148
retrieving revision 2.149
diff -u -d -r2.148 -r2.149
--- script_v6he.cpp	5 Apr 2005 11:05:58 -0000	2.148
+++ script_v6he.cpp	8 Apr 2005 11:09:45 -0000	2.149
@@ -1197,11 +1197,7 @@
 	offset = pop();
 	slot = pop();
 
-	seekFilePos(slot, offset, mode - 1);
-}
-
-void ScummEngine_v60he::seekFilePos(int slot, int offset, int mode) {
-	if (slot == 1)
+	if (slot == -1)
 		return;
 
 	switch (mode) {
@@ -1215,7 +1211,7 @@
 		_hFileTable[slot].seek(offset, SEEK_END);
 		break;
 	default:
-		error("seekFilePos: default case 0x%x", mode);
+		error("o60_seekFilePos: default case %d", mode);
 	}
 }
 

Index: script_v72he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v72he.cpp,v
retrieving revision 2.241
retrieving revision 2.242
diff -u -d -r2.241 -r2.242
--- script_v72he.cpp	8 Apr 2005 07:50:46 -0000	2.241
+++ script_v72he.cpp	8 Apr 2005 11:09:45 -0000	2.242
@@ -334,7 +334,7 @@
 		OPCODE(o6_invalid),
 		/* E8 */
 		OPCODE(o6_invalid),
-		OPCODE(o60_seekFilePos),
+		OPCODE(o70_seekFilePos),
 		OPCODE(o72_redimArray),
 		OPCODE(o60_readFilePos),
 		/* EC */

Index: script_v7he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v7he.cpp,v
retrieving revision 2.139
retrieving revision 2.140
diff -u -d -r2.139 -r2.140
--- script_v7he.cpp	2 Apr 2005 14:24:40 -0000	2.139
+++ script_v7he.cpp	8 Apr 2005 11:10:01 -0000	2.140
@@ -333,7 +333,7 @@
 		OPCODE(o6_invalid),
 		/* E8 */
 		OPCODE(o6_invalid),
-		OPCODE(o60_seekFilePos),
+		OPCODE(o70_seekFilePos),
 		OPCODE(o60_redimArray),
 		OPCODE(o60_readFilePos),
 		/* EC */
@@ -679,6 +679,30 @@
 	}
 }
 
+void ScummEngine_v70he::o70_seekFilePos() {
+	int mode, offset, slot;
+	mode = pop();
+	offset = pop();
+	slot = pop();
+
+	if (slot == -1)
+		return;
+
+	switch (mode) {
+	case 1:
+		_hFileTable[slot].seek(offset, SEEK_SET);
+		break;
+	case 2:
+		_hFileTable[slot].seek(offset, SEEK_CUR);
+		break;
+	case 3:
+		_hFileTable[slot].seek(offset, SEEK_END);
+		break;
+	default:
+		error("o70_seekFilePos: default case 0x%x", mode);
+	}
+}
+
 void ScummEngine_v70he::o70_copyString() {
 	int dst, size;
 	int src = pop();

Index: script_v80he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v80he.cpp,v
retrieving revision 2.86
retrieving revision 2.87
diff -u -d -r2.86 -r2.87
--- script_v80he.cpp	5 Apr 2005 11:06:00 -0000	2.86
+++ script_v80he.cpp	8 Apr 2005 11:10:01 -0000	2.87
@@ -332,7 +332,7 @@
 		OPCODE(o6_invalid),
 		/* E8 */
 		OPCODE(o6_invalid),
-		OPCODE(o60_seekFilePos),
+		OPCODE(o70_seekFilePos),
 		OPCODE(o72_redimArray),
 		OPCODE(o60_readFilePos),
 		/* EC */

Index: script_v90he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v90he.cpp,v
retrieving revision 2.217
retrieving revision 2.218
diff -u -d -r2.217 -r2.218
--- script_v90he.cpp	8 Apr 2005 07:49:06 -0000	2.217
+++ script_v90he.cpp	8 Apr 2005 11:10:01 -0000	2.218
@@ -332,7 +332,7 @@
 		OPCODE(o6_invalid),
 		/* E8 */
 		OPCODE(o6_invalid),
-		OPCODE(o60_seekFilePos),
+		OPCODE(o70_seekFilePos),
 		OPCODE(o72_redimArray),
 		OPCODE(o60_readFilePos),
 		/* EC */





More information about the Scummvm-git-logs mailing list