some gate improvements
[carveJwlIkooP6JGAAIwe30JlM.git] / world_routes.c
index d2816d111ba4a4a45ddb4dbb26224911b734ac01..44d055b1686409fa68015036d5993f194ce29028 100644 (file)
@@ -133,7 +133,7 @@ VG_STATIC void world_routes_activate_entry_gate( world_instance *world,
    world_static.last_use = world_static.time;
 
    /* disable all routes and leave the world */
-   if( rg->type == k_gate_type_nonlocel ){
+   if( rg->flags & k_ent_gate_nonlocal ){
       for( u32 i=0; i<mdl_arrcount(&world->ent_route); i++ ){
          ent_route *route = mdl_arritm( &world->ent_route, i );
          route->active_checkpoint = 0xffff;
@@ -912,7 +912,8 @@ VG_STATIC void world_gen_routes_ent_init(void)
             }
          }
 
-         if( gate->type == k_gate_type_teleport ){
+         if( (gate->flags & k_ent_gate_linked) &
+            !(gate->flags & k_ent_gate_nonlocal) ){
             gate = mdl_arritm(&world->ent_gate, gate->target );
 
             for( u32 k=0; k<4; k++ ){