public void WriteSave()
	{
		int Year = Calendar.getInstance().get(Calendar.YEAR);
		int Month = Calendar.getInstance().get(Calendar.MONTH);
		int Day = Calendar.getInstance().get(Calendar.DAY_OF_MONTH);
		int Hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
		int Minute = Calendar.getInstance().get(Calendar.MINUTE);
		int Second = Calendar.getInstance().get(Calendar.SECOND);
		int MiliSecond = Calendar.getInstance().get(Calendar.MILLISECOND);
		String Filename = "SneekData_" + Year + "-" + Month + "-" + Day + "-" + Hour + "." + Minute + "." + Second + "." + MiliSecond;
		File GameImageSaveFile = new File(FileHelper.GetSaveTempFolder(), Filename + this.GameImageSuffix + this.FilenameSuffix);
		File GameDataSaveFile = new File(FileHelper.GetSaveTempFolder(), Filename + this.GameDataSuffix + this.FilenameSuffix);
		File GameDirectionSaveFile = new File(FileHelper.GetSaveTempFolder(), Filename + this.GameDirectionSuffix + this.FilenameSuffix);
		File GameScoreSaveFile = new File(FileHelper.GetSaveTempFolder(), Filename + this.GameScoreSuffix + this.FilenameSuffix);
		File GameModeSaveFile = new File(FileHelper.GetSaveTempFolder(), Filename + this.GameModeSuffix + this.FilenameSuffix);
		File SaveFile = new File(FileHelper.GetSaveFolder(), Filename + SneekDataMap.SaveFileSuffix);
		try
		{
			while (!GameImageSaveFile.exists())
				GameImageSaveFile.createNewFile();
			while (!GameDataSaveFile.exists())
				GameDataSaveFile.createNewFile();
			while (!GameDirectionSaveFile.exists())
				GameDirectionSaveFile.createNewFile();
			while (!GameScoreSaveFile.exists())
				GameScoreSaveFile.createNewFile();
			while (!GameModeSaveFile.exists())
				GameModeSaveFile.createNewFile();
			this.WriteImage(GameImageSaveFile);
			this.WriteData(GameDataSaveFile);
			this.WriteDirection(GameDirectionSaveFile);
			this.WriteScore(GameScoreSaveFile);
			this.WriteGameMode(GameModeSaveFile);
			while (!SaveFile.exists())
				SaveFile.createNewFile();
			ZipOutputStream SaveStream = new ZipOutputStream(new FileOutputStream(SaveFile));
			byte[] Buffer = new byte[1024];
			for (File SaveFileData : FileHelper.GetSaveTempFolder().listFiles())
			{
				FileInputStream FileInput = new FileInputStream(SaveFileData);
				SaveStream.putNextEntry(new ZipEntry(SaveFileData.getName()));
				int Data;
				while ((Data = FileInput.read(Buffer)) > 0)
					SaveStream.write(Buffer, 0, Data);
				SaveStream.closeEntry();
				FileInput.close();
			}
			SaveStream.close();
			GameImageSaveFile.delete();
			GameDataSaveFile.delete();
			GameDirectionSaveFile.delete();
			GameScoreSaveFile.delete();
			GameModeSaveFile.delete();
			FileHelper.GetSaveTempFolder().delete();
		}
		catch (IOException e)
		{
			new SPopup(new SPopupData(e));
		}
	}