trail rendering basics
[carveJwlIkooP6JGAAIwe30JlM.git] / ent_relay.c
1 #ifndef ENT_RELAY_C
2 #define ENT_RELAY_C
3
4 #include "entity.h"
5
6 static void ent_relay_call( world_instance *world, ent_call *call ){
7 u32 index = mdl_entity_id_id( call->id );
8 ent_relay *relay = mdl_arritm( &world->ent_relay, index );
9
10 if( call->function == 0 ){
11 for( u32 i=0; i<vg_list_size(relay->targets); i++ ){
12 if( relay->targets[i][0] ){
13 ent_call call;
14 call.data = NULL;
15 call.function = relay->targets[i][1];
16 call.id = relay->targets[i][0];
17 entity_call( world, &call );
18 }
19 }
20 }
21 else {
22 vg_print_backtrace();
23 vg_error( "Unhandled function id: %u\n", call->function );
24 }
25 }
26
27 #endif /* ENT_RELAY_C */