mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-03-22 10:52:23 +00:00
Limit climb camera rotation to a 180 degree cone
This commit is contained in:
parent
c71213155d
commit
0836062edd
1 changed files with 17 additions and 4 deletions
21
src/p_user.c
21
src/p_user.c
|
@ -3498,13 +3498,26 @@ static void P_DoClimbing(player_t *player)
|
|||
P_Thrust(player->mo, player->mo->angle, FixedMul(-4*FRACUNIT, player->mo->scale));
|
||||
}
|
||||
|
||||
/*if (!demoplayback || P_AnalogMove(player))
|
||||
#define CLIMBCONEMAX FixedAngle(90*FRACUNIT)
|
||||
if (!demoplayback || P_AnalogMove(player))
|
||||
{
|
||||
if (player == &players[consoleplayer])
|
||||
localangle = player->mo->angle;
|
||||
{
|
||||
angle_t angdiff = localangle - player->mo->angle;
|
||||
if (angdiff < ANGLE_180 && angdiff > CLIMBCONEMAX)
|
||||
localangle = player->mo->angle + CLIMBCONEMAX;
|
||||
else if (angdiff > ANGLE_180 && angdiff < InvAngle(CLIMBCONEMAX))
|
||||
localangle = player->mo->angle - CLIMBCONEMAX;
|
||||
}
|
||||
else if (player == &players[secondarydisplayplayer])
|
||||
localangle2 = player->mo->angle;
|
||||
}*/
|
||||
{
|
||||
angle_t angdiff = localangle2 - player->mo->angle;
|
||||
if (angdiff < ANGLE_180 && angdiff > CLIMBCONEMAX)
|
||||
localangle2 = player->mo->angle + CLIMBCONEMAX;
|
||||
else if (angdiff > ANGLE_180 && angdiff < InvAngle(CLIMBCONEMAX))
|
||||
localangle2 = player->mo->angle - CLIMBCONEMAX;
|
||||
}
|
||||
}
|
||||
|
||||
if (player->climbing == 0)
|
||||
P_SetPlayerMobjState(player->mo, S_PLAY_JUMP);
|
||||
|
|
Loading…
Reference in a new issue