aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/gfx
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/gfx')
-rw-r--r--engines/titanic/gfx/act_button.cpp50
-rw-r--r--engines/titanic/gfx/act_button.h50
-rw-r--r--engines/titanic/gfx/changes_season_button.cpp51
-rw-r--r--engines/titanic/gfx/changes_season_button.h50
-rw-r--r--engines/titanic/gfx/chev_left_off.cpp42
-rw-r--r--engines/titanic/gfx/chev_left_off.h49
-rw-r--r--engines/titanic/gfx/chev_left_on.cpp42
-rw-r--r--engines/titanic/gfx/chev_left_on.h49
-rw-r--r--engines/titanic/gfx/chev_right_off.cpp42
-rw-r--r--engines/titanic/gfx/chev_right_off.h49
-rw-r--r--engines/titanic/gfx/chev_right_on.cpp42
-rw-r--r--engines/titanic/gfx/chev_right_on.h49
-rw-r--r--engines/titanic/gfx/chev_send_rec_switch.cpp42
-rw-r--r--engines/titanic/gfx/chev_send_rec_switch.h49
-rw-r--r--engines/titanic/gfx/chev_switch.cpp78
-rw-r--r--engines/titanic/gfx/chev_switch.h54
-rw-r--r--engines/titanic/gfx/edit_control.cpp222
-rw-r--r--engines/titanic/gfx/edit_control.h64
-rw-r--r--engines/titanic/gfx/elevator_button.cpp42
-rw-r--r--engines/titanic/gfx/elevator_button.h49
-rw-r--r--engines/titanic/gfx/get_from_succ.cpp42
-rw-r--r--engines/titanic/gfx/get_from_succ.h49
-rw-r--r--engines/titanic/gfx/helmet_on_off.cpp42
-rw-r--r--engines/titanic/gfx/helmet_on_off.h49
-rw-r--r--engines/titanic/gfx/home_photo.cpp42
-rw-r--r--engines/titanic/gfx/home_photo.h49
-rw-r--r--engines/titanic/gfx/icon_nav_action.cpp42
-rw-r--r--engines/titanic/gfx/icon_nav_action.h49
-rw-r--r--engines/titanic/gfx/icon_nav_butt.cpp39
-rw-r--r--engines/titanic/gfx/icon_nav_butt.h48
-rw-r--r--engines/titanic/gfx/icon_nav_down.cpp42
-rw-r--r--engines/titanic/gfx/icon_nav_down.h49
-rw-r--r--engines/titanic/gfx/icon_nav_image.cpp39
-rw-r--r--engines/titanic/gfx/icon_nav_image.h48
-rw-r--r--engines/titanic/gfx/icon_nav_left.cpp42
-rw-r--r--engines/titanic/gfx/icon_nav_left.h49
-rw-r--r--engines/titanic/gfx/icon_nav_receive.cpp39
-rw-r--r--engines/titanic/gfx/icon_nav_receive.h48
-rw-r--r--engines/titanic/gfx/icon_nav_right.cpp42
-rw-r--r--engines/titanic/gfx/icon_nav_right.h49
-rw-r--r--engines/titanic/gfx/icon_nav_send.cpp39
-rw-r--r--engines/titanic/gfx/icon_nav_send.h48
-rw-r--r--engines/titanic/gfx/icon_nav_up.cpp42
-rw-r--r--engines/titanic/gfx/icon_nav_up.h49
-rw-r--r--engines/titanic/gfx/keybrd_butt.cpp42
-rw-r--r--engines/titanic/gfx/keybrd_butt.h49
-rw-r--r--engines/titanic/gfx/move_object_button.cpp61
-rw-r--r--engines/titanic/gfx/move_object_button.h53
-rw-r--r--engines/titanic/gfx/music_control.cpp68
-rw-r--r--engines/titanic/gfx/music_control.h57
-rw-r--r--engines/titanic/gfx/music_slider.cpp39
-rw-r--r--engines/titanic/gfx/music_slider.h48
-rw-r--r--engines/titanic/gfx/music_slider_pitch.cpp67
-rw-r--r--engines/titanic/gfx/music_slider_pitch.h51
-rw-r--r--engines/titanic/gfx/music_slider_speed.cpp67
-rw-r--r--engines/titanic/gfx/music_slider_speed.h51
-rw-r--r--engines/titanic/gfx/music_switch.cpp39
-rw-r--r--engines/titanic/gfx/music_switch.h48
-rw-r--r--engines/titanic/gfx/music_switch_inversion.cpp67
-rw-r--r--engines/titanic/gfx/music_switch_inversion.h51
-rw-r--r--engines/titanic/gfx/music_switch_reverse.cpp66
-rw-r--r--engines/titanic/gfx/music_switch_reverse.h51
-rw-r--r--engines/titanic/gfx/music_voice_mute.cpp59
-rw-r--r--engines/titanic/gfx/music_voice_mute.h57
-rw-r--r--engines/titanic/gfx/send_to_succ.cpp42
-rw-r--r--engines/titanic/gfx/send_to_succ.h49
-rw-r--r--engines/titanic/gfx/sgt_selector.cpp39
-rw-r--r--engines/titanic/gfx/sgt_selector.h48
-rw-r--r--engines/titanic/gfx/slider_button.cpp51
-rw-r--r--engines/titanic/gfx/slider_button.h53
-rw-r--r--engines/titanic/gfx/small_chev_left_off.cpp42
-rw-r--r--engines/titanic/gfx/small_chev_left_off.h49
-rw-r--r--engines/titanic/gfx/small_chev_left_on.cpp42
-rw-r--r--engines/titanic/gfx/small_chev_left_on.h49
-rw-r--r--engines/titanic/gfx/small_chev_right_off.cpp42
-rw-r--r--engines/titanic/gfx/small_chev_right_off.h49
-rw-r--r--engines/titanic/gfx/small_chev_right_on.cpp42
-rw-r--r--engines/titanic/gfx/small_chev_right_on.h49
-rw-r--r--engines/titanic/gfx/st_button.cpp96
-rw-r--r--engines/titanic/gfx/st_button.h62
-rw-r--r--engines/titanic/gfx/status_change_button.cpp40
-rw-r--r--engines/titanic/gfx/status_change_button.h48
-rw-r--r--engines/titanic/gfx/text_down.cpp39
-rw-r--r--engines/titanic/gfx/text_down.h48
-rw-r--r--engines/titanic/gfx/text_skrew.cpp39
-rw-r--r--engines/titanic/gfx/text_skrew.h48
-rw-r--r--engines/titanic/gfx/text_up.cpp39
-rw-r--r--engines/titanic/gfx/text_up.h48
-rw-r--r--engines/titanic/gfx/toggle_button.cpp43
-rw-r--r--engines/titanic/gfx/toggle_button.h51
-rw-r--r--engines/titanic/gfx/toggle_switch.cpp46
-rw-r--r--engines/titanic/gfx/toggle_switch.h51
92 files changed, 4676 insertions, 0 deletions
diff --git a/engines/titanic/gfx/act_button.cpp b/engines/titanic/gfx/act_button.cpp
new file mode 100644
index 0000000000..75c999b10f
--- /dev/null
+++ b/engines/titanic/gfx/act_button.cpp
@@ -0,0 +1,50 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/act_button.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CActButton, CSTButton)
+ ON_MESSAGE(MouseButtonUpMsg)
+END_MESSAGE_MAP()
+
+CActButton::CActButton() : CSTButton() {
+}
+
+void CActButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CSTButton::save(file, indent);
+}
+
+void CActButton::load(SimpleFile *file) {
+ file->readNumber();
+ CSTButton::load(file);
+}
+
+bool CActButton::MouseButtonUpMsg(CMouseButtonUpMsg *msg) {
+ CActMsg actMsg(_actionName);
+ actMsg.execute(_actionTarget);
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/act_button.h b/engines/titanic/gfx/act_button.h
new file mode 100644
index 0000000000..910ace1d13
--- /dev/null
+++ b/engines/titanic/gfx/act_button.h
@@ -0,0 +1,50 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_ACT_BUTTON_H
+#define TITANIC_ACT_BUTTON_H
+
+#include "titanic/gfx/st_button.h"
+
+namespace Titanic {
+
+class CActButton : public CSTButton {
+ DECLARE_MESSAGE_MAP;
+ bool MouseButtonUpMsg(CMouseButtonUpMsg *msg);
+public:
+ CLASSDEF;
+ CActButton();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_ACT_BUTTON_H */
diff --git a/engines/titanic/gfx/changes_season_button.cpp b/engines/titanic/gfx/changes_season_button.cpp
new file mode 100644
index 0000000000..584a9542f3
--- /dev/null
+++ b/engines/titanic/gfx/changes_season_button.cpp
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/changes_season_button.h"
+#include "titanic/core/project_item.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CChangesSeasonButton, CSTButton)
+ ON_MESSAGE(MouseButtonDownMsg)
+END_MESSAGE_MAP()
+
+CChangesSeasonButton::CChangesSeasonButton() : CSTButton() {
+}
+
+void CChangesSeasonButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CSTButton::save(file, indent);
+}
+
+void CChangesSeasonButton::load(SimpleFile *file) {
+ file->readNumber();
+ CSTButton::load(file);
+}
+
+bool CChangesSeasonButton::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
+ CChangeSeasonMsg changeMsg(_actionName);
+ changeMsg.execute(getRoot(), nullptr, MSGFLAG_SCAN);
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/changes_season_button.h b/engines/titanic/gfx/changes_season_button.h
new file mode 100644
index 0000000000..4f588187eb
--- /dev/null
+++ b/engines/titanic/gfx/changes_season_button.h
@@ -0,0 +1,50 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_CHANGES_SEASON_BUTTON_H
+#define TITANIC_CHANGES_SEASON_BUTTON_H
+
+#include "titanic/gfx/st_button.h"
+
+namespace Titanic {
+
+class CChangesSeasonButton : public CSTButton {
+ DECLARE_MESSAGE_MAP;
+ bool MouseButtonDownMsg(CMouseButtonDownMsg *msg);
+public:
+ CLASSDEF;
+ CChangesSeasonButton();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CHANGES_SEASON_BUTTON_H */
diff --git a/engines/titanic/gfx/chev_left_off.cpp b/engines/titanic/gfx/chev_left_off.cpp
new file mode 100644
index 0000000000..d5c7dcffd6
--- /dev/null
+++ b/engines/titanic/gfx/chev_left_off.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/chev_left_off.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CChevLeftOff, CToggleSwitch);
+
+CChevLeftOff::CChevLeftOff() : CToggleSwitch() {
+}
+
+void CChevLeftOff::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CChevLeftOff::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/chev_left_off.h b/engines/titanic/gfx/chev_left_off.h
new file mode 100644
index 0000000000..5034c1a71a
--- /dev/null
+++ b/engines/titanic/gfx/chev_left_off.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_CHEV_LEFT_OFF_H
+#define TITANIC_CHEV_LEFT_OFF_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CChevLeftOff : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CChevLeftOff();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CHEV_LEFT_OFF_H */
diff --git a/engines/titanic/gfx/chev_left_on.cpp b/engines/titanic/gfx/chev_left_on.cpp
new file mode 100644
index 0000000000..9b4a5b6d58
--- /dev/null
+++ b/engines/titanic/gfx/chev_left_on.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/chev_left_on.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CChevLeftOn, CToggleSwitch);
+
+CChevLeftOn::CChevLeftOn() : CToggleSwitch() {
+}
+
+void CChevLeftOn::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CChevLeftOn::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/chev_left_on.h b/engines/titanic/gfx/chev_left_on.h
new file mode 100644
index 0000000000..df430f6700
--- /dev/null
+++ b/engines/titanic/gfx/chev_left_on.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_CHEV_LEFT_ON_H
+#define TITANIC_CHEV_LEFT_ON_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CChevLeftOn : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CChevLeftOn();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CHEV_LEFT_ON_H */
diff --git a/engines/titanic/gfx/chev_right_off.cpp b/engines/titanic/gfx/chev_right_off.cpp
new file mode 100644
index 0000000000..c4ff3628a0
--- /dev/null
+++ b/engines/titanic/gfx/chev_right_off.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/chev_right_off.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CChevRightOff, CToggleSwitch);
+
+CChevRightOff::CChevRightOff() : CToggleSwitch() {
+}
+
+void CChevRightOff::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CChevRightOff::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/chev_right_off.h b/engines/titanic/gfx/chev_right_off.h
new file mode 100644
index 0000000000..8f6c3fc254
--- /dev/null
+++ b/engines/titanic/gfx/chev_right_off.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_CHEV_RIGHT_OFF_H
+#define TITANIC_CHEV_RIGHT_OFF_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CChevRightOff : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CChevRightOff();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CHEV_RIGHT_OFF_H */
diff --git a/engines/titanic/gfx/chev_right_on.cpp b/engines/titanic/gfx/chev_right_on.cpp
new file mode 100644
index 0000000000..0351c105d2
--- /dev/null
+++ b/engines/titanic/gfx/chev_right_on.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/chev_right_on.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CChevRightOn, CToggleSwitch);
+
+CChevRightOn::CChevRightOn() : CToggleSwitch() {
+}
+
+void CChevRightOn::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CChevRightOn::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/chev_right_on.h b/engines/titanic/gfx/chev_right_on.h
new file mode 100644
index 0000000000..accd42cff8
--- /dev/null
+++ b/engines/titanic/gfx/chev_right_on.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_CHEV_RIGHT_ON_H
+#define TITANIC_CHEV_RIGHT_ON_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CChevRightOn : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CChevRightOn();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CHEV_RIGHT_ON_H */
diff --git a/engines/titanic/gfx/chev_send_rec_switch.cpp b/engines/titanic/gfx/chev_send_rec_switch.cpp
new file mode 100644
index 0000000000..6e30280315
--- /dev/null
+++ b/engines/titanic/gfx/chev_send_rec_switch.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/chev_send_rec_switch.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CChevSendRecSwitch, CToggleSwitch);
+
+CChevSendRecSwitch::CChevSendRecSwitch() : CToggleSwitch() {
+}
+
+void CChevSendRecSwitch::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CChevSendRecSwitch::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/chev_send_rec_switch.h b/engines/titanic/gfx/chev_send_rec_switch.h
new file mode 100644
index 0000000000..b3ccab2f09
--- /dev/null
+++ b/engines/titanic/gfx/chev_send_rec_switch.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_CHEV_SEND_REC_SWITCH_H
+#define TITANIC_CHEV_SEND_REC_SWITCH_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CChevSendRecSwitch : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CChevSendRecSwitch();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CHEV_SEND_REC_SWITCH_H */
diff --git a/engines/titanic/gfx/chev_switch.cpp b/engines/titanic/gfx/chev_switch.cpp
new file mode 100644
index 0000000000..177f0ada76
--- /dev/null
+++ b/engines/titanic/gfx/chev_switch.cpp
@@ -0,0 +1,78 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/chev_switch.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CChevSwitch, CToggleSwitch)
+ ON_MESSAGE(MouseButtonUpMsg)
+ ON_MESSAGE(SetChevButtonImageMsg)
+ ON_MESSAGE(MouseButtonDownMsg)
+END_MESSAGE_MAP()
+
+CChevSwitch::CChevSwitch() : CToggleSwitch(), _value(0) {
+}
+
+void CChevSwitch::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CChevSwitch::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+bool CChevSwitch::MouseButtonUpMsg(CMouseButtonUpMsg *msg) {
+ return true;
+}
+
+bool CChevSwitch::SetChevButtonImageMsg(CSetChevButtonImageMsg *msg) {
+ if (msg->_value2 && getParent()) {
+ error("TODO: Don't know parent type");
+ }
+
+ _fieldBC = msg->_value1;
+ if (_fieldBC) {
+ loadImage((_value & 1) ? "on_odd.tga" : "on_even.tga");
+ } else {
+ loadImage((_value & 1) ? "off_odd.tga" : "off_even.tga");
+ }
+
+ return true;
+}
+
+bool CChevSwitch::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
+ _fieldBC ^= 1;
+ if (getParent()) {
+ CSetChevPanelBitMsg bitMsg(_value, _fieldBC);
+ bitMsg.execute(getParent());
+ }
+
+ CSetChevButtonImageMsg chevMsg(_fieldBC, 0);
+ chevMsg.execute(this);
+
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/chev_switch.h b/engines/titanic/gfx/chev_switch.h
new file mode 100644
index 0000000000..01da53c854
--- /dev/null
+++ b/engines/titanic/gfx/chev_switch.h
@@ -0,0 +1,54 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_CHEV_SWITCH_H
+#define TITANIC_CHEV_SWITCH_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CChevSwitch : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+ bool MouseButtonUpMsg(CMouseButtonUpMsg *msg);
+ bool SetChevButtonImageMsg(CSetChevButtonImageMsg *msg);
+ bool MouseButtonDownMsg(CMouseButtonDownMsg *msg);
+public:
+ int _value;
+public:
+ CLASSDEF;
+ CChevSwitch();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CHEV_SWITCH_H */
diff --git a/engines/titanic/gfx/edit_control.cpp b/engines/titanic/gfx/edit_control.cpp
new file mode 100644
index 0000000000..3f3c4d4035
--- /dev/null
+++ b/engines/titanic/gfx/edit_control.cpp
@@ -0,0 +1,222 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/edit_control.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CEditControl, CGameObject)
+ ON_MESSAGE(EditControlMsg)
+END_MESSAGE_MAP()
+
+CEditControl::CEditControl() : CGameObject(), _fieldBC(false), _fontNumber(0), _fieldD4(2),
+ _textR(0), _textG(0), _textB(0), _fieldF0(0), _fieldF4(0) {
+}
+
+void CEditControl::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writeNumberLine(_editLeft, indent);
+ file->writeNumberLine(_editBottom, indent);
+ file->writeNumberLine(_editHeight, indent);
+ file->writeNumberLine(_maxTextChars, indent);
+ file->writeNumberLine(_fontNumber, indent);
+ file->writeNumberLine(_fieldD4, indent);
+ file->writeNumberLine(_textR, indent);
+ file->writeNumberLine(_textG, indent);
+ file->writeNumberLine(_textB, indent);
+ file->writeQuotedLine(_text, indent);
+ file->writeNumberLine(_fieldF0, indent);
+ file->writeNumberLine(_fieldF4, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CEditControl::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _editLeft = file->readNumber();
+ _editBottom = file->readNumber();
+ _editHeight = file->readNumber();
+ _maxTextChars = file->readNumber();
+ _fontNumber = file->readNumber();
+ _fieldD4 = file->readNumber();
+ _textR = file->readNumber();
+ _textG = file->readNumber();
+ _textB = file->readNumber();
+ _text = file->readString();
+ _fieldF0 = file->readNumber();
+ _fieldF4 = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+bool CEditControl::EditControlMsg(CEditControlMsg *msg) {
+ switch (msg->_mode) {
+ case 0:
+ if (!_editLeft) {
+ _editHeight = _bounds.height();
+ _editBottom = _bounds.bottom;
+ _editLeft = _bounds.left + _bounds.width() / 2;
+ _maxTextChars = msg->_param;
+ setTextFontNumber(_fontNumber);
+
+ CEditControlMsg ctlMsg;
+ ctlMsg._mode = 10;
+ ctlMsg._param = _fieldD4;
+ ctlMsg.execute(this);
+
+ ctlMsg._mode = 11;
+ ctlMsg._textR = _textR;
+ ctlMsg._textG = _textG;
+ ctlMsg._textB = _textB;
+ ctlMsg.execute(this);
+ }
+ break;
+
+ case 1: {
+ _text = "";
+ CEditControlMsg ctlMsg;
+ ctlMsg._mode = 14;
+ ctlMsg.execute(this);
+ break;
+ }
+
+ case 2: {
+ _text = msg->_text;
+ CEditControlMsg ctlMsg;
+ ctlMsg._mode = 14;
+ ctlMsg.execute(this);
+ break;
+ }
+
+ case 3:
+ msg->_text = _text;
+ break;
+
+ case 4:
+ msg->_param = _text.size();
+ break;
+
+ case 5:
+ _maxTextChars = msg->_param;
+ break;
+
+ case 6:
+ if (msg->_param == 8 && !_text.empty()) {
+ _text = _text.left(_text.size() - 1);
+ CEditControlMsg ctlMsg;
+ ctlMsg._mode = 14;
+ ctlMsg.execute(this);
+ } else if (msg->_param == 13) {
+ msg->_param = 1000;
+ } else if (msg->_param >= 32 && msg->_param < 127
+ && _text.size() < _maxTextChars) {
+ char c = (char)msg->_param;
+ _text += c;
+
+ CEditControlMsg ctlMsg;
+ ctlMsg._mode = 14;
+ ctlMsg.execute(this);
+ }
+ break;
+
+ case 7:
+ setTextFontNumber(msg->_param);
+ break;
+
+ case 8:
+ if (!_fieldBC) {
+ _fieldBC = true;
+ CEditControlMsg ctlMsg;
+ ctlMsg._mode = 14;
+ ctlMsg.execute(this);
+ }
+ break;
+
+ case 9:
+ if (_fieldBC) {
+ _fieldBC = false;
+ getTextCursor()->hide();
+ }
+ break;
+
+ case 10: {
+ setTextHasBorders((msg->_param & 1) != 0);
+ if (msg->_param & 4)
+ _fieldF0 = 1;
+ else if (msg->_param & 8)
+ _fieldF0 = 2;
+ else
+ _fieldF0 = 0;
+
+ _fieldF4 = msg->_param & 0x10;
+ CEditControlMsg ctlMsg;
+ ctlMsg._mode = 14;
+ ctlMsg.execute(this);
+ break;
+ }
+
+ case 11:
+ setTextColor(msg->_textR, msg->_textG, msg->_textB);
+ break;
+
+ case 12:
+ setVisible(true);
+ break;
+
+ case 13:
+ setVisible(false);
+ break;
+
+ case 14: {
+ makeDirty();
+ CString str = _fieldF4 ? CString('*', _text.size()) : _text;
+ setText(str);
+
+ int textWidth = getTextWidth();
+ if (_fieldF0 == 2) {
+ _bounds.left = _editLeft - textWidth / 2;
+ _bounds.setWidth(textWidth + 16);
+ setTextBounds();
+ makeDirty();
+ }
+
+ if (_fieldBC) {
+ CTextCursor *textCursor = getTextCursor();
+ textCursor->show();
+ textCursor->setPos(Point(_bounds.left + textWidth + 1, _bounds.top + 3));
+ textCursor->setSize(Point(2, _editHeight - 6));
+ textCursor->setColor(0xff, 0xff, 0xff);
+ textCursor->clearBounds();
+ }
+ break;
+ }
+
+ default:
+ break;
+ }
+
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/edit_control.h b/engines/titanic/gfx/edit_control.h
new file mode 100644
index 0000000000..6c02f7afb9
--- /dev/null
+++ b/engines/titanic/gfx/edit_control.h
@@ -0,0 +1,64 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_EDIT_CONTROL_H
+#define TITANIC_EDIT_CONTROL_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CEditControl : public CGameObject {
+ DECLARE_MESSAGE_MAP;
+ bool EditControlMsg(CEditControlMsg *msg);
+protected:
+ bool _fieldBC;
+ int _editLeft;
+ int _editBottom;
+ int _editHeight;
+ uint _maxTextChars;
+ int _fontNumber;
+ int _fieldD4;
+ byte _textR;
+ byte _textG;
+ byte _textB;
+ CString _text;
+ int _fieldF0;
+ int _fieldF4;
+public:
+ CLASSDEF;
+ CEditControl();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_EDIT_CONTROL_H */
diff --git a/engines/titanic/gfx/elevator_button.cpp b/engines/titanic/gfx/elevator_button.cpp
new file mode 100644
index 0000000000..e66ee19af3
--- /dev/null
+++ b/engines/titanic/gfx/elevator_button.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/elevator_button.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CElevatorButton, CSTButton);
+
+CElevatorButton::CElevatorButton() : CSTButton() {
+}
+
+void CElevatorButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CSTButton::save(file, indent);
+}
+
+void CElevatorButton::load(SimpleFile *file) {
+ file->readNumber();
+ CSTButton::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/elevator_button.h b/engines/titanic/gfx/elevator_button.h
new file mode 100644
index 0000000000..28110d8102
--- /dev/null
+++ b/engines/titanic/gfx/elevator_button.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_ELEVATOR_BUTTON_H
+#define TITANIC_ELEVATOR_BUTTON_H
+
+#include "titanic/gfx/st_button.h"
+
+namespace Titanic {
+
+class CElevatorButton : public CSTButton {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CElevatorButton();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_ELEVATOR_BUTTON_H */
diff --git a/engines/titanic/gfx/get_from_succ.cpp b/engines/titanic/gfx/get_from_succ.cpp
new file mode 100644
index 0000000000..d701f73537
--- /dev/null
+++ b/engines/titanic/gfx/get_from_succ.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/get_from_succ.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CGetFromSucc, CToggleSwitch);
+
+CGetFromSucc::CGetFromSucc() : CToggleSwitch() {
+}
+
+void CGetFromSucc::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CGetFromSucc::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/get_from_succ.h b/engines/titanic/gfx/get_from_succ.h
new file mode 100644
index 0000000000..f85f1b4cf2
--- /dev/null
+++ b/engines/titanic/gfx/get_from_succ.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_GET_FROM_SUCC_H
+#define TITANIC_GET_FROM_SUCC_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CGetFromSucc : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CGetFromSucc();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_GET_FROM_SUCC_H */
diff --git a/engines/titanic/gfx/helmet_on_off.cpp b/engines/titanic/gfx/helmet_on_off.cpp
new file mode 100644
index 0000000000..06e7d43d32
--- /dev/null
+++ b/engines/titanic/gfx/helmet_on_off.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/helmet_on_off.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CHelmetOnOff, CToggleSwitch);
+
+CHelmetOnOff::CHelmetOnOff() : CToggleSwitch() {
+}
+
+void CHelmetOnOff::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CHelmetOnOff::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/helmet_on_off.h b/engines/titanic/gfx/helmet_on_off.h
new file mode 100644
index 0000000000..c2910eb59d
--- /dev/null
+++ b/engines/titanic/gfx/helmet_on_off.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_HELMET_ON_OFF_H
+#define TITANIC_HELMET_ON_OFF_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CHelmetOnOff : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CHelmetOnOff();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_HELMET_ON_OFF_H */
diff --git a/engines/titanic/gfx/home_photo.cpp b/engines/titanic/gfx/home_photo.cpp
new file mode 100644
index 0000000000..758a5caa75
--- /dev/null
+++ b/engines/titanic/gfx/home_photo.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/home_photo.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CHomePhoto, CToggleSwitch);
+
+CHomePhoto::CHomePhoto() : CToggleSwitch() {
+}
+
+void CHomePhoto::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CHomePhoto::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/home_photo.h b/engines/titanic/gfx/home_photo.h
new file mode 100644
index 0000000000..09b18b7c0f
--- /dev/null
+++ b/engines/titanic/gfx/home_photo.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_HOME_PHOTO_H
+#define TITANIC_HOME_PHOTO_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CHomePhoto : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CHomePhoto();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_HOME_PHOTO_H */
diff --git a/engines/titanic/gfx/icon_nav_action.cpp b/engines/titanic/gfx/icon_nav_action.cpp
new file mode 100644
index 0000000000..4d32f46571
--- /dev/null
+++ b/engines/titanic/gfx/icon_nav_action.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/icon_nav_action.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CIconNavAction, CToggleSwitch);
+
+CIconNavAction::CIconNavAction() : CToggleSwitch() {
+}
+
+void CIconNavAction::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CIconNavAction::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/icon_nav_action.h b/engines/titanic/gfx/icon_nav_action.h
new file mode 100644
index 0000000000..841334dd41
--- /dev/null
+++ b/engines/titanic/gfx/icon_nav_action.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_ICON_NAV_ACTION_H
+#define TITANIC_ICON_NAV_ACTION_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CIconNavAction : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CIconNavAction();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_ICON_NAV_ACTION_H */
diff --git a/engines/titanic/gfx/icon_nav_butt.cpp b/engines/titanic/gfx/icon_nav_butt.cpp
new file mode 100644
index 0000000000..951c2f5e7b
--- /dev/null
+++ b/engines/titanic/gfx/icon_nav_butt.cpp
@@ -0,0 +1,39 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/icon_nav_butt.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CIconNavButt, CPetGraphic);
+
+void CIconNavButt::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CPetGraphic::save(file, indent);
+}
+
+void CIconNavButt::load(SimpleFile *file) {
+ file->readNumber();
+ CPetGraphic::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/icon_nav_butt.h b/engines/titanic/gfx/icon_nav_butt.h
new file mode 100644
index 0000000000..c60877e2c0
--- /dev/null
+++ b/engines/titanic/gfx/icon_nav_butt.h
@@ -0,0 +1,48 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_ICON_NAV_BUTT_H
+#define TITANIC_ICON_NAV_BUTT_H
+
+#include "titanic/pet_control/pet_graphic.h"
+
+namespace Titanic {
+
+class CIconNavButt : public CPetGraphic {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_ICON_NAV_BUTT_H */
diff --git a/engines/titanic/gfx/icon_nav_down.cpp b/engines/titanic/gfx/icon_nav_down.cpp
new file mode 100644
index 0000000000..efa2124b14
--- /dev/null
+++ b/engines/titanic/gfx/icon_nav_down.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/icon_nav_down.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CIconNavDown, CToggleSwitch);
+
+CIconNavDown::CIconNavDown() : CToggleSwitch() {
+}
+
+void CIconNavDown::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CIconNavDown::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/icon_nav_down.h b/engines/titanic/gfx/icon_nav_down.h
new file mode 100644
index 0000000000..6c0c2870e4
--- /dev/null
+++ b/engines/titanic/gfx/icon_nav_down.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_ICON_NAV_DOWN_H
+#define TITANIC_ICON_NAV_DOWN_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CIconNavDown : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CIconNavDown();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_ICON_NAV_DOWN_H */
diff --git a/engines/titanic/gfx/icon_nav_image.cpp b/engines/titanic/gfx/icon_nav_image.cpp
new file mode 100644
index 0000000000..403ae44b17
--- /dev/null
+++ b/engines/titanic/gfx/icon_nav_image.cpp
@@ -0,0 +1,39 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/icon_nav_image.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CIconNavImage, CPetGraphic);
+
+void CIconNavImage::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CPetGraphic::save(file, indent);
+}
+
+void CIconNavImage::load(SimpleFile *file) {
+ file->readNumber();
+ CPetGraphic::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/icon_nav_image.h b/engines/titanic/gfx/icon_nav_image.h
new file mode 100644
index 0000000000..580762c32d
--- /dev/null
+++ b/engines/titanic/gfx/icon_nav_image.h
@@ -0,0 +1,48 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_ICON_NAV_IMAGE_H
+#define TITANIC_ICON_NAV_IMAGE_H
+
+#include "titanic/pet_control/pet_graphic.h"
+
+namespace Titanic {
+
+class CIconNavImage : public CPetGraphic {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_ICON_NAV_IMAGE_H */
diff --git a/engines/titanic/gfx/icon_nav_left.cpp b/engines/titanic/gfx/icon_nav_left.cpp
new file mode 100644
index 0000000000..8d98f3724c
--- /dev/null
+++ b/engines/titanic/gfx/icon_nav_left.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/icon_nav_left.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CIconNavLeft, CToggleSwitch);
+
+CIconNavLeft::CIconNavLeft() : CToggleSwitch() {
+}
+
+void CIconNavLeft::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CIconNavLeft::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/icon_nav_left.h b/engines/titanic/gfx/icon_nav_left.h
new file mode 100644
index 0000000000..bb61c26362
--- /dev/null
+++ b/engines/titanic/gfx/icon_nav_left.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_ICON_NAV_LEFT_H
+#define TITANIC_ICON_NAV_LEFT_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CIconNavLeft : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CIconNavLeft();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_ICON_NAV_LEFT_H */
diff --git a/engines/titanic/gfx/icon_nav_receive.cpp b/engines/titanic/gfx/icon_nav_receive.cpp
new file mode 100644
index 0000000000..e3e0986690
--- /dev/null
+++ b/engines/titanic/gfx/icon_nav_receive.cpp
@@ -0,0 +1,39 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/icon_nav_receive.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CIconNavReceive, CPetGraphic);
+
+void CIconNavReceive::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CPetGraphic::save(file, indent);
+}
+
+void CIconNavReceive::load(SimpleFile *file) {
+ file->readNumber();
+ CPetGraphic::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/icon_nav_receive.h b/engines/titanic/gfx/icon_nav_receive.h
new file mode 100644
index 0000000000..0744105835
--- /dev/null
+++ b/engines/titanic/gfx/icon_nav_receive.h
@@ -0,0 +1,48 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_ICON_NAV_RECEIVE_H
+#define TITANIC_ICON_NAV_RECEIVE_H
+
+#include "titanic/pet_control/pet_graphic.h"
+
+namespace Titanic {
+
+class CIconNavReceive : public CPetGraphic {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_ICON_NAV_RECEIVE_H */
diff --git a/engines/titanic/gfx/icon_nav_right.cpp b/engines/titanic/gfx/icon_nav_right.cpp
new file mode 100644
index 0000000000..de827918e9
--- /dev/null
+++ b/engines/titanic/gfx/icon_nav_right.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/icon_nav_right.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CIconNavRight, CToggleSwitch);
+
+CIconNavRight::CIconNavRight() : CToggleSwitch() {
+}
+
+void CIconNavRight::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CIconNavRight::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/icon_nav_right.h b/engines/titanic/gfx/icon_nav_right.h
new file mode 100644
index 0000000000..a1bed9ca8f
--- /dev/null
+++ b/engines/titanic/gfx/icon_nav_right.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_ICON_NAV_RIGHT_H
+#define TITANIC_ICON_NAV_RIGHT_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CIconNavRight : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CIconNavRight();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_ICON_NAV_RIGHT_H */
diff --git a/engines/titanic/gfx/icon_nav_send.cpp b/engines/titanic/gfx/icon_nav_send.cpp
new file mode 100644
index 0000000000..9baa9e8f33
--- /dev/null
+++ b/engines/titanic/gfx/icon_nav_send.cpp
@@ -0,0 +1,39 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/icon_nav_send.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CIconNavSend, CPetGraphic);
+
+void CIconNavSend::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CPetGraphic::save(file, indent);
+}
+
+void CIconNavSend::load(SimpleFile *file) {
+ file->readNumber();
+ CPetGraphic::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/icon_nav_send.h b/engines/titanic/gfx/icon_nav_send.h
new file mode 100644
index 0000000000..f3af8d9c65
--- /dev/null
+++ b/engines/titanic/gfx/icon_nav_send.h
@@ -0,0 +1,48 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_ICON_NAV_SEND_H
+#define TITANIC_ICON_NAV_SEND_H
+
+#include "titanic/pet_control/pet_graphic.h"
+
+namespace Titanic {
+
+class CIconNavSend : public CPetGraphic {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_ICON_NAV_SEND_H */
diff --git a/engines/titanic/gfx/icon_nav_up.cpp b/engines/titanic/gfx/icon_nav_up.cpp
new file mode 100644
index 0000000000..4268d97868
--- /dev/null
+++ b/engines/titanic/gfx/icon_nav_up.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/icon_nav_up.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CIconNavUp, CToggleSwitch);
+
+CIconNavUp::CIconNavUp() : CToggleSwitch() {
+}
+
+void CIconNavUp::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CIconNavUp::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/icon_nav_up.h b/engines/titanic/gfx/icon_nav_up.h
new file mode 100644
index 0000000000..4b7320d610
--- /dev/null
+++ b/engines/titanic/gfx/icon_nav_up.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_ICON_NAV_UP_H
+#define TITANIC_ICON_NAV_UP_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CIconNavUp : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CIconNavUp();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_ICON_NAV_UP_H */
diff --git a/engines/titanic/gfx/keybrd_butt.cpp b/engines/titanic/gfx/keybrd_butt.cpp
new file mode 100644
index 0000000000..063e709a7b
--- /dev/null
+++ b/engines/titanic/gfx/keybrd_butt.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/keybrd_butt.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CKeybrdButt, CToggleSwitch);
+
+CKeybrdButt::CKeybrdButt() : CToggleSwitch() {
+}
+
+void CKeybrdButt::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CKeybrdButt::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/keybrd_butt.h b/engines/titanic/gfx/keybrd_butt.h
new file mode 100644
index 0000000000..822be41ed2
--- /dev/null
+++ b/engines/titanic/gfx/keybrd_butt.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_KEYBRD_BUTT_H
+#define TITANIC_KEYBRD_BUTT_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CKeybrdButt : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CKeybrdButt();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_KEYBRD_BUTT_H */
diff --git a/engines/titanic/gfx/move_object_button.cpp b/engines/titanic/gfx/move_object_button.cpp
new file mode 100644
index 0000000000..bcd2b2bd76
--- /dev/null
+++ b/engines/titanic/gfx/move_object_button.cpp
@@ -0,0 +1,61 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/move_object_button.h"
+#include "titanic/core/project_item.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CMoveObjectButton, CSTButton)
+ ON_MESSAGE(MouseButtonUpMsg)
+END_MESSAGE_MAP()
+
+CMoveObjectButton::CMoveObjectButton() : CSTButton(), _field11C(1) {
+}
+
+void CMoveObjectButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writePoint(_pos1, indent);
+ file->writeNumberLine(_field11C, indent);
+
+ CSTButton::save(file, indent);
+}
+
+void CMoveObjectButton::load(SimpleFile *file) {
+ file->readNumber();
+ _pos1 = file->readPoint();
+ _field11C = file->readNumber();
+
+ CSTButton::load(file);
+}
+
+bool CMoveObjectButton::MouseButtonUpMsg(CMouseButtonUpMsg *msg) {
+ CGameObject *obj = dynamic_cast<CGameObject *>(getRoot()->findByName(_actionTarget));
+ if (obj) {
+ obj->petAddToInventory();
+ obj->setVisible(_field11C);
+ }
+
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/move_object_button.h b/engines/titanic/gfx/move_object_button.h
new file mode 100644
index 0000000000..46c49c36e2
--- /dev/null
+++ b/engines/titanic/gfx/move_object_button.h
@@ -0,0 +1,53 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_MOVE_OBJECT_BUTTON_H
+#define TITANIC_MOVE_OBJECT_BUTTON_H
+
+#include "titanic/gfx/st_button.h"
+
+namespace Titanic {
+
+class CMoveObjectButton : public CSTButton {
+ DECLARE_MESSAGE_MAP;
+ bool MouseButtonUpMsg(CMouseButtonUpMsg *msg);
+private:
+ Point _pos1;
+ int _field11C;
+public:
+ CLASSDEF;
+ CMoveObjectButton();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MOVE_OBJECT_BUTTON_H */
diff --git a/engines/titanic/gfx/music_control.cpp b/engines/titanic/gfx/music_control.cpp
new file mode 100644
index 0000000000..317bec209f
--- /dev/null
+++ b/engines/titanic/gfx/music_control.cpp
@@ -0,0 +1,68 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/music_control.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CMusicControl, CBackground)
+ ON_MESSAGE(MouseButtonDownMsg)
+ ON_MESSAGE(MouseDoubleClickMsg)
+END_MESSAGE_MAP()
+
+CMusicControl::CMusicControl() : CBackground(),
+ _controlArea(BELLS), _controlVal(0), _controlMax(1), _fieldEC(1) {
+}
+
+void CMusicControl::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_controlArea, indent);
+ file->writeNumberLine(_controlVal, indent);
+ file->writeNumberLine(_controlMax, indent);
+ file->writeNumberLine(_fieldEC, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CMusicControl::load(SimpleFile *file) {
+ file->readNumber();
+ _controlArea = (MusicControlArea)file->readNumber();
+ _controlVal = file->readNumber();
+ _controlMax = file->readNumber();
+ _fieldEC = file->readNumber();
+
+ CBackground::load(file);
+}
+
+bool CMusicControl::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
+ CMusicSettingChangedMsg changedMsg;
+ changedMsg.execute(this);
+ return true;
+}
+
+bool CMusicControl::MouseDoubleClickMsg(CMouseDoubleClickMsg *msg) {
+ CMusicSettingChangedMsg changedMsg;
+ changedMsg.execute(this);
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/music_control.h b/engines/titanic/gfx/music_control.h
new file mode 100644
index 0000000000..a0e73392f9
--- /dev/null
+++ b/engines/titanic/gfx/music_control.h
@@ -0,0 +1,57 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_MUSIC_CONTROL_H
+#define TITANIC_MUSIC_CONTROL_H
+
+#include "titanic/core/background.h"
+#include "titanic/sound/music_room.h"
+
+namespace Titanic {
+
+class CMusicControl : public CBackground {
+ DECLARE_MESSAGE_MAP;
+ bool MouseButtonDownMsg(CMouseButtonDownMsg *msg);
+ bool MouseDoubleClickMsg(CMouseDoubleClickMsg *msg);
+public:
+ MusicControlArea _controlArea;
+ int _controlVal;
+ int _controlMax;
+ int _fieldEC;
+public:
+ CLASSDEF;
+ CMusicControl();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MUSIC_CONTROL_H */
diff --git a/engines/titanic/gfx/music_slider.cpp b/engines/titanic/gfx/music_slider.cpp
new file mode 100644
index 0000000000..ec7ff5e3f6
--- /dev/null
+++ b/engines/titanic/gfx/music_slider.cpp
@@ -0,0 +1,39 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/music_slider.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CMusicSlider, CMusicControl);
+
+void CMusicSlider::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CMusicControl::save(file, indent);
+}
+
+void CMusicSlider::load(SimpleFile *file) {
+ file->readNumber();
+ CMusicControl::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/music_slider.h b/engines/titanic/gfx/music_slider.h
new file mode 100644
index 0000000000..be2c5631b6
--- /dev/null
+++ b/engines/titanic/gfx/music_slider.h
@@ -0,0 +1,48 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_MUSIC_SLIDER_H
+#define TITANIC_MUSIC_SLIDER_H
+
+#include "titanic/gfx/music_control.h"
+
+namespace Titanic {
+
+class CMusicSlider : public CMusicControl {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MUSIC_SLIDER_H */
diff --git a/engines/titanic/gfx/music_slider_pitch.cpp b/engines/titanic/gfx/music_slider_pitch.cpp
new file mode 100644
index 0000000000..5f0432e742
--- /dev/null
+++ b/engines/titanic/gfx/music_slider_pitch.cpp
@@ -0,0 +1,67 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/music_slider_pitch.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CMusicSliderPitch, CMusicSlider)
+ ON_MESSAGE(MusicSettingChangedMsg)
+ ON_MESSAGE(EnterViewMsg)
+ ON_MESSAGE(QueryMusicControlSettingMsg)
+END_MESSAGE_MAP()
+
+void CMusicSliderPitch::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CMusicSlider::save(file, indent);
+}
+
+void CMusicSliderPitch::load(SimpleFile *file) {
+ file->readNumber();
+ CMusicSlider::load(file);
+}
+
+bool CMusicSliderPitch::MusicSettingChangedMsg(CMusicSettingChangedMsg *msg) {
+ if (_fieldEC) {
+ if (++_controlVal > _controlMax)
+ _controlVal = 0;
+
+ loadFrame(3 - _controlVal);
+ playSound("z#54.wav", 50);
+ } else {
+ playSound("z#46.wav");
+ }
+
+ return true;
+}
+
+bool CMusicSliderPitch::EnterViewMsg(CEnterViewMsg *msg) {
+ loadFrame(3 - _controlVal);
+ return true;
+}
+
+bool CMusicSliderPitch::QueryMusicControlSettingMsg(CQueryMusicControlSettingMsg *msg) {
+ msg->_value = _controlVal - 2;
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/music_slider_pitch.h b/engines/titanic/gfx/music_slider_pitch.h
new file mode 100644
index 0000000000..c375c6db33
--- /dev/null
+++ b/engines/titanic/gfx/music_slider_pitch.h
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_MUSIC_SLIDER_PITCH_H
+#define TITANIC_MUSIC_SLIDER_PITCH_H
+
+#include "titanic/gfx/music_slider.h"
+
+namespace Titanic {
+
+class CMusicSliderPitch : public CMusicSlider {
+ DECLARE_MESSAGE_MAP;
+ bool MusicSettingChangedMsg(CMusicSettingChangedMsg *msg);
+ bool EnterViewMsg(CEnterViewMsg *msg);
+ bool QueryMusicControlSettingMsg(CQueryMusicControlSettingMsg *msg);
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MUSIC_SLIDER_PITCH_H */
diff --git a/engines/titanic/gfx/music_slider_speed.cpp b/engines/titanic/gfx/music_slider_speed.cpp
new file mode 100644
index 0000000000..93af5d82b7
--- /dev/null
+++ b/engines/titanic/gfx/music_slider_speed.cpp
@@ -0,0 +1,67 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/music_slider_speed.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CMusicSliderSpeed, CMusicSlider)
+ ON_MESSAGE(MusicSettingChangedMsg)
+ ON_MESSAGE(EnterViewMsg)
+ ON_MESSAGE(QueryMusicControlSettingMsg)
+END_MESSAGE_MAP()
+
+void CMusicSliderSpeed::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CMusicSlider::save(file, indent);
+}
+
+void CMusicSliderSpeed::load(SimpleFile *file) {
+ file->readNumber();
+ CMusicSlider::load(file);
+}
+
+bool CMusicSliderSpeed::MusicSettingChangedMsg(CMusicSettingChangedMsg *msg) {
+ if (_fieldEC) {
+ if (++_controlVal > _controlMax)
+ _controlVal = 0;
+
+ loadFrame(3 - _controlVal);
+ playSound("z#54.wav", 50);
+ } else {
+ playSound("z#46.wav");
+ }
+
+ return true;
+}
+
+bool CMusicSliderSpeed::EnterViewMsg(CEnterViewMsg *msg) {
+ loadFrame(3 - _controlVal);
+ return true;
+}
+
+bool CMusicSliderSpeed::QueryMusicControlSettingMsg(CQueryMusicControlSettingMsg *msg) {
+ msg->_value = _controlVal - 1;
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/music_slider_speed.h b/engines/titanic/gfx/music_slider_speed.h
new file mode 100644
index 0000000000..2d54f4487c
--- /dev/null
+++ b/engines/titanic/gfx/music_slider_speed.h
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+*
+* ScummVM is the legal property of its developers, whose names
+* are too numerous to list here. Please refer to the COPYRIGHT
+* file distributed with this source distribution.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*
+*/
+
+#ifndef TITANIC_MUSIC_SLIDER_SPEED_H
+#define TITANIC_MUSIC_SLIDER_SPEED_H
+
+#include "titanic/gfx/music_slider.h"
+
+namespace Titanic {
+
+class CMusicSliderSpeed : public CMusicSlider {
+ DECLARE_MESSAGE_MAP;
+ bool MusicSettingChangedMsg(CMusicSettingChangedMsg *msg);
+ bool EnterViewMsg(CEnterViewMsg *msg);
+ bool QueryMusicControlSettingMsg(CQueryMusicControlSettingMsg *msg);
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MUSIC_SLIDER_SPEED_H */
diff --git a/engines/titanic/gfx/music_switch.cpp b/engines/titanic/gfx/music_switch.cpp
new file mode 100644
index 0000000000..1c2ced0b4e
--- /dev/null
+++ b/engines/titanic/gfx/music_switch.cpp
@@ -0,0 +1,39 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/music_switch.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CMusicSwitch, CMusicControl);
+
+void CMusicSwitch::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CMusicControl::save(file, indent);
+}
+
+void CMusicSwitch::load(SimpleFile *file) {
+ file->readNumber();
+ CMusicControl::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/music_switch.h b/engines/titanic/gfx/music_switch.h
new file mode 100644
index 0000000000..35af84bdbf
--- /dev/null
+++ b/engines/titanic/gfx/music_switch.h
@@ -0,0 +1,48 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_MUSIC_SWITCH_H
+#define TITANIC_MUSIC_SWITCH_H
+
+#include "titanic/gfx/music_control.h"
+
+namespace Titanic {
+
+class CMusicSwitch : public CMusicControl {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MUSIC_SWITCH_H */
diff --git a/engines/titanic/gfx/music_switch_inversion.cpp b/engines/titanic/gfx/music_switch_inversion.cpp
new file mode 100644
index 0000000000..d11df79ab4
--- /dev/null
+++ b/engines/titanic/gfx/music_switch_inversion.cpp
@@ -0,0 +1,67 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/music_switch_inversion.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CMusicSwitchInversion, CMusicSwitch)
+ ON_MESSAGE(MusicSettingChangedMsg)
+ ON_MESSAGE(EnterViewMsg)
+ ON_MESSAGE(QueryMusicControlSettingMsg)
+END_MESSAGE_MAP()
+
+void CMusicSwitchInversion::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CMusicSwitch::save(file, indent);
+}
+
+void CMusicSwitchInversion::load(SimpleFile *file) {
+ file->readNumber();
+ CMusicSwitch::load(file);
+}
+
+bool CMusicSwitchInversion::MusicSettingChangedMsg(CMusicSettingChangedMsg *msg) {
+ if (_fieldEC) {
+ if (++_controlVal > _controlMax)
+ _controlVal = 0;
+
+ loadFrame(_controlVal);
+ playSound("z#59.wav", 50);
+ } else {
+ playSound("z#46.wav");
+ }
+
+ return true;
+}
+
+bool CMusicSwitchInversion::EnterViewMsg(CEnterViewMsg *msg) {
+ loadFrame(_controlVal);
+ return true;
+}
+
+bool CMusicSwitchInversion::QueryMusicControlSettingMsg(CQueryMusicControlSettingMsg *msg) {
+ msg->_value = _controlVal;
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/music_switch_inversion.h b/engines/titanic/gfx/music_switch_inversion.h
new file mode 100644
index 0000000000..869b4745ea
--- /dev/null
+++ b/engines/titanic/gfx/music_switch_inversion.h
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_MUSIC_SWITCH_INVERSION_H
+#define TITANIC_MUSIC_SWITCH_INVERSION_H
+
+#include "titanic/gfx/music_switch.h"
+
+namespace Titanic {
+
+class CMusicSwitchInversion : public CMusicSwitch {
+ DECLARE_MESSAGE_MAP;
+ bool MusicSettingChangedMsg(CMusicSettingChangedMsg *msg);
+ bool EnterViewMsg(CEnterViewMsg *msg);
+ bool QueryMusicControlSettingMsg(CQueryMusicControlSettingMsg *msg);
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MUSIC_SWITCH_INVERSION_H */
diff --git a/engines/titanic/gfx/music_switch_reverse.cpp b/engines/titanic/gfx/music_switch_reverse.cpp
new file mode 100644
index 0000000000..9fe6d51d47
--- /dev/null
+++ b/engines/titanic/gfx/music_switch_reverse.cpp
@@ -0,0 +1,66 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/music_switch_reverse.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CMusicSwitchReverse, CMusicSwitch)
+ ON_MESSAGE(MusicSettingChangedMsg)
+ ON_MESSAGE(EnterViewMsg)
+ ON_MESSAGE(QueryMusicControlSettingMsg)
+END_MESSAGE_MAP()
+
+void CMusicSwitchReverse::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CMusicSwitch::save(file, indent);
+}
+
+void CMusicSwitchReverse::load(SimpleFile *file) {
+ file->readNumber();
+ CMusicSwitch::load(file);
+}
+bool CMusicSwitchReverse::MusicSettingChangedMsg(CMusicSettingChangedMsg *msg) {
+ if (_fieldEC) {
+ if (++_controlVal > _controlMax)
+ _controlVal = 0;
+
+ loadFrame(_controlVal);
+ playSound("z#59.wav", 50);
+ } else {
+ playSound("z#46.wav");
+ }
+
+ return true;
+}
+
+bool CMusicSwitchReverse::EnterViewMsg(CEnterViewMsg *msg) {
+ loadFrame(_controlVal);
+ return true;
+}
+
+bool CMusicSwitchReverse::QueryMusicControlSettingMsg(CQueryMusicControlSettingMsg *msg) {
+ msg->_value = _controlVal;
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/music_switch_reverse.h b/engines/titanic/gfx/music_switch_reverse.h
new file mode 100644
index 0000000000..c101f19d25
--- /dev/null
+++ b/engines/titanic/gfx/music_switch_reverse.h
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+*
+* ScummVM is the legal property of its developers, whose names
+* are too numerous to list here. Please refer to the COPYRIGHT
+* file distributed with this source distribution.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*
+*/
+
+#ifndef TITANIC_MUSIC_SWITCH_REVERSE_H
+#define TITANIC_MUSIC_SWITCH_REVERSE_H
+
+#include "titanic/gfx/music_switch.h"
+
+namespace Titanic {
+
+class CMusicSwitchReverse : public CMusicSwitch {
+ DECLARE_MESSAGE_MAP;
+ bool MusicSettingChangedMsg(CMusicSettingChangedMsg *msg);
+ bool EnterViewMsg(CEnterViewMsg *msg);
+ bool QueryMusicControlSettingMsg(CQueryMusicControlSettingMsg *msg);
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MUSIC_SWITCH_REVERSE_H */
diff --git a/engines/titanic/gfx/music_voice_mute.cpp b/engines/titanic/gfx/music_voice_mute.cpp
new file mode 100644
index 0000000000..ff59edc988
--- /dev/null
+++ b/engines/titanic/gfx/music_voice_mute.cpp
@@ -0,0 +1,59 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/music_voice_mute.h"
+#include "titanic/sound/music_room.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CMusicVoiceMute, CMusicControl)
+ ON_MESSAGE(MusicSettingChangedMsg)
+ ON_MESSAGE(EnterViewMsg)
+ ON_MESSAGE(QueryMusicControlSettingMsg)
+END_MESSAGE_MAP()
+
+bool CMusicVoiceMute::MusicSettingChangedMsg(CMusicSettingChangedMsg *msg) {
+ if (++_controlVal > _controlMax)
+ _controlVal = 0;
+
+ CMusicRoom *musicRoom = getMusicRoom();
+ musicRoom->setItem5(_controlArea, _controlVal == 1 ? 1 : 0);
+ loadFrame(1 - _controlVal);
+ playSound("z#55.wav", 50);
+
+ return true;
+}
+
+bool CMusicVoiceMute::EnterViewMsg(CEnterViewMsg *msg) {
+ loadFrame(1 - _controlVal);
+ CMusicRoom *musicRoom = getMusicRoom();
+ musicRoom->setItem5(_controlArea, _controlVal == 1 ? 1 : 0);
+
+ return true;
+}
+
+bool CMusicVoiceMute::QueryMusicControlSettingMsg(CQueryMusicControlSettingMsg *msg) {
+ msg->_value = _controlVal;
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/music_voice_mute.h b/engines/titanic/gfx/music_voice_mute.h
new file mode 100644
index 0000000000..f64b107423
--- /dev/null
+++ b/engines/titanic/gfx/music_voice_mute.h
@@ -0,0 +1,57 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_MUSIC_VOICE_MUTE_H
+#define TITANIC_MUSIC_VOICE_MUTE_H
+
+#include "titanic/gfx/music_control.h"
+
+namespace Titanic {
+
+class CMusicVoiceMute : public CMusicControl {
+ DECLARE_MESSAGE_MAP;
+ bool MusicSettingChangedMsg(CMusicSettingChangedMsg *msg);
+ bool EnterViewMsg(CEnterViewMsg *msg);
+ bool QueryMusicControlSettingMsg(CQueryMusicControlSettingMsg *msg);
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CMusicControl::save(file, indent);
+ }
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file) {
+ file->readNumber();
+ CMusicControl::load(file);
+ }
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MUSIC_VOICE_MUTE_H */
diff --git a/engines/titanic/gfx/send_to_succ.cpp b/engines/titanic/gfx/send_to_succ.cpp
new file mode 100644
index 0000000000..0e2b83361b
--- /dev/null
+++ b/engines/titanic/gfx/send_to_succ.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/send_to_succ.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CSendToSucc, CToggleSwitch);
+
+CSendToSucc::CSendToSucc() : CToggleSwitch() {
+}
+
+void CSendToSucc::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CSendToSucc::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/send_to_succ.h b/engines/titanic/gfx/send_to_succ.h
new file mode 100644
index 0000000000..734c4a7db3
--- /dev/null
+++ b/engines/titanic/gfx/send_to_succ.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_SEND_TO_SUCC_H
+#define TITANIC_SEND_TO_SUCC_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CSendToSucc : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CSendToSucc();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SEND_TO_SUCC_H */
diff --git a/engines/titanic/gfx/sgt_selector.cpp b/engines/titanic/gfx/sgt_selector.cpp
new file mode 100644
index 0000000000..81cccb72ce
--- /dev/null
+++ b/engines/titanic/gfx/sgt_selector.cpp
@@ -0,0 +1,39 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/sgt_selector.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CSGTSelector, CPetGraphic);
+
+void CSGTSelector::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CPetGraphic::save(file, indent);
+}
+
+void CSGTSelector::load(SimpleFile *file) {
+ file->readNumber();
+ CPetGraphic::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/sgt_selector.h b/engines/titanic/gfx/sgt_selector.h
new file mode 100644
index 0000000000..be35635c2b
--- /dev/null
+++ b/engines/titanic/gfx/sgt_selector.h
@@ -0,0 +1,48 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_SGT_SELECTOR_H
+#define TITANIC_SGT_SELECTOR_H
+
+#include "titanic/pet_control/pet_graphic.h"
+
+namespace Titanic {
+
+class CSGTSelector : public CPetGraphic {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SGT_SELECTOR_H */
diff --git a/engines/titanic/gfx/slider_button.cpp b/engines/titanic/gfx/slider_button.cpp
new file mode 100644
index 0000000000..0633158e97
--- /dev/null
+++ b/engines/titanic/gfx/slider_button.cpp
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/slider_button.h"
+
+namespace Titanic {
+
+CSliderButton::CSliderButton() : CSTButton(), _field114(0),
+ _field118(0), _field11C(0) {
+}
+
+void CSliderButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_field114, indent);
+ file->writeNumberLine(_field118, indent);
+ file->writeNumberLine(_field11C, indent);
+ file->writePoint(_pos1, indent);
+
+ CSTButton::save(file, indent);
+}
+
+void CSliderButton::load(SimpleFile *file) {
+ file->readNumber();
+ _field114 = file->readNumber();
+ _field118 = file->readNumber();
+ _field11C = file->readNumber();
+ _pos1 = file->readPoint();
+
+ CSTButton::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/slider_button.h b/engines/titanic/gfx/slider_button.h
new file mode 100644
index 0000000000..398290bb05
--- /dev/null
+++ b/engines/titanic/gfx/slider_button.h
@@ -0,0 +1,53 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_SLIDER_BUTTON_H
+#define TITANIC_SLIDER_BUTTON_H
+
+#include "titanic/gfx/st_button.h"
+
+namespace Titanic {
+
+class CSliderButton : public CSTButton {
+private:
+ int _field114;
+ int _field118;
+ int _field11C;
+ Point _pos1;
+public:
+ CLASSDEF;
+ CSliderButton();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SLIDER_BUTTON_H */
diff --git a/engines/titanic/gfx/small_chev_left_off.cpp b/engines/titanic/gfx/small_chev_left_off.cpp
new file mode 100644
index 0000000000..f7c27f9036
--- /dev/null
+++ b/engines/titanic/gfx/small_chev_left_off.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/small_chev_left_off.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CSmallChevLeftOff, CToggleSwitch);
+
+CSmallChevLeftOff::CSmallChevLeftOff() : CToggleSwitch() {
+}
+
+void CSmallChevLeftOff::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CSmallChevLeftOff::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/small_chev_left_off.h b/engines/titanic/gfx/small_chev_left_off.h
new file mode 100644
index 0000000000..bed64befdb
--- /dev/null
+++ b/engines/titanic/gfx/small_chev_left_off.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_SMALL_CHEV_LEFT_OFF_H
+#define TITANIC_SMALL_CHEV_LEFT_OFF_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CSmallChevLeftOff : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CSmallChevLeftOff();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SMALL_CHEV_LEFT_OFF_H */
diff --git a/engines/titanic/gfx/small_chev_left_on.cpp b/engines/titanic/gfx/small_chev_left_on.cpp
new file mode 100644
index 0000000000..7a82c1878e
--- /dev/null
+++ b/engines/titanic/gfx/small_chev_left_on.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/small_chev_left_on.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CSmallChevLeftOn, CToggleSwitch);
+
+CSmallChevLeftOn::CSmallChevLeftOn() : CToggleSwitch() {
+}
+
+void CSmallChevLeftOn::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CSmallChevLeftOn::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/small_chev_left_on.h b/engines/titanic/gfx/small_chev_left_on.h
new file mode 100644
index 0000000000..9d1771311c
--- /dev/null
+++ b/engines/titanic/gfx/small_chev_left_on.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_SMALL_CHEV_LEFT_ON_H
+#define TITANIC_SMALL_CHEV_LEFT_ON_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CSmallChevLeftOn : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CSmallChevLeftOn();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SMALL_CHEV_LEFT_ON_H */
diff --git a/engines/titanic/gfx/small_chev_right_off.cpp b/engines/titanic/gfx/small_chev_right_off.cpp
new file mode 100644
index 0000000000..f07c5a3d00
--- /dev/null
+++ b/engines/titanic/gfx/small_chev_right_off.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/small_chev_right_off.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CSmallChevRightOff, CToggleSwitch);
+
+CSmallChevRightOff::CSmallChevRightOff() : CToggleSwitch() {
+}
+
+void CSmallChevRightOff::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CSmallChevRightOff::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/small_chev_right_off.h b/engines/titanic/gfx/small_chev_right_off.h
new file mode 100644
index 0000000000..eb6ca455d2
--- /dev/null
+++ b/engines/titanic/gfx/small_chev_right_off.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_SMALL_CHEV_RIGHT_OFF_H
+#define TITANIC_SMALL_CHEV_RIGHT_OFF_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CSmallChevRightOff : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CSmallChevRightOff();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SMALL_CHEV_RIGHT_OFF_H */
diff --git a/engines/titanic/gfx/small_chev_right_on.cpp b/engines/titanic/gfx/small_chev_right_on.cpp
new file mode 100644
index 0000000000..18aba4a91f
--- /dev/null
+++ b/engines/titanic/gfx/small_chev_right_on.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/small_chev_right_on.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CSmallChevRightOn, CToggleSwitch);
+
+CSmallChevRightOn::CSmallChevRightOn() : CToggleSwitch() {
+}
+
+void CSmallChevRightOn::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleSwitch::save(file, indent);
+}
+
+void CSmallChevRightOn::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleSwitch::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/small_chev_right_on.h b/engines/titanic/gfx/small_chev_right_on.h
new file mode 100644
index 0000000000..1dfb2d6fb2
--- /dev/null
+++ b/engines/titanic/gfx/small_chev_right_on.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_SMALL_CHEV_RIGHT_ON_H
+#define TITANIC_SMALL_CHEV_RIGHT_ON_H
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+class CSmallChevRightOn : public CToggleSwitch {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CSmallChevRightOn();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SMALL_CHEV_RIGHT_ON_H */
diff --git a/engines/titanic/gfx/st_button.cpp b/engines/titanic/gfx/st_button.cpp
new file mode 100644
index 0000000000..6fc31f4c64
--- /dev/null
+++ b/engines/titanic/gfx/st_button.cpp
@@ -0,0 +1,96 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/st_button.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CSTButton, CBackground)
+ ON_MESSAGE(MouseButtonDownMsg)
+ ON_MESSAGE(MouseButtonUpMsg)
+ ON_MESSAGE(EnterViewMsg)
+END_MESSAGE_MAP()
+
+CSTButton::CSTButton() : CBackground() {
+ _statusInc = 0;
+ _actionTarget = "NULL";
+ _fieldF0 = 0;
+ _currentStatus = 0;
+ _actionName = "NULL";
+ _soundName = "NULL";
+ _buttonFrame = 0;
+}
+
+void CSTButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_statusInc, indent);
+ file->writeQuotedLine(_actionTarget, indent);
+ file->writeNumberLine(_fieldF0, indent);
+ file->writeNumberLine(_currentStatus, indent);
+ file->writeQuotedLine(_actionName, indent);
+ file->writeQuotedLine(_soundName, indent);
+ file->writeNumberLine(_buttonFrame, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CSTButton::load(SimpleFile *file) {
+ file->readNumber();
+ _statusInc = file->readNumber();
+ _actionTarget = file->readString();
+ _fieldF0 = file->readNumber();
+ _currentStatus = file->readNumber();
+ _actionName = file->readString();
+ _soundName = file->readString();
+ _buttonFrame = file->readNumber() != 0;
+
+ CBackground::load(file);
+}
+
+bool CSTButton::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
+ playMovie(0);
+ playSound(_soundName, 100, 0, 0);
+
+ return true;
+}
+
+bool CSTButton::MouseButtonUpMsg(CMouseButtonUpMsg *msg) {
+ int oldStatus = _currentStatus;
+ int newStatus = _currentStatus + _statusInc;
+
+ CStatusChangeMsg statusMsg(oldStatus, newStatus, false);
+ _currentStatus = newStatus;
+ statusMsg.execute(_actionTarget);
+
+ if (!statusMsg._success) {
+ _currentStatus -= _statusInc;
+ }
+
+ return true;
+}
+
+bool CSTButton::EnterViewMsg(CEnterViewMsg *msg) {
+ loadFrame(_buttonFrame);
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/st_button.h b/engines/titanic/gfx/st_button.h
new file mode 100644
index 0000000000..444c883f59
--- /dev/null
+++ b/engines/titanic/gfx/st_button.h
@@ -0,0 +1,62 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_ST_BUTTON_H
+#define TITANIC_ST_BUTTON_H
+
+#include "titanic/core/background.h"
+#include "titanic/messages/mouse_messages.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CSTButton : public CBackground {
+ DECLARE_MESSAGE_MAP;
+ bool MouseButtonDownMsg(CMouseButtonDownMsg *msg);
+ bool MouseButtonUpMsg(CMouseButtonUpMsg *msg);
+ bool EnterViewMsg(CEnterViewMsg *msg);
+protected:
+ int _statusInc;
+ CString _actionTarget;
+ int _fieldF0;
+ int _currentStatus;
+ CString _actionName;
+ CString _soundName;
+ int _buttonFrame;
+public:
+ CLASSDEF;
+ CSTButton();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_ST_BUTTON_H */
diff --git a/engines/titanic/gfx/status_change_button.cpp b/engines/titanic/gfx/status_change_button.cpp
new file mode 100644
index 0000000000..6644247ff2
--- /dev/null
+++ b/engines/titanic/gfx/status_change_button.cpp
@@ -0,0 +1,40 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/status_change_button.h"
+
+namespace Titanic {
+
+CStatusChangeButton::CStatusChangeButton() : CSTButton() {
+}
+
+void CStatusChangeButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CSTButton::save(file, indent);
+}
+
+void CStatusChangeButton::load(SimpleFile *file) {
+ file->readNumber();
+ CSTButton::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/status_change_button.h b/engines/titanic/gfx/status_change_button.h
new file mode 100644
index 0000000000..9e410c66f2
--- /dev/null
+++ b/engines/titanic/gfx/status_change_button.h
@@ -0,0 +1,48 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_STATUS_CHANGE_BUTTON_H
+#define TITANIC_STATUS_CHANGE_BUTTON_H
+
+#include "titanic/gfx/st_button.h"
+
+namespace Titanic {
+
+class CStatusChangeButton : public CSTButton {
+public:
+ CLASSDEF;
+ CStatusChangeButton();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_STATUS_CHANGE_BUTTON_H */
diff --git a/engines/titanic/gfx/text_down.cpp b/engines/titanic/gfx/text_down.cpp
new file mode 100644
index 0000000000..4d9bb0b077
--- /dev/null
+++ b/engines/titanic/gfx/text_down.cpp
@@ -0,0 +1,39 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/text_down.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CTextDown, CPetGraphic);
+
+void CTextDown::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CPetGraphic::save(file, indent);
+}
+
+void CTextDown::load(SimpleFile *file) {
+ file->readNumber();
+ CPetGraphic::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/text_down.h b/engines/titanic/gfx/text_down.h
new file mode 100644
index 0000000000..97660605d5
--- /dev/null
+++ b/engines/titanic/gfx/text_down.h
@@ -0,0 +1,48 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_TEXT_DOWN_H
+#define TITANIC_TEXT_DOWN_H
+
+#include "titanic/pet_control/pet_graphic.h"
+
+namespace Titanic {
+
+class CTextDown : public CPetGraphic {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_TEXT_DOWN_H */
diff --git a/engines/titanic/gfx/text_skrew.cpp b/engines/titanic/gfx/text_skrew.cpp
new file mode 100644
index 0000000000..6d403eabfb
--- /dev/null
+++ b/engines/titanic/gfx/text_skrew.cpp
@@ -0,0 +1,39 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/text_skrew.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CTextSkrew, CPetGraphic);
+
+void CTextSkrew::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CPetGraphic::save(file, indent);
+}
+
+void CTextSkrew::load(SimpleFile *file) {
+ file->readNumber();
+ CPetGraphic::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/text_skrew.h b/engines/titanic/gfx/text_skrew.h
new file mode 100644
index 0000000000..d0d9b82afd
--- /dev/null
+++ b/engines/titanic/gfx/text_skrew.h
@@ -0,0 +1,48 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_TEXT_SKREW_H
+#define TITANIC_TEXT_SKREW_H
+
+#include "titanic/pet_control/pet_graphic.h"
+
+namespace Titanic {
+
+class CTextSkrew : public CPetGraphic {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_TEXT_SKREW_H */
diff --git a/engines/titanic/gfx/text_up.cpp b/engines/titanic/gfx/text_up.cpp
new file mode 100644
index 0000000000..842be63ee6
--- /dev/null
+++ b/engines/titanic/gfx/text_up.cpp
@@ -0,0 +1,39 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/text_up.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CTextUp, CPetGraphic);
+
+void CTextUp::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CPetGraphic::save(file, indent);
+}
+
+void CTextUp::load(SimpleFile *file) {
+ file->readNumber();
+ CPetGraphic::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/text_up.h b/engines/titanic/gfx/text_up.h
new file mode 100644
index 0000000000..dda8d8461b
--- /dev/null
+++ b/engines/titanic/gfx/text_up.h
@@ -0,0 +1,48 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_TEXT_UP_H
+#define TITANIC_TEXT_UP_H
+
+#include "titanic/pet_control/pet_graphic.h"
+
+namespace Titanic {
+
+class CTextUp : public CPetGraphic {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_TEXT_UP_H */
diff --git a/engines/titanic/gfx/toggle_button.cpp b/engines/titanic/gfx/toggle_button.cpp
new file mode 100644
index 0000000000..2b7c80d3df
--- /dev/null
+++ b/engines/titanic/gfx/toggle_button.cpp
@@ -0,0 +1,43 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/toggle_button.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CToggleButton, CBackground);
+
+void CToggleButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CToggleButton::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/toggle_button.h b/engines/titanic/gfx/toggle_button.h
new file mode 100644
index 0000000000..5328072982
--- /dev/null
+++ b/engines/titanic/gfx/toggle_button.h
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_TOGGLE_BUTTON_H
+#define TITANIC_TOGGLE_BUTTON_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CToggleButton : public CBackground {
+ DECLARE_MESSAGE_MAP;
+private:
+ int _fieldE0;
+public:
+ CLASSDEF;
+ CToggleButton() : CBackground(), _fieldE0(1) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_TOGGLE_BUTTON_H */
diff --git a/engines/titanic/gfx/toggle_switch.cpp b/engines/titanic/gfx/toggle_switch.cpp
new file mode 100644
index 0000000000..20cbb863ee
--- /dev/null
+++ b/engines/titanic/gfx/toggle_switch.cpp
@@ -0,0 +1,46 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/gfx/toggle_switch.h"
+
+namespace Titanic {
+
+CToggleSwitch::CToggleSwitch() : CGameObject(), _fieldBC(0) {
+}
+
+void CToggleSwitch::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writePoint(_pos1, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CToggleSwitch::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _pos1 = file->readPoint();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/gfx/toggle_switch.h b/engines/titanic/gfx/toggle_switch.h
new file mode 100644
index 0000000000..8e7d057d8c
--- /dev/null
+++ b/engines/titanic/gfx/toggle_switch.h
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_TOGGLE_SWITCH_H
+#define TITANIC_TOGGLE_SWITCH_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CToggleSwitch : public CGameObject {
+protected:
+ int _fieldBC;
+ Point _pos1;
+public:
+ CLASSDEF;
+ CToggleSwitch();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_TOGGLE_SWITCH_H */