- else if( pnode->classtype == k_classtype_gate )
- {
- struct classtype_gate *entgate = mdl_get_entdata( mworld, pnode );
-
- if( entgate->target )
- {
- mdl_node *pother = mdl_node_from_id( mworld, entgate->target );
-
- teleport_gate *gate = &world.gates[ world.gate_count ++ ];
-
- v3_copy( pnode->co, gate->co[0] );
- v3_copy( pother->co, gate->co[1] );
- v4_copy( pnode->q, gate->q[0] );
- v4_copy( pother->q, gate->q[1] );
- v2_copy( pnode->s, gate->dims );
-
- gate_transform_update( gate );
- }
- }
- else if( pnode->classtype == k_classtype_block )
- {
- struct classtype_block *block = mdl_get_entdata( mworld, pnode );
-
- m4x3f transform;
- mdl_node_transform( pnode, transform );
-
- rigidbody *rb = &world.temp_rbs[ world.rb_count ++ ];
-
- box_copy( block->bbx, rb->bbx ); /* TODO: apply scale */
- v3_copy( pnode->co, rb->co );
- rb_init( rb );
- v4_copy( pnode->q, rb->q );
- rb_update_transform( rb );
- }