diff options
author | Filippos Karapetis | 2007-06-15 03:58:21 +0000 |
---|---|---|
committer | Filippos Karapetis | 2007-06-15 03:58:21 +0000 |
commit | 4f8f854ee6bd1e681af589a3565ac11ef8bcbc55 (patch) | |
tree | d091e443f0f2be7b769353b2afd65e7565667c04 /engines/saga | |
parent | 3b78d79ec0a6051afc99a72340613be370f91654 (diff) | |
download | scummvm-rg350-4f8f854ee6bd1e681af589a3565ac11ef8bcbc55.tar.gz scummvm-rg350-4f8f854ee6bd1e681af589a3565ac11ef8bcbc55.tar.bz2 scummvm-rg350-4f8f854ee6bd1e681af589a3565ac11ef8bcbc55.zip |
Forced text is now handled correctly. It's now possible to interact with the video screen in the elder's cave
svn-id: r27410
Diffstat (limited to 'engines/saga')
-rw-r--r-- | engines/saga/actor.h | 9 | ||||
-rw-r--r-- | engines/saga/saga.cpp | 4 |
2 files changed, 9 insertions, 4 deletions
diff --git a/engines/saga/actor.h b/engines/saga/actor.h index 3296246cba..1ed70d7ff0 100644 --- a/engines/saga/actor.h +++ b/engines/saga/actor.h @@ -41,7 +41,7 @@ namespace Saga { class HitZone; -//#define ACTOR_DEBUG //only for actor pathfinding debug! +// #define ACTOR_DEBUG 1 //only for actor pathfinding debug! #define ACTOR_BARRIERS_MAX 16 @@ -97,7 +97,8 @@ enum ActorActions { enum SpeechFlags { kSpeakNoAnimate = 1, kSpeakAsync = 2, - kSpeakSlow = 4 + kSpeakSlow = 4, + kSpeakForceText = 8 }; enum ActorFrameTypes { @@ -592,6 +593,10 @@ public: return _activeSpeech.stringsCount > 0; } + int isForcedTextShown() { + return _activeSpeech.speechFlags & kSpeakForceText; + } + void saveState(Common::OutSaveFile *out); void loadState(Common::InSaveFile *in); diff --git a/engines/saga/saga.cpp b/engines/saga/saga.cpp index ea42eac0d7..5aa6c40572 100644 --- a/engines/saga/saga.cpp +++ b/engines/saga/saga.cpp @@ -289,8 +289,8 @@ int SagaEngine::go() { msec = MAX_TIME_DELTA; } - // Since Puzzle is actorless, we do it here - if (_puzzle->isActive()) { + // Since Puzzle and forced text are actorless, we do them here + if (_puzzle->isActive() || _actor->isForcedTextShown()) { _actor->handleSpeech(msec); } else if (!_scene->isInIntro()) { if (_interface->getMode() == kPanelMain || |