static void printLanguages() { string[] langs = new SuperMeatBoyLanguagePatcher().LanguageNames; Console.WriteLine("----------------"); Console.Write("Supported Languages: "); foreach (string lang in langs) { Console.Write(lang + ", "); } Console.WriteLine(""); }
static void Main(string[] args) { string iniPath = currentDir + "/" + currentExeNameNoExt + ".ini"; Console.WriteLine("SuperMeatBoy Multilanguage Loader 1.0"); Console.WriteLine("Programmed by iAmGhost"); Console.WriteLine("Project Page: https://github.com/iAmGhost/SuperMeatBoyMultilangLoader"); Console.WriteLine("----------------"); string language, smbpath; language = getArgData(args, "language"); smbpath = getArgData(args, "smbpath"); if (args.Length == 0 && File.Exists(iniPath)) { cIni ini = new cIni(iniPath); language = ini.ReadValue("LoaderOptions", "Language", ""); smbpath = ini.ReadValue("LoaderOptions", "SMBPath", ""); if ((language == "" || smbpath == "")) { Console.WriteLine("Ini file example:"); Console.WriteLine("[LoaderOptions]"); Console.WriteLine("Language=Korean"); Console.WriteLine("SMBPath=SuperMeatBoy.exe"); printLanguages(); Environment.Exit(1); } } else { if ((language == null || smbpath == null) && !File.Exists(iniPath)) { Console.WriteLine("Usage:"); Console.WriteLine(currentExeName + " --language=Korean --smbpath=\"SuperMeatBoy.exe\""); Console.WriteLine("Or create " + currentExeNameNoExt + ".ini."); printLanguages(); Environment.Exit(0); } } if (Path.Equals(Path.GetFullPath(currentDir + currentExeName), Path.GetFullPath(smbpath))) { Console.WriteLine("SMBPath is same as this loader."); Console.WriteLine("Halted for prevent infinite loop."); Environment.Exit(1); } if (!File.Exists(smbpath)) { Console.WriteLine("Cannot find Super Meat Boy executable: {0}", smbpath); Environment.Exit(1); } Console.WriteLine("Starting Loader..."); SuperMeatBoyLanguagePatcher patcher = new SuperMeatBoyLanguagePatcher(); patcher.Language = language; patcher.SuperMeatBoyPath = smbpath; Console.WriteLine("Language: {0} (0x{1:X2})", language, patcher.LanguageCode); patcher.Launch(); Environment.Exit(0); }