public void Save_Level()
	{
		Save_Waypoints();
		Clean_List();
		try
		{
			FileWriter fw = new FileWriter(System.getProperty("user.dir") + "/" + "level.cfg", false);
			BufferedWriter output = new BufferedWriter(fw);

			int i = 1;

			for (GroupedRooms room : rooms)
			{
				output.write(String.format("#--ROOM %d--#\n", i++));
				output.write("#--Rectangles--#\n");
				for (Room r : room.getRooms())
				{
					output.write(String.format("%d %d %d %d\n", r.x, r.y, r.width, r.height));
				}

				output.write("#--Lights--#\n");
				for (Light l : room.getLights())
				{
					output.write(String.format(
							"%d %d %s %d\n",
							(int) l.getX(),
							(int) l.getY(),
							Float.toString(l.getIntensity()),
							l.getType()));
				}
				output.write(String.format("\n"));
			}

			output.write(String.format("\n"));
			output.write("##--WALLS--##\n");

			for (Rectangle curr : walls)
			{
				output.write(String.format(
						"%d %d %d %d\n",
						(int) curr.getX(),
						(int) curr.getY(),
						(int) curr.getWidth(),
						(int) curr.getHeight()));
			}

			output.write(String.format("\n"));
			output.write(String.format("\n"));
			output.write("##--DOORS--##\n");

			for (Door curr : doors)
			{
				output.write(String.format(
						"%d %d %d %d\n",
						(int) curr.getPos().X,
						(int) curr.getPos().Y,
						(int) curr.getW(),
						(int) curr.getH()));
			}

			output.write(String.format("\n"));
			output.write(String.format("\n"));
			output.write("##--TEXTURES--##\n");

			for (Obj curr : positions)
			{
				output.write(String.format("%d %d %d %d\n", curr.getT(), curr.getId(), (int) curr.getPos().X, (int) curr.getPos().Y));
			}

			output.flush();
			output.close();
		}
		catch (IOException ioe)
		{
			System.out.print("Erreur : ");
			ioe.printStackTrace();
		}
	}