aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2014-01-15 11:17:40 +0200
committerEugene Sandulenko2014-01-15 15:39:29 +0200
commit659fe857162d157f7076293360b85115fa8f40d8 (patch)
tree4e4ed4bd1a39a3c46ffca36f09b0eb759b02c24d
parent74282cd4158dbdea6c8b0c6cd965e081103af618 (diff)
downloadscummvm-rg350-659fe857162d157f7076293360b85115fa8f40d8.tar.gz
scummvm-rg350-659fe857162d157f7076293360b85115fa8f40d8.tar.bz2
scummvm-rg350-659fe857162d157f7076293360b85115fa8f40d8.zip
FULLPIPE: Implement FullpipeEngine::openMap() and stub ModalMap class
-rw-r--r--engines/fullpipe/modal.cpp56
-rw-r--r--engines/fullpipe/modal.h31
2 files changed, 86 insertions, 1 deletions
diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp
index 729b4035f0..813820da9a 100644
--- a/engines/fullpipe/modal.cpp
+++ b/engines/fullpipe/modal.cpp
@@ -267,8 +267,62 @@ void ModalVideoPlayer::play(const char *filename) {
}
}
+ModalMap::ModalMap() {
+ _mapScene = 0;
+ _pic = 0;
+ _isRunning = false;
+ _rect1 = g_fp->_sceneRect;
+ _x = g_fp->_currentScene->_x;
+ _y = g_fp->_currentScene->_y;
+ _flag = 0;
+ _mouseX = 0;
+ _mouseY = 0;
+ _field_38 = 0;
+ _field_3C = 0;
+ _field_40 = 12;
+ _rect2.top = 0;
+ _rect2.left = 0;
+ _rect2.bottom = 600;
+ _rect2.right = 800;
+}
+
+ModalMap::~ModalMap() {
+}
+
+bool ModalMap::init(int counterdiff) {
+ warning("STUB: ModalMap::init()");
+
+ return false;
+}
+
+void ModalMap::update() {
+ warning("STUB: ModalMap::update()");
+}
+
+bool ModalMap::handleMessage(ExCommand *cmd) {
+ warning("STUB: ModalMap::handleMessage()");
+
+ return true;
+}
+
+void ModalMap::initMap() {
+ warning("STUB: ModalMap::initMap()");
+}
+
+PictureObject *ModalMap::getScenePicture() {
+ warning("STUB: ModalMap::getScenePicture()");
+
+ return 0;
+}
+
void FullpipeEngine::openMap() {
- warning("STUB: FullpipeEngine::openMap()");
+ if (!_modalObject) {
+ ModalMap *map = new ModalMap;
+
+ _modalObject = map;
+
+ map->initMap();
+ }
}
void FullpipeEngine::openHelp() {
diff --git a/engines/fullpipe/modal.h b/engines/fullpipe/modal.h
index b57d1fbd06..f4f075b7df 100644
--- a/engines/fullpipe/modal.h
+++ b/engines/fullpipe/modal.h
@@ -25,6 +25,8 @@
namespace Fullpipe {
+class Picture;
+
class BaseModalObject {
public:
@@ -75,6 +77,35 @@ public:
void play(const char *fname);
};
+class ModalMap : public BaseModalObject {
+ Scene *_mapScene;
+ Picture *_pic;
+ bool _isRunning;
+ Common::Rect _rect1;
+ int _x;
+ int _y;
+ int _flag;
+ int _mouseX;
+ int _mouseY;
+ int _field_38;
+ int _field_3C;
+ int _field_40;
+ Common::Rect _rect2;
+
+ public:
+ ModalMap();
+ virtual ~ModalMap();
+
+ virtual bool pollEvent() { return true; }
+ virtual bool handleMessage(ExCommand *message);
+ virtual bool init(int counterdiff);
+ virtual void update();
+ virtual void saveload() {}
+
+ void initMap();
+ PictureObject *getScenePicture();
+};
+
} // End of namespace Fullpipe
#endif /* FULLPIPE_MODAL_H */