diff options
author | Vincent Hamm | 2002-04-19 15:34:35 +0000 |
---|---|---|
committer | Vincent Hamm | 2002-04-19 15:34:35 +0000 |
commit | 780aecab878aaf96944bf8591dfd4da87b442a63 (patch) | |
tree | 05a5a5d2ba9f920a964426a73e2928929e285f91 | |
parent | 32d213bc1250ddb7dfff23be641961d26ebaa7b6 (diff) | |
download | scummvm-rg350-780aecab878aaf96944bf8591dfd4da87b442a63.tar.gz scummvm-rg350-780aecab878aaf96944bf8591dfd4da87b442a63.tar.bz2 scummvm-rg350-780aecab878aaf96944bf8591dfd4da87b442a63.zip |
Fixed indy3 when going to Venice. Fixed missing objects in Zak intro.
svn-id: r4012
-rw-r--r-- | costume.cpp | 5 | ||||
-rw-r--r-- | script_v1.cpp | 11 |
2 files changed, 8 insertions, 8 deletions
diff --git a/costume.cpp b/costume.cpp index 8bca4f1cac..43fee9ad9a 100644 --- a/costume.cpp +++ b/costume.cpp @@ -847,9 +847,10 @@ byte CostumeRenderer::drawOneSlot(Actor * a, int slot) return 0; i = cd->curpos[slot] & 0x7FFF; + _frameptr = - _loaded._ptr + READ_LE_UINT16(_loaded._ptr + _loaded._numColors + - slot * 2 + 10); + _loaded._ptr + READ_LE_UINT16(_loaded._ptr + _loaded._numColors + slot * 2 + 10); + code = _loaded._dataptr[i] & 0x7F; _srcptr = _loaded._ptr + READ_LE_UINT16(_frameptr + code * 2); diff --git a/script_v1.cpp b/script_v1.cpp index 2523f147e0..b113eab93c 100644 --- a/script_v1.cpp +++ b/script_v1.cpp @@ -1074,7 +1074,7 @@ void Scumm::o5_drawObject() if (_features & GF_SMALL_HEADER) { int temp = getVarOrDirectWord(0x40); - getVarOrDirectWord(0x20); // Room + int temp2= getVarOrDirectWord(0x20); // Room idx = getObjectIndex(obj); if (idx == -1) @@ -1082,11 +1082,10 @@ void Scumm::o5_drawObject() od = &_objs[idx]; xpos = ypos = 255; if (temp != 0xFF) { - od->walk_x += (xpos << 3) - od->x_pos; - od->x_pos = xpos << 3; - od->walk_y += (ypos << 3) - od->y_pos; - od->y_pos = ypos << 3; + od->x_pos = temp<<3; + od->y_pos = temp2<<3; } + addObjectToDrawQue(idx); x = od->x_pos; @@ -1881,7 +1880,7 @@ void Scumm::o5_roomOps() if (_features & GF_OLD256) { a = getVarOrDirectByte(0x80); b = getVarOrDirectByte(0x40); - if (_gameId == GID_INDY3_256 && a == 16 && b == 0) { /* FIXME */ + if (_gameId == GID_INDY3_256 && (a == 0 || a ==16) && b == 0) { /* FIXME */ // Set screen height c = fetchScriptByte(); d = fetchScriptByte(); |