[Scummvm-cvs-logs] CVS: scummvm/scumm actor.cpp,1.354,1.355 akos.cpp,1.223,1.224 bomp.cpp,2.28,2.29 camera.cpp,2.32,2.33 cursor.cpp,2.39,2.40 input.cpp,2.29,2.30 intern.h,2.483,2.484 logic_he.cpp,2.13,2.14 module.mk,1.52,1.53 object.cpp,1.239,1.240 palette.cpp,2.41,2.42 resource.cpp,1.324,1.325 saveload.cpp,1.223,1.224 script_v6.cpp,1.436,1.437 scumm.cpp,1.511,1.512 sound.cpp,1.460,1.461 string.cpp,1.290,1.291 vars.cpp,1.136,1.137

Eugene Sandulenko sev at users.sourceforge.net
Sat May 14 15:57:51 CEST 2005


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

Modified Files:
	actor.cpp akos.cpp bomp.cpp camera.cpp cursor.cpp input.cpp 
	intern.h logic_he.cpp module.mk object.cpp palette.cpp 
	resource.cpp saveload.cpp script_v6.cpp scumm.cpp sound.cpp 
	string.cpp vars.cpp 
Log Message:
Added --disable-hq and --disable-scumm-7-8 options. Also improved
DISABLE_HE so more HE-specific code gets excluded.


Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/actor.cpp,v
retrieving revision 1.354
retrieving revision 1.355
diff -u -d -r1.354 -r1.355
--- actor.cpp	14 May 2005 14:06:34 -0000	1.354
+++ actor.cpp	14 May 2005 22:56:38 -0000	1.355
@@ -23,7 +23,6 @@
 #include "stdafx.h"
 #include "scumm/scumm.h"
 #include "scumm/actor.h"
-#include "scumm/akos.h"
 #include "scumm/boxes.h"
 #include "scumm/charset.h"
 #include "scumm/costume.h"
@@ -36,6 +35,10 @@
 #include "scumm/util.h"
 #include "scumm/wiz_he.h"
 
+#ifndef DISABLE_SCUMM_7_8
+#include "scumm/akos.h"
+#endif
+
 namespace Scumm {
 
 byte Actor::kInvalidBox = 0;
@@ -1005,8 +1008,10 @@
 		a->animateCostume();
 	}
 	
+#ifndef DISABLE_SCUMM_7_8
 	if (_features & GF_NEW_COSTUMES)
 		akos_processQueue();
+#endif
 }
 
 #ifndef DISABLE_HE
@@ -1166,6 +1171,7 @@
 	}
 }
 
+#ifndef DISABLE_SCUMM_7_8
 bool Actor::actorHitTest(int x, int y) {
 	AkosRenderer *ar = (AkosRenderer *)_vm->_costumeRenderer;
 
@@ -1180,6 +1186,7 @@
 	
 	return ar->_actorHitResult;
 }
+#endif
 
 void Actor::animateCostume() {
 	if (_costume == 0)
@@ -1196,6 +1203,7 @@
 	}
 }
 
+#ifndef DISABLE_SCUMM_7_8
 void Actor::animateLimb(int limb, int f) {
 	// This methods is very similiar to animateCostume(). 
 	// However, instead of animating *all* the limbs, it only animates
@@ -1230,6 +1238,7 @@
 //		_needBgReset = true;
 	}
 }
+#endif
 
 void ScummEngine::redrawAllActors() {
 	int j;
@@ -1300,12 +1309,14 @@
 	return result;
 }
 
+#ifndef DISABLE_SCUMM_7_8
 void ScummEngine_v7::actorTalk(const byte *msg) {
 	ScummEngine::actorTalk(msg);
 
 	// Play associated speech, if any
 	playSpeech((byte *)_lastStringTag);
 }
+#endif
 
 void ScummEngine::actorTalk(const byte *msg) {
 	Actor *a;
@@ -1434,6 +1445,7 @@
 	_costumeNeedsInit = true;
 	
 	if (_vm->_features & GF_NEW_COSTUMES) {
+#ifndef DISABLE_SCUMM_7_8
 		memset(_animVariable, 0, sizeof(_animVariable));
 		
 		if (_vm->_heversion >= 71)
@@ -1453,6 +1465,7 @@
 			}
 			startAnimActor(_initFrame);
 		}
