diff --git a/scumm/akos.cpp b/scumm/akos.cpp index 6e27eaf66a1..cc588cc1b27 100644 --- a/scumm/akos.cpp +++ b/scumm/akos.cpp @@ -319,7 +319,7 @@ void AkosRenderer::codec1_genericDecode() if (v1.scaletable[v1.tmp_x] < scale_x) { v1.x += v1.scaleXstep; - if (v1.x >= _vm->_realWidth) + if (v1.x < 0 || v1.x >= _vm->_realWidth) return; maskbit = revBitMask[v1.x & 7]; v1.destptr += v1.scaleXstep; @@ -387,7 +387,7 @@ void AkosRenderer::codec1_spec1() if (v1.scaletable[v1.tmp_x] < scale_x) { v1.x += v1.scaleXstep; - if (v1.x >= _vm->_realWidth) + if (v1.x < 0 || v1.x >= _vm->_realWidth) return; maskbit = revBitMask[v1.x & 7]; v1.destptr += v1.scaleXstep; @@ -463,7 +463,7 @@ void AkosRenderer::codec1_spec3() if (v1.scaletable[v1.tmp_x] < scale_x) { v1.x += v1.scaleXstep; - if (v1.x >= _vm->_realWidth) + if (v1.x < 0 || v1.x >= _vm->_realWidth) return; maskbit = revBitMask[v1.x & 7]; v1.destptr += v1.scaleXstep; diff --git a/scumm/costume.cpp b/scumm/costume.cpp index 245d6a6ec5c..256725a7fa0 100644 --- a/scumm/costume.cpp +++ b/scumm/costume.cpp @@ -584,7 +584,7 @@ void CostumeRenderer::proc3() _scaleIndexX = t + _scaleIndexXStep; if (cost_scaleTable[t] < _scaleX) { _xpos += _scaleIndexXStep; - if (_xpos >= _vm->_realWidth) + if (_xpos < 0 || _xpos >= _vm->_realWidth) return; maskbit = revBitMask[_xpos & 7]; _backbuff_ptr += _scaleIndexXStep; @@ -646,7 +646,7 @@ void CostumeRenderer::proc2() _scaleIndexX = t + _scaleIndexXStep; if (cost_scaleTable[t] < _scaleX) { _xpos += _scaleIndexXStep; - if (_xpos >= _vm->_realWidth) + if (_xpos < 0 || _xpos >= _vm->_realWidth) return; maskbit = revBitMask[_xpos & 7]; _backbuff_ptr += _scaleIndexXStep; @@ -707,7 +707,7 @@ void CostumeRenderer::proc1() _scaleIndexX = t + _scaleIndexXStep; if (cost_scaleTable[t] < _scaleX) { _xpos += _scaleIndexXStep; - if (_xpos >= _vm->_realWidth) + if (_xpos < 0 || _xpos >= _vm->_realWidth) return; _backbuff_ptr += _scaleIndexXStep; } @@ -1180,7 +1180,7 @@ void CostumeRenderer::proc_special(Actor *a, byte mask2) _scaleIndexX = t + _scaleIndexXStep; if (cost_scaleTable[t] < _scaleX) { _xpos += _scaleIndexXStep; - if (_xpos >= _vm->_realWidth) + if (_xpos < 0 || _xpos >= _vm->_realWidth) return; maskbit = revBitMask[_xpos & 7]; _backbuff_ptr += _scaleIndexXStep;