aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/parallaction_br.cpp
diff options
context:
space:
mode:
authorNicola Mettifogo2008-07-21 06:08:30 +0000
committerNicola Mettifogo2008-07-21 06:08:30 +0000
commit361bed0a9535104611d3e0e88d5b3e1ad788639d (patch)
tree6f8f0f8071b097ff6589f01c298337619e4a0f84 /engines/parallaction/parallaction_br.cpp
parentf82cf58780dde55ad1367a0011ffc7eeed7991c8 (diff)
downloadscummvm-rg350-361bed0a9535104611d3e0e88d5b3e1ad788639d.tar.gz
scummvm-rg350-361bed0a9535104611d3e0e88d5b3e1ad788639d.tar.bz2
scummvm-rg350-361bed0a9535104611d3e0e88d5b3e1ad788639d.zip
Massive refactoring of dialogue code, which is now implemented as a finite state machine. Related code in other files has been updated has well.
svn-id: r33162
Diffstat (limited to 'engines/parallaction/parallaction_br.cpp')
-rw-r--r--engines/parallaction/parallaction_br.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/engines/parallaction/parallaction_br.cpp b/engines/parallaction/parallaction_br.cpp
index 6606550132..9e2a0f10f1 100644
--- a/engines/parallaction/parallaction_br.cpp
+++ b/engines/parallaction/parallaction_br.cpp
@@ -212,13 +212,21 @@ void Parallaction_br::runPendingZones() {
if (_activeZone) {
z = _activeZone; // speak Zone or sound
_activeZone = nullZonePtr;
- runZone(z); // FIXME: BRA doesn't handle sound yet
+ if ((z->_type & 0xFFFF) == kZoneSpeak) {
+ enterDialogueMode(z);
+ } else {
+ runZone(z); // FIXME: BRA doesn't handle sound yet
+ }
}
if (_activeZone2) {
z = _activeZone2; // speak Zone or sound
_activeZone2 = nullZonePtr;
- runZone(z);
+ if ((z->_type & 0xFFFF) == kZoneSpeak) {
+ enterDialogueMode(z);
+ } else {
+ runZone(z); // FIXME: BRA doesn't handle sound yet
+ }
}
}