diff --git a/src/client/steam/interfaces/apps.cpp b/src/client/steam/interfaces/apps.cpp index f9066f23..99c42e9b 100644 --- a/src/client/steam/interfaces/apps.cpp +++ b/src/client/steam/interfaces/apps.cpp @@ -1,4 +1,7 @@ #include + +#include + #include "../steam.hpp" namespace steam @@ -33,18 +36,20 @@ namespace steam return "english"; } - // This is used for checking DLC too. bool apps::BIsSubscribedApp(unsigned int appID) { - return appID == 366842 ? std::filesystem::exists("zone/zm_common.xpak") //zombies - : appID == 366841 ? std::filesystem::exists("zone/mp_common.xpak") //multiplayer - : appID == 366840 ? std::filesystem::exists("zone/cp_common.xpak") //campaign + static const auto has_campaign = std::filesystem::exists(::utils::nt::library{}.get_path() / "zone/cp_common.xpak"); + static const auto has_multiplayer = std::filesystem::exists(::utils::nt::library{}.get_path() / "zone/mp_common.xpak"); + static const auto has_zombies = std::filesystem::exists(::utils::nt::library{}.get_path() / "zone/zm_common.xpak"); + return appID == 366840 ? has_campaign + : appID == 366841 ? has_multiplayer + : appID == 366842 ? has_zombies : true; } bool apps::BIsDlcInstalled(unsigned int appID) { - return BIsSubscribedApp(appID); //to not repeat the same code here + return BIsSubscribedApp(appID); } unsigned int apps::GetEarliestPurchaseUnixTime(unsigned int nAppID)