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

dreammaster dreammaster at scummvm.org
Tue Feb 28 03:11:18 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:
f819d7332d TITANIC: Implementing CBaseStar methods


Commit: f819d7332d84e250145d5f93843142d73bf53dd4
    https://github.com/scummvm/scummvm/commit/f819d7332d84e250145d5f93843142d73bf53dd4
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-02-27T21:11:16-05:00

Commit Message:
TITANIC: Implementing CBaseStar methods

Changed paths:
    engines/titanic/star_control/base_star.cpp
    engines/titanic/star_control/base_star.h
    engines/titanic/star_control/star_field.cpp
    engines/titanic/star_control/star_field.h


diff --git a/engines/titanic/star_control/base_star.cpp b/engines/titanic/star_control/base_star.cpp
index a6ef6d8..24d3e02 100644
--- a/engines/titanic/star_control/base_star.cpp
+++ b/engines/titanic/star_control/base_star.cpp
@@ -21,6 +21,7 @@
  */
 
 #include "titanic/star_control/base_star.h"
+#include "titanic/star_control/star_control_sub12.h"
 #include "titanic/titanic.h"
 
 namespace Titanic {
@@ -48,10 +49,6 @@ void CBaseStarEntry::load(Common::SeekableReadStream &s) {
 CBaseStar::CBaseStar() : _minVal(0.0), _maxVal(1.0), _range(0.0) {
 }
 
-void CBaseStar::draw(CSurfaceArea *surfaceArea, CStarControlSub12 *sub12, CStarControlSub5 *sub5) {
-	// TODO
-}
-
 void CBaseStar::clear() {
 	_data.clear();
 }
@@ -115,4 +112,63 @@ void CBaseStar::resetEntry(CBaseStarEntry &entry) {
 		entry._data[idx] = 0;
 }
 
+void CBaseStar::draw(CSurfaceArea *surfaceArea, CStarControlSub12 *sub12, CStarControlSub5 *sub5) {
+	if (!_data.empty()) {
+		switch (sub12->proc27()) {
+		case 0:
+			switch (surfaceArea->_bpp) {
+			case 1:
+				draw1(surfaceArea, sub12, sub5);
+				break;
+			case 2:
+				draw2(surfaceArea, sub12, sub5);
+				break;
+			default:
+				break;
+			}
+			break;
+
+		case 2:
+			switch (surfaceArea->_bpp) {
+			case 1:
+				draw3(surfaceArea, sub12, sub5);
+				break;
+			case 2:
+				draw4(surfaceArea, sub12, sub5);
+				break;
+			default:
+				break;
+			}
+			break;
+
+		default:
+			break;
+		}
+	}
+}
+
+void CBaseStar::draw1(CSurfaceArea *surfaceArea, CStarControlSub12 *sub12, CStarControlSub5 *sub5) {
+	// TODO
+}
+
+void CBaseStar::draw2(CSurfaceArea *surfaceArea, CStarControlSub12 *sub12, CStarControlSub5 *sub5) {
+	// TODO
+}
+
+void CBaseStar::draw3(CSurfaceArea *surfaceArea, CStarControlSub12 *sub12, CStarControlSub5 *sub5) {
+	// TODO
+}
+
+void CBaseStar::draw4(CSurfaceArea *surfaceArea, CStarControlSub12 *sub12, CStarControlSub5 *sub5) {
+	// TODO
+}
+
+void CBaseStar::baseFn1(int v1, int v2, int v3, int v4) {
+	// TODO
+}
+
+void CBaseStar::baseFn2(int v1, int v2) {
+	// TODO
+}
+
 } // End of namespace Titanic
diff --git a/engines/titanic/star_control/base_star.h b/engines/titanic/star_control/base_star.h
index 7e6329f..2c1c389 100644
--- a/engines/titanic/star_control/base_star.h
+++ b/engines/titanic/star_control/base_star.h
@@ -46,6 +46,11 @@ struct CBaseStarEntry {
 };
 
 class CBaseStar {
+private:
+	void draw1(CSurfaceArea *surfaceArea, CStarControlSub12 *sub12, CStarControlSub5 *sub5);
+	void draw2(CSurfaceArea *surfaceArea, CStarControlSub12 *sub12, CStarControlSub5 *sub5);
+	void draw3(CSurfaceArea *surfaceArea, CStarControlSub12 *sub12, CStarControlSub5 *sub5);
+	void draw4(CSurfaceArea *surfaceArea, CStarControlSub12 *sub12, CStarControlSub5 *sub5);
 protected:
 	Common::Array<CBaseStarEntry> _data;
 	CStarControlSub4 _sub4;
@@ -72,6 +77,9 @@ protected:
 	 * Reset the data for an entry
 	 */
 	void resetEntry(CBaseStarEntry &entry);
+
+	void baseFn1(int v1, int v2, int v3, int v4);
+	void baseFn2(int v1, int v2);
 public:
 	CBaseStar();
 	virtual ~CBaseStar() {}
diff --git a/engines/titanic/star_control/star_field.cpp b/engines/titanic/star_control/star_field.cpp
index 7502f84..31e75f3 100644
--- a/engines/titanic/star_control/star_field.cpp
+++ b/engines/titanic/star_control/star_field.cpp
@@ -127,4 +127,8 @@ bool CStarField::isSolved() const {
 	return _isSolved;
 }
 
+void CStarField::fn1(CErrorCode *errorCode) {
+	_sub5.proc3(errorCode);
+}
+
 } // End of namespace Titanic
diff --git a/engines/titanic/star_control/star_field.h b/engines/titanic/star_control/star_field.h
index 6c186f9..9e8b732 100644
--- a/engines/titanic/star_control/star_field.h
+++ b/engines/titanic/star_control/star_field.h
@@ -91,6 +91,8 @@ public:
 	int get7Count() const {
 		return _sub7.size();
 	}
+
+	void fn1(CErrorCode *errorCode);
 };
 
 } // End of namespace Titanic





More information about the Scummvm-git-logs mailing list