aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2016-03-02 08:01:03 -0500
committerPaul Gilbert2016-03-02 08:01:03 -0500
commit700b77e1eaea257f322efdb2336b8a46dd3b91ec (patch)
tree6ff918c5c9ab54ffe5f1f10c19004180860ad343
parentf7e057e4d74a7f38ac40024bba29ebc0071975c5 (diff)
downloadscummvm-rg350-700b77e1eaea257f322efdb2336b8a46dd3b91ec.tar.gz
scummvm-rg350-700b77e1eaea257f322efdb2336b8a46dd3b91ec.tar.bz2
scummvm-rg350-700b77e1eaea257f322efdb2336b8a46dd3b91ec.zip
TITANIC: Added more miscellaneous classes
-rw-r--r--engines/titanic/core/saveable_object.cpp22
-rw-r--r--engines/titanic/module.mk7
-rw-r--r--engines/titanic/moves/exit_tiania.cpp (renamed from engines/titanic/moves/exit_titania.cpp)8
-rw-r--r--engines/titanic/moves/exit_tiania.h (renamed from engines/titanic/moves/exit_titania.h)12
-rw-r--r--engines/titanic/sound/auto_sound_player_adsr.cpp43
-rw-r--r--engines/titanic/sound/auto_sound_player_adsr.h54
-rw-r--r--engines/titanic/sound/enter_view_toggles_other_music.cpp44
-rw-r--r--engines/titanic/sound/enter_view_toggles_other_music.h54
-rw-r--r--engines/titanic/sound/node_auto_sound_player.cpp39
-rw-r--r--engines/titanic/sound/node_auto_sound_player.h54
-rw-r--r--engines/titanic/sound/trigger_auto_music_player.cpp2
-rw-r--r--engines/titanic/sound/trigger_auto_music_player.h2
-rw-r--r--engines/titanic/sound/view_auto_sound_player.cpp39
-rw-r--r--engines/titanic/sound/view_auto_sound_player.h54
-rw-r--r--engines/titanic/sound/view_toggles_other_music.cpp44
-rw-r--r--engines/titanic/sound/view_toggles_other_music.h54
-rw-r--r--engines/titanic/sound/water_lapping_sounds.cpp8
17 files changed, 529 insertions, 11 deletions
diff --git a/engines/titanic/core/saveable_object.cpp b/engines/titanic/core/saveable_object.cpp
index a2273fdff1..db058cb121 100644
--- a/engines/titanic/core/saveable_object.cpp
+++ b/engines/titanic/core/saveable_object.cpp
@@ -291,6 +291,7 @@
#include "titanic/moves/exit_lift.h"
#include "titanic/moves/exit_pellerator.h"
#include "titanic/moves/exit_state_room.h"
+#include "titanic/moves/exit_tiania.h"
#include "titanic/moves/move_player_in_parrot_room.h"
#include "titanic/moves/move_player_to.h"
#include "titanic/moves/move_player_to_from.h"
@@ -317,14 +318,20 @@
#include "titanic/sound/auto_music_player.h"
#include "titanic/sound/auto_music_player_base.h"
#include "titanic/sound/auto_sound_player.h"
+#include "titanic/sound/auto_sound_player_adsr.h"
#include "titanic/sound/background_sound_maker.h"
#include "titanic/sound/bird_song.h"
#include "titanic/sound/gondolier_song.h"
+#include "titanic/sound/enter_view_toggles_other_music.h"
#include "titanic/sound/music_player.h"
+#include "titanic/sound/node_auto_sound_player.h"
#include "titanic/sound/restricted_auto_music_player.h"
+#include "titanic/sound/room_auto_sound_player.h"
#include "titanic/sound/seasonal_music_player.h"
#include "titanic/sound/titania_speech.h"
#include "titanic/sound/trigger_auto_music_player.h"
+#include "titanic/sound/view_auto_sound_player.h"
+#include "titanic/sound/view_toggles_other_music.h"
#include "titanic/sound/water_lapping_sounds.h"
namespace Titanic {
@@ -779,6 +786,7 @@ DEFFN(CExitBridge);
DEFFN(CExitLift);
DEFFN(CExitPellerator);
DEFFN(CExitStateRoom);
+DEFFN(CExitTiania);
DEFFN(CMovePlayerInParrotRoom);
DEFFN(CMovePlayerTo);
DEFFN(CMovePlayerToFrom);
@@ -804,14 +812,20 @@ DEFFN(CTitania);
DEFFN(CAutoMusicPlayer);
DEFFN(CAutoMusicPlayerBase);
DEFFN(CAutoSoundPlayer);
+DEFFN(CAutoSoundPlayerADSR);
DEFFN(CBackgroundSoundMaker);
DEFFN(CBirdSong);
+DEFFN(CEnterViewTogglesOtherMusic);
DEFFN(CGondolierSong);
DEFFN(CMusicPlayer);
+DEFFN(CNodeAutoSoundPlayer);
DEFFN(CRestrictedAutoMusicPlayer);
+DEFFN(CRoomAutoSoundPlayer);
DEFFN(CSeasonalMusicPlayer);
DEFFN(CTitaniaSpeech);
DEFFN(CTriggerAutoMusicPlayer);
+DEFFN(CViewAutoSoundPlayer);
+DEFFN(CViewTogglesOtherMusic);
DEFFN(CWaterLappingSounds);
void CSaveableObject::initClassList() {
@@ -1261,6 +1275,7 @@ void CSaveableObject::initClassList() {
ADDFN(CExitLift);
ADDFN(CExitPellerator);
ADDFN(CExitStateRoom);
+ ADDFN(CExitTiania);
ADDFN(CMovePlayerInParrotRoom);
ADDFN(CMovePlayerTo);
ADDFN(CMovePlayerToFrom);
@@ -1287,15 +1302,22 @@ void CSaveableObject::initClassList() {
ADDFN(CAutoMusicPlayer);
ADDFN(CAutoMusicPlayerBase);
ADDFN(CAutoSoundPlayer);
+ ADDFN(CAutoSoundPlayerADSR);
ADDFN(CBackgroundSoundMaker);
ADDFN(CBirdSong);
ADDFN(CGondolierSong);
+ ADDFN(CEnterViewTogglesOtherMusic);
+ ADDFN(CGondolierSong);
ADDFN(CMusicPlayer);
+ ADDFN(CNodeAutoSoundPlayer);
ADDFN(CRestrictedAutoMusicPlayer);
+ ADDFN(CRoomAutoSoundPlayer);
ADDFN(CSeasonalMusicPlayer);
ADDFN(CAutoMusicPlayer);
ADDFN(CTitaniaSpeech);
ADDFN(CTriggerAutoMusicPlayer);
+ ADDFN(CViewAutoSoundPlayer);
+ ADDFN(CViewTogglesOtherMusic);
ADDFN(CWaterLappingSounds);
}
diff --git a/engines/titanic/module.mk b/engines/titanic/module.mk
index 618c00871a..0a236d92ca 100644
--- a/engines/titanic/module.mk
+++ b/engines/titanic/module.mk
@@ -310,7 +310,7 @@ MODULE_OBJS := \
moves/exit_lift.o \
moves/exit_pellerator.o \
moves/exit_state_room.o \
- moves/exit_titania.o \
+ moves/exit_tiania.o \
moves/move_player_in_parrot_room.o \
moves/move_player_to_from.o \
moves/move_player_to.o \
@@ -338,15 +338,20 @@ MODULE_OBJS := \
sound/auto_music_player.o \
sound/auto_music_player_base.o \
sound/auto_sound_player.o \
+ sound/auto_sound_player_adsr.o \
sound/background_sound_maker.o \
sound/bird_song.o \
+ sound/enter_view_toggles_other_music.o \
sound/gondolier_song.o \
sound/music_player.o \
+ sound/node_auto_sound_player.o \
sound/restricted_auto_music_player.o \
sound/room_auto_sound_player.o \
sound/seasonal_music_player.o \
sound/titania_speech.o \
sound/trigger_auto_music_player.o \
+ sound/view_auto_sound_player.o \
+ sound/view_toggles_other_music.o \
sound/water_lapping_sounds.o
# This module can be built as a plugin
diff --git a/engines/titanic/moves/exit_titania.cpp b/engines/titanic/moves/exit_tiania.cpp
index 99585f56d9..99b6c96db7 100644
--- a/engines/titanic/moves/exit_titania.cpp
+++ b/engines/titanic/moves/exit_tiania.cpp
@@ -20,15 +20,15 @@
*
*/
-#include "titanic/moves/exit_titania.h"
+#include "titanic/moves/exit_tiania.h"
namespace Titanic {
-CExitTitania::CExitTitania() : CMovePlayerTo(), _fieldC8(0),
+CExitTiania::CExitTiania() : CMovePlayerTo(), _fieldC8(0),
_string1("NULL"), _string2("NULL"), _string3("NULL") {
}
-void CExitTitania::save(SimpleFile *file, int indent) const {
+void CExitTiania::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
file->writeNumberLine(_fieldC8, indent);
file->writeQuotedLine(_string1, indent);
@@ -38,7 +38,7 @@ void CExitTitania::save(SimpleFile *file, int indent) const {
CMovePlayerTo::save(file, indent);
}
-void CExitTitania::load(SimpleFile *file) {
+void CExitTiania::load(SimpleFile *file) {
file->readNumber();
_fieldC8 = file->readNumber();
_string1 = file->readString();
diff --git a/engines/titanic/moves/exit_titania.h b/engines/titanic/moves/exit_tiania.h
index 1d2226ae54..63e120fcf3 100644
--- a/engines/titanic/moves/exit_titania.h
+++ b/engines/titanic/moves/exit_tiania.h
@@ -20,26 +20,26 @@
*
*/
-#ifndef TITANIC_EXIT_TITANIA_H
-#define TITANIC_EXIT_TITANIA_H
+#ifndef TITANIC_EXIT_TIANIA_H
+#define TITANIC_EXIT_TIANIA_H
#include "titanic/moves/move_player_to.h"
namespace Titanic {
-class CExitTitania : public CMovePlayerTo {
+class CExitTiania : public CMovePlayerTo {
private:
int _fieldC8;
CString _string1;
CString _string2;
CString _string3;
public:
- CExitTitania();
+ CExitTiania();
/**
* Return the class name
*/
- virtual const char *getClassName() const { return "CExitTitania"; }
+ virtual const char *getClassName() const { return "CExitTiania"; }
/**
* Save the data for the class to file
@@ -54,4 +54,4 @@ public:
} // End of namespace Titanic
-#endif /* TITANIC_EXIT_TITANIA_H */
+#endif /* TITANIC_EXIT_TIANIA_H */
diff --git a/engines/titanic/sound/auto_sound_player_adsr.cpp b/engines/titanic/sound/auto_sound_player_adsr.cpp
new file mode 100644
index 0000000000..815c1cde52
--- /dev/null
+++ b/engines/titanic/sound/auto_sound_player_adsr.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/sound/auto_sound_player_adsr.h"
+
+namespace Titanic {
+
+void CAutoSoundPlayerADSR::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string2, indent);
+ file->writeQuotedLine(_string3, indent);
+ file->writeQuotedLine(_string4, indent);
+ CAutoSoundPlayer::save(file, indent);
+}
+
+void CAutoSoundPlayerADSR::load(SimpleFile *file) {
+ file->readNumber();
+ _string2 = file->readString();
+ _string3 = file->readString();
+ _string4 = file->readString();
+ CAutoSoundPlayer::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/sound/auto_sound_player_adsr.h b/engines/titanic/sound/auto_sound_player_adsr.h
new file mode 100644
index 0000000000..9c2a082ba5
--- /dev/null
+++ b/engines/titanic/sound/auto_sound_player_adsr.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_AUTO_SOUND_PLAYER_ADSR_H
+#define TITANIC_AUTO_SOUND_PLAYER_ADSR_H
+
+#include "titanic/sound/auto_sound_player.h"
+
+namespace Titanic {
+
+class CAutoSoundPlayerADSR : public CAutoSoundPlayer {
+private:
+ CString _string2;
+ CString _string3;
+ CString _string4;
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CAutoSoundPlayerADSR"; }
+
+ /**
+ * 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_AUTO_SOUND_PLAYER_ADSR_H */
diff --git a/engines/titanic/sound/enter_view_toggles_other_music.cpp b/engines/titanic/sound/enter_view_toggles_other_music.cpp
new file mode 100644
index 0000000000..fbf5b4a46d
--- /dev/null
+++ b/engines/titanic/sound/enter_view_toggles_other_music.cpp
@@ -0,0 +1,44 @@
+/* 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/sound/enter_view_toggles_other_music.h"
+
+namespace Titanic {
+
+CEnterViewTogglesOtherMusic::CEnterViewTogglesOtherMusic() : CTriggerAutoMusicPlayer(), _fieldC8(0) {
+}
+
+void CEnterViewTogglesOtherMusic::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldC8, indent);
+
+ CTriggerAutoMusicPlayer::save(file, indent);
+}
+
+void CEnterViewTogglesOtherMusic::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldC8 = file->readNumber();
+
+ CTriggerAutoMusicPlayer::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/sound/enter_view_toggles_other_music.h b/engines/titanic/sound/enter_view_toggles_other_music.h
new file mode 100644
index 0000000000..3e7976e877
--- /dev/null
+++ b/engines/titanic/sound/enter_view_toggles_other_music.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_ENTER_VIEW_TOGGLES_OTHER_MUSIC_H
+#define TITANIC_ENTER_VIEW_TOGGLES_OTHER_MUSIC_H
+
+#include "titanic/sound/trigger_auto_music_player.h"
+
+namespace Titanic {
+
+class CEnterViewTogglesOtherMusic : public CTriggerAutoMusicPlayer {
+protected:
+ int _fieldC8;
+public:
+ CEnterViewTogglesOtherMusic();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CEnterViewTogglesOtherMusic"; }
+
+ /**
+ * 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_ENTER_VIEW_TOGGLES_OTHER_MUSIC_H */
diff --git a/engines/titanic/sound/node_auto_sound_player.cpp b/engines/titanic/sound/node_auto_sound_player.cpp
new file mode 100644
index 0000000000..3a69535bd7
--- /dev/null
+++ b/engines/titanic/sound/node_auto_sound_player.cpp
@@ -0,0 +1,39 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/sound/node_auto_sound_player.h"
+
+namespace Titanic {
+
+void CNodeAutoSoundPlayer::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldEC, indent);
+ CAutoSoundPlayer::save(file, indent);
+}
+
+void CNodeAutoSoundPlayer::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldEC = file->readNumber();
+ CAutoSoundPlayer::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/sound/node_auto_sound_player.h b/engines/titanic/sound/node_auto_sound_player.h
new file mode 100644
index 0000000000..5f4b70b93d
--- /dev/null
+++ b/engines/titanic/sound/node_auto_sound_player.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_NODE_AUTO_SOUND_PLAYER_H
+#define TITANIC_NODE_AUTO_SOUND_PLAYER_H
+
+#include "titanic/sound/auto_sound_player.h"
+
+namespace Titanic {
+
+class CNodeAutoSoundPlayer : public CAutoSoundPlayer {
+private:
+ int _fieldEC;
+public:
+ CNodeAutoSoundPlayer() : CAutoSoundPlayer(), _fieldEC(1) {}
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CViewAutoSoundPlayer"; }
+
+ /**
+ * 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_NODE_AUTO_SOUND_PLAYER_H */
diff --git a/engines/titanic/sound/trigger_auto_music_player.cpp b/engines/titanic/sound/trigger_auto_music_player.cpp
index adcc18c591..17499a70e1 100644
--- a/engines/titanic/sound/trigger_auto_music_player.cpp
+++ b/engines/titanic/sound/trigger_auto_music_player.cpp
@@ -26,11 +26,13 @@ namespace Titanic {
void CTriggerAutoMusicPlayer::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_fieldBC, indent);
CGameObject::save(file, indent);
}
void CTriggerAutoMusicPlayer::load(SimpleFile *file) {
file->readNumber();
+ _fieldBC = file->readString();
CGameObject::load(file);
}
diff --git a/engines/titanic/sound/trigger_auto_music_player.h b/engines/titanic/sound/trigger_auto_music_player.h
index d67add2565..8f7a42c5c2 100644
--- a/engines/titanic/sound/trigger_auto_music_player.h
+++ b/engines/titanic/sound/trigger_auto_music_player.h
@@ -28,6 +28,8 @@
namespace Titanic {
class CTriggerAutoMusicPlayer : public CGameObject {
+protected:
+ CString _fieldBC;
public:
/**
* Return the class name
diff --git a/engines/titanic/sound/view_auto_sound_player.cpp b/engines/titanic/sound/view_auto_sound_player.cpp
new file mode 100644
index 0000000000..3d6c92fe22
--- /dev/null
+++ b/engines/titanic/sound/view_auto_sound_player.cpp
@@ -0,0 +1,39 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/sound/view_auto_sound_player.h"
+
+namespace Titanic {
+
+void CViewAutoSoundPlayer::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldEC, indent);
+ CAutoSoundPlayer::save(file, indent);
+}
+
+void CViewAutoSoundPlayer::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldEC = file->readNumber();
+ CAutoSoundPlayer::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/sound/view_auto_sound_player.h b/engines/titanic/sound/view_auto_sound_player.h
new file mode 100644
index 0000000000..9e87d74d8d
--- /dev/null
+++ b/engines/titanic/sound/view_auto_sound_player.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_VIEW_AUTO_SOUND_PLAYER_H
+#define TITANIC_VIEW_AUTO_SOUND_PLAYER_H
+
+#include "titanic/sound/auto_sound_player.h"
+
+namespace Titanic {
+
+class CViewAutoSoundPlayer : public CAutoSoundPlayer {
+private:
+ int _fieldEC;
+public:
+ CViewAutoSoundPlayer() : CAutoSoundPlayer(), _fieldEC(0) {}
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CViewAutoSoundPlayer"; }
+
+ /**
+ * 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_VIEW_AUTO_SOUND_PLAYER_H */
diff --git a/engines/titanic/sound/view_toggles_other_music.cpp b/engines/titanic/sound/view_toggles_other_music.cpp
new file mode 100644
index 0000000000..262d7de628
--- /dev/null
+++ b/engines/titanic/sound/view_toggles_other_music.cpp
@@ -0,0 +1,44 @@
+/* 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/sound/view_toggles_other_music.h"
+
+namespace Titanic {
+
+CViewTogglesOtherMusic::CViewTogglesOtherMusic() : CEnterViewTogglesOtherMusic(), _fieldCC(0) {
+}
+
+void CViewTogglesOtherMusic::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldCC, indent);
+
+ CEnterViewTogglesOtherMusic::save(file, indent);
+}
+
+void CViewTogglesOtherMusic::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldCC = file->readNumber();
+
+ CEnterViewTogglesOtherMusic::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/sound/view_toggles_other_music.h b/engines/titanic/sound/view_toggles_other_music.h
new file mode 100644
index 0000000000..e0da2437cc
--- /dev/null
+++ b/engines/titanic/sound/view_toggles_other_music.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_VIEW_TOGGLES_OTHER_MUSIC_H
+#define TITANIC_VIEW_TOGGLES_OTHER_MUSIC_H
+
+#include "titanic/sound/enter_view_toggles_other_music.h"
+
+namespace Titanic {
+
+class CViewTogglesOtherMusic : public CEnterViewTogglesOtherMusic {
+private:
+ int _fieldCC;
+public:
+ CViewTogglesOtherMusic();
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CViewTogglesOtherMusic"; }
+
+ /**
+ * 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_VIEW_TOGGLES_OTHER_MUSIC_H */
diff --git a/engines/titanic/sound/water_lapping_sounds.cpp b/engines/titanic/sound/water_lapping_sounds.cpp
index 7222b5a16d..b3f5d23a2c 100644
--- a/engines/titanic/sound/water_lapping_sounds.cpp
+++ b/engines/titanic/sound/water_lapping_sounds.cpp
@@ -26,13 +26,21 @@ namespace Titanic {
void CWaterLappingSounds::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string1, indent);
+ file->writeNumberLine(_fieldD4, indent);
+ file->writeNumberLine(_fieldE0, indent);
file->writeNumberLine(_value, indent);
+
CRoomAutoSoundPlayer::save(file, indent);
}
void CWaterLappingSounds::load(SimpleFile *file) {
file->readNumber();
+ _string1 = file->readString();
+ _fieldD4 = file->readNumber();
+ _fieldE0 = file->readNumber();
_value = file->readNumber();
+
CRoomAutoSoundPlayer::load(file);
}