[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.149,2.150 resource.cpp,1.190,1.191 script_v6he.cpp,2.33,2.34 script_v7he.cpp,2.4,2.5 scumm.h,1.376,1.377 scummvm.cpp,2.602,2.603

Travis Howell kirben at users.sourceforge.net
Mon Mar 1 17:41:14 CET 2004


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

Modified Files:
	intern.h resource.cpp script_v6he.cpp script_v7he.cpp scumm.h 
	scummvm.cpp 
Log Message:

Add better check for HE resource differences.
Move stringLen to HE7.


Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.149
retrieving revision 2.150
diff -u -d -r2.149 -r2.150
--- intern.h	2 Mar 2004 00:21:02 -0000	2.149
+++ intern.h	2 Mar 2004 01:20:18 -0000	2.150
@@ -587,7 +587,6 @@
 	void o6_setVolume();
 	void o6_seekFilePos();
 	void o6_localizeArray();
-	void o6_stringLen();
 	void o6_unknownFA();
 	void o6_redimArray();
 	void o6_readINI();
@@ -620,6 +619,7 @@
 	/* Version 7 script opcodes */
 	void o7_objectX();
 	void o7_objectY();
+	void o7_stringLen();
 	void o7_unknownF4();
 	void o7_unknownFB();
 };

Index: resource.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/resource.cpp,v
retrieving revision 1.190
retrieving revision 1.191
diff -u -d -r1.190 -r1.191
--- resource.cpp	29 Feb 2004 00:18:45 -0000	1.190
+++ resource.cpp	2 Mar 2004 01:20:18 -0000	1.191
@@ -2048,7 +2048,7 @@
 
 		_shadowPaletteSize = NUM_SHADOW_PALETTE * 256;
 	// FIXME better check for the more recent windows based humongous games...
-	} else if (_gameId == GID_PJSDEMO) {
+	} else if (_features & GF_HE7_RESOURCES) {
 		_fileHandle.readUint16LE();
 		_numVariables = _fileHandle.readUint16LE();
 		_numBitVariables = _fileHandle.readUint16LE();

Index: script_v6he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v6he.cpp,v
retrieving revision 2.33
retrieving revision 2.34
diff -u -d -r2.33 -r2.34
--- script_v6he.cpp	2 Mar 2004 01:01:36 -0000	2.33
+++ script_v6he.cpp	2 Mar 2004 01:20:18 -0000	2.34
@@ -344,7 +344,7 @@
 		/* EC */
 		OPCODE(o6_invalid),
 		OPCODE(o6_invalid),
-		OPCODE(o6_stringLen),
+		OPCODE(o6_invalid),
 		OPCODE(o6_invalid),
 		/* F0 */
 		OPCODE(o6_invalid),
@@ -1244,24 +1244,6 @@
 	ah->dim2 = TO_LE_16(newX + 1);
 }
 
-// TODO: It's Win32 specific
-void ScummEngine_v6he::o6_stringLen() {
-	int a, len;
-
-	if (_features & GF_PC) {
-		o6_invalid();
-	}
-
-	a = pop();
-
-	if (_gameId == GID_FREDDEMO) {
-		len = strlen((char *)getStringAddress(a));
-	} else {
-		len = 0; // TODO: implement
-	}
-	push(len);
-}
-
 void ScummEngine_v6he::o6_readINI() {
 	int len;
 

Index: script_v7he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v7he.cpp,v
retrieving revision 2.4
retrieving revision 2.5
diff -u -d -r2.4 -r2.5
--- script_v7he.cpp	2 Mar 2004 00:21:02 -0000	2.4
+++ script_v7he.cpp	2 Mar 2004 01:20:18 -0000	2.5
@@ -344,7 +344,7 @@
 		/* EC */
 		OPCODE(o6_invalid),
 		OPCODE(o6_invalid),
-		OPCODE(o6_stringLen),
+		OPCODE(o7_stringLen),
 		OPCODE(o6_invalid),
 		/* F0 */
 		OPCODE(o6_invalid),
@@ -406,6 +406,19 @@
 	push(_objs[objnum].y_pos);
 }
 
