diff options
Diffstat (limited to 'engines/cine/saveload.cpp')
-rw-r--r-- | engines/cine/saveload.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/engines/cine/saveload.cpp b/engines/cine/saveload.cpp index c707c60695..dfd3a1f4bc 100644 --- a/engines/cine/saveload.cpp +++ b/engines/cine/saveload.cpp @@ -543,6 +543,15 @@ bool CineEngine::loadTempSaveOS(Common::SeekableReadStream &in) { loadRel(currentRelName); } + // Reset background music in CD version of Future Wars + if (getGameType() == GType_FW && (getFeatures() & GF_CD)) { + if (strlen(bgNames[0])) { + char buffer[20]; + removeExtention(buffer, bgNames[0]); + g_sound->setBgMusic(atoi(buffer + 1)); + } + } + // Load first background (Uses loadBg) if (strlen(bgNames[0])) { loadBg(bgNames[0]); @@ -682,6 +691,11 @@ bool CineEngine::loadPlainSaveFW(Common::SeekableReadStream &in, CineSaveGameFor } if (strlen(bgName)) { + if (g_cine->getGameType() == GType_FW && (g_cine->getFeatures() & GF_CD)) { + char buffer[20]; + removeExtention(buffer, bgName); + g_sound->setBgMusic(atoi(buffer + 1)); + } loadBg(bgName); } @@ -960,7 +974,7 @@ void CineEngine::makeSaveOS(Common::OutSaveFile &out) { saveBgIncrustList(out); } -void CineEngine::makeSave(char *saveFileName) { +void CineEngine::makeSave(const Common::String &saveFileName) { Common::SharedPtr<Common::OutSaveFile> fHandle(_saveFileMan->openForSaving(saveFileName)); setMouseCursor(MOUSE_CURSOR_DISK); |