[Scummvm-cvs-logs] SF.net SVN: scummvm:[54835] scummvm/trunk/engines/hugo
strangerke at users.sourceforge.net
strangerke at users.sourceforge.net
Wed Dec 8 22:18:48 CET 2010
Revision: 54835
http://scummvm.svn.sourceforge.net/scummvm/?rev=54835&view=rev
Author: strangerke
Date: 2010-12-08 21:18:48 +0000 (Wed, 08 Dec 2010)
Log Message:
-----------
HUGO: Hopefully fix overlapping memory regions
Thanks Digitall for debugging that
Modified Paths:
--------------
scummvm/trunk/engines/hugo/object_v1d.cpp
scummvm/trunk/engines/hugo/object_v1w.cpp
scummvm/trunk/engines/hugo/object_v3d.cpp
Modified: scummvm/trunk/engines/hugo/object_v1d.cpp
===================================================================
--- scummvm/trunk/engines/hugo/object_v1d.cpp 2010-12-08 20:51:44 UTC (rev 54834)
+++ scummvm/trunk/engines/hugo/object_v1d.cpp 2010-12-08 21:18:48 UTC (rev 54835)
@@ -361,9 +361,9 @@
seqList_t tmpSeqList[MAX_SEQUENCES];
int seqListSize = sizeof(seqList_t) * MAX_SEQUENCES;
- memcpy(tmpSeqList, _objects[objNumb1].seqList, seqListSize);
- memcpy(_objects[objNumb1].seqList, _objects[objNumb2].seqList, seqListSize);
- memcpy(_objects[objNumb2].seqList, tmpSeqList, seqListSize);
+ memmove(tmpSeqList, _objects[objNumb1].seqList, seqListSize);
+ memmove(_objects[objNumb1].seqList, _objects[objNumb2].seqList, seqListSize);
+ memmove(_objects[objNumb2].seqList, tmpSeqList, seqListSize);
_objects[objNumb1].currImagePtr = _objects[objNumb1].seqList[0].seqPtr;
_objects[objNumb2].currImagePtr = _objects[objNumb2].seqList[0].seqPtr;
_vm->_heroImage = (_vm->_heroImage == HERO) ? objNumb2 : HERO;
Modified: scummvm/trunk/engines/hugo/object_v1w.cpp
===================================================================
--- scummvm/trunk/engines/hugo/object_v1w.cpp 2010-12-08 20:51:44 UTC (rev 54834)
+++ scummvm/trunk/engines/hugo/object_v1w.cpp 2010-12-08 21:18:48 UTC (rev 54835)
@@ -371,9 +371,9 @@
seqList_t tmpSeqList[MAX_SEQUENCES];
int seqListSize = sizeof(seqList_t) * MAX_SEQUENCES;
- memcpy(tmpSeqList, _objects[objNumb1].seqList, seqListSize);
- memcpy(_objects[objNumb1].seqList, _objects[objNumb2].seqList, seqListSize);
- memcpy(_objects[objNumb2].seqList, tmpSeqList, seqListSize);
+ memmove(tmpSeqList, _objects[objNumb1].seqList, seqListSize);
+ memmove(_objects[objNumb1].seqList, _objects[objNumb2].seqList, seqListSize);
+ memmove(_objects[objNumb2].seqList, tmpSeqList, seqListSize);
restoreSeq(&_objects[objNumb1]);
_objects[objNumb2].currImagePtr = _objects[objNumb2].seqList[0].seqPtr;
_vm->_heroImage = (_vm->_heroImage == HERO) ? objNumb2 : HERO;
Modified: scummvm/trunk/engines/hugo/object_v3d.cpp
===================================================================
--- scummvm/trunk/engines/hugo/object_v3d.cpp 2010-12-08 20:51:44 UTC (rev 54834)
+++ scummvm/trunk/engines/hugo/object_v3d.cpp 2010-12-08 21:18:48 UTC (rev 54835)
@@ -255,9 +255,9 @@
seqList_t tmpSeqList[MAX_SEQUENCES];
int seqListSize = sizeof(seqList_t) * MAX_SEQUENCES;
- memcpy(tmpSeqList, _objects[objNumb1].seqList, seqListSize);
- memcpy(_objects[objNumb1].seqList, _objects[objNumb2].seqList, seqListSize);
- memcpy(_objects[objNumb2].seqList, tmpSeqList, seqListSize);
+ memmove(tmpSeqList, _objects[objNumb1].seqList, seqListSize);
+ memmove(_objects[objNumb1].seqList, _objects[objNumb2].seqList, seqListSize);
+ memmove(_objects[objNumb2].seqList, tmpSeqList, seqListSize);
restoreSeq(&_objects[objNumb1]);
_objects[objNumb2].currImagePtr = _objects[objNumb2].seqList[0].seqPtr;
_vm->_heroImage = (_vm->_heroImage == HERO) ? objNumb2 : HERO;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list