X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=world_gate.h;h=151e428ff7be1172dd9d761572ac2cc097a91f33;hb=e311bbe2fa903a7e2a922f202f389b799193195d;hp=4defb75ac198ee07d5fe398d75af61a6f6292f4e;hpb=342fcbf6fda017bdd38d56ce0fa7c9e59e589f3b;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/world_gate.h b/world_gate.h index 4defb75..151e428 100644 --- a/world_gate.h +++ b/world_gate.h @@ -5,25 +5,33 @@ #ifndef WORLD_GATE_H #define WORLD_GATE_H +#include "camera.h" #include "world.h" #include "shaders/model_gate.h" struct world_gates{ glmesh mesh; mdl_submesh sm_surface, sm_marker[4]; + camera cam; + + v3f userportal_co; } static world_gates; -VG_STATIC void world_gates_init(void); -VG_STATIC void gate_transform_update( ent_gate *gate ); -VG_STATIC void world_link_nonlocal_async( void *payload, u32 size ); -VG_STATIC void world_unlink_nonlocal( world_instance *world ); -VG_STATIC int render_gate( world_instance *world_inside, - ent_gate *gate, camera *cam, int layer_depth ); +static void world_gates_init(void); +static void gate_transform_update( ent_gate *gate ); +static int render_gate( world_instance *world, world_instance *world_inside, + ent_gate *gate, camera *cam ); + +static int gate_intersect( ent_gate *gate, v3f pos, v3f last ); +static u32 world_intersect_gates( world_instance *world, v3f pos, v3f last ); -VG_STATIC int gate_intersect( ent_gate *gate, v3f pos, v3f last ); -VG_STATIC ent_gate *world_intersect_gates( world_instance *world, - v3f pos, v3f last ); +static void ent_gate_call( world_instance *world, ent_call *call ); +static void ent_gate_get_mdl_mtx( ent_gate *gate, m4x3f mmdl ); +static void world_link_nonlocal_async( void *payload, u32 size ); +static void world_unlink_nonlocal( world_instance *world ); +static void render_gate_unlinked( world_instance *world, + ent_gate *gate, camera *cam ); #endif /* WORLD_GATE_H */