From e23f632cdbc687039ec25297ae0105142135e1a1 Mon Sep 17 00:00:00 2001 From: fickleheart Date: Tue, 14 Jan 2020 23:44:21 -0600 Subject: [PATCH] Clean up fisheye and fix crashes --- src/r_main.c | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/src/r_main.c b/src/r_main.c index fbb3c7047..628ba078f 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -553,13 +553,12 @@ static inline void R_InitLightTables(void) static struct { angle_t rollangle; // pre-shifted by fineshift - fixed_t fisheye; fixed_t zoomneeded; INT32 *scrmap; size_t scrmapsize; boolean use; -} viewmorph = {0, 0, FRACUNIT, NULL, 0, false}; +} viewmorph = {0, FRACUNIT, NULL, 0, false}; void R_CheckViewMorph(void) { @@ -570,24 +569,16 @@ void R_CheckViewMorph(void) INT32 usedx, usedy, halfwidth = vid.width/2, halfheight = vid.height/2; angle_t rollangle = players[displayplayer].viewrollangle; - //fixed_t fisheye = players[displayplayer].viewfisheye; - - // temp values - //angle_t rollangle = leveltime << (ANGLETOFINESHIFT); - fixed_t fisheye = 0; rollangle >>= ANGLETOFINESHIFT; rollangle = (((rollangle+1)/2)*2) & FINEMASK; // Limit the distinct number of angles to reduce recalcs from angles changing a lot. - fisheye &= ~0xFF; // Same limiter logic for fisheye - - if (rollangle == viewmorph.rollangle && fisheye == viewmorph.fisheye) + if (rollangle == viewmorph.rollangle && viewmorph.scrmapsize == vid.width*vid.height) return; // No change viewmorph.rollangle = rollangle; - viewmorph.fisheye = fisheye; - if (viewmorph.rollangle == 0 && viewmorph.fisheye == 0) + if (viewmorph.rollangle == 0) { viewmorph.use = false; if (viewmorph.zoomneeded != FRACUNIT) @@ -655,11 +646,6 @@ void R_CheckViewMorph(void) usedx = halfwidth+x2; usedy = halfheight+y2; - if (usedx < 0) usedx = 0; - else if (usedx >= vid.width) usedx = vid.width-1; - if (usedy < 0) usedy = 0; - else if (usedy >= vid.height) usedy = vid.height-1; - usedpos = usedx + usedy*vid.width; viewmorph.scrmap[pos] = usedpos;