[Scummvm-cvs-logs] SF.net SVN: scummvm:[43197] scummvm/trunk/engines/kyra

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Mon Aug 10 03:34:14 CEST 2009


Revision: 43197
          http://scummvm.svn.sourceforge.net/scummvm/?rev=43197&view=rev
Author:   lordhoto
Date:     2009-08-10 01:34:14 +0000 (Mon, 10 Aug 2009)

Log Message:
-----------
Use interface palette for mouse cursor in Kyra1 amiga, when it's enabled.

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/screen.cpp
    scummvm/trunk/engines/kyra/screen_lok.cpp
    scummvm/trunk/engines/kyra/screen_lok.h

Modified: scummvm/trunk/engines/kyra/screen.cpp
===================================================================
--- scummvm/trunk/engines/kyra/screen.cpp	2009-08-10 01:33:56 UTC (rev 43196)
+++ scummvm/trunk/engines/kyra/screen.cpp	2009-08-10 01:34:14 UTC (rev 43197)
@@ -643,6 +643,8 @@
 	_forceFullUpdate = true;
 	_dirtyRects.clear();
 
+	// TODO: We might need to reset the mouse cursor
+
 	updateScreen();
 }
 

Modified: scummvm/trunk/engines/kyra/screen_lok.cpp
===================================================================
--- scummvm/trunk/engines/kyra/screen_lok.cpp	2009-08-10 01:33:56 UTC (rev 43196)
+++ scummvm/trunk/engines/kyra/screen_lok.cpp	2009-08-10 01:34:14 UTC (rev 43197)
@@ -240,6 +240,20 @@
 	return ((x*y) << 3);
 }
 
+void Screen_LoK::postProcessCursor(uint8 *data, int width, int height, int pitch) {
+	if (_vm->gameFlags().platform == Common::kPlatformAmiga && _interfacePaletteEnabled) {
+		pitch -= width;
+
+		for (int y = 0; y < height; ++y) {
+			for (int x = 0; x < width; ++x)
+				if (*data != _cursorColorKey)
+					*data++ += 32;
+
+			data += pitch;
+		}
+	}
+}
+
 #pragma mark -
 
 Screen_LoK_16::Screen_LoK_16(KyraEngine_LoK *vm, OSystem *system) : Screen_LoK(vm, system) {

Modified: scummvm/trunk/engines/kyra/screen_lok.h
===================================================================
--- scummvm/trunk/engines/kyra/screen_lok.h	2009-08-10 01:33:56 UTC (rev 43196)
+++ scummvm/trunk/engines/kyra/screen_lok.h	2009-08-10 01:34:14 UTC (rev 43197)
@@ -59,6 +59,9 @@
 	void addBitBlitRect(int x, int y, int w, int h);
 	void bitBlitRects();
 
+	// AMIGA specific
+	virtual void postProcessCursor(uint8 *data, int width, int height, int pitch);
+
 protected:
 	enum {
 		kNumBitBlitRects = 10


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list