diff --git a/HandmadeMath.h b/HandmadeMath.h index 5b5add5..edfef4c 100644 --- a/HandmadeMath.h +++ b/HandmadeMath.h @@ -408,8 +408,8 @@ HMMDEF hmm_vec3 operator*(hmm_vec3 Left, hmm_vec3 Right); HMMDEF hmm_vec4 operator*(hmm_vec4 Left, hmm_vec4 Right); HMMDEF hmm_mat4 operator*(hmm_mat4 Left, hmm_mat4 Right); -HMMDEF hmm_vec3 operator*(hmm_vec3 Left, float Right); HMMDEF hmm_vec2 operator*(hmm_vec2 Left, float Right); +HMMDEF hmm_vec3 operator*(hmm_vec3 Left, float Right); HMMDEF hmm_vec4 operator*(hmm_mat4 Matrix, hmm_vec4 Vector); @@ -417,6 +417,22 @@ HMMDEF hmm_vec2 operator/(hmm_vec2 Left, hmm_vec2 Right); HMMDEF hmm_vec3 operator/(hmm_vec3 Left, hmm_vec3 Right); HMMDEF hmm_vec4 operator/(hmm_vec4 Left, hmm_vec4 Right); +HMMDEF hmm_vec2 & operator+=(hmm_vec2 &Left, hmm_vec2 Right); +HMMDEF hmm_vec3 & operator+=(hmm_vec3 &Left, hmm_vec3 Right); +HMMDEF hmm_vec4 & operator+=(hmm_vec4 &Left, hmm_vec4 Right); + +HMMDEF hmm_vec2 & operator-=(hmm_vec2 &Left, hmm_vec2 Right); +HMMDEF hmm_vec3 & operator-=(hmm_vec3 &Left, hmm_vec3 Right); +HMMDEF hmm_vec4 & operator-=(hmm_vec4 &Left, hmm_vec4 Right); + +HMMDEF hmm_vec2 & operator*=(hmm_vec2 &Left, hmm_vec2 Right); +HMMDEF hmm_vec3 & operator*=(hmm_vec3 &Left, hmm_vec3 Right); +HMMDEF hmm_vec4 & operator*=(hmm_vec4 &Left, hmm_vec4 Right); + +HMMDEF hmm_vec2 & operator/=(hmm_vec2 &Left, hmm_vec2 Right); +HMMDEF hmm_vec3 & operator/=(hmm_vec3 &Left, hmm_vec3 Right); +HMMDEF hmm_vec4 & operator/=(hmm_vec4 &Left, hmm_vec4 Right); + #endif /* HANDMADE_MATH_CPP */ #endif /* HANDMADE_MATH_H */ @@ -1219,6 +1235,17 @@ operator*(hmm_vec3 Left, hmm_vec3 Right) return (Result); } +HINLINE hmm_vec2 +operator*(hmm_vec2 Left, float Right) +{ + hmm_vec2 Result; + + Result.X = Right * Left.X; + Result.Y = Right * Left.Y; + + return (Result); +} + HINLINE hmm_vec3 operator*(hmm_vec3 Left, float Right) { @@ -1231,17 +1258,6 @@ operator*(hmm_vec3 Left, float Right) return (Result); } -HINLINE hmm_vec2 -operator*(hmm_vec2 Left, float Right) -{ - hmm_vec2 Result; - - Result.X = Right * Left.X; - Result.Y = Right * Left.Y; - - return (Result); -} - HINLINE hmm_vec4 operator*(hmm_vec4 Left, hmm_vec4 Right) {