branchrust_reboot/main/soundmodulator_leakcancel

65 Commits over 61 Days - 0.04cph!

Today
Update: recylce RotateWhenOn's sound loop Tests: none, trivial change
Today
Update: sanity-recycle sounds when procedural lift is disabled Tests: none, trivial change
Today
Update: recycle SpinUp layer sounds on disable Tests: none, trivial change
Today
Bugfix: Flamethrower now works if continuing fire after quickswitching Tests: in editor, did normal firing with quickswitching intermixed
Today
Bugfix: Flamethrower sounds leaking or missing, pt1 - Recycle sounds when destroyed or holstered - Start play pilot sound on deploy (used to only take effect after firing) - Cleaned up a bunch of comments and whitespaces There's one more bug to do with holding the fire button while quick switching away and back to flamethrower, that's next. Tests: in editor fired and quick-switched away then monitored audio.printsounds
Today
Bugfix: fixing misplaced call in CompoundBow Tests: none, trivial change
Today
Bugfix: avoid leaking compound bow sound loop - Also added sound recycle on destroy It was just one instance that would be cleaned up on switch-back to bow per player. Tests: in editor pulled the bow till max, quick-switched away, checked via audio.printsounds that it was gone
Today
Update: recycle sounds when destroying a BaseLiquidVessel Tests: none, trivial change
Today
Update: recycle sounds when PhoneController is destroyed Tests: none, trivial change
Today
Update: recycle sound when MobileInventoryEntity is disabled Tests: none, trivial change
Today
Update: recycle sounds when RadiationOverlay is disabled Tests: none, trivial change
Today
Update: recycle sounds on SoundFollowCollider disable Tests: none, trivial change
Today
Update: CoalingTower stops it's effects on client side Shouldn't have any effect now since we don't despawn them, but will avoid pooling issues in the future if we suddenly start Tests: none, trivial change
Yesterday
Merge: from main Tests: Rode the zipline on craggy back and forward, ran around the island and monitored pooling logs
27 Days Ago
Merge: from main Tests: none
30 Days Ago
Merge: from main Tests: none
49 Days Ago
Update: enable sound pooling by default If something goes derp, can be disabled via audio.enablesoundpooling 0 Tests: was explicitly enabled over last 3 days while running all recent changes
49 Days Ago
Merge: from main Tests: ran around on craggy with logs
49 Days Ago
Bugfix: don't leak looping sounds when quick-switching It's possible that equipped items with sound effects (setup via sound player) can enable-then-disable across 2 frames, before SoundManager picks up the pending play request. If it's a looping sound(like torches burn loop) it would stay alive forever. Now we cleanup the pending requests on disable of sound player. Tests: mousewheel quickswitched between rock and a torch and observed numbers in audio.printsounds - the burn loop is no longer accumulating.
49 Days Ago
Update: SoundManager pools internal lists The pooling effect is minimal, but it achieves 2 small improvements: - we don't hold lists in memory for sounds that don't reapper for a while - those can be reused in other parts of the code - audio.printsounds no longer reports 0 active sounds per definintion Tests: On craggy quickswitched between equipped items. Saw the various sounds appear and disapper in the logs.
49 Days Ago
Update: microphone drops any sounds it has accumulated on destroy Tests: tested by playing the flute when exploding the microphone stand connected to a speaker
49 Days Ago
Update: MiningQuarry drops sound assets when destoyed (though it's invulnerable) Tests: none, trivial change (same type of changes as previous)
49 Days Ago
Update: modular car's engine drops all sound resources on disable Tests: blew up a modular car
49 Days Ago
Update: AmbianceWaveSounds recycles sounds on disable Tests: none targetted(same type of change as before), but have been live on my branch for 2d while testing and working on other changes.
50 Days Ago
Update: Engine blend loop drops it's sound resources on disable Tests: none, trivial change (same type of change as previous)
50 Days Ago
Update: Tree now drops it's sound resources on client destruction - It also drops the Gain mod when fading out sound loop during fall Tests: cut down a tree, saw relevant audio events in logs
50 Days Ago
Update: Traveling Vendor drops it's sound resources on client destruction Tests: none, trivial change (same type of change as previous)
50 Days Ago
Update: Parachute and Sled drop their sound resources on destroy Tests: none, trivial changes (same type of change as previous)
50 Days Ago
Update: CCTV and SpinnerWheel drop their sound resources on disable/destroy Tests: none, trivial change (same type of change as previous)
50 Days Ago
Update: Sub, Snowmobile, Tugboar and Train drop their sound resources on disable/kill - In Snowmobile's case Ski audio was previously (accidentally?) retained when sim stopped - Train engine used to retain damage and engine reflection sounds (assume an accident/bug) Tests: none, trivial changes (same type of changes as previously)
50 Days Ago
Update: CargoShip drops sounds resources on disable - Also added a couple convenience StopXSound methods, since it has a bunch of different sounds. Tests: none, trivial change (same type of change as before)
50 Days Ago
Update: Ferry drops it's sound resources when disabled Tests: none, trivial change (same type of change as previous)
50 Days Ago
Bugfix: PatrolHeli now releases modulators alongside the sounds Tests: none, trivial change
50 Days Ago
Bugfix: Drone now releases pitch modulator on destruction Tests: none, trivial change
50 Days Ago
Update: Modular Vehicle drops sound resources on destruction Tests: plugged in engine comps on Craggy's spawned vehicle, drove around in it. Put some timed c4 and drove until explosion - confirmed resources got released via logs.
50 Days Ago
Update: Helicopter now drops sound resources when disabled/retired - Also fixed a potential NRE when requesting a sound fails Tests: spawned an attack heli and flew around in it with jumping out at various stages. Also destroyed it to trigger sound recycling.
50 Days Ago
Bugfix: Bicycle now uses it's coasting sound when not pedaling Tests: rode the bicycle with pedaling on and off.
50 Days Ago
Update: Bycicle drops all sound resources when sound definition changes - Previously it tried to manage lifetime of modulators internally, but since we can pool it'll happen automatically now. Tests: rode the bike with jumping off during different moments. Noclipped away and back, redid same actions - all stable.
50 Days Ago
Update: DPV stops all sounds when no longer simulating In theory, there were edge cases where previously it was possible that some sounds would not be cleaned up. Tests: rode the DPV, jumped off at various points, picked it up and redeployed. Noclipped around the area
50 Days Ago
Update: MovementSounds releases sound resources on disable - Also got rid of IOnParentDestroying implementation - it's handled by OnDisable now Tests: ran in water. Killed self mid run to test onDisable - all good
50 Days Ago
Update: Minigun and Fishing Rod drop their sounds on destroy/cleanup Tests: Spooled up and fired the minigun with switching in between. Fished with switching at various stages(holding, throwing, fish catching, fish pulling).
50 Days Ago
Bugfix: Ignore sound fadeout requests on retired sounds Because sound is a shared-ownership resource and we have scenarios where owners don't know that the sound sometimes has been retired, we need to be a bit more permissive with existing cleanup logic. Tests: Had a fish bite with the fishing rod, started pulling then switched over to a different item, then tried fishing again - with sound pooling this would sometimes throw, but not anymore. Confirmed with audio logs that bad scenario did happen but didn't fail.
50 Days Ago
Bugfix: AmbienceEmitter now drops occlusion modulator on fade-out Tests: noclipped around Craggy with audio recycling logs on - no NREs
52 Days Ago
Update: Implementing retiring of SoundModifier Tests: none, trivial change
52 Days Ago
Optim: Recycle footsteps earlier Previously sound would get recycled when the effect would be destroyed(1.7s), but it happens much later(instead of 0.5s) Tests: Ran around on craggy - coast, grasslands, water.
52 Days Ago
Update: Log Sound stop-and-recycle requests - Log level 3 for Audio Tests: observed logs when running around (footsteps)
52 Days Ago
Update: updating audio debug output to make cross-referencing easier Tests: Rode a zipline on Craggy, was able to track the looping sound
52 Days Ago
Bugfix: Zipline stops playing audio when reaching the end This avoids trying to fade out a sound that was already recycled due GO being destroyed by server. Haven't found a better solution. Tests: on Craggy with sound pooling enabled, used the zipline twice, then noclipped out in the distance, and rode the zipline twice - no NREs. Logs also didn't show double-retire
52 Days Ago
Update: rewrote the comment Forgot to press save in VS before submitting. Tests: none, trivial change
52 Days Ago
Update: Allow use of client-side commands for GameSetup in Editor context This simplifies some testing scenarios. Tests: Boted craggy with a couple client-only debug commands - they changed as required