--- /dev/null
+#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 );
+}