diff options
Diffstat (limited to 'engines/scumm/imuse_digi/dimuse_sndmgr.cpp')
| -rw-r--r-- | engines/scumm/imuse_digi/dimuse_sndmgr.cpp | 13 | 
1 files changed, 10 insertions, 3 deletions
diff --git a/engines/scumm/imuse_digi/dimuse_sndmgr.cpp b/engines/scumm/imuse_digi/dimuse_sndmgr.cpp index abd0d68e56..26e248fbca 100644 --- a/engines/scumm/imuse_digi/dimuse_sndmgr.cpp +++ b/engines/scumm/imuse_digi/dimuse_sndmgr.cpp @@ -443,11 +443,13 @@ ImuseDigiSndMgr::SoundDesc *ImuseDigiSndMgr::openSound(int32 soundId, const char  		} else if (soundName[0] == 0) {  			if (sound->bundle->decompressSampleByIndex(soundId, 0, 0x2000, &ptr, 0, header_outside) == 0 || ptr == NULL) {  				closeSound(sound); +				free(ptr);  				return NULL;  			}  		} else {  			if (sound->bundle->decompressSampleByName(soundName, 0, 0x2000, &ptr, header_outside) == 0 || ptr == NULL) {  				closeSound(sound); +				free(ptr);  				return NULL;  			}  		} @@ -667,15 +669,18 @@ int32 ImuseDigiSndMgr::getDataFromRegion(SoundDesc *soundDesc, int region, byte  		if (scumm_stricmp(fileName, soundDesc->lastFileName) != 0) {  			int32 offs = 0, len = 0;  			Common::SeekableReadStream *cmpFile; +#if defined(USE_FLAC) || defined(USE_VORBIS) || defined(USE_MAD)  			uint8 soundMode = 0; +#endif  			sprintf(fileName, "%s_reg%03d.fla", soundDesc->name, region);  			cmpFile = soundDesc->bundle->getFile(fileName, offs, len);  			if (len) {  #ifndef USE_FLAC  				error("FLAC library compiled support needed"); -#endif +#else  				soundMode = 3; +#endif  			}  			if (!len) {  				sprintf(fileName, "%s_reg%03d.ogg", soundDesc->name, region); @@ -683,8 +688,9 @@ int32 ImuseDigiSndMgr::getDataFromRegion(SoundDesc *soundDesc, int region, byte  				if (len) {  #ifndef USE_VORBIS  					error("Vorbis library compiled support needed"); -#endif +#else  					soundMode = 2; +#endif  				}  			}  			if (!len) { @@ -693,8 +699,9 @@ int32 ImuseDigiSndMgr::getDataFromRegion(SoundDesc *soundDesc, int region, byte  				if (len) {  #ifndef USE_MAD  					error("Mad library compiled support needed"); -#endif +#else  					soundMode = 1; +#endif  				}  			}  			assert(len);  | 
