public static ArrayList<EntityXML> inverseConvert(String fileName) {
		ArrayList<EntityXML> entities = new ArrayList<EntityXML>();
		
		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
		Document doc;

		try {
			DocumentBuilder builder = factory.newDocumentBuilder();
			doc = builder.parse(new File("assets/maps/" + fileName + ".entities"));
		
			NodeList list = doc.getElementsByTagName("entity");
			
			EnemyType type;
			Point pos;
			int idWalking;
			int idSpeaking;
			
			for (int i = 0; i < list.getLength(); ++i) {
				Node e = list.item(i);
				e = e.getFirstChild();
				
				if (e.getNodeName().equals("type")) 
					type = EnemyType.valueOf(e.getTextContent());
				else
					throw new Exception();
				
				e = e.getNextSibling();
				if (e.getNodeName().equals("position")) 
					pos = new Point(Integer.parseInt(e.getAttributes().getNamedItem("x").getNodeValue()),
							Integer.parseInt(e.getAttributes().getNamedItem("y").getNodeValue()));
				else
					throw new Exception();
				
				e = e.getNextSibling();
				
				if (e.getNodeName().equals("idSpeaking")) 
					idSpeaking = Integer.parseInt( e.getTextContent() );
				else
					throw new Exception();
				
				e = e.getNextSibling();
				
				if (e.getNodeName().equals("idWalking"))
					idWalking = Integer.parseInt( e.getTextContent() );
				else
					throw new Exception();
				
				entities.add(new EntityXML(type, pos, idSpeaking, idWalking));
			}
		
		} catch (ParserConfigurationException e1) {
			e1.printStackTrace();
		} catch (SAXException e1) {
			e1.printStackTrace();
		} catch (IOException e1) {
			e1.printStackTrace();
		} catch (Exception e1) {
			System.out.println("XML Problem! Please redownload the full-game.");
			e1.printStackTrace();
		}
		
		return entities;
	}