[Scummvm-cvs-logs] SF.net SVN: scummvm: [28860] scummvm/trunk/engines/agi
thebluegr at users.sourceforge.net
thebluegr at users.sourceforge.net
Wed Sep 5 23:57:58 CEST 2007
Revision: 28860
http://scummvm.svn.sourceforge.net/scummvm/?rev=28860&view=rev
Author: thebluegr
Date: 2007-09-05 14:57:57 -0700 (Wed, 05 Sep 2007)
Log Message:
-----------
Only change the cursor palette when the mouse hovers over a hotspot in Mickey, not the whole cursor. This is a much faster operation, which also gives better results
Modified Paths:
--------------
scummvm/trunk/engines/agi/graphics.cpp
scummvm/trunk/engines/agi/graphics.h
scummvm/trunk/engines/agi/preagi_mickey.cpp
Modified: scummvm/trunk/engines/agi/graphics.cpp
===================================================================
--- scummvm/trunk/engines/agi/graphics.cpp 2007-09-05 20:45:47 UTC (rev 28859)
+++ scummvm/trunk/engines/agi/graphics.cpp 2007-09-05 21:57:57 UTC (rev 28860)
@@ -1005,6 +1005,14 @@
}
}
+void GfxMgr::setCursorPalette(bool amigaStyleCursor) {
+ if (!amigaStyleCursor) {
+ CursorMan.replaceCursorPalette(sciMouseCursorPalette, 1, ARRAYSIZE(sciMouseCursorPalette) / 4);
+ } else { // amigaStyleCursor
+ CursorMan.replaceCursorPalette(amigaMouseCursorPalette, 1, ARRAYSIZE(amigaMouseCursorPalette) / 4);
+ }
+}
+
/**
* Initialize graphics device.
*
Modified: scummvm/trunk/engines/agi/graphics.h
===================================================================
--- scummvm/trunk/engines/agi/graphics.h 2007-09-05 20:45:47 UTC (rev 28859)
+++ scummvm/trunk/engines/agi/graphics.h 2007-09-05 21:57:57 UTC (rev 28860)
@@ -92,6 +92,7 @@
void putBlock(int x1, int y1, int x2, int y2);
void gfxSetPalette();
void setCursor(bool amigaStyleCursor = false);
+ void setCursorPalette(bool amigaStylePalette = false);
int keypress();
int getKey();
Modified: scummvm/trunk/engines/agi/preagi_mickey.cpp
===================================================================
--- scummvm/trunk/engines/agi/preagi_mickey.cpp 2007-09-05 20:45:47 UTC (rev 28859)
+++ scummvm/trunk/engines/agi/preagi_mickey.cpp 2007-09-05 21:57:57 UTC (rev 28860)
@@ -358,18 +358,18 @@
// Change cursor
if (northIndex >= 0 && (event.mouse.x >= 20 && event.mouse.x <= (IDI_MSA_PIC_WIDTH + 10) * 2) &&
(event.mouse.y >= 0 && event.mouse.y <= 10)) {
- _vm->_gfx->setCursor(true);
+ _vm->_gfx->setCursorPalette(true);
} else if (southIndex >= 0 && (event.mouse.x >= 20 && event.mouse.x <= (IDI_MSA_PIC_WIDTH + 10) * 2) &&
(event.mouse.y >= IDI_MSA_PIC_HEIGHT - 10 && event.mouse.y <= IDI_MSA_PIC_HEIGHT)) {
- _vm->_gfx->setCursor(true);
+ _vm->_gfx->setCursorPalette(true);
} else if (westIndex >= 0 && (event.mouse.y >= 0 && event.mouse.y <= IDI_MSA_PIC_HEIGHT) &&
(event.mouse.x >= 20 && event.mouse.x <= 30)) {
- _vm->_gfx->setCursor(true);
+ _vm->_gfx->setCursorPalette(true);
} else if (eastIndex >= 0 && (event.mouse.y >= 0 && event.mouse.y <= IDI_MSA_PIC_HEIGHT) &&
(event.mouse.x >= IDI_MSA_PIC_WIDTH * 2 && event.mouse.x <= (IDI_MSA_PIC_WIDTH + 10) * 2)) {
- _vm->_gfx->setCursor(true);
+ _vm->_gfx->setCursorPalette(true);
} else {
- _vm->_gfx->setCursor(false);
+ _vm->_gfx->setCursorPalette(false);
}
}
break;
@@ -379,28 +379,28 @@
(event.mouse.y >= 0 && event.mouse.y <= 10)) {
*sel0 = goIndex; *sel1 = northIndex;
drawMenu(menu, *sel0, *sel1);
- _vm->_gfx->setCursor(false);
+ _vm->_gfx->setCursorPalette(false);
clickToMove = true;
} else if (southIndex >= 0 && (event.mouse.x >= 20 && event.mouse.x <= (IDI_MSA_PIC_WIDTH + 10) * 2) &&
(event.mouse.y >= IDI_MSA_PIC_HEIGHT - 10 && event.mouse.y <= IDI_MSA_PIC_HEIGHT)) {
*sel0 = goIndex; *sel1 = southIndex;
drawMenu(menu, *sel0, *sel1);
- _vm->_gfx->setCursor(false);
+ _vm->_gfx->setCursorPalette(false);
clickToMove = true;
} else if (westIndex >= 0 && (event.mouse.y >= 0 && event.mouse.y <= IDI_MSA_PIC_HEIGHT) &&
(event.mouse.x >= 20 && event.mouse.x <= 30)) {
*sel0 = goIndex; *sel1 = westIndex;
drawMenu(menu, *sel0, *sel1);
- _vm->_gfx->setCursor(false);
+ _vm->_gfx->setCursorPalette(false);
clickToMove = true;
} else if (eastIndex >= 0 && (event.mouse.y >= 0 && event.mouse.y <= IDI_MSA_PIC_HEIGHT) &&
(event.mouse.x >= IDI_MSA_PIC_WIDTH * 2 && event.mouse.x <= (IDI_MSA_PIC_WIDTH + 10) * 2)) {
*sel0 = goIndex; *sel1 = eastIndex;
drawMenu(menu, *sel0, *sel1);
- _vm->_gfx->setCursor(false);
+ _vm->_gfx->setCursorPalette(false);
clickToMove = true;
} else {
- _vm->_gfx->setCursor(false);
+ _vm->_gfx->setCursorPalette(false);
}
return true;
case Common::EVENT_RBUTTONUP:
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