diff options
author | Nicola Mettifogo | 2007-11-19 20:23:01 +0000 |
---|---|---|
committer | Nicola Mettifogo | 2007-11-19 20:23:01 +0000 |
commit | d86246308d31b898ca22462de3a68910b52e0eb1 (patch) | |
tree | 508f4c662d1c0bf3238dc8abcf91edea2faaa142 /engines/parallaction/parallaction.cpp | |
parent | 2a339d8ea3deb7b8ef28224ada00c1180bc260e3 (diff) | |
download | scummvm-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.cpp | 16 |
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; } |