Add init functions from Zig vectors to raylib vectors

This commit is contained in:
Nikolas 2025-11-15 19:36:39 +01:00
parent 3cd4d3179d
commit a4d18b2d1c
No known key found for this signature in database
GPG Key ID: E95F679E3CDD9784
2 changed files with 24 additions and 0 deletions

View File

@ -51,6 +51,10 @@ pub const Vector2 = extern struct {
return Vector2{ .x = x, .y = y }; return Vector2{ .x = x, .y = y };
} }
pub fn initVec(vec: @Vector(2, f32)) Vector2 {
return Vector2{ .x = vec[0], .y = vec[1] };
}
/// Vector with components value 0.0 /// Vector with components value 0.0
pub fn zero() Vector2 { pub fn zero() Vector2 {
return math.vector2Zero(); return math.vector2Zero();
@ -215,6 +219,10 @@ pub const Vector3 = extern struct {
return Vector3{ .x = x, .y = y, .z = z }; return Vector3{ .x = x, .y = y, .z = z };
} }
pub fn initVec(vec: @Vector(3, f32)) Vector3 {
return Vector3{ .x = vec[0], .y = vec[1], .z = vec[2] };
}
// Vector with components value 0.0 // Vector with components value 0.0
pub fn zero() Vector3 { pub fn zero() Vector3 {
return math.vector3Zero(); return math.vector3Zero();
@ -429,6 +437,10 @@ pub const Vector4 = extern struct {
return Vector4{ .x = x, .y = y, .z = z, .w = w }; return Vector4{ .x = x, .y = y, .z = z, .w = w };
} }
pub fn initVec(vec: @Vector(4, f32)) Vector4 {
return Vector4{ .x = vec[0], .y = vec[1], .z = vec[2], .w = vec[2] };
}
/// Vector with components value 0.0 /// Vector with components value 0.0
pub fn zero() Vector4 { pub fn zero() Vector4 {
return math.vector4Zero(); return math.vector4Zero();

View File

@ -51,6 +51,10 @@ pub const Vector2 = extern struct {
return Vector2{ .x = x, .y = y }; return Vector2{ .x = x, .y = y };
} }
pub fn initVec(vec: @Vector(2, f32)) Vector2 {
return Vector2{ .x = vec[0], .y = vec[1] };
}
/// Vector with components value 0.0 /// Vector with components value 0.0
pub fn zero() Vector2 { pub fn zero() Vector2 {
return math.vector2Zero(); return math.vector2Zero();
@ -215,6 +219,10 @@ pub const Vector3 = extern struct {
return Vector3{ .x = x, .y = y, .z = z }; return Vector3{ .x = x, .y = y, .z = z };
} }
pub fn initVec(vec: @Vector(3, f32)) Vector3 {
return Vector3{ .x = vec[0], .y = vec[1], .z = vec[2] };
}
// Vector with components value 0.0 // Vector with components value 0.0
pub fn zero() Vector3 { pub fn zero() Vector3 {
return math.vector3Zero(); return math.vector3Zero();
@ -429,6 +437,10 @@ pub const Vector4 = extern struct {
return Vector4{ .x = x, .y = y, .z = z, .w = w }; return Vector4{ .x = x, .y = y, .z = z, .w = w };
} }
pub fn initVec(vec: @Vector(4, f32)) Vector4 {
return Vector4{ .x = vec[0], .y = vec[1], .z = vec[2], .w = vec[2] };
}
/// Vector with components value 0.0 /// Vector with components value 0.0
pub fn zero() Vector4 { pub fn zero() Vector4 {
return math.vector4Zero(); return math.vector4Zero();