lsteamclient: Manually wrap ISteamMatchmakingServers on the PE side.

This commit is contained in:
Rémi Bernon 2025-01-15 23:55:17 +01:00 committed by Arkadiusz Hiler
parent 3a20f26df9
commit 1a0811b6cc
3 changed files with 106 additions and 94 deletions

View File

@ -246,12 +246,12 @@ MANUAL_METHODS = {
"ISteamMatchmakingServers_RefreshQuery": lambda ver, abi: abi == 'u' and ver >= 2, "ISteamMatchmakingServers_RefreshQuery": lambda ver, abi: abi == 'u' and ver >= 2,
"ISteamMatchmakingServers_RefreshServer": lambda ver, abi: abi == 'u' and ver >= 2, "ISteamMatchmakingServers_RefreshServer": lambda ver, abi: abi == 'u' and ver >= 2,
"ISteamMatchmakingServers_ReleaseRequest": lambda ver, abi: abi == 'w' or abi == 'u', "ISteamMatchmakingServers_ReleaseRequest": lambda ver, abi: abi == 'w' or abi == 'u',
"ISteamMatchmakingServers_RequestFavoritesServerList": lambda ver, abi: abi == 'u', "ISteamMatchmakingServers_RequestFavoritesServerList": lambda ver, abi: abi == 'u' or ver >= 2,
"ISteamMatchmakingServers_RequestFriendsServerList": lambda ver, abi: abi == 'u', "ISteamMatchmakingServers_RequestFriendsServerList": lambda ver, abi: abi == 'u' or ver >= 2,
"ISteamMatchmakingServers_RequestHistoryServerList": lambda ver, abi: abi == 'u', "ISteamMatchmakingServers_RequestHistoryServerList": lambda ver, abi: abi == 'u' or ver >= 2,
"ISteamMatchmakingServers_RequestInternetServerList": lambda ver, abi: abi == 'u', "ISteamMatchmakingServers_RequestInternetServerList": lambda ver, abi: abi == 'u' or ver >= 2,
"ISteamMatchmakingServers_RequestLANServerList": lambda ver, abi: abi == 'u', "ISteamMatchmakingServers_RequestLANServerList": lambda ver, abi: abi == 'u' or ver >= 2,
"ISteamMatchmakingServers_RequestSpectatorServerList": lambda ver, abi: abi == 'u', "ISteamMatchmakingServers_RequestSpectatorServerList": lambda ver, abi: abi == 'u' or ver >= 2,
"ISteamMatchmakingServers_ServerRules": lambda ver, abi: abi == 'u', "ISteamMatchmakingServers_ServerRules": lambda ver, abi: abi == 'u',
"ISteamNetworkingUtils_AllocateMessage": True, "ISteamNetworkingUtils_AllocateMessage": True,

View File

@ -2,6 +2,106 @@
WINE_DEFAULT_DEBUG_CHANNEL(steamclient); WINE_DEFAULT_DEBUG_CHANNEL(steamclient);
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestInternetServerList( struct w_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestInternetServerList_params params =
{
.u_iface = _this->u_iface,
.iApp = iApp,
.ppchFilters = ppchFilters,
.nFilters = nFilters,
.pRequestServersResponse = pRequestServersResponse,
};
TRACE( "%p\n", _this );
STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers002_RequestInternetServerList, &params );
return params._ret;
}
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList( struct w_iface *_this, uint32_t iApp, w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList_params params =
{
.u_iface = _this->u_iface,
.iApp = iApp,
.pRequestServersResponse = pRequestServersResponse,
};
TRACE( "%p\n", _this );
STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList, &params );
return params._ret;
}
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerList( struct w_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerList_params params =
{
.u_iface = _this->u_iface,
.iApp = iApp,
.ppchFilters = ppchFilters,
.nFilters = nFilters,
.pRequestServersResponse = pRequestServersResponse,
};
TRACE( "%p\n", _this );
STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerList, &params );
return params._ret;
}
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServerList( struct w_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServerList_params params =
{
.u_iface = _this->u_iface,
.iApp = iApp,
.ppchFilters = ppchFilters,
.nFilters = nFilters,
.pRequestServersResponse = pRequestServersResponse,
};
TRACE( "%p\n", _this );
STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServerList, &params );
return params._ret;
}
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerList( struct w_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerList_params params =
{
.u_iface = _this->u_iface,
.iApp = iApp,
.ppchFilters = ppchFilters,
.nFilters = nFilters,
.pRequestServersResponse = pRequestServersResponse,
};
TRACE( "%p\n", _this );
STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerList, &params );
return params._ret;
}
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServerList( struct w_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServerList_params params =
{
.u_iface = _this->u_iface,
.iApp = iApp,
.ppchFilters = ppchFilters,
.nFilters = nFilters,
.pRequestServersResponse = pRequestServersResponse,
};
TRACE( "%p\n", _this );
STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServerList, &params );
return params._ret;
}
void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_ReleaseRequest( struct w_iface *_this, void *hServerListRequest ) void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_ReleaseRequest( struct w_iface *_this, void *hServerListRequest )
{ {
struct ISteamMatchmakingServers_SteamMatchMakingServers002_ReleaseRequest_params params = struct ISteamMatchmakingServers_SteamMatchMakingServers002_ReleaseRequest_params params =

View File

@ -278,94 +278,6 @@ DEFINE_THISCALL_WRAPPER(winISteamMatchmakingServers_SteamMatchMakingServers002_P
DEFINE_THISCALL_WRAPPER(winISteamMatchmakingServers_SteamMatchMakingServers002_ServerRules, 16) DEFINE_THISCALL_WRAPPER(winISteamMatchmakingServers_SteamMatchMakingServers002_ServerRules, 16)
DEFINE_THISCALL_WRAPPER(winISteamMatchmakingServers_SteamMatchMakingServers002_CancelServerQuery, 8) DEFINE_THISCALL_WRAPPER(winISteamMatchmakingServers_SteamMatchMakingServers002_CancelServerQuery, 8)
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestInternetServerList(struct w_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse)
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestInternetServerList_params params =
{
.u_iface = _this->u_iface,
.iApp = iApp,
.ppchFilters = ppchFilters,
.nFilters = nFilters,
.pRequestServersResponse = pRequestServersResponse,
};
TRACE("%p\n", _this);
STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers002_RequestInternetServerList, &params );
return params._ret;
}
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList(struct w_iface *_this, uint32_t iApp, w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse)
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList_params params =
{
.u_iface = _this->u_iface,
.iApp = iApp,
.pRequestServersResponse = pRequestServersResponse,
};
TRACE("%p\n", _this);
STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList, &params );
return params._ret;
}
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerList(struct w_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse)
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerList_params params =
{
.u_iface = _this->u_iface,
.iApp = iApp,
.ppchFilters = ppchFilters,
.nFilters = nFilters,
.pRequestServersResponse = pRequestServersResponse,
};
TRACE("%p\n", _this);
STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerList, &params );
return params._ret;
}
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServerList(struct w_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse)
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServerList_params params =
{
.u_iface = _this->u_iface,
.iApp = iApp,
.ppchFilters = ppchFilters,
.nFilters = nFilters,
.pRequestServersResponse = pRequestServersResponse,
};
TRACE("%p\n", _this);
STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServerList, &params );
return params._ret;
}
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerList(struct w_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse)
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerList_params params =
{
.u_iface = _this->u_iface,
.iApp = iApp,
.ppchFilters = ppchFilters,
.nFilters = nFilters,
.pRequestServersResponse = pRequestServersResponse,
};
TRACE("%p\n", _this);
STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerList, &params );
return params._ret;
}
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServerList(struct w_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse)
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServerList_params params =
{
.u_iface = _this->u_iface,
.iApp = iApp,
.ppchFilters = ppchFilters,
.nFilters = nFilters,
.pRequestServersResponse = pRequestServersResponse,
};
TRACE("%p\n", _this);
STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServerList, &params );
return params._ret;
}
gameserveritem_t_105 * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_GetServerDetails(struct w_iface *_this, void *hRequest, int32_t iServer) gameserveritem_t_105 * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_GetServerDetails(struct w_iface *_this, void *hRequest, int32_t iServer)
{ {
struct ISteamMatchmakingServers_SteamMatchMakingServers002_GetServerDetails_params params = struct ISteamMatchmakingServers_SteamMatchMakingServers002_GetServerDetails_params params =