static void NewSettings (String inputlocation)  //Settings taken from 'input location'
	//throws java.io.FileNotFoundException
	{
		//byte assemblyIndex = 0;
		//short saveto = 0;
		short fileIndex = 0;
		short cacheSpace = 50;  //Array space allocated at start of method.
		boolean indexIsValid = true;  //Tracks if the file continues.
		String line [] = new String [cacheSpace];
		line [0] = " ";

		try
		{ //If settings file exists, set Settings object to that.
			BufferedReader fr = new BufferedReader (new FileReader (inputlocation + ".conf"));

			do
			{
				ErrorLog.debug("NewSettings reader started.");
				
				while ((fileIndex < cacheSpace) && (indexIsValid))  //Write 50 lines to line.
				{
					ErrorLog.debug("Loop entered.");
					line[fileIndex] = fr.readLine();
					indexIsValid = (line[fileIndex] != null);
					fileIndex++;
					ErrorLog.debug(Short.toString(fileIndex));
				}
				

				ErrorLog.debug ("fileIndex < cacheSpace && indexIsValid loop terminated.");
				
				if(indexIsValid)  //If file continues past 50 lines, expand line using temp as a buffer.
				{
					cacheSpace += 50;
					String temp [] = new String [cacheSpace];
					System.arraycopy (line, 0, temp, 0, cacheSpace - 50);  //Assumes fileIndex is equal to cache size before that was increased.
					line = temp;
					ErrorLog.debug ("Cache:" + cacheSpace);
				}
				else
				{
					fileIndex--;
				}
			}
			while (indexIsValid);
			
			ErrorLog.debug("do while indexIsValid loop terminated.");
			
			//Settings text is in line[], now parse it into current.
			ParseSettings(line, (short)(fileIndex-1));
			
			ErrorLog.debug("Settings eventually parsed.");
			
			ErrorLog.setSettingsFound();

			fr.close();  //Throws IOException instead of FnF

		}
		catch (IOException e)  //If settings file doesn't exist, create it.
		{
			// current.settingsFound = false;
			solar.commonresources.SaveFile.settings (inputlocation);
			ErrorLog.addError(e.getMessage());
		}
		
	}