diff options
-rw-r--r-- | queen/command.cpp | 12 | ||||
-rw-r--r-- | queen/logic.cpp | 2 |
2 files changed, 10 insertions, 4 deletions
diff --git a/queen/command.cpp b/queen/command.cpp index bf9424cbad..80ada1b27c 100644 --- a/queen/command.cpp +++ b/queen/command.cpp @@ -263,9 +263,15 @@ void Command::executeCurrentAction(bool walk) { if (_selCmd.action.value() == VERB_LOOK_AT) { // Look At, do standard look at routine look(); - cleanupCurrentAction(); - return; } + else { + if (com->song < 0) { + _sound->playSong(-com->song); + } + clear(true); + } + cleanupCurrentAction(); + return; } else if (cond == -2 && i == comMax) { // only exit on a condition fail if at last command @@ -424,7 +430,7 @@ void Command::executeCurrentAction(bool walk) { // only play song if it's a PLAY AFTER type if (com->song < 0) { - _sound->playSong(com->song); + _sound->playSong(-com->song); } clear(true); diff --git a/queen/logic.cpp b/queen/logic.cpp index 564fb9ef23..03b98e75c2 100644 --- a/queen/logic.cpp +++ b/queen/logic.cpp @@ -400,7 +400,7 @@ void Logic::initialise() { ObjectData* Logic::objectData(int index) { - index = abs(index); + index = abs(index); // cyx: is that really necessary ? if (index <= _numObjects) return &_objectData[index]; else |