From f8b92ce3aa08b1445c9f956d8166830946562d12 Mon Sep 17 00:00:00 2001 From: navewindre Date: Wed, 3 Sep 2025 20:10:09 +0200 Subject: a --- src/game/world/trace.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/game/world/trace.h (limited to 'src/game/world/trace.h') diff --git a/src/game/world/trace.h b/src/game/world/trace.h new file mode 100644 index 0000000..8a0f4eb --- /dev/null +++ b/src/game/world/trace.h @@ -0,0 +1,29 @@ +#pragma once + +#include "bsp.h" +#include "../../util/aabb.h" + +// quake uses 1 / 32 +const F32 BSP_TRACE_EPSILON = 1.f / 64.f; + +struct BSP_TRACE { + VEC3 in_start; + VEC3 in_end; + + U8 hit; + F32 frac; + VEC3 point; + VEC3 normal; + U32 propid; + I32 leafid; + U32 faceid; +}; + +extern U8 bsp_trace( BSP_TRACE* trace, BSP* bsp ); +extern U8 bsp_trace( BSP_TRACE* trace, BSP* bsp, VEC3 start, VEC3 end ); + +extern U8 bsp_trace( BSP_TRACE* trace, BSP* bsp, AABB aabb ); +extern U8 bsp_trace( BSP_TRACE* trace, BSP* bsp, AABB aabb, VEC3 start, VEC3 end ); + +extern U8 bsp_trace( BSP_TRACE* trace ); +extern U8 bsp_trace( BSP_TRACE* trace, VEC3 start, VEC3 end ); -- cgit v1.2.3