fix pool error
[carveJwlIkooP6JGAAIwe30JlM.git] / player_walk.c
index c43e7bffaac8e52d8e5290f5bcc616f0b380169d..ec025a17630e4e52bf2cb77d7982802ed4abdfd1 100644 (file)
@@ -617,9 +617,9 @@ static void player__walk_update(void){
       }
    }
 
-   ent_gate *gate = 
-      world_intersect_gates( world, localplayer.rb.co, w->state.prev_pos );
-   if( gate ){
+   u32 id = world_intersect_gates(world, localplayer.rb.co, w->state.prev_pos);
+   if( id ){
+      ent_gate *gate = mdl_arritm( &world->ent_gate, mdl_entity_id_id(id) );
       m4x3_mulv( gate->transport, localplayer.rb.co, localplayer.rb.co );
       m3x3_mulv( gate->transport, localplayer.rb.v,  localplayer.rb.v );
 
@@ -628,7 +628,7 @@ static void player__walk_update(void){
       q_mul( transport_rotation, localplayer.rb.q, localplayer.rb.q );
 
       rb_update_transform( &localplayer.rb );
-      player__pass_gate( gate );
+      player__pass_gate( id );
    }
    rb_update_transform( &localplayer.rb );
 }