[Scummvm-cvs-logs] SF.net SVN: scummvm: [27012] scummvm/trunk/engines/scumm

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Wed May 30 18:40:12 CEST 2007


Revision: 27012
          http://scummvm.svn.sourceforge.net/scummvm/?rev=27012&view=rev
Author:   fingolfin
Date:     2007-05-30 09:40:11 -0700 (Wed, 30 May 2007)

Log Message:
-----------
Modified version of patch #1727045 INDY3: IQ Points Dialog

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/dialogs.cpp
    scummvm/trunk/engines/scumm/dialogs.h
    scummvm/trunk/engines/scumm/input.cpp

Modified: scummvm/trunk/engines/scumm/dialogs.cpp
===================================================================
--- scummvm/trunk/engines/scumm/dialogs.cpp	2007-05-30 14:38:17 UTC (rev 27011)
+++ scummvm/trunk/engines/scumm/dialogs.cpp	2007-05-30 16:40:11 UTC (rev 27012)
@@ -910,7 +910,16 @@
 	_timer = getMillis() + kDisplayDelay;
 }
 
+Indy3IQPointsDialog::Indy3IQPointsDialog(ScummEngine *scumm, char* text)
+	: InfoDialog(scumm, text) {
+}
 
+void Indy3IQPointsDialog::handleKeyDown(uint16 ascii, int keycode, int modifiers) {
+	if (ascii == 'i') 
+		close();
+	else
+		ScummDialog::handleKeyDown(ascii, keycode, modifiers);
+}
 
 } // End of namespace Scumm
 

Modified: scummvm/trunk/engines/scumm/dialogs.h
===================================================================
--- scummvm/trunk/engines/scumm/dialogs.h	2007-05-30 14:38:17 UTC (rev 27011)
+++ scummvm/trunk/engines/scumm/dialogs.h	2007-05-30 16:40:11 UTC (rev 27012)
@@ -232,6 +232,14 @@
 	uint32 _timer;
 };
 
+
+//The Indy IQ dialog
+class Indy3IQPointsDialog : public InfoDialog {
+public:
+	Indy3IQPointsDialog(ScummEngine *scumm, char* text);
+	virtual void handleKeyDown(uint16 ascii, int keycode, int modifiers);
+};
+
 } // End of namespace Scumm
 
 #endif

Modified: scummvm/trunk/engines/scumm/input.cpp
===================================================================
--- scummvm/trunk/engines/scumm/input.cpp	2007-05-30 14:38:17 UTC (rev 27011)
+++ scummvm/trunk/engines/scumm/input.cpp	2007-05-30 16:40:11 UTC (rev 27012)
@@ -496,6 +496,26 @@
 		// Fall back to default behavior
 		ScummEngine::processKeyboard(lastKeyHit);
 	}
+
+	// i brings up an IQ dialog in Indy3
+
+	if (lastKeyHit == 'i' && _game.id == GID_INDY3) {
+		// SCUMM var 244 is the episode score
+		// and var 245 is the series score
+		char text[50];
+
+		// FIXME: Currently, the series score does not work properly
+		// This workaround just sets it equal to the episode score
+		// However, at the end of the game, it does show the episode
+		// score by itself
+		int a = _scummVars[245];
+		if (!a)
+			a = _scummVars[244];
+
+		sprintf(text, "IQ Points: Episode = %d, Series = %d", _scummVars[244], a);
+		Indy3IQPointsDialog indy3IQPointsDialog(this, text);
+		runDialog(indy3IQPointsDialog);
+	}
 }
 
 void ScummEngine::processKeyboard(int lastKeyHit) {


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