aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic')
-rw-r--r--engines/titanic/game_manager.cpp13
-rw-r--r--engines/titanic/game_manager.h23
-rw-r--r--engines/titanic/game_state.cpp35
-rw-r--r--engines/titanic/game_state.h66
-rw-r--r--engines/titanic/game_state_sub.cpp32
-rw-r--r--engines/titanic/game_state_sub.h44
-rw-r--r--engines/titanic/input_handler.cpp39
-rw-r--r--engines/titanic/input_handler.h53
-rw-r--r--engines/titanic/input_translator.cpp33
-rw-r--r--engines/titanic/input_translator.h39
-rw-r--r--engines/titanic/module.mk7
-rw-r--r--engines/titanic/npcs/true_talk_manager.cpp30
-rw-r--r--engines/titanic/npcs/true_talk_manager.h39
-rw-r--r--engines/titanic/screen_manager.cpp1
-rw-r--r--engines/titanic/screen_manager.h2
-rw-r--r--engines/titanic/sound/music_room.cpp31
-rw-r--r--engines/titanic/sound/music_room.h39
-rw-r--r--engines/titanic/sound/sound.cpp30
-rw-r--r--engines/titanic/sound/sound.h39
19 files changed, 593 insertions, 2 deletions
diff --git a/engines/titanic/game_manager.cpp b/engines/titanic/game_manager.cpp
index 6c9d5e1695..d8e64543fe 100644
--- a/engines/titanic/game_manager.cpp
+++ b/engines/titanic/game_manager.cpp
@@ -27,12 +27,21 @@
namespace Titanic {
CGameManager::CGameManager(CProjectItem *project, CGameView *gameView):
- _project(project), _gameView(gameView) {
+ _project(project), _gameView(gameView), _trueTalkManager(this),
+ _inputHandler(this), _inputTranslator(&_inputHandler),
+ _gameState(this), _sound(this), _musicRoom(this),
+ _videoSurface(nullptr), _field30(0), _field34(0), _field48(0),
+ _field4C(0), _field50(0), _field54(0), _tickCount(0) {
// TODO
}
void CGameManager::load(SimpleFile *file) {
- // TODO
+ file->readNumber();
+
+ //_gameState.load(file);
+ //_list.load(file);
+
+
}
void CGameManager::gameLoaded() {
diff --git a/engines/titanic/game_manager.h b/engines/titanic/game_manager.h
index d776c00048..7ba1b3e01c 100644
--- a/engines/titanic/game_manager.h
+++ b/engines/titanic/game_manager.h
@@ -24,7 +24,14 @@
#define TITANIC_GAME_MANAGER_H
#include "common/scummsys.h"
+#include "titanic/game_state.h"
+#include "titanic/input_handler.h"
+#include "titanic/input_translator.h"
#include "titanic/simple_file.h"
+#include "titanic/video_surface.h"
+#include "titanic/npcs/true_talk_manager.h"
+#include "titanic/sound/music_room.h"
+#include "titanic/sound/sound.h"
namespace Titanic {
@@ -35,8 +42,24 @@ class CGameManager {
private:
CProjectItem *_project;
CGameView *_gameView;
+ CGameState _gameState;
+ CSound _sound;
+ CInputHandler _inputHandler;
+ CInputTranslator _inputTranslator;
+ CMusicRoom _musicRoom;
+ CTrueTalkManager _trueTalkManager;
+ Common::Rect _bounds;
+ int _field30;
+ int _field34;
+ int _field48;
+ int _field4C;
+ int _field50;
+ int _field54;
+ CVideoSurface *_videoSurface;
+ int _tickCount;
public:
CGameManager(CProjectItem *project, CGameView *gameView);
+ ~CGameManager();
/**
* Load data from a save file
diff --git a/engines/titanic/game_state.cpp b/engines/titanic/game_state.cpp
new file mode 100644
index 0000000000..3ead6d153e
--- /dev/null
+++ b/engines/titanic/game_state.cpp
@@ -0,0 +1,35 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game_state.h"
+
+namespace Titanic {
+
+CGameState::CGameState(CGameManager *gameManager) :
+ _gameManager(gameManager), _sub(this),
+ _field8(0), _fieldC(0), _field10(10), _field14(0), _field18(0),
+ _field1C(0), _field20(0), _field24(0), _field28(0), _field2C(0),
+ _field30(0), _field34(0), _field38(0) {
+
+}
+
+} // End of namespace Titanic z
diff --git a/engines/titanic/game_state.h b/engines/titanic/game_state.h
new file mode 100644
index 0000000000..f52e0d6b8d
--- /dev/null
+++ b/engines/titanic/game_state.h
@@ -0,0 +1,66 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_GAME_STATE_H
+#define TITANIC_GAME_STATE_H
+
+#include "titanic/core/list.h"
+#include "titanic/simple_file.h"
+#include "titanic/game_state_sub.h"
+
+namespace Titanic {
+
+class CGameManager;
+
+class CGameStateList : public List<ListItem> {
+public:
+ int _field10;
+ int _field14;
+public:
+ CGameStateList() : List<ListItem>(), _field10(0), _field14(0) {}
+};
+
+class CGameState {
+public:
+ CGameManager *_gameManager;
+ CGameStateSub _sub;
+ CGameStateList _list;
+ int _field8;
+ int _fieldC;
+ int _field10;
+ int _field14;
+ int _field18;
+ int _field1C;
+ int _field20;
+ int _field24;
+ int _field28;
+ int _field2C;
+ int _field30;
+ int _field34;
+ int _field38;
+public:
+ CGameState(CGameManager *gameManager);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_GAME_STATE_H */
diff --git a/engines/titanic/game_state_sub.cpp b/engines/titanic/game_state_sub.cpp
new file mode 100644
index 0000000000..11cea2b3b0
--- /dev/null
+++ b/engines/titanic/game_state_sub.cpp
@@ -0,0 +1,32 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game_state_sub.h"
+#include "titanic/game_state.h"
+
+namespace Titanic {
+
+CGameStateSub::CGameStateSub(CGameState *owner) : _gameState(owner),
+ _field0(0), _field4(0), _field8(0), _fieldC(0) {
+}
+
+} // End of namespace Titanic z
diff --git a/engines/titanic/game_state_sub.h b/engines/titanic/game_state_sub.h
new file mode 100644
index 0000000000..41f27df8fc
--- /dev/null
+++ b/engines/titanic/game_state_sub.h
@@ -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.
+ *
+ */
+
+#ifndef TITANIC_GAME_STATE_SUB_H
+#define TITANIC_GAME_STATE_SUB_H
+
+namespace Titanic {
+
+class CGameState;
+
+class CGameStateSub {
+private:
+ CGameState *_gameState;
+public:
+ int _field0;
+ int _field4;
+ int _field8;
+ int _fieldC;
+public:
+ CGameStateSub(CGameState *owner);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_GAME_STATE_SUB_H */
diff --git a/engines/titanic/input_handler.cpp b/engines/titanic/input_handler.cpp
new file mode 100644
index 0000000000..0c09429bd4
--- /dev/null
+++ b/engines/titanic/input_handler.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/input_handler.h"
+#include "titanic/screen_manager.h"
+
+namespace Titanic {
+
+CInputHandler::CInputHandler(CGameManager *owner) :
+ _gameManager(owner), _inputTranslator(nullptr),
+ _field4(0), _field8(0), _fieldC(0), _field10(0), _field14(0),
+ _field18(0), _field1C(0), _field20(0), _field24(0) {
+ CScreenManager::_screenManagerPtr->_inputHandler = this;
+}
+
+void CInputHandler::setTranslator(CInputTranslator *translator) {
+ _inputTranslator = translator;
+}
+
+} // End of namespace Titanic z
diff --git a/engines/titanic/input_handler.h b/engines/titanic/input_handler.h
new file mode 100644
index 0000000000..288630c633
--- /dev/null
+++ b/engines/titanic/input_handler.h
@@ -0,0 +1,53 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_INPUT_HANDLER_H
+#define TITANIC_INPUT_HANDLER_H
+
+#include "titanic/input_translator.h"
+
+namespace Titanic {
+
+class CGameManager;
+
+class CInputHandler {
+public:
+ CGameManager *_gameManager;
+ CInputTranslator *_inputTranslator;
+ int _field4;
+ int _field8;
+ int _fieldC;
+ int _field10;
+ int _field14;
+ int _field18;
+ int _field1C;
+ int _field20;
+ int _field24;
+public:
+ CInputHandler(CGameManager *owner);
+
+ void setTranslator(CInputTranslator *translator);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_INPUT_HANDLER_H */
diff --git a/engines/titanic/input_translator.cpp b/engines/titanic/input_translator.cpp
new file mode 100644
index 0000000000..b2ee6eb819
--- /dev/null
+++ b/engines/titanic/input_translator.cpp
@@ -0,0 +1,33 @@
+/* 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/input_handler.h"
+#include "titanic/input_translator.h"
+
+namespace Titanic {
+
+CInputTranslator::CInputTranslator(CInputHandler *inputHandler) :
+ _inputHandler(inputHandler) {
+ inputHandler->setTranslator(this);
+}
+
+} // End of namespace Titanic z
diff --git a/engines/titanic/input_translator.h b/engines/titanic/input_translator.h
new file mode 100644
index 0000000000..98cd2bb09e
--- /dev/null
+++ b/engines/titanic/input_translator.h
@@ -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.
+ *
+ */
+
+#ifndef TITANIC_INPUT_TRANSLATOR_H
+#define TITANIC_INPUT_TRANSLATOR_H
+
+namespace Titanic {
+
+class CInputHandler;
+
+class CInputTranslator {
+public:
+ CInputHandler *_inputHandler;
+public:
+ CInputTranslator(CInputHandler *inputHandler);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_INPUT_TRANSLATOR_H */
diff --git a/engines/titanic/module.mk b/engines/titanic/module.mk
index 6309ac8d8f..b150ba2fb2 100644
--- a/engines/titanic/module.mk
+++ b/engines/titanic/module.mk
@@ -5,8 +5,12 @@ MODULE_OBJS := \
direct_draw.o \
font.o \
game_manager.o \
+ game_state.o \
+ game_state_sub.o \
game_view.o \
image.o \
+ input_handler.o \
+ input_translator.o \
main_game_window.o \
screen_manager.o \
simple_file.o \
@@ -364,6 +368,7 @@ MODULE_OBJS := \
npcs/succubus.o \
npcs/summon_bots.o \
npcs/titania.o \
+ npcs/true_talk_manager.o \
npcs/true_talk_npc.o \
pet_control/pet_control.o \
pet_control/pet_control_list_item.o \
@@ -391,12 +396,14 @@ MODULE_OBJS := \
sound/dome_from_top_of_well.o \
sound/enter_view_toggles_other_music.o \
sound/gondolier_song.o \
+ sound/music_room.o \
sound/music_player.o \
sound/node_auto_sound_player.o \
sound/restricted_auto_music_player.o \
sound/room_auto_sound_player.o \
sound/season_noises.o \
sound/seasonal_music_player.o \
+ sound/sound.o \
sound/titania_speech.o \
sound/trigger_auto_music_player.o \
sound/view_auto_sound_player.o \
diff --git a/engines/titanic/npcs/true_talk_manager.cpp b/engines/titanic/npcs/true_talk_manager.cpp
new file mode 100644
index 0000000000..a9cc829e72
--- /dev/null
+++ b/engines/titanic/npcs/true_talk_manager.cpp
@@ -0,0 +1,30 @@
+/* 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/npcs/true_talk_manager.h"
+
+namespace Titanic {
+
+CTrueTalkManager::CTrueTalkManager(CGameManager *owner) : _gameManager(owner) {
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/npcs/true_talk_manager.h b/engines/titanic/npcs/true_talk_manager.h
new file mode 100644
index 0000000000..decc593773
--- /dev/null
+++ b/engines/titanic/npcs/true_talk_manager.h
@@ -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.
+ *
+ */
+
+#ifndef TITANIC_TRUE_TALK_MANAGER_H
+#define TITANIC_TRUE_TALK_MANAGER_H
+
+namespace Titanic {
+
+class CGameManager;
+
+class CTrueTalkManager {
+public:
+ CGameManager *_gameManager;
+public:
+ CTrueTalkManager(CGameManager *owner);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_TRUE_TALK_MANAGER_H */
diff --git a/engines/titanic/screen_manager.cpp b/engines/titanic/screen_manager.cpp
index 0846b81b60..1da9b585d8 100644
--- a/engines/titanic/screen_manager.cpp
+++ b/engines/titanic/screen_manager.cpp
@@ -44,6 +44,7 @@ CScreenManager::CScreenManager(TitanicEngine *vm): _vm(vm) {
_frontRenderSurface = nullptr;
_mouseCursor = nullptr;
_textCursor = nullptr;
+ _inputHandler = nullptr;
_fontNumber = 0;
// TODO: Further initialization
diff --git a/engines/titanic/screen_manager.h b/engines/titanic/screen_manager.h
index 0b847c2b49..d56020afce 100644
--- a/engines/titanic/screen_manager.h
+++ b/engines/titanic/screen_manager.h
@@ -27,6 +27,7 @@
#include "common/array.h"
#include "titanic/direct_draw.h"
#include "titanic/font.h"
+#include "titanic/input_handler.h"
#include "titanic/video_surface.h"
namespace Titanic {
@@ -63,6 +64,7 @@ public:
CScreenManagerRec _entries[2];
void *_mouseCursor;
void *_textCursor;
+ CInputHandler *_inputHandler;
int _fontNumber;
public:
CScreenManager(TitanicEngine *vm);
diff --git a/engines/titanic/sound/music_room.cpp b/engines/titanic/sound/music_room.cpp
new file mode 100644
index 0000000000..2b959a0847
--- /dev/null
+++ b/engines/titanic/sound/music_room.cpp
@@ -0,0 +1,31 @@
+/* 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/music_room.h"
+
+namespace Titanic {
+
+CMusicRoom::CMusicRoom(CGameManager *gameManager) :
+ _gameManager(gameManager) {
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/sound/music_room.h b/engines/titanic/sound/music_room.h
new file mode 100644
index 0000000000..7fcd99db1e
--- /dev/null
+++ b/engines/titanic/sound/music_room.h
@@ -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.
+ *
+ */
+
+#ifndef TITANIC_MUSIC_ROOM_H
+#define TITANIC_MUSIC_ROOM_H
+
+namespace Titanic {
+
+class CGameManager;
+
+class CMusicRoom {
+public:
+ CGameManager *_gameManager;
+public:
+ CMusicRoom(CGameManager *owner);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MUSIC_ROOM_H */
diff --git a/engines/titanic/sound/sound.cpp b/engines/titanic/sound/sound.cpp
new file mode 100644
index 0000000000..c0fd9fe2ed
--- /dev/null
+++ b/engines/titanic/sound/sound.cpp
@@ -0,0 +1,30 @@
+/* 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/sound.h"
+
+namespace Titanic {
+
+CSound::CSound(CGameManager *owner) : _gameManager(owner) {
+}
+
+} // End of namespace Titanic z
diff --git a/engines/titanic/sound/sound.h b/engines/titanic/sound/sound.h
new file mode 100644
index 0000000000..d9db81961a
--- /dev/null
+++ b/engines/titanic/sound/sound.h
@@ -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.
+ *
+ */
+
+#ifndef TITANIC_SOUND_H
+#define TITANIC_SOUND_H
+
+namespace Titanic {
+
+class CGameManager;
+
+class CSound {
+public:
+ CGameManager *_gameManager;
+public:
+ CSound(CGameManager *owner);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SOUND_H */