public void loadMap(int level, int map, Vector2f position)
	{
		if (level == 0 || (tutorial > 0 && map == 0))
		{
			world.killHero();
			return;
		}
		EditorLevelInformation currentlevel = levels.get("level " + level);
		EditorMapInformation objectList = currentlevel.getMaps().get("map " + map);
		if(objectList == null)
			System.exit(0);
		curLvl = level;
		curMap = map;
		GameMap panel = new GameMap(world, this, objectList, position);
		try
		{
			Class<? extends GameMap> cl = specialLevels.get("" + level + "-" + map);
			if (cl == specialLevels.get("1-0"))
				panel = new L1M00(world, this, objectList, position);
			if (cl == specialLevels.get("1-1"))
				panel = new L1M01(world, this, objectList, position);
			if (cl == specialLevels.get("1-2"))
				panel = new L1M02(world, this, objectList, position);
			if (cl == specialLevels.get("1-3"))
				panel = new L1M03(world, this, objectList, position);
			if (cl == specialLevels.get("1-4"))
				panel = new L1M04(world, this, objectList, position);
			// if (cl == specialLevels.get("1-20"))
			// panel = new L1M20(world, this, objectList, position);
			// TODO: add special map here
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		finally
		{
			panel.setSeen(dejavuCheck());
			if (world.getDeathCount() >= 10 && !tenDeathsSeen)
			{
				panel.setSeen(false);
				panel.setShow(true);
				panel.setLine1(Messages.tenthDeath);
				panel.setLine2(Messages.tenthDeath2);
				tenDeathsSeen = true;
			}
			else if (world.getDeathCount() >= 25 && !twentyfiveDeathsSeen)
			{
				panel.setSeen(false);
				panel.setShow(true);
				panel.setLine1(Messages.twentyfifthDeath);
				panel.setLine2(Messages.twentyfifthDeath2);
				twentyfiveDeathsSeen = true;
			}
			else if (world.getDeathCount() >= 35 && !thirtyfiveDeathsSeen)
			{
				panel.setSeen(false);
				panel.setShow(true);
				panel.setLine1(Messages.thirtyfifthDeath);
				panel.setLine2(Messages.thirtyfifthDeath2);
				thirtyfiveDeathsSeen = true;
			}
			
			if (tutorial == curMap && tutorial < 5)
			{
				panel.setSeen(false);
				panel.setShow(false);
				tutorial++;
			}
			world.setCurrentLevel(currentlevel);
			loadMap(panel);
		}

	}