Changed notation involving more than one set of double colons ::

MSVC6 can't handle such notation, so simplification or
notation tricks must be employed to keep it happy.

svn-id: r11539
This commit is contained in:
Jamieson Christian 2003-12-09 08:55:32 +00:00
parent 7d8839ab52
commit 9e1cac4caa
2 changed files with 32 additions and 8 deletions

View file

@ -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()
};