diff --git a/src/doomdef.h b/src/doomdef.h index a35f3291..0791e07e 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -140,7 +140,7 @@ extern FILE *logstream; #endif -//#define DEVELOP // Disable this for release builds to remove excessive cheat commands and enable MD5 checking and stuff, all in one go. :3 +#define DEVELOP // Disable this for release builds to remove excessive cheat commands and enable MD5 checking and stuff, all in one go. :3 #ifdef DEVELOP #define VERSION 0 // Game version #define SUBVERSION 0 // more precise version number diff --git a/src/g_game.c b/src/g_game.c index 9b3ba2e8..c35d4c5d 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -1552,6 +1552,9 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer) else if (cmd->driftturn < (-angleturn[1] * realtics)) cmd->driftturn = (-angleturn[1] * realtics); + cmd->angleturn = FixedMul(cmd->angleturn, cv_cam2_dist.value/160); + + if (cv_playbackspeed.value == 1) if (player->mo) cmd->angleturn = K_GetKartTurnValue(player, cmd->angleturn); diff --git a/src/p_user.c b/src/p_user.c index 014110b7..65ec2547 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -6649,6 +6649,10 @@ static void P_MovePlayer(player_t *player) player->lturn_max[leveltime%MAXPREDICTTICS] = player->rturn_max[leveltime%MAXPREDICTTICS] = 0; } + if (cv_soniccd.value) + { + player->mo->angle = cmd->angleturn << 16; + } else if (leveltime >= starttime) { // KART: Don't directly apply angleturn! It may have been either A) forged by a malicious client, or B) not be a smooth turn due to a player dropping frames.