[Scummvm-cvs-logs] CVS: scummvm/queen display.cpp,1.49,1.50 display.h,1.36,1.37 graphics.cpp,1.77,1.78
Gregory Montoir
cyx at users.sourceforge.net
Fri Jan 9 07:15:05 CET 2004
Update of /cvsroot/scummvm/scummvm/queen
In directory sc8-pr-cvs1:/tmp/cvs-serv10098/queen
Modified Files:
display.cpp display.h graphics.cpp
Log Message:
fix mouse pointer glitch occuring when exiting Debugger
Index: display.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/display.cpp,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -d -r1.49 -r1.50
--- display.cpp 9 Jan 2004 13:36:37 -0000 1.49
+++ display.cpp 9 Jan 2004 15:14:15 -0000 1.50
@@ -44,6 +44,8 @@
memset(_panelBuf, 0, PANEL_W * PANEL_H);
memset(_backdropBuf, 0, BACKDROP_W * BACKDROP_H);
+ memset(_mousePtr, 0, sizeof(_mousePtr));
+
_fullRefresh = true;
_dirtyBlocksWidth = SCREEN_W / D_BLOCK_W;
_dirtyBlocksHeight = SCREEN_H / D_BLOCK_H;
@@ -807,10 +809,12 @@
}
-void Display::setMouseCursor(uint8 *buf, uint16 w, uint16 h, uint16 xhs, uint16 yhs) {
+void Display::setMouseCursor(uint8 *buf, uint16 w, uint16 h) {
+ assert(w == 14 && h == 14);
+ uint16 size = 14 * 14;
+ memcpy(_mousePtr, buf, size);
// change transparency color to match the one expected by the backend (0xFF)
- uint16 size = w * h;
- uint8 *p = buf;
+ uint8 *p = _mousePtr;
while (size--) {
if (*p == 255) {
*p = 254;
@@ -819,7 +823,7 @@
}
++p;
}
- _system->set_mouse_cursor(buf, w, h, xhs, yhs);
+ _system->set_mouse_cursor(_mousePtr, 14, 14, 1, 1);
}
Index: display.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/display.h,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -d -r1.36 -r1.37
--- display.h 9 Jan 2004 13:36:37 -0000 1.36
+++ display.h 9 Jan 2004 15:14:15 -0000 1.37
@@ -85,7 +85,7 @@
void handleTimer();
void waitForTimer();
- void setMouseCursor(uint8 *buf, uint16 w, uint16 h, uint16 xhs, uint16 yhs);
+ void setMouseCursor(uint8 *buf, uint16 w, uint16 h);
void showMouseCursor(bool show);
void initFont();
@@ -150,6 +150,8 @@
uint8 *_screenBuf;
uint8 *_panelBuf;
uint8 *_backdropBuf;
+
+ uint8 _mousePtr[14 * 14];
bool _fullRefresh;
uint8 *_dirtyBlocks;
Index: graphics.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/graphics.cpp,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -d -r1.77 -r1.78
--- graphics.cpp 9 Jan 2004 13:36:37 -0000 1.77
+++ graphics.cpp 9 Jan 2004 15:14:15 -0000 1.78
@@ -207,7 +207,7 @@
void Graphics::setupMouseCursor() {
BobFrame *bf = _vm->bankMan()->fetchFrame(1);
- _vm->display()->setMouseCursor(bf->data, bf->width, bf->height, bf->xhotspot, bf->yhotspot);
+ _vm->display()->setMouseCursor(bf->data, bf->width, bf->height);
}
More information about the Scummvm-git-logs
mailing list