diff --git a/src/entities.mm b/src/entities.mm index fcb3758..b1c2f2f 100644 --- a/src/entities.mm +++ b/src/entities.mm @@ -36,13 +36,14 @@ renderentities() { entity &e = ents[i]; if (e.type == MAPMODEL) { - mapmodelinfo &mmi = getmminfo(e.attr2); - if (!&mmi) + mapmodelinfo *mmi = getmminfo(e.attr2); + if (!mmi) continue; - rendermodel(mmi.name, 0, 1, e.attr4, (float)mmi.rad, - e.x, (float)S(e.x, e.y)->floor + mmi.zoff + e.attr3, + rendermodel(mmi->name, 0, 1, e.attr4, (float)mmi->rad, + e.x, + (float)S(e.x, e.y)->floor + mmi->zoff + e.attr3, e.y, (float)((e.attr1 + 7) - (e.attr1 + 7) % 15), 0, - false, 1.0f, 10.0f, mmi.snap); + false, 1.0f, 10.0f, mmi->snap); } else { if (OUTBORD(e.x, e.y)) continue; diff --git a/src/physics.mm b/src/physics.mm index 75c1e14..0b61458 100644 --- a/src/physics.mm +++ b/src/physics.mm @@ -59,18 +59,18 @@ 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 || !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; }; }; }; diff --git a/src/protos.h b/src/protos.h index 578a700..10cf9da 100644 --- a/src/protos.h +++ b/src/protos.h @@ -207,7 +207,7 @@ extern void cleansound(); extern void rendermodel(char *mdl, int frame, int range, int tex, float rad, float x, float y, float z, float yaw, float pitch, bool teammate, float scale, float speed, int snap = 0, int basetime = 0); -extern mapmodelinfo &getmminfo(int i); +extern mapmodelinfo *getmminfo(int i); // server extern void initserver(bool dedicated, int uprate, char *sdesc, char *ip, diff --git a/src/rendermd2.mm b/src/rendermd2.mm index 2d0f423..83908bd 100644 --- a/src/rendermd2.mm +++ b/src/rendermd2.mm @@ -254,10 +254,10 @@ mapmodelreset() mapmodels.setsize(0); }; -mapmodelinfo & +mapmodelinfo * getmminfo(int i) { - return i < mapmodels.length() ? mapmodels[i]->mmi : *(mapmodelinfo *)0; + return i < mapmodels.length() ? &mapmodels[i]->mmi : NULL; }; COMMAND(mapmodel, ARG_5STR);