direction.h
changeset 3163 129a91e147b8
parent 3162 68efad70f8a4
child 3209 e0b7d48351a3
equal deleted inserted replaced
3162:68efad70f8a4 3163:129a91e147b8
    63 {
    63 {
    64 	return (DiagDirection)(2 ^ d);
    64 	return (DiagDirection)(2 ^ d);
    65 }
    65 }
    66 
    66 
    67 
    67 
       
    68 typedef enum DiagDirDiff {
       
    69 	DIAGDIRDIFF_SAME    = 0,
       
    70 	DIAGDIRDIFF_90RIGHT = 1,
       
    71 	DIAGDIRDIFF_REVERSE = 2,
       
    72 	DIAGDIRDIFF_90LEFT  = 3
       
    73 } DiagDirDiff;
       
    74 
       
    75 static inline DiagDirection ChangeDiagDir(DiagDirection d, DiagDirDiff delta)
       
    76 {
       
    77 	return (DiagDirection)((d + delta) % 4);
       
    78 }
       
    79 
       
    80 
    68 static inline DiagDirection DirToDiagDir(Direction dir)
    81 static inline DiagDirection DirToDiagDir(Direction dir)
    69 {
    82 {
    70 	return (DiagDirection)(dir >> 1);
    83 	return (DiagDirection)(dir >> 1);
    71 }
    84 }
    72 
    85