rope: CheezeMonkey (omg I mentioned your name :O) has pointed out that there is still a way to get stuck in walls. This should fix it.
NOTE: although not necessary for this fix to work rope behavior got also changed:
I removed the direction-bias. if you press left and right at the same time the result is now neutral rather than left.
FIND_PATH(GMP_INCLUDE_DIR gmp.h)
FIND_LIBRARY(GMP_LIBRARY NAMES GMP gmp)
IF (GMP_INCLUDE_DIR AND GMP_LIBRARY)
SET(GMP_FOUND TRUE)
ENDIF (GMP_INCLUDE_DIR AND GMP_LIBRARY)
IF (GMP_FOUND)
IF (NOT GMP_FIND_QUIETLY)
MESSAGE(STATUS "Found GMP: ${GMP_LIBRARY}")
ENDIF (NOT GMP_FIND_QUIETLY)
ELSE (GMP_FOUND)
IF (GMP_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find GMP")
ENDIF (GMP_FIND_REQUIRED)
ENDIF (GMP_FOUND)