diff --git a/AM2RPortHelper/Program.cs b/AM2RPortHelper/Program.cs index 96097c4..cfef263 100644 --- a/AM2RPortHelper/Program.cs +++ b/AM2RPortHelper/Program.cs @@ -10,9 +10,9 @@ namespace AM2RPortHelper { class Program { - static string version = "1.1"; + static string version = "1.2"; static string tmp = Path.GetTempPath(); - static string currentDir = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); + static string currentDir = Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory); static string utilDir = currentDir + "/utils"; static void Main(string[] args) @@ -60,9 +60,11 @@ static void PortForLinux(FileInfo modZipPath) // Check if temp folder exists, delete if yes, extract zip to there if (Directory.Exists(extractDirectory)) Directory.Delete(extractDirectory, true); + Console.WriteLine("Extracting..."); ZipFile.ExtractToDirectory(modZipPath.FullName, extractDirectory, true); // Move everything into assets folder + Console.WriteLine("Moving into assets folder..."); Directory.CreateDirectory(assetsDir); foreach (var file in new DirectoryInfo(extractDirectory).GetFiles()) file.MoveTo(assetsDir + "/" + file.Name); @@ -74,6 +76,7 @@ static void PortForLinux(FileInfo modZipPath) } // Delete unnecessary files, rename data.win, move in the new runner + Console.WriteLine("Delete unnecesary files and lowercase them..."); File.Delete(assetsDir + "/AM2R.exe"); File.Delete(assetsDir + "/D3DX9_43.dll"); File.Move(assetsDir + "/data.win", assetsDir + "/game.unx"); @@ -92,11 +95,13 @@ static void PortForLinux(FileInfo modZipPath) Console.WriteLine(linuxModPath + " already exists! Please move it somewhere else."); return; } + Console.WriteLine("Creating zip..."); ZipFile.CreateFromDirectory(extractDirectory, linuxModPath); // Clean up Directory.Delete(assetsDir, true); + Console.WriteLine("Successfully finished!"); Console.WriteLine("\n**Make sure to replace the icon.png and splash.png with custom ones if you don't want to have placeholders**\n"); } @@ -118,9 +123,11 @@ static void PortForAndroid(FileInfo modZipPath) if (Directory.Exists(extractDirectory)) Directory.Delete(extractDirectory, true); Directory.CreateDirectory(extractDirectory); + Console.WriteLine("Extracting..."); ZipFile.ExtractToDirectory(modZipPath.FullName, unzipDir); // Run APKTOOL and decompress the file + Console.WriteLine("Decompiling apk..."); ProcessStartInfo pStartInfo = new ProcessStartInfo { FileName = bin, @@ -130,9 +137,10 @@ static void PortForAndroid(FileInfo modZipPath) Process p = new Process() { StartInfo = pStartInfo }; p.Start(); p.WaitForExit(); - + // Move everything into assets folder + Console.WriteLine("Move into assets folder..."); foreach (var file in new DirectoryInfo(unzipDir).GetFiles()) file.MoveTo(apkAssetsDir + "/" + file.Name); @@ -142,17 +150,22 @@ static void PortForAndroid(FileInfo modZipPath) } // Delete unnecessary files, rename data.win, move in the new runner + Console.WriteLine("Delete unnecessary files and lowercase them..."); File.Delete(apkAssetsDir + "/AM2R.exe"); File.Delete(apkAssetsDir + "/D3DX9_43.dll"); File.Move(apkAssetsDir + "/data.win", apkAssetsDir + "/game.droid"); File.Copy(utilDir + "/splashAndroid.png", apkAssetsDir + "/splash.png", true); + //recursively lowercase everything in the assets folder + LowercaseFolder(apkAssetsDir); + // Edit apktool.yml to not compress music string yamlFile = File.ReadAllText(apkDir + "/apktool.yml"); yamlFile = yamlFile.Replace("doNotCompress:", "doNotCompress:\n- ogg"); File.WriteAllText(apkDir + "/apktool.yml", yamlFile); // Run APKTOOL and build the apk + Console.WriteLine("Rebuild apk..."); pStartInfo = new ProcessStartInfo { FileName = bin, @@ -164,6 +177,7 @@ static void PortForAndroid(FileInfo modZipPath) p.WaitForExit(); // Sign the apk + Console.WriteLine("Sign apk..."); pStartInfo = new ProcessStartInfo { FileName = bin,