View Issue Details

IDProjectCategoryView StatusLast Update
0003152Spring engineGeneralpublic2012-07-09 00:13
ReporterDeadnight Warrior Assigned ToKloot  
PrioritylowSeveritytrivialReproducibilityalways
Status resolvedResolutionno change required 
Product Version89.0 
Fixed in Version89.0 
Summary0003152: Beam Laser start sound is spammed every game frame
DescriptionI've encountered this only on Beam Lasers, the start sound is spammed every game frame for the entire duration of the beam.

Side note: since the hit sounds for beam lasers work in 88+ I've disabled them for BeamLaser weapons to replicate 88.0 and older engine behaviour.
Steps To ReproduceLoad any Spring game the has units with beam lasers, Annihilators are the best example as their beam duration is ~1s long or more.
Additional InformationTested with http://springrts.com/dl/buildbot/default/release/88.0.1-465-g5c3d1b7/
TagsNo tags attached.
Attached Files
Annihilator.flac (Attachment missing)
BeamHLT.flac (Attachment missing)
HLTanni.flac (Attachment missing)
infolog.txt (Attachment missing)
Checked infolog.txt for Errors

Activities

Kloot

2012-07-07 13:58

developer   ~0008893

as I told you before in the lobby: the sound that gets spammed is hitSound (because this now works for beamlasers, and they hit every frame their beam is active), not startSound.

changing soundhit=xplolrg1; to soundhit="" in weapons.tdf (of an svn checkout of XTA) for ARM_TOTAL_ANNIHILATOR fixes it, you probably changed ARMMANNI_WEAPON which is NOT used by arm_annihilator.

Deadnight Warrior

2012-07-07 22:55

reporter   ~0008918

All sounds are recorded from XTA running on http://springrts.com/dl/buildbot/default/release/88.0.1-501-g059b391/

Annihilator.flac is the Annihilator in XTA on 88+.0
BeamHLT.flac is the HLT sound when put on a Annihilator (Beam Laseer, 1s dur)
HLTanni.flac is the Annihilator sound put on a HLT (Laser Cannon)

Kloot

2012-07-07 23:34

developer   ~0008919

Last edited: 2012-07-08 01:03

some notes:

beamlasers are fine simulation-wise, they behave as in 88.0 (dealing the same amount of damage, etc --> no hidden extra beams being fired)

Annihilator.flac is almost like a short reverb effect was added, but the original files (wavs) have none and sound normal when played in an external tool

HLTanni.flac contains no corruption, but is the same sound as used to record Annihilator.flac (just put on a different weapon)

in both XTA 9.71 and BA 7.68, commenting out soundhit (in weapons.tdf::ARM_TOTAL_ANNIHILATOR / armanni.lua respectively) makes annihilator sound exactly like in 88.0, but not in XTA svn where soundstart retains a "reverb" effect

zerver

2012-07-08 01:37

reporter   ~0008920

This commit appears to be causing it:

https://github.com/spring/spring/commit/2a7d9493c47cbd4a619f5b51d280b72f3d9e68f5

Kloot is best man to answer if the new behavior is intentional or if we need a backwards compatibility fix.

Deadnight Warrior

2012-07-08 02:14

reporter   ~0008925

Last edited: 2012-07-08 02:32

While soundTrigger should have no effect on weapons that fire only one shot, it seems to affect BeamLasers

Any BeamLaser that has soundTrigger = 0 (default is 1) or has soundhit != "" or soundhitdry != "" will spam soundstart for the duration of it's beam.

Kloot

2012-07-08 11:57

developer   ~0008926

Last edited: 2012-07-08 12:06

aaargh, what did we spend 2+ hours discussing yesterday?!

when soundhit != "" or soundhitdry != "", SOUNDHIT gets spammed, *NOT* SOUNDSTART --> THIS part is semi-intentional, because soundhit never worked for beamlasers before

additionally when soundTrigger = 0, SOUNDSTART is played every frame --> as it should, but this part is non-intentional because the default value of soundTrigger seems to have changed from 1 to 0 for BeamLasers (tested in XTA, BA, and ZK, XTA-svn has soundTrigger=0 explicitly)

note: XTA's Annihilator has salvoSize=30 (not a burst-weapon, so salvoSize == beamtime * GAME_SPEED == 1 * 30 == 30), so that's 30 overlapping soundstart samples per shot

