blob: d976e3207f652b3939e3c127d4bbf45a2ec3de3f [file] [log] [blame]
void
f (int n, int ppt, int xrot)
{
int tileWidth;
int nlwSrc;
int srcx;
int v3, v4;
register unsigned long ca1, cx1, ca2, cx2;
unsigned long *pSrcLine;
register unsigned long *pDst;
register unsigned long *pSrc;
register unsigned long b, tmp;
unsigned long tileEndMask;
int v1, v2;
int tileEndPart;
int needFirst;
tileEndPart = 0;
v1 = tileEndPart << 5;
v2 = 32 - v1;
while (n--)
{
if ((srcx = (ppt - xrot) % tileWidth) < 0)
if (needFirst)
if (nlwSrc == 1)
{
tmp = b;
if (tileEndPart)
b = (*pSrc & tileEndMask) | (*pSrcLine >> v1);
}
if (tileEndPart)
b = (tmp << v1) | (b >> v2);
if (v4 != 32)
*pDst = (*pDst & ((tmp << v3) | (b >> v4) & ca1 ^ cx1)
^ (((tmp << v3) | (b >> v4)) & ca2 ^ cx2));
*pDst = *pDst & tmp;
}
}