+#endif
 	} else {
 		if (_visible) {
 			hideActor();

Index: akos.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/akos.cpp,v
retrieving revision 1.223
retrieving revision 1.224
diff -u -d -r1.223 -r1.224
--- akos.cpp	14 May 2005 14:06:35 -0000	1.223
+++ akos.cpp	14 May 2005 22:56:38 -0000	1.224
@@ -591,7 +591,6 @@
 }
 
 #ifdef __PALM_OS__
-const byte *defaultScaleTable;
 const byte *oldScaleTable;
 #else
 const byte oldScaleTable[256] = {
@@ -628,107 +627,6 @@
 	0x0E, 0x8E, 0x4E, 0xCE, 0x2E, 0xAE, 0x6E, 0xEE,
 	0x1E, 0x9E, 0x5E, 0xDE, 0x3E, 0xBE, 0x7E, 0xFE
 };
-
-const byte defaultScaleTable[768] = {
-	0x00, 0x80, 0x40, 0xC0, 0x20, 0xA0, 0x60, 0xE0,
-	0x10, 0x90, 0x50, 0xD0, 0x30, 0xB0, 0x70, 0xF0,
-	0x08, 0x88, 0x48, 0xC8, 0x28, 0xA8, 0x68, 0xE8,
-	0x18, 0x98, 0x58, 0xD8, 0x38, 0xB8, 0x78, 0xF8,
-	0x04, 0x84, 0x44, 0xC4, 0x24, 0xA4, 0x64, 0xE4,
-	0x14, 0x94, 0x54, 0xD4, 0x34, 0xB4, 0x74, 0xF4,
-	0x0C, 0x8C, 0x4C, 0xCC, 0x2C, 0xAC, 0x6C, 0xEC,
-	0x1C, 0x9C, 0x5C, 0xDC, 0x3C, 0xBC, 0x7C, 0xFC,
-	0x02, 0x82, 0x42, 0xC2, 0x22, 0xA2, 0x62, 0xE2,
-	0x12, 0x92, 0x52, 0xD2, 0x32, 0xB2, 0x72, 0xF2,
-	0x0A, 0x8A, 0x4A, 0xCA, 0x2A, 0xAA, 0x6A, 0xEA,
-	0x1A, 0x9A, 0x5A, 0xDA, 0x3A, 0xBA, 0x7A, 0xFA,
-	0x06, 0x86, 0x46, 0xC6, 0x26, 0xA6, 0x66, 0xE6,
-	0x16, 0x96, 0x56, 0xD6, 0x36, 0xB6, 0x76, 0xF6,
-	0x0E, 0x8E, 0x4E, 0xCE, 0x2E, 0xAE, 0x6E, 0xEE,
-	0x1E, 0x9E, 0x5E, 0xDE, 0x3E, 0xBE, 0x7E, 0xFE,
-	0x01, 0x81, 0x41, 0xC1, 0x21, 0xA1, 0x61, 0xE1,
-	0x11, 0x91, 0x51, 0xD1, 0x31, 0xB1, 0x71, 0xF1,
-	0x09, 0x89, 0x49, 0xC9, 0x29, 0xA9, 0x69, 0xE9,
-	0x19, 0x99, 0x59, 0xD9, 0x39, 0xB9, 0x79, 0xF9,
-	0x05, 0x85, 0x45, 0xC5, 0x25, 0xA5, 0x65, 0xE5,
-	0x15, 0x95, 0x55, 0xD5, 0x35, 0xB5, 0x75, 0xF5,
-	0x0D, 0x8D, 0x4D, 0xCD, 0x2D, 0xAD, 0x6D, 0xED,
-	0x1D, 0x9D, 0x5D, 0xDD, 0x3D, 0xBD, 0x7D, 0xFD,
-	0x03, 0x83, 0x43, 0xC3, 0x23, 0xA3, 0x63, 0xE3,
-	0x13, 0x93, 0x53, 0xD3, 0x33, 0xB3, 0x73, 0xF3,
-	0x0B, 0x8B, 0x4B, 0xCB, 0x2B, 0xAB, 0x6B, 0xEB,
-	0x1B, 0x9B, 0x5B, 0xDB, 0x3B, 0xBB, 0x7B, 0xFB,
-	0x07, 0x87, 0x47, 0xC7, 0x27, 0xA7, 0x67, 0xE7,
-	0x17, 0x97, 0x57, 0xD7, 0x37, 0xB7, 0x77, 0xF7,
-	0x0F, 0x8F, 0x4F, 0xCF, 0x2F, 0xAF, 0x6F, 0xEF,
-	0x1F, 0x9F, 0x5F, 0xDF, 0x3F, 0xBF, 0x7F, 0xFE,
-
-	0x00, 0x80, 0x40, 0xC0, 0x20, 0xA0, 0x60, 0xE0,
-	0x10, 0x90, 0x50, 0xD0, 0x30, 0xB0, 0x70, 0xF0,
-	0x08, 0x88, 0x48, 0xC8, 0x28, 0xA8, 0x68, 0xE8,
-	0x18, 0x98, 0x58, 0xD8, 0x38, 0xB8, 0x78, 0xF8,
-	0x04, 0x84, 0x44, 0xC4, 0x24, 0xA4, 0x64, 0xE4,
-	0x14, 0x94, 0x54, 0xD4, 0x34, 0xB4, 0x74, 0xF4,
-	0x0C, 0x8C, 0x4C, 0xCC, 0x2C, 0xAC, 0x6C, 0xEC,
-	0x1C, 0x9C, 0x5C, 0xDC, 0x3C, 0xBC, 0x7C, 0xFC,
-	0x02, 0x82, 0x42, 0xC2, 0x22, 0xA2, 0x62, 0xE2,
-	0x12, 0x92, 0x52, 0xD2, 0x32, 0xB2, 0x72, 0xF2,
-	0x0A, 0x8A, 0x4A, 0xCA, 0x2A, 0xAA, 0x6A, 0xEA,
-	0x1A, 0x9A, 0x5A, 0xDA, 0x3A, 0xBA, 0x7A, 0xFA,
-	0x06, 0x86, 0x46, 0xC6, 0x26, 0xA6, 0x66, 0xE6,
-	0x16, 0x96, 0x56, 0xD6, 0x36, 0xB6, 0x76, 0xF6,
-	0x0E, 0x8E, 0x4E, 0xCE, 0x2E, 0xAE, 0x6E, 0xEE,
-	0x1E, 0x9E, 0x5E, 0xDE, 0x3E, 0xBE, 0x7E, 0xFE,
-	0x01, 0x81, 0x41, 0xC1, 0x21, 0xA1, 0x61, 0xE1,
-	0x11, 0x91, 0x51, 0xD1, 0x31, 0xB1, 0x71, 0xF1,
-	0x09, 0x89, 0x49, 0xC9, 0x29, 0xA9, 0x69, 0xE9,
-	0x19, 0x99, 0x59, 0xD9, 0x39, 0xB9, 0x79, 0xF9,
-	0x05, 0x85, 0x45, 0xC5, 0x25, 0xA5, 0x65, 0xE5,
-	0x15, 0x95, 0x55, 0xD5, 0x35, 0xB5, 0x75, 0xF5,
-	0x0D, 0x8D, 0x4D, 0xCD, 0x2D, 0xAD, 0x6D, 0xED,
-	0x1D, 0x9D, 0x5D, 0xDD, 0x3D, 0xBD, 0x7D, 0xFD,
-	0x03, 0x83, 0x43, 0xC3, 0x23, 0xA3, 0x63, 0xE3,
-	0x13, 0x93, 0x53, 0xD3, 0x33, 0xB3, 0x73, 0xF3,
-	0x0B, 0x8B, 0x4B, 0xCB, 0x2B, 0xAB, 0x6B, 0xEB,
-	0x1B, 0x9B, 0x5B, 0xDB, 0x3B, 0xBB, 0x7B, 0xFB,
-	0x07, 0x87, 0x47, 0xC7, 0x27, 0xA7, 0x67, 0xE7,
-	0x17, 0x97, 0x57, 0xD7, 0x37, 0xB7, 0x77, 0xF7,
-	0x0F, 0x8F, 0x4F, 0xCF, 0x2F, 0xAF, 0x6F, 0xEF,
-	0x1F, 0x9F, 0x5F, 0xDF, 0x3F, 0xBF, 0x7F, 0xFE,
-
-	0x00, 0x80, 0x40, 0xC0, 0x20, 0xA0, 0x60, 0xE0,
-	0x10, 0x90, 0x50, 0xD0, 0x30, 0xB0, 0x70, 0xF0,
-	0x08, 0x88, 0x48, 0xC8, 0x28, 0xA8, 0x68, 0xE8,
-	0x18, 0x98, 0x58, 0xD8, 0x38, 0xB8, 0x78, 0xF8,
-	0x04, 0x84, 0x44, 0xC4, 0x24, 0xA4, 0x64, 0xE4,
-	0x14, 0x94, 0x54, 0xD4, 0x34, 0xB4, 0x74, 0xF4,
-	0x0C, 0x8C, 0x4C, 0xCC, 0x2C, 0xAC, 0x6C, 0xEC,
-	0x1C, 0x9C, 0x5C, 0xDC, 0x3C, 0xBC, 0x7C, 0xFC,
-	0x02, 0x82, 0x42, 0xC2, 0x22, 0xA2, 0x62, 0xE2,
-	0x12, 0x92, 0x52, 0xD2, 0x32, 0xB2, 0x72, 0xF2,
-	0x0A, 0x8A, 0x4A, 0xCA, 0x2A, 0xAA, 0x6A, 0xEA,
-	0x1A, 0x9A, 0x5A, 0xDA, 0x3A, 0xBA, 0x7A, 0xFA,
-	0x06, 0x86, 0x46, 0xC6, 0x26, 0xA6, 0x66, 0xE6,
-	0x16, 0x96, 0x56, 0xD6, 0x36, 0xB6, 0x76, 0xF6,
-	0x0E, 0x8E, 0x4E, 0xCE, 0x2E, 0xAE, 0x6E, 0xEE,
-	0x1E, 0x9E, 0x5E, 0xDE, 0x3E, 0xBE, 0x7E, 0xFE,
-	0x01, 0x81, 0x41, 0xC1, 0x21, 0xA1, 0x61, 0xE1,
-	0x11, 0x91, 0x51, 0xD1, 0x31, 0xB1, 0x71, 0xF1,
-	0x09, 0x89, 0x49, 0xC9, 0x29, 0xA9, 0x69, 0xE9,
-	0x19, 0x99, 0x59, 0xD9, 0x39, 0xB9, 0x79, 0xF9,
-	0x05, 0x85, 0x45, 0xC5, 0x25, 0xA5, 0x65, 0xE5,
-	0x15, 0x95, 0x55, 0xD5, 0x35, 0xB5, 0x75, 0xF5,
-	0x0D, 0x8D, 0x4D, 0xCD, 0x2D, 0xAD, 0x6D, 0xED,
-	0x1D, 0x9D, 0x5D, 0xDD, 0x3D, 0xBD, 0x7D, 0xFD,
-	0x03, 0x83, 0x43, 0xC3, 0x23, 0xA3, 0x63, 0xE3,
-	0x13, 0x93, 0x53, 0xD3, 0x33, 0xB3, 0x73, 0xF3,
-	0x0B, 0x8B, 0x4B, 0xCB, 0x2B, 0xAB, 0x6B, 0xEB,
-	0x1B, 0x9B, 0x5B, 0xDB, 0x3B, 0xBB, 0x7B, 0xFB,
-	0x07, 0x87, 0x47, 0xC7, 0x27, 0xA7, 0x67, 0xE7,
-	0x17, 0x97, 0x57, 0xD7, 0x37, 0xB7, 0x77, 0xF7,
-	0x0F, 0x8F, 0x4F, 0xCF, 0x2F, 0xAF, 0x6F, 0xEF,
-	0x1F, 0x9F, 0x5F, 0xDF, 0x3F, 0xBF, 0x7F, 0xFF,
-};
 #endif
 
 byte AkosRenderer::codec1(int xmoveCur, int ymoveCur) {

Index: bomp.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/bomp.cpp,v
retrieving revision 2.28
retrieving revision 2.29
diff -u -d -r2.28 -r2.29
--- bomp.cpp	10 Apr 2005 12:58:55 -0000	2.28
+++ bomp.cpp	14 May 2005 22:56:38 -0000	2.29
@@ -330,6 +330,111 @@
 	}
 }
 
