diff options
author | Nipun Garg | 2019-07-09 12:42:52 +0530 |
---|---|---|
committer | Eugene Sandulenko | 2019-09-03 17:17:15 +0200 |
commit | ac9f2d634bc8c84fcb2b698a0361cb503c0a8bb9 (patch) | |
tree | f99b0d9719ce22b744168d243431f29b70e69549 | |
parent | ec0bd5e667cb65b65d3e8cdb49d0f2804e7f1548 (diff) | |
download | scummvm-rg350-ac9f2d634bc8c84fcb2b698a0361cb503c0a8bb9.tar.gz scummvm-rg350-ac9f2d634bc8c84fcb2b698a0361cb503c0a8bb9.tar.bz2 scummvm-rg350-ac9f2d634bc8c84fcb2b698a0361cb503c0a8bb9.zip |
HDB: Add loadGame() and Sound::stopMusic()
-rw-r--r-- | engines/hdb/hdb.cpp | 31 | ||||
-rw-r--r-- | engines/hdb/hdb.h | 2 | ||||
-rw-r--r-- | engines/hdb/sound.cpp | 4 | ||||
-rw-r--r-- | engines/hdb/sound.h | 1 |
4 files changed, 34 insertions, 4 deletions
diff --git a/engines/hdb/hdb.cpp b/engines/hdb/hdb.cpp index d97e127208..cebcb11289 100644 --- a/engines/hdb/hdb.cpp +++ b/engines/hdb/hdb.cpp @@ -137,7 +137,7 @@ void HDBGame::save(Common::OutSaveFile *out) { out->write(_inMapName, 32); } -void HDBGame::load(Common::InSaveFile *in) { +void HDBGame::loadSaveFile(Common::InSaveFile *in) { in->read(_currentMapname, 64); in->read(_lastMapname, 64); in->read(_currentLuaName, 64); @@ -499,11 +499,36 @@ void HDBGame::saveGame(Common::OutSaveFile *out) { // Save AI Object Data _ai->save(out); - } void HDBGame::loadGame(Common::InSaveFile *in) { - warning("STUB: Add loadGame()"); + // Load Map Name + in->read(_inMapName, 32); + + g_hdb->_sound->stopMusic(); + _timeSeconds = 0; + _timePlayed = 0; + + // Load Map Object Data + _map->loadSaveFile(in); + + // Load Window Object Data + _window->loadSaveFile(in); + + // Load Gfx Object Data + _gfx->loadSaveFile(in); + + // Load Sound Object Data + _sound->loadSaveFile(in); + + // Load Game Object Data + loadSaveFile(in); + + // Load AI Object Data + + _ai->loadSaveFile(in); + + _gfx->turnOffFade(); } // PLAYER is trying to use this entity diff --git a/engines/hdb/hdb.h b/engines/hdb/hdb.h index fcd52dab1d..fce1138add 100644 --- a/engines/hdb/hdb.h +++ b/engines/hdb/hdb.h @@ -147,7 +147,7 @@ public: bool init(); void save(Common::OutSaveFile *out); - void load(Common::InSaveFile *in); + void loadSaveFile(Common::InSaveFile *in); bool restartMap(); bool startMap(const char *name); diff --git a/engines/hdb/sound.cpp b/engines/hdb/sound.cpp index cdda643417..d14ec508f9 100644 --- a/engines/hdb/sound.cpp +++ b/engines/hdb/sound.cpp @@ -57,6 +57,10 @@ bool Sound::stopChannel(int channel) { return true; } +void Sound::stopMusic() { + debug(9, "STUB: Stop Music"); +} + void Sound::markSoundCacheFreeable() { warning("STUB: Sound::markSoundCacheFreeable() "); } diff --git a/engines/hdb/sound.h b/engines/hdb/sound.h index 8d0d6baef4..176d093d9f 100644 --- a/engines/hdb/sound.h +++ b/engines/hdb/sound.h @@ -1399,6 +1399,7 @@ public: bool playSoundEx(int index, int channel, bool loop); bool playVoice(int index, int actor); bool stopChannel(int channel); + void stopMusic(); void markSoundCacheFreeable(); }; |