Difference between revisions of "Heretic ambient sounds stop playing"

From DoomWiki.org

[checked revision][checked revision]
m (+cat)
(Designer workaround: Added mention that you can use ports to avoid this issue)
 
(4 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
==Explanation==
 
==Explanation==
 
This happens because the "drops" sounds have random delay stages in their sequences. These delays range from 0 [[tic|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.
 
This happens because the "drops" sounds have random delay stages in their sequences. These delays range from 0 [[tic|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 [[source port|ports]] which aim for [[demo]] compatibility with Heretic need to emulate this issue.
  
 
==Designer workaround==
 
==Designer workaround==
If you want global ambient sounds to keep playing in your map throughout its entire duration, avoid using "drops" ambient sounds.
+
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]]).
  
 
[[Category:Heretic errors and bugs]]
 
[[Category:Heretic errors and bugs]]

Latest revision as of 10:11, 3 October 2020

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

Explanation[edit]

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 workaround[edit]

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).