diff options
author | Gregory Montoir | 2004-01-13 14:43:13 +0000 |
---|---|---|
committer | Gregory Montoir | 2004-01-13 14:43:13 +0000 |
commit | 2f85714c605dfbe722d7e2b3d797aebd7808f3e1 (patch) | |
tree | 6f3bf45ecf351f2b465aa4597f5b6eb4eab92fae /queen | |
parent | c39aa04c318b991337daecf7e348ad6044656b36 (diff) | |
download | scummvm-rg350-2f85714c605dfbe722d7e2b3d797aebd7808f3e1.tar.gz scummvm-rg350-2f85714c605dfbe722d7e2b3d797aebd7808f3e1.tar.bz2 scummvm-rg350-2f85714c605dfbe722d7e2b3d797aebd7808f3e1.zip |
- wrong sentence was spoken when Joe was trying to 'pick up' a person
- clear command before switching rooms
- clear texts at the end of cutaway (fix minor glitch in interview intro)
svn-id: r12361
Diffstat (limited to 'queen')
-rw-r--r-- | queen/command.cpp | 5 | ||||
-rw-r--r-- | queen/cutaway.cpp | 3 | ||||
-rw-r--r-- | queen/display.cpp | 2 | ||||
-rw-r--r-- | queen/queen.cpp | 1 |
4 files changed, 7 insertions, 4 deletions
diff --git a/queen/command.cpp b/queen/command.cpp index 8d4759e96c..67e43d237f 100644 --- a/queen/command.cpp +++ b/queen/command.cpp @@ -95,11 +95,11 @@ void CmdState::init() { Command::Command(QueenEngine *vm) : _vm(vm) { - _cmdText._vm = vm; } void Command::clear(bool clearTexts) { + debug(6, "Command::clear(%d)", clearTexts); _cmdText.clear(); if (clearTexts) { _vm->display()->clearTexts(CmdText::COMMAND_Y_POS, CmdText::COMMAND_Y_POS); @@ -152,6 +152,7 @@ void Command::executeCurrentAction() { if (comMax == 0) { sayInvalidAction(_state.selAction, _state.subject[0], _state.subject[1]); + clear(true); cleanupCurrentAction(); return; } @@ -852,7 +853,7 @@ void Command::sayInvalidAction(Verb action, int16 subj1, int16 subj2) { if (subj1 < 0) { _vm->logic()->makeJoeSpeak(14); } else { - int16 img = _vm->logic()->objectData(subj2)->image; + int16 img = _vm->logic()->objectData(subj1)->image; if (img == -4 || img == -3) { // Trying to get a person _vm->logic()->makeJoeSpeak(20); diff --git a/queen/cutaway.cpp b/queen/cutaway.cpp index b9aa46b1a0..78d301d5ef 100644 --- a/queen/cutaway.cpp +++ b/queen/cutaway.cpp @@ -965,6 +965,9 @@ void Cutaway::run(char *nextFilename) { } } // for() + + _vm->display()->clearTexts(0, 198); + // XXX lines 1887-1895 in cutaway.c stop(); diff --git a/queen/display.cpp b/queen/display.cpp index e809f6ce87..c3b70dc220 100644 --- a/queen/display.cpp +++ b/queen/display.cpp @@ -749,7 +749,7 @@ void Display::horizontalScroll(int16 scroll) { } void Display::setDirtyBlock(uint16 x, uint16 y, uint16 w, uint16 h) { - if (!_fullRefresh) { + if (_fullRefresh < 2) { uint16 ex = (x + w - 1) / D_BLOCK_W; uint16 ey = (y + h - 1) / D_BLOCK_H; x /= D_BLOCK_W; diff --git a/queen/queen.cpp b/queen/queen.cpp index 82cc858956..61cae4e2e4 100644 --- a/queen/queen.cpp +++ b/queen/queen.cpp @@ -316,7 +316,6 @@ void QueenEngine::go() { for (;;) { // queen.c lines 4080-4104 if (_logic->newRoom() > 0) { - _display->clearTexts(151, 151); _logic->update(); _logic->oldRoom(_logic->currentRoom()); _logic->currentRoom(_logic->newRoom()); |