aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2013-12-12 00:05:01 +0200
committerEugene Sandulenko2013-12-12 00:05:01 +0200
commit97fc0a3bd12b93a9a8510f8ccf027bf6083ac068 (patch)
tree65bf691e8beceffd6609fc44274f9dd5cc2b7ba2 /engines
parent0b3c06343740add37e84dd2555b60b6af563f09e (diff)
downloadscummvm-rg350-97fc0a3bd12b93a9a8510f8ccf027bf6083ac068.tar.gz
scummvm-rg350-97fc0a3bd12b93a9a8510f8ccf027bf6083ac068.tar.bz2
scummvm-rg350-97fc0a3bd12b93a9a8510f8ccf027bf6083ac068.zip
FULLPIPE: Implement FullpipeEngine::initArcadeKeys()
Diffstat (limited to 'engines')
-rw-r--r--engines/fullpipe/fullpipe.h2
-rw-r--r--engines/fullpipe/scenes.cpp18
2 files changed, 19 insertions, 1 deletions
diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h
index be0c89f76e..eb502cbadf 100644
--- a/engines/fullpipe/fullpipe.h
+++ b/engines/fullpipe/fullpipe.h
@@ -176,6 +176,8 @@ public:
Floaters *_floaters;
MGM *_mgm;
+ Common::Array<Common::Point *> _arcadeKeys;
+
void initMap();
void updateMapPiece(int mapId, int update);
void updateScreen();
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index c5578cfacf..ddc53dfc93 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -708,7 +708,23 @@ int defaultUpdateCursor() {
}
void FullpipeEngine::initArcadeKeys(const char *varname) {
- warning("STUB: FullpipeEngine::initArcadeKeys(\"%s\")", varname);
+ GameVar *var = getGameLoaderGameVar()->getSubVarByName(varname)->getSubVarByName("KEYPOS");
+
+ if (!var)
+ return;
+
+ int cnt = var->getSubVarsCount();
+
+ for (int i = 0; i < cnt; i++) {
+ Common::Point *point = new Common::Point;
+
+ GameVar *sub = var->getSubVarByIndex(i);
+
+ point->x = sub->getSubVarAsInt("X");
+ point->y = sub->getSubVarAsInt("Y");
+
+ _arcadeKeys.push_back(point);
+ }
}
void FullpipeEngine::processArcade(ExCommand *ex) {