diff options
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/smush/blitter.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/scumm/smush/blitter.cpp b/scumm/smush/blitter.cpp index 38116dbbf5..7adaa6cc5c 100644 --- a/scumm/smush/blitter.cpp +++ b/scumm/smush/blitter.cpp @@ -203,13 +203,29 @@ void Blitter::putBlock(Chunk & src) { void Blitter::blockCopy(int32 offset) { if(_cur.getX() + 3 < _src.right() && _cur.getY() + 3 < _src.bottom()) {// This is clipping byte * dst = _offset; +#ifndef _WIN32_WCE *((uint32 *)dst) = *((uint32 *)(dst + offset)); +#else + memcpy(dst, dst + offset, sizeof(uint32)); +#endif dst += _clip.getX(); +#ifndef _WIN32_WCE *((uint32 *)dst) = *((uint32 *)(dst + offset)); +#else + memcpy(dst, dst + offset, sizeof(uint32)); +#endif dst += _clip.getX(); +#ifndef _WIN32_WCE *((uint32 *)dst) = *((uint32 *)(dst + offset)); +#else + memcpy(dst, dst + offset, sizeof(uint32)); +#endif dst += _clip.getX(); +#ifndef _WIN32_WCE *((uint32 *)dst) = *((uint32 *)(dst + offset)); +#else + memcpy(dst, dst + offset, sizeof(uint32)); +#endif #ifdef DEBUG_CLIPPER } else { _clippedBlock ++; |