zerver

2012-07-08 14:12

reporter   ~0008927

How about renaming it to soundHitContinuousDry and soundHitContinuousWet for beam lasers? Then it will be quiet like before unless these new tags are specified...

Deadnight Warrior

2012-07-08 19:06

reporter   ~0008929

One last bug about hitsounds:

If soundhitdry is not defined, but soundhitwet is, when the weapon impacts land soundhitwet will be played instead of nothing, and when it impacts water nothing will be played instead of soundhitwet.

If soundhitdry is defined and soundhitwet isn't there are no problems.

I think it's a bug in the https://github.com/spring/spring/blob/develop/rts/Sim/Weapons/WeaponDefHandler.cpp#L490 function, it does a gsound.sounds.push_back(...) and doesn't load the sound at a specific array index, as index 0 is dry sound and index 1 is wet, but this way sounds are populated as they are found, and if no dry sound is found, wet sound is put on its place.

Kloot

2012-07-09 00:13

developer   ~0008934

fixed (the above dry/wet issue)

soundtrigger having changed default value was false alarm, beamlasers in BA, ZK, ... are still correctly tagged afaics. so because 99% of the issues are just due to hitsound now playing for beamlaser impacts and because a single line in weapondefs_post.lua is enough to block that, I'm marking this as resolved.

Issue History

Date Modified Username Field Change
2012-07-06 18:08 Deadnight Warrior New Issue
2012-07-06 22:21 zerver Assigned To => zerver
2012-07-06 22:21 zerver Status new => assigned
2012-07-07 13:58 Kloot Note Added: 0008893
2012-07-07 13:58 Kloot Status assigned => closed
2012-07-07 13:58 Kloot Assigned To zerver =>
2012-07-07 13:58 Kloot Resolution open => no change required
2012-07-07 22:50 Kloot Assigned To => Kloot
2012-07-07 22:50 Kloot Status closed => feedback
2012-07-07 22:50 Kloot Resolution no change required => reopened
2012-07-07 22:51 Deadnight Warrior File Added: Annihilator.flac
2012-07-07 22:52 Deadnight Warrior File Added: BeamHLT.flac
2012-07-07 22:52 Deadnight Warrior File Added: HLTanni.flac
2012-07-07 22:55 Deadnight Warrior Note Added: 0008918
2012-07-07 22:55 Deadnight Warrior Status feedback => assigned
2012-07-07 22:57 Deadnight Warrior File Added: infolog.txt
2012-07-07 23:34 Kloot Note Added: 0008919
2012-07-07 23:35 Kloot Note Edited: 0008919
2012-07-08 00:09 Kloot Note Edited: 0008919
2012-07-08 01:02 zerver Assigned To Kloot => zerver
2012-07-08 01:03 Kloot Note Edited: 0008919
2012-07-08 01:16 zerver Status assigned => confirmed
2012-07-08 01:37 zerver Note Added: 0008920
2012-07-08 01:37 zerver Assigned To zerver => Kloot
2012-07-08 01:37 zerver Status confirmed => assigned
2012-07-08 02:14 Deadnight Warrior Note Added: 0008925
2012-07-08 02:15 Deadnight Warrior Note Edited: 0008925
2012-07-08 02:16 Deadnight Warrior Note Edited: 0008925
2012-07-08 02:24 Deadnight Warrior Note Edited: 0008925
2012-07-08 02:32 Deadnight Warrior Note Edited: 0008925
2012-07-08 11:57 Kloot Note Added: 0008926
2012-07-08 11:57 Kloot Note Edited: 0008926
2012-07-08 11:58 Kloot Note Edited: 0008926
2012-07-08 11:58 Kloot Note Edited: 0008926
2012-07-08 12:01 Kloot Note Edited: 0008926
2012-07-08 12:04 Kloot Note Edited: 0008926
2012-07-08 12:06 Kloot Note Edited: 0008926
2012-07-08 14:12 zerver Note Added: 0008927
2012-07-08 19:06 Deadnight Warrior Note Added: 0008929
2012-07-09 00:13 Kloot Note Added: 0008934
2012-07-09 00:13 Kloot Status assigned => resolved
2012-07-09 00:13 Kloot Fixed in Version => 89.0
2012-07-09 00:13 Kloot Resolution reopened => no change required