public void load(String fileLoc)
	{
		Scanner sc = null;
		try
		{
			File file = new File("src/res/maps/" + fileLoc);
			if (!file.exists())
			{
				System.out.println("No File! " + fileLoc);
				return;
			}
			
			sc = new Scanner(file);
			
			{
				tileWidth = sc.nextInt();
				tileHeight = sc.nextInt();
				mapWidth = tileWidth * Tile.size;
				mapHeight = tileHeight * Tile.size;
				spawnX = sc.nextInt();
				spawnY = sc.nextInt();
//				System.out.println(tileWidth + " " + tileHeight);
				
				int numEntities = sc.nextInt();
				int numDecorations = sc.nextInt();
				tileGrid = new Tile[tileHeight][tileWidth];
				for(int j = 0; j < tileHeight; j++)
				{
					for(int i = 0; i < tileWidth; i++)
					{
						int id = sc.nextInt();
						Tile t = TileGenerator.genTile(this, id, new Vector2f(i, j));
						tileGrid[j][i] = t;
						if(t == null)
						{
							System.out.println(i + " " + j + " Nope");
						}
						else if (t instanceof InteractiveTile)
							interactionList.add((InteractiveTile) t);
					}
				}
				
				for(int n = 0; n < numEntities; n++)
				{
					int id = sc.nextInt();
					float x = sc.nextFloat();
					float y = sc.nextFloat();
					entityList.add(EntityGenerator.genEntity(GameState.world, id, new Vector2f(x, y)));
				}
				
				for(int n = 0; n < numDecorations; n++)
				{
					int id = sc.nextInt();
					float x = sc.nextFloat();
					float y = sc.nextFloat();
					
					Decoration d = DecorationGenerator.genDecoration(GameState.world, id, new Vector2f(x, y));
					decorations.add(d);
					lightSources.add(d.light);
				}
			}
			
			sc.close();
		}
		catch (IOException eio)
		{
			eio.printStackTrace();
		} 
		catch (SlickException e) 
		{
			e.printStackTrace();
		}
	}