From 701ecd3a0de985e12732ef6cc41eb7a148c57f4a Mon Sep 17 00:00:00 2001 From: Mikael Hermansson Date: Fri, 16 Feb 2024 15:40:55 +0100 Subject: [PATCH] Fix `SoftBody3D` for double-precision builds --- scene/3d/soft_body_3d.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scene/3d/soft_body_3d.cpp b/scene/3d/soft_body_3d.cpp index fb6a45846cfa..540e70866a11 100644 --- a/scene/3d/soft_body_3d.cpp +++ b/scene/3d/soft_body_3d.cpp @@ -82,7 +82,10 @@ void SoftBodyRenderingServerHandler::commit_changes() { } void SoftBodyRenderingServerHandler::set_vertex(int p_vertex_id, const Vector3 &p_vertex) { - memcpy(&write_buffer[p_vertex_id * stride + offset_vertices], &p_vertex, sizeof(Vector3)); + float *vertex_buffer = reinterpret_cast(write_buffer + p_vertex_id * stride + offset_vertices); + *vertex_buffer++ = (float)p_vertex.x; + *vertex_buffer++ = (float)p_vertex.y; + *vertex_buffer++ = (float)p_vertex.z; } void SoftBodyRenderingServerHandler::set_normal(int p_vertex_id, const Vector3 &p_normal) {