[Scummvm-cvs-logs] scummvm master -> 4a0bfb751c05d3f30eee4c6c1c4bcdb78f5058db

sev- sev at scummvm.org
Sat Jan 11 23:49:40 CET 2014


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

Summary:
91baf35726 FULLPIPE: Implement StaticANIObject::calcNextStep()
2d3ac3100c FULLPIPE: Implement StaticANIObject::adjustSomeXY()
4a0bfb751c FULLPIPE: Implement StaticANIObject::preloadMovements()


Commit: 91baf35726d297b6ebf1e7917aba043125589601
    https://github.com/scummvm/scummvm/commit/91baf35726d297b6ebf1e7917aba043125589601
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-11T14:48:10-08:00

Commit Message:
FULLPIPE: Implement StaticANIObject::calcNextStep()

Changed paths:
    engines/fullpipe/statics.cpp
    engines/fullpipe/statics.h



diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp
index 87b3080..e0e6e4e 100644
--- a/engines/fullpipe/statics.cpp
+++ b/engines/fullpipe/statics.cpp
@@ -838,6 +838,44 @@ void StaticANIObject::updateStepPos() {
 	setOXY(ox + x, oy + y);
 }
 
+Common::Point *StaticANIObject::calcNextStep(Common::Point *pRes) {
+	if (!_movement) {
+		pRes->x = 0;
+		pRes->y = 0;
+
+		return pRes;
+	}
+
+	Common::Point point;
+
+	_movement->calcSomeXY(point, 1);
+
+	int resX = point.x;
+	int resY = point.y;
+
+	int pointN, offset;
+
+	if (_someDynamicPhaseIndex <= 0) {
+		pointN = _stepArray.getCurrPointIndex();
+		offset = _stepArray.getPointsCount() - _stepArray.getCurrPointIndex();
+	} else {
+		pointN = _stepArray.getCurrPointIndex();
+		offset = 1 - _movement->_currDynamicPhaseIndex + _someDynamicPhaseIndex;
+	}
+
+	if (pointN >= 0) {
+		_stepArray.getPoint(&point, pointN, offset);
+
+		resX += point.x;
+		resY += point.y;
+	}
+
+	pRes->x = resX;
+	pRes->y = resY;
+
+	return pRes;
+}
+
 void StaticANIObject::stopAnim_maybe() {
 	debug(6, "StaticANIObject::stopAnim_maybe()");
 
diff --git a/engines/fullpipe/statics.h b/engines/fullpipe/statics.h
index 3f1f14c..d38737f 100644
--- a/engines/fullpipe/statics.h
+++ b/engines/fullpipe/statics.h
@@ -247,6 +247,7 @@ public:
 
 	void updateStepPos();
 	void stopAnim_maybe();
+	Common::Point *calcNextStep(Common::Point *point);
 
 	MessageQueue *changeStatics1(int msgNum);
 	void changeStatics2(int objId);


Commit: 2d3ac3100c2e9fde135f9defb07a632632341242
    https://github.com/scummvm/scummvm/commit/2d3ac3100c2e9fde135f9defb07a632632341242
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-11T14:48:11-08:00

Commit Message:
FULLPIPE: Implement StaticANIObject::adjustSomeXY()

Changed paths:
    engines/fullpipe/statics.cpp



diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp
index e0e6e4e..5f62cd4 100644
--- a/engines/fullpipe/statics.cpp
+++ b/engines/fullpipe/statics.cpp
@@ -944,7 +944,24 @@ void StaticANIObject::stopAnim_maybe() {
 }
 
 void StaticANIObject::adjustSomeXY() {
-	warning("STUB: StaticANIObject::adjustSomeXY()");
+	if (_movement) {
+		Common::Point point;
+
+		_movement->calcSomeXY(point, 0);
+
+		int diff = abs(point.y) - abs(point.x);
+
+		_movement->calcSomeXY(point, 1);
+
+		if (diff > 0)
+			_ox += point.x;
+		else
+			_oy += point.y;
+
+		_statics = _movement->_staticsObj2;
+		_movement = 0;
+		_someDynamicPhaseIndex = -1;
+	}
 }
 
 MessageQueue *StaticANIObject::changeStatics1(int msgNum) {


Commit: 4a0bfb751c05d3f30eee4c6c1c4bcdb78f5058db
    https://github.com/scummvm/scummvm/commit/4a0bfb751c05d3f30eee4c6c1c4bcdb78f5058db
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-11T14:48:11-08:00

Commit Message:
FULLPIPE: Implement StaticANIObject::preloadMovements()

Changed paths:
    engines/fullpipe/statics.cpp
    engines/fullpipe/statics.h



diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp
index 5f62cd4..9c025dc 100644
--- a/engines/fullpipe/statics.cpp
+++ b/engines/fullpipe/statics.cpp
@@ -664,7 +664,16 @@ void StaticANIObject::initMovements() {
 }
 
 void StaticANIObject::preloadMovements(MovTable *mt) {
-	warning("STUB: StaticANIObject::preloadMovements()");
+	if ( mt ) {
+		for (uint i = 0; i < _movements.size(); i++) {
+			Movement *mov = (Movement *)_movements[i];
+
+			if (mt->movs[i] == 1)
+				mov->loadPixelData();
+			else if (mt->movs[i] == 2)
+				mov->freePixelData();
+		}
+	}
 }
 
 Common::Point *StaticANIObject::getCurrDimensions(Common::Point &p) {
@@ -1680,6 +1689,10 @@ void Movement::loadPixelData() {
 		mov->_staticsObj1->getPixelData();
 }
 
+void Movement::freePixelData() {
+	warning("STUB: Movement::freePixelData()");
+}
+
 void Movement::removeFirstPhase() {
 	if (_updateFlag1) {
 		if (!_currDynamicPhaseIndex)
diff --git a/engines/fullpipe/statics.h b/engines/fullpipe/statics.h
index d38737f..a620daa 100644
--- a/engines/fullpipe/statics.h
+++ b/engines/fullpipe/statics.h
@@ -164,6 +164,7 @@ class Movement : public GameObject {
 	void gotoLastFrame();
 
 	void loadPixelData();
+	void freePixelData();
 
 	void draw(bool flipFlag, int angle);
 };






More information about the Scummvm-git-logs mailing list