diff -ur ScummVM-cvs20030516/scummvm/scumm/costume.cpp ScummVM-cvs20030516+hack/scummvm/scumm/costume.cpp
old
|
new
|
|
299 | 299 | if (masking || charsetmask) { |
300 | 300 | _mask_ptr = _vm->getResourceAddress(rtBuffer, 9) + _ypos * _numStrips + _vm->_screenStartStrip; |
301 | 301 | _imgbufoffs = _vm->gdi._imgBufOffs[_zbuf]; |
302 | | if (!charsetmask && _zbuf != 0) |
| 302 | if (!charsetmask && _zbuf != 0) { |
303 | 303 | _mask_ptr += _imgbufoffs; |
| 304 | _imgbufoffs = 0; |
| 305 | } |
304 | 306 | _mask_ptr_dest = _mask_ptr + _xpos / 8; |
305 | 307 | } |
306 | 308 | |
307 | 309 | CHECK_HEAP |
308 | 310 | if (_shadow_mode) { |
309 | | proc_special((masking << 1) + charsetmask); |
| 311 | proc_special((masking << 1) | (charsetmask ? 1 : 0)); |
310 | 312 | return b; |
311 | 313 | } |
312 | 314 | |
… |
… |
|
1096 | 1098 | shadow4 = _shadow_mode & 0x10; |
1097 | 1099 | shadow5 = _shadow_mode & 0x0F; |
1098 | 1100 | |
1099 | | mask = _mask_ptr = _mask_ptr_dest; |
| 1101 | mask = _mask_ptr_dest; |
1100 | 1102 | maskbit = revBitMask[_xpos & 7]; |
1101 | 1103 | y = _ypos; |
1102 | 1104 | |
1103 | | mask = _mask_ptr_dest; |
1104 | 1105 | dstorg = dst = _backbuff_ptr; |
1105 | 1106 | height = _height2; |
1106 | 1107 | width = _width2; |
… |
… |
|
1115 | 1116 | |
1116 | 1117 | dst = _backbuff_ptr; |
1117 | 1118 | |
1118 | | if (mask2 != 0 && mask2 < 3) |
1119 | | _imgbufoffs = 0; |
1120 | | |
1121 | 1119 | if (_docontinue) |
1122 | 1120 | goto StartPos; |
1123 | 1121 | |
diff -ur ScummVM-cvs20030516/scummvm/scumm/gfx.cpp ScummVM-cvs20030516+hack/scummvm/scumm/gfx.cpp
old
|
new
|
|
3098 | 3098 | int g = (int) (*curPtr++ * greenScale) >> 8; |
3099 | 3099 | int b = (int) (*curPtr++ * blueScale) >> 8; |
3100 | 3100 | |
3101 | | searchPtr = palPtr; |
| 3101 | searchPtr = palPtr + from * 3; |
3102 | 3102 | bestResult = 32000; |
3103 | | currentIndex = 0; |
| 3103 | currentIndex = from; |
3104 | 3104 | |
3105 | 3105 | for (j = from; j < to; j++) { |
3106 | 3106 | int ar = (*searchPtr++); |