int direction = (fabs(click[DIR_X] -......
int speed = (click[direction] < currentDownAt[direction]) ?...
/*float*/ double newCorners[2][2]; // VC++ wants a widening conversion
newCorners[CORNER_NW][DIR_X] = currentBlock->corners[...
newCorners[CORNER_NW][DIR_Y] = currentBlock->corners[...
memcpy(currentBlock->corners, newCorners, 4 * sizeof(float));
Pointer arithmetic sucks.