mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-13 07:58:04 +00:00
polymost.c: rewite widescreen bit code, part 2.
Use integer math; both args to setaspect are constant. git-svn-id: https://svn.eduke32.com/eduke32@2910 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
20ccab9022
commit
08260dbf25
1 changed files with 9 additions and 9 deletions
|
@ -5638,10 +5638,11 @@ void polymost_dorotatesprite(int32_t sx, int32_t sy, int32_t z, int16_t a, int16
|
||||||
|
|
||||||
x = xdimenscale; //= scale(xdimen,yxaspect,320);
|
x = xdimenscale; //= scale(xdimen,yxaspect,320);
|
||||||
|
|
||||||
if (!(dastat & 1024) && ((double)ydim/(double)xdim) <= .75f)
|
if (!(dastat & 1024) && 4*ydim <= 3*xdim)
|
||||||
{
|
{
|
||||||
xdim = (int32_t)((double)ydim * 1.33333333333333334f);
|
xdim = (4*ydim)/3;
|
||||||
setaspect(65536L,(int32_t)divscale16(ydim*320L,xdim*200L));
|
// aspect is divscale16(ydim*320, xdim*200)
|
||||||
|
setaspect(65536, (12<<16)/10);
|
||||||
}
|
}
|
||||||
|
|
||||||
sthelse = scale(sx-(320<<15), scale(xdimen, xdim, oxdim), 320);
|
sthelse = scale(sx-(320<<15), scale(xdimen, xdim, oxdim), 320);
|
||||||
|
@ -5670,10 +5671,10 @@ void polymost_dorotatesprite(int32_t sx, int32_t sy, int32_t z, int16_t a, int16
|
||||||
const int32_t oxdim = xdim;
|
const int32_t oxdim = xdim;
|
||||||
int32_t xdim = oxdim; // SHADOWS global
|
int32_t xdim = oxdim; // SHADOWS global
|
||||||
|
|
||||||
if (!(dastat & 1024) && ((double)ydim/(double)xdim) <= .75f)
|
if (!(dastat & 1024) && 4*ydim <= 3*xdim)
|
||||||
{
|
{
|
||||||
xdim = (int32_t)((double)ydim * 1.33333333333333334f);
|
xdim = (4*ydim)/3;
|
||||||
setaspect(65536L,(int32_t)divscale16(ydim*320L,xdim*200L));
|
setaspect(65536, (12<<16)/10);
|
||||||
}
|
}
|
||||||
|
|
||||||
x = scale(xdim,yxaspect,320);
|
x = scale(xdim,yxaspect,320);
|
||||||
|
@ -5688,10 +5689,9 @@ void polymost_dorotatesprite(int32_t sx, int32_t sy, int32_t z, int16_t a, int16
|
||||||
|
|
||||||
z = mulscale16(z,x);
|
z = mulscale16(z,x);
|
||||||
}
|
}
|
||||||
else if (!(dastat & 1024) && ((double)ydim/(double)xdim) <= .75f)
|
else if (!(dastat & 1024) && 4*ydim <= 3*xdim)
|
||||||
{
|
{
|
||||||
const int32_t ydim = (int32_t)((double)xdim * 0.75f); // SHADOWS global
|
setaspect(65536, (12<<16)/10);
|
||||||
setaspect(65536L,(int32_t)divscale16(ydim*320L,xdim*200L));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
d = (double)z/(65536.0*16384.0);
|
d = (double)z/(65536.0*16384.0);
|
||||||
|
|
Loading…
Reference in a new issue