diff options
author | Travis Howell | 2004-10-08 07:34:06 +0000 |
---|---|---|
committer | Travis Howell | 2004-10-08 07:34:06 +0000 |
commit | 7eb10f167cce7d7d221ade3596d7f597ec00e045 (patch) | |
tree | 0993b871ad4cac14840e4b5ea13f8c2e686cd1c1 /scumm | |
parent | 59be342467a9f0437d5d8a0c20f209855b015c99 (diff) | |
download | scummvm-rg350-7eb10f167cce7d7d221ade3596d7f597ec00e045.tar.gz scummvm-rg350-7eb10f167cce7d7d221ade3596d7f597ec00e045.tar.bz2 scummvm-rg350-7eb10f167cce7d7d221ade3596d7f597ec00e045.zip |
Restrict to full game, since it doesn't exist in demo.
svn-id: r15467
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/gfx.cpp | 6 | ||||
-rw-r--r-- | scumm/object.cpp | 17 |
2 files changed, 8 insertions, 15 deletions
diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp index b80f0e4392..116518c7a0 100644 --- a/scumm/gfx.cpp +++ b/scumm/gfx.cpp @@ -1406,11 +1406,7 @@ void Gdi::drawBMAPBg(const byte *ptr, VirtScreen *vs, int startstrip) { } void Gdi::drawBMAPObject(const byte *ptr, VirtScreen *vs, int obj, int x, int y, int w, int h) { - const byte *bmap_ptr; - - warning("drawBMAPObject() called"); - - bmap_ptr = _vm->findResourceData(MKID('BMAP'), ptr); + const byte *bmap_ptr = _vm->findResourceData(MKID('BMAP'), ptr); assert(bmap_ptr); byte code = *bmap_ptr++; diff --git a/scumm/object.cpp b/scumm/object.cpp index 4a8a069e99..6c9460ae61 100644 --- a/scumm/object.cpp +++ b/scumm/object.cpp @@ -171,18 +171,14 @@ int ScummEngine::getObjectIndex(int object) const { int ScummEngine::getObjectImageCount(int object) { const byte *ptr; const ImageHeader *imhd; - int count, objnum; + int objnum; objnum = getObjectIndex(object); - if (objnum == -1) - error("getObjectImageCount: object %d not in memory", object); + assert(objnum != -1); ptr = getOBIMFromObject(_objs[objnum]); imhd = (const ImageHeader *)findResourceData(MKID('IMHD'), ptr); - - count = READ_LE_UINT32(&imhd->v8.image_count); - warning("getObjectImageCount: image count %d", count); - return count; + return (READ_LE_UINT32(&imhd->v8.image_count)); } int ScummEngine::whereIsObject(int object) const { @@ -476,7 +472,7 @@ void ScummEngine::drawObject(int obj, int arg) { if (numstrip != 0) { byte flags; - if (_version == 8) + if ((_gameId == GID_CMI) && !(_features & GF_DEMO)) flags = ((od.flag & 16) == 0) ? Gdi::dbAllowMaskOr : 0; else if (_features & GF_HUMONGOUS) flags = ((od.flag & 1) != 0) ? Gdi::dbAllowMaskOr : 0; @@ -784,7 +780,8 @@ void ScummEngine::setupRoomObject(ObjectData *od, const byte *room, const byte * od->height = (uint)READ_LE_UINT32(&imhd->v8.height); // HACK: This is done sinec an angle doesn't fit into a byte (360 > 256) od->actordir = toSimpleDir(1, READ_LE_UINT32(&imhd->v8.actordir)); - od->flag = (byte) READ_LE_UINT32(&imhd->v8.flag); + if (!(_features & GF_DEMO)) + od->flag = (byte)READ_LE_UINT32(&imhd->v8.flag); } else if (_version == 7) { od->obj_nr = READ_LE_UINT16(&(cdhd->v7.obj_id)); @@ -796,7 +793,7 @@ void ScummEngine::setupRoomObject(ObjectData *od, const byte *room, const byte * od->y_pos = READ_LE_UINT16(&imhd->v7.y_pos); od->width = READ_LE_UINT16(&imhd->v7.width); od->height = READ_LE_UINT16(&imhd->v7.height); - od->actordir = (byte) READ_LE_UINT16(&imhd->v7.actordir); + od->actordir = (byte)READ_LE_UINT16(&imhd->v7.actordir); } else if (_version == 6) { od->obj_nr = READ_LE_UINT16(&(cdhd->v6.obj_id)); |