[Scummvm-git-logs] scummvm master -> 93c2ca3c94fc97dd32b03f486244064216a80019

dreammaster dreammaster at scummvm.org
Sun Apr 16 04:21:11 CEST 2017


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:
93c2ca3c94 TITANIC: Renaming methods for setting camera movement


Commit: 93c2ca3c94fc97dd32b03f486244064216a80019
    https://github.com/scummvm/scummvm/commit/93c2ca3c94fc97dd32b03f486244064216a80019
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-04-15T22:21:01-04:00

Commit Message:
TITANIC: Renaming methods for setting camera movement

Changed paths:
    engines/titanic/star_control/base_stars.cpp
    engines/titanic/star_control/base_stars.h
    engines/titanic/star_control/star_camera.cpp
    engines/titanic/star_control/star_camera.h
    engines/titanic/star_control/star_control_sub2.cpp
    engines/titanic/star_control/star_control_sub20.h
    engines/titanic/star_control/star_control_sub21.cpp
    engines/titanic/star_control/star_control_sub21.h
    engines/titanic/star_control/star_control_sub23.cpp
    engines/titanic/star_control/star_control_sub23.h
    engines/titanic/star_control/star_control_sub24.cpp
    engines/titanic/star_control/star_control_sub24.h
    engines/titanic/star_control/star_control_sub27.cpp
    engines/titanic/star_control/star_control_sub27.h


diff --git a/engines/titanic/star_control/base_stars.cpp b/engines/titanic/star_control/base_stars.cpp
index dbe239e..12fa566 100644
--- a/engines/titanic/star_control/base_stars.cpp
+++ b/engines/titanic/star_control/base_stars.cpp
@@ -544,7 +544,7 @@ void CBaseStars::draw4(CSurfaceArea *surfaceArea, CStarCamera *camera, CStarClos
 	}
 }
 
