diff --git a/AM2RLauncher/AM2RLauncher/MainForm/MainForm.Methods.cs b/AM2RLauncher/AM2RLauncher/MainForm/MainForm.Methods.cs index ad6aadd..74d0e52 100644 --- a/AM2RLauncher/AM2RLauncher/MainForm/MainForm.Methods.cs +++ b/AM2RLauncher/AM2RLauncher/MainForm/MainForm.Methods.cs @@ -1118,9 +1118,17 @@ namespace AM2RLauncher string tmpPath = Path.GetTempPath() + Path.GetFileNameWithoutExtension(zipPath); + // clean up in case folder exists already + if (Directory.Exists(tmpPath)) + Directory.Delete(tmpPath, true); + //extract zip to tmp path first ZipFile.ExtractToDirectory(zipPath, tmpPath); + // If the game is packed into a subfolder, accomodate for that + if (Directory.GetDirectories(tmpPath).Length == 1 && Directory.GetDirectories(tmpPath).First() != "lang") + tmpPath = Directory.GetDirectories(tmpPath).First(); + // check if exe exists if (!File.Exists(tmpPath + "/AM2R.exe")) return IsZipAM2R11ReturnCodes.MissingAM2RExe;