From 4d125064fe82423b2336e5857b813ce47abaea66 Mon Sep 17 00:00:00 2001 From: ssdsnake Date: Sun, 2 Jan 2022 02:07:37 -0600 Subject: DolphinTool: initialize user directories (fix unintential deletion of Wii files) --- Source/Core/DolphinTool/ConvertCommand.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'Source/Core/DolphinTool/ConvertCommand.cpp') diff --git a/Source/Core/DolphinTool/ConvertCommand.cpp b/Source/Core/DolphinTool/ConvertCommand.cpp index ca270e9d12..d98adcb0b8 100644 --- a/Source/Core/DolphinTool/ConvertCommand.cpp +++ b/Source/Core/DolphinTool/ConvertCommand.cpp @@ -2,6 +2,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include "DolphinTool/ConvertCommand.h" +#include "UICommon/UICommon.h" #include @@ -13,6 +14,11 @@ int ConvertCommand::Main(const std::vector& args) parser->usage("usage: convert [options]... [FILE]..."); + parser->add_option("-u", "--user") + .action("store") + .help("User folder path, required for temporary processing files." + "Will be automatically created if this option is not set."); + parser->add_option("-i", "--input") .type("string") .action("store") @@ -56,6 +62,15 @@ int ConvertCommand::Main(const std::vector& args) const optparse::Values& options = parser->parse_args(args); + // Initialize the dolphin user directory, required for temporary processing files + // If this is not set, destructive file operations could occur due to path confusion + std::string user_directory; + if (options.is_set("user")) + user_directory = static_cast(options.get("user")); + + UICommon::SetUserDirectory(user_directory); + UICommon::Init(); + // Validate options // --input -- cgit v1.2.3