uncap vhs effect
both this and the last commit are from Saturn
This commit is contained in:
parent
78751d9659
commit
4cae11d307
1 changed files with 13 additions and 21 deletions
|
|
@ -1402,7 +1402,7 @@ void V_DrawPatchFill(patch_t *pat)
|
|||
|
||||
void V_DrawVhsEffect(boolean rewind)
|
||||
{
|
||||
static fixed_t upbary = 100, downbary = 150;
|
||||
static fixed_t upbary = 100*FRACUNIT, downbary = 150*FRACUNIT;
|
||||
|
||||
UINT8 *buf = screens[0], *tmp = screens[4];
|
||||
UINT16 y;
|
||||
|
|
@ -1422,27 +1422,19 @@ void V_DrawVhsEffect(boolean rewind)
|
|||
if (rewind)
|
||||
V_DrawVhsEffect(false); // experimentation
|
||||
|
||||
if (R_UsingFrameInterpolation()) // omg i fucking hate interp so much, its a bit smoother but still not great whatever, atleast like this shit wont completely go nuts when youre on high framerates
|
||||
{
|
||||
if (renderisnewtic)
|
||||
{
|
||||
upbary -= FixedMul(vid.dupy * (rewind ? 3 : 1.8f), 22937*3);
|
||||
downbary += FixedMul(vid.dupy * (rewind ? 2 : 1), 22937*3);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
upbary -= vid.dupy * (rewind ? 3 : 1.8f);
|
||||
downbary += vid.dupy * (rewind ? 2 : 1);
|
||||
}
|
||||
fixed_t frac = R_UsingFrameInterpolation() ? renderdeltatics : FRACUNIT;
|
||||
upbary -= frac * (vid.dupy * (rewind ? 3 : 1.8f));
|
||||
downbary += frac * (vid.dupy * (rewind ? 2 : 1));
|
||||
|
||||
if (upbary < -barsize) upbary = vid.height;
|
||||
if (downbary > vid.height) downbary = -barsize;
|
||||
if (upbary < -barsize*FRACUNIT) upbary = vid.height<<FRACBITS;
|
||||
if (downbary > vid.height<<FRACBITS) downbary = -barsize*FRACUNIT;
|
||||
|
||||
fixed_t uby = upbary>>FRACBITS, dby = downbary>>FRACBITS;
|
||||
|
||||
#ifdef HWRENDER
|
||||
if ((rendermode == render_opengl))
|
||||
{
|
||||
HWR_RenderVhsEffect(upbary, downbary, updistort, downdistort, barsize);
|
||||
HWR_RenderVhsEffect(uby, dby, updistort, downdistort, barsize);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
|
@ -1452,15 +1444,15 @@ void V_DrawVhsEffect(boolean rewind)
|
|||
thismapstart = normalmapstart;
|
||||
offs = 0;
|
||||
|
||||
if (y >= upbary && y < upbary+barsize)
|
||||
if (y >= uby && y < uby+barsize)
|
||||
{
|
||||
thismapstart -= (2<<FF_TRANSSHIFT) - (5<<8);
|
||||
offs += updistort * 2.0f * min(y-upbary, upbary+barsize-y) / barsize;
|
||||
offs += updistort * 2.0f * min(y-uby, uby+barsize-y) / barsize;
|
||||
}
|
||||
if (y >= downbary && y < downbary+barsize)
|
||||
if (y >= dby && y < dby+barsize)
|
||||
{
|
||||
thismapstart -= (2<<FF_TRANSSHIFT) - (5<<8);
|
||||
offs -= downdistort * 2.0f * min(y-downbary, downbary+barsize-y) / barsize;
|
||||
offs -= downdistort * 2.0f * min(y-dby, dby+barsize-y) / barsize;
|
||||
}
|
||||
offs += M_RandomKey(vid.dupx<<1);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue