diff -ur ScummVM+orig/scummvm/scumm/gfx.cpp ScummVM+hack/scummvm/scumm/gfx.cpp
old
|
new
|
|
844 | 844 | blit(backbuff, bgbak, width, height); |
845 | 845 | if (vs->number == 0 && _charset->_hasMask && height) { |
846 | 846 | byte *mask; |
847 | | int mask_width = (width >> 3); |
| 847 | // Note: At first sight it may look as if this could |
| 848 | // be optimized to (rect.right - rect.left) >> 3 and |
| 849 | // thus to width >> 3, but that's not the case since |
| 850 | // we are dealing with integer math here. |
| 851 | int mask_width = (rect.right >> 3) - (rect.left >> 3); |
848 | 852 | |
849 | | if (width & 0x07) |
| 853 | if (rect.right & 0x07) |
850 | 854 | mask_width++; |
851 | 855 | |
852 | 856 | mask = getResourceAddress(rtBuffer, 9) + rect.top * gdi._numStrips + (rect.left >> 3) + _screenStartStrip; |