Added game-specific maxspeed overrides.

This commit is contained in:
Marco Cawthorne 2020-04-19 13:01:47 +02:00
parent 51cce26fd8
commit d7e818410c
20 changed files with 120 additions and 1 deletions

View File

@ -40,6 +40,7 @@
../../shared/valve/animations.c
../../shared/cstrike/player.cpp
../player.c
../../shared/cstrike/pmove.c
../../shared/pmove.c
predict.c
../predict.c

View File

@ -36,6 +36,7 @@
../../shared/valve/animations.c
../../shared/gearbox/player.cpp
../player.c
../../shared/valve/pmove.c
../../shared/pmove.c
../valve/predict.c
../predict.c

View File

@ -36,6 +36,7 @@
../../shared/valve/animations.c
../../shared/hunger/player.cpp
../player.c
../../shared/valve/pmove.c
../../shared/pmove.c
../valve/predict.c
../predict.c

View File

@ -36,6 +36,7 @@
../../shared/valve/animations.c
../../shared/valve/player.cpp
../player.c
../../shared/valve/pmove.c
../../shared/pmove.c
../valve/predict.c
../predict.c

View File

@ -43,6 +43,7 @@ decore.cpp
../../shared/valve/animations.c
../../shared/rewolf/player.cpp
../player.c
../../shared/valve/pmove.c
../../shared/pmove.c
../valve/predict.c
../predict.c

View File

@ -39,6 +39,7 @@
../../shared/valve/animations.c
../../shared/scihunt/player.cpp
../player.c
../../shared/valve/pmove.c
../../shared/pmove.c
../valve/predict.c
../predict.c

View File

@ -42,6 +42,7 @@ init.c
../../shared/valve/animations.c
../../shared/valve/player.cpp
../player.c
../../shared/valve/pmove.c
../../shared/pmove.c
../valve/predict.c
../predict.c

View File

@ -40,6 +40,7 @@
../../shared/valve/animations.c
../../shared/valve/player.cpp
../player.c
../../shared/valve/pmove.c
../../shared/pmove.c
../valve/predict.c
../predict.c

View File

@ -31,6 +31,7 @@
../../shared/effects.c
../cstrike/player.c
../../shared/cstrike/pmove.c
../../shared/pmove.c
../valve/spectator.c

View File

@ -68,6 +68,7 @@
../../shared/effects.c
../valve/player.c
../../shared/valve/pmove.c
../../shared/pmove.c
../valve/spectator.c
../../shared/gearbox/items.h

View File

@ -65,6 +65,7 @@
../../shared/effects.c
../valve/player.c
../../shared/valve/pmove.c
../../shared/pmove.c
../valve/spectator.c
../../shared/hunger/items.h

View File

@ -65,6 +65,7 @@
../../shared/effects.c
../valve/player.c
../../shared/valve/pmove.c
../../shared/pmove.c
../valve/spectator.c
../../shared/poke646/items.h

View File

@ -37,6 +37,7 @@ monster_human_gunman.cpp
monster_human_unarmed.cpp
../../shared/effects.c
../valve/player.c
../../shared/valve/pmove.c
../../shared/pmove.c
../valve/spectator.c
../../shared/rewolf/items.h

View File

@ -67,6 +67,7 @@ monster_scientist.cpp
../../shared/effects.c
../valve/player.c
../../shared/valve/pmove.c
../../shared/pmove.c
../valve/spectator.c
../../shared/scihunt/items.h

View File

@ -29,6 +29,7 @@
../../shared/effects.c
../valve/player.c
../../shared/valve/pmove.c
../../shared/pmove.c
../valve/spectator.c

View File

@ -64,6 +64,7 @@
../../shared/effects.c
player.c
../../shared/valve/pmove.c
../../shared/pmove.c
spectator.c
../../shared/valve/items.h

View File

@ -15,6 +15,7 @@
*/
#include "radio.h"
#include "weapons.h"
enum
{

View File

@ -0,0 +1,98 @@
float GamePMove_Maxspeed(player target)
{
float spd = serverkeyfloat("phy_maxspeed");
switch (target.activeweapon)
{
case WEAPON_NONE:
spd *= 1.0f;
break;
case WEAPON_M3:
spd *= 0.92f;
break;
case WEAPON_XM1014:
spd *= 0.96f;
break;
case WEAPON_MP5:
spd *= 1.0f;
break;
case WEAPON_P90:
spd *= 0.98f;
break;
case WEAPON_UMP45:
spd *= 1.0f;
break;
case WEAPON_MAC10:
spd *= 1.0f;
break;
case WEAPON_TMP:
spd *= 1.0f;
break;
case WEAPON_AK47:
spd *= 0.88f;
break;
case WEAPON_SG552:
spd *= 0.94f;
break;
case WEAPON_M4A1:
spd *= 0.92f;
break;
case WEAPON_AUG:
spd *= 0.96f;
break;
case WEAPON_SCOUT:
spd *= 1.04f;
break;
case WEAPON_AWP:
spd *= 0.84f;
break;
case WEAPON_G3SG1:
spd *= 0.84f;
break;
case WEAPON_SG550:
spd *= 0.84f;
break;
case WEAPON_PARA:
spd *= 0.88f;
break;
case WEAPON_USP45:
spd *= 1.0f;
break;
case WEAPON_GLOCK18:
spd *= 1.0f;
break;
case WEAPON_DEAGLE:
spd *= 1.0f;
break;
case WEAPON_P228:
spd *= 1.0f;
break;
case WEAPON_ELITES:
spd *= 1.0f;
break;
case WEAPON_FIVESEVEN:
spd *= 1.0f;
break;
case WEAPON_KNIFE:
spd *= 1.0f;
break;
case WEAPON_HEGRENADE:
spd *= 1.0f;
break;
case WEAPON_FLASHBANG:
spd *= 1.0f;
break;
case WEAPON_SMOKEGRENADE:
spd *= 1.0f;
break;
case WEAPON_C4BOMB:
spd *= 1.0f;
break;
}
if (target.flags & FL_CROUCHING)
spd *= 0.5f;
return spd;
}

View File

@ -751,7 +751,7 @@ PMove_Run(void)
#endif
/* maxspeed changes when crouching, TODO: make this game-specific */
self.maxspeed = (self.flags & FL_CROUCHING) ? 135 : 270;
self.maxspeed = GamePMove_Maxspeed(self);
/* when pressing the 'use' button, we also walk slower for precision */
if (input_buttons & INPUT_BUTTON5) {

4
src/shared/valve/pmove.c Normal file
View File

@ -0,0 +1,4 @@
float GamePMove_Maxspeed(player target)
{
return (target.flags & FL_CROUCHING) ? 135 : 270;
}