diff --git a/polymer/eduke32/source/sounds.c b/polymer/eduke32/source/sounds.c index fa3d2497f..07fdfdfd8 100644 --- a/polymer/eduke32/source/sounds.c +++ b/polymer/eduke32/source/sounds.c @@ -512,17 +512,23 @@ void sound(int num) int spritesound(unsigned int num, int i) { if (num >= MAXSOUNDS) return -1; + if (i < 0) + { + sound(num); + return 0; + } return xyzsound(num,i,SX,SY,SZ); } void stopspritesound(int num, int i) { UNREFERENCED_PARAMETER(i); - stopsound(num); + if (num >= 0 && num < MAXSOUNDS) stopsound(num); } void stopsound(int num) { + if (num >= 0 && num < MAXSOUNDS) if (g_sounds[num].num > 0) { FX_StopSound(g_sounds[num].SoundOwner[g_sounds[num].num-1].voice); @@ -534,6 +540,7 @@ void stopenvsound(int num,int i) { int j, k; + if (num >= 0 && num < MAXSOUNDS) if (g_sounds[num].num > 0) { k = g_sounds[num].num;