aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2009-12-27 15:24:33 +0000
committerFilippos Karapetis2009-12-27 15:24:33 +0000
commitac224a7f8a9b086f4cd26e5c30751edb7ba526f4 (patch)
treed35c94ca72ce562f4b7f3c096d1ac09b124c9e30
parent4cbac8a2bbca9ba519a66428df97e85ba5223b4c (diff)
downloadscummvm-rg350-ac224a7f8a9b086f4cd26e5c30751edb7ba526f4.tar.gz
scummvm-rg350-ac224a7f8a9b086f4cd26e5c30751edb7ba526f4.tar.bz2
scummvm-rg350-ac224a7f8a9b086f4cd26e5c30751edb7ba526f4.zip
Removed _hasNodePtr
svn-id: r46650
-rw-r--r--engines/sci/sfx/soundcmd.cpp30
-rw-r--r--engines/sci/sfx/soundcmd.h1
2 files changed, 14 insertions, 17 deletions
diff --git a/engines/sci/sfx/soundcmd.cpp b/engines/sci/sfx/soundcmd.cpp
index 3e5e0f31a9..ca3c3675a4 100644
--- a/engines/sci/sfx/soundcmd.cpp
+++ b/engines/sci/sfx/soundcmd.cpp
@@ -133,8 +133,6 @@ SoundCommandParser::SoundCommandParser(ResourceManager *resMan, SegManager *segM
_state = &((SciEngine *)g_engine)->getEngineState()->_sound; // HACK
#endif
- _hasNodePtr = (((SciEngine*)g_engine)->getKernel()->_selectorCache.nodePtr != -1);
-
#ifndef USE_OLD_MUSIC_FUNCTIONS
_music = new SciMusic(_soundVersion);
_music->init();
@@ -249,9 +247,9 @@ void SoundCommandParser::cmdInitHandle(reg_t obj, int16 value) {
return;
}
- SongIteratorType type = !_hasNodePtr ? SCI_SONG_ITERATOR_TYPE_SCI0 : SCI_SONG_ITERATOR_TYPE_SCI1;
+ SongIteratorType type = (_soundVersion <= SCI_VERSION_0_LATE) ? SCI_SONG_ITERATOR_TYPE_SCI0 : SCI_SONG_ITERATOR_TYPE_SCI1;
- if (_hasNodePtr) {
+ if (_soundVersion <= SCI_VERSION_0_LATE) {
if (GET_SEL32V(_segMan, obj, nodePtr)) {
_state->sfx_song_set_status(handle, SOUND_STATUS_STOPPED);
_state->sfx_remove_song(handle);
@@ -264,7 +262,7 @@ void SoundCommandParser::cmdInitHandle(reg_t obj, int16 value) {
_state->sfx_add_song(build_iterator(_resMan, number, type, handle), 0, handle, number);
#endif
- if (!_hasNodePtr)
+ if (_soundVersion <= SCI_VERSION_0_LATE)
PUT_SEL32V(_segMan, obj, state, kSndStatusInitialized);
else
PUT_SEL32(_segMan, obj, nodePtr, obj);
@@ -321,7 +319,7 @@ void SoundCommandParser::cmdPlayHandle(reg_t obj, int16 value) {
#ifdef USE_OLD_MUSIC_FUNCTIONS
SongHandle handle = FROBNICATE_HANDLE(obj);
- if (!_hasNodePtr) {
+ if (_soundVersion <= SCI_VERSION_0_LATE) {
_state->sfx_song_set_status(handle, SOUND_STATUS_PLAYING);
_state->sfx_song_set_loops(handle, GET_SEL32V(_segMan, obj, loop));
PUT_SEL32V(_segMan, obj, state, kSndStatusPlaying);
@@ -401,7 +399,7 @@ void SoundCommandParser::cmdPlayHandle(reg_t obj, int16 value) {
musicSlot = _music->getSlot(obj);
}
- if (_hasNodePtr) {
+ if (_soundVersion >= SCI_VERSION_1_EARLY) {
PUT_SEL32V(_segMan, obj, min, 0);
PUT_SEL32V(_segMan, obj, sec, 0);
PUT_SEL32V(_segMan, obj, frame, 0);
@@ -432,7 +430,7 @@ void SoundCommandParser::changeHandleStatus(reg_t obj, int newStatus) {
SongHandle handle = FROBNICATE_HANDLE(obj);
if (obj.segment) {
_state->sfx_song_set_status(handle, newStatus);
- if (!_hasNodePtr)
+ if (_soundVersion <= SCI_VERSION_0_LATE)
PUT_SEL32V(_segMan, obj, state, newStatus);
}
}
@@ -449,7 +447,7 @@ void SoundCommandParser::cmdDisposeHandle(reg_t obj, int16 value) {
if (obj.segment) {
_state->sfx_remove_song(handle);
- if (!_hasNodePtr)
+ if (_soundVersion <= SCI_VERSION_0_LATE)
PUT_SEL32V(_segMan, obj, handle, 0x0000);
}
@@ -464,7 +462,7 @@ void SoundCommandParser::cmdDisposeHandle(reg_t obj, int16 value) {
cmdStopHandle(obj, value);
_music->soundKill(musicSlot);
- if (_hasNodePtr)
+ if (_soundVersion >= SCI_VERSION_1_EARLY)
PUT_SEL32(_segMan, obj, nodePtr, NULL_REG);
else
PUT_SEL32V(_segMan, obj, state, kSndStatusStopped);
@@ -478,7 +476,7 @@ void SoundCommandParser::cmdStopHandle(reg_t obj, int16 value) {
#ifdef USE_OLD_MUSIC_FUNCTIONS
changeHandleStatus(obj, SOUND_STATUS_STOPPED);
- if (_hasNodePtr)
+ if (_soundVersion >= SCI_VERSION_1_EARLY)
PUT_SEL32V(_segMan, obj, signal, SIGNAL_OFFSET);
#else
MusicEntry *musicSlot = _music->getSlot(obj);
@@ -488,7 +486,7 @@ void SoundCommandParser::cmdStopHandle(reg_t obj, int16 value) {
}
PUT_SEL32V(_segMan, obj, handle, 0);
- if (!_hasNodePtr)
+ if (_soundVersion <= SCI_VERSION_0_LATE)
PUT_SEL32V(_segMan, obj, state, kSndStatusStopped);
else
PUT_SEL32V(_segMan, obj, signal, SIGNAL_OFFSET);
@@ -503,7 +501,7 @@ void SoundCommandParser::cmdPauseHandle(reg_t obj, int16 value) {
return;
#ifdef USE_OLD_MUSIC_FUNCTIONS
- if (!_hasNodePtr)
+ if (_soundVersion <= SCI_VERSION_0_LATE)
changeHandleStatus(obj, SOUND_STATUS_SUSPENDED);
else
changeHandleStatus(obj, value ? SOUND_STATUS_SUSPENDED : SOUND_STATUS_PLAYING);
@@ -514,7 +512,7 @@ void SoundCommandParser::cmdPauseHandle(reg_t obj, int16 value) {
return;
}
- if (!_hasNodePtr) {
+ if (_soundVersion <= SCI_VERSION_0_LATE) {
PUT_SEL32V(_segMan, obj, state, kSndStatusPaused);
_music->soundPause(musicSlot);
} else {
@@ -578,7 +576,7 @@ void SoundCommandParser::cmdFadeHandle(reg_t obj, int16 value) {
/* FIXME: The next couple of lines actually STOP the handle, rather
** than fading it! */
_state->sfx_song_set_status(handle, SOUND_STATUS_STOPPED);
- if (!_hasNodePtr)
+ if (_soundVersion <= SCI_VERSION_0_LATE)
PUT_SEL32V(_segMan, obj, state, SOUND_STATUS_STOPPED);
PUT_SEL32V(_segMan, obj, signal, SIGNAL_OFFSET);
} else {
@@ -634,7 +632,7 @@ void SoundCommandParser::cmdUpdateHandle(reg_t obj, int16 value) {
#ifdef USE_OLD_MUSIC_FUNCTIONS
SongHandle handle = FROBNICATE_HANDLE(obj);
- if (!_hasNodePtr && obj.segment) {
+ if (_soundVersion <= SCI_VERSION_0_LATE && obj.segment) {
_state->sfx_song_set_loops(handle, GET_SEL32V(_segMan, obj, loop));
script_set_priority(_resMan, _segMan, _state, obj, GET_SEL32V(_segMan, obj, pri));
}
diff --git a/engines/sci/sfx/soundcmd.h b/engines/sci/sfx/soundcmd.h
index afef59770d..de9d9650b4 100644
--- a/engines/sci/sfx/soundcmd.h
+++ b/engines/sci/sfx/soundcmd.h
@@ -64,7 +64,6 @@ private:
SfxState *_state;
#endif
AudioPlayer *_audio;
- bool _hasNodePtr;
SciVersion _soundVersion;
int _argc;
reg_t *_argv;