I_Error ("R_DrawColumn: %i to %i at %i", dc_yl, dc_yh, dc_x);
}
//dccount++;
#endif
//Blocky mode, need to multiply by 2. dc_x <<= 1;
dest = ylookup[dc_yl] + columnofs[dc_x]; dest2 = ylookup[dc_yl] + columnofs[dc_x+1];
fracstep = dc_iscale;
frac = dc_texturemid + (dc_yl-centery)*fracstep;
do
{
// Hack. Does not work corretly.
*dest2 = *dest = dc_colormap[dc_source[(frac>>FRACBITS)&127]]; dest += SCREENWIDTH;
dest2 += SCREENWIDTH; frac += fracstep;
} while (count--);
}
//
// Spectre/Invisibility.
//
#define FUZZTABLE |
50 |
#define FUZZOFF |
(SCREENWIDTH) |
int |
fuzzoffset[FUZZTABLE] = |
{ |
|
|
FUZZOFF,-FUZZOFF,FUZZOFF,-FUZZOFF,FUZZOFF,FUZZOFF,-FUZZOFF, FUZZOFF,FUZZOFF,-FUZZOFF,FUZZOFF,FUZZOFF,FUZZOFF,-FUZZOFF, FUZZOFF,FUZZOFF,FUZZOFF,-FUZZOFF,-FUZZOFF,-FUZZOFF,-FUZZOFF, FUZZOFF,-FUZZOFF,-FUZZOFF,FUZZOFF,FUZZOFF,FUZZOFF,FUZZOFF,-FUZZOFF, FUZZOFF,-FUZZOFF,FUZZOFF,FUZZOFF,-FUZZOFF,-FUZZOFF,FUZZOFF, FUZZOFF,-FUZZOFF,-FUZZOFF,-FUZZOFF,-FUZZOFF,FUZZOFF,FUZZOFF, FUZZOFF,FUZZOFF,-FUZZOFF,FUZZOFF,FUZZOFF,-FUZZOFF,FUZZOFF
};
//
//Framebuffer postprocessing.
//Creates a fuzzy image by copying pixels
//from adjacent ones to left and right.
//Used with an all black colormap, this
//could create the SHADOW effect,
//i.e. spectres and invisible players.
void R_DrawFuzzColumn (void)
{
int |
count; |
byte* |
dest; |
fixed_t |
frac; |
fixed_t |
fracstep; |
// Adjust borders. Low...
if (!dc_yl) dc_yl = 1;