diff options
author | Nicola Mettifogo | 2008-02-02 22:45:31 +0000 |
---|---|---|
committer | Nicola Mettifogo | 2008-02-02 22:45:31 +0000 |
commit | 899fdcb3677925a8c1d9b4c9335ae17a2f1cccff (patch) | |
tree | fdf7aeab1c5099d6167e814881070234b76c96a0 /engines/parallaction/parallaction_br.cpp | |
parent | d8349d66ff6199dcbd6c2412dcdc90a98380ffb4 (diff) | |
download | scummvm-rg350-899fdcb3677925a8c1d9b4c9335ae17a2f1cccff.tar.gz scummvm-rg350-899fdcb3677925a8c1d9b4c9335ae17a2f1cccff.tar.bz2 scummvm-rg350-899fdcb3677925a8c1d9b4c9335ae17a2f1cccff.zip |
Enabled rudimentary location switch in BRA.
svn-id: r30748
Diffstat (limited to 'engines/parallaction/parallaction_br.cpp')
-rw-r--r-- | engines/parallaction/parallaction_br.cpp | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/engines/parallaction/parallaction_br.cpp b/engines/parallaction/parallaction_br.cpp index 01b3815e6d..60f6bfe329 100644 --- a/engines/parallaction/parallaction_br.cpp +++ b/engines/parallaction/parallaction_br.cpp @@ -181,20 +181,41 @@ void Parallaction_br::startPart() { strcpy(_location._name, partFirstLocation[_part]); parseLocation("common"); - parseLocation(_location._name); - changeLocation(_location._name); } +void Parallaction_br::runPendingZones() { + Zone *z; + + if (_activeZone) { + z = _activeZone; // speak Zone or sound + _activeZone = NULL; + runZone(z); + } + + if (_activeZone2) { + z = _activeZone2; // speak Zone or sound + _activeZone2 = NULL; + runZone(z); + } +} + + void Parallaction_br::changeLocation(char *location) { - runCommands(_location._commands); + // free open location stuff + clearSubtitles(); -// doLocationEnterTransition(); + freeLocation(); + // load new location + parseLocation(location); + runCommands(_location._commands); +// doLocationEnterTransition(); runCommands(_location._aCommands); + _engineFlags &= ~kEngineChangeLocation; } void Parallaction_br::changeCharacter(const char *name) { |