diff options
Diffstat (limited to 'src/engine')
| -rw-r--r-- | src/engine/main.cpp | 2 | ||||
| -rw-r--r-- | src/engine/physics.cpp | 5 | ||||
| -rw-r--r-- | src/engine/rendergl.cpp | 1 |
3 files changed, 7 insertions, 1 deletions
diff --git a/src/engine/main.cpp b/src/engine/main.cpp index c7a88cf..40ef42a 100644 --- a/src/engine/main.cpp +++ b/src/engine/main.cpp @@ -6,6 +6,8 @@ #include "SDL_syswm.h" #endif +float speedmodifier = 0.0f; + extern void cleargamma(); void cleanup() diff --git a/src/engine/physics.cpp b/src/engine/physics.cpp index 4a30130..4c23739 100644 --- a/src/engine/physics.cpp +++ b/src/engine/physics.cpp @@ -1631,7 +1631,10 @@ void modifyvelocity(physent *pl, bool local, bool water, bool floating, int curt } vec d(m); - d.mul(pl->maxspeed); + speedmodifier*=(pl->physstate!=PHYS_FLOOR)*(speedmodifier>0); + speedmodifier=(speedmodifier>100.0f)?100.0f:speedmodifier; + d.mul(pl->maxspeed + speedmodifier); + if(pl->type==ENT_PLAYER) { if(floating) diff --git a/src/engine/rendergl.cpp b/src/engine/rendergl.cpp index 9b7c35f..f6d19b9 100644 --- a/src/engine/rendergl.cpp +++ b/src/engine/rendergl.cpp @@ -815,6 +815,7 @@ void mousemove(int dx, int dy) player->yaw = camera1->yaw; player->pitch = camera1->pitch; } + speedmodifier += abs(dx)-abs(dy); } void recomputecamera() |
