aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction
diff options
context:
space:
mode:
Diffstat (limited to 'engines/parallaction')
-rw-r--r--engines/parallaction/commands.cpp5
-rw-r--r--engines/parallaction/dialogue.cpp3
2 files changed, 3 insertions, 5 deletions
diff --git a/engines/parallaction/commands.cpp b/engines/parallaction/commands.cpp
index af42318d19..a9918133b5 100644
--- a/engines/parallaction/commands.cpp
+++ b/engines/parallaction/commands.cpp
@@ -49,9 +49,6 @@ namespace Parallaction {
void Parallaction::parseCommands(Script &script, CommandList& list) {
// printf("parseCommands()");
- Node root;
- memset(&root, 0, sizeof(root));
-
fillBuffers(script, true);
while (scumm_stricmp(_tokens[0], "ENDCOMMANDS") && scumm_stricmp(_tokens[0], "ENDZONE")) {
@@ -184,7 +181,7 @@ void Parallaction::parseCommands(Script &script, CommandList& list) {
}
- addNode(&root, cmd);
+ list.push_front(cmd); // NOTE: command lists are written backwards in scripts
fillBuffers(script, true);
}
diff --git a/engines/parallaction/dialogue.cpp b/engines/parallaction/dialogue.cpp
index b7d6d0cf35..bc1ab90b23 100644
--- a/engines/parallaction/dialogue.cpp
+++ b/engines/parallaction/dialogue.cpp
@@ -384,7 +384,8 @@ void Parallaction::runDialogue(SpeakData *data) {
}
exitDialogue();
- runCommands(*cmdlist);
+ if (cmdlist)
+ runCommands(*cmdlist);
return;