View Issue Details

IDProjectCategoryView StatusLast Update
0005666The Dark ModSound Systempublic22.01.2024 04:34
ReporterAluminumHaste Assigned To 
PrioritynormalSeveritynormalReproducibilityalways
Status confirmedResolutionopen 
Product VersionTDM 2.11 
Target VersionTDM 2.13 
Summary0005666: Shooting a noise arrow then picking it up, sound keeps playing - at HIGH FPS
DescriptionEDIT: Running with the game with uncapped FPS seems to cause the issue from our limited testing.
If you shoot a noise arrow, then pick it up, the sound keeps playing, and never stops playing.
Happens in 2.09a and latest SVN.

Steps To ReproduceUncap FPS in the options menu.
Set FPS cap high, like 240 fps.

Load up the test map.
Shoot a noise arrow.
Wait 2-3 seconds.
Frob the arrow.
Sound keeps playing forever.
Additional Informationhttps://www.youtube.com/watch?v=jI967xYOdnA

Test Map: https://drive.google.com/file/d/1kTyVY_o-Csw4aKQjeZUqWbl8wb_JXhHN/view?usp=sharing
TagsNo tags attached.

Relationships

related to 0006454 new Objects on floor sound sometimes loops 
child of 0004493 resolvedduzenko Some physics events have changed in 2.05 due to faster fps 

Activities

AluminumHaste

AluminumHaste

11.07.2021 12:33

developer   ~0014152

It also does it in 2.08

It also does it in 2.07.....

You have to leave it sit there for 5 or 6 seconds, then pick it up, sound keeps playing.
Obsttorte

Obsttorte

12.06.2022 06:14

developer   ~0014869

It appears that this was some sort of formatting issue in the respective script file. After playing around with it the issue was suddenly gone, even after I had reverted the changes. Maybe some sort of hidden character.
Commited script/tdm_ammo_noisemaker_small.script (basically unchanged) with revision 16493.
As I don't know what the issue was counterchecking seems appropriate before closing the issue.
stgatilov

stgatilov

12.06.2022 10:17

administrator   ~0014870

I do not believe that your commit has any effect.
You just removed a few of duplicate EOLs.

If you no longer have the problem, it most likely means that the problem is not 100% reproducible.
Obsttorte

Obsttorte

12.06.2022 11:38

developer   ~0014872

Last edited: 12.06.2022 11:39

Well, at least I could perfectly reproduce the issue before. I honestly have no clue what the issue is and why it seems gone now.

What I can tell is though that before the arrow was never hidden, hence the sound was played continuosly (there is a loop running in the scriptobject that stops the sound if either enough time has passed or the entity is hidden).

Can you replicate the issue?
AluminumHaste

AluminumHaste

12.06.2022 13:23

developer   ~0014874

No still happens in 2.10.
Shoot arrow, wait 2 seconds then pick it up, sound never stops playing for me.
AluminumHaste

AluminumHaste

12.06.2022 13:36

developer   ~0014875

2.10: https://www.youtube.com/watch?v=66hYKtXNnHk

Does the same thing in SVN
Obsttorte

Obsttorte

12.06.2022 14:14

developer   ~0014876

Okay, thanks. Then I'll try what I had originally in mind.
Obsttorte

Obsttorte

12.06.2022 15:04

developer   ~0014879

I am able to reproduce the error in svn. However, once I add something to the scriptobject of the noisemaker (even if it is just some console output) the error is gone. Weird s*!t happens :/
Obsttorte

Obsttorte

12.06.2022 16:01

developer   ~0014880

Commited modified noisemaker def and script file. The noisemaker gets hidden by the script (in addition to what the code already does). I am not able to reproduce the bug as it disappears once I touch the respective files, so please countercheck.
AluminumHaste

AluminumHaste

12.06.2022 16:56

developer   ~0014881

Nope, still does it.
Obsttorte

Obsttorte

12.06.2022 18:50

developer   ~0014882

I see. My issue is that I cannot reliably reproduce the error. I would guess it happens in less then 10% of the cases on my end, but if it does often several times in a row.
AluminumHaste

AluminumHaste

12.06.2022 19:15

developer   ~0014884

Is it possible it's more affected by high fps? I'm running it at 240fps to match my monitor, what are you running at?
Obsttorte

Obsttorte

13.06.2022 06:31

developer   ~0014891

I'm running at 60FPS. A short test with higher framerates implies that you might be on to something. To countercheck you could try setting it to 60FPS and see if the issue becomes more rare.
It would explain why this isn't reported that often (if it got even reported by someone else), as most FM's will probably not run at such high frame rates for most players.

The issue is that I tried to track down the code involved into this (frob and sound) but couldn't find where the hiding and sound stopping actually takes place. The latter might be something implicit in the sound system (default stop of sound if the emitter got removed or so) but neither the frob code nor the frob action script cause the hiding of the arrow upon frob. It's hard to fix something if you don't know where stuff takes place.

I may take another look during the week, maybe I've overseen something. But as I can't promise to find something I unassigned the issue from myself.
AluminumHaste

AluminumHaste

13.06.2022 12:18

developer   ~0014892

