review activity switching
[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 "camera.h"
9 #include "world.h"
10 #include "shaders/model_gate.h"
11
12 struct world_gates{
13 glmesh mesh;
14 mdl_submesh sm_surface, sm_marker[4];
15 camera cam;
16 }
17 static world_gates;
18
19 VG_STATIC void world_gates_init(void);
20 VG_STATIC void gate_transform_update( ent_gate *gate );
21 VG_STATIC void world_link_nonlocal_async( void *payload, u32 size );
22 VG_STATIC void world_unlink_nonlocal( world_instance *world );
23 VG_STATIC int render_gate( world_instance *world_inside,
24 ent_gate *gate, camera *cam, int layer_depth );
25
26 VG_STATIC int gate_intersect( ent_gate *gate, v3f pos, v3f last );
27 VG_STATIC ent_gate *world_intersect_gates( world_instance *world,
28 v3f pos, v3f last );
29
30
31 #endif /* WORLD_GATE_H */