aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/game
diff options
context:
space:
mode:
authorPaul Gilbert2016-03-02 19:21:31 -0500
committerPaul Gilbert2016-03-02 19:21:31 -0500
commit5dce31417cd257785b9bbc790a9686e64a4aff37 (patch)
tree30dc3a9dbe4a18d8cb93963903edb7695b5253ad /engines/titanic/game
parent96825e282392d24e683c0e9cb7b7a1ac9aa4f467 (diff)
downloadscummvm-rg350-5dce31417cd257785b9bbc790a9686e64a4aff37.tar.gz
scummvm-rg350-5dce31417cd257785b9bbc790a9686e64a4aff37.tar.bz2
scummvm-rg350-5dce31417cd257785b9bbc790a9686e64a4aff37.zip
TITANIC: More saveable classes implemented
Diffstat (limited to 'engines/titanic/game')
-rw-r--r--engines/titanic/game/bilge_succubus.cpp51
-rw-r--r--engines/titanic/game/bilge_succubus.h57
-rw-r--r--engines/titanic/game/nav_helmet.cpp39
-rw-r--r--engines/titanic/game/nav_helmet.h54
-rw-r--r--engines/titanic/game/service_elevator_door.h2
-rw-r--r--engines/titanic/game/useless_lever.cpp37
-rw-r--r--engines/titanic/game/useless_lever.h50
-rw-r--r--engines/titanic/game/wheel_spin_horn.cpp43
-rw-r--r--engines/titanic/game/wheel_spin_horn.h53
9 files changed, 385 insertions, 1 deletions
diff --git a/engines/titanic/game/bilge_succubus.cpp b/engines/titanic/game/bilge_succubus.cpp
new file mode 100644
index 0000000000..9c19d81020
--- /dev/null
+++ b/engines/titanic/game/bilge_succubus.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/game/bilge_succubus.h"
+
+namespace Titanic {
+
+CBilgeSuccUBus::CBilgeSuccUBus() : CSuccUBus(), _field1DC(0),
+ _field1E0(0), _field1E4(0), _field1E8(0) {
+}
+
+void CBilgeSuccUBus::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_field1DC, indent);
+ file->writeNumberLine(_field1E0, indent);
+ file->writeNumberLine(_field1E4, indent);
+ file->writeNumberLine(_field1E8, indent);
+
+ CSuccUBus::save(file, indent);
+}
+
+void CBilgeSuccUBus::load(SimpleFile *file) {
+ file->readNumber();
+ _field1DC = file->readNumber();
+ _field1E0 = file->readNumber();
+ _field1E4 = file->readNumber();
+ _field1E8 = file->readNumber();
+
+ CSuccUBus::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/bilge_succubus.h b/engines/titanic/game/bilge_succubus.h
new file mode 100644
index 0000000000..795fe865c2
--- /dev/null
+++ b/engines/titanic/game/bilge_succubus.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_BILGE_SUCCUBUS_H
+#define TITANIC_BILGE_SUCCUBUS_H
+
+#include "titanic/npcs/succubus.h"
+
+namespace Titanic {
+
+class CBilgeSuccUBus : public CSuccUBus {
+public:
+ int _field1DC;
+ int _field1E0;
+ int _field1E4;
+ int _field1E8;
+public:
+ CBilgeSuccUBus();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CBilgeSuccUBus"; }
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent) const;
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_BILGE_SUCCUBUS_H */
diff --git a/engines/titanic/game/nav_helmet.cpp b/engines/titanic/game/nav_helmet.cpp
new file mode 100644
index 0000000000..c1dbb115f5
--- /dev/null
+++ b/engines/titanic/game/nav_helmet.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/game/nav_helmet.h"
+
+namespace Titanic {
+
+void CNavHelmet::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CGameObject::save(file, indent);
+}
+
+void CNavHelmet::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/nav_helmet.h b/engines/titanic/game/nav_helmet.h
new file mode 100644
index 0000000000..31eee9977a
--- /dev/null
+++ b/engines/titanic/game/nav_helmet.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_NAV_HELMET_H
+#define TITANIC_NAV_HELMET_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CNavHelmet : public CGameObject {
+private:
+ int _value;
+public:
+ CNavHelmet() : CGameObject(), _value(0) {}
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CNavHelmet"; }
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent) const;
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_NAV_HELMET_H */
diff --git a/engines/titanic/game/service_elevator_door.h b/engines/titanic/game/service_elevator_door.h
index 616601d196..52465d842d 100644
--- a/engines/titanic/game/service_elevator_door.h
+++ b/engines/titanic/game/service_elevator_door.h
@@ -23,7 +23,7 @@
#ifndef TITANIC_SERVICE_ELEVATOR_DOOR_H
#define TITANIC_SERVICE_ELEVATOR_DOOR_H
-#include "titanic/messages/messages.h"
+#include "titanic/sound/door_auto_sound_event.h"
namespace Titanic {
diff --git a/engines/titanic/game/useless_lever.cpp b/engines/titanic/game/useless_lever.cpp
new file mode 100644
index 0000000000..afc025b58f
--- /dev/null
+++ b/engines/titanic/game/useless_lever.cpp
@@ -0,0 +1,37 @@
+/* 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/game/useless_lever.h"
+
+namespace Titanic {
+
+void CUselessLever::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CToggleButton::save(file, indent);
+}
+
+void CUselessLever::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleButton::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/useless_lever.h b/engines/titanic/game/useless_lever.h
new file mode 100644
index 0000000000..444df0c69f
--- /dev/null
+++ b/engines/titanic/game/useless_lever.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_USELESS_LEVER_H
+#define TITANIC_USELESS_LEVER_H
+
+#include "titanic/gfx/toggle_button.h"
+
+namespace Titanic {
+
+class CUselessLever : public CToggleButton {
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CUselessLever"; }
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent) const;
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_UP_LIGHTER_H */
diff --git a/engines/titanic/game/wheel_spin_horn.cpp b/engines/titanic/game/wheel_spin_horn.cpp
new file mode 100644
index 0000000000..3bc705dddb
--- /dev/null
+++ b/engines/titanic/game/wheel_spin_horn.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/game/wheel_spin_horn.h"
+
+namespace Titanic {
+
+void CWheelSpinHorn::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string1, indent);
+ file->writeQuotedLine(_string2, indent);
+
+ CWheelSpin::save(file, indent);
+}
+
+void CWheelSpinHorn::load(SimpleFile *file) {
+ file->readNumber();
+ _string1 = file->readString();
+ _string2 = file->readString();
+
+ CWheelSpin::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/wheel_spin_horn.h b/engines/titanic/game/wheel_spin_horn.h
new file mode 100644
index 0000000000..b96b20b6c4
--- /dev/null
+++ b/engines/titanic/game/wheel_spin_horn.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_WHEEL_SPIN_HORN_H
+#define TITANIC_WHEEL_SPIN_HORN_H
+
+#include "titanic/game/wheel_spin.h"
+
+namespace Titanic {
+
+class CWheelSpinHorn : public CWheelSpin {
+public:
+ CString _string1;
+ CString _string2;
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CWheelSpinHorn"; }
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent) const;
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_WHEEL_SPIN_HORN_H */