-int CBaseStars::baseFn1(CSurfaceArea *surfaceArea, CStarCamera *camera,
+int CBaseStars::findStar(CSurfaceArea *surfaceArea, CStarCamera *camera,
 		const Common::Point &pt) {
 	CStarRef1 ref(this, pt);
 	ref.process(surfaceArea, camera);
diff --git a/engines/titanic/star_control/base_stars.h b/engines/titanic/star_control/base_stars.h
index 34bec4b..e77b20e 100644
--- a/engines/titanic/star_control/base_stars.h
+++ b/engines/titanic/star_control/base_stars.h
@@ -144,7 +144,11 @@ public:
 	 */
 	const CBaseStarEntry *getDataPtr(int index) const;
 
-	int baseFn1(CSurfaceArea *surfaceArea, CStarCamera *camera,
+	/**
+	 * Checks for the presence of a star at a given position on the
+	 * screen given the specified camera view, and returns it's index
+	 */
+	int findStar(CSurfaceArea *surfaceArea, CStarCamera *camera,
 		const Common::Point &pt);
 
 	int baseFn2(CSurfaceArea *surfaceArea, CStarCamera *camera);
diff --git a/engines/titanic/star_control/star_camera.cpp b/engines/titanic/star_control/star_camera.cpp
index 651dbdd..8f09182 100644
--- a/engines/titanic/star_control/star_camera.cpp
+++ b/engines/titanic/star_control/star_camera.cpp
@@ -116,11 +116,11 @@ void CStarCamera::proc13(CStarControlSub13 *dest) {
 	*dest = _sub13;
 }
 
-void CStarCamera::proc14(FVector &v) {
+void CStarCamera::setDestination(const FVector &v) {
 	FMatrix matrix = _sub13.getMatrix();
 	FVector vector = _sub13._position;
 
-	_handlerP->proc9(vector, v, matrix);
+	_handlerP->moveTo(vector, v, matrix);
 }
 
 void CStarCamera::proc15(CErrorCode *errorCode) {
diff --git a/engines/titanic/star_control/star_camera.h b/engines/titanic/star_control/star_camera.h
index 6a0cd2c..194079a 100644
--- a/engines/titanic/star_control/star_camera.h
+++ b/engines/titanic/star_control/star_camera.h
@@ -78,7 +78,12 @@ public:
 	virtual void proc11();
 	virtual void proc12(StarMode mode, double v2);
 	virtual void proc13(CStarControlSub13 *dest);
-	virtual void proc14(FVector &v);
+
+	/**
+	 * Sets the destination to move the camera to
+	 */
+	virtual void setDestination(const FVector &v);
+
 	virtual void proc15(CErrorCode *errorCode);
 	virtual void proc16();
 	virtual void proc17();
diff --git a/engines/titanic/star_control/star_control_sub2.cpp b/engines/titanic/star_control/star_control_sub2.cpp
index 221efa9..2416d3c 100644
--- a/engines/titanic/star_control/star_control_sub2.cpp
+++ b/engines/titanic/star_control/star_control_sub2.cpp
@@ -38,11 +38,11 @@ bool CStarControlSub2::loadYale(int v1) {
 
 bool CStarControlSub2::selectStar(CSurfaceArea *surfaceArea,
 		CStarCamera *camera, const Common::Point &pt, void *handler) {
-	int index = baseFn1(surfaceArea, camera, pt);
+	int index = findStar(surfaceArea, camera, pt);
 	if (index == -1) {
 		return false;
 	} else if (!handler) {
-		camera->proc14(_data[index]._position);
+		camera->setDestination(_data[index]._position);
 		return true;
 	} else {
 		error("no handler ever passed in original");
diff --git a/engines/titanic/star_control/star_control_sub20.h b/engines/titanic/star_control/star_control_sub20.h
index ce31499..102773f 100644
--- a/engines/titanic/star_control/star_control_sub20.h
+++ b/engines/titanic/star_control/star_control_sub20.h
@@ -56,7 +56,12 @@ public:
 	virtual void proc6();
 	virtual void proc7();
 	virtual void proc8(FVector &v1, FVector &v2, FMatrix &m1, FMatrix &m2) {}
-	virtual void proc9(FVector &v1, FVector &v2, FMatrix &matrix) {}
+
+	/**
+	 * Start a movement to a given specified destination
+	 */
+	virtual void moveTo(const FVector &srcV, const FVector &destV, const FMatrix &srcM) {}
+
 	virtual void proc10(const FVector &v1, const FVector &v2, const FVector &v3, const FMatrix &m) {}
 	virtual void proc11(CErrorCode &errorCode, FVector &v, FMatrix &m);
 	virtual void setVector(CStarVector *sv);
diff --git a/engines/titanic/star_control/star_control_sub21.cpp b/engines/titanic/star_control/star_control_sub21.cpp
index c96e29c..6c5608e 100644
--- a/engines/titanic/star_control/star_control_sub21.cpp
+++ b/engines/titanic/star_control/star_control_sub21.cpp
@@ -31,11 +31,11 @@ CStarControlSub21::CStarControlSub21(const CStar20Data *src) :
 		CStarControlSub20(src) {
 }
 
-void CStarControlSub21::proc9(FVector &v1, FVector &v2, FMatrix &matrix) {
+void CStarControlSub21::moveTo(const FVector &srcV, const FVector &destV, const FMatrix &srcM) {
 	if (isLocked())
 		decLockCount();
 
-	_sub24.proc4(v1, v2, matrix);
+	_sub24.setPath(srcV, destV, srcM);
 }
 
 void CStarControlSub21::proc10(const FVector &v1, const FVector &v2, const FVector &v3, const FMatrix &m) {
diff --git a/engines/titanic/star_control/star_control_sub21.h b/engines/titanic/star_control/star_control_sub21.h
index 17e0a42..3776121 100644
--- a/engines/titanic/star_control/star_control_sub21.h
+++ b/engines/titanic/star_control/star_control_sub21.h
@@ -35,7 +35,7 @@ public:
 	CStarControlSub21(const CStar20Data *src);
 	virtual ~CStarControlSub21() {}
 
-	virtual void proc9(FVector &v1, FVector &v2, FMatrix &matrix);
+	virtual void moveTo(const FVector &srcV, const FVector &destV, const FMatrix &srcM);
 	virtual void proc10(const FVector &v1, const FVector &v2, const FVector &v3, const FMatrix &m);
 	virtual void proc11(CErrorCode &errorCode, FVector &v, FMatrix &m);
 };
diff --git a/engines/titanic/star_control/star_control_sub23.cpp b/engines/titanic/star_control/star_control_sub23.cpp
index 7b329e7..792c3a2 100644
--- a/engines/titanic/star_control/star_control_sub23.cpp
+++ b/engines/titanic/star_control/star_control_sub23.cpp
@@ -25,7 +25,7 @@
 
 namespace Titanic {
 
-CStarControlSub23::CStarControlSub23() : _row1(0.0, 1000000.0, 0.0) {
+CStarControlSub23::CStarControlSub23() : _srcPos(0.0, 1000000.0, 0.0) {
 	_field4 = 0;
 	_active = false;
 	_field24 = 0.0;
@@ -42,10 +42,10 @@ CStarControlSub23::CStarControlSub23() : _row1(0.0, 1000000.0, 0.0) {
 }
 
 void CStarControlSub23::proc2(FVector &v1, FVector &v2, FMatrix &m1, FMatrix &m2) {
-	_row1 = v1;
-	_row2 = v2;
-	_row3 = _row2 - _row1;
-	_field24 = _row3.normalize();
+	_srcPos = v1;
+	_destPos = v2;
+	_posDelta = _destPos - _srcPos;
+	_field24 = _posDelta.normalize();
 
 	_active = false;
 	_field34 = 0;
@@ -57,20 +57,19 @@ void CStarControlSub23::proc2(FVector &v1, FVector &v2, FMatrix &m1, FMatrix &m2
 }
 
 void CStarControlSub23::proc3(const FMatrix &m1, const FMatrix &m2) {
-	_row1.clear();
-	_row2.clear();
+	_srcPos.clear();
+	_destPos.clear();
 	_moveDelayCtr = 1.0;
 	_field24 = 0.0;
 	_active = false;
 	_field34 = 0;
 }
 
-void CStarControlSub23::proc4(FVector &v1, FVector &v2, FMatrix &m) {
-	_row1 = v1;
-	_row2 = v2;
-	FVector vector = _row2 - _row1;
-	_row3 = vector;
-	_field24 = _row3.normalize();
+void CStarControlSub23::setPath(const FVector &srcV, const FVector &destV, const FMatrix &srcM) {
+	_srcPos = srcV;
+	_destPos = destV;
+	_posDelta = _destPos - _srcPos;
+	_field24 = _posDelta.normalize();
 
 	_active = false;
 	_field34 = 0;
diff --git a/engines/titanic/star_control/star_control_sub23.h b/engines/titanic/star_control/star_control_sub23.h
index ee8cd2f..8016d6f 100644
--- a/engines/titanic/star_control/star_control_sub23.h
+++ b/engines/titanic/star_control/star_control_sub23.h
@@ -34,9 +34,9 @@ class CStarControlSub23 {
 protected:
 	int _field4;
 	bool _active;
-	FVector _row1, _row2;
+	FVector _srcPos, _destPos;
 	double _field24;
-	FVector _row3;
+	FVector _posDelta;
 	int _field34;
 	double _field38;
 	double _field3C;
@@ -55,7 +55,7 @@ public:
 
 	virtual void proc2(FVector &v1, FVector &v2, FMatrix &m1, FMatrix &m2);
 	virtual void proc3(const FMatrix &m1, const FMatrix &m2);
-	virtual void proc4(FVector &v1, FVector &v2, FMatrix &m);
+	virtual void setPath(const FVector &srcV, const FVector &destV, const FMatrix &srcM);
 	virtual int proc5(CErrorCode &errorCode, FVector &v, FMatrix &m) { return 2; }
 	virtual void proc6(int val1, int val2, float val);
 
diff --git a/engines/titanic/star_control/star_control_sub24.cpp b/engines/titanic/star_control/star_control_sub24.cpp
index 4367040..d716079 100644
--- a/engines/titanic/star_control/star_control_sub24.cpp
+++ b/engines/titanic/star_control/star_control_sub24.cpp
@@ -34,8 +34,8 @@ void CStarControlSub24::proc3(const FMatrix &m1, const FMatrix &m2) {
 	_active = true;
 }
 
-void CStarControlSub24::proc4(FVector &v1, FVector &v2, FMatrix &m) {
-	CStarControlSub23::proc4(v1, v2, m);
+void CStarControlSub24::setPath(const FVector &srcV, const FVector &destV, const FMatrix &srcM) {
+	CStarControlSub23::setPath(srcV, destV, srcM);
 
 	if (_field24 > 8000.0) {
 		_active = true;
@@ -43,8 +43,8 @@ void CStarControlSub24::proc4(FVector &v1, FVector &v2, FMatrix &m) {
 		proc6(120, 4, _field24 - 8000.0);
 	}
 
-	FVector row3 = m._row3;
-	double mult = _row3._x * row3._x + _row3._y * row3._y+ _row3._z * row3._z;
+	FVector row3 = srcM._row3;
+	double mult = _posDelta._x * row3._x + _posDelta._y * row3._y+ _posDelta._z * row3._z;
 	_moveDelayCtr = 1.0;
 
 	bool flag = false;
@@ -59,7 +59,7 @@ void CStarControlSub24::proc4(FVector &v1, FVector &v2, FMatrix &m) {
 	if (!flag) {
 		const FVector *tv;
 		FVector tempV1, tempV2;
-		FVector::addAndNormalize(tempV1, row3, _row3);
+		FVector::addAndNormalize(tempV1, row3, _posDelta);
 		tv = FVector::addAndNormalize(tempV2, row3, tempV1);
 		tempV1 = *tv;
 
@@ -71,7 +71,7 @@ void CStarControlSub24::proc4(FVector &v1, FVector &v2, FMatrix &m) {
 
 		FMatrix m1;
 		m1.fn1(tempV1);
-		_sub25.fn1(m, m1);
+		_sub25.fn1(srcM, m1);
 
 		_moveDelayCtr = 0.0;
 		_moveDelayInc = 0.1;
@@ -99,7 +99,7 @@ int CStarControlSub24::proc5(CErrorCode &errorCode, FVector &v, FMatrix &m) {
 	}
 
 	v2 = m._row3;
-	v3 = _row2 - v;
+	v3 = _destPos - v;
 	v3.normalize();
 
 	double val = m._row3._x * v3._x + m._row3._y * v3._y + m._row3._z * v3._z;
diff --git a/engines/titanic/star_control/star_control_sub24.h b/engines/titanic/star_control/star_control_sub24.h
index 16f5361..f3d38ef 100644
--- a/engines/titanic/star_control/star_control_sub24.h
+++ b/engines/titanic/star_control/star_control_sub24.h
@@ -32,7 +32,12 @@ public:
 	virtual ~CStarControlSub24() {}
 
 	virtual void proc3(const FMatrix &m1, const FMatrix &m2);
-	virtual void proc4(FVector &v1, FVector &v2, FMatrix &m);
+
+	/**
+	 * Sets the path to animate movement between
+	 */
+	virtual void setPath(const FVector &srcV, const FVector &destV, const FMatrix &srcM);
+
 	virtual int proc5(CErrorCode &errorCode, FVector &v, FMatrix &m);
 };
 
diff --git a/engines/titanic/star_control/star_control_sub27.cpp b/engines/titanic/star_control/star_control_sub27.cpp
index a300b51..cedaf9f 100644
--- a/engines/titanic/star_control/star_control_sub27.cpp
+++ b/engines/titanic/star_control/star_control_sub27.cpp
@@ -59,23 +59,23 @@ int CStarControlSub27::proc5(CErrorCode &errorCode, FVector &v, FMatrix &m) {
 
 	if (_field40 >= 0) {
 		double powVal = _powers[_field40];
-		v += _row3 * powVal;
-		fn1(v);
+		v += _posDelta * powVal;
+		getVectorOnPath(v);
 
 		--_field40;
 		errorCode.set();
 		return 1;
 	} else if (_field44 > 0) {
-		v += _row3 * _field38;
-		fn1(v);
+		v += _posDelta * _field38;
+		getVectorOnPath(v);
 
 		--_field44;
 		errorCode.set();
 		return 1;
 	} else if (_field48 >= 0) {
 		double powVal = _powers[31 - _field48];
-		v += _row3 * powVal;
-		fn1(v);
+		v += _posDelta * powVal;
+		getVectorOnPath(v);
 
 		--_field48;
 		errorCode.set();
@@ -86,19 +86,19 @@ int CStarControlSub27::proc5(CErrorCode &errorCode, FVector &v, FMatrix &m) {
 	}
 }
 
-void CStarControlSub27::fn1(FVector &v) const {
-	double distance = _row1.getDistance(v);
+void CStarControlSub27::getVectorOnPath(FVector &v) const {
+	double distance = _posDelta.getDistance(v);
 	distance /= _field24;
 
 	if (distance <= 0.0) {
-		v = _row1;
+		v = _srcPos;
 	} else if (distance >= 1.0) {
-		v = _row2;
+		v = _destPos;
 	} else {
 		v = FVector(
-			(_row2._x - _row1._x) * distance + _row1._x,
-			(_row2._y - _row1._y) * distance + _row1._y,
-			(_row2._z - _row1._z) * distance + _row1._z
+			(_destPos._x - _srcPos._x) * distance + _srcPos._x,
+			(_destPos._y - _srcPos._y) * distance + _srcPos._y,
+			(_destPos._z - _srcPos._z) * distance + _srcPos._z
 		);
 	}
 }
diff --git a/engines/titanic/star_control/star_control_sub27.h b/engines/titanic/star_control/star_control_sub27.h
index ff4136c..929544b 100644
--- a/engines/titanic/star_control/star_control_sub27.h
+++ b/engines/titanic/star_control/star_control_sub27.h
@@ -29,7 +29,12 @@ namespace Titanic {
 
 class CStarControlSub27 : public CStarControlSub23 {
 private:
-	void fn1(FVector &v) const;
+	/**
+	 * Given a vector, figures out how far is from the movement source, and
+	 * returns a vector on the proper point along the path to the destination
+	 * with that same distance from the source.
+	 */
+	void getVectorOnPath(FVector &v) const;
 public:
 	virtual ~CStarControlSub27() {}
 





More information about the Scummvm-git-logs mailing list