Merge branch 'issue947' into 'next'

Issue #947 - Can't have a radius of 0 here!

Closes #947

See merge request STJr/SRB2!2362
This commit is contained in:
sphere 2024-06-24 22:33:35 +00:00
commit 9374344f09

View file

@ -3961,23 +3961,25 @@ papercollision:
mo->momy = tmymove; mo->momy = tmymove;
} }
const fixed_t tmradius = mo->radius > 8 ? mo->radius : 8;
do { do {
if (tmxmove > mo->radius) { if (tmxmove > tmradius) {
newx = mo->x + mo->radius; newx = mo->x + tmradius;
tmxmove -= mo->radius; tmxmove -= tmradius;
} else if (tmxmove < -mo->radius) { } else if (tmxmove < -tmradius) {
newx = mo->x - mo->radius; newx = mo->x - tmradius;
tmxmove += mo->radius; tmxmove += tmradius;
} else { } else {
newx = mo->x + tmxmove; newx = mo->x + tmxmove;
tmxmove = 0; tmxmove = 0;
} }
if (tmymove > mo->radius) { if (tmymove > tmradius) {
newy = mo->y + mo->radius; newy = mo->y + tmradius;
tmymove -= mo->radius; tmymove -= tmradius;
} else if (tmymove < -mo->radius) { } else if (tmymove < -tmradius) {
newy = mo->y - mo->radius; newy = mo->y - tmradius;
tmymove += mo->radius; tmymove += tmradius;
} else { } else {
newy = mo->y + tmymove; newy = mo->y + tmymove;
tmymove = 0; tmymove = 0;