+void ScummEngine_v7he::o7_stringLen() {
+	int a, len;
+
+	a = pop();
+
+	if (_gameId == GID_FREDDEMO) {
+		len = strlen((char *)getStringAddress(a));
+	} else {
+		len = 0; // TODO: implement
+	}
+	push(len);
+}
+
 void ScummEngine_v7he::o7_unknownF4() {
 	byte b;
 	int len;

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.376
retrieving revision 1.377
diff -u -d -r1.376 -r1.377
--- scumm.h	2 Mar 2004 00:37:23 -0000	1.376
+++ scumm.h	2 Mar 2004 01:20:18 -0000	1.377
@@ -90,15 +90,16 @@
 	GF_FEW_LOCALS          = 1 << 13,
 	GF_HUMONGOUS           = 1 << 14,
 	GF_AFTER_HEV7          = 1 << 15,
+	GF_HE7_RESOURCES       = 1 << 16,
 	
-	GF_FMTOWNS             = 1 << 16,
-	GF_AMIGA               = 1 << 17,
-	GF_NES                 = 1 << 18,
-	GF_ATARI_ST            = 1 << 19,
-	GF_MACINTOSH           = 1 << 20,
-	GF_PC                  = 1 << 21,
-	GF_WINDOWS             = 1 << 22,
-	GF_DEMO                = 1 << 23,
+	GF_FMTOWNS             = 1 << 17,
+	GF_AMIGA               = 1 << 18,
+	GF_NES                 = 1 << 19,
+	GF_ATARI_ST            = 1 << 20,
+	GF_MACINTOSH           = 1 << 21,
+	GF_PC                  = 1 << 22,
+	GF_WINDOWS             = 1 << 23,
+	GF_DEMO                = 1 << 24,
 	
 	GF_EXTERNAL_CHARSET    = GF_SMALL_HEADER
 };

Index: scummvm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scummvm.cpp,v
retrieving revision 2.602
retrieving revision 2.603
diff -u -d -r2.602 -r2.603
--- scummvm.cpp	2 Mar 2004 01:01:36 -0000	2.602
+++ scummvm.cpp	2 Mar 2004 01:20:18 -0000	2.603
@@ -210,15 +210,15 @@
 	 /* Note that both full versions of Humongous games and demos were often released for
 	  * several interpreter versions... */
 	{"zoodemo", "Putt-Putt Saves the Zoo (Demo)", GID_PJSDEMO, 6, MDT_NONE,
-	 GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
+	 GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_HE7_RESOURCES | GF_DEFAULT_TO_1X_SCALER, 0},
 	{"freddi", "Freddi Fish 1: The Case of the Missing Kelp Seeds", GID_FREDDI, 6, MDT_NONE,
 	 GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
 	{"freddemo", "Freddi Fish 1: The Case of the Missing Kelp Seeds (Demo)", GID_FREDDEMO, 6, MDT_NONE,
-	 GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
+	 GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_HE7_RESOURCES | GF_DEFAULT_TO_1X_SCALER, 0},
 	{"pjs-demo", "Pajama Sam 1: No Need to Hide When It's Dark Outside (Demo)", GID_PJSDEMO, 6, MDT_NONE,
-	 GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
+	 GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_HE7_RESOURCES | GF_DEFAULT_TO_1X_SCALER, 0},
 	{"ff2-demo", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Demo)", GID_PJSDEMO, 6, MDT_NONE,
-	 GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
+	 GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_HE7_RESOURCES | GF_DEFAULT_TO_1X_SCALER, 0},
 
 #ifdef HEGAMES
 	{"puttwin", "Putt-Putt Joins The Parade (Windows)", GID_PUTTPUTT, 6, MDT_NONE,





More information about the Scummvm-git-logs mailing list