From 5e1276d68aa1ab5cbc98e0bc46293bc35f611cde Mon Sep 17 00:00:00 2001 From: NishiOwO Date: Thu, 3 Apr 2025 19:44:41 +0900 Subject: [PATCH] make vector array --- engine/nb_core.c | 1 - engine/nb_draw.c | 3 --- engine/nb_log.c | 2 -- engine/nb_math.c | 7 ++++--- engine/nb_math.h | 4 ++-- engine/nb_type/math.h | 4 ++-- engine/nb_type/version.h | 2 +- 7 files changed, 9 insertions(+), 14 deletions(-) diff --git a/engine/nb_core.c b/engine/nb_core.c index dea678b..dbe936e 100644 --- a/engine/nb_core.c +++ b/engine/nb_core.c @@ -3,7 +3,6 @@ #include "nb_pre.h" /* External library */ -#include #ifdef _WIN32 #include #endif diff --git a/engine/nb_draw.c b/engine/nb_draw.c index 081ac6c..eea6858 100644 --- a/engine/nb_draw.c +++ b/engine/nb_draw.c @@ -36,18 +36,15 @@ nb_draw_t* nb_draw_create(void) { nb_draw_reshape(draw); draw->running = 1; - draw->light = malloc(sizeof(*draw->light) * 4); draw->light[0] = 10.0; draw->light[1] = 10.0; draw->light[2] = 0.0; draw->light[3] = 1.0; - draw->camera = malloc(sizeof(*draw->camera) * 3); draw->camera[0] = 0; draw->camera[1] = 10; draw->camera[2] = 0; - draw->lookat = malloc(sizeof(*draw->lookat) * 3); draw->lookat[0] = 0; draw->lookat[1] = 0; draw->lookat[2] = 0; diff --git a/engine/nb_log.c b/engine/nb_log.c index eed4cbb..f9e40ea 100644 --- a/engine/nb_log.c +++ b/engine/nb_log.c @@ -1,5 +1,3 @@ -#define NB_LOG_EXPOSE - #include "nb_pre.h" /* External library */ diff --git a/engine/nb_math.c b/engine/nb_math.c index ac1c9f4..f041994 100644 --- a/engine/nb_math.c +++ b/engine/nb_math.c @@ -9,15 +9,16 @@ /* NishBox */ /* Standard */ +#include #include #include float nb_log2(float x) { return log(x) / log(2); } -nb_vector_t nb_calculate_normal(nb_vector_t v0, nb_vector_t v1, nb_vector_t v2) { +void nb_calculate_normal(nb_vector_t* r, nb_vector_t v0, nb_vector_t v1, nb_vector_t v2) { int i; dReal length; - nb_vector_t vec = malloc(sizeof(*vec) * 3); + nb_vector_t vec; dReal res[3]; dReal tmp0[3]; dReal tmp1[3]; @@ -41,5 +42,5 @@ nb_vector_t nb_calculate_normal(nb_vector_t v0, nb_vector_t v1, nb_vector_t v2) vec[1] /= length; vec[2] /= length; - return vec; + memcpy(*r, vec, sizeof(vec)); } diff --git a/engine/nb_math.h b/engine/nb_math.h index 8d5ab05..645d9fa 100644 --- a/engine/nb_math.h +++ b/engine/nb_math.h @@ -16,7 +16,7 @@ to[1] = from[1]; \ to[2] = from[2] -float nb_log2(float x); -nb_vector_t nb_calculate_normal(nb_vector_t v0, nb_vector_t v1, nb_vector_t v2); +float nb_log2(float x); +void nb_calculate_normal(nb_vector_t* r, nb_vector_t v0, nb_vector_t v1, nb_vector_t v2); #endif diff --git a/engine/nb_type/math.h b/engine/nb_type/math.h index 54d3c1e..e6f13b2 100644 --- a/engine/nb_type/math.h +++ b/engine/nb_type/math.h @@ -11,9 +11,9 @@ /* Standard */ -typedef double* nb_vector_t; +typedef double nb_vector_t[4]; #else -typedef void* nb_vector_t; +#error "should not happen!" #endif #endif diff --git a/engine/nb_type/version.h b/engine/nb_type/version.h index 04d7b77..73ff373 100644 --- a/engine/nb_type/version.h +++ b/engine/nb_type/version.h @@ -19,7 +19,7 @@ NB_DECLARE_TYPE(version, { char opengl[32]; }); #else -typedef void nb_version_t; +#error "should not happen!" #endif #endif