this is my tile ploting code:

int MapX, MapY, i, j;

int X_Overlap, Y_Overlap;

MapX = x;

MapY = y;

X_Overlap = 22;

Y_Overlap = 22;

for(i=0; i<22; i++)

{

for(j=0; j<11; j++)

{

masked_blit(data[MAP[0][MAPx+j][MAPy+i].tileimage].dat, display, 0, 0, 2*X_Overlap*j+(X_Overlap)*(i & 1), +Y_Overlap*i, TILESIZE, TILESIZE);

MapX++;

}

MapX=x;

MapY++;

}

the problem is that when i move the map in diagonals (NE, NW, SE, SW), the tiles do not redraw in the right places when on odd rows, if i move diagonal again to an even row, they sort themselves out.

N, W, S, E all work ok.

please help