global_miniworld.active_id = call->id;
}
+ else if( call->function == 1 ){
+
+ if( global_miniworld.active_id == call->id )
+ global_miniworld.active_id = 0;
+ else
+ vg_warn( "bad call\n" );
+
+ if( miniworld->proxy ){
+ ent_prop *prop = mdl_arritm( &world->ent_prop,
+ mdl_entity_id_id(miniworld->proxy) );
+ prop->flags &= ~0x1;
+ }
+ }
}
static void ent_miniworld_render( world_instance *host_world ){
ent_miniworld *miniworld = mdl_arritm( &host_world->ent_miniworld,
mdl_entity_id_id(entity_id) );
+ int rendering = 1;
if( miniworld->purpose == k_world_purpose_invalid )
+ rendering = 0;
+
+ if( miniworld->proxy ){
+ ent_prop *prop = mdl_arritm( &host_world->ent_prop,
+ mdl_entity_id_id(miniworld->proxy) );
+ if( !rendering )
+ prop->flags &= ~0x1;
+ else
+ prop->flags |= 0x1;
+ }
+
+ if( !rendering )
return;
+ world_instance *dest_world = &world_static.instances[miniworld->purpose];
+
+
m4x3f mmdl;
mdl_transform_m4x3( &miniworld->transform, mmdl );
- render_world_override( &world_static.instances[miniworld->purpose], mmdl );
+ render_world_override( dest_world, host_world, mmdl );
//render_world_routes( , &skaterift.cam, 1 );
}