Fixed build errors

This commit is contained in:
acidicoala
2025-09-07 02:36:14 +05:00
parent 4c08816eb6
commit 8ee2d77115
4 changed files with 16 additions and 26 deletions

View File

@@ -43,24 +43,20 @@ namespace {
HMODULE original_steamapi_handle = nullptr;
std::set<std::string> find_steamclient_versions(const HMODULE steamapi_handle) noexcept {
try {
std::set<std::string> versions;
const auto rdata = kb::win::get_pe_section_or_throw(steamapi_handle, ".rdata").to_string();
std::set<std::string> find_steamclient_versions(const HMODULE steamapi_handle) {
std::set<std::string> versions;
const std::regex pattern(R"(SteamClient\d{3})");
auto matches_begin = std::sregex_iterator(rdata.begin(), rdata.end(), pattern);
auto matches_end = std::sregex_iterator();
const auto rdata = kb::win::get_pe_section_or_throw(steamapi_handle, ".rdata").to_string();
for(std::sregex_iterator i = matches_begin; i != matches_end; ++i) {
versions.insert(i->str());
}
const std::regex pattern(R"(SteamClient\d{3})");
auto matches_begin = std::sregex_iterator(rdata.begin(), rdata.end(), pattern);
auto matches_end = std::sregex_iterator();
return versions;
} catch(const std::exception& e) {
LOG_ERROR("{} -> insert error: {}", __func__, e.what());
return {};
for(std::sregex_iterator i = matches_begin; i != matches_end; ++i) {
versions.insert(i->str());
}
return versions;
}
// ReSharper disable once CppDFAConstantFunctionResult
@@ -93,11 +89,7 @@ namespace {
}
void start_dll_listener() {
kb::dll_monitor::init_listener(
{
{STEAMCLIENT_DLL, on_steamclient_loaded}
}
);
kb::dll_monitor::init_listener({{STEAMCLIENT_DLL, on_steamclient_loaded}});
}
}

View File

@@ -211,9 +211,7 @@ namespace steam_interfaces {
// Prepare HSteamPipe and HSteamUser
const auto CreateInterface$ = KB_WIN_GET_PROC(steamclient_handle, CreateInterface);
const auto* const THIS = CreateInterface$(
steam_client_interface_version.c_str(), nullptr
);
const auto* const THIS = CreateInterface$(steam_client_interface_version.c_str(), nullptr);
hook_virtuals(THIS, steam_client_interface_version);
const auto interface_lookup = read_interface_lookup();
@@ -236,6 +234,7 @@ namespace steam_interfaces {
continue;
}
DECLARE_EDX();
const auto* const interface_ptr = ISteamClient_GetISteamGenericInterface(
ARGS(steam_user, steam_pipe, interface_version.c_str())
);
@@ -245,9 +244,6 @@ namespace steam_interfaces {
}
}
// ISteamClient_ReleaseUser(ARGS(steam_pipe, steam_user));
// ISteamClient_BReleaseSteamPipe(ARGS(steam_pipe));
kb::hook::unhook_vt_all(THIS);
} catch(const std::exception& e) {
LOG_ERROR("{} -> Unhandled exception: {}", __func__, e.what());

View File

@@ -47,10 +47,12 @@
#define PARAMS(...) const void* RCX, __VA_ARGS__
#define ARGS(...) RCX, __VA_ARGS__
#define THIS RCX
#define DECLARE_EDX()
#else
#define PARAMS(...) const void* ECX, const void* EDX, __VA_ARGS__
#define ARGS(...) ECX, EDX, __VA_ARGS__
#define THIS ECX
#define DECLARE_EDX() const void* EDX = nullptr;
#endif
using AppId_t = uint32_t;