+#ifdef __PALM_OS__
+const byte *defaultScaleTable;
+#else
+const byte defaultScaleTable[768] = {
+	0x00, 0x80, 0x40, 0xC0, 0x20, 0xA0, 0x60, 0xE0,
+	0x10, 0x90, 0x50, 0xD0, 0x30, 0xB0, 0x70, 0xF0,
+	0x08, 0x88, 0x48, 0xC8, 0x28, 0xA8, 0x68, 0xE8,
+	0x18, 0x98, 0x58, 0xD8, 0x38, 0xB8, 0x78, 0xF8,
+	0x04, 0x84, 0x44, 0xC4, 0x24, 0xA4, 0x64, 0xE4,
+	0x14, 0x94, 0x54, 0xD4, 0x34, 0xB4, 0x74, 0xF4,
+	0x0C, 0x8C, 0x4C, 0xCC, 0x2C, 0xAC, 0x6C, 0xEC,
+	0x1C, 0x9C, 0x5C, 0xDC, 0x3C, 0xBC, 0x7C, 0xFC,
+	0x02, 0x82, 0x42, 0xC2, 0x22, 0xA2, 0x62, 0xE2,
+	0x12, 0x92, 0x52, 0xD2, 0x32, 0xB2, 0x72, 0xF2,
+	0x0A, 0x8A, 0x4A, 0xCA, 0x2A, 0xAA, 0x6A, 0xEA,
+	0x1A, 0x9A, 0x5A, 0xDA, 0x3A, 0xBA, 0x7A, 0xFA,
+	0x06, 0x86, 0x46, 0xC6, 0x26, 0xA6, 0x66, 0xE6,
+	0x16, 0x96, 0x56, 0xD6, 0x36, 0xB6, 0x76, 0xF6,
+	0x0E, 0x8E, 0x4E, 0xCE, 0x2E, 0xAE, 0x6E, 0xEE,
+	0x1E, 0x9E, 0x5E, 0xDE, 0x3E, 0xBE, 0x7E, 0xFE,
+	0x01, 0x81, 0x41, 0xC1, 0x21, 0xA1, 0x61, 0xE1,
+	0x11, 0x91, 0x51, 0xD1, 0x31, 0xB1, 0x71, 0xF1,
+	0x09, 0x89, 0x49, 0xC9, 0x29, 0xA9, 0x69, 0xE9,
+	0x19, 0x99, 0x59, 0xD9, 0x39, 0xB9, 0x79, 0xF9,
+	0x05, 0x85, 0x45, 0xC5, 0x25, 0xA5, 0x65, 0xE5,
+	0x15, 0x95, 0x55, 0xD5, 0x35, 0xB5, 0x75, 0xF5,
+	0x0D, 0x8D, 0x4D, 0xCD, 0x2D, 0xAD, 0x6D, 0xED,
+	0x1D, 0x9D, 0x5D, 0xDD, 0x3D, 0xBD, 0x7D, 0xFD,
+	0x03, 0x83, 0x43, 0xC3, 0x23, 0xA3, 0x63, 0xE3,
+	0x13, 0x93, 0x53, 0xD3, 0x33, 0xB3, 0x73, 0xF3,
+	0x0B, 0x8B, 0x4B, 0xCB, 0x2B, 0xAB, 0x6B, 0xEB,
+	0x1B, 0x9B, 0x5B, 0xDB, 0x3B, 0xBB, 0x7B, 0xFB,
+	0x07, 0x87, 0x47, 0xC7, 0x27, 0xA7, 0x67, 0xE7,
+	0x17, 0x97, 0x57, 0xD7, 0x37, 0xB7, 0x77, 0xF7,
+	0x0F, 0x8F, 0x4F, 0xCF, 0x2F, 0xAF, 0x6F, 0xEF,
+	0x1F, 0x9F, 0x5F, 0xDF, 0x3F, 0xBF, 0x7F, 0xFE,
+
+	0x00, 0x80, 0x40, 0xC0, 0x20, 0xA0, 0x60, 0xE0,
+	0x10, 0x90, 0x50, 0xD0, 0x30, 0xB0, 0x70, 0xF0,
+	0x08, 0x88, 0x48, 0xC8, 0x28, 0xA8, 0x68, 0xE8,
+	0x18, 0x98, 0x58, 0xD8, 0x38, 0xB8, 0x78, 0xF8,
+	0x04, 0x84, 0x44, 0xC4, 0x24, 0xA4, 0x64, 0xE4,
+	0x14, 0x94, 0x54, 0xD4, 0x34, 0xB4, 0x74, 0xF4,
+	0x0C, 0x8C, 0x4C, 0xCC, 0x2C, 0xAC, 0x6C, 0xEC,
+	0x1C, 0x9C, 0x5C, 0xDC, 0x3C, 0xBC, 0x7C, 0xFC,
+	0x02, 0x82, 0x42, 0xC2, 0x22, 0xA2, 0x62, 0xE2,
+	0x12, 0x92, 0x52, 0xD2, 0x32, 0xB2, 0x72, 0xF2,
+	0x0A, 0x8A, 0x4A, 0xCA, 0x2A, 0xAA, 0x6A, 0xEA,
+	0x1A, 0x9A, 0x5A, 0xDA, 0x3A, 0xBA, 0x7A, 0xFA,
+	0x06, 0x86, 0x46, 0xC6, 0x26, 0xA6, 0x66, 0xE6,
+	0x16, 0x96, 0x56, 0xD6, 0x36, 0xB6, 0x76, 0xF6,
+	0x0E, 0x8E, 0x4E, 0xCE, 0x2E, 0xAE, 0x6E, 0xEE,
+	0x1E, 0x9E, 0x5E, 0xDE, 0x3E, 0xBE, 0x7E, 0xFE,
+	0x01, 0x81, 0x41, 0xC1, 0x21, 0xA1, 0x61, 0xE1,
+	0x11, 0x91, 0x51, 0xD1, 0x31, 0xB1, 0x71, 0xF1,
+	0x09, 0x89, 0x49, 0xC9, 0x29, 0xA9, 0x69, 0xE9,
+	0x19, 0x99, 0x59, 0xD9, 0x39, 0xB9, 0x79, 0xF9,
+	0x05, 0x85, 0x45, 0xC5, 0x25, 0xA5, 0x65, 0xE5,
+	0x15, 0x95, 0x55, 0xD5, 0x35, 0xB5, 0x75, 0xF5,
+	0x0D, 0x8D, 0x4D, 0xCD, 0x2D, 0xAD, 0x6D, 0xED,
+	0x1D, 0x9D, 0x5D, 0xDD, 0x3D, 0xBD, 0x7D, 0xFD,
+	0x03, 0x83, 0x43, 0xC3, 0x23, 0xA3, 0x63, 0xE3,
+	0x13, 0x93, 0x53, 0xD3, 0x33, 0xB3, 0x73, 0xF3,
+	0x0B, 0x8B, 0x4B, 0xCB, 0x2B, 0xAB, 0x6B, 0xEB,
+	0x1B, 0x9B, 0x5B, 0xDB, 0x3B, 0xBB, 0x7B, 0xFB,
+	0x07, 0x87, 0x47, 0xC7, 0x27, 0xA7, 0x67, 0xE7,
+	0x17, 0x97, 0x57, 0xD7, 0x37, 0xB7, 0x77, 0xF7,
+	0x0F, 0x8F, 0x4F, 0xCF, 0x2F, 0xAF, 0x6F, 0xEF,
+	0x1F, 0x9F, 0x5F, 0xDF, 0x3F, 0xBF, 0x7F, 0xFE,
+
+	0x00, 0x80, 0x40, 0xC0, 0x20, 0xA0, 0x60, 0xE0,
+	0x10, 0x90, 0x50, 0xD0, 0x30, 0xB0, 0x70, 0xF0,
+	0x08, 0x88, 0x48, 0xC8, 0x28, 0xA8, 0x68, 0xE8,
+	0x18, 0x98, 0x58, 0xD8, 0x38, 0xB8, 0x78, 0xF8,
+	0x04, 0x84, 0x44, 0xC4, 0x24, 0xA4, 0x64, 0xE4,
+	0x14, 0x94, 0x54, 0xD4, 0x34, 0xB4, 0x74, 0xF4,
+	0x0C, 0x8C, 0x4C, 0xCC, 0x2C, 0xAC, 0x6C, 0xEC,
+	0x1C, 0x9C, 0x5C, 0xDC, 0x3C, 0xBC, 0x7C, 0xFC,
+	0x02, 0x82, 0x42, 0xC2, 0x22, 0xA2, 0x62, 0xE2,
+	0x12, 0x92, 0x52, 0xD2, 0x32, 0xB2, 0x72, 0xF2,
+	0x0A, 0x8A, 0x4A, 0xCA, 0x2A, 0xAA, 0x6A, 0xEA,
+	0x1A, 0x9A, 0x5A, 0xDA, 0x3A, 0xBA, 0x7A, 0xFA,
+	0x06, 0x86, 0x46, 0xC6, 0x26, 0xA6, 0x66, 0xE6,
+	0x16, 0x96, 0x56, 0xD6, 0x36, 0xB6, 0x76, 0xF6,
+	0x0E, 0x8E, 0x4E, 0xCE, 0x2E, 0xAE, 0x6E, 0xEE,
+	0x1E, 0x9E, 0x5E, 0xDE, 0x3E, 0xBE, 0x7E, 0xFE,
+	0x01, 0x81, 0x41, 0xC1, 0x21, 0xA1, 0x61, 0xE1,
+	0x11, 0x91, 0x51, 0xD1, 0x31, 0xB1, 0x71, 0xF1,
+	0x09, 0x89, 0x49, 0xC9, 0x29, 0xA9, 0x69, 0xE9,
+	0x19, 0x99, 0x59, 0xD9, 0x39, 0xB9, 0x79, 0xF9,
+	0x05, 0x85, 0x45, 0xC5, 0x25, 0xA5, 0x65, 0xE5,
+	0x15, 0x95, 0x55, 0xD5, 0x35, 0xB5, 0x75, 0xF5,
+	0x0D, 0x8D, 0x4D, 0xCD, 0x2D, 0xAD, 0x6D, 0xED,
+	0x1D, 0x9D, 0x5D, 0xDD, 0x3D, 0xBD, 0x7D, 0xFD,
+	0x03, 0x83, 0x43, 0xC3, 0x23, 0xA3, 0x63, 0xE3,
+	0x13, 0x93, 0x53, 0xD3, 0x33, 0xB3, 0x73, 0xF3,
+	0x0B, 0x8B, 0x4B, 0xCB, 0x2B, 0xAB, 0x6B, 0xEB,
+	0x1B, 0x9B, 0x5B, 0xDB, 0x3B, 0xBB, 0x7B, 0xFB,
+	0x07, 0x87, 0x47, 0xC7, 0x27, 0xA7, 0x67, 0xE7,
+	0x17, 0x97, 0x57, 0xD7, 0x37, 0xB7, 0x77, 0xF7,
+	0x0F, 0x8F, 0x4F, 0xCF, 0x2F, 0xAF, 0x6F, 0xEF,
+	0x1F, 0x9F, 0x5F, 0xDF, 0x3F, 0xBF, 0x7F, 0xFF,
+};
+#endif
+
 static const byte bitCount[] = {
 	8, 7, 7, 6, 7, 6, 6, 5, 7, 6, 6, 5, 6, 5, 5, 4,
 	7, 6, 6, 5, 6, 5, 5, 4, 6, 5, 5, 4, 5, 4, 4, 3,

Index: camera.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/camera.cpp,v
retrieving revision 2.32
retrieving revision 2.33
diff -u -d -r2.32 -r2.33
--- camera.cpp	11 Mar 2005 01:09:56 -0000	2.32
+++ camera.cpp	14 May 2005 22:56:38 -0000	2.33
@@ -58,37 +58,6 @@
 		stopTalk();
 }
 
