fix(math): align deterministic Bezier operations - #255
Conversation
|
Additional real-world validation: completed another multiplayer game with two macOS GeneralsX clients and one deterministic Windows client. Map loading, shared tunnel exits, sound, and synchronization all remained working with no reported problems. |
0f73258 to
7874c42
Compare
|
Proactive update: this branch has been rebased onto current |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
7874c42 to
f4d3134
Compare
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueComment |
Description
Keep deterministic Bezier trajectories bit-identical between the GLM and D3DX paths.
The GLM path delegated matrix transforms and dot products to GLM, whose evaluation order differs from the explicitly ordered scalar operations used by the deterministic D3DX path. In a cross-platform multiplayer match, this first diverged on a
ScorpionTankShell: both clients matched through frame 17500, then produced slightly different projectile coordinates and CRCs at frame 17600.Changes
Corecode for both Generals and Zero Hour.Validation
z_generalsandg_generalstargets with deterministic math enabled.