public Engine(int width, int height, String title, boolean fullScreen){
		
		WIDTH = width;
		HEIGHT = height;
		TITLE = title;
		
		File config = new File("resources/engine.cfg");
		File configDir = new File("resources/");
		if(config.exists()){
			
			new ConfigLoader(true, this);
			LinkedList<ConfigType> conT = ConfigLoader.configOptions;
			
			for(int i = 0; i < conT.size(); i++){
				
				ConfigType curCon = conT.get(i);
				
				if(curCon.optionName.equals("autoVersionSearch")){ autoVersionSearch = curCon.current; }else
				if(curCon.optionName.equals("licenseConsole")){ licenseConsole = curCon.current; }else
				if(curCon.optionName.equals("readMeConsole")){ readMeConsole = curCon.current; }else
				if(curCon.optionName.equals("firstRun")){ firstRun = curCon.current; }
				
			}
			
		}else{
			
			try {
				
				configDir.mkdir();
				createConfigLater = true;
				
			} catch (Exception e) { e.printStackTrace(); }
			
		}
		
		if(firstRun){
			
			JOptionPane.showMessageDialog(null, "Downloading required resources! Please do not close the program.", "Engine Syncronization", JOptionPane.INFORMATION_MESSAGE);
			new FirstRun();
			
		}
		
		if(licenseConsole){
			
			//**Please read this license or know what it means BEFORE you make games with it. I don't want any trouble.*/
			new URLTextFetcher("https://raw.githubusercontent.com/Aestrocorp/Graphics-Engine/master/Graphics%20Engine/resources/LICENSE.txt");
			
		}
		
		if(readMeConsole){
			
			//**Read me file fetch [OPTIONAL]*/
			new URLTextFetcher("https://raw.githubusercontent.com/Aestrocorp/Graphics-Engine/master/Graphics%20Engine/resources/readme.txt");
			
		}
		
		if(autoVersionSearch){
			
			String getversion = new URLTextFetcher("https://raw.githubusercontent.com/Aestrocorp/Graphics-Engine/master/Graphics%20Engine/resources/version%5Bmaster%5D").returnline();
			if(!version.equals(getversion)){
				JOptionPane.showMessageDialog(null, "New engine update available!", "Updater", JOptionPane.INFORMATION_MESSAGE);
			}
			
		}
		
		File readMeFile = new File("resources/readme.txt");
		File licenseFile = new File("resources/LICENSE.txt");
		
		if(!readMeFile.exists()){ new URLFileFetcher("https://raw.githubusercontent.com/Aestrocorp/Graphics-Engine/master/Graphics%20Engine/resources/readme.txt", "resources/readme.txt"); }
		if(!licenseFile.exists()){ new URLFileFetcher("https://raw.githubusercontent.com/Aestrocorp/Graphics-Engine/master/Graphics%20Engine/resources/LICENSE.txt", "resources/LICENSE.txt"); }
		
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setTitle(TITLE);
		
		if(fullScreen){
			frame.setUndecorated(true);
			frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
			
			WIDTH = frame.getWidth();
			HEIGHT = frame.getHeight();
			autoClose = true;
		}else{ frame.setSize(WIDTH, HEIGHT); frame.setResizable(false); }
		
		frame.add(this);
		
		InputListener iL = new InputListener();
		this.addKeyListener(iL);
		this.addMouseListener(iL);
		
		frame.setVisible(true);
		
	}