aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Kiehl2003-04-26 11:09:20 +0000
committerOliver Kiehl2003-04-26 11:09:20 +0000
commit20e5b2d931f9056a1e3f1d4483044591c39bc687 (patch)
treed7e5c8a31a307e25143c792ea1bffc3515f4b6f6
parentb617227723bc578f064e98d4fba5e289fdd8cbdc (diff)
downloadscummvm-rg350-20e5b2d931f9056a1e3f1d4483044591c39bc687.tar.gz
scummvm-rg350-20e5b2d931f9056a1e3f1d4483044591c39bc687.tar.bz2
scummvm-rg350-20e5b2d931f9056a1e3f1d4483044591c39bc687.zip
link to removeObjectFromWalk and objectToWalk
svn-id: r7128
-rw-r--r--sky/logic.cpp7
-rw-r--r--sky/logic.h4
-rw-r--r--sky/sky.cpp2
3 files changed, 6 insertions, 7 deletions
diff --git a/sky/logic.cpp b/sky/logic.cpp
index 6c3ae788af..3368997f62 100644
--- a/sky/logic.cpp
+++ b/sky/logic.cpp
@@ -47,7 +47,6 @@ static const LogicTable logicTable[] = {
&SkyLogic::simpleAnim, // 16 Module anim without x,y's
};
-
void SkyLogic::engine() {
#define logic_list_no 141
Compact *compact2 = SkyState::fetchCompact(141); // logic list
@@ -70,15 +69,13 @@ void SkyLogic::engine() {
// ok, here we process the logic bit system
if (_compact->status & (1 << 7))
- warning("remove_object_from_walk unimplemented");
- // remove_object_from_walk();
+ _grid->removeObjectFromWalk(_compact);
SkyDebug::logic(_compact->logic);
(this->*logicTable[_compact->logic]) ();
if (_compact->status & (1 << 7))
- warning("object_to_walk unimplemented");
- // object_to_walk();
+ _grid->objectToWalk(_compact);
// a sync sent to the compact is available for one cycle
// only. that cycle has just ended so remove the sync.
diff --git a/sky/logic.h b/sky/logic.h
index f73952e35f..b6d8bf4518 100644
--- a/sky/logic.h
+++ b/sky/logic.h
@@ -24,10 +24,11 @@
#include "sky/sky.h"
#include "sky/disk.h"
+#include "sky/grid.h"
class SkyLogic {
public:
- SkyLogic(SkyDisk *skyDisk) : _skyDisk(skyDisk) { initScriptVariables(); };
+ SkyLogic(SkyDisk *skyDisk, SkyGrid *grid) : _skyDisk(skyDisk), _grid(grid) { initScriptVariables(); };
void engine();
void lreturn();
@@ -176,6 +177,7 @@ protected:
uint32 _scriptVariables[838];
SkyDisk *_skyDisk;
+ SkyGrid *_grid;
};
#endif
diff --git a/sky/sky.cpp b/sky/sky.cpp
index 3844e4ca77..d6e3719bd8 100644
--- a/sky/sky.cpp
+++ b/sky/sky.cpp
@@ -117,7 +117,7 @@ void SkyState::initialise(void) {
//initialiseRouter();
_skyText = getSkyText();
_grid = new SkyGrid(_skyDisk);
- _skyLogic = new SkyLogic(_skyDisk);
+ _skyLogic = new SkyLogic(_skyDisk, _grid);
}
void SkyState::initItemList() {