Merge branch 'ntsatkbgfix' into 'master'

Fix M_DrawNightsAttackMountains integer overflow

See merge request STJr/SRB2!737
This commit is contained in:
James R 2020-01-31 02:33:53 -05:00
commit 8297dbd373

View file

@ -5388,7 +5388,8 @@ static void M_DrawNightsAttackMountains(void)
static INT32 bgscrollx;
INT32 dupz = (vid.dupx < vid.dupy ? vid.dupx : vid.dupy);
patch_t *background = W_CachePatchName(curbgname, PU_PATCH);
INT32 x = FixedInt(bgscrollx) % SHORT(background->width);
INT16 w = SHORT(background->width);
INT32 x = FixedInt(-bgscrollx) % w;
INT32 y = BASEVIDHEIGHT - SHORT(background->height)*2;
if (vid.height != BASEVIDHEIGHT * dupz)
@ -5396,11 +5397,13 @@ static void M_DrawNightsAttackMountains(void)
V_DrawFill(0, y+50, vid.width, BASEVIDHEIGHT, V_SNAPTOLEFT|31);
V_DrawScaledPatch(x, y, V_SNAPTOLEFT, background);
x += SHORT(background->width);
x += w;
if (x < BASEVIDWIDTH)
V_DrawScaledPatch(x, y, V_SNAPTOLEFT, background);
bgscrollx -= (FRACUNIT/2);
bgscrollx += (FRACUNIT/2);
if (bgscrollx > w<<FRACBITS)
bgscrollx &= 0xFFFF;
}
// NiGHTS Attack foreground.