From 902a750c8af32b785080bb31664ecd1ee0955b3c Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Wed, 25 Dec 2019 14:55:53 +0100 Subject: DIRECTOR: Implemented 'fast' playback debug flag --- engines/director/director.cpp | 1 + engines/director/director.h | 5 +++-- engines/director/score.cpp | 3 +++ 3 files changed, 7 insertions(+), 2 deletions(-) (limited to 'engines') diff --git a/engines/director/director.cpp b/engines/director/director.cpp index e2c1e9fdc1..c914c0dd9f 100644 --- a/engines/director/director.cpp +++ b/engines/director/director.cpp @@ -51,6 +51,7 @@ DirectorEngine::DirectorEngine(OSystem *syst, const DirectorGameDescription *gam DebugMan.addDebugChannel(kDebugText, "text", "Text rendering"); DebugMan.addDebugChannel(kDebugEvents, "events", "Event processing"); DebugMan.addDebugChannel(kDebugSlow, "slow", "Slow playback"); + DebugMan.addDebugChannel(kDebugFast, "fast", "Fast (no delay) playback"); DebugMan.addDebugChannel(kDebugNoLoop, "noloop", "Do not loop the playback"); DebugMan.addDebugChannel(kDebugBytecode, "bytecode", "Execute Lscr bytecode"); diff --git a/engines/director/director.h b/engines/director/director.h index fa074d6c13..b31eceb99a 100644 --- a/engines/director/director.h +++ b/engines/director/director.h @@ -67,8 +67,9 @@ enum { kDebugLingoParse = 1 << 6, kDebugLingoCompileOnly = 1 << 7, kDebugSlow = 1 << 8, - kDebugNoLoop = 1 << 9, - kDebugBytecode = 1 << 10 + kDebugFast = 1 << 9, + kDebugNoLoop = 1 << 10, + kDebugBytecode = 1 << 11 }; struct MovieReference { diff --git a/engines/director/score.cpp b/engines/director/score.cpp index c4392b3822..a399870d2e 100644 --- a/engines/director/score.cpp +++ b/engines/director/score.cpp @@ -1461,6 +1461,9 @@ void Score::update() { if (debugChannelSet(-1, kDebugSlow)) _nextFrameTime += 1000; + + if (debugChannelSet(-1, kDebugFast)) + _nextFrameTime = g_system->getMillis(); } Sprite *Score::getSpriteById(uint16 id) { -- cgit v1.2.3