[Scummvm-cvs-logs] scummvm master -> 9ddabeca32c453d77d9407e8134ab499550d19d1

Strangerke Strangerke at scummvm.org
Sat Jan 7 21:48:10 CET 2012


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:
9ddabeca32 TSAGE: R2R - Fix sub1B00, rename it to scalePalette


Commit: 9ddabeca32c453d77d9407e8134ab499550d19d1
    https://github.com/scummvm/scummvm/commit/9ddabeca32c453d77d9407e8134ab499550d19d1
Author: Strangerke (strangerke at scummvm.org)
Date: 2012-01-07T12:47:47-08:00

Commit Message:
TSAGE: R2R - Fix sub1B00, rename it to scalePalette

Thanks wjp for the namings

Changed paths:
    engines/tsage/ringworld2/ringworld2_logic.cpp
    engines/tsage/ringworld2/ringworld2_logic.h
    engines/tsage/ringworld2/ringworld2_scenes1.cpp
    engines/tsage/ringworld2/ringworld2_scenes3.cpp
    engines/tsage/ringworld2/ringworld2_scenes3.h



diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp
index 260eb70..1a9a03b 100644
--- a/engines/tsage/ringworld2/ringworld2_logic.cpp
+++ b/engines/tsage/ringworld2/ringworld2_logic.cpp
@@ -270,7 +270,7 @@ SceneExt::SceneExt(): Scene() {
 	_stripManager._onBegin = SceneExt::startStrip;
 	_stripManager._onEnd = SceneExt::endStrip;
 
-	for (int i = 0; i < 44; i++)
+	for (int i = 0; i < 256; i++)
 		_field312[i] = 0;
 	_field372 = _field37A = 0;
 	_savedPlayerEnabled = false;
@@ -478,6 +478,37 @@ void SceneExt::saveCharacter(int characterIndex) {
 	R2_GLOBALS._player._characterFrame[characterIndex] = R2_GLOBALS._player._frame;
 }
 
+void SceneExt::scalePalette(int RFactor, int GFactor, int BFactor) {
+	byte *tmpPal = R2_GLOBALS._scenePalette._palette;
+	byte newR, newG, newB;
+	int tmp, varC, varD = 0;
+
+	for (int i = 0; i < 256; i++) {
+		newR = (RFactor * tmpPal[(3 * i)]) / 100;
+		newG = (GFactor * tmpPal[(3 * i) + 1]) / 100;
+		newB = (BFactor * tmpPal[(3 * i) + 2]) / 100;
+
+		varC = 769;
+		for (int j = 255; j >= 0; j--) {
+			tmp = abs(tmpPal[(3 * j)] - newR);
+			if (tmp >= varC)
+				continue;
+
+			tmp += abs(tmpPal[(3 * j) + 1] - newG);
+			if (tmp >= varC)
+				continue;
+
+			tmp += abs(tmpPal[(3 * j) + 2] - newB);
+			if (tmp >= varC)
+				continue;
+			
+			varC = tmp;
+			varD = j;
+		}
+		this->_field312[i] = varD;
+	}
+}
+
 /*--------------------------------------------------------------------------*/
 
 void SceneHandlerExt::postInit(SceneObjectList *OwnerList) {
diff --git a/engines/tsage/ringworld2/ringworld2_logic.h b/engines/tsage/ringworld2/ringworld2_logic.h
index 4805de4..bb6aa25 100644
--- a/engines/tsage/ringworld2/ringworld2_logic.h
+++ b/engines/tsage/ringworld2/ringworld2_logic.h
@@ -79,7 +79,7 @@ private:
 	static void startStrip();
 	static void endStrip();
 public:
-	byte _field312[44];
+	byte _field312[256];
 	int _field372;
 	bool _savedPlayerEnabled;
 	bool _savedUiEnabled;
@@ -106,6 +106,7 @@ public:
 	bool display(CursorType action, Event &event);
 	void fadeOut();
 	void clearScreen();
+	void scalePalette(int RFactor, int GFactor, int BFactor);
 };
 
 class SceneHandlerExt: public SceneHandler {
diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp
index 5a6a700..e773c52 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp
+++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp
@@ -355,7 +355,7 @@ void Scene1100::postInit(SceneObjectList *OwnerList) {
 	_stripManager.addSpeaker(&_quinnSpeaker);
 	_stripManager.addSpeaker(&_chiefSpeaker);
 
-	warning("sub1B007(65, 65, 65);");
+	scalePalette(65, 65, 65);
 
 	_actor2.postInit();
 	_actor2.setup(1100, 1, 1);
diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.cpp b/engines/tsage/ringworld2/ringworld2_scenes3.cpp
index 5ae15d9..266098a 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes3.cpp
+++ b/engines/tsage/ringworld2/ringworld2_scenes3.cpp
@@ -3929,37 +3929,6 @@ void Scene3800::sub110BBD() {
 	}
 }
 
-void Scene3800::sub1B007(int arg1, int arg2, int arg3) {
-	byte *tmpPal = R2_GLOBALS._scenePalette._palette;
-	byte newR, newG, newB;
-	int tmp, varC, varD = 0;
-
-	for (int i = 0; i < 256; i++) {
-		newR = (arg1 * tmpPal[(3 * i)]) / 100;
-		newG = (arg2 * tmpPal[(3 * i) + 1]) / 100;
-		newB = (arg3 * tmpPal[(3 * i) + 2]) / 100;
-
-		varC = 769;
-		for (int j = 255; j >= 0; j--) {
-			tmp = abs(tmpPal[(3 * j)] - newR);
-			if (tmp >= varC)
-				continue;
-
-			tmp += abs(tmpPal[(3 * j) + 1] - newG);
-			if (tmp >= varC)
-				continue;
-
-			tmp += abs(tmpPal[(3 * j) + 2] - newB);
-			if (tmp >= varC)
-				continue;
-			
-			varC = tmp;
-			varD = j;
-		}
-		this->_field312[i] = varD;
-	}
-}
-
 void Scene3800::postInit(SceneObjectList *OwnerList) {
 	_field412 = 0;
 
@@ -3968,7 +3937,7 @@ void Scene3800::postInit(SceneObjectList *OwnerList) {
 	SceneExt::postInit();
 	R2_GLOBALS._sound1.play(231);
 
-	warning("sub1B007(65, 65, 65)");
+	scalePalette(65, 65, 65);
 
 	setZoomPercents(87, 40, 144, 100);
 
@@ -4218,7 +4187,8 @@ void Scene3900::postInit(SceneObjectList *OwnerList) {
 	_exit5._insideArea = false;
 	_exit5._moving = false;
 
-	warning("sub1B007(65, 65, 65)");
+	scalePalette(65, 65, 65);
+
 	_exit1.setDest(Common::Point(160, 126));
 	_exit1._enabled = true;
 	_exit1._insideArea = false;
diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.h b/engines/tsage/ringworld2/ringworld2_scenes3.h
index c925871..8a51aa5 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes3.h
+++ b/engines/tsage/ringworld2/ringworld2_scenes3.h
@@ -695,7 +695,6 @@ public:
 	Scene3800();
 	void initScene3800();
 	void sub110BBD();
-	void sub1B007(int arg1, int arg2, int arg3);
 
 	virtual void postInit(SceneObjectList *OwnerList = NULL);
 	virtual void signal();






More information about the Scummvm-git-logs mailing list