int X = (int)mx;
int Y = (int)my;
float SX,SY;
SX = X * 2 / ISO_WIDTH;
ISO_X = (int)SX;
SX = SX - ISO_X;
SY = Y * 4 / (ISO_HEIGHT * 3);
ISO_Y = (int)SY;
if((ISO_X&1)^(ISO_Y&1))
{
SY+=(SX/3);
}
else
{
SY+=((1-SX)/3);
}
ISO_Y = (int)SY;
ISO_X = (int)((ISO_X - ISO_Y) * 0.5);
сделать то сделал, но изза разного округления не выходит, +\-0.5 чет оне помогает