[Scummvm-git-logs] scummvm master -> 41e6a5d2a64bbecd37d47a1dc87b4135c2149f4a
dreammaster
dreammaster at scummvm.org
Sat Oct 22 18:33:16 CEST 2016
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
41e6a5d2a6 TITANIC: Fix looping in CTrueTalkManager::triggerNPC
Commit: 41e6a5d2a64bbecd37d47a1dc87b4135c2149f4a
https://github.com/scummvm/scummvm/commit/41e6a5d2a64bbecd37d47a1dc87b4135c2149f4a
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2016-10-22T12:33:07-04:00
Commit Message:
TITANIC: Fix looping in CTrueTalkManager::triggerNPC
Changed paths:
engines/titanic/true_talk/true_talk_manager.cpp
engines/titanic/true_talk/true_talk_manager.h
diff --git a/engines/titanic/true_talk/true_talk_manager.cpp b/engines/titanic/true_talk/true_talk_manager.cpp
index ed45ab2..a3f9523 100644
--- a/engines/titanic/true_talk/true_talk_manager.cpp
+++ b/engines/titanic/true_talk/true_talk_manager.cpp
@@ -423,22 +423,19 @@ void CTrueTalkManager::triggerNPC(CTrueTalkNPC *npc) {
}
} else {
CTrueTalkGetAnimSetMsg getAnimMsg;
- if (_speechDuration > 300) {
- do {
- getAnimMsg.execute(npc);
- if (!getAnimMsg._endFrame)
- break;
+ while (_speechDuration > 300) {
+ getAnimMsg.execute(npc);
+ if (!getAnimMsg._endFrame)
+ break;
- npc->playMovie(getAnimMsg._startFrame, getAnimMsg._endFrame, 0);
- getAnimMsg._endFrame = 0;
+ npc->playMovie(getAnimMsg._startFrame, getAnimMsg._endFrame, 0);
+ getAnimMsg._endFrame = 0;
- uint numFrames = getAnimMsg._endFrame - getAnimMsg._startFrame;
- int64 val = (numFrames * 1000) * 0x88888889;
- uint diff = (val >> (32 + 5)) - 500;
- _speechDuration += diff;
+ uint numFrames = getAnimMsg._endFrame - getAnimMsg._startFrame;
+ int diff = (numFrames * 1000) / 15 - 500;
+ _speechDuration += diff;
- getAnimMsg._index++;
- } while (_speechDuration > 0);
+ getAnimMsg._index++;
}
}
}
diff --git a/engines/titanic/true_talk/true_talk_manager.h b/engines/titanic/true_talk/true_talk_manager.h
index 3abf4c1..f809642 100644
--- a/engines/titanic/true_talk/true_talk_manager.h
+++ b/engines/titanic/true_talk/true_talk_manager.h
@@ -50,7 +50,7 @@ private:
int _currentCharId;
CDialogueFile *_dialogueFile;
int _dialogueId;
- uint _speechDuration;
+ int _speechDuration;
TTtalkerList _talkers;
private:
/**
More information about the Scummvm-git-logs
mailing list