diff options
author | Filippos Karapetis | 2013-10-07 02:05:10 +0300 |
---|---|---|
committer | Filippos Karapetis | 2013-10-07 02:05:39 +0300 |
commit | 3d8a4d23dd9dd077c5bc140411b8c8fb13213984 (patch) | |
tree | 144170684ed6adabbe08387fecca996e50912a25 /engines | |
parent | 78707b285f7f324d92ed2d1b20f0d7c653ee2590 (diff) | |
download | scummvm-rg350-3d8a4d23dd9dd077c5bc140411b8c8fb13213984.tar.gz scummvm-rg350-3d8a4d23dd9dd077c5bc140411b8c8fb13213984.tar.bz2 scummvm-rg350-3d8a4d23dd9dd077c5bc140411b8c8fb13213984.zip |
NEVERHOOD: Correctly disable input when Klaymen drinks the wrong potion
Diffstat (limited to 'engines')
-rw-r--r-- | engines/neverhood/staticdata.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/engines/neverhood/staticdata.cpp b/engines/neverhood/staticdata.cpp index 006992641a..ec9c852118 100644 --- a/engines/neverhood/staticdata.cpp +++ b/engines/neverhood/staticdata.cpp @@ -53,6 +53,22 @@ void StaticData::load(const char *filename) { messageItem.messageValue = fd.readUint32LE(); messageList->push_back(messageItem); } + + // WORKAROUND for a problem in two of the game's message lists: + // the message lists used when Klaymen is drinking the wrong potion + // have as a last element the animation itself (message 0x4832). + // However, when processMessageList() reaches the last element in a + // message list, it allows player input, which means that the player + // can erroneously skip these potion drinking animations. We insert + // another message at the end of these lists to prevent player input + // till the animations are finished + if (id == 0x004AF0C8 || id == 0x004B5BD0) { // wrong potion message lists + MessageItem messageItem; + messageItem.messageNum = 0x4004; // set Klaymen's state to idle + messageItem.messageValue = 0; + messageList->push_back(messageItem); + } + _messageLists[id] = messageList; } |