Index: client/Client/main.cpp
===================================================================
--- client/Client/main.cpp	(revision a1a3bd51b2971b55956f9e2e6fa0ef6e2790fce8)
+++ client/Client/main.cpp	(revision 227baaac00d4d0f4faf148d24d2f96055d08ab45)
@@ -286,5 +286,5 @@
             for (it = mapPlayers.begin(); it != mapPlayers.end(); it++)
             {
-               it->second.move();   // ignore return value
+               it->second.move(gameMap);   // ignore return value
             }
 
Index: common/Player.cpp
===================================================================
--- common/Player.cpp	(revision a1a3bd51b2971b55956f9e2e6fa0ef6e2790fce8)
+++ common/Player.cpp	(revision 227baaac00d4d0f4faf148d24d2f96055d08ab45)
@@ -83,5 +83,5 @@
 }
 
-bool Player::move(WorldMap map) {
+bool Player::move(WorldMap *map) {
    int speed = 100; // pixels per second
    unsigned long long curTime = getCurrentMillis();
@@ -102,11 +102,11 @@
          newPos.y = int(pos.y + sin(angle)*pixels);
 
-         switch(map.getElement(newPos.x/25, newPos.y/25)) {
-            case WorldMap.TerrainType.TERRAIN_OCEAN:
-            case WorldMap.TerrainType.TERRAIN_ROCK:
-               target.x = pos.x;
-               target.y = pos.y;
-               moveCanceled = true;
-               break;
+         switch(map->getElement(newPos.x/25, newPos.y/25)) {
+         case WorldMap::TERRAIN_NONE:
+         case WorldMap::TERRAIN_ROCK:
+            target.x = pos.x;
+            target.y = pos.y;
+            moveCanceled = true;
+            break;
          }
       }
Index: common/Player.h
===================================================================
--- common/Player.h	(revision a1a3bd51b2971b55956f9e2e6fa0ef6e2790fce8)
+++ common/Player.h	(revision 227baaac00d4d0f4faf148d24d2f96055d08ab45)
@@ -33,5 +33,5 @@
    void setAddr(sockaddr_in addr);
 
-   bool move(WorldMap map);
+   bool move(WorldMap *map);
 
    int id;
