diff options
author | Eugene Sandulenko | 2014-01-15 11:35:27 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2014-01-15 15:39:29 +0200 |
commit | db4c5eb2c0e13d7c4081674f3d3487ef5b9205a3 (patch) | |
tree | a2bc9df021b739daa945e082e4908fada15b400f /engines | |
parent | f3ca6b2626501195bc6d4ec9babf324afdcb530d (diff) | |
download | scummvm-rg350-db4c5eb2c0e13d7c4081674f3d3487ef5b9205a3.tar.gz scummvm-rg350-db4c5eb2c0e13d7c4081674f3d3487ef5b9205a3.tar.bz2 scummvm-rg350-db4c5eb2c0e13d7c4081674f3d3487ef5b9205a3.zip |
FULLPIPE: Implement ModalMap::init()
Diffstat (limited to 'engines')
-rw-r--r-- | engines/fullpipe/modal.cpp | 26 | ||||
-rw-r--r-- | engines/fullpipe/modal.h | 4 |
2 files changed, 26 insertions, 4 deletions
diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp index c790ef29f5..cf4a937f4e 100644 --- a/engines/fullpipe/modal.cpp +++ b/engines/fullpipe/modal.cpp @@ -298,9 +298,31 @@ ModalMap::~ModalMap() { } bool ModalMap::init(int counterdiff) { - warning("STUB: ModalMap::init()"); + g_fp->setCursor(PIC_CSR_ITN); - return false; + if (_flag) { + _rect2.left = _mouseX + _field_38 - g_fp->_mouseScreenPos.x; + _rect2.top = _mouseY + _field_3C - g_fp->_mouseScreenPos.y;; + _rect2.right = _rect2.left + 800; + _rect2.bottom = _rect2.top + 600; + + g_fp->_sceneRect =_rect2; + + _mapScene->updateScrolling2(); + + _rect2 = g_fp->_sceneRect; + } + + _field_40--; + + if (_field_40 <= 0) { + _field_40 = 12; + + if (_pic) + _pic->_flags ^= 4; + } + + return _isRunning; } void ModalMap::update() { diff --git a/engines/fullpipe/modal.h b/engines/fullpipe/modal.h index f4f075b7df..af52e1b6a9 100644 --- a/engines/fullpipe/modal.h +++ b/engines/fullpipe/modal.h @@ -25,7 +25,7 @@ namespace Fullpipe { -class Picture; +class PictureObject; class BaseModalObject { public: @@ -79,7 +79,7 @@ public: class ModalMap : public BaseModalObject { Scene *_mapScene; - Picture *_pic; + PictureObject *_pic; bool _isRunning; Common::Rect _rect1; int _x; |