diff options
Diffstat (limited to 'engines/scumm/input.cpp')
-rw-r--r-- | engines/scumm/input.cpp | 20 |
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) { |