Hi,

On Sun, 21 May 2000, Ravi wrote:

> Sierra's interpreter saves a structure used by sound drivers along with
> game data. The drivers have a function which looks at that structure to
> determine where they left off playing, and plays through the song (without
> making noise or waiting for delta time counts) until it gets to that point.

That's an interesting solution...

> I don't know if you care to implement sound positioning in FreeSCI's
> restoration system,

Well, we need to do it, even if it's just to get the cues right. However,
we're doing it somewhat differently at the moment:

sfx_save.cfsml currently stores the following information for each song:

RECORD song_t "song_t" {

  int flags[STATIC MIDI_CHANNELS];
  int instruments[STATIC MIDI_CHANNELS];
  int velocity[STATIC MIDI_CHANNELS];
  int pressure[STATIC MIDI_CHANNELS];
  int pitch[STATIC MIDI_CHANNELS];
  int channel_map[STATIC MIDI_CHANNELS];

  int size;
  int pos;
  int loopmark;
  int fading;

  int file_nr;
  int priority;
  int loops;
  int status;

  word handle;
}

The instruments[], velocity[], pressure[], and pitch[] arrays are
not being used (yet), but their contents are supposed to be sent to the
sound system right after the game state was restored.


llap,
 Christoph


Reply via email to