From: divverent Date: Sun, 2 May 2010 14:06:22 +0000 (+0000) Subject: More arrangements X-Git-Tag: xonotic-v0.1.0preview~509 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=de711d822f940af12ae377f2cb6bbfd70002196b;p=xonotic%2Fdarkplaces.git More arrangements From: MirceaKitsune git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@10139 d7cf8633-e32d-0410-b094-e92efae38249 ::stable-branch::merge=93df350f3237f064b8e119af2cb5f02a1f7b63a2 --- diff --git a/view.c b/view.c index de4c3631..b6dd47dd 100644 --- a/view.c +++ b/view.c @@ -602,26 +602,6 @@ void V_CalcRefdef (void) // gun model bobbing code xyspeed = sqrt(cl.movement_velocity[0]*cl.movement_velocity[0] + cl.movement_velocity[1]*cl.movement_velocity[1]); - if (cl_bob.value && cl_bobcycle.value) - { - float cycle; - // LordHavoc: this code is *weird*, but not replacable (I think it - // should be done in QC on the server, but oh well, quake is quake) - // LordHavoc: figured out bobup: the time at which the sin is at 180 - // degrees (which allows lengthening or squishing the peak or valley) - cycle = cl.time / cl_bobcycle.value; - cycle -= (int) cycle; - if (cycle < cl_bobup.value) - cycle = sin(M_PI * cycle / cl_bobup.value); - else - cycle = sin(M_PI + M_PI * (cycle-cl_bobup.value)/(1.0 - cl_bobup.value)); - // bob is proportional to velocity in the xy plane - // (don't count Z, or jumping messes it up) - bob = xyspeed * cl_bob.value; - bob = bob*0.3 + bob*0.7*cycle; - vieworg[2] += bound(-7, bob, 4); - } - if (cl_bob.value && cl_bobmodel.value) { // calculate for swinging gun model @@ -662,6 +642,27 @@ void V_CalcRefdef (void) bob = bspeed * cl_bobmodel_up.value * cl_viewmodel_scale.value * cos (s * 2) * t; VectorMA (gunorg, bob, up, gunorg); } + + // view bobbing code + if (cl_bob.value && cl_bobcycle.value) + { + float cycle; + // LordHavoc: this code is *weird*, but not replacable (I think it + // should be done in QC on the server, but oh well, quake is quake) + // LordHavoc: figured out bobup: the time at which the sin is at 180 + // degrees (which allows lengthening or squishing the peak or valley) + cycle = cl.time / cl_bobcycle.value; + cycle -= (int) cycle; + if (cycle < cl_bobup.value) + cycle = sin(M_PI * cycle / cl_bobup.value); + else + cycle = sin(M_PI + M_PI * (cycle-cl_bobup.value)/(1.0 - cl_bobup.value)); + // bob is proportional to velocity in the xy plane + // (don't count Z, or jumping messes it up) + bob = xyspeed * cl_bob.value; + bob = bob*0.3 + bob*0.7*cycle; + vieworg[2] += bound(-7, bob, 4); + } } } // calculate a view matrix for rendering the scene