-void ScummEngine_v7::setCameraAt(int pos_x, int pos_y) {
-	Common::Point old;
-
-	old = camera._cur;
-
-	camera._cur.x = pos_x;
-	camera._cur.y = pos_y;
-
-	clampCameraPos(&camera._cur);
-
-	camera._dest = camera._cur;
-	VAR(VAR_CAMERA_DEST_X) = camera._dest.x;
-	VAR(VAR_CAMERA_DEST_Y) = camera._dest.y;
-
-	assert(camera._cur.x >= (_screenWidth / 2) && camera._cur.y >= (_screenHeight / 2));
-
-	if (camera._cur.x != old.x || camera._cur.y != old.y) {
-		if (VAR(VAR_SCROLL_SCRIPT)) {
-			VAR(VAR_CAMERA_POS_X) = camera._cur.x;
-			VAR(VAR_CAMERA_POS_Y) = camera._cur.y;
-			runScript(VAR(VAR_SCROLL_SCRIPT), 0, 0, 0);
-		}
-
-		// Even though cameraMoved() is called automatically, we may
-		// need to know at once that the camera has moved, or text may
-		// be printed at the wrong coordinates. See bugs #795938 and
-		// #929242
-		cameraMoved();
-	}
-}
-
 void ScummEngine::setCameraFollows(Actor *a) {
 
 	int t, i;
@@ -115,30 +84,6 @@
 	runInventoryScript(0);
 }
 
-void ScummEngine_v7::setCameraFollows(Actor *a) {
-
-	byte oldfollow = camera._follows;
-	int ax, ay;
-
-	camera._follows = a->_number;
-	VAR(VAR_CAMERA_FOLLOWED_ACTOR) = a->_number;
-
-	if (!a->isInCurrentRoom()) {
-		startScene(a->getRoom(), 0, 0);
-	}
-
-	ax = abs(a->_pos.x - camera._cur.x);
-	ay = abs(a->_pos.y - camera._cur.y);
-
-	if (ax > VAR(VAR_CAMERA_THRESHOLD_X) || ay > VAR(VAR_CAMERA_THRESHOLD_Y) || ax > (_screenWidth / 2) || ay > (_screenHeight / 2)) {
-		setCameraAt(a->_pos.x, a->_pos.y);
-	}
-
-	if (a->_number != oldfollow)
-		runInventoryScript(0);
-}
-
-
 void ScummEngine::clampCameraPos(Common::Point *pt) {
 	if (pt->x < VAR(VAR_CAMERA_MIN_X))
 		pt->x = (short) VAR(VAR_CAMERA_MIN_X);
@@ -228,6 +173,105 @@
 	}
 }
 
+void ScummEngine::cameraMoved() {
+	int screenLeft;
+	if (_features & GF_NEW_CAMERA) {
+		assert(camera._cur.x >= (_screenWidth / 2) && camera._cur.y >= (_screenHeight / 2));
+	} else {
+		if (camera._cur.x < (_screenWidth / 2)) {
+			camera._cur.x = (_screenWidth / 2);
+		} else if (camera._cur.x > _roomWidth - (_screenWidth / 2)) {
+			camera._cur.x = _roomWidth - (_screenWidth / 2);
+		}
+	}
+
+	_screenStartStrip = camera._cur.x / 8 - gdi._numStrips / 2;
+	_screenEndStrip = _screenStartStrip + gdi._numStrips - 1;
+
+	_screenTop = camera._cur.y - (_screenHeight / 2);
+	if (_features & GF_NEW_CAMERA) {
+		screenLeft = camera._cur.x - (_screenWidth / 2);
+	} else {
+		screenLeft = _screenStartStrip * 8;
+	}
+
+	virtscr[0].xstart = screenLeft;
+}
+
+void ScummEngine::panCameraTo(int x, int y) {
+	camera._dest.x = x;
+	camera._mode = kPanningCameraMode;
+	camera._movingToActor = false;
+}
+
+void ScummEngine::actorFollowCamera(int act) {
+	if (!(_features & GF_NEW_CAMERA)) {
+		int old;
+
+		old = camera._follows;
+		setCameraFollows(derefActor(act, "actorFollowCamera"));
+		if (camera._follows != old)
+			runInventoryScript(0);
+
+		camera._movingToActor = false;
+	}
+}
+
+#ifndef DISABLE_SCUMM_7_8
+void ScummEngine_v7::setCameraAt(int pos_x, int pos_y) {
+	Common::Point old;
+
+	old = camera._cur;
+
+	camera._cur.x = pos_x;
+	camera._cur.y = pos_y;
+
+	clampCameraPos(&camera._cur);
+
+	camera._dest = camera._cur;
+	VAR(VAR_CAMERA_DEST_X) = camera._dest.x;
+	VAR(VAR_CAMERA_DEST_Y) = camera._dest.y;
+
+	assert(camera._cur.x >= (_screenWidth / 2) && camera._cur.y >= (_screenHeight / 2));
+
+	if (camera._cur.x != old.x || camera._cur.y != old.y) {
+		if (VAR(VAR_SCROLL_SCRIPT)) {
+			VAR(VAR_CAMERA_POS_X) = camera._cur.x;
+			VAR(VAR_CAMERA_POS_Y) = camera._cur.y;
+			runScript(VAR(VAR_SCROLL_SCRIPT), 0, 0, 0);
+		}
+
+		// Even though cameraMoved() is called automatically, we may
+		// need to know at once that the camera has moved, or text may
+		// be printed at the wrong coordinates. See bugs #795938 and
+		// #929242
+		cameraMoved();
+	}
+}
+
+void ScummEngine_v7::setCameraFollows(Actor *a) {
+
+	byte oldfollow = camera._follows;
+	int ax, ay;
+
+	camera._follows = a->_number;
+	VAR(VAR_CAMERA_FOLLOWED_ACTOR) = a->_number;
+
+	if (!a->isInCurrentRoom()) {
+		startScene(a->getRoom(), 0, 0);
+	}
+
+	ax = abs(a->_pos.x - camera._cur.x);
+	ay = abs(a->_pos.y - camera._cur.y);
+
+	if (ax > VAR(VAR_CAMERA_THRESHOLD_X) || ay > VAR(VAR_CAMERA_THRESHOLD_Y) || ax > (_screenWidth / 2) || ay > (_screenHeight / 2)) {
+		setCameraAt(a->_pos.x, a->_pos.y);
+	}
+
+	if (a->_number != oldfollow)
+		runInventoryScript(0);
+}
+
 void ScummEngine_v7::moveCamera() {
 	Common::Point old = camera._cur;
 	Actor *a = NULL;
@@ -312,55 +356,11 @@
 	}
 }
 
