Files
WoWee/include/rendering
Kelsi 726bd979f6 fix(transport): free a rider frozen on a ship's ramp; place doodads on attach
Boarding the icebreaker left the character running on the spot and unable to
get off. The deck-floor hold is the cause. It exists for one situation — a
continent transfer registers the transport GO before its WMO collision has
finished uploading — and while it is engaged it discards the rider's walking
motion and reapplies the boarding offset every frame.

But the flag is set on boarding and cleared only by a successful deck query, so
boarding somewhere the query never succeeds keeps it engaged forever, and a
gangway that belongs to the pier rather than the hull is exactly such a place.
The rider then cannot move, cannot walk far enough to trigger disembark, and
so cannot leave. The hold now applies only while the hull's collision is
genuinely still loading; once it is there, a query that finds no deck is a real
answer and the flag is released.

Also, addDoodadToInstance silently did nothing when the parent instance was
missing. The M2 has already been created by then, so dropping it there strands
it at the world origin, drawn nowhere and owned by nothing — indistinguishable
from a load failure. It now says so, and a doodad is moved into place as it is
attached rather than waiting for the parent's next transform push, so it is
never drawn at the origin and never stays there if the parent is static.

The machinery diagnostic now reports where the doodad actually ended up.
"Spawned" only ever meant the model parsed.
2026-07-31 20:20:43 -07:00
..