npcs and tutorial stuff
[carveJwlIkooP6JGAAIwe30JlM.git] / world_entity.h
1 #pragma once
2 #include "world.h"
3 #include "entity.h"
4 #include "vg/vg_bvh.h"
5 #include "vg/vg_msg.h"
6
7 void world_gen_entities_init( world_instance *world );
8 ent_spawn *world_find_spawn_by_name( world_instance *world,
9 const char *name );
10 ent_spawn *world_find_closest_spawn( world_instance *world,
11 v3f position );
12 void world_default_spawn_pos( world_instance *world, v3f pos );
13 void world_entity_start( world_instance *world, vg_msg *sav );
14 void world_entity_serialize( world_instance *world, vg_msg *sav );
15
16 void ent_volume_call( world_instance *world, ent_call *call );
17 void ent_audio_call( world_instance *world, ent_call *call );
18 void ent_ccmd_call( world_instance *world, ent_call *call );
19
20 void entity_bh_expand_bound( void *user, boxf bound, u32 item_index );
21 float entity_bh_centroid( void *user, u32 item_index, int axis );
22 void entity_bh_swap( void *user, u32 ia, u32 ib );
23 void entity_bh_debug( void *user, u32 item_index );
24 void entity_bh_closest( void *user, u32 item_index, v3f point,
25 v3f closest );
26
27 void world_entity_set_focus( u32 entity_id );
28 void world_entity_focus_modal(void);
29
30 void world_entity_exit_modal(void);
31 void world_entity_clear_focus(void);
32
33 void world_entity_focus_preupdate(void);
34 void world_entity_focus_render(void);
35 void world_entity_focus_camera( world_instance *world, u32 uid );
36 void update_ach_models(void);
37
38 extern bh_system bh_system_entity_list;