       'dive':            4
       'drop-middle':     4
       'drop-low':        4
+      'exchange-alt':    4
       'exchange':        4
-      'exchange-alt':    4
     'low':
       'crossing':        1
       'curve':           4

  # Relative to the point of origin of the canvas
  renderingCoordinatesForBlock: (x,y,z) ->
    screenX = (x + y) * @settings.blockSizeHalf
    screenY = @settings.canvasHeight - 3 * @settings.blockSizeQuarter - (2 * z + x - y + @map.size) * @settings.blockSizeQuarter

    [screenX, screenY]

  # Returns either 'top', 'south', 'east' or null depending on what side
  # of a block (if any) is displayed at the given coordinates
  sideAtScreenCoordinates: (x, y) ->
    pixel = @hittestContext.getImageData x, y, 1, 1

    if pixel.data[0] > 0
      return 'south'
    else if pixel.data[1] > 0


  setupTextures: (textureFile) ->
    textureOffset = 0
    for textureGroup, textureDescription of Renderer.TextureFileDescription
      for texture, rotationsCount of textureDescription
        console.log "loading #{textureGroup}.#{texture}" if DEBUG

