aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/input.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/scumm/input.cpp')
-rw-r--r--engines/scumm/input.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/engines/scumm/input.cpp b/engines/scumm/input.cpp
index d31d3afd85..eed52f5154 100644
--- a/engines/scumm/input.cpp
+++ b/engines/scumm/input.cpp
@@ -496,6 +496,26 @@ void ScummEngine_v3::processKeyboard(int lastKeyHit) {
// 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) {