[Scummvm-cvs-logs] CVS: scummvm/sword1 menu.cpp,1.5,1.6 mouse.cpp,1.9,1.10 mouse.h,1.6,1.7
Robert G?ffringmann
lavosspawn at users.sourceforge.net
Sat Dec 20 09:56:01 CET 2003
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/queen cutaway.cpp,1.91,1.92 graphics.cpp,1.57,1.58 logic.cpp,1.136,1.137 logic.h,1.90,1.91 sound.cpp,1.19,1.20 sound.h,1.8,1.9 talk.cpp,1.60,1.61 xref.txt,1.49,1.50
- Next message: [Scummvm-cvs-logs] CVS: scummvm/sword1 control.cpp,1.1,1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/sword1
In directory sc8-pr-cvs1:/tmp/cvs-serv26137/sword1
Modified Files:
menu.cpp mouse.cpp mouse.h
Log Message:
fix recently introduced mouse bugs.
Index: menu.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sword1/menu.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- menu.cpp 17 Dec 2003 07:33:00 -0000 1.5
+++ menu.cpp 20 Dec 2003 17:55:09 -0000 1.6
@@ -182,7 +182,6 @@
_screen->clearMenu(MENU_TOP);
_screen->clearMenu(MENU_BOT);
_objectBarShown = false;
- _mouse->setMenuStatus(0);
}
}
@@ -190,7 +189,7 @@
SwordLogic::_scriptVars[OBJECT_HELD] = 0;
buildSubjects();
compact->o_logic = LOGIC_choose;
- _mouse->setMenuStatus(1); // so the mouse cursor will be shown.
+ _mouse->controlPanel(true); // so the mouse cursor will be shown.
_subjectBarShown = true;
}
@@ -203,7 +202,7 @@
delete _subjects[cnt];
_subjects[cnt] = NULL;
}
- _mouse->setMenuStatus(0);
+ _mouse->controlPanel(false);
_subjectBarShown = false;
}
Index: mouse.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sword1/mouse.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- mouse.cpp 20 Dec 2003 09:12:54 -0000 1.9
+++ mouse.cpp 20 Dec 2003 17:55:09 -0000 1.10
@@ -57,10 +57,11 @@
void SwordMouse::initialize(void) {
_numObjs = 0;
- _menuStatus = _mouseStatus = 0; // mouse off and unlocked
+ _mouseStatus = 0; // mouse off and unlocked
_getOff = 0;
_specialPtrId = 0;
_inTopMenu = false;
+ _mouseOverride = false;
for (uint8 cnt = 0; cnt < 17; cnt++)
_pointers[cnt] = (MousePtr*)_resMan->mouseResOpen(MSE_POINTER + cnt);
@@ -68,17 +69,15 @@
void SwordMouse::controlPanel(bool on) { // true on entering cpanel, false when leaving
static uint32 savedPtrId = 0, savedSpecialId = 0;
- static uint8 savedMouseStatus;
if (on) {
savedPtrId = _currentPtrId;
savedSpecialId = _specialPtrId;
- savedMouseStatus = _mouseStatus;
- _mouseStatus = 1;
+ _mouseOverride = true;
setPointer(MSE_POINTER, 0);
} else {
_currentPtrId = savedPtrId;
- _mouseStatus = savedMouseStatus;
_specialPtrId = savedSpecialId;
+ _mouseOverride = false;
if (_specialPtrId)
setPointer(_specialPtrId, 0);
else
@@ -91,10 +90,6 @@
_menu = pMenu;
}
-void SwordMouse::setMenuStatus(uint8 status) {
- _menuStatus = status;
-}
-
void SwordMouse::addToList(int id, BsObject *compact) {
_objList[_numObjs].id = id;
_objList[_numObjs].compact = compact;
@@ -209,7 +204,7 @@
}
_frame = 0;
- if ((resId == 0) || (!(_mouseStatus & 1))) {
+ if ((resId == 0) || (!(_mouseStatus & 1) && (!_mouseOverride))) {
_system->set_mouse_cursor(NULL, 0, 0, 0, 0);
_system->show_mouse(false);
} else {
@@ -227,7 +222,7 @@
void SwordMouse::animate(void) {
MousePtr *currentPtr;
- if ((_mouseStatus == 1) || _menuStatus) {
+ if ((_mouseStatus == 1) || _mouseOverride) {
if (_specialPtrId)
currentPtr = _specialPtr;
else
Index: mouse.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sword1/mouse.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- mouse.h 20 Dec 2003 09:12:54 -0000 1.6
+++ mouse.h 20 Dec 2003 17:55:09 -0000 1.7
@@ -83,7 +83,6 @@
void fnNormalMouse(void);
void fnLockMouse(void);
void fnUnlockMouse(void);
- void setMenuStatus(uint8 status);
void controlPanel(bool on);
private:
MousePtr *_pointers[17];
@@ -100,10 +99,9 @@
uint16 _numObjs;
uint16 _lastState, _state;
uint32 _getOff;
- uint8 _menuStatus;
uint32 _specialPtrId; // for special mouse cursors which aren't in the _pointers[] array.
MousePtr *_specialPtr;
- bool _inTopMenu;
+ bool _inTopMenu, _mouseOverride;
};
#endif //BSMOUSE_H
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/queen cutaway.cpp,1.91,1.92 graphics.cpp,1.57,1.58 logic.cpp,1.136,1.137 logic.h,1.90,1.91 sound.cpp,1.19,1.20 sound.h,1.8,1.9 talk.cpp,1.60,1.61 xref.txt,1.49,1.50
- Next message: [Scummvm-cvs-logs] CVS: scummvm/sword1 control.cpp,1.1,1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list