the luxuries of a modern C compiler
[carveJwlIkooP6JGAAIwe30JlM.git] / world_gate.h
1 /*
2 * Copyright (C) 2021-2023 Mt.ZERO Software, Harry Godden - All Rights Reserved
3 */
4
5 #ifndef WORLD_GATE_H
6 #define WORLD_GATE_H
7
8 #include "world.h"
9 #include "shaders/model_gate.h"
10
11 struct world_gates{
12 glmesh mesh;
13 mdl_submesh sm_surface, sm_marker[4];
14 }
15 static world_gates;
16
17 VG_STATIC void world_gates_init(void);
18 VG_STATIC void gate_transform_update( ent_gate *gate );
19 VG_STATIC void world_link_nonlocal_async( void *payload, u32 size );
20 VG_STATIC void world_unlink_nonlocal( world_instance *world );
21 VG_STATIC int render_gate( world_instance *world_inside,
22 ent_gate *gate, camera *cam, int layer_depth );
23
24 VG_STATIC int gate_intersect( ent_gate *gate, v3f pos, v3f last );
25 VG_STATIC ent_gate *world_intersect_gates( world_instance *world,
26 v3f pos, v3f last );
27
28
29 #endif /* WORLD_GATE_H */