diff options
author | Eugene Sandulenko | 2013-12-12 00:05:01 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2013-12-12 00:05:01 +0200 |
commit | 97fc0a3bd12b93a9a8510f8ccf027bf6083ac068 (patch) | |
tree | 65bf691e8beceffd6609fc44274f9dd5cc2b7ba2 /engines | |
parent | 0b3c06343740add37e84dd2555b60b6af563f09e (diff) | |
download | scummvm-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.h | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes.cpp | 18 |
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) { |