| 537 | VARP(smoothdist, 0, 8, 16); |
| 538 | |
| 539 | void predictplayer(playerent *d, bool move) |
| 540 | { |
| 541 | d->o = d->newpos; |
| 542 | d->o.z += d->eyeheight; |
| 543 | d->yaw = d->newyaw; |
| 544 | d->pitch = d->newpitch; |
| 545 | if(move) |
| 546 | { |
| 547 | moveplayer(d, 1, false); |
| 548 | d->newpos = d->o; |
| 549 | d->newpos.z -= d->eyeheight; |
| 550 | } |
| 551 | float k = 1.0f - float(lastmillis - d->smoothmillis)/smoothmove; |
| 552 | if(k>0) |
| 553 | { |
| 554 | d->o.add(vec(d->deltapos).mul(k)); |
| 555 | d->yaw += d->deltayaw*k; |
| 556 | if(d->yaw<0) d->yaw += 360; |
| 557 | else if(d->yaw>=360) d->yaw -= 360; |
| 558 | d->pitch += d->deltapitch*k; |
| 559 | } |
| 560 | } |
| 561 | |
| 562 | void moveotherplayers() |
| 563 | { |
no test coverage detected