From 4249023d33a37bb05fd9e0898b772db7c6be56c4 Mon Sep 17 00:00:00 2001 From: Camden Dixie O'Brien Date: Tue, 30 Sep 2025 14:42:14 +0100 Subject: [PATCH] Add mat4_t casts to matrix macros --- linear_alg.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/linear_alg.h b/linear_alg.h index 9c92d3f..6d1679f 100644 --- a/linear_alg.h +++ b/linear_alg.h @@ -15,8 +15,9 @@ typedef struct { vec4_t x, y, z, w; } mat4_t; +// clang-format off #define MAT4_ID \ - { \ + (mat4_t) { \ { 1, 0, 0, 0 }, \ { 0, 1, 0, 0 }, \ { 0, 0, 1, 0 }, \ @@ -24,7 +25,7 @@ typedef struct { } #define MAT4_SCALE(sf) \ - { \ + (mat4_t) { \ { sf, 0, 0, 0 }, \ { 0, sf, 0, 0 }, \ { 0, 0, sf, 0 }, \ @@ -32,7 +33,7 @@ typedef struct { } #define MAT4_TRANSLATE(x, y, z) \ - { \ + (mat4_t) { \ { 1, 0, 0, 0 }, \ { 0, 1, 0, 0 }, \ { 0, 0, 1, 0 }, \ @@ -40,7 +41,7 @@ typedef struct { } #define MAT4_ROTATE_X(a) \ - { \ + (mat4_t) { \ { 1, 0, 0, 0 }, \ { 0, cosf(a), sinf(a), 0 }, \ { 0, -sinf(a), cosf(a), 0 }, \ @@ -48,7 +49,7 @@ typedef struct { } #define MAT4_ROTATE_Y(a) \ - { \ + (mat4_t) { \ { cosf(a), 0, -sinf(a), 0 }, \ { 0, 1, 0, 0 }, \ { sinf(a), 0, cosf(a), 0 }, \ @@ -56,12 +57,13 @@ typedef struct { } #define MAT4_ROTATE_Z(a) \ - { \ + (mat4_t) { \ { cosf(a), sinf(a), 0, 0 }, \ { -sinf(a), cosf(a), 0, 0 }, \ { 0, 0, 1, 0 }, \ { 0, 0, 0, 1 }, \ } +// clang-format on vec3_t vec3_sub(vec3_t v, vec3_t u); float vec3_len(vec3_t v);