diff --git a/src/PowderToySDL.cpp b/src/PowderToySDL.cpp index cbce6b010c..8c0500ceba 100644 --- a/src/PowderToySDL.cpp +++ b/src/PowderToySDL.cpp @@ -285,6 +285,7 @@ std::map readArguments(int argc, char * argv[]) arguments["nohud"] = "false"; //the nohud, sound, and scripts commands currently do nothing. arguments["sound"] = "false"; arguments["kiosk"] = "false"; + arguments["redirect"] = "false"; arguments["scripts"] = "false"; arguments["open"] = ""; arguments["ddir"] = ""; @@ -311,6 +312,10 @@ std::map readArguments(int argc, char * argv[]) { arguments["kiosk"] = "true"; } + else if (!strncmp(argv[i], "redirect", 8)) + { + arguments["redirect"] = "true"; + } else if (!strncmp(argv[i], "sound", 5)) { arguments["sound"] = "true"; @@ -656,6 +661,12 @@ int main(int argc, char * argv[]) Client::Ref().SetPref("Fullscreen", fullscreen); } + if(arguments["redirect"] == "true") + { + freopen("stdout.log", "w", stdout); + freopen("stderr.log", "w", stderr); + } + if(arguments["scale"].length()) { scale = arguments["scale"].ToNumber();