aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic
diff options
context:
space:
mode:
authorPaul Gilbert2016-02-27 09:11:59 -0500
committerPaul Gilbert2016-02-27 09:11:59 -0500
commitb93f4e70777275cf259d3ac763d10134805b4042 (patch)
tree147cd6231217e878432129b8fc5520cd3e8aef0c /engines/titanic
parent03f842f8ebe6413db2592785a5e69830f9a6e58b (diff)
downloadscummvm-rg350-b93f4e70777275cf259d3ac763d10134805b4042.tar.gz
scummvm-rg350-b93f4e70777275cf259d3ac763d10134805b4042.tar.bz2
scummvm-rg350-b93f4e70777275cf259d3ac763d10134805b4042.zip
TITANIC: Added CCarry and descendent classes
Diffstat (limited to 'engines/titanic')
-rw-r--r--engines/titanic/carry/arm.cpp75
-rw-r--r--engines/titanic/carry/arm.h67
-rw-r--r--engines/titanic/carry/brain.cpp49
-rw-r--r--engines/titanic/carry/brain.h57
-rw-r--r--engines/titanic/carry/bridge_piece.cpp49
-rw-r--r--engines/titanic/carry/bridge_piece.h57
-rw-r--r--engines/titanic/carry/carry.cpp81
-rw-r--r--engines/titanic/carry/carry.h71
-rw-r--r--engines/titanic/carry/carry_parrot.cpp52
-rw-r--r--engines/titanic/carry/carry_parrot.h61
-rw-r--r--engines/titanic/carry/chicken.cpp53
-rw-r--r--engines/titanic/carry/chicken.h59
-rw-r--r--engines/titanic/carry/crushed_tv.cpp40
-rw-r--r--engines/titanic/carry/crushed_tv.h52
-rw-r--r--engines/titanic/carry/ear.cpp40
-rw-r--r--engines/titanic/carry/ear.h52
-rw-r--r--engines/titanic/carry/eye.cpp42
-rw-r--r--engines/titanic/carry/eye.h54
-rw-r--r--engines/titanic/carry/feathers.cpp40
-rw-r--r--engines/titanic/carry/feathers.h52
-rw-r--r--engines/titanic/carry/fruit.cpp51
-rw-r--r--engines/titanic/carry/fruit.h57
-rw-r--r--engines/titanic/carry/glass.cpp42
-rw-r--r--engines/titanic/carry/glass.h54
-rw-r--r--engines/titanic/carry/hammer.cpp40
-rw-r--r--engines/titanic/carry/hammer.h52
-rw-r--r--engines/titanic/carry/head_piece.cpp49
-rw-r--r--engines/titanic/carry/head_piece.h56
-rw-r--r--engines/titanic/carry/hose.cpp43
-rw-r--r--engines/titanic/carry/hose.h54
-rw-r--r--engines/titanic/carry/key.cpp40
-rw-r--r--engines/titanic/carry/key.h52
-rw-r--r--engines/titanic/carry/liftbot_head.cpp42
-rw-r--r--engines/titanic/carry/liftbot_head.h54
-rw-r--r--engines/titanic/carry/long_stick.cpp40
-rw-r--r--engines/titanic/carry/long_stick.h52
-rw-r--r--engines/titanic/carry/magazine.cpp46
-rw-r--r--engines/titanic/carry/magazine.h55
-rw-r--r--engines/titanic/carry/mouth.cpp40
-rw-r--r--engines/titanic/carry/mouth.h52
-rw-r--r--engines/titanic/carry/napkin.cpp40
-rw-r--r--engines/titanic/carry/napkin.h52
-rw-r--r--engines/titanic/carry/nose.cpp40
-rw-r--r--engines/titanic/carry/nose.h52
-rw-r--r--engines/titanic/carry/note.cpp46
-rw-r--r--engines/titanic/carry/note.h55
-rw-r--r--engines/titanic/carry/parcel.cpp40
-rw-r--r--engines/titanic/carry/parcel.h52
-rw-r--r--engines/titanic/carry/phonograph_cylinder.cpp89
-rw-r--r--engines/titanic/carry/phonograph_cylinder.h74
-rw-r--r--engines/titanic/carry/photograph.cpp50
-rw-r--r--engines/titanic/carry/photograph.h57
-rw-r--r--engines/titanic/carry/plug_in.cpp40
-rw-r--r--engines/titanic/carry/plug_in.h54
-rw-r--r--engines/titanic/carry/sweets.cpp40
-rw-r--r--engines/titanic/carry/sweets.h52
-rw-r--r--engines/titanic/core/saveable_object.cpp77
-rw-r--r--engines/titanic/module.mk29
58 files changed, 3012 insertions, 1 deletions
diff --git a/engines/titanic/carry/arm.cpp b/engines/titanic/carry/arm.cpp
new file mode 100644
index 0000000000..fdf73e93f3
--- /dev/null
+++ b/engines/titanic/carry/arm.cpp
@@ -0,0 +1,75 @@
+/* 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/carry/arm.h"
+
+namespace Titanic {
+
+CArm::CArm() : CCarry(), _string6("Key"),
+ _field138(0), _field13C(0), _field140(0), _field144(0),
+ _field148(0), _field158(0), _field15C(220), _field160(208),
+ _field164(409), _field168(350), _field16C(3), _field170(0) {
+}
+
+void CArm::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string6, indent);
+ file->writeNumberLine(_field138, indent);
+ file->writeNumberLine(_field13C, indent);
+ file->writeNumberLine(_field140, indent);
+ file->writeNumberLine(_field144, indent);
+ file->writeNumberLine(_field148, indent);
+
+ file->writeQuotedLine(_string7, indent);
+ file->writeNumberLine(_field158, indent);
+ file->writeNumberLine(_field15C, indent);
+ file->writeNumberLine(_field160, indent);
+ file->writeNumberLine(_field164, indent);
+ file->writeNumberLine(_field168, indent);
+ file->writeNumberLine(_field16C, indent);
+ file->writeNumberLine(_field170, indent);
+
+ CCarry::save(file, indent);
+}
+
+void CArm::load(SimpleFile *file) {
+ file->readNumber();
+ _string6 = file->readString();
+ _field138 = file->readNumber();
+ _field13C = file->readNumber();
+ _field140 = file->readNumber();
+ _field144 = file->readNumber();
+ _field148 = file->readNumber();
+
+ _string7 = file->readString();
+ _field158 = file->readNumber();
+ _field15C = file->readNumber();
+ _field160 = file->readNumber();
+ _field164 = file->readNumber();
+ _field168 = file->readNumber();
+ _field16C = file->readNumber();
+ _field170 = file->readNumber();
+
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/arm.h b/engines/titanic/carry/arm.h
new file mode 100644
index 0000000000..4874707fc5
--- /dev/null
+++ b/engines/titanic/carry/arm.h
@@ -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.
+ *
+ */
+
+#ifndef TITANIC_ARM_H
+#define TITANIC_ARM_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CArm : public CCarry {
+private:
+ CString _string6;
+ int _field138;
+ int _field13C;
+ int _field140;
+ int _field144;
+ int _field148;
+ CString _string7;
+ int _field158;
+ int _field15C;
+ int _field160;
+ int _field164;
+ int _field168;
+ int _field16C;
+ int _field170;
+public:
+ CArm();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CArm"; }
+
+ /**
+ * 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_ARM_H */
diff --git a/engines/titanic/carry/brain.cpp b/engines/titanic/carry/brain.cpp
new file mode 100644
index 0000000000..f37549c94c
--- /dev/null
+++ b/engines/titanic/carry/brain.cpp
@@ -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.
+ *
+ */
+
+#include "titanic/carry/brain.h"
+
+namespace Titanic {
+
+CBrain::CBrain() : CCarry(), _field12C(0),
+ _field130(0), _field134(0), _field138(0) {
+}
+
+void CBrain::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_field12C, indent);
+ file->writeNumberLine(_field134, indent);
+ file->writeNumberLine(_field138, indent);
+
+ CCarry::save(file, indent);
+}
+
+void CBrain::load(SimpleFile *file) {
+ file->readNumber();
+ _field12C = file->readNumber();
+ _field134 = file->readNumber();
+ _field138 = file->readNumber();
+
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/brain.h b/engines/titanic/carry/brain.h
new file mode 100644
index 0000000000..903723050c
--- /dev/null
+++ b/engines/titanic/carry/brain.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_BRAIN_H
+#define TITANIC_BRAIN_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CBrain : public CCarry {
+private:
+ int _field12C;
+ int _field130;
+ int _field134;
+ int _field138;
+public:
+ CBrain();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CBrain"; }
+
+ /**
+ * 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_BRAIN_H */
diff --git a/engines/titanic/carry/bridge_piece.cpp b/engines/titanic/carry/bridge_piece.cpp
new file mode 100644
index 0000000000..b9c998d9d1
--- /dev/null
+++ b/engines/titanic/carry/bridge_piece.cpp
@@ -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.
+ *
+ */
+
+#include "titanic/carry/bridge_piece.h"
+
+namespace Titanic {
+
+CBridgePiece::CBridgePiece() : CCarry(),
+ _field138(0), _field13C(0), _field140(0) {
+}
+
+void CBridgePiece::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string6, indent);
+ file->writeNumberLine(_field138, indent);
+ file->writeNumberLine(_field140, indent);
+
+ CCarry::save(file, indent);
+}
+
+void CBridgePiece::load(SimpleFile *file) {
+ file->readNumber();
+ _string6 = file->readString();
+ _field138 = file->readNumber();
+ _field140 = file->readNumber();
+
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/bridge_piece.h b/engines/titanic/carry/bridge_piece.h
new file mode 100644
index 0000000000..f38e27e6c9
--- /dev/null
+++ b/engines/titanic/carry/bridge_piece.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_BRIDGE_PIECE_H
+#define TITANIC_BRIDGE_PIECE_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CBridgePiece : public CCarry {
+private:
+ CString _string6;
+ int _field138;
+ int _field13C;
+ int _field140;
+public:
+ CBridgePiece();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CBridgePiece"; }
+
+ /**
+ * 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_BRIDGE_PIECE_H */
diff --git a/engines/titanic/carry/carry.cpp b/engines/titanic/carry/carry.cpp
new file mode 100644
index 0000000000..604c952658
--- /dev/null
+++ b/engines/titanic/carry/carry.cpp
@@ -0,0 +1,81 @@
+/* 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/carry/carry.h"
+
+namespace Titanic {
+
+CCarry::CCarry() : CGameObject(), _fieldC8(0), _fieldCC(0),
+ _fieldDC(0), _fieldE0(1), _fieldFC(0), _field100(0),
+ _field104(0), _field108(0), _field10C(0), _field110(0),
+ _field120(0), _field124(0), _field128(0),
+ _string1("None"),
+ _string2("NULL"),
+ _string3("That doesn't seem to do anything."),
+ _string4("It doesn't seem to want this.") {
+}
+
+void CCarry::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string1, indent);
+ file->writeNumberLine(_fieldC8, indent);
+ file->writeQuotedLine(_string2, indent);
+ file->writeNumberLine(_fieldDC, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeQuotedLine(_string3, indent);
+ file->writeQuotedLine(_string4, indent);
+ file->writeNumberLine(_fieldFC, indent);
+ file->writeNumberLine(_field104, indent);
+ file->writeNumberLine(_field108, indent);
+ file->writeNumberLine(_field10C, indent);
+ file->writeNumberLine(_field110, indent);
+ file->writeQuotedLine(_string5, indent);
+ file->writeNumberLine(_field120, indent);
+ file->writeNumberLine(_field124, indent);
+ file->writeNumberLine(_field128, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CCarry::load(SimpleFile *file) {
+ file->readNumber();
+ _string1 = file->readString();
+ _fieldC8 = file->readNumber();
+ _string2 = file->readString();
+ _fieldDC = file->readNumber();
+ _fieldE0 = file->readNumber();
+ _string3 = file->readString();
+ _string4 = file->readString();
+ _fieldFC = file->readNumber();
+ _field104 = file->readNumber();
+ _field108 = file->readNumber();
+ _field10C = file->readNumber();
+ _field110 = file->readNumber();
+ _string5 = file->readString();
+ _field120 = file->readNumber();
+ _field124 = file->readNumber();
+ _field128 = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/carry.h b/engines/titanic/carry/carry.h
new file mode 100644
index 0000000000..4bf98b7132
--- /dev/null
+++ b/engines/titanic/carry/carry.h
@@ -0,0 +1,71 @@
+/* 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_CARRY_H
+#define TITANIC_CARRY_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CCarry : public CGameObject {
+private:
+ CString _string1;
+ int _fieldC8;
+ int _fieldCC;
+ CString _string2;
+ int _fieldDC;
+ int _fieldE0;
+ CString _string3;
+ CString _string4;
+ int _fieldFC;
+ int _field100;
+ int _field104;
+ int _field108;
+ int _field10C;
+ int _field110;
+ CString _string5;
+ int _field120;
+ int _field124;
+ int _field128;
+public:
+ CCarry();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CCarry"; }
+
+ /**
+ * 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_CARRY_H */
diff --git a/engines/titanic/carry/carry_parrot.cpp b/engines/titanic/carry/carry_parrot.cpp
new file mode 100644
index 0000000000..80c833261c
--- /dev/null
+++ b/engines/titanic/carry/carry_parrot.cpp
@@ -0,0 +1,52 @@
+/* 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/carry/carry_parrot.h"
+
+namespace Titanic {
+
+CCarryParrot::CCarryParrot() : CCarry(), _string6("PerchedParrot"),
+ _field138(0), _field13C(0), _field140(0), _field144(10),
+ _field148(25), _field14C(0), _field150(8) {
+}
+
+void CCarryParrot::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string6, indent);
+ file->writeNumberLine(_field138, indent);
+ file->writeNumberLine(_field13C, indent);
+ file->writeNumberLine(_field140, indent);
+
+ CCarry::save(file, indent);
+}
+
+void CCarryParrot::load(SimpleFile *file) {
+ file->readNumber();
+ _string6 = file->readString();
+ _field138 = file->readNumber();
+ _field13C = file->readNumber();
+ _field140 = file->readNumber();
+
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/carry_parrot.h b/engines/titanic/carry/carry_parrot.h
new file mode 100644
index 0000000000..d4c71000fe
--- /dev/null
+++ b/engines/titanic/carry/carry_parrot.h
@@ -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.
+ *
+ */
+
+#ifndef TITANIC_CARRY_PARROT_H
+#define TITANIC_CARRY_PARROT_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CCarryParrot : public CCarry {
+private:
+ CString _string6;
+ int _field138;
+ int _field13C;
+ int _field140;
+ int _field144;
+ int _field148;
+ int _field14C;
+ int _field150;
+public:
+ CCarryParrot();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CCarryParrot"; }
+
+ /**
+ * 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_CARRY_PARROT_H */
diff --git a/engines/titanic/carry/chicken.cpp b/engines/titanic/carry/chicken.cpp
new file mode 100644
index 0000000000..972c993ec4
--- /dev/null
+++ b/engines/titanic/carry/chicken.cpp
@@ -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.
+ *
+ */
+
+#include "titanic/carry/chicken.h"
+
+namespace Titanic {
+
+int CChicken::_v1;
+
+CChicken::CChicken() : CCarry(), _string6("None"),
+ _field12C(1), _field13C(0), _field140(0) {
+}
+
+void CChicken::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_field12C, indent);
+ file->writeQuotedLine(_string6, indent);
+ file->writeNumberLine(_field13C, indent);
+ file->writeNumberLine(_field140, indent);
+
+ CCarry::save(file, indent);
+}
+
+void CChicken::load(SimpleFile *file) {
+ file->readNumber();
+ _field12C = file->readNumber();
+ _string6 = file->readString();
+ _field13C = file->readNumber();
+ _field140 = file->readNumber();
+
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/chicken.h b/engines/titanic/carry/chicken.h
new file mode 100644
index 0000000000..a2ca321998
--- /dev/null
+++ b/engines/titanic/carry/chicken.h
@@ -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.
+ *
+ */
+
+#ifndef TITANIC_CHICKEN_H
+#define TITANIC_CHICKEN_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CChicken : public CCarry {
+private:
+ static int _v1;
+private:
+ int _field12C;
+ CString _string6;
+ int _field13C;
+ int _field140;
+public:
+ CChicken();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CChicken"; }
+
+ /**
+ * 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_CHICKEN_H */
diff --git a/engines/titanic/carry/crushed_tv.cpp b/engines/titanic/carry/crushed_tv.cpp
new file mode 100644
index 0000000000..a0a7ee7a43
--- /dev/null
+++ b/engines/titanic/carry/crushed_tv.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/carry/crushed_tv.h"
+
+namespace Titanic {
+
+CCrushedTV::CCrushedTV() : CCarry() {
+}
+
+void CCrushedTV::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CCarry::save(file, indent);
+}
+
+void CCrushedTV::load(SimpleFile *file) {
+ file->readNumber();
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/crushed_tv.h b/engines/titanic/carry/crushed_tv.h
new file mode 100644
index 0000000000..ccbeac577a
--- /dev/null
+++ b/engines/titanic/carry/crushed_tv.h
@@ -0,0 +1,52 @@
+/* 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_CRUSHED_TV_H
+#define TITANIC_CRUSHED_TV_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CCrushedTV : public CCarry {
+public:
+ CCrushedTV();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CCrushedTV"; }
+
+ /**
+ * 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_CRUSHED_TV_H */
diff --git a/engines/titanic/carry/ear.cpp b/engines/titanic/carry/ear.cpp
new file mode 100644
index 0000000000..d87b09d9b4
--- /dev/null
+++ b/engines/titanic/carry/ear.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/carry/ear.h"
+
+namespace Titanic {
+
+CEar::CEar() : CHeadPiece() {
+}
+
+void CEar::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CHeadPiece::save(file, indent);
+}
+
+void CEar::load(SimpleFile *file) {
+ file->readNumber();
+ CHeadPiece::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/ear.h b/engines/titanic/carry/ear.h
new file mode 100644
index 0000000000..fbee7d02a3
--- /dev/null
+++ b/engines/titanic/carry/ear.h
@@ -0,0 +1,52 @@
+/* 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_EAR_H
+#define TITANIC_EAR_H
+
+#include "titanic/carry/head_piece.h"
+
+namespace Titanic {
+
+class CEar : public CHeadPiece {
+public:
+ CEar();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CEar"; }
+
+ /**
+ * 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_EAR_H */
diff --git a/engines/titanic/carry/eye.cpp b/engines/titanic/carry/eye.cpp
new file mode 100644
index 0000000000..21fc3faa7e
--- /dev/null
+++ b/engines/titanic/carry/eye.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/carry/eye.h"
+
+namespace Titanic {
+
+CEye::CEye() : CHeadPiece(), _eyeNum(0) {
+}
+
+void CEye::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_eyeNum, indent);
+ CHeadPiece::save(file, indent);
+}
+
+void CEye::load(SimpleFile *file) {
+ file->readNumber();
+ _eyeNum = file->readNumber();
+ CHeadPiece::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/eye.h b/engines/titanic/carry/eye.h
new file mode 100644
index 0000000000..0f0e73b0d3
--- /dev/null
+++ b/engines/titanic/carry/eye.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_EYE_H
+#define TITANIC_EYE_H
+
+#include "titanic/carry/head_piece.h"
+
+namespace Titanic {
+
+class CEye : public CHeadPiece {
+private:
+ int _eyeNum;
+public:
+ CEye();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CEye"; }
+
+ /**
+ * 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_EYE_H */
diff --git a/engines/titanic/carry/feathers.cpp b/engines/titanic/carry/feathers.cpp
new file mode 100644
index 0000000000..c03b73859b
--- /dev/null
+++ b/engines/titanic/carry/feathers.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/carry/feathers.h"
+
+namespace Titanic {
+
+CFeathers::CFeathers() : CCarry() {
+}
+
+void CFeathers::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CCarry::save(file, indent);
+}
+
+void CFeathers::load(SimpleFile *file) {
+ file->readNumber();
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/feathers.h b/engines/titanic/carry/feathers.h
new file mode 100644
index 0000000000..8fc11b7137
--- /dev/null
+++ b/engines/titanic/carry/feathers.h
@@ -0,0 +1,52 @@
+/* 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_FEATHERS_H
+#define TITANIC_FEATHERS_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CFeathers : public CCarry {
+public:
+ CFeathers();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CFeathers"; }
+
+ /**
+ * 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_FEATHERS_H */
diff --git a/engines/titanic/carry/fruit.cpp b/engines/titanic/carry/fruit.cpp
new file mode 100644
index 0000000000..3355d6e006
--- /dev/null
+++ b/engines/titanic/carry/fruit.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/carry/fruit.h"
+
+namespace Titanic {
+
+CFruit::CFruit() : CCarry(), _field12C(0),
+ _field130(0), _field134(0), _field138(0) {
+}
+
+void CFruit::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_field12C, indent);
+ file->writeNumberLine(_field130, indent);
+ file->writeNumberLine(_field134, indent);
+ file->writeNumberLine(_field138, indent);
+
+ CCarry::save(file, indent);
+}
+
+void CFruit::load(SimpleFile *file) {
+ file->readNumber();
+ _field12C = file->readNumber();
+ _field130 = file->readNumber();
+ _field134 = file->readNumber();
+ _field138 = file->readNumber();
+
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/fruit.h b/engines/titanic/carry/fruit.h
new file mode 100644
index 0000000000..bc8a109e0f
--- /dev/null
+++ b/engines/titanic/carry/fruit.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_FRUIT_H
+#define TITANIC_FRUIT_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CFruit : public CCarry {
+private:
+ int _field12C;
+ int _field130;
+ int _field134;
+ int _field138;
+public:
+ CFruit();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CFruit"; }
+
+ /**
+ * 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_FRUIT_H */
diff --git a/engines/titanic/carry/glass.cpp b/engines/titanic/carry/glass.cpp
new file mode 100644
index 0000000000..1f0e059f54
--- /dev/null
+++ b/engines/titanic/carry/glass.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/carry/glass.h"
+
+namespace Titanic {
+
+CGlass::CGlass() : CCarry(), _string6("None") {
+}
+
+void CGlass::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string6, indent);
+ CCarry::save(file, indent);
+}
+
+void CGlass::load(SimpleFile *file) {
+ file->readNumber();
+ _string6 = file->readString();
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/glass.h b/engines/titanic/carry/glass.h
new file mode 100644
index 0000000000..57922c1920
--- /dev/null
+++ b/engines/titanic/carry/glass.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_GLASS_H
+#define TITANIC_GLASS_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CGlass : public CCarry {
+private:
+ CString _string6;
+public:
+ CGlass();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CGlass"; }
+
+ /**
+ * 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_GLASS_H */
diff --git a/engines/titanic/carry/hammer.cpp b/engines/titanic/carry/hammer.cpp
new file mode 100644
index 0000000000..f1dc3b2aa0
--- /dev/null
+++ b/engines/titanic/carry/hammer.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/carry/hammer.h"
+
+namespace Titanic {
+
+CHammer::CHammer() : CCarry() {
+}
+
+void CHammer::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CCarry::save(file, indent);
+}
+
+void CHammer::load(SimpleFile *file) {
+ file->readNumber();
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/hammer.h b/engines/titanic/carry/hammer.h
new file mode 100644
index 0000000000..ec05435529
--- /dev/null
+++ b/engines/titanic/carry/hammer.h
@@ -0,0 +1,52 @@
+/* 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_HAMMER_H
+#define TITANIC_HAMMER_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CHammer : public CCarry {
+public:
+ CHammer();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CHammer"; }
+
+ /**
+ * 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_HAMMER_H */
diff --git a/engines/titanic/carry/head_piece.cpp b/engines/titanic/carry/head_piece.cpp
new file mode 100644
index 0000000000..1eab585462
--- /dev/null
+++ b/engines/titanic/carry/head_piece.cpp
@@ -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.
+ *
+ */
+
+#include "titanic/carry/head_piece.h"
+
+namespace Titanic {
+
+CHeadPiece::CHeadPiece() : CCarry(), _string6("Not Working"),
+ _field12C(0), _field13C(0) {
+}
+
+void CHeadPiece::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_field12C, indent);
+ file->writeQuotedLine(_string6, indent);
+ file->writeNumberLine(_field13C, indent);
+
+ CCarry::save(file, indent);
+}
+
+void CHeadPiece::load(SimpleFile *file) {
+ file->readNumber();
+ _field12C = file->readNumber();
+ _string6 = file->readString();
+ _field13C = file->readNumber();
+
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/head_piece.h b/engines/titanic/carry/head_piece.h
new file mode 100644
index 0000000000..ddadb75880
--- /dev/null
+++ b/engines/titanic/carry/head_piece.h
@@ -0,0 +1,56 @@
+/* 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_HEAD_PIECE_H
+#define TITANIC_HEAD_PIECE_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CHeadPiece : public CCarry {
+private:
+ int _field12C;
+ CString _string6;
+ int _field13C;
+public:
+ CHeadPiece();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CHeadPiece"; }
+
+ /**
+ * 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_HEAD_PIECE_H */
diff --git a/engines/titanic/carry/hose.cpp b/engines/titanic/carry/hose.cpp
new file mode 100644
index 0000000000..bb52ec34d5
--- /dev/null
+++ b/engines/titanic/carry/hose.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/carry/hose.h"
+
+namespace Titanic {
+
+CHose::CHose() : CCarry(),
+ _string6("Succ-U-Bus auxiliary hose attachment incompatible with sliding glass cover.") {
+}
+
+void CHose::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string6, indent);
+ CCarry::save(file, indent);
+}
+
+void CHose::load(SimpleFile *file) {
+ file->readNumber();
+ _string6 = file->readString();
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/hose.h b/engines/titanic/carry/hose.h
new file mode 100644
index 0000000000..87f47b3bc4
--- /dev/null
+++ b/engines/titanic/carry/hose.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_HOSE_H
+#define TITANIC_HOSE_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CHose : public CCarry {
+private:
+ CString _string6;
+public:
+ CHose();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CHose"; }
+
+ /**
+ * 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_HOSE_H */
diff --git a/engines/titanic/carry/key.cpp b/engines/titanic/carry/key.cpp
new file mode 100644
index 0000000000..2c559bb6c9
--- /dev/null
+++ b/engines/titanic/carry/key.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/carry/key.h"
+
+namespace Titanic {
+
+CKey::CKey() : CCarry() {
+}
+
+void CKey::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CCarry::save(file, indent);
+}
+
+void CKey::load(SimpleFile *file) {
+ file->readNumber();
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/key.h b/engines/titanic/carry/key.h
new file mode 100644
index 0000000000..815bb95c2b
--- /dev/null
+++ b/engines/titanic/carry/key.h
@@ -0,0 +1,52 @@
+/* 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_KEY_H
+#define TITANIC_KEY_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CKey : public CCarry {
+public:
+ CKey();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CKey"; }
+
+ /**
+ * 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_KEY_H */
diff --git a/engines/titanic/carry/liftbot_head.cpp b/engines/titanic/carry/liftbot_head.cpp
new file mode 100644
index 0000000000..422d88ad0f
--- /dev/null
+++ b/engines/titanic/carry/liftbot_head.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/carry/liftbot_head.h"
+
+namespace Titanic {
+
+CLiftbotHead::CLiftbotHead() : CCarry(), _field12C(0) {
+}
+
+void CLiftbotHead::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_field12C, indent);
+ CCarry::save(file, indent);
+}
+
+void CLiftbotHead::load(SimpleFile *file) {
+ file->readNumber();
+ _field12C = file->readNumber();
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/liftbot_head.h b/engines/titanic/carry/liftbot_head.h
new file mode 100644
index 0000000000..be4ad581b4
--- /dev/null
+++ b/engines/titanic/carry/liftbot_head.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_LIFTBOT_HEAD_H
+#define TITANIC_LIFTBOT_HEAD_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CLiftbotHead : public CCarry {
+private:
+ int _field12C;
+public:
+ CLiftbotHead();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CLiftbotHead"; }
+
+ /**
+ * 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_LIFTBOT_HEAD_H */
diff --git a/engines/titanic/carry/long_stick.cpp b/engines/titanic/carry/long_stick.cpp
new file mode 100644
index 0000000000..d5bf73b9b0
--- /dev/null
+++ b/engines/titanic/carry/long_stick.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/carry/long_stick.h"
+
+namespace Titanic {
+
+CLongStick::CLongStick() : CCarry() {
+}
+
+void CLongStick::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CCarry::save(file, indent);
+}
+
+void CLongStick::load(SimpleFile *file) {
+ file->readNumber();
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/long_stick.h b/engines/titanic/carry/long_stick.h
new file mode 100644
index 0000000000..3c8646d6a2
--- /dev/null
+++ b/engines/titanic/carry/long_stick.h
@@ -0,0 +1,52 @@
+/* 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_LONG_STICK_H
+#define TITANIC_LONG_STICK_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CLongStick : public CCarry {
+public:
+ CLongStick();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CLongStick"; }
+
+ /**
+ * 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_LONG_STICK_H */
diff --git a/engines/titanic/carry/magazine.cpp b/engines/titanic/carry/magazine.cpp
new file mode 100644
index 0000000000..efb68c1256
--- /dev/null
+++ b/engines/titanic/carry/magazine.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/carry/magazine.h"
+
+namespace Titanic {
+
+CMagazine::CMagazine() : CCarry() {
+}
+
+void CMagazine::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_field12C, indent);
+ file->writeNumberLine(_field130, indent);
+
+ CCarry::save(file, indent);
+}
+
+void CMagazine::load(SimpleFile *file) {
+ file->readNumber();
+ _field12C = file->readNumber();
+ _field130 = file->readNumber();
+
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/magazine.h b/engines/titanic/carry/magazine.h
new file mode 100644
index 0000000000..a1a7eee148
--- /dev/null
+++ b/engines/titanic/carry/magazine.h
@@ -0,0 +1,55 @@
+/* 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_MAGAZINE_H
+#define TITANIC_MAGAZINE_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CMagazine : public CCarry {
+private:
+ int _field12C;
+ int _field130;
+public:
+ CMagazine();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CMagazine"; }
+
+ /**
+ * 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_MAGAZINE_H */
diff --git a/engines/titanic/carry/mouth.cpp b/engines/titanic/carry/mouth.cpp
new file mode 100644
index 0000000000..058ffc42d7
--- /dev/null
+++ b/engines/titanic/carry/mouth.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/carry/mouth.h"
+
+namespace Titanic {
+
+CMouth::CMouth() : CHeadPiece() {
+}
+
+void CMouth::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CHeadPiece::save(file, indent);
+}
+
+void CMouth::load(SimpleFile *file) {
+ file->readNumber();
+ CHeadPiece::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/mouth.h b/engines/titanic/carry/mouth.h
new file mode 100644
index 0000000000..837a658d9e
--- /dev/null
+++ b/engines/titanic/carry/mouth.h
@@ -0,0 +1,52 @@
+/* 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_MOUTH_H
+#define TITANIC_MOUTH_H
+
+#include "titanic/carry/head_piece.h"
+
+namespace Titanic {
+
+class CMouth : public CHeadPiece {
+public:
+ CMouth();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CMouth"; }
+
+ /**
+ * 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_MOUTH_H */
diff --git a/engines/titanic/carry/napkin.cpp b/engines/titanic/carry/napkin.cpp
new file mode 100644
index 0000000000..48d03819ee
--- /dev/null
+++ b/engines/titanic/carry/napkin.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/carry/napkin.h"
+
+namespace Titanic {
+
+CNapkin::CNapkin() : CCarry() {
+}
+
+void CNapkin::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CCarry::save(file, indent);
+}
+
+void CNapkin::load(SimpleFile *file) {
+ file->readNumber();
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/napkin.h b/engines/titanic/carry/napkin.h
new file mode 100644
index 0000000000..549b29293e
--- /dev/null
+++ b/engines/titanic/carry/napkin.h
@@ -0,0 +1,52 @@
+/* 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_NAPKIN_H
+#define TITANIC_NAPKIN_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CNapkin : public CCarry {
+public:
+ CNapkin();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CNapkin"; }
+
+ /**
+ * 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_NAPKIN_H */
diff --git a/engines/titanic/carry/nose.cpp b/engines/titanic/carry/nose.cpp
new file mode 100644
index 0000000000..cd5085db44
--- /dev/null
+++ b/engines/titanic/carry/nose.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/carry/nose.h"
+
+namespace Titanic {
+
+CNose::CNose() : CHeadPiece() {
+}
+
+void CNose::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CHeadPiece::save(file, indent);
+}
+
+void CNose::load(SimpleFile *file) {
+ file->readNumber();
+ CHeadPiece::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/nose.h b/engines/titanic/carry/nose.h
new file mode 100644
index 0000000000..349c0c6e9b
--- /dev/null
+++ b/engines/titanic/carry/nose.h
@@ -0,0 +1,52 @@
+/* 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_NOSE_H
+#define TITANIC_NOSE_H
+
+#include "titanic/carry/head_piece.h"
+
+namespace Titanic {
+
+class CNose : public CHeadPiece {
+public:
+ CNose();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CNose"; }
+
+ /**
+ * 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_NOSE_H */
diff --git a/engines/titanic/carry/note.cpp b/engines/titanic/carry/note.cpp
new file mode 100644
index 0000000000..e8400126ac
--- /dev/null
+++ b/engines/titanic/carry/note.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/carry/note.h"
+
+namespace Titanic {
+
+CNote::CNote() : CCarry(), _field138(1) {
+}
+
+void CNote::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string6, indent);
+ file->writeNumberLine(_field138, indent);
+
+ CCarry::save(file, indent);
+}
+
+void CNote::load(SimpleFile *file) {
+ file->readNumber();
+ _string6 = file->readString();
+ _field138 = file->readNumber();
+
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/note.h b/engines/titanic/carry/note.h
new file mode 100644
index 0000000000..d3923c8402
--- /dev/null
+++ b/engines/titanic/carry/note.h
@@ -0,0 +1,55 @@
+/* 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_NOTE_H
+#define TITANIC_NOTE_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CNote : public CCarry {
+private:
+ CString _string6;
+ int _field138;
+public:
+ CNote();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CNote"; }
+
+ /**
+ * 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_NOTE_H */
diff --git a/engines/titanic/carry/parcel.cpp b/engines/titanic/carry/parcel.cpp
new file mode 100644
index 0000000000..b450d887c5
--- /dev/null
+++ b/engines/titanic/carry/parcel.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/carry/parcel.h"
+
+namespace Titanic {
+
+CParcel::CParcel() : CCarry() {
+}
+
+void CParcel::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CCarry::save(file, indent);
+}
+
+void CParcel::load(SimpleFile *file) {
+ file->readNumber();
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/parcel.h b/engines/titanic/carry/parcel.h
new file mode 100644
index 0000000000..e16ea9bcf9
--- /dev/null
+++ b/engines/titanic/carry/parcel.h
@@ -0,0 +1,52 @@
+/* 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_PARCEL_H
+#define TITANIC_PARCEL_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CParcel : public CCarry {
+public:
+ CParcel();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CParcel"; }
+
+ /**
+ * 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_PARCEL_H */
diff --git a/engines/titanic/carry/phonograph_cylinder.cpp b/engines/titanic/carry/phonograph_cylinder.cpp
new file mode 100644
index 0000000000..fb58c3214f
--- /dev/null
+++ b/engines/titanic/carry/phonograph_cylinder.cpp
@@ -0,0 +1,89 @@
+/* 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/carry/phonograph_cylinder.h"
+
+namespace Titanic {
+
+CPhonographCylinder::CPhonographCylinder() : CCarry(),
+ _field138(0), _field13C(0), _field140(0), _field144(0),
+ _field148(0), _field14C(0), _field150(0), _field154(0),
+ _field158(0), _field15C(0), _field160(0), _field164(0),
+ _field168(0), _field16C(0), _field170(0), _field174(0),
+ _field178(0), _field17C(0), _field180(0), _field184(0) {
+}
+
+void CPhonographCylinder::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string6, indent);
+ file->writeNumberLine(_field138, indent);
+ file->writeNumberLine(_field13C, indent);
+ file->writeNumberLine(_field140, indent);
+ file->writeNumberLine(_field144, indent);
+ file->writeNumberLine(_field148, indent);
+ file->writeNumberLine(_field14C, indent);
+ file->writeNumberLine(_field150, indent);
+ file->writeNumberLine(_field154, indent);
+ file->writeNumberLine(_field158, indent);
+ file->writeNumberLine(_field15C, indent);
+ file->writeNumberLine(_field160, indent);
+ file->writeNumberLine(_field164, indent);
+ file->writeNumberLine(_field168, indent);
+ file->writeNumberLine(_field16C, indent);
+ file->writeNumberLine(_field170, indent);
+ file->writeNumberLine(_field174, indent);
+ file->writeNumberLine(_field178, indent);
+ file->writeNumberLine(_field17C, indent);
+ file->writeNumberLine(_field180, indent);
+ file->writeNumberLine(_field184, indent);
+
+ CCarry::save(file, indent);
+}
+
+void CPhonographCylinder::load(SimpleFile *file) {
+ file->readNumber();
+ _string6 = file->readString();
+ _field138 = file->readNumber();
+ _field13C = file->readNumber();
+ _field140 = file->readNumber();
+ _field144 = file->readNumber();
+ _field148 = file->readNumber();
+ _field14C = file->readNumber();
+ _field150 = file->readNumber();
+ _field154 = file->readNumber();
+ _field158 = file->readNumber();
+ _field15C = file->readNumber();
+ _field160 = file->readNumber();
+ _field164 = file->readNumber();
+ _field168 = file->readNumber();
+ _field16C = file->readNumber();
+ _field170 = file->readNumber();
+ _field174 = file->readNumber();
+ _field178 = file->readNumber();
+ _field17C = file->readNumber();
+ _field180 = file->readNumber();
+ _field184 = file->readNumber();
+
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/phonograph_cylinder.h b/engines/titanic/carry/phonograph_cylinder.h
new file mode 100644
index 0000000000..327ba3e541
--- /dev/null
+++ b/engines/titanic/carry/phonograph_cylinder.h
@@ -0,0 +1,74 @@
+/* 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_PHONOGRAPH_CYLINDER_H
+#define TITANIC_PHONOGRAPH_CYLINDER_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CPhonographCylinder : public CCarry {
+private:
+ CString _string6;
+ int _field138;
+ int _field13C;
+ int _field140;
+ int _field144;
+ int _field148;
+ int _field14C;
+ int _field150;
+ int _field154;
+ int _field158;
+ int _field15C;
+ int _field160;
+ int _field164;
+ int _field168;
+ int _field16C;
+ int _field170;
+ int _field174;
+ int _field178;
+ int _field17C;
+ int _field180;
+ int _field184;
+public:
+ CPhonographCylinder();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CPhonographCylinder"; }
+
+ /**
+ * 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_PHONOGRAPH_CYLINDER_H */
diff --git a/engines/titanic/carry/photograph.cpp b/engines/titanic/carry/photograph.cpp
new file mode 100644
index 0000000000..92549b3ce5
--- /dev/null
+++ b/engines/titanic/carry/photograph.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/carry/photograph.h"
+
+namespace Titanic {
+
+int CPhotograph::_v1;
+
+CPhotograph::CPhotograph() : CCarry(), _field12C(0), _field130(0) {
+}
+
+void CPhotograph::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_field12C, indent);
+ file->writeNumberLine(_v1, indent);
+ file->writeNumberLine(_field130, indent);
+
+ CCarry::save(file, indent);
+}
+
+void CPhotograph::load(SimpleFile *file) {
+ file->readNumber();
+ _field12C = file->readNumber();
+ _v1 = file->readNumber();
+ _field130 = file->readNumber();
+
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/photograph.h b/engines/titanic/carry/photograph.h
new file mode 100644
index 0000000000..1148df1ec3
--- /dev/null
+++ b/engines/titanic/carry/photograph.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_PHOTOGRAPH_H
+#define TITANIC_PHOTOGRAPH_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CPhotograph : public CCarry {
+private:
+ static int _v1;
+private:
+ int _field12C;
+ int _field130;
+public:
+ CPhotograph();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CPhotograph"; }
+
+ /**
+ * 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_PHOTOGRAPH_H */
diff --git a/engines/titanic/carry/plug_in.cpp b/engines/titanic/carry/plug_in.cpp
new file mode 100644
index 0000000000..ff8d9b158f
--- /dev/null
+++ b/engines/titanic/carry/plug_in.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/carry/plug_in.h"
+
+namespace Titanic {
+
+CPlugIn::CPlugIn() : CCarry(), _field12C(0) {
+}
+
+void CPlugIn::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CCarry::save(file, indent);
+}
+
+void CPlugIn::load(SimpleFile *file) {
+ file->readNumber();
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/plug_in.h b/engines/titanic/carry/plug_in.h
new file mode 100644
index 0000000000..aefb3d113a
--- /dev/null
+++ b/engines/titanic/carry/plug_in.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_PLUG_IN_H
+#define TITANIC_PLUG_IN_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CPlugIn : public CCarry {
+private:
+ int _field12C;
+public:
+ CPlugIn();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CPlugIn"; }
+
+ /**
+ * 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_PLUG_IN_H */
diff --git a/engines/titanic/carry/sweets.cpp b/engines/titanic/carry/sweets.cpp
new file mode 100644
index 0000000000..faf3ad9dea
--- /dev/null
+++ b/engines/titanic/carry/sweets.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/carry/sweets.h"
+
+namespace Titanic {
+
+CSweets::CSweets() : CCarry() {
+}
+
+void CSweets::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CCarry::save(file, indent);
+}
+
+void CSweets::load(SimpleFile *file) {
+ file->readNumber();
+ CCarry::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/carry/sweets.h b/engines/titanic/carry/sweets.h
new file mode 100644
index 0000000000..1912e89789
--- /dev/null
+++ b/engines/titanic/carry/sweets.h
@@ -0,0 +1,52 @@
+/* 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_SWEETS_H
+#define TITANIC_SWEETS_H
+
+#include "titanic/carry/carry.h"
+
+namespace Titanic {
+
+class CSweets : public CCarry {
+public:
+ CSweets();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CSweets"; }
+
+ /**
+ * 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_SWEETS_H */
diff --git a/engines/titanic/core/saveable_object.cpp b/engines/titanic/core/saveable_object.cpp
index 83b1d3c46a..88688f2efc 100644
--- a/engines/titanic/core/saveable_object.cpp
+++ b/engines/titanic/core/saveable_object.cpp
@@ -20,6 +20,35 @@
*
*/
+#include "titanic/carry/arm.h"
+#include "titanic/carry/brain.h"
+#include "titanic/carry/bridge_piece.h"
+#include "titanic/carry/carry.h"
+#include "titanic/carry/carry_parrot.h"
+#include "titanic/carry/chicken.h"
+#include "titanic/carry/crushed_tv.h"
+#include "titanic/carry/ear.h"
+#include "titanic/carry/eye.h"
+#include "titanic/carry/feathers.h"
+#include "titanic/carry/fruit.h"
+#include "titanic/carry/glass.h"
+#include "titanic/carry/hammer.h"
+#include "titanic/carry/head_piece.h"
+#include "titanic/carry/hose.h"
+#include "titanic/carry/key.h"
+#include "titanic/carry/liftbot_head.h"
+#include "titanic/carry/long_stick.h"
+#include "titanic/carry/magazine.h"
+#include "titanic/carry/mouth.h"
+#include "titanic/carry/napkin.h"
+#include "titanic/carry/nose.h"
+#include "titanic/carry/note.h"
+#include "titanic/carry/parcel.h"
+#include "titanic/carry/phonograph_cylinder.h"
+#include "titanic/carry/photograph.h"
+#include "titanic/carry/plug_in.h"
+#include "titanic/carry/sweets.h"
+
#include "titanic/core/saveable_object.h"
#include "titanic/core/background.h"
#include "titanic/core/file_item.h"
@@ -121,6 +150,30 @@ Common::HashMap<Common::String, CSaveableObject::CreateFunction> *
#define DEFFN(T) CSaveableObject *Function##T() { return new T(); }
#define ADDFN(T) (*_classList)[#T] = Function##T
+DEFFN(CArm);
+DEFFN(CBrain);
+DEFFN(CBridgePiece);
+DEFFN(CCarryParrot);
+DEFFN(CChicken);
+DEFFN(CCrushedTV);
+DEFFN(CFeathers);
+DEFFN(CFruit);
+DEFFN(CGlass);
+DEFFN(CHammer);
+DEFFN(CHeadPiece);
+DEFFN(CHose);
+DEFFN(CKey);
+DEFFN(CLiftbotHead);
+DEFFN(CLongStick);
+DEFFN(CMagazine);
+DEFFN(CNapkin);
+DEFFN(CNote);
+DEFFN(CParcel);
+DEFFN(CPhonographCylinder);
+DEFFN(CPhotograph);
+DEFFN(CPlugIn);
+DEFFN(CSweets);
+
DEFFN(CBackground);
DEFFN(CFileItem);
DEFFN(CFileListItem);
@@ -214,6 +267,30 @@ DEFFN(CAutoMusicPlayer);
void CSaveableObject::initClassList() {
_classList = new Common::HashMap<Common::String, CreateFunction>();
+ ADDFN(CArm);
+ ADDFN(CBrain);
+ ADDFN(CBridgePiece);
+ ADDFN(CCarryParrot);
+ ADDFN(CChicken);
+ ADDFN(CCrushedTV);
+ ADDFN(CFeathers);
+ ADDFN(CFruit);
+ ADDFN(CGlass);
+ ADDFN(CHammer);
+ ADDFN(CHeadPiece);
+ ADDFN(CHose);
+ ADDFN(CKey);
+ ADDFN(CLiftbotHead);
+ ADDFN(CLongStick);
+ ADDFN(CMagazine);
+ ADDFN(CNapkin);
+ ADDFN(CNote);
+ ADDFN(CParcel);
+ ADDFN(CPhonographCylinder);
+ ADDFN(CPhotograph);
+ ADDFN(CPlugIn);
+ ADDFN(CSweets);
+
ADDFN(CBackground);
ADDFN(CFileItem);
ADDFN(CFileListItem);
diff --git a/engines/titanic/module.mk b/engines/titanic/module.mk
index 40b5b3280d..d17314a5cd 100644
--- a/engines/titanic/module.mk
+++ b/engines/titanic/module.mk
@@ -15,6 +15,34 @@ MODULE_OBJS := \
string.o \
titanic.o \
video_surface.o \
+ carry/arm.o \
+ carry/brain.o \
+ carry/bridge_piece.o \
+ carry/carry.o \
+ carry/carry_parrot.oo \
+ carry/chicken.o \
+ carry/crushed_tv.o \
+ carry/ear.o \
+ carry/eye.o \
+ carry/feathers.o \
+ carry/fruit.o \
+ carry/glass.o \
+ carry/hammer.o \
+ carry/head_piece.o \
+ carry/hose.o \
+ carry/key.o \
+ carry/liftbot_head.o \
+ carry/long_stick.o \
+ carry/magazine.o \
+ carry/mouth.o \
+ carry/napkin.o \
+ carry/nose.o \
+ carry/note.o \
+ carry/parcel.o \
+ carry/phonograph_cylinder.o \
+ carry/photograph.o \
+ carry/plug_in.o \
+ carry/sweets.o \
core/background.o \
core/dont_save_file_item.o \
core/file_item.o \
@@ -119,4 +147,3 @@ endif
# Include common rules
include $(srcdir)/rules.mk
-