Heretic ambient sounds stop playing

In Heretic, if the "drops" ambient sounds are used, all global sounds will cease playing after a while.

ExplanationEdit

This happens because the "drops" sounds have random delay stages in their sequences. These delays range from 0 tics to a certain positive amount. If the random picker chooses 0 tics, then from that moment all the global sounds will stop playing. This happens because of a wrap-around error in the logic.

All ports which aim for demo compatibility with Heretic need to emulate this issue.

Designer workaroundEdit

If you want global ambient sounds to keep playing in your map throughout its entire duration, avoid using "drops" ambient sounds. All other ambient sounds are safe from this error.

This is not a problem in source ports, except for those which are vanilla demo compatible by design (e.g. Chocolate Heretic).