aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/draci/game.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/engines/draci/game.cpp b/engines/draci/game.cpp
index 2b861c46f8..ef262ae7e8 100644
--- a/engines/draci/game.cpp
+++ b/engines/draci/game.cpp
@@ -212,6 +212,8 @@ void Game::init() {
_shouldQuit = false;
_shouldExitLoop = false;
+ _animUnderCursor = kOverlayImage;
+
_currentIcon = kNoIcon;
_vm->_mouse->setCursorType(kNormalCursor);
@@ -234,8 +236,8 @@ void Game::init() {
for (uint i = 0; i < kDialogueLines; ++i) {
_dialogueAnims[i] = _vm->_anims->addText(-10 - i, true);
- Text *dialogueLine0 = new Text("", _vm->_smallFont, kLineInactiveColour, 0, 0);
- _dialogueAnims[i]->addFrame(dialogueLine0);
+ Text *dialogueLine = new Text("", _vm->_smallFont, kLineInactiveColour, 0, 0);
+ _dialogueAnims[i]->addFrame(dialogueLine);
_dialogueAnims[i]->setZ(254);
_dialogueAnims[i]->setRelative(1,
@@ -281,6 +283,16 @@ void Game::loop() {
// Find animation under cursor
_animUnderCursor = _vm->_anims->getTopAnimationID(x, y);
+ Text *text;
+ for (int i = 0; i < kDialogueLines; ++i) {
+ text = reinterpret_cast<Text *>(_dialogueAnims[i]->getFrame());
+ text->setColour(kLineInactiveColour);
+
+ if (_animUnderCursor == _dialogueAnims[i]->getID()) {
+ text->setColour(kLineActiveColour);
+ }
+ }
+
if (_vm->_mouse->lButtonPressed() || _vm->_mouse->rButtonPressed()) {
_shouldExitLoop = true;
_vm->_mouse->lButtonSet(false);