aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/parser_br.cpp
diff options
context:
space:
mode:
authorNicola Mettifogo2008-06-04 09:07:55 +0000
committerNicola Mettifogo2008-06-04 09:07:55 +0000
commit73832f2edd82ca25bf25c15b43b1678e4ac4c32d (patch)
treea043c8625bc7751db071b3e9237860b6b4c7ed8e /engines/parallaction/parser_br.cpp
parente7f8ef11a9901f157aa81ec2d53a246439edc08b (diff)
downloadscummvm-rg350-73832f2edd82ca25bf25c15b43b1678e4ac4c32d.tar.gz
scummvm-rg350-73832f2edd82ca25bf25c15b43b1678e4ac4c32d.tar.bz2
scummvm-rg350-73832f2edd82ca25bf25c15b43b1678e4ac4c32d.zip
* Implemented character change opcodes in BRA
* Fixed loading of dialogue characters in BRA svn-id: r32529
Diffstat (limited to 'engines/parallaction/parser_br.cpp')
-rw-r--r--engines/parallaction/parser_br.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/parallaction/parser_br.cpp b/engines/parallaction/parser_br.cpp
index cebda4b5ed..51da7eb396 100644
--- a/engines/parallaction/parser_br.cpp
+++ b/engines/parallaction/parser_br.cpp
@@ -442,7 +442,7 @@ DECLARE_LOCATION_PARSER(redundant) {
DECLARE_LOCATION_PARSER(character) {
debugC(7, kDebugParser, "LOCATION_PARSER(character) ");
-// changeCharacter(character);
+ ctxt.characterName = strdup(_tokens[0]);
}
@@ -1113,15 +1113,21 @@ void LocationParser_br::parse(Script *script) {
ctxt.bgName = 0;
ctxt.maskName = 0;
ctxt.pathName = 0;
+ ctxt.characterName = 0;
LocationParser_ns::parse(script);
_vm->_gfx->setBackground(kBackgroundLocation, ctxt.bgName, ctxt.maskName, ctxt.pathName);
_vm->_pathBuffer = &_vm->_gfx->_backgroundInfo.path;
+ if (ctxt.characterName) {
+ _vm->changeCharacter(ctxt.characterName);
+ }
+
free(ctxt.bgName);
free(ctxt.maskName);
free(ctxt.pathName);
+ free(ctxt.characterName);
}