-
-void ScummEngine::cameraMoved() {
-	int screenLeft;
-	if (_features & GF_NEW_CAMERA) {
-		assert(camera._cur.x >= (_screenWidth / 2) && camera._cur.y >= (_screenHeight / 2));
-	} else {
-		if (camera._cur.x < (_screenWidth / 2)) {
-			camera._cur.x = (_screenWidth / 2);
-		} else if (camera._cur.x > _roomWidth - (_screenWidth / 2)) {
-			camera._cur.x = _roomWidth - (_screenWidth / 2);
-		}
-	}
-
-	_screenStartStrip = camera._cur.x / 8 - gdi._numStrips / 2;
-	_screenEndStrip = _screenStartStrip + gdi._numStrips - 1;
-
-	_screenTop = camera._cur.y - (_screenHeight / 2);
-	if (_features & GF_NEW_CAMERA) {
-		screenLeft = camera._cur.x - (_screenWidth / 2);
-	} else {
-		screenLeft = _screenStartStrip * 8;
-	}
-
-	virtscr[0].xstart = screenLeft;
-}
-
-void ScummEngine::panCameraTo(int x, int y) {
-	camera._dest.x = x;
-	camera._mode = kPanningCameraMode;
-	camera._movingToActor = false;
-}
-
 void ScummEngine_v7::panCameraTo(int x, int y) {
 	VAR(VAR_CAMERA_FOLLOWED_ACTOR) = camera._follows = 0;
 	VAR(VAR_CAMERA_DEST_X) = camera._dest.x = x;
 	VAR(VAR_CAMERA_DEST_Y) = camera._dest.y = y;
 }
-
-void ScummEngine::actorFollowCamera(int act) {
-	if (!(_features & GF_NEW_CAMERA)) {
-		int old;
-
-		old = camera._follows;
-		setCameraFollows(derefActor(act, "actorFollowCamera"));
-		if (camera._follows != old)
-			runInventoryScript(0);
-
-		camera._movingToActor = false;
-	}
-}
+#endif
 
 } // End of namespace Scumm

Index: cursor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/cursor.cpp,v
retrieving revision 2.39
retrieving revision 2.40
diff -u -d -r2.39 -r2.40
--- cursor.cpp	14 May 2005 14:06:35 -0000	2.39
+++ cursor.cpp	14 May 2005 22:56:38 -0000	2.40
@@ -22,14 +22,16 @@
 #include "stdafx.h"
 #include "common/system.h"
 #include "common/util.h"
-#include "scumm/bomp.h"
 #include "scumm/charset.h"
 #include "scumm/intern.h"
 #include "scumm/object.h"
-#include "scumm/resource_v7he.h"
 #include "scumm/saveload.h"
 #include "scumm/scumm.h"
+#include "scumm/bomp.h"
 
+#ifndef DISABLE_HE
+#include "scumm/resource_v7he.h"
+#endif
 
 namespace Scumm {
 
@@ -163,7 +165,6 @@
 	else
 		_win32ResExtractor->setCursor(img);
 }
-#endif
 
 void ScummEngine_v90he::setDefaultCursor() {
 	const uint16 *src;
@@ -196,6 +197,7 @@
 
 	updateCursor();
 }
+#endif
 
 void ScummEngine_v6::setCursorFromImg(uint img, uint room, uint imgindex) {
 	int w, h;

Index: input.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/input.cpp,v
retrieving revision 2.29
retrieving revision 2.30
diff -u -d -r2.29 -r2.30
--- input.cpp	11 May 2005 10:09:05 -0000	2.29
+++ input.cpp	14 May 2005 22:56:38 -0000	2.30
@@ -31,11 +31,18 @@
 #include "scumm/debugger.h"
 #include "scumm/dialogs.h"
 #include "scumm/imuse.h"
-#include "scumm/insane/insane.h"
-#include "scumm/logic_he.h"
 #include "scumm/scumm.h"
 #include "scumm/sound.h"
 
+#ifndef DISABLE_SCUMM_7_8
+#include "scumm/insane/insane.h"
+#endif
+
+#ifndef DISABLE_HE
+#include "scumm/logic_he.h"
+#endif
+
+
 #ifdef _WIN32_WCE
 #define		KEY_ALL_SKIP	3457
 #endif
@@ -211,9 +218,12 @@
 
 void ScummEngine::clearClickedStatus() {
 	_keyPressed = 0;
+
+#ifndef DISABLE_HE
 	if (_heversion >= 98) {
 		((ScummEngine_v90he *)this)->_logicHE->processKeyStroke(_keyPressed);
 	}
+#endif
 	_mouseAndKeyboardStat = 0;
 	_leftBtnPressed &= ~msClicked;
 	_rightBtnPressed &= ~msClicked;
@@ -222,9 +232,11 @@
 void ScummEngine::processKbd(bool smushMode) {
 	int saveloadkey;
 
+#ifndef DISABLE_HE
 	if (_heversion >= 98) {
 		((ScummEngine_v90he *)this)->_logicHE->processKeyStroke(_keyPressed);
 	}
+#endif
 
 	_lastKeyHit = _keyPressed;
 	_keyPressed = 0;
@@ -413,6 +425,7 @@
 
 	if (_lastKeyHit == VAR(VAR_CUTSCENEEXIT_KEY) ||
 		((VAR(VAR_CUTSCENEEXIT_KEY) == 4 || VAR(VAR_CUTSCENEEXIT_KEY) == 64) && _lastKeyHit == 27)) {
+#ifndef DISABLE_SCUMM_7_8
 		// Skip cutscene (or active SMUSH video). For the V2 games, which
 		// normally use F4 for this, we add in a hack that makes escape work,
 		// too (just for convenience).
@@ -422,6 +435,7 @@
 			else
 				_smushVideoShouldFinish = true;
 		}
+#endif
 		if (!smushMode || _smushVideoShouldFinish)
 			abortCutscene();
 		if (_version <= 2) {

Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.483
retrieving revision 2.484
diff -u -d -r2.483 -r2.484
--- intern.h	11 May 2005 21:34:50 -0000	2.483
+++ intern.h	14 May 2005 22:56:38 -0000	2.484
@@ -665,6 +665,7 @@
 	byte VAR_TIMEDATE_SECOND;
 };
 
+#ifndef DISABLE_SCUMM_7_8
 class ScummEngine_v60he : public ScummEngine_v6 {
 protected:
 	typedef void (ScummEngine_v60he::*OpcodeProcv60he)();
@@ -715,7 +716,9 @@
 	void o60_redimArray();
 	void o60_readFilePos();
 };
+#endif
 
+#ifndef DISABLE_HE
 class ScummEngine_v70he : public ScummEngine_v60he {
 	friend class Win32ResExtractor;
 	friend class MacResExtractor;
@@ -1315,7 +1318,9 @@
 	void o100_getSpriteInfo();
 	void o100_getWizData();
 };
+#endif
 
+#ifndef DISABLE_SCUMM_7_8
 class ScummEngine_v7 : public ScummEngine_v6 {
 public:
 	ScummEngine_v7(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16]);
@@ -1429,6 +1434,8 @@
 
 };
 
+#endif
+
 } // End of namespace Scumm
 
 #endif

Index: logic_he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/logic_he.cpp,v
retrieving revision 2.13
retrieving revision 2.14
diff -u -d -r2.13 -r2.14
--- logic_he.cpp	14 May 2005 01:49:12 -0000	2.13
+++ logic_he.cpp	14 May 2005 22:56:39 -0000	2.14
@@ -434,7 +434,6 @@
 }
 
 int LogicHEfunshop::checkShape(int arg_0, int arg_4, int arg_8, int arg_C, int arg_10, int arg_14, int arg_18, int arg_1C, int arg_20, int arg_24) {
-	// XXX: Check arg_20/24 types
 	return 1;
 }
 

