Adjust to ObjFW changes
FossilOrigin-Name: 85566b261dc924326f2b24254b27e472c0a03fd327b4793ecd42d0ec85a065bf
This commit is contained in:
parent
3a7e871e0e
commit
fa66ee85fd
4 changed files with 14 additions and 14 deletions
|
@ -203,7 +203,7 @@ entinmap(DynamicEntity *d)
|
||||||
float dx = (rnd(21) - 10) / 10.0f * i; // increasing distance
|
float dx = (rnd(21) - 10) / 10.0f * i; // increasing distance
|
||||||
float dy = (rnd(21) - 10) / 10.0f * i;
|
float dy = (rnd(21) - 10) / 10.0f * i;
|
||||||
OFVector3D old = d.origin;
|
OFVector3D old = d.origin;
|
||||||
d.origin = OFAddVector3D(d.origin, OFMakeVector3D(dx, dy, 0));
|
d.origin = OFAddVectors3D(d.origin, OFMakeVector3D(dx, dy, 0));
|
||||||
if (collide(d, true, 0, 0))
|
if (collide(d, true, 0, 0))
|
||||||
return;
|
return;
|
||||||
d.origin = old;
|
d.origin = old;
|
||||||
|
|
|
@ -47,11 +47,11 @@ updatepos(DynamicEntity *d)
|
||||||
if (fx < r && fy < r && fz < rz && d.state != CS_DEAD) {
|
if (fx < r && fy < r && fz < rz && d.state != CS_DEAD) {
|
||||||
if (fx < fy)
|
if (fx < fy)
|
||||||
// push aside
|
// push aside
|
||||||
d.origin = OFAddVector3D(d.origin,
|
d.origin = OFAddVectors3D(d.origin,
|
||||||
OFMakeVector3D(
|
OFMakeVector3D(
|
||||||
0, (dy < 0 ? r - fy : -(r - fy)), 0));
|
0, (dy < 0 ? r - fy : -(r - fy)), 0));
|
||||||
else
|
else
|
||||||
d.origin = OFAddVector3D(d.origin,
|
d.origin = OFAddVectors3D(d.origin,
|
||||||
OFMakeVector3D(
|
OFMakeVector3D(
|
||||||
(dx < 0 ? r - fx : -(r - fx)), 0, 0));
|
(dx < 0 ? r - fx : -(r - fx)), 0, 0));
|
||||||
}
|
}
|
||||||
|
|
|
@ -288,10 +288,10 @@ extern bool demoplayback;
|
||||||
|
|
||||||
// simplistic vector ops
|
// simplistic vector ops
|
||||||
#define dotprod(u, v) ((u).x * (v).x + (u).y * (v).y + (u).z * (v).z)
|
#define dotprod(u, v) ((u).x * (v).x + (u).y * (v).y + (u).z * (v).z)
|
||||||
#define vmul(u, f) u = OFMultiplyVector3D(u, OFMakeVector3D(f, f, f))
|
#define vmul(u, f) u = OFMultiplyVector3D(u, f)
|
||||||
#define vdiv(u, f) u = OFDivideVector3D(u, OFMakeVector3D(f, f, f))
|
#define vdiv(u, f) u = OFMultiplyVector3D(u, (f) / 1.0f)
|
||||||
#define vadd(u, v) u = OFAddVector3D(u, v)
|
#define vadd(u, v) u = OFAddVectors3D(u, v)
|
||||||
#define vsub(u, v) u = OFSubtractVector3D(u, v)
|
#define vsub(u, v) u = OFSubtractVectors3D(u, v)
|
||||||
#define vdist(d, v, e, s) \
|
#define vdist(d, v, e, s) \
|
||||||
OFVector3D v = s; \
|
OFVector3D v = s; \
|
||||||
vsub(v, e); \
|
vsub(v, e); \
|
||||||
|
|
|
@ -208,13 +208,13 @@ collide(DynamicEntity *d, bool spawn, float drop, float rise)
|
||||||
d.origin.x, d.origin.y, lo + d.eyeHeight);
|
d.origin.x, d.origin.y, lo + d.eyeHeight);
|
||||||
else if (space > -1.26f)
|
else if (space > -1.26f)
|
||||||
// rise thru stair
|
// rise thru stair
|
||||||
d.origin = OFAddVector3D(
|
d.origin = OFAddVectors3D(
|
||||||
d.origin, OFMakeVector3D(0, 0, rise));
|
d.origin, OFMakeVector3D(0, 0, rise));
|
||||||
else
|
else
|
||||||
return false;
|
return false;
|
||||||
} else
|
} else
|
||||||
// gravity
|
// gravity
|
||||||
d.origin = OFSubtractVector3D(d.origin,
|
d.origin = OFSubtractVectors3D(d.origin,
|
||||||
OFMakeVector3D(
|
OFMakeVector3D(
|
||||||
0, 0, min(min(drop, space), headspace)));
|
0, 0, min(min(drop, space), headspace)));
|
||||||
|
|
||||||
|
@ -361,14 +361,14 @@ moveplayer4(DynamicEntity *pl, int moveres, bool local, int curtime)
|
||||||
// discrete steps collision detection & sliding
|
// discrete steps collision detection & sliding
|
||||||
for (int i = 0; i < moveres; i++) {
|
for (int i = 0; i < moveres; i++) {
|
||||||
// try move forward
|
// try move forward
|
||||||
pl.origin = OFAddVector3D(pl.origin,
|
pl.origin = OFAddVectors3D(pl.origin,
|
||||||
OFMakeVector3D(f * d.x, f * d.y, f * d.z));
|
OFMakeVector3D(f * d.x, f * d.y, f * d.z));
|
||||||
if (collide(pl, false, drop, rise))
|
if (collide(pl, false, drop, rise))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// player stuck, try slide along y axis
|
// player stuck, try slide along y axis
|
||||||
pl.blocked = true;
|
pl.blocked = true;
|
||||||
pl.origin = OFSubtractVector3D(
|
pl.origin = OFSubtractVectors3D(
|
||||||
pl.origin, OFMakeVector3D(f * d.x, 0, 0));
|
pl.origin, OFMakeVector3D(f * d.x, 0, 0));
|
||||||
if (collide(pl, false, drop, rise)) {
|
if (collide(pl, false, drop, rise)) {
|
||||||
d.x = 0;
|
d.x = 0;
|
||||||
|
@ -376,7 +376,7 @@ moveplayer4(DynamicEntity *pl, int moveres, bool local, int curtime)
|
||||||
}
|
}
|
||||||
|
|
||||||
// still stuck, try x axis
|
// still stuck, try x axis
|
||||||
pl.origin = OFAddVector3D(
|
pl.origin = OFAddVectors3D(
|
||||||
pl.origin, OFMakeVector3D(f * d.x, -f * d.y, 0));
|
pl.origin, OFMakeVector3D(f * d.x, -f * d.y, 0));
|
||||||
if (collide(pl, false, drop, rise)) {
|
if (collide(pl, false, drop, rise)) {
|
||||||
d.y = 0;
|
d.y = 0;
|
||||||
|
@ -385,14 +385,14 @@ moveplayer4(DynamicEntity *pl, int moveres, bool local, int curtime)
|
||||||
|
|
||||||
// try just dropping down
|
// try just dropping down
|
||||||
pl.moving = false;
|
pl.moving = false;
|
||||||
pl.origin = OFSubtractVector3D(
|
pl.origin = OFSubtractVectors3D(
|
||||||
pl.origin, OFMakeVector3D(f * d.x, 0, 0));
|
pl.origin, OFMakeVector3D(f * d.x, 0, 0));
|
||||||
if (collide(pl, false, drop, rise)) {
|
if (collide(pl, false, drop, rise)) {
|
||||||
d.y = d.x = 0;
|
d.y = d.x = 0;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
pl.origin = OFSubtractVector3D(
|
pl.origin = OFSubtractVectors3D(
|
||||||
pl.origin, OFMakeVector3D(0, 0, f * d.z));
|
pl.origin, OFMakeVector3D(0, 0, f * d.z));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue