diff --git a/src/arma3-unix-launcher-library/arma3client.cpp b/src/arma3-unix-launcher-library/arma3client.cpp index 8b262cb..d3c82f5 100644 --- a/src/arma3-unix-launcher-library/arma3client.cpp +++ b/src/arma3-unix-launcher-library/arma3client.cpp @@ -105,10 +105,13 @@ namespace ARMA3 std::filesystem::path Client::GetCfgPath() { - return std::filesystem::path(Definitions::home_directory) - / Definitions::local_share_prefix - / Definitions::bohemia_interactive_prefix - / Definitions::game_config_path; + if (IsProton()) + return GetPath() / Definitions::proton_config_relative_path; + else + return std::filesystem::path(Definitions::home_directory) + / Definitions::local_share_prefix + / Definitions::bohemia_interactive_prefix + / Definitions::game_config_path; } char Client::GetFakeDriveLetter() diff --git a/src/arma3-unix-launcher-library/arma3client.hpp b/src/arma3-unix-launcher-library/arma3client.hpp index 214c23e..e4a0702 100644 --- a/src/arma3-unix-launcher-library/arma3client.hpp +++ b/src/arma3-unix-launcher-library/arma3client.hpp @@ -25,6 +25,8 @@ namespace ARMA3::Definitions static constexpr char const *bohemia_interactive_prefix = "com.vpltd.Arma3"; static constexpr char const *game_config_path = "GameDocuments/Arma 3/Arma3.cfg"; #endif + + static constexpr char const *proton_config_relative_path = "../../compatdata/107410/pfx/drive_c/users/steamuser/My Documents/Arma 3/Arma3.cfg"; } namespace ARMA3