[Scummvm-cvs-logs] SF.net SVN: scummvm: [29002] scummvm/trunk/engines/agi

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Fri Sep 21 09:54:43 CEST 2007


Revision: 29002
          http://scummvm.svn.sourceforge.net/scummvm/?rev=29002&view=rev
Author:   thebluegr
Date:     2007-09-21 00:54:43 -0700 (Fri, 21 Sep 2007)

Log Message:
-----------
Minimize changes to the mouse cursor's palette

Modified Paths:
--------------
    scummvm/trunk/engines/agi/graphics.cpp
    scummvm/trunk/engines/agi/graphics.h

Modified: scummvm/trunk/engines/agi/graphics.cpp
===================================================================
--- scummvm/trunk/engines/agi/graphics.cpp	2007-09-21 05:27:33 UTC (rev 29001)
+++ scummvm/trunk/engines/agi/graphics.cpp	2007-09-21 07:54:43 UTC (rev 29002)
@@ -536,6 +536,7 @@
 	_shakeH = NULL;
 	_shakeV = NULL;
 	_agipalFileNum = 0;
+	_currentCursorPalette = 0;	// cursor palette not set
 }
 
 
@@ -1007,9 +1008,15 @@
 
 void GfxMgr::setCursorPalette(bool amigaStyleCursor) {
 	if (!amigaStyleCursor) {
-		CursorMan.replaceCursorPalette(sciMouseCursorPalette, 1, ARRAYSIZE(sciMouseCursorPalette) / 4);
+		if (_currentCursorPalette != 1) {
+			CursorMan.replaceCursorPalette(sciMouseCursorPalette, 1, ARRAYSIZE(sciMouseCursorPalette) / 4);
+			_currentCursorPalette = 1;
+		}
 	} else { // amigaStyleCursor
-		CursorMan.replaceCursorPalette(amigaMouseCursorPalette, 1, ARRAYSIZE(amigaMouseCursorPalette) / 4);
+		if (_currentCursorPalette != 2) {
+			CursorMan.replaceCursorPalette(amigaMouseCursorPalette, 1, ARRAYSIZE(amigaMouseCursorPalette) / 4);
+			_currentCursorPalette = 2;
+		}
 	}
 }
 

Modified: scummvm/trunk/engines/agi/graphics.h
===================================================================
--- scummvm/trunk/engines/agi/graphics.h	2007-09-21 05:27:33 UTC (rev 29001)
+++ scummvm/trunk/engines/agi/graphics.h	2007-09-21 07:54:43 UTC (rev 29002)
@@ -50,6 +50,7 @@
 
 	uint8 _agipalPalette[16 * 3];
 	int _agipalFileNum;
+	int _currentCursorPalette;	// 0 - palette not set, 1 - PC, 2 - Amiga
 
 private:
 	void rawDrawButton(int x, int y, const char *s, int fgcolor, int bgcolor, bool border, int textOffset);


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