Skip to content

[scene] Fix particle orientation and improve K1 grenade effects - #259

Open
CrispyW0nton wants to merge 5 commits into
modawan:masterfrom
CrispyW0nton:fix/k1-particle-fidelity
Open

[scene] Fix particle orientation and improve K1 grenade effects#259
CrispyW0nton wants to merge 5 commits into
modawan:masterfrom
CrispyW0nton:fix/k1-particle-fidelity

Conversation

@CrispyW0nton

Copy link
Copy Markdown

Summary

This fixes motion-blur particles using model-local velocity when their emitter is transformed. The waterfall in tar_m05aa now stays vertical instead of rotating sideways.

While testing the same renderer path in combat, I found that KOTOR 1 grenade effects could expand into low-detail, washed-out sheets. I added K1-specific profiles for all nine grenade effects and improved particle reconstruction, alpha handling, trail shape, and frame-stable births. The higher-fidelity path only activates for the exact K1 grenade effects; the default particle path and KOTOR 2 remain unchanged.

Validation

  • Built the Release engine and shader pack
  • Passed all 426 tests
  • Checked the tar_m05aa waterfall in-engine on the final revision
  • Captured launch, peak, and decay for all nine K1 grenade effects in Retro and PBR
  • Retested Frag, Sonic, Adhesive, and Cryoban after the final localization pass
  • Closely checked Ion, Plasma, and Thermal Detonator against Rakghouls

Fixes #181

Apply emitter controllers before simulation, bound spawn and trail work, and keep enhanced reconstruction behind KOTOR 1 label profiles. The default renderer path and TSL effects remain unchanged.
Integrate animated birth rates across keyframes, zero-rate gaps, and loop wraps without changing the established model animation clock. Refresh culled emitter state, keep the 64-particle render boundary, and scope the grenade presentation tuning to exact KOTOR 1 effects.
Age fountain particles from their actual birth time so long and partitioned frames produce the same visual state. Consume culled non-looping one-shot emitters without preventing looping emitters from resuming.
Reduce stacked haze and oversized sprites in the fragmentation, sonic, adhesive, and CryoBan profiles. Preserve their authored character with distinct tints while preventing peak frames from washing out the scene.
modawan pushed a commit that referenced this pull request Aug 16, 2026
The patch fixes issue #181: incorrect rotation of emitter particles.
@modawan

modawan commented Aug 16, 2026

Copy link
Copy Markdown
Owner

Thanks a lot @CrispyW0nton! Apologize for dreadful time to review the patchset.

The first patch is great. It fixes particle orientation of the waterfall and grenade effects.

I'm not sure about the direction of the other patches that override some vanilla effects. I think it is more appropriate for a mod, so that people can opt-in to have these changes if they like them. If there is a feature that a mod requires from the engine, we can certainly support it.

Another reason is that overrides make comparisons with vanilla more difficult, because we're not comparing the same input anymore.

I pushed the first patch to the master to fix #181. We can keep other patches open for now, and get back to them to polish effect to make them on par with vanilla.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Incorrect rotation of emitter particles

2 participants