[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