public static void unpackFTL(String path) {
		if (!ShipIO.isNull(path) && new File(path).exists()) {
			ftlLoadPath = new String(path);
			debug("Unpacking .ftl:", true);

			temporaryFiles = new File("sprlmnl_tmp");
			temporaryFiles.mkdirs();
			temporaryFilesInUse = true;

			if (temporaryFiles != null && temporaryFiles.exists()) {
				debug("\tdeleting temporary directory... ", false);
				ShipIO.deleteFolderContents(temporaryFiles);
				if (temporaryFiles.exists())
					ShipIO.rmdir(temporaryFiles);
				debug("done", true);
			}

			ZipFile zf = null;
			try {
				zf = new ZipFile(path);

				debug("\textracting contents of .ftl package to temporary directory... ", false);
				ShipIO.unzipFileToDirectory(zf, temporaryFiles);
				debug("done", true);
			} catch (IOException ex) {
			} finally {
				if (zf != null)
					try {
						zf.close();
					} catch (IOException ex) {
					}
			}
		} else {
			if (path != null) {
				MessageBox box = new MessageBox(shell, SWT.ICON_ERROR);
				box.setMessage("" + Paths.get(path).getFileName() + ShipIO.lineDelimiter + "File was not found." + ShipIO.lineDelimiter + "Check the file's name and try again.");
				box.open();
			}
		}
	}