Last edited: 13.06.2022 12:21

Damn, it is related to high FPS or uncapped FPS at least.

With Uncap FPS OFF, I can't get it to happen.

With Uncap FPS ON, but set to 60 fps, I got it to happen once.
With Uncap FPS ON, with 240 fps, happens every time, if you wait 2-3 seconds before picking it up.

I did notice that at higher FPS, the arrow almost immediately stops bouncing around on the ground, but at 60 fps, the arrow continues to bounce and move around.
I think that's normal as the arrow is supposed to have a mechanical noise maker that makes it bounce around.

EDIT: uncap FPS command toggles com_fixedTic to 1.
AluminumHaste

AluminumHaste

13.06.2022 12:23

developer   ~0014894

I've updated the bug report with this new information, new steps to reproduce and a link to download a test map.
nbohr1more

nbohr1more

15.11.2022 06:27

developer   ~0015428

Last edited: 15.11.2022 06:28

How the heck is this working?

float soundTimer = sys.getTime();
float propTimer = soundTimer;

neither of these are static values
sys.getTime propagates to both vars
both vars are used in comparison to sys.getTime

gonna set them to static

Edit:

Woo!! TDM won't start with them set to static ...
stgatilov

stgatilov

19.11.2022 08:36

administrator   ~0015452

This is game script, not C++.
nbohr1more

nbohr1more

05.12.2023 01:38

developer   ~0016213

Please try to reproduce this now that rev 10499 FPS fix is applied
stgatilov

stgatilov

05.12.2023 08:57

administrator   ~0016217

There is no reason why the issue would go away after fixing player physics.
It might have been fixed with some other changes, but I think that's unlikely.
AluminumHaste

AluminumHaste

06.12.2023 15:37

developer   ~0016220

No problem still happens.
Also, with com_fixedTic 0, the issue isn't present, and also the noise arrow bounces around like it used to.
But with com_fixedTic 1, the arrow is still while on the ground.

Issue History

Date Modified Username Field Change
10.07.2021 14:05 AluminumHaste New Issue
11.07.2021 12:33 AluminumHaste Note Added: 0014152
12.06.2022 06:10 Obsttorte Assigned To => Obsttorte
12.06.2022 06:10 Obsttorte Status new => assigned
12.06.2022 06:14 Obsttorte Status assigned => feedback
12.06.2022 06:14 Obsttorte Note Added: 0014869
12.06.2022 10:17 stgatilov Note Added: 0014870
12.06.2022 11:38 Obsttorte Note Added: 0014872
12.06.2022 11:39 Obsttorte Note Edited: 0014872
12.06.2022 11:39 Obsttorte Note Edited: 0014872
12.06.2022 13:23 AluminumHaste Note Added: 0014874
12.06.2022 13:23 AluminumHaste Status feedback => assigned
12.06.2022 13:36 AluminumHaste Note Added: 0014875
12.06.2022 14:14 Obsttorte Note Added: 0014876
12.06.2022 15:04 Obsttorte Note Added: 0014879
12.06.2022 16:01 Obsttorte Status assigned => feedback
12.06.2022 16:01 Obsttorte Note Added: 0014880
12.06.2022 16:56 AluminumHaste Note Added: 0014881
12.06.2022 16:56 AluminumHaste Status feedback => assigned
12.06.2022 18:50 Obsttorte Note Added: 0014882
12.06.2022 18:50 Obsttorte Assigned To Obsttorte =>
12.06.2022 18:51 Obsttorte Assigned To => Obsttorte
12.06.2022 18:51 Obsttorte Status assigned => confirmed
12.06.2022 18:51 Obsttorte Assigned To Obsttorte =>
12.06.2022 19:15 AluminumHaste Note Added: 0014884
13.06.2022 06:31 Obsttorte Note Added: 0014891
13.06.2022 12:18 AluminumHaste Note Added: 0014892
13.06.2022 12:19 AluminumHaste Summary Shooting a noise arrow then picking it up, sound keeps playing. => Shooting a noise arrow then picking it up, sound keeps playing - at HIGH FPS
13.06.2022 12:19 AluminumHaste Description Updated
13.06.2022 12:19 AluminumHaste Steps to Reproduce Updated
13.06.2022 12:21 AluminumHaste Note Edited: 0014892
13.06.2022 12:23 AluminumHaste Additional Information Updated
13.06.2022 12:23 AluminumHaste Note Added: 0014894
15.11.2022 06:27 nbohr1more Note Added: 0015428
15.11.2022 06:28 nbohr1more Note Edited: 0015428
15.11.2022 06:29 nbohr1more Target Version TDM 2.11 => TDM 2.12
19.11.2022 08:36 stgatilov Note Added: 0015452
05.12.2023 01:37 nbohr1more Relationship added child of 0004493
05.12.2023 01:38 nbohr1more Note Added: 0016213
05.12.2023 08:57 stgatilov Note Added: 0016217
06.12.2023 15:37 AluminumHaste Note Added: 0016220
03.01.2024 03:43 nbohr1more Target Version TDM 2.12 => TDM 2.13
22.01.2024 04:34 Fiver Relationship added related to 0006454