source-sdk-2013 icon indicating copy to clipboard operation
source-sdk-2013 copied to clipboard

all games: Add handling for particle systems attached to model panels in particle system query

Open copperpixel opened this issue 1 month ago • 4 comments

Description

This PR updates GetRandomPointsOnControllingObjectHitBox and GetControllingObjectHitBoxInfo in CParticleSystemQuery to be able to handle particle systems attached to VGUI model panels.

Without this particle systems wouldn't attach to models correctly and Position on Model Random initializer wouldn't randomize the particle's position. Can be observed with some Unusual effects and community sparkles in TF's loadout screen and 3D class portraits on the HUD.

Before:

particlesystemquery_mdlpanel_handling_before2.webm

After:

particlesystemquery_mdlpanel_handling_after2.webm

Closes https://github.com/ValveSoftware/Source-1-Games/issues/3426, closes https://github.com/ValveSoftware/Source-1-Games/issues/3973

copperpixel avatar Nov 10 '25 02:11 copperpixel

Very nice change; how does this look for full-body unusual effects on taunts? They have a bit of a different issue, where instead of all spawning in the head bone, they spawn in some sort of root bone way behind the actual character, so I'm curious if this PR also tackles this issue

DivaDan avatar Nov 10 '25 17:11 DivaDan

Replying to https://github.com/ValveSoftware/source-sdk-2013/pull/1644#issuecomment-3513087599

~~Unfortunately no, their spawn position will still be wrong, however it will be randomized around that point now.~~

particlesystemquery_mdlpanel_handling_taunts.webm

copperpixel avatar Nov 10 '25 19:11 copperpixel

Awesome, glad to see it works on unusual taunts too! Would love to see this merged.

DivaDan avatar Nov 14 '25 00:11 DivaDan