diff --git a/OpenRA.GameMonitor/GameMonitor.cs b/OpenRA.GameMonitor/GameMonitor.cs index 3b185e9334..c730795408 100644 --- a/OpenRA.GameMonitor/GameMonitor.cs +++ b/OpenRA.GameMonitor/GameMonitor.cs @@ -27,12 +27,17 @@ namespace OpenRA [STAThread] static void Main(string[] args) { - var executableDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); - var processName = Path.Combine(executableDirectory, "OpenRA.Game.exe"); + var launcherPath = Assembly.GetExecutingAssembly().Location; + var directory = Path.GetDirectoryName(launcherPath); + var enginePath = Path.Combine(directory, "OpenRA.Game.exe"); - Directory.SetCurrentDirectory(executableDirectory); + Directory.SetCurrentDirectory(directory); - var psi = new ProcessStartInfo(processName, string.Join(" ", args.Select(arg => "\"" + arg + "\""))); + var engineArgs = args + .Append("Engine.LaunchPath=" + launcherPath) + .Select(arg => "\"" + arg + "\""); + + var psi = new ProcessStartInfo(enginePath, string.Join(" ", engineArgs)); try {