From 2c265f0e1dac36be0d0b3fa08ef36f2b10ddd2a4 Mon Sep 17 00:00:00 2001 From: Ben Visness Date: Mon, 22 Aug 2016 19:00:04 -0500 Subject: [PATCH] Add missing headers for operators And flip the order of those two other operators, because having vec2 after vec3 was bugging me. --- HandmadeMath.h | 40 ++++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-) 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) {