diff -ur scummvm/scumm/player_v2a.cpp ..\scummvm/scumm/player_v2a.cpp
|
..\
|
|
57 | 57 | public: |
58 | 58 | V2A_Sound() : _id(0), _mod(NULL) { } |
59 | 59 | |
| 60 | virtual V2A_Sound *copy() = 0; |
60 | 61 | virtual void start(Player_MOD *mod, int id, const byte *data) = 0; |
61 | 62 | virtual bool update() = 0; |
62 | 63 | virtual void stop() = 0; |
… |
… |
|
67 | 68 | |
68 | 69 | class V2A_Sound_Unsupported : public V2A_Sound { |
69 | 70 | public: |
| 71 | V2A_Sound_Unsupported(V2A_Sound_Unsupported *other) { } |
| 72 | virtual V2A_Sound *copy() { |
| 73 | return new V2A_Sound_Unsupported(this); |
| 74 | } |
| 75 | V2A_Sound_Unsupported() { } |
70 | 76 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
71 | 77 | warning("player_v2a - sound %i not supported yet", id); |
72 | 78 | } |
… |
… |
|
77 | 83 | template<int numChan> |
78 | 84 | class V2A_Sound_Base : public V2A_Sound { |
79 | 85 | public: |
| 86 | V2A_Sound_Base (V2A_Sound_Base *other) : |
| 87 | _offset(other->_offset), _size(other->_size), _data(0) { } |
80 | 88 | V2A_Sound_Base() : _offset(0), _size(0), _data(0) { } |
81 | 89 | V2A_Sound_Base(uint16 offset, uint16 size) : _offset(offset), _size(size), _data(0) { } |
82 | 90 | virtual void stop() { |
… |
… |
|
96 | 104 | |
97 | 105 | class V2A_Sound_Music : public V2A_Sound { |
98 | 106 | public: |
| 107 | V2A_Sound_Music (V2A_Sound_Music *other) : |
| 108 | _instoff(other->_instoff), _voloff(other->_voloff), _chan1off(other->_chan1off), _chan2off(other->_chan2off), _chan3off(other->_chan3off), _chan4off(other->_chan4off), _sampoff(other->_sampoff), _looped(other->_looped) { } |
| 109 | virtual V2A_Sound *copy() { |
| 110 | return new V2A_Sound_Music(this); |
| 111 | } |
99 | 112 | V2A_Sound_Music(uint16 instoff, uint16 voloff, uint16 chan1off, uint16 chan2off, uint16 chan3off, uint16 chan4off, uint16 sampoff, bool looped) : |
100 | 113 | _instoff(instoff), _voloff(voloff), _chan1off(chan1off), _chan2off(chan2off), _chan3off(chan3off), _chan4off(chan4off), _sampoff(sampoff), _looped(looped) { } |
101 | 114 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
223 | 236 | |
224 | 237 | class V2A_Sound_Single : public V2A_Sound_Base<1> { |
225 | 238 | public: |
| 239 | V2A_Sound_Single (V2A_Sound_Single *other) : |
| 240 | V2A_Sound_Base<1>(other), _freq(other->_freq), _vol(other->_vol) { } |
| 241 | virtual V2A_Sound *copy() { |
| 242 | return new V2A_Sound_Single(this); |
| 243 | } |
226 | 244 | V2A_Sound_Single(uint16 offset, uint16 size, uint16 freq, uint8 vol) : |
227 | 245 | V2A_Sound_Base<1>(offset, size), _freq(freq), _vol(vol) { } |
228 | 246 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
251 | 269 | |
252 | 270 | class V2A_Sound_SingleLooped : public V2A_Sound_Base<1> { |
253 | 271 | public: |
| 272 | V2A_Sound_SingleLooped (V2A_Sound_SingleLooped *other) : |
| 273 | V2A_Sound_Base<1>(other), _loopoffset(other->_loopoffset), _loopsize(other->_loopsize), _freq(other->_freq), _vol(other->_vol) { } |
| 274 | virtual V2A_Sound *copy() { |
| 275 | return new V2A_Sound_SingleLooped(this); |
| 276 | } |
254 | 277 | V2A_Sound_SingleLooped(uint16 offset, uint16 size, uint16 freq, uint8 vol, uint16 loopoffset, uint16 loopsize) : |
255 | 278 | V2A_Sound_Base<1>(offset, size), _loopoffset(loopoffset), _loopsize(loopsize), _freq(freq), _vol(vol) { } |
256 | 279 | V2A_Sound_SingleLooped(uint16 offset, uint16 size, uint16 freq, uint8 vol) : |
… |
… |
|
276 | 299 | |
277 | 300 | class V2A_Sound_MultiLooped : public V2A_Sound_Base<2> { |
278 | 301 | public: |
| 302 | V2A_Sound_MultiLooped (V2A_Sound_MultiLooped *other) : |
| 303 | V2A_Sound_Base<2>(other), _freq1(other->_freq1), _vol1(other->_vol1), _freq2(other->_freq2), _vol2(other->_vol2) { } |
| 304 | virtual V2A_Sound *copy() { |
| 305 | return new V2A_Sound_MultiLooped(this); |
| 306 | } |
279 | 307 | V2A_Sound_MultiLooped(uint16 offset, uint16 size, uint16 freq1, uint8 vol1, uint16 freq2, uint8 vol2) : |
280 | 308 | V2A_Sound_Base<2>(offset, size), _freq1(freq1), _vol1(vol1), _freq2(freq2), _vol2(vol2) { } |
281 | 309 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
303 | 331 | |
304 | 332 | class V2A_Sound_MultiLoopedDuration : public V2A_Sound_MultiLooped { |
305 | 333 | public: |
| 334 | V2A_Sound_MultiLoopedDuration (V2A_Sound_MultiLoopedDuration *other) : |
| 335 | V2A_Sound_MultiLooped(other), _duration(other->_duration) { } |
| 336 | virtual V2A_Sound *copy() { |
| 337 | return new V2A_Sound_MultiLoopedDuration(this); |
| 338 | } |
306 | 339 | V2A_Sound_MultiLoopedDuration(uint16 offset, uint16 size, uint16 freq1, uint8 vol1, uint16 freq2, uint8 vol2, uint16 numframes) : |
307 | 340 | V2A_Sound_MultiLooped(offset, size, freq1, vol1, freq2, vol2), _duration(numframes) { } |
308 | 341 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
324 | 357 | |
325 | 358 | class V2A_Sound_SingleLoopedPitchbend : public V2A_Sound_Base<1> { |
326 | 359 | public: |
| 360 | V2A_Sound_SingleLoopedPitchbend(V2A_Sound_SingleLoopedPitchbend *other) : |
| 361 | V2A_Sound_Base<1>(other), _freq1(other->_freq1), _freq2(other->_freq2), _vol(other->_vol), _step(other->_step) { } |
| 362 | virtual V2A_Sound *copy() { |
| 363 | return new V2A_Sound_SingleLoopedPitchbend(this); |
| 364 | } |
327 | 365 | V2A_Sound_SingleLoopedPitchbend(uint16 offset, uint16 size, uint16 freq1, uint16 freq2, uint8 vol, uint8 step) : |
328 | 366 | V2A_Sound_Base<1>(offset, size), _freq1(freq1), _freq2(freq2), _vol(vol), _step(step) { } |
329 | 367 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
363 | 401 | |
364 | 402 | class V2A_Sound_Special_FastPitchbendDownAndFadeout : public V2A_Sound_Base<1> { |
365 | 403 | public: |
| 404 | V2A_Sound_Special_FastPitchbendDownAndFadeout(V2A_Sound_Special_FastPitchbendDownAndFadeout *other) : |
| 405 | V2A_Sound_Base<1>(other), _freq(other->_freq), _vol(other->_vol) { } |
| 406 | virtual V2A_Sound *copy() { |
| 407 | return new V2A_Sound_Special_FastPitchbendDownAndFadeout(this); |
| 408 | } |
366 | 409 | V2A_Sound_Special_FastPitchbendDownAndFadeout(uint16 offset, uint16 size, uint16 freq, uint8 vol) : |
367 | 410 | V2A_Sound_Base<1>(offset, size), _freq(freq), _vol(vol) { } |
368 | 411 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
394 | 437 | |
395 | 438 | class V2A_Sound_Special_LoopedFadeinFadeout : public V2A_Sound_Base<1> { |
396 | 439 | public: |
| 440 | V2A_Sound_Special_LoopedFadeinFadeout(V2A_Sound_Special_LoopedFadeinFadeout *other) : |
| 441 | V2A_Sound_Base<1>(other), _freq(other->_freq), _fade1(other->_fade1), _fade2(other->_fade2) { } |
| 442 | virtual V2A_Sound *copy() { |
| 443 | return new V2A_Sound_Special_LoopedFadeinFadeout(this); |
| 444 | } |
397 | 445 | V2A_Sound_Special_LoopedFadeinFadeout(uint16 offset, uint16 size, uint16 freq, uint8 fadeinrate, uint8 fadeoutrate) : |
398 | 446 | V2A_Sound_Base<1>(offset, size), _freq(freq), _fade1(fadeinrate), _fade2(fadeoutrate) { } |
399 | 447 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
432 | 480 | |
433 | 481 | class V2A_Sound_Special_MultiLoopedFadeinFadeout : public V2A_Sound_Base<2> { |
434 | 482 | public: |
| 483 | V2A_Sound_Special_MultiLoopedFadeinFadeout(V2A_Sound_Special_MultiLoopedFadeinFadeout *other) : |
| 484 | V2A_Sound_Base<2>(other), _freq1(other->_freq1), _freq2(other->_freq2), _fade1(other->_fade1), _fade2(other->_fade2) { } |
| 485 | virtual V2A_Sound *copy() { |
| 486 | return new V2A_Sound_Special_MultiLoopedFadeinFadeout(this); |
| 487 | } |
435 | 488 | V2A_Sound_Special_MultiLoopedFadeinFadeout(uint16 offset, uint16 size, uint16 freq1, uint16 freq2, uint8 fadeinrate, uint8 fadeoutrate) : |
436 | 489 | V2A_Sound_Base<2>(offset, size), _freq1(freq1), _freq2(freq2), _fade1(fadeinrate), _fade2(fadeoutrate) { } |
437 | 490 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
475 | 528 | |
476 | 529 | class V2A_Sound_Special_PitchbendDownThenFadeout : public V2A_Sound_Base<1> { |
477 | 530 | public: |
| 531 | V2A_Sound_Special_PitchbendDownThenFadeout(V2A_Sound_Special_PitchbendDownThenFadeout *other) : |
| 532 | V2A_Sound_Base<1>(other), _freq1(other->_freq1), _freq2(other->_freq2), _step(other->_step) { } |
| 533 | virtual V2A_Sound *copy() { |
| 534 | return new V2A_Sound_Special_PitchbendDownThenFadeout(this); |
| 535 | } |
478 | 536 | V2A_Sound_Special_PitchbendDownThenFadeout(uint16 offset, uint16 size, uint16 freq1, uint16 freq2, uint16 step) : |
479 | 537 | V2A_Sound_Base<1>(offset, size), _freq1(freq1), _freq2(freq2), _step(step) { } |
480 | 538 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
508 | 566 | |
509 | 567 | class V2A_Sound_Special_PitchbendDownAndBackUp : public V2A_Sound_Base<1> { |
510 | 568 | public: |
| 569 | V2A_Sound_Special_PitchbendDownAndBackUp(V2A_Sound_Special_PitchbendDownAndBackUp *other) : |
| 570 | V2A_Sound_Base<1>(other), _freq1(other->_freq1), _freq2(other->_freq2), _step(other->_step), _vol(other->_vol) { } |
| 571 | virtual V2A_Sound *copy() { |
| 572 | return new V2A_Sound_Special_PitchbendDownAndBackUp(this); |
| 573 | } |
511 | 574 | V2A_Sound_Special_PitchbendDownAndBackUp(uint16 offset, uint16 size, uint16 freq1, uint16 freq2, uint16 step, uint8 vol) : |
512 | 575 | V2A_Sound_Base<1>(offset, size), _freq1(freq1), _freq2(freq2), _step(step), _vol(vol) { } |
513 | 576 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
551 | 614 | |
552 | 615 | class V2A_Sound_Special_SlowPitchbendDownAndFadeout : public V2A_Sound_Base<1> { |
553 | 616 | public: |
| 617 | V2A_Sound_Special_SlowPitchbendDownAndFadeout(V2A_Sound_Special_SlowPitchbendDownAndFadeout *other) : |
| 618 | V2A_Sound_Base<1>(other), _freq1(other->_freq1), _freq2(other->_freq2) { } |
| 619 | virtual V2A_Sound *copy() { |
| 620 | return new V2A_Sound_Special_SlowPitchbendDownAndFadeout(this); |
| 621 | } |
554 | 622 | V2A_Sound_Special_SlowPitchbendDownAndFadeout(uint16 offset, uint16 size, uint16 freq1, uint16 freq2) : |
555 | 623 | V2A_Sound_Base<1>(offset, size), _freq1(freq1), _freq2(freq2) { } |
556 | 624 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
583 | 651 | |
584 | 652 | class V2A_Sound_Special_MultiLoopedDurationMulti : public V2A_Sound_Base<2> { |
585 | 653 | public: |
| 654 | V2A_Sound_Special_MultiLoopedDurationMulti(V2A_Sound_Special_MultiLoopedDurationMulti *other) : |
| 655 | V2A_Sound_Base<2>(other), _freq1(other->_freq1), _vol1(other->_vol1), _freq2(other->_freq2), _vol2(other->_vol2), _duration(other->_duration), _playwidth(other->_playwidth), _loopwidth(other->_loopwidth) { } |
| 656 | virtual V2A_Sound *copy() { |
| 657 | return new V2A_Sound_Special_MultiLoopedDurationMulti(this); |
| 658 | } |
586 | 659 | V2A_Sound_Special_MultiLoopedDurationMulti(uint16 offset, uint16 size, uint16 freq1, uint8 vol1, uint16 freq2, uint8 vol2, uint16 numframes, uint8 playwidth, uint8 loopwidth) : |
587 | 660 | V2A_Sound_Base<2>(offset, size), _freq1(freq1), _vol1(vol1), _freq2(freq2), _vol2(vol2), _duration(numframes), _playwidth(playwidth), _loopwidth(loopwidth) { } |
588 | 661 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
636 | 709 | |
637 | 710 | class V2A_Sound_Special_SingleDurationMulti : public V2A_Sound_Base<1> { |
638 | 711 | public: |
| 712 | V2A_Sound_Special_SingleDurationMulti(V2A_Sound_Special_SingleDurationMulti *other) : |
| 713 | V2A_Sound_Base<1>(other), _freq(other->_freq), _vol(other->_vol), _loopwidth(other->_loopwidth), _numloops(other->_numloops) { } |
| 714 | virtual V2A_Sound *copy() { |
| 715 | return new V2A_Sound_Special_SingleDurationMulti(this); |
| 716 | } |
639 | 717 | V2A_Sound_Special_SingleDurationMulti(uint16 offset, uint16 size, uint16 freq, uint8 vol, uint8 loopwidth, uint8 numloops) : |
640 | 718 | V2A_Sound_Base<1>(offset, size), _freq(freq), _vol(vol), _loopwidth(loopwidth), _numloops(numloops) { } |
641 | 719 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
678 | 756 | |
679 | 757 | class V2A_Sound_Special_SingleDurationMultiDurations : public V2A_Sound_Base<1> { |
680 | 758 | public: |
| 759 | V2A_Sound_Special_SingleDurationMultiDurations(V2A_Sound_Special_SingleDurationMultiDurations *other) : |
| 760 | V2A_Sound_Base<1>(other), _freq(other->_freq), _vol(other->_vol), _numdurs(other->_numdurs), _durations(other->_durations), _looped(other->_looped) { } |
| 761 | virtual V2A_Sound *copy() { |
| 762 | return new V2A_Sound_Special_SingleDurationMultiDurations(this); |
| 763 | } |
681 | 764 | V2A_Sound_Special_SingleDurationMultiDurations(uint16 offset, uint16 size, uint16 freq, uint8 vol, uint8 numdurs, const uint8 *durations, bool looped) : |
682 | 765 | V2A_Sound_Base<1>(offset, size), _freq(freq), _vol(vol), _numdurs(numdurs), _durations(durations), _looped(looped) { } |
683 | 766 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
724 | 807 | |
725 | 808 | class V2A_Sound_Special_TwinSirenMulti : public V2A_Sound_Base<2> { |
726 | 809 | public: |
| 810 | V2A_Sound_Special_TwinSirenMulti(V2A_Sound_Special_TwinSirenMulti *other) : |
| 811 | _offset1(other->_offset1), _size1(other->_size1), _offset2(other->_offset2), _size2(other->_size2), _freq1(other->_freq1), _freq2(other->_freq2), _vol(other->_vol) { } |
| 812 | virtual V2A_Sound *copy() { |
| 813 | return new V2A_Sound_Special_TwinSirenMulti(this); |
| 814 | } |
727 | 815 | V2A_Sound_Special_TwinSirenMulti(uint16 offset1, uint16 size1, uint16 offset2, uint16 size2, uint16 freq1, uint16 freq2, uint8 vol) : |
728 | 816 | _offset1(offset1), _size1(size1), _offset2(offset2), _size2(size2), _freq1(freq1), _freq2(freq2), _vol(vol) { } |
729 | 817 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
787 | 875 | |
788 | 876 | class V2A_Sound_Special_QuadSiren : public V2A_Sound_Base<4> { |
789 | 877 | public: |
| 878 | V2A_Sound_Special_QuadSiren(V2A_Sound_Special_QuadSiren *other) : |
| 879 | _offset1(other->_offset1), _size1(other->_size1), _offset2(other->_offset2), _size2(other->_size2), _vol(other->_vol) { } |
| 880 | virtual V2A_Sound *copy() { |
| 881 | return new V2A_Sound_Special_QuadSiren(this); |
| 882 | } |
790 | 883 | V2A_Sound_Special_QuadSiren(uint16 offset1, uint16 size1, uint16 offset2, uint16 size2, uint8 vol) : |
791 | 884 | _offset1(offset1), _size1(size1), _offset2(offset2), _size2(size2), _vol(vol) { } |
792 | 885 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
858 | 951 | |
859 | 952 | class V2A_Sound_Special_QuadFreqLooped : public V2A_Sound_Base<4> { |
860 | 953 | public: |
| 954 | V2A_Sound_Special_QuadFreqLooped(V2A_Sound_Special_QuadFreqLooped *other) : |
| 955 | V2A_Sound_Base<4>(other), _freq1(other->_freq1), _freq2(other->_freq2), _freq3(other->_freq3), _freq4(other->_freq4), _vol(other->_vol) { } |
| 956 | virtual V2A_Sound *copy() { |
| 957 | return new V2A_Sound_Special_QuadFreqLooped(this); |
| 958 | } |
861 | 959 | V2A_Sound_Special_QuadFreqLooped(uint16 offset, uint16 size, uint16 freq1, uint16 freq2, uint16 freq3, uint16 freq4, uint8 vol) : |
862 | 960 | V2A_Sound_Base<4>(offset, size), _freq1(freq1), _freq2(freq2), _freq3(freq3), _freq4(freq4), _vol(vol) { } |
863 | 961 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
891 | 989 | |
892 | 990 | class V2A_Sound_Special_QuadFreqFadeout : public V2A_Sound_Special_QuadFreqLooped { |
893 | 991 | public: |
| 992 | V2A_Sound_Special_QuadFreqFadeout(V2A_Sound_Special_QuadFreqFadeout *other) : |
| 993 | V2A_Sound_Special_QuadFreqLooped(other), _dur(other->_dur) { } |
| 994 | virtual V2A_Sound *copy() { |
| 995 | return new V2A_Sound_Special_QuadFreqFadeout(this); |
| 996 | } |
894 | 997 | V2A_Sound_Special_QuadFreqFadeout(uint16 offset, uint16 size, uint16 freq1, uint16 freq2, uint16 freq3, uint16 freq4, uint8 vol, uint16 dur) : |
895 | 998 | V2A_Sound_Special_QuadFreqLooped(offset, size, freq1, freq2, freq3, freq4, vol), _dur(dur) { } |
896 | 999 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
917 | 1020 | |
918 | 1021 | class V2A_Sound_Special_SingleFadeout : public V2A_Sound_Base<1> { |
919 | 1022 | public: |
| 1023 | V2A_Sound_Special_SingleFadeout(V2A_Sound_Special_SingleFadeout *other) : |
| 1024 | V2A_Sound_Base<1>(other), _freq(other->_freq), _vol(other->_vol) { } |
| 1025 | virtual V2A_Sound *copy() { |
| 1026 | return new V2A_Sound_Special_SingleFadeout(this); |
| 1027 | } |
920 | 1028 | V2A_Sound_Special_SingleFadeout(uint16 offset, uint16 size, uint16 freq, uint8 vol) : |
921 | 1029 | V2A_Sound_Base<1>(offset, size), _freq(freq), _vol(vol) { } |
922 | 1030 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
943 | 1051 | |
944 | 1052 | class V2A_Sound_Special_SlowPitchbendThenSlowFadeout : public V2A_Sound_Base<1> { |
945 | 1053 | public: |
| 1054 | V2A_Sound_Special_SlowPitchbendThenSlowFadeout(V2A_Sound_Special_SlowPitchbendThenSlowFadeout *other) : |
| 1055 | V2A_Sound_Base<1>(other), _freq1(other->_freq1), _freq2(other->_freq2) { } |
| 1056 | virtual V2A_Sound *copy() { |
| 1057 | return new V2A_Sound_Special_SlowPitchbendThenSlowFadeout(this); |
| 1058 | } |
946 | 1059 | V2A_Sound_Special_SlowPitchbendThenSlowFadeout(uint16 offset, uint16 size, uint16 freq1, uint16 freq2) : |
947 | 1060 | V2A_Sound_Base<1>(offset, size), _freq1(freq1), _freq2(freq2) { } |
948 | 1061 | virtual void start(Player_MOD *mod, int id, const byte *data) { |
… |
… |
|
1151 | 1264 | if (!_slot[i].id) |
1152 | 1265 | continue; |
1153 | 1266 | _slot[i].sound->stop(); |
| 1267 | delete _slot[i].sound; |
1154 | 1268 | _slot[i].sound = NULL; |
1155 | 1269 | _slot[i].id = 0; |
1156 | 1270 | } |
… |
… |
|
1164 | 1278 | if (i == -1) |
1165 | 1279 | return; |
1166 | 1280 | _slot[i].sound->stop(); |
| 1281 | delete _slot[i].sound; |
1167 | 1282 | _slot[i].sound = NULL; |
1168 | 1283 | _slot[i].id = 0; |
1169 | 1284 | } |
… |
… |
|
1183 | 1298 | if (i == -1) |
1184 | 1299 | return; |
1185 | 1300 | _slot[i].id = nr; |
1186 | | _slot[i].sound = snd; |
| 1301 | _slot[i].sound = snd->copy(); |
1187 | 1302 | _slot[i].sound->start(_mod,nr,data); |
1188 | 1303 | } |
1189 | 1304 | |
… |
… |
|
1196 | 1311 | for (i = 0; i < V2A_MAXSLOTS; i++) { |
1197 | 1312 | if ((_slot[i].id) && (!_slot[i].sound->update())) { |
1198 | 1313 | _slot[i].sound->stop(); |
| 1314 | delete _slot[i].sound; |
1199 | 1315 | _slot[i].sound = NULL; |
1200 | 1316 | _slot[i].id = 0; |
1201 | 1317 | } |