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

vinterstum at users.sourceforge.net vinterstum at users.sourceforge.net
Sat Mar 18 21:56:01 CET 2006


Revision: 21377
Author:   vinterstum
Date:     2006-03-18 21:55:26 -0800 (Sat, 18 Mar 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=21377&view=rev

Log Message:
-----------
Adds button press animations to the menu, and resets the cursor when the Dialog of Death pops up. Also, mouse clicks are now registered on button up instead of button down, as in the original

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/gui.cpp
    scummvm/trunk/engines/kyra/kyra.cpp
Modified: scummvm/trunk/engines/kyra/gui.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui.cpp	2006-03-19 05:15:49 UTC (rev 21376)
+++ scummvm/trunk/engines/kyra/gui.cpp	2006-03-19 05:55:26 UTC (rev 21377)
@@ -251,7 +251,9 @@
 				if (_mousePressFlag) {
 					if (!(list->flags2 & 1)) {
 						list->flags2 |= 1;
+						list->flags2 |= 4;
 						processButton(list);
+						_screen->updateScreen();
 					}
 				} else {
 					if (list->flags2 & 1) {
@@ -276,6 +278,11 @@
 				list->flags2 &= 0xFFFE;
 				processButton(list);
 			}
+			if (list->flags2 & 4) {
+				list->flags2 &= 0xFFFB;
+				processButton(list);
+				_screen->updateScreen();
+			}
 			list = list->nextButton;
 			continue;
 		}
@@ -353,8 +360,6 @@
 	if (!_displayMenu)
 		return;
 
-	//_screen->hideMouse();
-
 	if ( !button || (button->flags & 8))
 		return;
 
@@ -374,7 +379,6 @@
 
 	processButton(button);
 
-	//_screen->showMouse();
 }
 
 int KyraEngine::drawBoxCallback(Button *button) {
@@ -426,7 +430,8 @@
 	_menuRestoreScreen = true;
 	_keyboardEvent.pending = 0;
 	_keyboardEvent.repeat = 0;
-
+	_mousePressFlag = false;
+	
 	_toplevelMenu = 0;
 	if (_menuDirectlyToLoad)
 		gui_loadGameMenu(0);
@@ -569,16 +574,18 @@
 	OSystem::Event event;
 	uint32 now = _system->getMillis();
 
-	_mousePressFlag = false;
 	_mouseWheel = 0;
 	while (_system->pollEvent(event)) {
 		switch (event.type) {
 			case OSystem::EVENT_QUIT:
 				quitGame();
 				break;
-			case OSystem::EVENT_LBUTTONUP:
+			case OSystem::EVENT_LBUTTONDOWN:
 				_mousePressFlag = true;
 				break;
+			case OSystem::EVENT_LBUTTONUP:
+				_mousePressFlag = false;
+				break;
 			case OSystem::EVENT_MOUSEMOVE:
 				_mouseX = event.mouse.x;
 				_mouseY = event.mouse.y;

Modified: scummvm/trunk/engines/kyra/kyra.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra.cpp	2006-03-19 05:15:49 UTC (rev 21376)
+++ scummvm/trunk/engines/kyra/kyra.cpp	2006-03-19 05:55:26 UTC (rev 21377)
@@ -683,6 +683,10 @@
 			_deathHandler = 0xFF;
 			snd_playWanderScoreViaMap(0, 1);
 			snd_playSoundEffect(49);
+			_screen->hideMouse();
+			_screen->setMouseCursor(1, 1, _shapes[4]);
+			destroyMouseItem();
+			_screen->showMouse();
 			buttonMenuCallback(0);
 		}
 		
@@ -727,7 +731,6 @@
 	char saveLoadSlot[20];
 	char savegameName[14];
 
-	_mousePressFlag = false;
 	uint32 start = _system->getMillis();
 	do {
 		while (_system->pollEvent(event)) {
@@ -765,6 +768,9 @@
 				break;
 			case OSystem::EVENT_LBUTTONDOWN:
 				_mousePressFlag = true;
+				break;
+			case OSystem::EVENT_LBUTTONUP:
+				_mousePressFlag = false;
 				if (_abortWalkFlag2) {
 					_abortWalkFlag = true;
 					_mouseX = event.mouse.x;


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