[Scummvm-git-logs] scummvm master -> ac16b6ebd28a504a4d3302aee70e5d8c5253fa02

dreammaster dreammaster at scummvm.org
Sat Mar 11 21:17:27 CET 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:
ac16b6ebd2 TITANIC: Finish CStarControlSub20 class


Commit: ac16b6ebd28a504a4d3302aee70e5d8c5253fa02
    https://github.com/scummvm/scummvm/commit/ac16b6ebd28a504a4d3302aee70e5d8c5253fa02
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-03-11T15:16:51-05:00

Commit Message:
TITANIC: Finish CStarControlSub20 class

Changed paths:
    engines/titanic/star_control/star_control_sub20.cpp
    engines/titanic/star_control/star_control_sub20.h


diff --git a/engines/titanic/star_control/star_control_sub20.cpp b/engines/titanic/star_control/star_control_sub20.cpp
index cc10298..ca60cc9 100644
--- a/engines/titanic/star_control/star_control_sub20.cpp
+++ b/engines/titanic/star_control/star_control_sub20.cpp
@@ -32,7 +32,7 @@ CStarControlSub20::CStarControlSub20(const CStar20Data *src) {
 	if (src) {
 		copyFrom(src);
 	} else {
-		_field0 = 0.0;
+		_size = 0.0;
 		_field4 = 0.0;
 		_field8 = 20.0;
 		_fieldC = 0.0;
@@ -56,22 +56,22 @@ void CStarControlSub20::copyTo(CStar20Data *dest) {
 }
 
 void CStarControlSub20::proc4() {
-	if (!isLocked() && _field0 < _field10) {
-		_field4 += _field0;
+	if (!isLocked() && _size < _field10) {
+		_field4 += _size;
 		if (_field8 == _field4)
-			_field0 -= _field4;
+			_size -= _field4;
 		else
-			_field0 += _field4;
+			_size += _field4;
 	}
 }
 
 void CStarControlSub20::proc5() {
 	if (!isLocked()) {
 		_field4 -= _field8;
-		if (_field4 == _field0)
-			_field0 += _field4;
+		if (_field4 == _size)
+			_size += _field4;
 		else
-			_field0 -= _field4;
+			_size -= _field4;
 
 		if (_field4 < 0.0)
 			_field4 = 0.0;
@@ -80,19 +80,23 @@ void CStarControlSub20::proc5() {
 
 void CStarControlSub20::proc6() {
 	if (!isLocked())
-		_field0 = _field10;
+		_size = _field10;
 }
 
 void CStarControlSub20::proc7() {
 	if (!isLocked()) {
-		_field0 = 0.0;
+		_size = 0.0;
 		_field4 = 0.0;
 	}
 }
 
 void CStarControlSub20::proc11(CErrorCode &errorCode, FVector &v, const FMatrix &m) {
-	if (_field0 > 0.0) {
-		warning("TODO: CStarControlSub20::proc11");
+	if (_size > 0.0) {
+		v._x += m._row3._x * _size;
+		v._y += m._row3._y * _size;
+		v._z += m._row3._z * _size;
+
+		errorCode.set();
 	}
 }
 
@@ -110,7 +114,7 @@ void CStarControlSub20::clear() {
 
 void CStarControlSub20::load(SimpleFile *file, int val) {
 	if (!val) {
-		_field0 = file->readFloat();
+		_size = file->readFloat();
 		_field4 = file->readFloat();
 		_field8 = file->readFloat();
 		_fieldC = file->readFloat();
@@ -122,7 +126,7 @@ void CStarControlSub20::load(SimpleFile *file, int val) {
 }
 
 void CStarControlSub20::save(SimpleFile *file, int indent) {
-	file->writeFloatLine(_field0, indent);
+	file->writeFloatLine(_size, indent);
 	file->writeFloatLine(_field4, indent);
 	file->writeFloatLine(_field8, indent);
 	file->writeFloatLine(_fieldC, indent);
diff --git a/engines/titanic/star_control/star_control_sub20.h b/engines/titanic/star_control/star_control_sub20.h
index 9dbabbb..687f7d7 100644
--- a/engines/titanic/star_control/star_control_sub20.h
+++ b/engines/titanic/star_control/star_control_sub20.h
@@ -30,7 +30,7 @@
 namespace Titanic {
 
 struct CStar20Data {
-	double _field0;
+	double _size;
 	double _field4;
 	double _field8;
 	double _fieldC;





More information about the Scummvm-git-logs mailing list