Index: module.mk
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/module.mk,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -d -r1.52 -r1.53
--- module.mk	14 May 2005 14:06:36 -0000	1.52
+++ module.mk	14 May 2005 22:56:39 -0000	1.53
@@ -2,7 +2,6 @@
 
 MODULE_OBJS := \
 	scumm/actor.o \
-	scumm/akos.o \
 	scumm/base-costume.o \
 	scumm/bomp.o \
 	scumm/boxes.o \
@@ -39,8 +38,6 @@
 	scumm/script_v2.o \
 	scumm/script_v5.o \
 	scumm/script_v6.o \
-	scumm/script_v6he.o \
-	scumm/script_v8.o \
 	scumm/scumm.o \
 	scumm/sound.o \
 	scumm/string.o \
@@ -48,6 +45,13 @@
 	scumm/util.o \
 	scumm/vars.o \
 	scumm/verbs.o \
+	scumm/thumbnail.o
+
+ifndef DISABLE_SCUMM_7_8
+MODULE_OBJS += \
+	scumm/akos.o \
+	scumm/script_v6he.o \
+	scumm/script_v8.o \
 	scumm/imuse_digi/dimuse.o \
 	scumm/imuse_digi/dimuse_bndmgr.o \
 	scumm/imuse_digi/dimuse_codecs.o \
@@ -69,8 +73,8 @@
 	scumm/smush/smush_player.o \
 	scumm/smush/saud_channel.o \
 	scumm/smush/smush_mixer.o \
-	scumm/smush/smush_font.o \
-	scumm/thumbnail.o
+	scumm/smush/smush_font.o
+endif
 
 ifndef DISABLE_HE
 MODULE_OBJS += \

Index: object.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/object.cpp,v
retrieving revision 1.239
retrieving revision 1.240
diff -u -d -r1.239 -r1.240
--- object.cpp	14 May 2005 14:18:40 -0000	1.239
+++ object.cpp	14 May 2005 22:56:39 -0000	1.240
@@ -1115,6 +1115,7 @@
 	}
 }
 
+#ifndef DISABLE_SCUMM_7_8
 int ScummEngine_v8::getObjectIdFromOBIM(const byte *obim) {
 	// In V8, IMHD has no obj_id, but rather a name string. We map the name
 	// back to an object id using a table derived from the DOBJ resource.
@@ -1129,6 +1130,7 @@
 	const ImageHeader *imhd = (const ImageHeader *)findResourceData(MKID('IMHD'), obim);
 	return READ_LE_UINT16(&imhd->v7.obj_id);
 }
+#endif
 
 int ScummEngine::getObjectIdFromOBIM(const byte *obim) {
 	if (_features & GF_SMALL_HEADER)

Index: palette.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/palette.cpp,v
retrieving revision 2.41
retrieving revision 2.42
diff -u -d -r2.41 -r2.42
--- palette.cpp	26 Apr 2005 15:42:35 -0000	2.41
+++ palette.cpp	14 May 2005 22:56:39 -0000	2.42
@@ -686,6 +686,7 @@
 	}
 }
 
+#ifndef DISABLE_SCUMM_7_8
 static int HSL2RGBHelper(int n1, int n2, int hue) {
 	if (hue > 360)
 		hue = hue - 360;
@@ -778,6 +779,7 @@
 		setDirtyColors(startColor, endColor);
 	}
 }
+#endif
 
 
 int ScummEngine::remapPaletteColor(int r, int g, int b, int threshold) {

Index: resource.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/resource.cpp,v
retrieving revision 1.324
retrieving revision 1.325
diff -u -d -r1.324 -r1.325
--- resource.cpp	14 May 2005 14:06:36 -0000	1.324
+++ resource.cpp	14 May 2005 22:56:39 -0000	1.325
@@ -342,6 +342,7 @@
 	closeRoom();
 }
 
+#ifndef DISABLE_SCUMM_7_8
 void ScummEngine_v7::readIndexBlock(uint32 blocktype, uint32 itemsize) {
 	int num;
 	char *ptr;
@@ -358,6 +359,7 @@
 		ScummEngine::readIndexBlock(blocktype, itemsize);
 	}
 }
+#endif
 
 #ifndef DISABLE_HE
 void ScummEngine_v70he::readIndexBlock(uint32 blocktype, uint32 itemsize) {
@@ -1034,6 +1036,7 @@
 		_shadowPalette = (byte *)calloc(_shadowPaletteSize, 1);
 }
 
+#ifndef DISABLE_SCUMM_7_8
 void ScummEngine_v8::readMAXS(int blockSize) {
 	debug(9, "readMAXS: MAXS has blocksize %d", blockSize);
 
@@ -1096,6 +1099,7 @@
 	_shadowPaletteSize = NUM_SHADOW_PALETTE * 256;
 	_shadowPalette = (byte *)calloc(_shadowPaletteSize, 1);
 }
+#endif
 
 void ScummEngine_v6::readMAXS(int blockSize) {
 	debug(0, "readMAXS: MAXS has blocksize %d", blockSize);
@@ -1148,6 +1152,7 @@
 #endif
 }
 
+#ifndef DISABLE_SCUMM_7_8
 void ScummEngine_v8::readGlobalObjects() {
 	int i;
 	int num = _fileHandle->readUint32LE();
@@ -1189,6 +1194,7 @@
 		_classData[i] = FROM_LE_32(_classData[i]);
 #endif
 }
+#endif
 
 void ScummEngine::allocateArrays() {
 	// Note: Buffers are now allocated in scummMain to allow for

Index: saveload.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/saveload.cpp,v
retrieving revision 1.223
retrieving revision 1.224
diff -u -d -r1.223 -r1.224
--- saveload.cpp	14 May 2005 14:06:37 -0000	1.223
+++ saveload.cpp	14 May 2005 22:56:39 -0000	1.224
@@ -162,10 +162,12 @@
 	if (!_imuse || _saveSound || !_saveTemporaryState)
 		_sound->stopAllSounds();
 
+#ifndef DISABLE_SCUMM_7_8
 	if (_imuseDigital) {
 		_imuseDigital->stopAllSounds();
 		_imuseDigital->resetState();
 	}
+#endif
 
 	_sound->stopCD();
 
@@ -997,12 +999,14 @@
 	s->saveLoadEntries(this, cursorEntries);
 }
 
+#ifndef DISABLE_SCUMM_7_8
 void ScummEngine_v7::saveOrLoad(Serializer *s, uint32 savegameVersion) {
 	ScummEngine::saveOrLoad(s, savegameVersion);
 
 	assert(_imuseDigital);
 	_imuseDigital->saveOrLoad(s);
 }
