diff --git a/src/d_clisrv.c b/src/d_clisrv.c index eafc1283..840c20e9 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -3973,10 +3973,10 @@ FILESTAMP || netcmds[maketic%BACKUPTICS][netconsole].sidemove > MAXPLMOVE || netcmds[maketic%BACKUPTICS][netconsole].sidemove < -MAXPLMOVE) { XBOXSTATIC char buf[2]; - CONS_Alert(CONS_WARNING, M_GetText("Illegal movement value received from node %d\n"), netconsole); + CONS_Alert(CONS_WARNING, M_GetText("Illegal movement value received from node %d\n"), node); //D_Clearticcmd(k); - buf[0] = (char)netconsole; + buf[0] = (char)node; buf[1] = KICK_MSG_CON_FAIL; SendNetXCmd(XD_KICK, &buf, 2); break; @@ -3990,6 +3990,20 @@ FILESTAMP { G_MoveTiccmd(&netcmds[maketic%BACKUPTICS][(UINT8)nodetoplayer2[node]], &netbuffer->u.client2pak.cmd2, 1); + + // more "speed hacks" + if (netcmds[maketic%BACKUPTICS][(UINT8)nodetoplayer2[node]].forwardmove > MAXPLMOVE || netcmds[maketic%BACKUPTICS][(UINT8)nodetoplayer2[node]].forwardmove < -MAXPLMOVE + || netcmds[maketic%BACKUPTICS][(UINT8)nodetoplayer2[node]].sidemove > MAXPLMOVE || netcmds[maketic%BACKUPTICS][(UINT8)nodetoplayer2[node]].sidemove < -MAXPLMOVE) + { + XBOXSTATIC char buf[2]; + CONS_Alert(CONS_WARNING, M_GetText("Illegal movement value received from node %d\n"), node); + //D_Clearticcmd(k); + + buf[0] = (char)node; + buf[1] = KICK_MSG_CON_FAIL; + SendNetXCmd(XD_KICK, &buf, 2); + break; + } } if (((netbuffer->packettype == PT_CLIENT3CMD || netbuffer->packettype == PT_CLIENT3MIS) @@ -3998,6 +4012,20 @@ FILESTAMP { G_MoveTiccmd(&netcmds[maketic%BACKUPTICS][(UINT8)nodetoplayer3[node]], &netbuffer->u.client3pak.cmd3, 1); + + // more "speed hacks" + if (netcmds[maketic%BACKUPTICS][(UINT8)nodetoplayer3[node]].forwardmove > MAXPLMOVE || netcmds[maketic%BACKUPTICS][(UINT8)nodetoplayer3[node]].forwardmove < -MAXPLMOVE + || netcmds[maketic%BACKUPTICS][(UINT8)nodetoplayer3[node]].sidemove > MAXPLMOVE || netcmds[maketic%BACKUPTICS][(UINT8)nodetoplayer3[node]].sidemove < -MAXPLMOVE) + { + XBOXSTATIC char buf[2]; + CONS_Alert(CONS_WARNING, M_GetText("Illegal movement value received from node %d\n"), node); + //D_Clearticcmd(k); + + buf[0] = (char)node; + buf[1] = KICK_MSG_CON_FAIL; + SendNetXCmd(XD_KICK, &buf, 2); + break; + } } if ((netbuffer->packettype == PT_CLIENT4CMD || netbuffer->packettype == PT_CLIENT4MIS) @@ -4005,6 +4033,20 @@ FILESTAMP { G_MoveTiccmd(&netcmds[maketic%BACKUPTICS][(UINT8)nodetoplayer4[node]], &netbuffer->u.client4pak.cmd4, 1); + + // more "speed hacks" + if (netcmds[maketic%BACKUPTICS][(UINT8)nodetoplayer4[node]].forwardmove > MAXPLMOVE || netcmds[maketic%BACKUPTICS][(UINT8)nodetoplayer4[node]].forwardmove < -MAXPLMOVE + || netcmds[maketic%BACKUPTICS][(UINT8)nodetoplayer4[node]].sidemove > MAXPLMOVE || netcmds[maketic%BACKUPTICS][(UINT8)nodetoplayer4[node]].sidemove < -MAXPLMOVE) + { + XBOXSTATIC char buf[2]; + CONS_Alert(CONS_WARNING, M_GetText("Illegal movement value received from node %d\n"), node); + //D_Clearticcmd(k); + + buf[0] = (char)node; + buf[1] = KICK_MSG_CON_FAIL; + SendNetXCmd(XD_KICK, &buf, 2); + break; + } } // A delay before we check resynching diff --git a/src/g_game.c b/src/g_game.c index 78804ff2..f700554d 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -1503,8 +1503,7 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer) mousex = mousey = mlooky = 0; - // moved to P_3DMovement - /*if (forward > MAXPLMOVE) + if (forward > MAXPLMOVE) forward = MAXPLMOVE; else if (forward < -MAXPLMOVE) forward = -MAXPLMOVE; @@ -1512,7 +1511,7 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer) if (side > MAXPLMOVE) side = MAXPLMOVE; else if (side < -MAXPLMOVE) - side = -MAXPLMOVE;*/ + side = -MAXPLMOVE; if (forward || side) { diff --git a/src/p_user.c b/src/p_user.c index 90cbb2cb..bf1b6566 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -4796,17 +4796,8 @@ static void P_3dMovement(player_t *player) cmd->forwardmove = 50; } - if (cmd->forwardmove > MAXPLMOVE) - cmd->forwardmove = MAXPLMOVE; - else if (cmd->forwardmove < -MAXPLMOVE) - cmd->forwardmove = -MAXPLMOVE; - if (!(player->pflags & PF_FORCESTRAFE) && !player->kartstuff[k_pogospring]) cmd->sidemove = 0; - else if (cmd->sidemove > MAXPLMOVE) - cmd->sidemove = MAXPLMOVE; - else if (cmd->sidemove < -MAXPLMOVE) - cmd->sidemove = -MAXPLMOVE; if (analogmove) {