aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2016-05-02 20:34:21 -0400
committerPaul Gilbert2016-07-10 16:38:11 -0400
commit82a1f6f0aa0afd414e3de677ab49e7ea1c15f226 (patch)
tree44c96241281baa7ae20a9c2c7d98a6d966eeaecc
parent00cb975f158d82f80bcad3e025aeaedc8a5cd7d9 (diff)
downloadscummvm-rg350-82a1f6f0aa0afd414e3de677ab49e7ea1c15f226.tar.gz
scummvm-rg350-82a1f6f0aa0afd414e3de677ab49e7ea1c15f226.tar.bz2
scummvm-rg350-82a1f6f0aa0afd414e3de677ab49e7ea1c15f226.zip
TITANIC: Implement Deploy Relaxation Device glyph
-rw-r--r--engines/titanic/pet_control/pet_remote.cpp7
-rw-r--r--engines/titanic/pet_control/pet_remote_glyphs.cpp12
-rw-r--r--engines/titanic/pet_control/pet_remote_glyphs.h30
3 files changed, 47 insertions, 2 deletions
diff --git a/engines/titanic/pet_control/pet_remote.cpp b/engines/titanic/pet_control/pet_remote.cpp
index 6ba6e558c3..dbb912277d 100644
--- a/engines/titanic/pet_control/pet_remote.cpp
+++ b/engines/titanic/pet_control/pet_remote.cpp
@@ -73,7 +73,8 @@ static const byte REMOTE_DATA[] = {
0x1C, 0x00,
0x1D, 0x02, GLYPH_SUMMON_ELEVATOR, 0x10,
0x1E, 0x0C,
- 0x05, 0x06, 0x07, 0x08, GLYPH_ENTERTAINMENT_DEVICE, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
+ GLYPH_DEPLOY_FLORAL, GLYPH_DEPLOY_RELAXATION, 0x07, 0x08,
+ GLYPH_ENTERTAINMENT_DEVICE, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
0x1F, 0x01, 0x10,
0x20, 0x02,
GLYPH_SUMMON_ELEVATOR, GLYPH_SUMMON_PELLERATOR,
@@ -333,6 +334,10 @@ bool CPetRemote::loadGlyph(int glyphIndex) {
glyph = new CDeployFloralGlyph();
break;
+ case GLYPH_DEPLOY_RELAXATION:
+ glyph = new CDeployRelaxationGlyph();
+ break;
+
default:
break;
}
diff --git a/engines/titanic/pet_control/pet_remote_glyphs.cpp b/engines/titanic/pet_control/pet_remote_glyphs.cpp
index edf1dce80f..a41f6431a6 100644
--- a/engines/titanic/pet_control/pet_remote_glyphs.cpp
+++ b/engines/titanic/pet_control/pet_remote_glyphs.cpp
@@ -303,4 +303,16 @@ void CDeployFloralGlyph::getTooltip(CPetText *text) {
}
+/*------------------------------------------------------------------------*/
+
+bool CDeployRelaxationGlyph::setup(CPetControl *petControl, CPetGlyphs *owner) {
+ CToggleRemoteGlyph::setup(petControl, owner);
+ setDefaults("3PetBedfoot", petControl);
+ return true;
+}
+
+void CDeployRelaxationGlyph::getTooltip(CPetText *text) {
+ text->setText("Deploy fully recumbent relaxation device");
+}
+
} // End of namespace Titanic
diff --git a/engines/titanic/pet_control/pet_remote_glyphs.h b/engines/titanic/pet_control/pet_remote_glyphs.h
index de56787bd0..09c626414c 100644
--- a/engines/titanic/pet_control/pet_remote_glyphs.h
+++ b/engines/titanic/pet_control/pet_remote_glyphs.h
@@ -31,7 +31,8 @@ namespace Titanic {
enum RemoteGlyph {
GLYPH_SUMMON_ELEVATOR = 0, GLYPH_SUMMON_PELLERATOR = 1,
GLYPH_TELEVISION_CONTROL = 2, GLYPH_ENTERTAINMENT_DEVICE = 3,
- GLYPH_OPERATE_LIGHTS = 4, GLYPH_DEPLOY_FLORAL = 5
+ GLYPH_OPERATE_LIGHTS = 4, GLYPH_DEPLOY_FLORAL = 5,
+ GLYPH_DEPLOY_RELAXATION = 6
};
enum RemoteMessage {
@@ -278,6 +279,33 @@ public:
virtual void getTooltip(CPetText *text);
};
+class CDeployRelaxationGlyph : public CToggleRemoteGlyph {
+public:
+ /**
+ * Setup the glyph
+ */
+ virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+
+ /**
+ * Called for mouse button down messages
+ */
+ virtual bool MouseButtonDownMsg(const Point &pt) {
+ return elementMouseButtonDownMsg(pt);
+ }
+
+ /**
+ * Handles mouse button up messages
+ */
+ virtual bool MouseButtonUpMsg(const Point &pt) {
+ return elementMouseButtonUpMsg(pt);
+ }
+
+ /**
+ * Returns the tooltip text for when the glyph is selected
+ */
+ virtual void getTooltip(CPetText *text);
+};
+
} // End of namespace Titanic
#endif /* TITANIC_PET_REMOTE_GLYPHS_H */