+#endif
 
 #ifndef DISABLE_HE
 void ScummEngine_v70he::saveOrLoad(Serializer *s, uint32 savegameVersion) {

Index: script_v6.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v6.cpp,v
retrieving revision 1.436
retrieving revision 1.437
diff -u -d -r1.436 -r1.437
--- script_v6.cpp	23 Apr 2005 11:06:17 -0000	1.436
+++ script_v6.cpp	14 May 2005 22:56:39 -0000	1.437
@@ -1,4 +1,3 @@
-
 /* ScummVM - Scumm Interpreter
  * Copyright (C) 2001  Ludvig Strigeus
  * Copyright (C) 2001-2005 The ScummVM project
@@ -29,19 +28,22 @@
 #include "scumm/actor.h"
 #include "scumm/charset.h"
 #include "scumm/imuse.h"
-#include "scumm/imuse_digi/dimuse.h"
 #include "scumm/intern.h"
 #include "scumm/object.h"
 #include "scumm/resource.h"
 #include "scumm/scumm.h"
 #include "scumm/sound.h"
+#include "scumm/util.h"
 #include "scumm/verbs.h"
-#include "scumm/smush/smush_player.h"
 
 #include "sound/mididrv.h"
 #include "sound/mixer.h"
 
+#ifndef DISABLE_SCUMM_7_8
+#include "scumm/imuse_digi/dimuse.h"
 #include "scumm/insane/insane.h"
+#include "scumm/smush/smush_player.h"
+#endif
 
 namespace Scumm {
 
@@ -1088,10 +1090,12 @@
 	// sound. See also o6_soundOps()
 	if (_heversion >= 61)
 		offset = pop();
-		
+
+#ifndef DISABLE_SCUMM_7_8
 	if (_features & GF_DIGI_IMUSE)
 		_imuseDigital->startSfx(pop(), 64);
 	else 
+#endif
 		_sound->addSoundToQueue(pop(), offset);
 }
 
@@ -2490,6 +2494,7 @@
 		case 4:
 			grabCursor(args[1], args[2], args[3], args[4]);
 			break;
+#ifndef DISABLE_SCUMM_7_8
 		case 6: {
 				uint32 speed;
 				if (_smushFrameRate == 0) 
@@ -2522,6 +2527,7 @@
 				}
 			}
 			break;
+#endif
 		case 12:
 			setCursorFromImg(args[1], (uint) - 1, args[2]);
 			break;

Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.511
retrieving revision 1.512
diff -u -d -r1.511 -r1.512
--- scumm.cpp	14 May 2005 14:06:37 -0000	1.511
+++ scumm.cpp	14 May 2005 22:56:39 -0000	1.512
@@ -34,23 +34,32 @@
 #include "gui/message.h"
 #include "gui/newgui.h"
 
-#include "scumm/akos.h"
 #include "scumm/charset.h"
 #include "scumm/costume.h"
 #include "scumm/debugger.h"
 #include "scumm/dialogs.h"
-#include "scumm/imuse_digi/dimuse.h"
 #include "scumm/imuse.h"
-#include "scumm/insane/insane.h"
 #include "scumm/intern.h"
-#include "scumm/logic_he.h"
 #include "scumm/player_nes.h"
 #include "scumm/player_v1.h"
 #include "scumm/player_v2.h"
 #include "scumm/player_v2a.h"
 #include "scumm/player_v3a.h"
-#include "scumm/resource_v7he.h"
+#include "scumm/sound.h"
 #include "scumm/scumm.h"
+#include "scumm/util.h"
+
+#ifndef DISABLE_HE
+#include "scumm/logic_he.h"
+#include "scumm/resource_v7he.h"
+#endif
+
+#ifndef DISABLE_SCUMM_7_8
+#include "scumm/akos.h"
+#include "scumm/imuse_digi/dimuse.h"
+#include "scumm/insane/insane.h"
+#endif
+
 #ifdef __PALM_OS__
 #include "extras/palm-scumm-md5.h"
 #else
@@ -187,6 +196,7 @@
 
 //	{"test", "Test demo game", GID_SAMNMAX, 6, 0, /*MDT_PCSPK |*/ MDT_ADLIB | MDT_NATIVE, GF_NEW_OPCODES, Common::kPlatformUnknown, 0, 0},
 
+#ifndef DISABLE_SCUMM_7_8
 	/* Scumm Version 7 */
 	{"ft", "Full Throttle", GID_FT, 7, 0, MDT_NONE,
 	 GF_NEW_COSTUMES | GF_NEW_CAMERA | GF_DIGI_IMUSE, Common::kPlatformPC, 0, 0},
@@ -215,11 +225,14 @@
 	 GF_NEW_COSTUMES | GF_NEW_CAMERA | GF_DIGI_IMUSE | GF_DEFAULT_TO_1X_SCALER | GF_DEMO, Common::kPlatformWindows, "comi", "COMI.LA0"},
 #endif
 
+#endif
+
 	// Humongous Entertainment Scumm Version 6
-	{"puttputt", "Putt-Putt Joins The Parade", GID_HEGAME, 6, 61, MDT_ADLIB | MDT_NATIVE,
-	 GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, Common::kPlatformPC, 0, 0},
 	{"puttdemo", "Putt-Putt Joins The Parade (Demo)", GID_HEGAME, 6, 60, MDT_ADLIB | MDT_NATIVE,
 	  GF_USE_KEY | GF_MULTIPLE_VERSIONS, Common::kPlatformPC, 0, 0},
+#ifndef DISABLE_SCUMM_7_8
+	{"puttputt", "Putt-Putt Joins The Parade", GID_HEGAME, 6, 61, MDT_ADLIB | MDT_NATIVE,
+	 GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, Common::kPlatformPC, 0, 0},
 	{"moondemo", "Putt-Putt Goes To The Moon (Demo)", GID_HEGAME, 6, 61, MDT_ADLIB | MDT_NATIVE,
 	 GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, Common::kPlatformPC, 0, 0},
 	{"puttmoon", "Putt-Putt Goes To The Moon", GID_HEGAME, 6, 61, MDT_ADLIB | MDT_NATIVE,
@@ -232,6 +245,7 @@
 	 GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, Common::kPlatformPC, 0, 0},
 	{"fbdemo", "Fatty Bear's Birthday Surprise (DOS Demo)", GID_FBEAR, 6, 61, MDT_ADLIB | MDT_NATIVE,
 	 GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, Common::kPlatformPC, 0, 0},
+#endif
 
 #ifndef DISABLE_HE
 	{"activity", "Putt-Putt & Fatty Bear's Activity Pack", GID_HEGAME, 6, 70, MDT_NONE,
@@ -1342,6 +1356,7 @@
 }
 #endif
 
+#ifndef DISABLE_SCUMM_7_8
 ScummEngine_v7::ScummEngine_v7(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16])
  : ScummEngine_v6(detector, syst, gs, md5sum) {
 	_existLanguageFile = false;
@@ -1362,7 +1377,7 @@
 ScummEngine_v8::~ScummEngine_v8() {
 	delete [] _objectIDMap;
 }
-
+#endif
 
 #pragma mark -
 #pragma mark --- Initialization ---
@@ -1425,8 +1440,10 @@
 
 	// Create the costume renderer
 	if (_features & GF_NEW_COSTUMES) {
+#ifndef DISABLE_SCUMM_7_8
 		_costumeRenderer = new AkosRenderer(this);
 		_costumeLoader = new AkosCostumeLoader(this);
+#endif
 	} else if (_platform == Common::kPlatformNES) {
 		_costumeRenderer = new NESCostumeRenderer(this);
 		_costumeLoader = new NESCostumeLoader(this);
@@ -1435,10 +1452,12 @@
 		_costumeLoader = new ClassicCostumeLoader(this);
 	}
 
+#ifndef DISABLE_SCUMM_7_8
 	// Create FT INSANE object
 	if (_gameId == GID_FT)
 		_insane = new Insane((ScummEngine_v6 *)this);
 	else
+#endif
 		_insane = 0;
 
 	// Load game from specified slot, if any
@@ -1755,6 +1774,7 @@
 	}
 }
 
+#ifndef DISABLE_SCUMM_7_8
 void ScummEngine_v60he::scummInit() {
 	ScummEngine::scummInit();
 
@@ -1764,6 +1784,7 @@
 	if (_gameId == GID_FUNPACK)
 		setCursorHotspot(16, 16);
 }
