@Override
  public void render(Screen screen) {

    screen.clear(0);
    screen.blit(Art.emptyBackground, 0, 0);
    Font.defaultFont().draw(screen, MojamComponent.texts.getStatic("mp.enterIP"), 100, 100);
    Font.defaultFont().draw(screen, TitleMenu.ip + "-", 100, 120);

    super.render(screen);
  }
  public void render(Screen screen) {

    screen.clear(0);
    //        screen.blit(Art.titles[1], 0, 10);
    screen.blit(Art.titleScreen, 0, 0);

    super.render(screen);

    screen.blit(Art.lordLard[0][6], (gameWidth - 128) / 2 - 40, 180 + selectedItem * 40);
  }
  @Override
  public void render(Screen screen) {
    screen.clear(0);

    // level floor
    screen.blit(mapFloor, mapX, mapY);

    // level tiles
    for (int x = 0; x < LEVEL_HEIGHT; x++) {
      for (int y = 0; y < LEVEL_WIDTH; y++) {

        if (map[x][y] == null) continue;

        if (map[x][y].h == TILE_HEIGHT) {
          if (mapTile[x][y] == HoleTile.COLOR) {
            if (y > 0 && !(mapTile[x][y - 1] == HoleTile.COLOR)) {
              screen.blit(map[x][y], TILE_HEIGHT * x + mapX, TILE_HEIGHT * y + mapY);
            } else {
              screen.fill(
                  TILE_HEIGHT * x + mapX, TILE_HEIGHT * y + mapY, TILE_WIDTH, TILE_HEIGHT, 0);
            }
          } else {
            screen.blit(map[x][y], TILE_HEIGHT * x + mapX, TILE_HEIGHT * y + mapY);
          }
        } else {
          // tile real height
          int tileH = (int) (Math.ceil(map[x][y].h / (float) TILE_HEIGHT)) * TILE_WIDTH;
          int tileY = TILE_HEIGHT - (tileH - map[x][y].h);

          if (mapTile[x][y] == UnbreakableRailTile.COLOR) {
            boolean n = y > 0 && mapTile[x][y - 1] == UnbreakableRailTile.COLOR;
            boolean s = y < 47 && mapTile[x][y + 1] == UnbreakableRailTile.COLOR;
            boolean w = x > 0 && mapTile[x - 1][y] == UnbreakableRailTile.COLOR;
            boolean e = x < 47 && mapTile[x + 1][y] == UnbreakableRailTile.COLOR;

            int c = (n ? 1 : 0) + (s ? 1 : 0) + (w ? 1 : 0) + (e ? 1 : 0);
            int img;

            if (c <= 1) {
              img = (n || s) ? 1 : 0; // default is horizontal
            } else if (c == 2) {
              if (n && s) {
                img = 1; // vertical
              } else if (w && e) {
                img = 0; // horizontal
              } else {
                img = n ? 4 : 2; // north turn
                img += e ? 0 : 1; // south turn
              }
            } else { // 3 or more turning disk
              img = 6;
            }
            screen.blit(Art.rails[img][0], mapX + TILE_HEIGHT * x, mapY + TILE_HEIGHT * y - tileY);
          } else {
            screen.blit(map[x][y], mapX + TILE_HEIGHT * x, mapY + TILE_HEIGHT * y - tileY);
          }
        }
      }
    }

    // pencil position indicator
    for (int x = 0; x < LEVEL_HEIGHT; x++) {
      for (int y = 0; y < LEVEL_WIDTH; y++) {
        if (x == (((pencilX + TILE_WIDTH / 2) - mapX) / TILE_WIDTH)
            && y == (((pencilY + TILE_HEIGHT / 2) - mapY) / TILE_HEIGHT)) {
          screen.blit(pencil, TILE_HEIGHT * x + mapX, TILE_HEIGHT * y + mapY);
          break;
        }
      }
    }

    super.render(screen);

    // minimap
    screen.blit(minimap, screen.w - minimap.w - 6, 6);

    // title
    // Font.defaultFont().drawCentered(screen, MojamComponent.texts.getStatic("leveleditor.title"),
    // MENU_WIDTH / 2, 10);
  }