[Scummvm-cvs-logs] scummvm master -> 3d81dd0a14d16dab0967ca57e8039c5285048518

sev- sev at scummvm.org
Mon May 12 04:15:36 CEST 2014


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
3d81dd0a14 FULLPIPE: More work on MovGraph::doWalkTo()


Commit: 3d81dd0a14d16dab0967ca57e8039c5285048518
    https://github.com/scummvm/scummvm/commit/3d81dd0a14d16dab0967ca57e8039c5285048518
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-05-12T05:14:39+03:00

Commit Message:
FULLPIPE: More work on MovGraph::doWalkTo()

Changed paths:
    engines/fullpipe/motion.cpp



diff --git a/engines/fullpipe/motion.cpp b/engines/fullpipe/motion.cpp
index 58d5055..5137434 100644
--- a/engines/fullpipe/motion.cpp
+++ b/engines/fullpipe/motion.cpp
@@ -684,9 +684,11 @@ MessageQueue *MovGraph::doWalkTo(StaticANIObject *subj, int xpos, int ypos, int
 
 			_items[idx]->movarr.clear();
 
-			memcpy(_items[idx]->movarr, _items[idx]->items[arridx].movarr, 0x20u);
-			_items[idx]->movarr = (MovArr *)operator new(8 * _items[idx]->items[arridx].movarr->_movStepCount);
-			memcpy(_items[idx]->movarr, _items[idx]->items[arridx].movarr, 8 * _items[idx]->items[arridx].movarr->_movStepCount);
+			for (uint i = 0; i < _items[idx]->items[arridx].movarr->_movStepCount; i++) {
+				MovArr *m = new MovArr;
+
+				*m = *_items[idx]->items[arridx].movarr[i];
+			}
 
 			_items[idx]->field_10 = -1;
 			_items[idx]->field_14 = 0;
@@ -1003,12 +1005,7 @@ bool MovGraph::calcChunk(int idx, int x, int y, MovArr *arr, int a6) {
 	}
 
 	if (idxmin != -1) {
-		arr->_afield_0 = (*movarr)[idxmin]->_afield_0;
-		arr->_afield_4 = (*movarr)[idxmin]->_afield_4;
-		arr->_afield_8 = (*movarr)[idxmin]->_afield_8;
-		arr->_link = (*movarr)[idxmin]->_link;
-		arr->_dist = (*movarr)[idxmin]->_dist;
-		arr->_point = (*movarr)[idxmin]->_point;
+		*arr = *(*movarr)[idxmin];
 
 		res = true;
 	}






More information about the Scummvm-git-logs mailing list