blob: d04ed6b1418b70a7dd34d66c21372f387e91dd33 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#pragma once
#include "bsp.h"
#include "../../util/aabb.h"
// quake uses 1 / 32
const F32 BSP_TRACE_EPSILON = 1.f / 64.f;
const F32 BSP_EDGE_TOLERANCE = 1.f / 16.f;
struct BSP_TRACE {
VEC3 in_start;
VEC3 in_end;
U8 hit;
F32 frac;
VEC3 point;
VEC3 normal;
U32 propid;
I32 leafid;
U32 faceid;
U8 startsolid;
};
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 );
|