diff options
Diffstat (limited to 'engines/titanic/sound/music_room.h')
-rw-r--r-- | engines/titanic/sound/music_room.h | 44 |
1 files changed, 42 insertions, 2 deletions
diff --git a/engines/titanic/sound/music_room.h b/engines/titanic/sound/music_room.h index ce262a2b99..15363ef392 100644 --- a/engines/titanic/sound/music_room.h +++ b/engines/titanic/sound/music_room.h @@ -23,20 +23,60 @@ #ifndef TITANIC_MUSIC_ROOM_H #define TITANIC_MUSIC_ROOM_H +#include "common/array.h" +#include "titanic/sound/music_handler.h" + namespace Titanic { class CGameManager; +class CSound; class CMusicRoom { + struct Entry { + uint _val1; + uint _val2; + uint _val3; + uint _val4; + uint _val5; + + Entry() : _val1(0), _val2(0), _val3(0), _val4(0), _val5(0) {} + }; +private: + Common::Array<Entry> _items; +public: + static CMusicHandler *_musicHandler; public: CGameManager *_gameManager; + CSound *_sound; public: CMusicRoom(CGameManager *owner); + ~CMusicRoom(); + + /** + * Creates a music handler + */ + CMusicHandler *createMusicHandler(); + + /** + * Destroys and currently active music handler + */ + void destroyMusicHandler(); + + void setItem1(int index, int val) { _items[index]._val1 = val; } + void setItem2(int index, int val) { _items[index]._val2 = val; } + void setItem3(int index, int val) { _items[index]._val3 = val; } + void setItem4(int index, int val) { _items[index]._val4 = val; } + void setItem5(int index, int val) { _items[index]._val5 = val; } + + /** + * Start playing a given music number + */ + void startMusic(int musicId); /** - * Called when a game is about to be loaded + * Stop playing music */ - void preLoad(); + void stopMusic(); }; } // End of namespace Titanic |