--- map_old.c Sat Jul 21 20:49:07 2001 +++ map.c Sat Jul 21 20:10:35 2001 @@ -1265,10 +1265,10 @@ if (*y < 0 || *y >= map.ysize) return FALSE; - *x %= map.xsize; - - if (*x < 0) + while (*x < 0) *x += map.xsize; + while (*x > map.xsize-1) + *x -= map.xsize; return TRUE; }