[Scummvm-cvs-logs] scummvm master -> cd2e204d995b02fa79bfca1acbc3ca10b58c6803

eriktorbjorn eriktorbjorn at telia.com
Mon Jan 6 19:35:47 CET 2014


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:
cd2e204d99 NEVERHOOD: Fix palette fading


Commit: cd2e204d995b02fa79bfca1acbc3ca10b58c6803
    https://github.com/scummvm/scummvm/commit/cd2e204d995b02fa79bfca1acbc3ca10b58c6803
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2014-01-06T10:34:07-08:00

Commit Message:
NEVERHOOD: Fix palette fading

The palette didn't fade all the way to white when using the
shrinking machine, which caused visible glitches. I've verified
against a YouTube "Let's Play" that in the original it did fade
all the way. Whether or not it did it in this exact way I do not
know, but... close enough.

Changed paths:
    engines/neverhood/palette.cpp
    engines/neverhood/palette.h



diff --git a/engines/neverhood/palette.cpp b/engines/neverhood/palette.cpp
index 941bcc3..134fec7 100644
--- a/engines/neverhood/palette.cpp
+++ b/engines/neverhood/palette.cpp
@@ -119,7 +119,7 @@ void Palette::startFadeToBlack(int counter) {
 	_fadeToG = 0;
 	_fadeToB = 0;
 	_palCounter = counter;
-	_fadeStep = 255 / counter;
+	_fadeStep = calculateFadeStep(counter);
 	_status = 1;
 }
 
@@ -131,7 +131,7 @@ void Palette::startFadeToWhite(int counter) {
 	_fadeToG = 255;
 	_fadeToB = 255;
 	_palCounter = counter;
-	_fadeStep = 255 / counter;
+	_fadeStep = calculateFadeStep(counter);
 	_status = 1;
 }
 
@@ -140,7 +140,7 @@ void Palette::startFadeToPalette(int counter) {
 	if (counter == 0)
 		counter = 1;
 	_palCounter = counter;
-	_fadeStep = 255 / counter;
+	_fadeStep = calculateFadeStep(counter);
 	_status = 2;
 }
 
@@ -203,4 +203,11 @@ void Palette::fadeColor(byte *rgb, byte toR, byte toG, byte toB) {
 	#undef FADE
 }
 
+int Palette::calculateFadeStep(int counter) {
+	int fadeStep = 255 / counter;
+	if (255 % counter)
+		fadeStep++;
+	return fadeStep;
+}
+
 } // End of namespace Neverhood
diff --git a/engines/neverhood/palette.h b/engines/neverhood/palette.h
index c83207c..016f856 100644
--- a/engines/neverhood/palette.h
+++ b/engines/neverhood/palette.h
@@ -61,6 +61,7 @@ protected:
 	int _fadeStep;
 	void update();
 	void fadeColor(byte *rgb, byte toR, byte toG, byte toB);
+	int calculateFadeStep(int counter);
 };
 
 } // End of namespace Neverhood






More information about the Scummvm-git-logs mailing list