if( other->status != k_world_status_loaded ) continue;
vg_info( "Checking world %u for key matches\n", i );
- for( u32 j=0; j<mdl_arrcount( &other->ent_gate ); j++ ){
- ent_gate *gate2 = mdl_arritm( &other->ent_gate, j );
+ for( u32 k=0; k<mdl_arrcount( &other->ent_gate ); k++ ){
+ ent_gate *gate2 = mdl_arritm( &other->ent_gate, k );
if( !(gate2->flags & k_ent_gate_nonlocal) ) continue;
if( gate2->flags & k_ent_gate_linked ) continue;
v4_copy( gate->q[0], gate2->q[1] );
v4_copy( gate2->q[0], gate->q[1] );
- if( world->meta.info.version >= 102 ){
- gate->flags |= k_ent_gate_flip;
- gate2->flags |= k_ent_gate_flip;
- }
- else {
+ if( world->meta.info.version < 102 ){
/* LEGACY BEHAVIOUR: v101
* this would flip both the client worlds portal's entrance and
* exit. effectively the clients portal would be the opposite
q_axis_angle( qflip, (v3f){0.0f,1.0f,0.0f}, VG_PIf );
q_mul( gate->q[0], qflip, gate->q[0] );
q_mul( gate->q[1], qflip, gate->q[1] );
+ q_mul( gate2->q[1], qflip, gate2->q[1] );
}
gate_transform_update( gate );
goto matched;
}
- }
-matched:;
+ } matched:;
}
}