aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/parallaction.cpp
diff options
context:
space:
mode:
authorNicola Mettifogo2007-11-19 20:23:01 +0000
committerNicola Mettifogo2007-11-19 20:23:01 +0000
commitd86246308d31b898ca22462de3a68910b52e0eb1 (patch)
tree508f4c662d1c0bf3238dc8abcf91edea2faaa142 /engines/parallaction/parallaction.cpp
parent2a339d8ea3deb7b8ef28224ada00c1180bc260e3 (diff)
downloadscummvm-rg350-d86246308d31b898ca22462de3a68910b52e0eb1.tar.gz
scummvm-rg350-d86246308d31b898ca22462de3a68910b52e0eb1.tar.bz2
scummvm-rg350-d86246308d31b898ca22462de3a68910b52e0eb1.zip
Walk and script handling are now directly handled by the main loop, instead of relying on the job list.
svn-id: r29568
Diffstat (limited to 'engines/parallaction/parallaction.cpp')
-rw-r--r--engines/parallaction/parallaction.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/engines/parallaction/parallaction.cpp b/engines/parallaction/parallaction.cpp
index 1a61e5c0e0..bb1afe8a2c 100644
--- a/engines/parallaction/parallaction.cpp
+++ b/engines/parallaction/parallaction.cpp
@@ -288,6 +288,9 @@ void Parallaction::runGame() {
eraseLabel();
eraseAnimations();
+ runScripts();
+ walk();
+
runJobs();
drawAnimations();
@@ -364,15 +367,14 @@ void Parallaction::processInput(InputData *data) {
if (hitZone(kZoneYou, _mousePos.x, _mousePos.y) == 0) {
setArrowCursor();
}
- removeJob(_jRunScripts);
-// _jDrawInventory = addJob(kJobShowInventory, 0, kPriority2);
+ pauseJobs();
openInventory();
break;
case kEvCloseInventory: // closes inventory and possibly select item
closeInventory();
setInventoryCursor(data->_inventoryIndex);
- _jRunScripts = addJob(kJobRunScripts, 0, kPriority15);
+ resumeJobs();
addJob(kJobHideInventory, 0, kPriority20);
break;
@@ -890,7 +892,7 @@ void Parallaction::doLocationEnterTransition() {
pal.makeGrayscale();
_gfx->setPalette(pal);
- jobRunScripts(NULL, NULL);
+ runScripts();
drawAnimations();
_gfx->swapBuffers();
@@ -989,8 +991,10 @@ void Character::scheduleWalk(int16 x, int16 y) {
return;
}
- WalkNodeList *list = _builder.buildPath(x, y);
- _vm->addJob(kJobWalk, list, kPriority19 );
+ _walkPath = _builder.buildPath(x, y);
+
+// WalkNodeList *list = _builder.buildPath(x, y);
+// _vm->addJob(kJobWalk, list, kPriority19 );
_engineFlags |= kEngineWalking;
}