aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/parallaction_br.cpp
diff options
context:
space:
mode:
authorNicola Mettifogo2008-05-09 01:35:43 +0000
committerNicola Mettifogo2008-05-09 01:35:43 +0000
commit1d025957caad81aef5504b8e505b835ce106cf1b (patch)
tree9c30c5ca606fb96edcc568655464ab488f88542e /engines/parallaction/parallaction_br.cpp
parentbdadf34f16cc0f271151e6e7f0438bf5ed48df8d (diff)
downloadscummvm-rg350-1d025957caad81aef5504b8e505b835ce106cf1b.tar.gz
scummvm-rg350-1d025957caad81aef5504b8e505b835ce106cf1b.tar.bz2
scummvm-rg350-1d025957caad81aef5504b8e505b835ce106cf1b.zip
Moved location parsing out of the engines, to LocationParser_ns and LocationParser_br.
svn-id: r31958
Diffstat (limited to 'engines/parallaction/parallaction_br.cpp')
-rw-r--r--engines/parallaction/parallaction_br.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/engines/parallaction/parallaction_br.cpp b/engines/parallaction/parallaction_br.cpp
index 29e9fe6d70..118fe195d0 100644
--- a/engines/parallaction/parallaction_br.cpp
+++ b/engines/parallaction/parallaction_br.cpp
@@ -233,6 +233,30 @@ void Parallaction_br::changeLocation(char *location) {
_engineFlags &= ~kEngineChangeLocation;
}
+
+// FIXME: Parallaction_br::parseLocation() is now a verbatim copy of the same routine from Parallaction_ns.
+void Parallaction_br::parseLocation(const char *filename) {
+ debugC(1, kDebugParser, "parseLocation('%s')", filename);
+
+ allocateLocationSlot(filename);
+ Script *script = _disk->loadLocation(filename);
+
+ _locationParser->parse(script);
+ delete script;
+
+ // this loads animation scripts
+ AnimationList::iterator it = _vm->_location._animations.begin();
+ for ( ; it != _vm->_location._animations.end(); it++) {
+ if ((*it)->_scriptName) {
+ loadProgram(*it, (*it)->_scriptName);
+ }
+ }
+
+ debugC(1, kDebugParser, "parseLocation('%s') done", filename);
+ return;
+}
+
+
void Parallaction_br::changeCharacter(const char *name) {
}