diff --git a/src/s_sound.cpp b/src/s_sound.cpp index ccaebf610..5b3d5457b 100644 --- a/src/s_sound.cpp +++ b/src/s_sound.cpp @@ -2993,3 +2993,23 @@ CCMD (cachesound) } } } + + +CCMD(listsoundchannels) +{ + FSoundChan *chan; + int count = 0; + for (chan = Channels; chan != NULL; chan = chan->NextChan) + { + if (!(chan->ChanFlags & CHAN_EVICTED)) + { + FVector3 chanorigin; + + CalcPosVel(chan, &chanorigin, NULL); + + Printf("%s at (%1.5f, %1.5f, %1.5f)\n", (const char*)chan->SoundID, chanorigin.X, chanorigin.Y, chanorigin.Z); + count++; + } + } + Printf("%d sounds playing\n", count); +}