X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=ent_miniworld.c;fp=ent_miniworld.c;h=414b2f61bfb053dde4dbe1fdd21aafc39197f842;hb=2c91a71533b4ce86b9e7fd708420ae05c74d8f52;hp=0000000000000000000000000000000000000000;hpb=d27f8a570e5cfad1974b4be303888e17ff846406;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/ent_miniworld.c b/ent_miniworld.c new file mode 100644 index 0000000..414b2f6 --- /dev/null +++ b/ent_miniworld.c @@ -0,0 +1,36 @@ +#include "entity.h" +#include "ent_miniworld.h" +#include "world_render.h" + +static void ent_miniworld_call( world_instance *world, ent_call *call ){ + ent_miniworld *miniworld = mdl_arritm( &world->ent_miniworld, + mdl_entity_id_id(call->id) ); + + int world_id = world - world_static.instances; + + if( call->function == 0 ){ /* zone() */ + const char *uid = mdl_pstr( &world->meta, miniworld->pstr_world ); + skaterift_load_world_command( 1, (const char *[]){ uid } ); + + global_miniworld.active_id = call->id; + } +} + +static void ent_miniworld_render( world_instance *host_world ){ + u32 entity_id = global_miniworld.active_id; + + if( !entity_id ) + return; + + ent_miniworld *miniworld = mdl_arritm( &host_world->ent_miniworld, + mdl_entity_id_id(entity_id) ); + + if( miniworld->purpose == k_world_purpose_invalid ) + return; + + m4x3f mmdl; + mdl_transform_m4x3( &miniworld->transform, mmdl ); + render_world_override( &world_static.instances[miniworld->purpose], mmdl ); + + //render_world_routes( , &skaterift.cam, 1 ); +}