43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
const float dz = player1.origin.z - d.origin.z;
const float rz = player1.aboveEye + d.eyeHeight;
const float fx = (float)fabs(dx), fy = (float)fabs(dy),
fz = (float)fabs(dz);
if (fx < r && fy < r && fz < rz && d.state != CS_DEAD) {
if (fx < fy)
// push aside
d.origin = OFAddVector3D(d.origin,
OFMakeVector3D(
0, (dy < 0 ? r - fy : -(r - fy)), 0));
else
d.origin = OFAddVector3D(d.origin,
OFMakeVector3D(
(dx < 0 ? r - fx : -(r - fx)), 0, 0));
}
int lagtime = lastmillis - d.lastUpdate;
if (lagtime) {
d.lag = (d.lag * 5 + lagtime) / 6;
d.lastUpdate = lastmillis;
|
|
|
|
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
const float dz = player1.origin.z - d.origin.z;
const float rz = player1.aboveEye + d.eyeHeight;
const float fx = (float)fabs(dx), fy = (float)fabs(dy),
fz = (float)fabs(dz);
if (fx < r && fy < r && fz < rz && d.state != CS_DEAD) {
if (fx < fy)
// push aside
d.origin = OFAddVectors3D(d.origin,
OFMakeVector3D(
0, (dy < 0 ? r - fy : -(r - fy)), 0));
else
d.origin = OFAddVectors3D(d.origin,
OFMakeVector3D(
(dx < 0 ? r - fx : -(r - fx)), 0, 0));
}
int lagtime = lastmillis - d.lastUpdate;
if (lagtime) {
d.lag = (d.lag * 5 + lagtime) / 6;
d.lastUpdate = lastmillis;
|