aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Bacca2002-11-16 00:09:56 +0000
committerNicolas Bacca2002-11-16 00:09:56 +0000
commit0f6cdd9a2b68b8cb8d5590f8a9490eaadc251487 (patch)
treec0849934f739c8e0dbada74b2cafb434019f99c0
parent0dd1d126f57f8565387194d2e27e323a40b61058 (diff)
downloadscummvm-rg350-0f6cdd9a2b68b8cb8d5590f8a9490eaadc251487.tar.gz
scummvm-rg350-0f6cdd9a2b68b8cb8d5590f8a9490eaadc251487.tar.bz2
scummvm-rg350-0f6cdd9a2b68b8cb8d5590f8a9490eaadc251487.zip
Make alignment fans (PPC + EVC) happy
svn-id: r5578
-rw-r--r--scumm/smush/blitter.cpp16
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 ++;