[Scummvm-cvs-logs] CVS: scummvm/scumm actor.cpp,1.100,1.101 actor.h,1.22,1.23 boxes.cpp,1.32,1.33 debugger.cpp,1.44,1.45 object.cpp,1.100,1.101 script.cpp,1.94,1.95 script_v5.cpp,1.87,1.88 script_v6.cpp,1.119,1.120 script_v8.cpp,2.160,2.161 scumm.h,1.201,1.202 scummvm.cpp,2.167,2.168
Max Horn
fingolfin at users.sourceforge.net
Tue May 20 13:43:04 CEST 2003
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv3617
Modified Files:
actor.cpp actor.h boxes.cpp debugger.cpp object.cpp script.cpp
script_v5.cpp script_v6.cpp script_v8.cpp scumm.h scummvm.cpp
Log Message:
added enum's for the known actor/object claasses; extended putClass/getClass to translate the X/Y flip classes; made code use the new enum's; some other cleanup
Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/actor.cpp,v
retrieving revision 1.100
retrieving revision 1.101
diff -u -d -r1.100 -r1.101
--- actor.cpp 20 May 2003 19:35:40 -0000 1.100
+++ actor.cpp 20 May 2003 20:42:27 -0000 1.101
@@ -32,8 +32,15 @@
#include <math.h>
-byte Actor::INVALID_BOX = 0;
+byte Actor::kInvalidBox = 0;
+Scumm *Actor::_vm = 0;
+void Actor::initActorClass(Scumm *scumm) {
+ _vm = scumm;
+ if (_vm->_features & GF_SMALL_HEADER) {
+ kInvalidBox = 255;
+ }
+}
void Actor::initActor(int mode) {
if (mode == 1) {
@@ -71,30 +78,28 @@
forceClip = 0;
ignoreTurns = false;
- initFrame = 1;
- walkFrame = 2;
- standFrame = 3;
- talkFrame1 = 4;
- talkFrame2 = 5;
+ if (_vm->_features & GF_AFTER_V2) {
+ initFrame = 2;
+ walkFrame = 0;
+ standFrame = 1;
+ talkFrame1 = 5;
+ talkFrame2 = 4;
+ } else {
+ initFrame = 1;
+ walkFrame = 2;
+ standFrame = 3;
+ talkFrame1 = 4;
+ talkFrame2 = 5;
+ }
walk_script = 0;
talk_script = 0;
- if (_vm) {
- if (_vm->_features & GF_AFTER_V2) {
- initFrame = 2;
- walkFrame = 0;
- standFrame = 1;
- talkFrame1 = 5;
- talkFrame2 = 4;
- }
- _vm->_classData[number] = (_vm->_features & GF_AFTER_V7) ? _vm->_classData[0] : 0;
- }
+ _vm->_classData[number] = (_vm->_features & GF_AFTER_V7) ? _vm->_classData[0] : 0;
}
void Actor::stopActorMoving() {
- if (_vm)
- _vm->stopScriptNr(walk_script);
+ _vm->stopScriptNr(walk_script);
moving = 0;
}
@@ -219,12 +224,12 @@
// for other games besides Loom!
// Check for X-Flip
- if ((flags & kBoxXFlip) || isInClass((_vm->_gameId == GID_LOOM256 || _vm->_gameId == GID_LOOM) ? 19 : 30)) {
+ if ((flags & kBoxXFlip) || isInClass(kObjectClassXFlip)) {
dir = 360 - dir;
flipX = !flipX;
}
// Check for Y-Flip
- if ((flags & kBoxYFlip) || isInClass((_vm->_gameId == GID_LOOM256 || _vm->_gameId == GID_LOOM) ? 18 : 29)) {
+ if ((flags & kBoxYFlip) || isInClass(kObjectClassYFlip)) {
dir = 180 - dir;
flipY = !flipY;
}
@@ -605,7 +610,7 @@
abr.x = dstX;
abr.y = dstY;
- abr.dist = INVALID_BOX;
+ abr.dist = kInvalidBox;
if (ignoreBoxes)
return abr;
@@ -618,14 +623,14 @@
return abr;
bestDist = (uint) 0xFFFF;
- bestBox = INVALID_BOX;
+ bestBox = kInvalidBox;
// We iterate (backwards) over all boxes, searching the one closes
// to the desired coordinates.
for (box = numBoxes; box >= firstValidBox; box--) {
flags = _vm->getBoxFlags(box);
- if (flags & kBoxInvisible && (!(flags & kBoxPlayerOnly) || isInClass(31)))
+ if (flags & kBoxInvisible && !(flags & kBoxPlayerOnly && !isInClass(kObjectClassPlayer)))
continue;
// For increased performance, we perform a quick test if
@@ -691,7 +696,7 @@
stopActorMoving();
}
- if (walkbox != INVALID_BOX) {
+ if (walkbox != kInvalidBox) {
byte flags = _vm->getBoxFlags(walkbox);
if (flags & 7) {
turnToDirection(facing);
@@ -908,7 +913,7 @@
if (forceClip)
cr._zbuf = forceClip;
- else if (isInClass(20))
+ else if (isInClass(kObjectClassNeverClip))
cr._zbuf = 0;
else {
cr._zbuf = _vm->getMaskFromBox(walkbox);
@@ -1056,7 +1061,8 @@
for (i = 1; i < _numActors; i++) {
Actor *a = derefActor(i);
assert(a->number == i);
- if (testGfxUsageBit(x >> 3, i) && !getClass(i, 32) && y >= a->top && y <= a->bottom) {
+ if (testGfxUsageBit(x >> 3, i) && !getClass(i, kObjectClassUntouchable)
+ && y >= a->top && y <= a->bottom) {
return i;
}
}
@@ -1182,8 +1188,8 @@
}
if (ignoreBoxes) {
- abr.dist = INVALID_BOX;
- walkbox = INVALID_BOX;
+ abr.dist = kInvalidBox;
+ walkbox = kInvalidBox;
} else {
if (_vm->checkXYInBoxBounds(walkdata.destbox, abr.x, abr.y)) {
abr.dist = walkdata.destbox;
@@ -1294,7 +1300,7 @@
do {
moving &= ~MF_NEW_LEG;
- if (walkbox == INVALID_BOX) {
+ if (walkbox == kInvalidBox) {
setBox(walkdata.destbox);
walkdata.curbox = walkdata.destbox;
break;
@@ -1366,7 +1372,7 @@
do {
moving &= ~MF_NEW_LEG;
- if (walkbox == INVALID_BOX) {
+ if (walkbox == kInvalidBox) {
walkbox = walkdata.destbox;
walkdata.curbox = walkdata.destbox;
break;
@@ -1385,7 +1391,7 @@
// FIXME: not sure if this is needed in non-Zak games, but I think it shouldn't
// hurt there either.
int flags = _vm->getBoxFlags(next_box);
- if (flags & kBoxLocked && (!(flags & kBoxPlayerOnly) || isInClass(31))) {
+ if (flags & kBoxLocked && !(flags & kBoxPlayerOnly && !isInClass(kObjectClassPlayer))) {
moving |= MF_LAST_LEG;
return;
}
@@ -1509,22 +1515,10 @@
}
void Actor::classChanged(int cls, bool value) {
- switch(cls) {
- case 20: // Never clip
- break;
- case 21: // Always clip
+ if (cls == kObjectClassAlwaysClip)
forceClip = value;
- break;
- case 22: // Ignore boxes
+ if (cls == kObjectClassIgnoreBoxes)
ignoreBoxes = value;
- break;
- case 29: // Y flip
- break;
- case 30: // X flip
- break;
- case 31: // ??
- break;
- }
}
bool Actor::isInClass(int cls) {
Index: actor.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/actor.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- actor.h 20 May 2003 19:35:40 -0000 1.22
+++ actor.h 20 May 2003 20:42:27 -0000 1.23
@@ -70,6 +70,11 @@
class Actor {
public:
+ static byte kInvalidBox;
+
+ static void initActorClass(Scumm *scumm);
+
+public:
int x, y, top, bottom;
int elevation;
uint width;
@@ -102,18 +107,14 @@
uint16 sound[8];
CostumeData cost;
byte palette[256];
-
- static byte INVALID_BOX;
-
protected:
- Scumm *_vm;
+ static Scumm *_vm;
public:
// Constructor, sets all data to 0
Actor() {
- _vm = 0;
-
+ assert(_vm != 0);
top = bottom = 0;
number = 0;
needRedraw = needBgReset = costumeNeedsInit = visible = false;
@@ -130,9 +131,6 @@
initActor(1);
}
- void initActorClass(Scumm *scumm) {
- _vm = scumm;
- }
//protected:
void hideActor();
void showActor();
@@ -192,7 +190,7 @@
}
void classChanged(int cls, bool value);
-
+
protected:
bool isInClass(int cls);
};
Index: boxes.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/boxes.cpp,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- boxes.cpp 20 May 2003 12:54:04 -0000 1.32
+++ boxes.cpp 20 May 2003 20:42:27 -0000 1.33
@@ -280,7 +280,7 @@
bool Scumm::checkXYInBoxBounds(int b, int x, int y) {
BoxCoords box;
- if (b < 0 || b == Actor::INVALID_BOX)
+ if (b < 0 || b == Actor::kInvalidBox)
return false;
getBoxCoordinates(b, &box);
@@ -571,10 +571,10 @@
if (from == to)
return to;
- if (to == Actor::INVALID_BOX)
+ if (to == Actor::kInvalidBox)
return -1;
- if (from == Actor::INVALID_BOX)
+ if (from == Actor::kInvalidBox)
return to;
assert(from < numOfBoxes);
Index: debugger.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/debugger.cpp,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -d -r1.44 -r1.45
--- debugger.cpp 19 May 2003 11:31:33 -0000 1.44
+++ debugger.cpp 20 May 2003 20:42:27 -0000 1.45
@@ -638,7 +638,7 @@
_s->addObjectToInventory(obj, atoi(argv[3]));
_s->putOwner(obj, _s->VAR(_s->VAR_EGO));
- _s->putClass(obj, 32, 1);
+ _s->putClass(obj, kObjectClassUntouchable, 1);
_s->putState(obj, 1);
_s->removeObjectFromRoom(obj);
_s->clearDrawObjectQueue();
Index: object.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/object.cpp,v
retrieving revision 1.100
retrieving revision 1.101
diff -u -d -r1.100 -r1.101
--- object.cpp 20 May 2003 19:35:39 -0000 1.100
+++ object.cpp 20 May 2003 20:42:27 -0000 1.101
@@ -34,12 +34,24 @@
checkRange(32, 1, cls, "Class %d out of range in getClass");
if (_features & GF_SMALL_HEADER) {
- if (cls == 31) // CLASS_PLAYERONLY
- cls = 23;
-
- if (cls == 32) // CLASS_TOUCHABLE
- cls = 24;
+ // Translate the new (V5) object classes to the old classes
+ // (for those which differ).
+ switch (cls) {
+ case kObjectClassUntouchable:
+ cls = 24;
+ break;
+ case kObjectClassPlayer:
+ cls = 23;
+ break;
+ case kObjectClassXFlip:
+ cls = 19;
+ break;
+ case kObjectClassYFlip:
+ cls = 18;
+ break;
+ }
}
+
return (_classData[obj] & (1 << (cls - 1))) != 0;
}
@@ -50,20 +62,30 @@
checkRange(32, 1, cls, "Class %d out of range in putClass");
if (_features & GF_SMALL_HEADER) {
- if (cls == 31) // CLASS_PLAYERONLY
- cls = 23;
-
- if (cls == 32) // CLASS_TOUCHABLE
- cls = 24;
-
- // FIXME: It isn't enough for the Indy3 intro to make the
- // little trains ignore boxes (class 22), they have to always
- // clip (class 21) as well. Is this yet another walkbox 0
- // error?
- if (_gameId == GID_INDY3_256 && cls == 22 && _currentRoom == 76)
- putClass(obj, 21, set);
+ // Translate the new (V5) object classes to the old classes
+ // (for those which differ).
+ switch (cls) {
+ case kObjectClassUntouchable:
+ cls = 24;
+ break;
+ case kObjectClassPlayer:
+ cls = 23;
+ break;
+ case kObjectClassXFlip:
+ cls = 19;
+ break;
+ case kObjectClassYFlip:
+ cls = 18;
+ break;
+ }
}
+ // FIXME: It isn't enough for the Indy3 intro to make the
+ // little trains ignore boxes, they have to always clip as
+ // well. Is this yet another walkbox 0 error?
+ if (_gameId == GID_INDY3_256 && cls == kObjectClassIgnoreBoxes && _currentRoom == 76)
+ putClass(obj, kObjectClassAlwaysClip, set);
+
if (set)
_classData[obj] |= (1 << (cls - 1));
else
@@ -256,7 +278,7 @@
const int mask = (_features & GF_AFTER_V2) ? 0x8 : 0xF;
for (i = 1; i < _numLocalObjects; i++) {
- if ((_objs[i].obj_nr < 1) || getClass(_objs[i].obj_nr, 32))
+ if ((_objs[i].obj_nr < 1) || getClass(_objs[i].obj_nr, kObjectClassUntouchable))
continue;
if (_features & GF_AFTER_V2 && _objs[i].state & 0x2)
continue;
@@ -403,7 +425,7 @@
byte flags = Gdi::dbAllowMaskOr;
// Sam & Max needs this to fix object-layering problems with
// the inventory and conversation icons.
- if ((_features & GF_AFTER_V7 || _gameId == GID_SAMNMAX) && getClass(od->obj_nr, 22))
+ if ((_features & GF_AFTER_V7 || _gameId == GID_SAMNMAX) && getClass(od->obj_nr, kObjectClassIgnoreBoxes))
flags |= Gdi::dbDrawMaskOnAll;
gdi.drawBitmap(ptr, &virtscr[0], x, ypos, width << 3, height, x - xpos, numstrip, flags);
}
Index: script.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script.cpp,v
retrieving revision 1.94
retrieving revision 1.95
diff -u -d -r1.94 -r1.95
--- script.cpp 20 May 2003 15:41:07 -0000 1.94
+++ script.cpp 20 May 2003 20:42:27 -0000 1.95
@@ -76,6 +76,121 @@
runScriptNested(slot);
}
+void Scumm::runVerbCode(int object, int entry, bool freezeResistant, bool recursive, int *vars) {
+ ScriptSlot *s;
+ uint32 obcd;
+ int slot, where, offs;
+
+ if (!object)
+ return;
+
+ if (!recursive)
+ stopObjectScript(object);
+
+ where = whereIsObject(object);
+
+ if (where == WIO_NOT_FOUND) {
+ warning("Code for object %d not in room %d", object, _roomResource);
+ return;
+ }
+
+ obcd = getOBCDOffs(object);
+ slot = getScriptSlot();
+
+ offs = getVerbEntrypoint(object, entry);
+ if (offs == 0)
+ return;
+
+ s = &vm.slot[slot];
+ s->number = object;
+ s->offs = obcd + offs;
+ s->status = ssRunning;
+ s->where = where;
+ s->freezeResistant = freezeResistant;
+ s->recursive = recursive;
+ s->freezeCount = 0;
+ s->delayFrameCount = 0;
+
+ initializeLocals(slot, vars);
+
+ runScriptNested(slot);
+}
+
+void Scumm::initializeLocals(int slot, int *vars) {
+ int i;
+ if (!vars) {
+ for (i = 0; i < 16; i++)
+ vm.localvar[slot][i] = 0;
+ } else {
+ for (i = 0; i < 16; i++)
+ vm.localvar[slot][i] = vars[i];
+ }
+}
+
+int Scumm::getVerbEntrypoint(int obj, int entry) {
+ byte *objptr, *verbptr;
+ int verboffs;
+
+ if (whereIsObject(obj) == WIO_NOT_FOUND)
+ return 0;
+
+ objptr = getOBCDFromObject(obj);
+ assert(objptr);
+
+ if (_features & GF_AFTER_V2)
+ verbptr = objptr + 15;
+ else if (_features & GF_OLD_BUNDLE)
+ verbptr = objptr + 17;
+ else if (_features & GF_SMALL_HEADER)
+ verbptr = objptr + 19;
+ else
+ verbptr = findResource(MKID('VERB'), objptr);
+
+ assert(verbptr);
+
+ verboffs = verbptr - objptr;
+
+ if (!(_features & GF_SMALL_HEADER))
+ verbptr += _resourceHeaderSize;
+
+ if (_features & GF_AFTER_V8) {
+ uint32 *ptr = (uint32 *)verbptr;
+ uint32 verb;
+ do {
+ verb = READ_LE_UINT32(ptr);
+ if (!verb)
+ return 0;
+ if (verb == (uint32)entry || verb == 0xFFFFFFFF)
+ break;
+ ptr += 2;
+ } while (1);
+ return verboffs + 8 + READ_LE_UINT32(ptr + 1);
+ } if (_features & GF_AFTER_V2) {
+ do {
+ if (!*verbptr)
+ return 0;
+ if (*verbptr == entry || *verbptr == 0xFF)
+ break;
+ verbptr += 2;
+ } while (1);
+
+ return *(verbptr + 1);
+ } else {
+ do {
+ if (!*verbptr)
+ return 0;
+ if (*verbptr == entry || *verbptr == 0xFF)
+ break;
+ verbptr += 3;
+ } while (1);
+
+ if (_features & GF_SMALL_HEADER)
+ return READ_LE_UINT16(verbptr + 1);
+ else
+ return verboffs + READ_LE_UINT16(verbptr + 1);
+ }
+}
+
/* Stop script 'script' */
void Scumm::stopScriptNr(int script) {
ScriptSlot *ss;
@@ -791,121 +906,6 @@
ss->delay = 0;
}
}
- }
-}
-
-void Scumm::runVerbCode(int object, int entry, bool freezeResistant, bool recursive, int *vars) {
- ScriptSlot *s;
- uint32 obcd;
- int slot, where, offs;
-
- if (!object)
- return;
-
- if (!recursive)
- stopObjectScript(object);
-
- where = whereIsObject(object);
-
- if (where == WIO_NOT_FOUND) {
- warning("Code for object %d not in room %d", object, _roomResource);
- return;
- }
-
- obcd = getOBCDOffs(object);
- slot = getScriptSlot();
-
- offs = getVerbEntrypoint(object, entry);
- if (offs == 0)
- return;
-
- s = &vm.slot[slot];
- s->number = object;
- s->offs = obcd + offs;
- s->status = ssRunning;
- s->where = where;
- s->freezeResistant = freezeResistant;
- s->recursive = recursive;
- s->freezeCount = 0;
- s->delayFrameCount = 0;
-
- initializeLocals(slot, vars);
-
- runScriptNested(slot);
-}
-
-void Scumm::initializeLocals(int slot, int *vars) {
- int i;
- if (!vars) {
- for (i = 0; i < 16; i++)
- vm.localvar[slot][i] = 0;
- } else {
- for (i = 0; i < 16; i++)
- vm.localvar[slot][i] = vars[i];
- }
-}
-
-int Scumm::getVerbEntrypoint(int obj, int entry) {
- byte *objptr, *verbptr;
- int verboffs;
-
- if (whereIsObject(obj) == WIO_NOT_FOUND)
- return 0;
-
- objptr = getOBCDFromObject(obj);
- assert(objptr);
-
- if (_features & GF_AFTER_V2)
- verbptr = objptr + 15;
- else if (_features & GF_OLD_BUNDLE)
- verbptr = objptr + 17;
- else if (_features & GF_SMALL_HEADER)
- verbptr = objptr + 19;
- else
- verbptr = findResource(MKID('VERB'), objptr);
-
- assert(verbptr);
-
- verboffs = verbptr - objptr;
-
- if (!(_features & GF_SMALL_HEADER))
- verbptr += _resourceHeaderSize;
-
- if (_features & GF_AFTER_V8) {
- uint32 *ptr = (uint32 *)verbptr;
- uint32 verb;
- do {
- verb = READ_LE_UINT32(ptr);
- if (!verb)
- return 0;
- if (verb == (uint32)entry || verb == 0xFFFFFFFF)
- break;
- ptr += 2;
- } while (1);
- return verboffs + 8 + READ_LE_UINT32(ptr + 1);
- } if (_features & GF_AFTER_V2) {
- do {
- if (!*verbptr)
- return 0;
- if (*verbptr == entry || *verbptr == 0xFF)
- break;
- verbptr += 2;
- } while (1);
-
- return *(verbptr + 1);
- } else {
- do {
- if (!*verbptr)
- return 0;
- if (*verbptr == entry || *verbptr == 0xFF)
- break;
- verbptr += 3;
- } while (1);
-
- if (_features & GF_SMALL_HEADER)
- return READ_LE_UINT16(verbptr + 1);
- else
- return verboffs + READ_LE_UINT16(verbptr + 1);
}
}
Index: script_v5.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v5.cpp,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -d -r1.87 -r1.88
--- script_v5.cpp 20 May 2003 16:13:34 -0000 1.87
+++ script_v5.cpp 20 May 2003 20:42:27 -0000 1.88
@@ -1435,7 +1435,7 @@
room = _roomResource;
addObjectToInventory(obj, room);
putOwner(obj, VAR(VAR_EGO));
- putClass(obj, 32, 1);
+ putClass(obj, kObjectClassUntouchable, 1);
putState(obj, 1);
removeObjectFromRoom(obj);
clearDrawObjectQueue();
@@ -2637,7 +2637,7 @@
addObjectToInventory(obj, _roomResource);
removeObjectFromRoom(obj);
putOwner(obj, VAR(VAR_EGO));
- putClass(obj, 32, 1);
+ putClass(obj, kObjectClassUntouchable, 1);
putState(obj, 1);
clearDrawObjectQueue();
runHook(1);
Index: script_v6.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v6.cpp,v
retrieving revision 1.119
retrieving revision 1.120
diff -u -d -r1.119 -r1.120
--- script_v6.cpp 19 May 2003 15:40:34 -0000 1.119
+++ script_v6.cpp 20 May 2003 20:42:28 -0000 1.120
@@ -1120,7 +1120,7 @@
addObjectToInventory(obj, room);
putOwner(obj, VAR(VAR_EGO));
- putClass(obj, 32, 1);
+ putClass(obj, kObjectClassUntouchable, 1);
putState(obj, 1);
removeObjectFromRoom(obj);
clearDrawObjectQueue();
Index: script_v8.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v8.cpp,v
retrieving revision 2.160
retrieving revision 2.161
diff -u -d -r2.160 -r2.161
--- script_v8.cpp 18 May 2003 21:14:49 -0000 2.160
+++ script_v8.cpp 20 May 2003 20:42:28 -0000 2.161
@@ -1540,7 +1540,7 @@
if (eo->posX <= x && eo->width + eo->posX > x &&
eo->posY <= y && eo->height + eo->posY > y) {
- if (!getClass(eo->number, 32)) {
+ if (!getClass(eo->number, kObjectClassUntouchable)) {
push(eo->number);
return;
}
Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.201
retrieving revision 1.202
diff -u -d -r1.201 -r1.202
--- scumm.h 19 May 2003 11:31:35 -0000 1.201
+++ scumm.h 20 May 2003 20:42:28 -0000 1.202
@@ -61,6 +61,16 @@
KEY_SET_OPTIONS = 3456 // WinCE
};
+enum ObjectClass {
+ kObjectClassNeverClip = 20,
+ kObjectClassAlwaysClip = 21,
+ kObjectClassIgnoreBoxes = 22,
+ kObjectClassYFlip = 29,
+ kObjectClassXFlip = 30,
+ kObjectClassPlayer = 31, // Actor is controlled by the player
+ kObjectClassUntouchable = 32
+};
+
#include "gfx.h"
#include "boxes.h"
Index: scummvm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scummvm.cpp,v
retrieving revision 2.167
retrieving revision 2.168
diff -u -d -r2.167 -r2.168
--- scummvm.cpp 20 May 2003 16:36:26 -0000 2.167
+++ scummvm.cpp 20 May 2003 20:42:28 -0000 2.168
@@ -542,9 +542,6 @@
_hexdumpScripts = false;
_showStack = false;
- if (_features & GF_SMALL_HEADER)
- Actor::INVALID_BOX = 255;
-
if (_gameId == GID_ZAK256) { // FmTowns is 320x240
_screenWidth = 320;
_screenHeight = 240;
@@ -695,11 +692,11 @@
setupCursor();
// Allocate and Initialize actors
+ Actor::initActorClass(this);
_actors = new Actor[_numActors];
for (i = 1; i < _numActors; i++) {
a = derefActor(i);
a->number = i;
- a->initActorClass(this);
a->initActor(1);
}
More information about the Scummvm-git-logs
mailing list