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