Digital Paint Discussion Board
Digital Paint Community => Other Stuff => Topic started by: skitzo on July 16, 2009, 04:45:46 PM
-
So the other day I was just in my own private server jumping around with air acceleration on (meaning you can't strafe) and found another way to not only pick up speed but do some pretty cool jumps around the map. So I thought I'd just post my demo to show what it was like and maybe other people can try it with the same settings and post some sweet jumps that they can do with it.
-
What was sv_airaccelerate set to exactly? Looks like a mix of qw jumping and counterstrike 'surfing'.
-
just to 1
-
Took me a couple of minutes to pick it up but tbh I think I like it better than strafe jumping :D
-
so do I, after i played around with it about 3 months ago i thought it was amazing. That's why i tried to get people to turn it to sv_airacceleration 1 and to chasecam team only. I think if they atleast changed the air acceleration it would be pretty fun for matches.
-
its cool but sorry, every map is made to accomodate strafe jumping and to let people use it to their advantage. if u were to do this you would need to make a bunch of new maps or change alot of them.
-
not really, you can do it on most maps. If you learn to do it enough it actually makes it easier than strafing because with this setting you can maneuver around objects a lot easier that strafing.
-
http://www.youtube.com/watch?v=kK9dwmmuSME
Never let it be said I can make a decent video.
-
nice viciouz :o
where can i get your textures? :)
-
nice viciouz :o
where can i get your textures? :)
ftp://ftp.otb-server.de/pub/HR4.zip
-
Interesting... from a code standpoint, there doesn't seem to be that much different.
...
if (pm_airaccelerate)
PM_AirAccelerate(wishdir, wishspeed, pm_accelerate);
else
PM_Accelerate(wishdir, wishspeed, 1);
...
void PM_Accelerate (vec3_t wishdir, float wishspeed, float accel)
{
int i;
float addspeed, accelspeed, currentspeed;
currentspeed = DotProduct (pml.velocity, wishdir);
addspeed = wishspeed - currentspeed;
if (addspeed <= 0)
return;
accelspeed = accel * pml.frametime * wishspeed;
if (accelspeed > addspeed)
accelspeed = addspeed;
for (i = 0; i < 3; i++)
pml.velocity[i] += accelspeed* wishdir[i];
}
void PM_AirAccelerate (vec3_t wishdir, float wishspeed, float accel)
{
int i;
float addspeed, accelspeed, currentspeed, wishspd = wishspeed;
if (wishspd > 30)
wishspd = 30;
currentspeed = DotProduct(pml.velocity, wishdir);
addspeed = wishspd - currentspeed;
if (addspeed <= 0)
return;
accelspeed = accel * wishspeed * pml.frametime;
if (accelspeed > addspeed)
accelspeed = addspeed;
for (i = 0; i < 3; i++)
pml.velocity[i] += accelspeed * wishdir[i];
}