Core/burn/drv/pst90s/d_seta.cpp
// this is needed because some color depths (specifically 6 bits per pixel) need colors added rather than xored.
this is needed because some color depths (specifically 6 bits per pixel) need colors added rather than xored.
this is needed because some color depths ( specifically 6 bits per pixel ) need colors added rather than xored .
static void RenderTile(UINT16 *dest, UINT8 *gfx, INT32 code, INT32 color, INT32 trans_col, INT32 sx, INT32 sy, INT32 flipx, INT32 flipy, INT32 width, INT32 height)
{
	INT32 flip = 0;
	if (flipy) flip |= (height - 1) * width;
	if (flipx) flip |= width - 1;
	gfx += code * width * height;
	for (INT32 y = 0; y < height; y++, sy++) {
		if (sy < 0 || sy >= nScreenHeight) continue;
		for (INT32 x = 0; x < width; x++, sx++) {
			if (sx < 0 || sx >= nScreenWidth) continue;
			INT32 pxl = gfx[((y * width) + x) ^ flip];
			if (pxl == trans_col) continue;
			dest[sy * nScreenWidth + sx] = pxl + color;
		}
		sx -= width;
	}
}
static void RenderTile ( UINT16 * dest , UINT8 * gfx , INT32 code , INT32 color , INT32 trans_col , INT32 sx , INT32 sy , INT32 flipx , INT32 flipy , INT32 width , INT32 height ) { INT32 flip = 0 ; if ( flipy ) flip |= ( height - 1 ) * width ; if ( flipx ) flip |= width - 1 ; gfx += code * width * height ; for ( INT32 y = 0 ; y < height ; y ++ , sy ++ ) { if ( sy < 0 || sy >= nScreenHeight ) continue ; for ( INT32 x = 0 ; x < width ; x ++ , sx ++ ) { if ( sx < 0 || sx >= nScreenWidth ) continue ; INT32 pxl = gfx [ ( ( y * width ) + x ) ^ flip ] ; if ( pxl == trans_col ) continue ; dest [ sy * nScreenWidth + sx ] = pxl + color ; } sx -= width ; } }
this is needed because some color depths (specifically 6 bits per pixel) need colors added rather than xored.
this is needed because some color depths ( specifically 6 bits per pixel ) need colors added rather than xored .