Index: src/clientgame.m ================================================================== --- src/clientgame.m +++ src/clientgame.m @@ -201,11 +201,11 @@ // try max 100 times for (int i = 0; i < 100; i++) { float dx = (rnd(21) - 10) / 10.0f * i; // increasing distance float dy = (rnd(21) - 10) / 10.0f * i; 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)) return; d.origin = old; } conoutf(@"can't find entity spawn spot! (%d, %d)", (int)d.origin.x, Index: src/clients2c.m ================================================================== --- src/clients2c.m +++ src/clients2c.m @@ -45,15 +45,15 @@ 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, + d.origin = OFAddVectors3D(d.origin, OFMakeVector3D( 0, (dy < 0 ? r - fy : -(r - fy)), 0)); else - d.origin = OFAddVector3D(d.origin, + d.origin = OFAddVectors3D(d.origin, OFMakeVector3D( (dx < 0 ? r - fx : -(r - fx)), 0, 0)); } int lagtime = lastmillis - d.lastUpdate; if (lagtime) { Index: src/cube.h ================================================================== --- src/cube.h +++ src/cube.h @@ -286,14 +286,14 @@ #define PI (3.1415927f) #define PI2 (2 * PI) // simplistic vector ops #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 vdiv(u, f) u = OFDivideVector3D(u, OFMakeVector3D(f, f, f)) -#define vadd(u, v) u = OFAddVector3D(u, v) -#define vsub(u, v) u = OFSubtractVector3D(u, v) +#define vmul(u, f) u = OFMultiplyVector3D(u, f) +#define vdiv(u, f) u = OFMultiplyVector3D(u, (f) / 1.0f) +#define vadd(u, v) u = OFAddVectors3D(u, v) +#define vsub(u, v) u = OFSubtractVectors3D(u, v) #define vdist(d, v, e, s) \ OFVector3D v = s; \ vsub(v, e); \ float d = (float)sqrt(dotprod(v, v)); #define vreject(v, u, max) \ Index: src/physics.m ================================================================== --- src/physics.m +++ src/physics.m @@ -206,17 +206,17 @@ // stick on step d.origin = OFMakeVector3D( d.origin.x, d.origin.y, lo + d.eyeHeight); else if (space > -1.26f) // rise thru stair - d.origin = OFAddVector3D( + d.origin = OFAddVectors3D( d.origin, OFMakeVector3D(0, 0, rise)); else return false; } else // gravity - d.origin = OFSubtractVector3D(d.origin, + d.origin = OFSubtractVectors3D(d.origin, OFMakeVector3D( 0, 0, min(min(drop, space), headspace))); const float space2 = hi - (d.origin.z + d.aboveEye); if (space2 < 0) { @@ -359,42 +359,42 @@ const float rise = speed / moveres / 1.2f; // discrete steps collision detection & sliding for (int i = 0; i < moveres; i++) { // try move forward - pl.origin = OFAddVector3D(pl.origin, + pl.origin = OFAddVectors3D(pl.origin, OFMakeVector3D(f * d.x, f * d.y, f * d.z)); if (collide(pl, false, drop, rise)) continue; // player stuck, try slide along y axis pl.blocked = true; - pl.origin = OFSubtractVector3D( + pl.origin = OFSubtractVectors3D( pl.origin, OFMakeVector3D(f * d.x, 0, 0)); if (collide(pl, false, drop, rise)) { d.x = 0; continue; } // still stuck, try x axis - pl.origin = OFAddVector3D( + pl.origin = OFAddVectors3D( pl.origin, OFMakeVector3D(f * d.x, -f * d.y, 0)); if (collide(pl, false, drop, rise)) { d.y = 0; continue; } // try just dropping down pl.moving = false; - pl.origin = OFSubtractVector3D( + pl.origin = OFSubtractVectors3D( pl.origin, OFMakeVector3D(f * d.x, 0, 0)); if (collide(pl, false, drop, rise)) { d.y = d.x = 0; continue; } - pl.origin = OFSubtractVector3D( + pl.origin = OFSubtractVectors3D( pl.origin, OFMakeVector3D(0, 0, f * d.z)); break; } }