X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;ds=sidebyside;f=world_entity.h;h=c3af72a398d4e717bf986e81322aa9555645df73;hb=5bfb36032928ba9f8d12e72961af68bfab9ea648;hp=3baaa2385a591aac82a822e3ff719af234ee4e59;hpb=7eba38b8178c82040618a518634d8ff4813e2ff2;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/world_entity.h b/world_entity.h index 3baaa23..c3af72a 100644 --- a/world_entity.h +++ b/world_entity.h @@ -4,12 +4,16 @@ #include "world.h" #include "entity.h" #include "bvh.h" +#include "save.h" +#include "vg/vg_msg.h" -VG_STATIC void world_gen_entities_init(void); +VG_STATIC void world_gen_entities_init( world_instance *world ); VG_STATIC ent_spawn *world_find_spawn_by_name( world_instance *world, const char *name ); VG_STATIC ent_spawn *world_find_closest_spawn( world_instance *world, v3f position ); +VG_STATIC void world_entity_start( world_instance *world, vg_msg *sav ); +VG_STATIC void world_entity_serialize( world_instance *world, vg_msg *sav ); VG_STATIC void ent_volume_call( world_instance *world, ent_call *call ); VG_STATIC void ent_audio_call( world_instance *world, ent_call *call ); @@ -19,11 +23,13 @@ VG_STATIC void entity_bh_expand_bound( void *user, boxf bound, u32 item_index ); VG_STATIC float entity_bh_centroid( void *user, u32 item_index, int axis ); VG_STATIC void entity_bh_swap( void *user, u32 ia, u32 ib ); VG_STATIC void entity_bh_debug( void *user, u32 item_index ); +VG_STATIC void entity_bh_closest( void *user, u32 item_index, v3f point, + v3f closest ); static bh_system bh_system_entity_list = { .expand_bound = entity_bh_expand_bound, .item_centroid = entity_bh_centroid, - .item_closest = NULL, + .item_closest = entity_bh_closest, .item_swap = entity_bh_swap, .item_debug = entity_bh_debug, .cast_ray = NULL