aboutsummaryrefslogtreecommitdiff
path: root/engines/mads/nebular/dialogs_nebular.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/mads/nebular/dialogs_nebular.h')
-rw-r--r--engines/mads/nebular/dialogs_nebular.h26
1 files changed, 23 insertions, 3 deletions
diff --git a/engines/mads/nebular/dialogs_nebular.h b/engines/mads/nebular/dialogs_nebular.h
index b5ee090efa..fd4d6e706e 100644
--- a/engines/mads/nebular/dialogs_nebular.h
+++ b/engines/mads/nebular/dialogs_nebular.h
@@ -49,9 +49,9 @@ private:
public:
virtual void showDialog();
- virtual void showItem(int objectId, int msgId, int arg);
+ virtual void showItem(int objectId, int messageId, int speech = -1);
- virtual bool show(int id);
+ virtual bool show(int messageId, int objectId = -1);
};
struct HOGANUS {
@@ -79,7 +79,27 @@ public:
/**
* Show the dialog
*/
- bool show();
+ virtual void show();
+};
+
+class PictureDialog : public TextDialog {
+private:
+ int _objectId;
+ bool _cyclingActive;
+ byte _palette[PALETTE_SIZE];
+ uint32 _palFlags[PALETTE_COUNT];
+ RGBList _rgbList;
+
+ /**
+ * Sets up the palette and fades the screen to gray
+ */
+ void setupPalette();
+public:
+ PictureDialog(MADSEngine *vm, const Common::Point &pos, int maxChars, int objectId);
+
+ virtual ~PictureDialog();
+
+ virtual void show();
};
enum DialogTextAlign { ALIGN_CENTER = -1, ALIGN_AT_CENTER = -2, ALIGN_RIGHT = -3 };