aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/modal.h
diff options
context:
space:
mode:
authorKamil Zbróg2014-01-27 21:43:05 +0100
committerKamil Zbróg2014-01-27 21:43:05 +0100
commit8eac80cfc59c34299899ebe18a3b0582ef76e0d2 (patch)
tree5d02a8fba0559c16f2a2045b14e3e292509c6924 /engines/fullpipe/modal.h
parent444934a0accec982f55db92c17ef65270fe18e66 (diff)
parent0f5eeaed7b3c9d2f74eee7dff2114c5f4dc63f00 (diff)
downloadscummvm-rg350-8eac80cfc59c34299899ebe18a3b0582ef76e0d2.tar.gz
scummvm-rg350-8eac80cfc59c34299899ebe18a3b0582ef76e0d2.tar.bz2
scummvm-rg350-8eac80cfc59c34299899ebe18a3b0582ef76e0d2.zip
Merge remote-tracking branch 'sync/master' into prince-malik
Diffstat (limited to 'engines/fullpipe/modal.h')
-rw-r--r--engines/fullpipe/modal.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/engines/fullpipe/modal.h b/engines/fullpipe/modal.h
index b57d1fbd06..438e341c1c 100644
--- a/engines/fullpipe/modal.h
+++ b/engines/fullpipe/modal.h
@@ -25,6 +25,8 @@
namespace Fullpipe {
+class PictureObject;
+
class BaseModalObject {
public:
@@ -75,6 +77,91 @@ public:
void play(const char *fname);
};
+class ModalMap : public BaseModalObject {
+ Scene *_mapScene;
+ PictureObject *_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();
+};
+
+class ModalFinal : public BaseModalObject {
+ int _flags;
+ int _counter;
+ int _sfxVolume;
+
+ public:
+ ModalFinal();
+ virtual ~ModalFinal();
+
+ virtual bool pollEvent() { return true; }
+ virtual bool handleMessage(ExCommand *message);
+ virtual bool init(int counterdiff);
+ virtual void update();
+ virtual void saveload() {}
+
+ void unloadScenes();
+};
+
+class ModalCredits : public BaseModalObject {
+ Scene *_sceneTitles;
+ PictureObject *_creditsPic;
+ bool _fadeIn;
+ bool _fadeOut;
+ int _countdown;
+ int _sfxVolume;
+ int _currX;
+ int _currY;
+ int _maxY;
+
+ public:
+ ModalCredits();
+ virtual ~ModalCredits();
+
+ virtual bool pollEvent() { return true; }
+ virtual bool handleMessage(ExCommand *message);
+ virtual bool init(int counterdiff);
+ virtual void update();
+ virtual void saveload() {}
+};
+
+class ModalMainMenu : public BaseModalObject {
+public:
+ int _field_34;
+
+public:
+ ModalMainMenu();
+ virtual ~ModalMainMenu() {}
+
+ virtual bool pollEvent() { return true; }
+ virtual bool handleMessage(ExCommand *message) { return false; }
+ virtual bool init(int counterdiff) { return true; }
+ virtual void update() {}
+ virtual void saveload() {}
+};
+
+
} // End of namespace Fullpipe
#endif /* FULLPIPE_MODAL_H */