Moved `face_index` field in 3D `RayResult` to end of struct

This commit is contained in:
Mikael Hermansson 2023-09-26 23:02:00 +02:00
parent b905959f43
commit f1a9d8b5a5
3 changed files with 9 additions and 2 deletions

View File

@ -198,3 +198,10 @@ GH-80410
Validate extension JSON: Error: Field 'classes/RichTextLabel/methods/add_image/arguments': size changed value in new API, from 6 to 10. Validate extension JSON: Error: Field 'classes/RichTextLabel/methods/add_image/arguments': size changed value in new API, from 6 to 10.
Added optional argument. Compatibility method registered. Added optional argument. Compatibility method registered.
GH-82403
--------
Validate extension JSON: Error: Field 'native_structures/PhysicsServer3DExtensionRayResult': format changed value in new API, from "Vector3 position;Vector3 normal;RID rid;ObjectID collider_id;Object *collider;int shape" to "Vector3 position;Vector3 normal;RID rid;ObjectID collider_id;Object *collider;int shape;int face_index".
Added/moved face_index field (introduced in GH-71233) to end of struct. Should still be compatible with 4.1.

View File

@ -150,11 +150,11 @@ public:
struct RayResult { struct RayResult {
Vector3 position; Vector3 position;
Vector3 normal; Vector3 normal;
int face_index = -1;
RID rid; RID rid;
ObjectID collider_id; ObjectID collider_id;
Object *collider = nullptr; Object *collider = nullptr;
int shape = 0; int shape = 0;
int face_index = -1;
}; };
virtual bool intersect_ray(const RayParameters &p_parameters, RayResult &r_result) = 0; virtual bool intersect_ray(const RayParameters &p_parameters, RayResult &r_result) = 0;

View File

@ -157,7 +157,7 @@ void register_server_types() {
GDREGISTER_VIRTUAL_CLASS(PhysicsDirectSpaceState3DExtension) GDREGISTER_VIRTUAL_CLASS(PhysicsDirectSpaceState3DExtension)
GDREGISTER_VIRTUAL_CLASS(PhysicsServer3DRenderingServerHandler) GDREGISTER_VIRTUAL_CLASS(PhysicsServer3DRenderingServerHandler)
GDREGISTER_NATIVE_STRUCT(PhysicsServer3DExtensionRayResult, "Vector3 position;Vector3 normal;RID rid;ObjectID collider_id;Object *collider;int shape"); GDREGISTER_NATIVE_STRUCT(PhysicsServer3DExtensionRayResult, "Vector3 position;Vector3 normal;RID rid;ObjectID collider_id;Object *collider;int shape;int face_index");
GDREGISTER_NATIVE_STRUCT(PhysicsServer3DExtensionShapeResult, "RID rid;ObjectID collider_id;Object *collider;int shape"); GDREGISTER_NATIVE_STRUCT(PhysicsServer3DExtensionShapeResult, "RID rid;ObjectID collider_id;Object *collider;int shape");
GDREGISTER_NATIVE_STRUCT(PhysicsServer3DExtensionShapeRestInfo, "Vector3 point;Vector3 normal;RID rid;ObjectID collider_id;int shape;Vector3 linear_velocity"); GDREGISTER_NATIVE_STRUCT(PhysicsServer3DExtensionShapeRestInfo, "Vector3 point;Vector3 normal;RID rid;ObjectID collider_id;int shape;Vector3 linear_velocity");
GDREGISTER_NATIVE_STRUCT(PhysicsServer3DExtensionMotionCollision, "Vector3 position;Vector3 normal;Vector3 collider_velocity;Vector3 collider_angular_velocity;real_t depth;int local_shape;ObjectID collider_id;RID collider;int collider_shape"); GDREGISTER_NATIVE_STRUCT(PhysicsServer3DExtensionMotionCollision, "Vector3 position;Vector3 normal;Vector3 collider_velocity;Vector3 collider_angular_velocity;real_t depth;int local_shape;ObjectID collider_id;RID collider;int collider_shape");