diff options
Diffstat (limited to 'engines')
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); } |