aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sfx/soundcmd.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/sfx/soundcmd.h')
-rw-r--r--engines/sci/sfx/soundcmd.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/engines/sci/sfx/soundcmd.h b/engines/sci/sfx/soundcmd.h
index 1d88c393fd..bb37d1f0b3 100644
--- a/engines/sci/sfx/soundcmd.h
+++ b/engines/sci/sfx/soundcmd.h
@@ -59,6 +59,10 @@ public:
void reconstructPlayList(int savegame_version);
void printPlayList(Console *con);
+#ifndef USE_OLD_MUSIC_FUNCTIONS
+ void updateSci0Cues();
+#endif
+
private:
Common::Array<MusicEntryCommand*> _soundCommands;
ResourceManager *_resMan;
@@ -75,6 +79,17 @@ private:
reg_t _acc;
int _midiCmd, _controller, _param;
+#ifndef USE_OLD_MUSIC_FUNCTIONS
+ /**
+ * Synchronizes the current state of the music list to the rest of the engine, so that
+ * the changes that the sound thread makes to the music are registered with the engine
+ * scripts. In SCI0, we invoke this from kAnimate (which is called very often). SCI01
+ * and later have a specific callback function, cmdUpdateCues, which is called regularly
+ * by the engine scripts themselves, so the engine itself polls for changes to the music
+ */
+ void updateCues(reg_t obj);
+#endif
+
void cmdInitHandle(reg_t obj, int16 value);
void cmdPlayHandle(reg_t obj, int16 value);
void cmdDummy(reg_t obj, int16 value);
@@ -94,7 +109,7 @@ private:
void cmdUpdateCues(reg_t obj, int16 value);
void cmdSendMidi(reg_t obj, int16 value);
void cmdReverb(reg_t obj, int16 value);
- void cmdHoldHandle(reg_t obj, int16 value);
+ void cmdSetHandleHold(reg_t obj, int16 value);
void cmdGetAudioCapability(reg_t obj, int16 value);
void cmdSetHandleVolume(reg_t obj, int16 value);
void cmdSetHandlePriority(reg_t obj, int16 value);