[Scummvm-cvs-logs] SF.net SVN: scummvm: [26768] scummvm/trunk/engines/saga

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Mon May 7 00:18:31 CEST 2007


Revision: 26768
          http://scummvm.svn.sourceforge.net/scummvm/?rev=26768&view=rev
Author:   thebluegr
Date:     2007-05-06 15:18:31 -0700 (Sun, 06 May 2007)

Log Message:
-----------
The cursor in IHNM changes to an hourglass now while loading scenes, like in the original interpreter

Modified Paths:
--------------
    scummvm/trunk/engines/saga/events.cpp
    scummvm/trunk/engines/saga/events.h
    scummvm/trunk/engines/saga/gfx.h
    scummvm/trunk/engines/saga/scene.cpp

Modified: scummvm/trunk/engines/saga/events.cpp
===================================================================
--- scummvm/trunk/engines/saga/events.cpp	2007-05-06 17:18:11 UTC (rev 26767)
+++ scummvm/trunk/engines/saga/events.cpp	2007-05-06 22:18:31 UTC (rev 26768)
@@ -437,6 +437,12 @@
 		case kEventHide:
 			_vm->_gfx->showCursor(false);
 			break;
+		case kEventSetNormalCursor:
+			_vm->_gfx->setCursor(kCursorNormal);
+			break;
+		case kEventSetBusyCursor:
+			_vm->_gfx->setCursor(kCursorBusy);
+			break;
 		default:
 			break;
 		}

Modified: scummvm/trunk/engines/saga/events.h
===================================================================
--- scummvm/trunk/engines/saga/events.h	2007-05-06 17:18:11 UTC (rev 26767)
+++ scummvm/trunk/engines/saga/events.h	2007-05-06 22:18:31 UTC (rev 26768)
@@ -97,6 +97,8 @@
 	// CURSOR events
 	kEventShow = 1,
 	// kEventHide = 2, // reused
+	kEventSetNormalCursor = 3,
+	kEventSetBusyCursor = 4,
 	// GRAPHICS events
 	kEventFillRect = 1,
 	// kEventSetFlag = 4, // reused

Modified: scummvm/trunk/engines/saga/gfx.h
===================================================================
--- scummvm/trunk/engines/saga/gfx.h	2007-05-06 17:18:11 UTC (rev 26767)
+++ scummvm/trunk/engines/saga/gfx.h	2007-05-06 22:18:31 UTC (rev 26768)
@@ -148,9 +148,9 @@
 	void palToBlack(PalEntry *src_pal, double percent);
 	void blackToPal(PalEntry *src_pal, double percent);
 	void showCursor(bool state);
+	void setCursor(CursorType cursorType = kCursorNormal);
 
 private:
-	void setCursor(CursorType cursorType = kCursorNormal);
 	int _init;
 	Surface _backBuffer;
 	byte _currentPal[PAL_ENTRIES * 4];

Modified: scummvm/trunk/engines/saga/scene.cpp
===================================================================
--- scummvm/trunk/engines/saga/scene.cpp	2007-05-06 17:18:11 UTC (rev 26767)
+++ scummvm/trunk/engines/saga/scene.cpp	2007-05-06 22:18:31 UTC (rev 26768)
@@ -595,6 +595,15 @@
 	Event *q_event;
 	static PalEntry current_pal[PAL_ENTRIES];
 
+	// Change the cursor to an hourglass in IHNM
+	if (_vm->getGameType() == GType_IHNM) {
+		event.type = kEvTOneshot;
+		event.code = kCursorEvent;
+		event.op = kEventSetBusyCursor;
+		event.time = 0;
+		_vm->_events->queue(&event);
+	}
+
 	if ((_vm->getGameType() == GType_IHNM) && (loadSceneParams->chapter != NO_CHAPTER_CHANGE)) {
 		if (loadSceneParams->loadFlag != kLoadBySceneNumber) {
 			error("loadScene wrong usage");
@@ -874,8 +883,6 @@
 		loadSceneParams->sceneProc(SCENE_BEGIN, this);
 	}
 
-
-
 	// We probably don't want "followers" to go into scene -1 , 0. At the very
 	// least we don't want garbage to be drawn that early in the ITE intro.
 	if (_sceneNumber > 0 && _sceneNumber != ITE_SCENE_PUZZLE)
@@ -892,6 +899,15 @@
 		event.time = 0;
 		_vm->_events->queue(&event);
 	}
+
+	// Change the cursor back to a crosshair in IHNM
+	if (_vm->getGameType() == GType_IHNM) {
+		event.type = kEvTOneshot;
+		event.code = kCursorEvent;
+		event.op = kEventSetNormalCursor;
+		event.time = 0;
+		_vm->_events->queue(&event);
+	}
 }
 
 void Scene::loadSceneDescriptor(uint32 resourceId) {


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