summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/engine/main.cpp2
-rw-r--r--src/engine/physics.cpp5
-rw-r--r--src/engine/rendergl.cpp1
-rw-r--r--src/fpsgame/fps.cpp6
-rw-r--r--src/shared/cube.h1
5 files changed, 13 insertions, 2 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()
diff --git a/src/fpsgame/fps.cpp b/src/fpsgame/fps.cpp
index 377afa3..038fe47 100644
--- a/src/fpsgame/fps.cpp
+++ b/src/fpsgame/fps.cpp
@@ -876,6 +876,8 @@ namespace game
void drawhudicons(fpsent *d)
{
+ int speedforreal = (int) (sqrtf(d->vel.squaredlen()) + /*speedmodifier*/ + 1.0f);
+
pushhudmatrix();
hudmatrix.scale(2, 2, 1);
flushhudmatrix();
@@ -887,6 +889,8 @@ namespace game
{
if(d->armour) draw_textf("%d", (HICON_X + HICON_STEP + HICON_SIZE + HICON_SPACE)/2, HICON_TEXTY/2, d->armour);
draw_textf("%d", (HICON_X + 2*HICON_STEP + HICON_SIZE + HICON_SPACE)/2, HICON_TEXTY/2, d->ammo[d->gunselect]);
+ //~draw_textf("%d", (HICON_X + 2*HICON_STEP + HICON_SIZE + HICON_SPACE)/2+800, HICON_TEXTY/2, (int) (100.0f+speedmodifier));
+ draw_textf("%d", (HICON_X + 2*HICON_STEP + HICON_SIZE + HICON_SPACE)/2+400, HICON_TEXTY/2, speedforreal);
}
pophudmatrix();
@@ -981,7 +985,7 @@ namespace game
flushhudmatrix();
defformatstring(label, "%d", p->ammo[gun]);
- int tw, th, moved, movew = 0, moveh = 0; text_bounds(label, tw, th);
+ int tw, th; text_bounds(label, tw, th);
vec2 textdrawpos = vec2(-tw, -th).div(2);
float ammoratio = (float)p->ammo[gun] / itemstats[gun-GUN_SG].add;
bvec color = bvec::hexcolor(p->ammo[gun] == 0 || ammoratio >= 1.0f ? 0xFFFFFF : (ammoratio >= 0.5f ? 0xFFC040 : 0xFF0000));
diff --git a/src/shared/cube.h b/src/shared/cube.h
index ed1c207..ffb1d1b 100644
--- a/src/shared/cube.h
+++ b/src/shared/cube.h
@@ -66,3 +66,4 @@
#endif
+extern float speedmodifier;