mirror of
https://github.com/acidicoala/SmokeAPI.git
synced 2025-12-05 21:15:39 -05:00
35 lines
1.1 KiB
C++
35 lines
1.1 KiB
C++
#include <koalabox/logger.hpp>
|
|
|
|
#include "smoke_api/interfaces/steam_user.hpp"
|
|
#include "smoke_api/config.hpp"
|
|
|
|
namespace smoke_api::steam_user {
|
|
EUserHasLicenseForAppResult UserHasLicenseForApp(
|
|
const std::string& function_name,
|
|
const AppId_t appId,
|
|
const AppId_t dlcId,
|
|
const std::function<EUserHasLicenseForAppResult()>& original_function
|
|
) {
|
|
const auto result = original_function();
|
|
|
|
if(result == k_EUserHasLicenseResultNoAuth) {
|
|
LOG_WARN("{} -> App ID: {:>8}, Result: NoAuth", function_name, dlcId);
|
|
return result;
|
|
}
|
|
|
|
const auto has_license = smoke_api::config::is_dlc_unlocked(
|
|
appId,
|
|
dlcId,
|
|
[&] {
|
|
return result == k_EUserHasLicenseResultHasLicense;
|
|
}
|
|
);
|
|
|
|
LOG_INFO("{} -> App ID: {:>8}, HasLicense: {}", function_name, dlcId, has_license);
|
|
|
|
return has_license
|
|
? k_EUserHasLicenseResultHasLicense
|
|
: k_EUserHasLicenseResultDoesNotHaveLicense;
|
|
}
|
|
}
|