+#endif
 
 #ifndef DISABLE_HE
 void ScummEngine_v72he::scummInit() {
@@ -1844,7 +1865,9 @@
 
 	// Init iMuse
 	if (_features & GF_DIGI_IMUSE) {
+#ifndef DISABLE_SCUMM_7_8
 		_musicEngine = _imuseDigital = new IMuseDigital(this, 10);
+#endif
 	} else if (_platform == Common::kPlatformNES) {
 		_musicEngine = new Player_NES(this);
 	} else if ((_platform == Common::kPlatformAmiga) && (_version == 2)) {
@@ -2247,11 +2270,13 @@
 
 	_sound->processSoundQues();
 
+#ifndef DISABLE_SCUMM_7_8
 	if (_imuseDigital) {
 		_imuseDigital->flushTracks();
 		if ( ((_gameId == GID_DIG) && (!(_features & GF_DEMO))) || (_gameId == GID_CMI) )
 			_imuseDigital->refreshScripts();
 	}
+#endif
 
 	camera._last = camera._cur;
 
@@ -2891,13 +2916,16 @@
 			engine = new ScummEngine_v70he(detector, syst, game, md5sum);
 			break;
 #endif
+#ifndef DISABLE_SCUMM_7_8
 		case 61:
 			engine = new ScummEngine_v60he(detector, syst, game, md5sum);
 			break;
+#endif
 		default:
 			engine = new ScummEngine_v6(detector, syst, game, md5sum);
 		}
 		break;
+#ifndef DISABLE_SCUMM_7_8
 	case 7:
 		engine = new ScummEngine_v7(detector, syst, game, md5sum);
 		break;
@@ -2906,6 +2934,8 @@
 		engine = new ScummEngine_v8(detector, syst, game, md5sum);
 		break;
 #endif
+
+#endif
 	default:
 		error("Engine_SCUMM_create(): Unknown version of game engine");
 	}

Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sound.cpp,v
retrieving revision 1.460
retrieving revision 1.461
diff -u -d -r1.460 -r1.461
--- sound.cpp	13 May 2005 08:45:40 -0000	1.460
+++ sound.cpp	14 May 2005 22:56:39 -0000	1.461
@@ -23,12 +23,15 @@
 #include "stdafx.h"
 #include "scumm/actor.h"
 #include "scumm/imuse.h"
-#include "scumm/imuse_digi/dimuse.h"
 #include "scumm/scumm.h"
 #include "scumm/saveload.h"
 #include "scumm/sound.h"
 #include "scumm/util.h"
 
+#ifndef DISABLE_SCUMM_7_8
+#include "scumm/imuse_digi/dimuse.h"
+#endif
+
 #include "common/config-manager.h"
 #include "common/timer.h"
 #include "common/util.h"
@@ -806,8 +809,10 @@
 		}
 	
 		if (_vm->_imuseDigital) {
+#ifndef DISABLE_SCUMM_7_8
 			//_vm->_imuseDigital->stopSound(kTalkSoundID);
 			_vm->_imuseDigital->startVoice(kTalkSoundID, input);
+#endif
 		} else {
 			_vm->_mixer->playInputStream(Audio::Mixer::kSFXSoundType, handle, input, id);
 		}
@@ -817,7 +822,9 @@
 void Sound::stopTalkSound() {
 	if (_sfxMode & 2) {
 		if (_vm->_imuseDigital) {
+#ifndef DISABLE_SCUMM_7_8
 			_vm->_imuseDigital->stopSound(kTalkSoundID);
+#endif
 		} else if (_vm->_heversion >= 60) {
 			_vm->_mixer->stopID(1);
 		} else {
@@ -855,8 +862,10 @@
 }
 
 int Sound::isSoundRunning(int sound) const {
+#ifndef DISABLE_SCUMM_7_8
 	if (_vm->_imuseDigital)
 		return (_vm->_imuseDigital->getSoundStatus(sound) != 0);
+#endif
 
 	if (sound == _currentCDSound)
 		return pollCD();
@@ -906,8 +915,10 @@
  */
 bool Sound::isSoundInUse(int sound) const {
 
+#ifndef DISABLE_SCUMM_7_8
 	if (_vm->_imuseDigital)
 		return (_vm->_imuseDigital->getSoundStatus(sound) != 0);
+#endif
 
 	if (sound == _currentCDSound)
 		return pollCD() != 0;
@@ -1015,11 +1026,13 @@
 void Sound::soundKludge(int *list, int num) {
 	int i;
 
+#ifndef DISABLE_SCUMM_7_8
 	if (_vm->_imuseDigital) {
 		_vm->_imuseDigital->parseScriptCmds(list[0], list[1], list[2], list[3], list[4],
 												list[5], list[6], list[7]);
 		return;
 	}
+#endif
 
 	if (list[0] == -1) {
 		processSoundQues();
@@ -1081,9 +1094,11 @@
 
 	_soundsPaused = pause;
 
+#ifndef DISABLE_SCUMM_7_8
 	if (_vm->_imuseDigital) {
 		_vm->_imuseDigital->pause(pause);
 	}
+#endif
 
 	_vm->_mixer->pauseAll(pause);
 

Index: string.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/string.cpp,v
retrieving revision 1.290
retrieving revision 1.291
diff -u -d -r1.290 -r1.291
--- string.cpp	8 May 2005 21:49:46 -0000	1.290
+++ string.cpp	14 May 2005 22:56:41 -0000	1.291
@@ -747,10 +747,12 @@
 	return 0;
 }
 
+#ifndef DISABLE_HE
 void ScummEngine_v80he::initCharset(int charsetno) {
 	ScummEngine::initCharset(charsetno);
 	VAR(VAR_CURRENT_CHARSET) = charsetno;
 }
+#endif
 
 void ScummEngine::initCharset(int charsetno) {
 	int i;
@@ -836,6 +838,7 @@
 	_blastTextQueuePos = 0;
 }
 
+#ifndef DISABLE_SCUMM_7_8
 int indexCompare(const void *p1, const void *p2) {
 	const LangIndexNode *i1 = (const LangIndexNode *) p1;
 	const LangIndexNode *i2 = (const LangIndexNode *) p2;
@@ -989,11 +992,6 @@
 	}
 }
 
-void ScummEngine::translateText(const byte *text, byte *trans_buff) {
-	// Default: just copy the string
-	memcpy(trans_buff, text, resStrLen(text) + 1);
-}
-
 void ScummEngine_v7::translateText(const byte *text, byte *trans_buff) {
 	LangIndexNode target;
 	LangIndexNode *found = NULL;
@@ -1083,4 +1081,11 @@
 	}
 }
 
+#endif
+
+void ScummEngine::translateText(const byte *text, byte *trans_buff) {
+	// Default: just copy the string
+	memcpy(trans_buff, text, resStrLen(text) + 1);
+}
+
 } // End of namespace Scumm

Index: vars.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/vars.cpp,v
retrieving revision 1.136
retrieving revision 1.137
diff -u -d -r1.136 -r1.137
--- vars.cpp	11 May 2005 21:35:19 -0000	1.136
+++ vars.cpp	14 May 2005 22:56:41 -0000	1.137
@@ -24,10 +24,13 @@
 #include "stdafx.h"
 #include "common/config-manager.h"
 #include "scumm/scumm.h"
-#include "scumm/logic_he.h"
 #include "scumm/intern.h"
 #include "sound/mididrv.h"
 
+#ifndef DISABLE_HE
+#include "scumm/logic_he.h"
+#endif
+
 namespace Scumm {
 
 void ScummEngine::setupScummVars() {
@@ -194,6 +197,7 @@
 	VAR_CHARSET_MASK = 123;
 }
 
+#ifndef DISABLE_HE
 void ScummEngine_v70he::setupScummVars() {
 	ScummEngine_v6::setupScummVars();
 
@@ -303,7 +307,9 @@
 		VAR_NUM_UNK = 131;
 	}
 }
+#endif
 
+#ifndef DISABLE_SCUMM_7_8
 void ScummEngine_v7::setupScummVars() {
 	VAR_MOUSE_X = 1;
 	VAR_MOUSE_Y = 2;
@@ -500,6 +506,7 @@
 	VAR_BLAST_ABOVE_TEXT = 133;
 	VAR_SYNC = 134;
 }
+#endif
 
 void ScummEngine_v2::initScummVars() {
 
@@ -525,6 +532,7 @@
 		_scummVars[74] = 1225;
 }
 
+#ifndef DISABLE_SCUMM_7_8
 void ScummEngine_v7::initScummVars() {
 	ScummEngine::initScummVars();
 
@@ -539,7 +547,9 @@
 	VAR(VAR_DEFAULT_TALK_DELAY) = 60;
 	VAR(VAR_VOICE_MODE) = ConfMan.getBool("subtitles");
 }
+#endif
 
+#ifndef DISABLE_HE
 void ScummEngine_v70he::initScummVars() {
 	ScummEngine::initScummVars();
 
@@ -591,6 +601,7 @@
 	VAR(VAR_NUM_PALETTES) = _numPalettes;
 	VAR(VAR_NUM_UNK) = _numUnk;
 }
+#endif
 
 void ScummEngine::initScummVars() {
 





More information about the Scummvm-git-logs mailing list