TINSEL: Fix some DW2 text/voice not playing all the way through

This commit is contained in:
Paul Gilbert 2017-07-16 11:07:39 -04:00
parent b789c1ef4a
commit 9cda101b89
2 changed files with 6 additions and 2 deletions

3
NEWS
View File

@ -63,6 +63,9 @@ For a more comprehensive changelog of the latest experimental code, see:
party room with the large golden head inside the museum (room 350).
This bug is also present, when using the original interpreter.
Tinsel:
- Fixed some Discworld 2 text/voice not displaying & playing all the way through
TsAGE:
- Fixed recently introduced bug preventing animations in Return to Ringworld from playing.

View File

@ -2050,6 +2050,7 @@ static void PrintObj(CORO_PARAM, const SCNHANDLE hText, const INV_OBJECT *pinvo,
int timeout;
bool bTookControl;
int myEscape;
int myLeftEvent;
CORO_END_CONTEXT(_ctx);
CORO_BEGIN_CODE(_ctx);
@ -2186,7 +2187,7 @@ static void PrintObj(CORO_PARAM, const SCNHANDLE hText, const INV_OBJECT *pinvo,
/*
* PrintObj() called from other event
*/
_ctx->myEscape = GetLeftEvents();
_ctx->myLeftEvent = GetLeftEvents();
_ctx->bTookControl = GetControl();
// Display for a time, but abort if conversation gets hidden
@ -2200,7 +2201,7 @@ static void PrintObj(CORO_PARAM, const SCNHANDLE hText, const INV_OBJECT *pinvo,
// Abort if left click - hardwired feature for talky-print!
// Abort if sample times out
// Abort if conversation hidden
if (LeftEventChange(_ctx->myEscape)
if (LeftEventChange(_ctx->myLeftEvent)
|| --_ctx->timeout <= 0
|| ConvIsHidden())
break;