X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;ds=sidebyside;f=entity.c;h=ffb5deed5d9c0c9e905e1c39335b80c8173e04fe;hb=HEAD;hp=44b00df235f0f1d9e8ddc4d60f17390abd109c32;hpb=14267d2fb3d228060aef8e4de729254813ec245f;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/entity.c b/entity.c deleted file mode 100644 index 44b00df..0000000 --- a/entity.c +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef ENTITY_C -#define ENTITY_C - -#include "world.h" -#include "entity.h" -#include "world_entity.h" - -#include "ent_skateshop.c" -#include "ent_objective.c" -#include "ent_challenge.c" -#include "ent_relay.c" -#include "ent_route.c" -#include "ent_portal.c" -#include "ent_miniworld.c" -#include "ent_region.c" -#include "ent_traffic.c" - -typedef void (*fn_entity_call_handler)( world_instance *, ent_call *); - -static void entity_call( world_instance *world, ent_call *call ){ - u32 type = mdl_entity_id_type( call->id ); - - fn_entity_call_handler table[] = { - [k_ent_volume] = ent_volume_call, - [k_ent_audio] = ent_audio_call, - [k_ent_skateshop] = ent_skateshop_call, - [k_ent_objective] = ent_objective_call, - [k_ent_ccmd] = ent_ccmd_call, - [k_ent_gate] = ent_gate_call, - [k_ent_relay] = ent_relay_call, - [k_ent_challenge] = ent_challenge_call, - [k_ent_route] = ent_route_call, - [k_ent_miniworld] = ent_miniworld_call, - [k_ent_region] = ent_region_call - }; - - if( type >= vg_list_size(table) ){ - vg_error( "call to entity type: %u is out of range\n", type ); - return; - } - - fn_entity_call_handler fn = table[ type ]; - - if( !fn ){ - vg_error( "call to entity type: %u is undefined\n", type ); - return; - } - - fn( world, call ); -} - -#endif /* ENTITY_C */