PFX continuous-rate emission (data-verified) + persistent wreck smoke

The one-burst emitter batching was wrong: in EVERY shipped .PFX,
maxIssue/rate == release_period (DAFC 25/100~=0.2, DNBOOM 35/150~=0.2, DDAM2
35/16~=2, DDTHSMK 30/3=10) -- release_period is the EMISSION WINDOW and rate
is particles/second emitted continuously across it.  The death smoke plume is
authored as a 3/sec trickle for 10 seconds (+6s particle life), not one
same-frame puff.  Emitters now integrate rate*dt until maximum_issue.

Wreck smoke (port addition, [T3]): a destroyed mech re-arms the death/rubble
smoke plume (psfx 1, DDTHSMK) every 10s -- its own authored window -- so the
dead hulk visibly keeps smoking instead of standing there looking alive (the
freeze-death is invisible on an already-stationary target).  New member
Mech::wreckSmokeTimer; UpdateDeathState takes dt.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
arcattack
2026-07-08 15:13:10 -05:00
co-authored by Claude Fable 5
parent d9254736ab
commit b44c0f98f6
4 changed files with 43 additions and 14 deletions
+1
View File
@@ -1318,6 +1318,7 @@ Mech::Mech(
deathHandler = (int)new MechDeathHandler(this); // FUN_0042a984
critRes->Unlock();
}
wreckSmokeTimer = 0.0f;
//
// Cylinder hit-location table (resource type 0x1d = DamageLookupTableStream) --