Wreck sink (quadratic burial) + ldbr debris field -- the 1996 script completed
Answers "does the wreck fade away?": YES, by sinking. FUN_00456410 (the 1996 sink renderable) computes offsetY = rate * t^2; the hulk's authored rate is -0.025 -> the ~7-unit hulk is fully underground ~17s after the kill. The script also pairs the standing hulk with the LDBR strewn-debris field (12x13u flat scatter), parented together and sinking together. Also verified from the mesh data: BLHDBR (1537 verts -- more than the intact torso) IS the authored Blackhawk wreck: the classic standing-leg-in-rubble sculpt. The "just a leg standing there" report is the authentic art. (THRDBR -- the mesh the 1996 script hardcoded -- parses to ZERO vertices; more evidence the hardcode was an unfinished dev shortcut.) Implementation: SwapToWreck adds the ldbr piece; TickWreck applies the quadratic sink per frame (driven from the dead mech's UpdateDeathState), hides both pieces at burial and reports it so the wreck-smoke re-arm stops with the wreck. DPLStaticChildRenderable::SetOffsetTranslation added (Execute re-reads OrientationMatrix per frame -- same in-place idiom as SetDrawObj). Lifecycle verified live: kill -> 'blhdbr.bgf' + ldbr debris -> smoke re-arm @10s -> wreck buried @~17s -> smoke stops. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
c0fa6bf21a
commit
5236d4263a
@@ -1900,6 +1900,16 @@ public:
|
||||
Logical TestInstance() const;
|
||||
|
||||
virtual void Execute();
|
||||
|
||||
// Overwrite the offset's translation row in place. Execute() re-reads
|
||||
// OrientationMatrix every frame, so this animates the child -- the BT
|
||||
// death-wreck SINK (the 1996 script's quadratic burial) drives it.
|
||||
void SetOffsetTranslation(float x, float y, float z)
|
||||
{
|
||||
OrientationMatrix(3, 0) = x;
|
||||
OrientationMatrix(3, 1) = y;
|
||||
OrientationMatrix(3, 2) = z;
|
||||
}
|
||||
protected:
|
||||
dpl_DCS *myDCS, *myParentDCS;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user