diff options
-rw-r--r-- | scumm/dialogs.cpp | 22 | ||||
-rw-r--r-- | scumm/saveload.cpp | 18 |
2 files changed, 32 insertions, 8 deletions
diff --git a/scumm/dialogs.cpp b/scumm/dialogs.cpp index a62714bfd3..1450f3f7e1 100644 --- a/scumm/dialogs.cpp +++ b/scumm/dialogs.cpp @@ -454,7 +454,12 @@ OptionsDialog::~OptionsDialog() { } void OptionsDialog::open() { - GUI::OptionsDialog::open(); + // MSVC6 FIX (Jamieson630): + // Simple notation would be GUI::OptionsDialog::open(), but + // MSVC6 has a problem with any notation that involves + // more than one set of double colons :: + // Hence the more convoluted notation. + ((GUI::OptionsDialog *) this)->open(); // update checkboxes, too subtitlesCheckbox->setState(_scumm->_noSubtitles == false); @@ -466,7 +471,13 @@ void OptionsDialog::close() { // Subtitles ConfMan.set("nosubtitles", !subtitlesCheckbox->getState(), _domain); } - GUI::OptionsDialog::close(); + + // MSVC6 FIX (Jamieson630): + // Simple notation would be GUI::OptionsDialog::close(), but + // MSVC6 has a problem with any notation that involves + // more than one set of double colons :: + // Hence the more convoluted notation. + ((GUI::OptionsDialog *) this)->close(); // Sync the engine with the config manager @@ -497,7 +508,12 @@ void OptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data #endif break; default: - GUI::OptionsDialog::handleCommand(sender, cmd, data); + // MSVC6 FIX (Jamieson630): + // Simple notation would be GUI::OptionsDialog::handleCommand(), but + // MSVC6 has a problem with any notation that involves + // more than one set of double colons :: + // Hence the more convoluted notation. + ((GUI::OptionsDialog *) this)->handleCommand(sender, cmd, data); } } diff --git a/scumm/saveload.cpp b/scumm/saveload.cpp index f116040574..f9fbdc9430 100644 --- a/scumm/saveload.cpp +++ b/scumm/saveload.cpp @@ -544,12 +544,20 @@ void ScummEngine::saveOrLoad(Serializer *s, uint32 savegameVersion) { MKEND() }; + // MSVC6 FIX (Jamieson630): + // MSVC6 has a problem with any notation that involves + // more than one set of double colons :: + // The following MKLINE macros expand to such things + // as AudioCDManager::Status::playing, and MSVC6 has + // a fit with that. This typedef simplifies the notation + // to something MSVC6 can grasp. + typedef AudioCDManager::Status AudioCDManager_Status; const SaveLoadEntry audioCDEntries[] = { - MKLINE(AudioCDManager::Status, playing, sleUint32, VER(24)), - MKLINE(AudioCDManager::Status, track, sleInt32, VER(24)), - MKLINE(AudioCDManager::Status, start, sleUint32, VER(24)), - MKLINE(AudioCDManager::Status, duration, sleUint32, VER(24)), - MKLINE(AudioCDManager::Status, numLoops, sleInt32, VER(24)), + MKLINE(AudioCDManager_Status, playing, sleUint32, VER(24)), + MKLINE(AudioCDManager_Status, track, sleInt32, VER(24)), + MKLINE(AudioCDManager_Status, start, sleUint32, VER(24)), + MKLINE(AudioCDManager_Status, duration, sleUint32, VER(24)), + MKLINE(AudioCDManager_Status, numLoops, sleInt32, VER(24)), MKEND() }; |