anchor.diff:      y1 := pY - 1 - (fTerrain.Land[pY, pX].Height + VO) / CELL_HEIGHT_DIV;
       y2 := pY - 1 - (fTerrain.Land[pY, pX + 1].Height + VO) / CELL_HEIGHT_DIV;
   
  -    FenceWidth := GFXData[rxGui,TexID].PxWidth / CELL_SIZE_PX;
  +    FenceY := GFXData[rxGui,TexID].PxWidth / CELL_SIZE_PX;
       glBegin(GL_QUADS);
  -      glTexCoord2f(UVb.x, UVa.y); glVertex2f(pX-1, y1);
  -      glTexCoord2f(UVa.x, UVa.y); glVertex2f(pX-1, y1 - FenceWidth);
  -      glTexCoord2f(UVa.x, UVb.y); glVertex2f(pX  , y2 - FenceWidth);
  -      glTexCoord2f(UVb.x, UVb.y); glVertex2f(pX  , y2);
  +      glTexCoord2f(UVb.x, UVa.y); glVertex2f(pX-1 -3/ CELL_SIZE_PX, y1);
  +      glTexCoord2f(UVa.x, UVa.y); glVertex2f(pX-1 -3/ CELL_SIZE_PX, y1 - FenceY);
  +      glTexCoord2f(UVa.x, UVb.y); glVertex2f(pX   +3/ CELL_SIZE_PX, y2 - FenceY);
  +      glTexCoord2f(UVb.x, UVb.y); glVertex2f(pX   +3/ CELL_SIZE_PX, y2);
       glEnd;
     end
     else
  
positive.code:     y1 := pY - 1 - (fTerrain.Land[pY, pX].Height + FO + VO) / CELL_HEIGHT_DIV;
      y2 := pY - (fTerrain.Land[pY + 1, pX].Height + VO) / CELL_HEIGHT_DIV;
  
      FenceWidth := GFXData[rxGui,TexID].PxWidth / CELL_SIZE_PX;
      glBegin(GL_QUADS);
        glTexCoord2f(UVa.x, UVa.y); glVertex2f(pX-1-FenceWidth/2, y1);
        glTexCoord2f(UVb.x, UVa.y); glVertex2f(pX-1+FenceWidth/2, y1);
        glTexCoord2f(UVb.x, UVb.y); glVertex2f(pX-1+FenceWidth/2, y2);
        glTexCoord2f(UVa.x, UVb.y); glVertex2f(pX-1-FenceWidth/2, y2);
      glEnd;
    end;
    glBindTexture(GL_TEXTURE_2D, 0);
  
negative.code:       DoOverlays;
        DoLighting;
        DoWater(AnimStep); //Unlit water goes above lit sand
        DoFences;
        DoShadows;
        DoMarks(aFieldsList, aHousePlansList);
      EndVBO;
  
      if SHOW_WALK_CONNECT then
  