Partial undo of what I did last commit to make Inu happy again.

Note: polyobj_t's "translucency" is apparently a SIGNED integer, so in theory it's possible to get polyobj flats to use the "spanfunc = splatfunc" line using negative values. If this is not meant to happen, this should probably be fixed asap

Conflicts:
	src/f_wipe.c
This commit is contained in:
Monster Iestyn 2015-10-12 15:10:43 +01:00
parent 734419d549
commit 1e131d2786
5 changed files with 30 additions and 30 deletions

View file

@ -750,8 +750,8 @@ void R_DrawSinglePlane(visplane_t *pl)
// Hacked up support for alpha value in software mode Tails 09-24-2002 (sidenote: ported to polys 10-15-2014, there was no time travel involved -Red) // Hacked up support for alpha value in software mode Tails 09-24-2002 (sidenote: ported to polys 10-15-2014, there was no time travel involved -Red)
if (pl->polyobj->translucency >= 10) if (pl->polyobj->translucency >= 10)
return; // Don't even draw it return; // Don't even draw it
else if (pl->polyobj->translucency <= 9 && pl->polyobj->translucency > 0) else if (pl->polyobj->translucency > 0)
ds_transmap = transtables + ((pl->polyobj->translucency-1)<<16); ds_transmap = transtables + ((pl->polyobj->translucency-1)<<FF_TRANSSHIFT);
else // Opaque, but allow transparent flat pixels else // Opaque, but allow transparent flat pixels
spanfunc = splatfunc; spanfunc = splatfunc;
@ -789,23 +789,23 @@ void R_DrawSinglePlane(visplane_t *pl)
if (pl->ffloor->alpha < 12) if (pl->ffloor->alpha < 12)
return; // Don't even draw it return; // Don't even draw it
else if (pl->ffloor->alpha < 38) else if (pl->ffloor->alpha < 38)
ds_transmap = transtables + ((tr_trans90-1)<<16); ds_transmap = transtables + ((tr_trans90-1)<<FF_TRANSSHIFT);
else if (pl->ffloor->alpha < 64) else if (pl->ffloor->alpha < 64)
ds_transmap = transtables + ((tr_trans80-1)<<16); ds_transmap = transtables + ((tr_trans80-1)<<FF_TRANSSHIFT);
else if (pl->ffloor->alpha < 89) else if (pl->ffloor->alpha < 89)
ds_transmap = transtables + ((tr_trans70-1)<<16); ds_transmap = transtables + ((tr_trans70-1)<<FF_TRANSSHIFT);
else if (pl->ffloor->alpha < 115) else if (pl->ffloor->alpha < 115)
ds_transmap = transtables + ((tr_trans60-1)<<16); ds_transmap = transtables + ((tr_trans60-1)<<FF_TRANSSHIFT);
else if (pl->ffloor->alpha < 140) else if (pl->ffloor->alpha < 140)
ds_transmap = transtables + ((tr_trans50-1)<<16); ds_transmap = transtables + ((tr_trans50-1)<<FF_TRANSSHIFT);
else if (pl->ffloor->alpha < 166) else if (pl->ffloor->alpha < 166)
ds_transmap = transtables + ((tr_trans40-1)<<16); ds_transmap = transtables + ((tr_trans40-1)<<FF_TRANSSHIFT);
else if (pl->ffloor->alpha < 192) else if (pl->ffloor->alpha < 192)
ds_transmap = transtables + ((tr_trans30-1)<<16); ds_transmap = transtables + ((tr_trans30-1)<<FF_TRANSSHIFT);
else if (pl->ffloor->alpha < 217) else if (pl->ffloor->alpha < 217)
ds_transmap = transtables + ((tr_trans20-1)<<16); ds_transmap = transtables + ((tr_trans20-1)<<FF_TRANSSHIFT);
else if (pl->ffloor->alpha < 243) else if (pl->ffloor->alpha < 243)
ds_transmap = transtables + ((tr_trans10-1)<<16); ds_transmap = transtables + ((tr_trans10-1)<<FF_TRANSSHIFT);
else // Opaque, but allow transparent flat pixels else // Opaque, but allow transparent flat pixels
spanfunc = splatfunc; spanfunc = splatfunc;
@ -1066,7 +1066,7 @@ using the palette colors.
if (spanfunc == R_DrawSpan_8) if (spanfunc == R_DrawSpan_8)
{ {
INT32 i; INT32 i;
ds_transmap = transtables + ((tr_trans50-1)<<16); ds_transmap = transtables + ((tr_trans50-1)<<FF_TRANSSHIFT);
spanfunc = R_DrawTranslucentSpan_8; spanfunc = R_DrawTranslucentSpan_8;
for (i=0; i<4; i++) for (i=0; i<4; i++)
{ {

View file

@ -183,7 +183,7 @@ static void R_DrawWallSplats(void)
colfunc = basecolfunc; colfunc = basecolfunc;
else else
{ {
dc_transmap = transtables + ((tr_trans50 - 1)<<16); dc_transmap = transtables + ((tr_trans50 - 1)<<FF_TRANSSHIFT);
colfunc = fuzzcolfunc; colfunc = fuzzcolfunc;
} }
@ -312,7 +312,7 @@ void R_RenderMaskedSegRange(drawseg_t *ds, INT32 x1, INT32 x2)
case 906: case 906:
case 907: case 907:
case 908: case 908:
dc_transmap = transtables + ((ldef->special-900)<<16); dc_transmap = transtables + ((ldef->special-900)<<FF_TRANSSHIFT);
colfunc = fuzzcolfunc; colfunc = fuzzcolfunc;
break; break;
case 909: case 909:
@ -330,7 +330,7 @@ void R_RenderMaskedSegRange(drawseg_t *ds, INT32 x1, INT32 x2)
if (curline->polyseg->translucency >= NUMTRANSMAPS) if (curline->polyseg->translucency >= NUMTRANSMAPS)
return; return;
dc_transmap = transtables + ((curline->polyseg->translucency-1)<<16); dc_transmap = transtables + ((curline->polyseg->translucency-1)<<FF_TRANSSHIFT);
colfunc = fuzzcolfunc; colfunc = fuzzcolfunc;
} }
@ -709,23 +709,23 @@ void R_RenderThickSideRange(drawseg_t *ds, INT32 x1, INT32 x2, ffloor_t *pfloor)
if (pfloor->alpha < 12) if (pfloor->alpha < 12)
return; // Don't even draw it return; // Don't even draw it
else if (pfloor->alpha < 38) else if (pfloor->alpha < 38)
dc_transmap = transtables + ((tr_trans90-1)<<16); dc_transmap = transtables + ((tr_trans90-1)<<FF_TRANSSHIFT);
else if (pfloor->alpha < 64) else if (pfloor->alpha < 64)
dc_transmap = transtables + ((tr_trans80-1)<<16); dc_transmap = transtables + ((tr_trans80-1)<<FF_TRANSSHIFT);
else if (pfloor->alpha < 89) else if (pfloor->alpha < 89)
dc_transmap = transtables + ((tr_trans70-1)<<16); dc_transmap = transtables + ((tr_trans70-1)<<FF_TRANSSHIFT);
else if (pfloor->alpha < 115) else if (pfloor->alpha < 115)
dc_transmap = transtables + ((tr_trans60-1)<<16); dc_transmap = transtables + ((tr_trans60-1)<<FF_TRANSSHIFT);
else if (pfloor->alpha < 140) else if (pfloor->alpha < 140)
dc_transmap = transtables + ((tr_trans50-1)<<16); dc_transmap = transtables + ((tr_trans50-1)<<FF_TRANSSHIFT);
else if (pfloor->alpha < 166) else if (pfloor->alpha < 166)
dc_transmap = transtables + ((tr_trans40-1)<<16); dc_transmap = transtables + ((tr_trans40-1)<<FF_TRANSSHIFT);
else if (pfloor->alpha < 192) else if (pfloor->alpha < 192)
dc_transmap = transtables + ((tr_trans30-1)<<16); dc_transmap = transtables + ((tr_trans30-1)<<FF_TRANSSHIFT);
else if (pfloor->alpha < 217) else if (pfloor->alpha < 217)
dc_transmap = transtables + ((tr_trans20-1)<<16); dc_transmap = transtables + ((tr_trans20-1)<<FF_TRANSSHIFT);
else if (pfloor->alpha < 243) else if (pfloor->alpha < 243)
dc_transmap = transtables + ((tr_trans10-1)<<16); dc_transmap = transtables + ((tr_trans10-1)<<FF_TRANSSHIFT);
else else
fuzzy = false; // Opaque fuzzy = false; // Opaque

View file

@ -503,7 +503,7 @@ static void R_RenderFloorSplat(floorsplat_t *pSplat, vertex_t *verts, UINT8 *pTe
{ {
ds_x1 = x1; ds_x1 = x1;
ds_x2 = x2; ds_x2 = x2;
ds_transmap = transtables + ((tr_trans50-1)<<16); ds_transmap = transtables + ((tr_trans50-1)<<FF_TRANSSHIFT);
splatfunc(); splatfunc();
} }

View file

@ -1321,9 +1321,9 @@ static void R_ProjectSprite(mobj_t *thing)
if (!cv_translucency.value) if (!cv_translucency.value)
; // no translucency ; // no translucency
else if (thing->flags2 & MF2_SHADOW) // actually only the player should use this (temporary invisibility) else if (thing->flags2 & MF2_SHADOW) // actually only the player should use this (temporary invisibility)
vis->transmap = transtables + ((tr_trans80-1)<<16); // because now the translucency is set through FF_TRANSMASK vis->transmap = transtables + ((tr_trans80-1)<<FF_TRANSSHIFT); // because now the translucency is set through FF_TRANSMASK
else if (thing->frame & FF_TRANSMASK) else if (thing->frame & FF_TRANSMASK)
vis->transmap = transtables + ((((thing->frame & FF_TRANSMASK)>>FF_TRANSSHIFT)-1)<<16); vis->transmap = transtables + (thing->frame & FF_TRANSMASK) - 0x10000;
if (((thing->frame & FF_FULLBRIGHT) || (thing->flags2 & MF2_SHADOW)) if (((thing->frame & FF_FULLBRIGHT) || (thing->flags2 & MF2_SHADOW))
&& (!vis->extra_colormap || !vis->extra_colormap->fog)) && (!vis->extra_colormap || !vis->extra_colormap->fog))

View file

@ -366,7 +366,7 @@ void V_DrawFixedPatch(fixed_t x, fixed_t y, fixed_t pscale, INT32 scrn, patch_t
} }
if (alphalevel) if (alphalevel)
{ {
v_translevel = transtables + ((alphalevel-1)<<16); v_translevel = transtables + ((alphalevel-1)<<FF_TRANSSHIFT);
patchdrawfunc = translucentpdraw; patchdrawfunc = translucentpdraw;
} }
@ -1869,7 +1869,7 @@ void V_DoPostProcessor(INT32 view, postimg_t type, INT32 param)
angle_t disStart = (leveltime * 128) & FINEMASK; // in 0 to FINEANGLE angle_t disStart = (leveltime * 128) & FINEMASK; // in 0 to FINEANGLE
INT32 newpix; INT32 newpix;
INT32 sine; INT32 sine;
//UINT8 *transme = transtables + ((tr_trans50-1)<<16); //UINT8 *transme = transtables + ((tr_trans50-1)<<FF_TRANSSHIFT);
for (y = yoffset; y < yoffset+height; y++) for (y = yoffset; y < yoffset+height; y++)
{ {
@ -1926,7 +1926,7 @@ Unoptimized version
INT32 x, y; INT32 x, y;
// TODO: Add a postimg_param so that we can pick the translucency level... // TODO: Add a postimg_param so that we can pick the translucency level...
UINT8 *transme = transtables + ((param-1)<<16); UINT8 *transme = transtables + ((param-1)<<FF_TRANSSHIFT);
for (y = yoffset; y < yoffset+height; y++) for (y = yoffset; y < yoffset+height; y++)
{ {