X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=gate.h;h=c3f922967cba1a015584019bc7ce67c138669e3d;hb=ba5f879f85b9cab1e2b37241399d79709fe4f584;hp=a370d81dde091a61c7c0f34235a158af48df33ef;hpb=9c85e110fa8b965195438d96625ff9753af362a6;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/gate.h b/gate.h index a370d81..c3f9229 100644 --- a/gate.h +++ b/gate.h @@ -1,8 +1,7 @@ #ifndef GATE_H #define GATE_H -#define VG_3D -#include "vg/vg.h" +#include "common.h" #include "model.h" #include "render.h" #include "shaders/gate.h" @@ -72,7 +71,7 @@ static void gate_fb_resize(void) fb_resize( &grender.fb ); } -static void render_gate( teleport_gate *gate, m4x3f camera ) +static int render_gate( teleport_gate *gate, m4x3f camera ) { v3f viewpos, viewdir, gatedir; v3_copy( camera[3], viewpos ); @@ -82,10 +81,10 @@ static void render_gate( teleport_gate *gate, m4x3f camera ) v3f v0; v3_sub( viewpos, gate->co[0], v0 ); if( v3_dot(v0, gatedir) >= 0.0f ) - return; + return 0; if( v3_dist( viewpos, gate->co[0] ) > 100.0f ) - return; + return 0; v3f a,b,c,d; @@ -214,6 +213,8 @@ static void render_gate( teleport_gate *gate, m4x3f camera ) glStencilFunc( GL_ALWAYS, 1, 0xFF ); glDisable( GL_STENCIL_TEST ); } + + return 1; } static int gate_intersect( teleport_gate *gate, v3f pos, v3f last ) @@ -232,7 +233,7 @@ static int gate_intersect( teleport_gate *gate, v3f pos, v3f last ) float d = v3_dot(surface, v0); - if( fabsf(d) > 0.00001f ) + if( d > 0.00001f ) { float t = v3_dot(delta, surface) / d; if( t >= 0.0f && t <= l )