(svn r2423) - CodeChange: Include first_engine in the train cache, instead of calculating it all over the place.
- Fix: Also recalculate the train cache values for 'wagon chains' (in the depot without an engine), to avoid possible desyncs later.
- Fix: Make CmdMoveRailVehicle update the caches of the correct trains in all cases.
#ifndef MIXER_H
#define MIXER_H
typedef struct Mixer Mixer;
typedef struct MixerChannel MixerChannel;
enum {
MX_AUTOFREE = 1,
// MX_8BIT = 2,
// MX_STEREO = 4,
// MX_UNSIGNED = 8,
};
VARDEF Mixer *_mixer;
bool MxInitialize(uint rate);
void MxMixSamples(Mixer *mx, void *buffer, uint samples);
MixerChannel *MxAllocateChannel(Mixer *mx);
void MxSetChannelRawSrc(MixerChannel *mc, int8 *mem, uint size, uint rate, uint flags);
void MxSetChannelVolume(MixerChannel *mc, uint left, uint right);
void MxActivateChannel(MixerChannel*);
#endif