switch to entity list
[carveJwlIkooP6JGAAIwe30JlM.git] / world_entity.h
1 #ifndef WORLD_ENTITY_H
2 #define WORLD_ENTITY_H
3
4 #include "world.h"
5 #include "entity.h"
6 #include "bvh.h"
7
8 VG_STATIC void world_gen_entities_init(void);
9 VG_STATIC ent_spawn *world_find_spawn_by_name( world_instance *world,
10 const char *name );
11 VG_STATIC ent_spawn *world_find_closest_spawn( world_instance *world,
12 v3f position );
13
14 VG_STATIC void ent_volume_call( world_instance *world, ent_call *call );
15 VG_STATIC void ent_audio_call( world_instance *world, ent_call *call );
16 VG_STATIC void ent_ccmd_call( world_instance *world, ent_call *call );
17
18 VG_STATIC void entity_bh_expand_bound( void *user, boxf bound, u32 item_index );
19 VG_STATIC float entity_bh_centroid( void *user, u32 item_index, int axis );
20 VG_STATIC void entity_bh_swap( void *user, u32 ia, u32 ib );
21 VG_STATIC void entity_bh_debug( void *user, u32 item_index );
22
23 static bh_system bh_system_entity_list = {
24 .expand_bound = entity_bh_expand_bound,
25 .item_centroid = entity_bh_centroid,
26 .item_closest = NULL,
27 .item_swap = entity_bh_swap,
28 .item_debug = entity_bh_debug,
29 .cast_ray = NULL
30 };
31
32 #endif /* WORLD_ENTITY_H */