A playing sound can restart after quicksaving

Mon Apr 01, 2019 10:37 am

This is an extremely minor and somewhat obscure issue that does not have any impact on gameplay or user experience at all. However, I've encountered it several times in my playthroughs, and now I've finally been able to isolate it.

Here's how the bug manifests during the game:

  1. During normal gameplay, a sound plays due to whatever reason (picking up an item, teleporting etc.)
  2. As soon as the sound has finished playing, I do a quick save.
  3. Immediately after saving, the sound plays again.

My experiments suggest that this happens when the length of time that passes between the moment when the sound starts playing and the moment the game is saved is approximately equal to the length of the sound.

Due to the nature of this bug, it is only possible to reliably reproduce it with an automation script. I tried reproducing it using an ACS script triggering an autosave after a delay, but my attempt was not successful. Therefore, I wrote an AutoIt script that I've attached to this report along with the test map. This script can be used to reproduce the issue more or less reliably. Note that it assumes that the "use" action is bound to the space key and F6 opens the save menu (this is the default setup). Here's how to use it:

  1. Run the script first (it won't do anything until the Home key is pressed).
  2. Launch GZDoom with the test map loaded.
  3. Save the game once so that F6 brings up the quick save dialog.
  4. Press the Home key. The script will simulate a spacebar press. Assuming that the player character has not been moved, this will trigger a teleportation sequence and the teleport sound will play. Then, after a certain amount of time, the script will trigger a quick save. With a certain chance - about 50% of the time, according to my own experience - the teleport sound will play again as soon as the game has been saved.
  5. Press the Home key again to repeat the whole sequence (there is no need to move the player character anywhere within the map), or press the End key to terminate the script.

This bug has been successfully reproduced in GZDoom g3.8pre-747-g55e00f350 both on my desktop and my laptop. Therefore, it is probably not hardware-dependent. However, it seems that the chance to successfully reproduce it on my laptop is much lower. It is possible that the delay value hardcoded in the script might require a slight tweak to improve the chances of reproducing this bug, depending on the system.
You do not have the required permissions to view the files attached to this post.