base: cleanup

This commit is contained in:
luboslenco
2026-06-05 14:48:18 +02:00
parent caa6e0ba55
commit 23ab6de6dd
5 changed files with 42 additions and 1 deletions
+1 -1
View File
@@ -161,7 +161,7 @@ else {
}
if (flags.with_physics) {
project.add_define("arm_physics");
project.add_define("WITH_PHYSICS");
project.add_cfiles("sources/libs/asim.c");
}
+28
View File
@@ -671,3 +671,31 @@ uint8_t half_to_u8_fast(uint16_t h) {
uint32_t res = (val * 255) >> shift;
return (uint8_t)res;
}
buffer_t *buffer_half_to_u8(buffer_t *buffer) {
for (int32_t i = 0; i < buffer->length / 2.0; ++i) {
buffer->buffer[i] = half_to_u8_fast(buffer_get_u16(buffer, i * 2));
}
return buffer;
}
buffer_t *buffer_bgra_swap(buffer_t *buffer) {
for (uint32_t i = 0; i < buffer->length / 4; ++i) {
uint8_t r = buffer->buffer[i * 4];
buffer->buffer[i * 4] = buffer->buffer[i * 4 + 2];
buffer->buffer[i * 4 + 2] = r;
}
return buffer;
}
buffer_t *buffer_bgra64_swap(buffer_t *buffer) {
for (uint32_t i = 0; i < buffer->length / 8; ++i) {
uint8_t r_low = buffer->buffer[i * 8 + 4];
uint8_t r_high = buffer->buffer[i * 8 + 5];
buffer->buffer[i * 8 + 4] = buffer->buffer[i * 8 + 0];
buffer->buffer[i * 8 + 5] = buffer->buffer[i * 8 + 1];
buffer->buffer[i * 8] = r_low;
buffer->buffer[i * 8 + 1] = r_high;
}
return buffer;
}
+3
View File
@@ -151,3 +151,6 @@ any_array_t *any_array_create_from_raw(void **raw, uint32_t length);
string_array_t *string_array_create(uint32_t length);
uint16_t float_to_half_fast(float value);
uint8_t half_to_u8_fast(uint16_t h);
buffer_t *buffer_half_to_u8(buffer_t *buffer);
buffer_t *buffer_bgra_swap(buffer_t *buffer);
buffer_t *buffer_bgra64_swap(buffer_t *buffer);
+8
View File
@@ -135,6 +135,14 @@ bool vec2_isnan(vec2_t v) {
// ╚████╔╝ ███████╗╚██████╗ ██║
// ╚═══╝ ╚══════╝ ╚═════╝ ╚═╝
f32_array_t *vec3_to_f32_array(vec4_t v) {
f32_array_t *res = f32_array_create(3);
res->buffer[0] = v.x;
res->buffer[1] = v.y;
res->buffer[2] = v.z;
return res;
}
vec4_t vec4_cross(vec4_t a, vec4_t b) {
vec4_t v;
v.x = a.y * b.z - a.z * b.y;
+2
View File
@@ -86,6 +86,8 @@ float vec2_dot(vec2_t a, vec2_t b);
vec2_t vec2_nan();
bool vec2_isnan(vec2_t v);
f32_array_t *vec3_to_f32_array(vec4_t v);
vec4_t vec4_cross(vec4_t a, vec4_t b);
vec4_t vec4_add(vec4_t a, vec4_t b);
vec4_t vec4_fadd(vec4_t a, float x, float y, float z, float w);