diff -ur ScummVM-cvs20030429/scummvm/scumm/charset.cpp ScummVM-cvs20030429+hack/scummvm/scumm/charset.cpp
old
|
new
|
|
225 | 225 | bit = 0x80; |
226 | 226 | } |
227 | 227 | if (buffer & bit) { |
228 | | byte *dst = dest_ptr + y * _vm->_realWidth + x; |
229 | | |
230 | | if (_dropShadow) |
231 | | *(dst + _vm->_realWidth + 1) = 0; |
232 | | *dst = _color; |
| 228 | if (_dropShadow) { |
| 229 | *(dest_ptr + x + 1) = 0; |
| 230 | *(dest_ptr + x + _vm->_realWidth) = 0; |
| 231 | *(dest_ptr + x + _vm->_realWidth + 1) = 0; |
| 232 | } |
| 233 | *(dest_ptr + x) = _color; |
233 | 234 | |
234 | 235 | if (useMask) { |
235 | 236 | mask_ptr[maskpos] |= maskmask; |
236 | 237 | if (_dropShadow) { |
237 | | int spos = maskpos + _vm->gdi._numStrips; |
238 | | byte sbit = maskmask >> 1; |
239 | | |
240 | | if (sbit == 0) { |
241 | | sbit = 0x80; |
242 | | spos++; |
| 238 | mask_ptr[maskpos + _vm->gdi._numStrips] |= maskmask; |
| 239 | if (maskmask == 1) { |
| 240 | mask_ptr[maskpos + 1] |= 0x80; |
| 241 | mask_ptr[maskpos + _vm->gdi._numStrips + 1] |= 0x80; |
| 242 | } else { |
| 243 | mask_ptr[maskpos] |= (maskmask >> 1); |
| 244 | mask_ptr[maskpos + _vm->gdi._numStrips] |= (maskmask >> 1); |
243 | 245 | } |
244 | | mask_ptr[spos] |= sbit; |
245 | 246 | } |
246 | 247 | } |
247 | 248 | } |
… |
… |
|
251 | 252 | maskpos++; |
252 | 253 | } |
253 | 254 | } |
| 255 | dest_ptr += _vm->_realWidth; |
254 | 256 | mask_ptr += _vm->gdi._numStrips; |
255 | 257 | } |
256 | 258 | |