diff options
author | Filippos Karapetis | 2011-09-26 00:11:45 +0300 |
---|---|---|
committer | Filippos Karapetis | 2011-09-26 00:11:45 +0300 |
commit | bd6a05bdd4e71548aadc2c846b6ab16d4d486a2e (patch) | |
tree | 738226c08fb6dae17821195655546136fa7ad0fe /engines/agi | |
parent | ecddcc12b77b318304fd8f0d323aaa64a4b46aa5 (diff) | |
download | scummvm-rg350-bd6a05bdd4e71548aadc2c846b6ab16d4d486a2e.tar.gz scummvm-rg350-bd6a05bdd4e71548aadc2c846b6ab16d4d486a2e.tar.bz2 scummvm-rg350-bd6a05bdd4e71548aadc2c846b6ab16d4d486a2e.zip |
AGI: Fix bug #3080041 - "AGI Mother Goose: White bar in intro"
Diffstat (limited to 'engines/agi')
-rw-r--r-- | engines/agi/agi.h | 2 | ||||
-rw-r--r-- | engines/agi/op_cmd.cpp | 3 | ||||
-rw-r--r-- | engines/agi/text.cpp | 4 |
3 files changed, 5 insertions, 4 deletions
diff --git a/engines/agi/agi.h b/engines/agi/agi.h index c2af0c5c6e..189eb7ddff 100644 --- a/engines/agi/agi.h +++ b/engines/agi/agi.h @@ -1076,7 +1076,7 @@ public: char *agiSprintf(const char *); void writeStatus(); void writePrompt(); - void clearPrompt(); + void clearPrompt(bool useBlackBg = false); void clearLines(int, int, int); void flushLines(int, int); bool predictiveDialog(); diff --git a/engines/agi/op_cmd.cpp b/engines/agi/op_cmd.cpp index 23ccee2e5d..d1db9564b3 100644 --- a/engines/agi/op_cmd.cpp +++ b/engines/agi/op_cmd.cpp @@ -1442,7 +1442,8 @@ void cmdPreventInput(AgiGame *state, uint8 *p) { state->_vm->newInputMode(INPUT_NONE); state->inputEnabled = false; - state->_vm->clearPrompt(); + // Always clear with black background. Fixes bug #3080041. + state->_vm->clearPrompt(true); } void cmdGetString(AgiGame *state, uint8 *p) { diff --git a/engines/agi/text.cpp b/engines/agi/text.cpp index 9ac60c0e67..9ac416e70e 100644 --- a/engines/agi/text.cpp +++ b/engines/agi/text.cpp @@ -676,11 +676,11 @@ void AgiEngine::writePrompt() { _gfx->doUpdate(); } -void AgiEngine::clearPrompt() { +void AgiEngine::clearPrompt(bool useBlackBg) { int l; l = _game.lineUserInput; - clearLines(l, l, _game.colorBg); + clearLines(l, l, useBlackBg ? 0 : _game.colorBg); flushLines(l, l); _gfx->doUpdate(); |