X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_skate.c;h=847f7f5bc6399335eb0f0f131bc3a4de67d7d9a1;hb=f3a2490079baf440238b78e54f4476649eddbda2;hp=098ce8ad42d1fe26e1bc138e3b193b5318f53278;hpb=56f320d8ce6e8997370ec8e02fe50ca2d07b67f0;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_skate.c b/player_skate.c index 098ce8a..847f7f5 100644 --- a/player_skate.c +++ b/player_skate.c @@ -2219,11 +2219,12 @@ begin_collision:; } skate_integrate( player ); - vg_line_pt3( s->state.cog, 0.02f, VG__WHITE ); + vg_line_pt3( s->state.cog, 0.02f, VG__WHITE ); - teleport_gate *gate; - if( (gate = world_intersect_gates(world, player->rb.co, s->state.prev_pos)) ) + struct gate_hit hit; + if( world_intersect_gates(world, player->rb.co, s->state.prev_pos, &hit) ) { + teleport_gate *gate = hit.gate; m4x3_mulv( gate->transport, player->rb.co, player->rb.co ); m3x3_mulv( gate->transport, player->rb.v, player->rb.v ); m4x3_mulv( gate->transport, s->state.cog, s->state.cog ); @@ -2239,7 +2240,7 @@ begin_collision:; rb_update_transform( &player->rb ); s->state_gate_storage = s->state; - player__pass_gate( player, gate ); + player__pass_gate( player, &hit ); } }