mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-26 03:30:46 +00:00
Patch from Nuke.YKT to improve the appearance of slopes in software mode
git-svn-id: https://svn.eduke32.com/eduke32@7714 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
d5d1f0a0ea
commit
4a09e2a183
1 changed files with 14 additions and 14 deletions
|
@ -2191,11 +2191,11 @@ static inline void hline(int32_t xr, int32_t yp)
|
||||||
int32_t const xl = lastx[yp];
|
int32_t const xl = lastx[yp];
|
||||||
if (xl > xr) return;
|
if (xl > xr) return;
|
||||||
int32_t const r = horizlookup2[yp-globalhoriz+horizycent];
|
int32_t const r = horizlookup2[yp-globalhoriz+horizycent];
|
||||||
asm1 = (inthi_t)globalx1*r;
|
asm1 = (inthi_t)mulscale6(globalx1, r);
|
||||||
asm2 = (inthi_t)globaly2*r;
|
asm2 = (inthi_t)mulscale6(globaly2, r);
|
||||||
int32_t const s = getpalookupsh(mulscale16(r,globvis));
|
int32_t const s = getpalookupsh(mulscale22(r,globvis));
|
||||||
|
|
||||||
hlineasm4(xr-xl,0,s,(uint32_t)globalx2*r+globalypanning,(uint32_t)globaly1*r+globalxpanning,
|
hlineasm4(xr-xl,0,s,(uint32_t)mulscale6(globalx2,r)+globalypanning,(uint32_t)mulscale6(globaly1,r)+globalxpanning,
|
||||||
ylookup[yp]+xr+frameoffset);
|
ylookup[yp]+xr+frameoffset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2207,18 +2207,18 @@ static inline void slowhline(int32_t xr, int32_t yp)
|
||||||
{
|
{
|
||||||
int32_t const xl = lastx[yp]; if (xl > xr) return;
|
int32_t const xl = lastx[yp]; if (xl > xr) return;
|
||||||
int32_t const r = horizlookup2[yp-globalhoriz+horizycent];
|
int32_t const r = horizlookup2[yp-globalhoriz+horizycent];
|
||||||
asm1 = (inthi_t)globalx1*r;
|
asm1 = (inthi_t)mulscale6(globalx1, r);
|
||||||
asm2 = (inthi_t)globaly2*r;
|
asm2 = (inthi_t)mulscale6(globaly2, r);
|
||||||
|
|
||||||
asm3 = (intptr_t)globalpalwritten + getpalookupsh(mulscale16(r,globvis));
|
asm3 = (intptr_t)globalpalwritten + getpalookupsh(mulscale22(r,globvis));
|
||||||
if (!(globalorientation&256))
|
if (!(globalorientation&256))
|
||||||
{
|
{
|
||||||
mhline(globalbufplc,(uint32_t)globaly1*r+globalxpanning-asm1*(xr-xl),(xr-xl)<<16,0L,
|
mhline(globalbufplc,(uint32_t)mulscale6(globaly1,r)+globalxpanning-asm1*(xr-xl),(xr-xl)<<16,0L,
|
||||||
(uint32_t)globalx2*r+globalypanning-asm2*(xr-xl),ylookup[yp]+xl+frameoffset);
|
(uint32_t)mulscale6(globalx2,r)+globalypanning-asm2*(xr-xl),ylookup[yp]+xl+frameoffset);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
thline(globalbufplc,(uint32_t)globaly1*r+globalxpanning-asm1*(xr-xl),(xr-xl)<<16,0L,
|
thline(globalbufplc,(uint32_t)mulscale6(globaly1,r)+globalxpanning-asm1*(xr-xl),(xr-xl)<<16,0L,
|
||||||
(uint32_t)globalx2*r+globalypanning-asm2*(xr-xl),ylookup[yp]+xl+frameoffset);
|
(uint32_t)mulscale6(globalx2,r)+globalypanning-asm2*(xr-xl),ylookup[yp]+xl+frameoffset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -7128,18 +7128,18 @@ static void dosetaspect(void)
|
||||||
{
|
{
|
||||||
oxyaspect = xyaspect;
|
oxyaspect = xyaspect;
|
||||||
j = xyaspect*320;
|
j = xyaspect*320;
|
||||||
horizlookup2[horizycent-1] = divscale26(131072,j);
|
horizlookup2[horizycent-1] = divscale32(131072,j);
|
||||||
|
|
||||||
for (i=0; i < horizycent-1; i++)
|
for (i=0; i < horizycent-1; i++)
|
||||||
{
|
{
|
||||||
horizlookup[i] = divscale28(1, i-(horizycent-1));
|
horizlookup[i] = divscale28(1, i-(horizycent-1));
|
||||||
horizlookup2[i] = divscale14(klabs(horizlookup[i]), j);
|
horizlookup2[i] = divscale20(klabs(horizlookup[i]), j);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i=horizycent; i < ydim*4-1; i++)
|
for (i=horizycent; i < ydim*4-1; i++)
|
||||||
{
|
{
|
||||||
horizlookup[i] = divscale28(1, i-(horizycent-1));
|
horizlookup[i] = divscale28(1, i-(horizycent-1));
|
||||||
horizlookup2[i] = divscale14(klabs(horizlookup[i]), j);
|
horizlookup2[i] = divscale20(klabs(horizlookup[i]), j);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue