Convert md2 and mapmodelinfo to ObjC

FossilOrigin-Name: cfbd2ec1e63de153d5113d4f69ba8556107d9b1891e907b06745407573a45287
This commit is contained in:
Jonathan Schleifer 2025-03-04 00:51:34 +00:00
parent 6f64252d65
commit a94e06cb3b
5 changed files with 210 additions and 138 deletions

View file

@ -59,21 +59,21 @@ mmcollide(dynent *d, float &hi, float &lo) // collide with a mapmodel
entity &e = ents[i];
if (e.type != MAPMODEL)
continue;
mapmodelinfo *mmi = getmminfo(e.attr2);
if (!mmi || !mmi->h)
MapModelInfo *mmi = getmminfo(e.attr2);
if (mmi == nil || !mmi.h)
continue;
const float r = mmi->rad + d->radius;
const float r = mmi.rad + d->radius;
if (fabs(e.x - d->o.x) < r && fabs(e.y - d->o.y) < r) {
float mmz =
(float)(S(e.x, e.y)->floor + mmi->zoff + e.attr3);
(float)(S(e.x, e.y)->floor + mmi.zoff + e.attr3);
if (d->o.z - d->eyeheight < mmz) {
if (mmz < hi)
hi = mmz;
} else if (mmz + mmi->h > lo)
lo = mmz + mmi->h;
};
};
};
} else if (mmz + mmi.h > lo)
lo = mmz + mmi.h;
}
}
}
// all collision happens here
// spawn is a dirty side effect used in spawning