[Scummvm-cvs-logs] CVS: scummvm/simon simon.cpp,1.143,1.144 simon.h,1.45,1.46

Oliver Kiehl olki at users.sourceforge.net
Sun Jan 19 07:40:03 CET 2003


Update of /cvsroot/scummvm/scummvm/simon
In directory sc8-pr-cvs1:/tmp/cvs-serv26794

Modified Files:
	simon.cpp simon.h 
Log Message:
added missing function


Index: simon.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.cpp,v
retrieving revision 1.143
retrieving revision 1.144
diff -u -d -r1.143 -r1.144
--- simon.cpp	14 Jan 2003 05:25:31 -0000	1.143
+++ simon.cpp	19 Jan 2003 15:39:54 -0000	1.144
@@ -4608,19 +4608,44 @@
 void SimonState::realizePalette()
 {
 	if (_palette_color_count & 0x8000) {
-		if (_debugMode)
-			warning("realizePalette subroutine unimplemented");
-		_palette_color_count = 0;
+		realizePalette_unk();
 	} else {
-	_video_var_9 = false;
-	memcpy(_palette_backup, _palette, 256 * 4);
+		_video_var_9 = false;
+		memcpy(_palette_backup, _palette, 256 * 4);
 
-	_system->set_palette(_palette, 0, _palette_color_count);
-	_palette_color_count = 0;
+		_system->set_palette(_palette, 0, _palette_color_count);
+		_palette_color_count = 0;
 	}
-
 }
 
+void SimonState::realizePalette_unk()
+{
+	uint8 *src;
+	byte *dst;
+	uint8 palette_unk[768];
+
+	_palette_color_count &= 0x7fff;
+	memset(_video_buf_1, 0, 768);
+	_video_var_9 = false;
+	memcpy(_palette_backup, _palette, 768);
+	memcpy(palette_unk, _palette, 768);
+
+	int i, j;
+	for (i = 255; i >= 0; i -= 4) {
+	  	src = palette_unk;
+		dst = _video_buf_1;
+
+		for (j = _palette_color_count; j >= 0; j--) {
+			if (*src >= i)
+				*dst += 4;
+			dst++;
+			src++;
+		}
+		_system->set_palette(_video_buf_1, 0, _video_num_pal_colors);
+		delay(5);
+ 	}
+	_palette_color_count = 0;
+}
 
 void SimonState::go()
 {

Index: simon.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.h,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -d -r1.45 -r1.46
--- simon.h	12 Jan 2003 15:17:58 -0000	1.45
+++ simon.h	19 Jan 2003 15:39:54 -0000	1.46
@@ -778,6 +778,7 @@
 	void scroll_timeout();
 	void hitarea_stuff_helper_2();
 	void realizePalette();
+	void realizePalette_unk();
 
 	void vc_kill_thread(uint file, uint sprite);
 





More information about the Scummvm-git-logs mailing list