- Revised abstract AudioCDManager.
- Removed AudioCDManager Singleton, and changed code for using AudioCDManager in OSystem. - Added initialization code for new AudioCDManager in BaseBackend and OSystem_SDL. svn-id: r49548
This commit is contained in:
parent
4177a1e16d
commit
e991cd8c53
36 changed files with 116 additions and 495 deletions
|
@ -42,7 +42,6 @@
|
|||
#include "scumm/he/sprite_he.h"
|
||||
#include "scumm/verbs.h"
|
||||
|
||||
#include "sound/audiocd.h"
|
||||
#include "sound/mixer.h"
|
||||
|
||||
#include "graphics/thumbnail.h"
|
||||
|
@ -1099,7 +1098,7 @@ void ScummEngine::saveOrLoad(Serializer *s) {
|
|||
// as AudioCDManager::Status::playing, and MSVC6 has
|
||||
// a fit with that. This typedef simplifies the notation
|
||||
// to something MSVC6 can grasp.
|
||||
typedef Audio::AudioCDManager::Status AudioCDManager_Status;
|
||||
typedef AudioCDManager::Status AudioCDManager_Status;
|
||||
const SaveLoadEntry audioCDEntries[] = {
|
||||
MKLINE(AudioCDManager_Status, playing, sleUint32, VER(24)),
|
||||
MKLINE(AudioCDManager_Status, track, sleInt32, VER(24)),
|
||||
|
@ -1371,15 +1370,15 @@ void ScummEngine::saveOrLoad(Serializer *s) {
|
|||
// Save/load the Audio CD status
|
||||
//
|
||||
if (s->getVersion() >= VER(24)) {
|
||||
Audio::AudioCDManager::Status info;
|
||||
AudioCDManager::Status info;
|
||||
if (s->isSaving())
|
||||
info = AudioCD.getStatus();
|
||||
info = _system->getAudioCD()->getStatus();
|
||||
s->saveLoadArrayOf(&info, 1, sizeof(info), audioCDEntries);
|
||||
// If we are loading, and the music being loaded was supposed to loop
|
||||
// forever, then resume playing it. This helps a lot when the audio CD
|
||||
// is used to provide ambient music (see bug #788195).
|
||||
if (s->isLoading() && info.playing && info.numLoops < 0)
|
||||
AudioCD.play(info.track, info.numLoops, info.start, info.duration);
|
||||
_system->getAudioCD()->play(info.track, info.numLoops, info.start, info.duration);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue