diff options
| author | Joel de Vahl <joel@stalverk80.se> | 2007-07-23 08:02:52 +0000 |
|---|---|---|
| committer | Joel de Vahl <joel@stalverk80.se> | 2007-07-23 08:02:52 +0000 |
| commit | d98c2fb34e07465f854524adebf8a3345f11aecb (patch) | |
| tree | 9dd8b1c2cea84893c866e9e63b864d6b3934c9e9 | |
| parent | fc3247805fd087e19bcc31ddc3d4fdbdd1215e26 (diff) | |
| download | zcatch-d98c2fb34e07465f854524adebf8a3345f11aecb.tar.gz zcatch-d98c2fb34e07465f854524adebf8a3345f11aecb.zip | |
Zer sound is wööörking
| -rw-r--r-- | src/engine/client/snd.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/engine/client/snd.cpp b/src/engine/client/snd.cpp index a4ed957c..ce854050 100644 --- a/src/engine/client/snd.cpp +++ b/src/engine/client/snd.cpp @@ -110,11 +110,12 @@ public: unsigned long filled = 0; while(channels[c].data && filled < frames) { - unsigned long to_fill = frames; + unsigned long frames_left = (channels[c].data->num_samples - channels[c].tick) >> (channels[c].data->channels-1); + unsigned long to_fill = frames>frames_left?frames_left:frames; float dv = 0.0f; if(channels[c].stop >= 0) - to_fill = (unsigned)channels[c].stop>frames?frames:channels[c].stop; + to_fill = (unsigned)channels[c].stop>frames_left?frames:channels[c].stop; if(channels[c].loop >= 0 && channels[c].data->sustain_start >= 0) { |