lsteamclient: Use unix callbacks for custom client classes.

CW-Bug-Id: #22729
This commit is contained in:
Rémi Bernon 2023-10-03 09:40:50 +02:00 committed by Arkadiusz Hiler
parent bc000612cd
commit 5a552fbe77
17 changed files with 641 additions and 581 deletions

View File

@ -9,7 +9,6 @@ SOURCES = \
steam_networking_manual.c \
steamclient_generated.c \
steamclient_main.c \
steamclient_wrappers.c \
winISteamAppList.c \
winISteamApps.c \
winISteamAppTicket.c \

View File

@ -1,60 +1,6 @@
/* This file is auto-generated, do not edit. */
#include "unix_private.h"
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_RequestInternetServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestInternetServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestInternetServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side;
u_ISteamMatchmakingServerListResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse( params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers001" );
iface->RequestInternetServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_RequestLANServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestLANServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestLANServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side;
u_ISteamMatchmakingServerListResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse( params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers001" );
iface->RequestLANServerList( params->iApp, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFriendsServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFriendsServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFriendsServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side;
u_ISteamMatchmakingServerListResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse( params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers001" );
iface->RequestFriendsServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFavoritesServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFavoritesServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFavoritesServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side;
u_ISteamMatchmakingServerListResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse( params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers001" );
iface->RequestFavoritesServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_RequestHistoryServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestHistoryServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestHistoryServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side;
u_ISteamMatchmakingServerListResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse( params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers001" );
iface->RequestHistoryServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_RequestSpectatorServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestSpectatorServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestSpectatorServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side;
u_ISteamMatchmakingServerListResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse( params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers001" );
iface->RequestSpectatorServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_GetServerDetails( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_GetServerDetails_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_GetServerDetails_params *)args;
@ -103,33 +49,6 @@ NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_RefreshServer( void
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_PingServer( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_PingServer_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_PingServer_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side;
u_ISteamMatchmakingPingResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingPingResponse( params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers001" );
params->_ret = iface->PingServer( params->unIP, params->usPort, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_PlayerDetails( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_PlayerDetails_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_PlayerDetails_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side;
u_ISteamMatchmakingPlayersResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingPlayersResponse( params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers001" );
params->_ret = iface->PlayerDetails( params->unIP, params->usPort, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_ServerRules( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_ServerRules_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_ServerRules_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side;
u_ISteamMatchmakingRulesResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingRulesResponse( params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers001" );
params->_ret = iface->ServerRules( params->unIP, params->usPort, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_CancelServerQuery( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_CancelServerQuery_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_CancelServerQuery_params *)args;

View File

@ -1,60 +1,6 @@
/* This file is auto-generated, do not edit. */
#include "unix_private.h"
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_RequestInternetServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestInternetServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestInternetServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side;
u_ISteamMatchmakingServerListResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse( params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers002" );
params->_ret = iface->RequestInternetServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side;
u_ISteamMatchmakingServerListResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse( params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers002" );
params->_ret = iface->RequestLANServerList( params->iApp, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side;
u_ISteamMatchmakingServerListResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse( params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers002" );
params->_ret = iface->RequestFriendsServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side;
u_ISteamMatchmakingServerListResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse( params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers002" );
params->_ret = iface->RequestFavoritesServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side;
u_ISteamMatchmakingServerListResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse( params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers002" );
params->_ret = iface->RequestHistoryServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side;
u_ISteamMatchmakingServerListResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse( params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers002" );
params->_ret = iface->RequestSpectatorServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_ReleaseRequest( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_ReleaseRequest_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_ReleaseRequest_params *)args;
@ -111,33 +57,6 @@ NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_RefreshServer( void
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_PingServer( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_PingServer_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_PingServer_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side;
u_ISteamMatchmakingPingResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingPingResponse( params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers002" );
params->_ret = iface->PingServer( params->unIP, params->usPort, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_PlayerDetails( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_PlayerDetails_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_PlayerDetails_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side;
u_ISteamMatchmakingPlayersResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingPlayersResponse( params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers002" );
params->_ret = iface->PlayerDetails( params->unIP, params->usPort, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_ServerRules( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_ServerRules_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_ServerRules_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side;
u_ISteamMatchmakingRulesResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingRulesResponse( params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers002" );
params->_ret = iface->ServerRules( params->unIP, params->usPort, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_CancelServerQuery( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_CancelServerQuery_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_CancelServerQuery_params *)args;

View File

@ -233,21 +233,3 @@ NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets006_GetGameCoordinatorSer
return 0;
}
NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets006_ConnectP2PCustomSignaling( void *args )
{
struct ISteamNetworkingSockets_SteamNetworkingSockets006_ConnectP2PCustomSignaling_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets006_ConnectP2PCustomSignaling_params *)args;
struct u_ISteamNetworkingSockets_SteamNetworkingSockets006 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets006 *)params->linux_side;
u_ISteamNetworkingConnectionCustomSignaling *u_pSignaling = create_LinuxISteamNetworkingConnectionCustomSignaling( params->pSignaling, "ISteamNetworkingSockets_SteamNetworkingSockets006" );
params->_ret = iface->ConnectP2PCustomSignaling( u_pSignaling, params->pPeerIdentity, params->nOptions, params->pOptions );
return 0;
}
NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets006_ReceivedP2PCustomSignal( void *args )
{
struct ISteamNetworkingSockets_SteamNetworkingSockets006_ReceivedP2PCustomSignal_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets006_ReceivedP2PCustomSignal_params *)args;
struct u_ISteamNetworkingSockets_SteamNetworkingSockets006 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets006 *)params->linux_side;
u_ISteamNetworkingCustomSignalingRecvContext *u_pContext = create_LinuxISteamNetworkingCustomSignalingRecvContext( params->pContext, "ISteamNetworkingSockets_SteamNetworkingSockets006" );
params->_ret = iface->ReceivedP2PCustomSignal( params->pMsg, params->cbMsg, u_pContext );
return 0;
}

View File

@ -257,24 +257,6 @@ NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets008_GetGameCoordinatorSer
return 0;
}
NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets008_ConnectP2PCustomSignaling( void *args )
{
struct ISteamNetworkingSockets_SteamNetworkingSockets008_ConnectP2PCustomSignaling_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets008_ConnectP2PCustomSignaling_params *)args;
struct u_ISteamNetworkingSockets_SteamNetworkingSockets008 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets008 *)params->linux_side;
u_ISteamNetworkingConnectionCustomSignaling *u_pSignaling = create_LinuxISteamNetworkingConnectionCustomSignaling( params->pSignaling, "ISteamNetworkingSockets_SteamNetworkingSockets008" );
params->_ret = iface->ConnectP2PCustomSignaling( u_pSignaling, params->pPeerIdentity, params->nOptions, params->pOptions );
return 0;
}
NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets008_ReceivedP2PCustomSignal( void *args )
{
struct ISteamNetworkingSockets_SteamNetworkingSockets008_ReceivedP2PCustomSignal_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets008_ReceivedP2PCustomSignal_params *)args;
struct u_ISteamNetworkingSockets_SteamNetworkingSockets008 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets008 *)params->linux_side;
u_ISteamNetworkingCustomSignalingRecvContext *u_pContext = create_LinuxISteamNetworkingCustomSignalingRecvContext( params->pContext, "ISteamNetworkingSockets_SteamNetworkingSockets008" );
params->_ret = iface->ReceivedP2PCustomSignal( params->pMsg, params->cbMsg, u_pContext );
return 0;
}
NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets008_GetCertificateRequest( void *args )
{
struct ISteamNetworkingSockets_SteamNetworkingSockets008_GetCertificateRequest_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets008_GetCertificateRequest_params *)args;

View File

@ -225,6 +225,18 @@ MANUAL_METHODS = {
"ISteamNetworkingSockets_ReceiveMessagesOnListenSocket": True,
"ISteamNetworkingSockets_ReceiveMessagesOnPollGroup": True,
"ISteamNetworkingSockets_SendMessages": True,
"ISteamNetworkingSockets_ConnectP2PCustomSignaling": lambda ver, abi: abi == 'u' and ver <= 8,
"ISteamNetworkingSockets_ReceivedP2PCustomSignal": lambda ver, abi: abi == 'u' and ver <= 8,
"ISteamMatchmakingServers_PingServer": lambda ver, abi: abi == 'u',
"ISteamMatchmakingServers_PlayerDetails": lambda ver, abi: abi == 'u',
"ISteamMatchmakingServers_RequestFavoritesServerList": lambda ver, abi: abi == 'u',
"ISteamMatchmakingServers_RequestFriendsServerList": lambda ver, abi: abi == 'u',
"ISteamMatchmakingServers_RequestHistoryServerList": lambda ver, abi: abi == 'u',
"ISteamMatchmakingServers_RequestInternetServerList": lambda ver, abi: abi == 'u',
"ISteamMatchmakingServers_RequestLANServerList": lambda ver, abi: abi == 'u',
"ISteamMatchmakingServers_RequestSpectatorServerList": lambda ver, abi: abi == 'u',
"ISteamMatchmakingServers_ServerRules": lambda ver, abi: abi == 'u',
"ISteamNetworkingUtils_AllocateMessage": True,
"ISteamNetworkingUtils_SetConfigValue": lambda ver, abi: abi == 'u' and ver >= 3,
@ -280,17 +292,6 @@ MANUAL_PARAMS = [
converted_structs = []
# callback classes for which we have a linux wrapper
WRAPPED_CLASSES = [
"ISteamMatchmakingServerListResponse",
"ISteamMatchmakingPingResponse",
"ISteamMatchmakingPlayersResponse",
"ISteamMatchmakingRulesResponse",
"ISteamNetworkingFakeUDPPort",
"ISteamNetworkingConnectionCustomSignaling",
"ISteamNetworkingCustomSignalingRecvContext",
]
all_classes = {}
all_records = {}
all_sources = {}
@ -617,6 +618,11 @@ class Method:
def get_arguments(self):
return self._cursor.get_arguments()
def needs_conversion(self, other):
if len(list(self.get_arguments())) != len(list(other.get_arguments())):
return True
return False # FIXME
def write_params(self, out):
returns_record = self.result_type.get_canonical().kind == TypeKind.RECORD
@ -710,7 +716,13 @@ class Class:
self._decl_order = order
def needs_conversion(self, other):
return self._abi[0] != other._abi[0]
if self._abi[0] != other._abi[0]:
return True
if len(self.methods) != len(other.methods):
return True
if any(m.needs_conversion(n) for m, n in zip(self.methods, other.methods)):
return True
return False
def write_definition(self, out, prefix):
out(f'struct {prefix}{self.full_name}\n')
@ -807,8 +819,7 @@ def underlying_type(decl):
def param_needs_conversion(decl):
decl = underlying_type(decl)
return decl.spelling not in WRAPPED_CLASSES and \
decl.kind == TypeKind.RECORD and \
return decl.kind == TypeKind.RECORD and \
struct_needs_conversion(decl)
@ -900,8 +911,6 @@ def handle_method_cpp(method, classname, out):
need_convert = {n: p for n, p in zip(names, method.get_arguments())
if param_needs_conversion(p)}
need_wrapper = {n: p for n, p in zip(names, method.get_arguments())
if underlying_typename(p) in WRAPPED_CLASSES}
manual_convert = {n: p for n, p in zip(names, method.get_arguments())
if underlying_type(p).spelling in MANUAL_TYPES
or p.spelling in MANUAL_PARAMS}
@ -963,9 +972,6 @@ def handle_method_cpp(method, classname, out):
else:
out(f' {declspec(param, f"u_{name}", "u_")} = manual_convert_{method.name}_{name}( params->{name} );\n')
for name, param in sorted(need_wrapper.items()):
out(f' {declspec(param, f"u_{name}", "u_")} = create_Linux{underlying_type(param.type).spelling}( params->{name}, "{classname}_{klass.version}" );\n')
if returns_void:
out(u' ')
elif returns_record:
@ -978,7 +984,6 @@ def handle_method_cpp(method, classname, out):
if name in need_convert: return f"{pfx}u_{name}"
if name in manual_convert: return f"u_{name}"
if name in path_conv_wtou: return f"u_{name}"
if name in need_wrapper: return f"u_{name}"
return f'params->{name}'
params = [param_call(n, p) for n, p in zip(names[1:], method.get_arguments())]
@ -1116,10 +1121,7 @@ def handle_class(klass):
out(u'\n')
out(f'struct w_steam_iface *create_{winclassname}(void *u_iface)\n')
out(u'{\n')
if klass.name in WRAPPED_CLASSES:
out(u' struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), 0, sizeof(struct w_steam_iface));\n')
else:
out(f' struct w_steam_iface *r = alloc_mem_for_iface(sizeof(struct w_steam_iface), "{klass.version}");\n')
out(f' struct w_steam_iface *r = alloc_mem_for_iface(sizeof(struct w_steam_iface), "{klass.version}");\n')
out(u' TRACE("-> %p\\n", r);\n')
out(f' r->vtable = alloc_vtable(&{winclassname}_vtable, {len(klass.methods)}, "{klass.version}");\n')
out(u' r->u_iface = u_iface;\n')
@ -1183,6 +1185,10 @@ def classify_struct(name):
versions = {}
unique = True
def set_class_version(abis, version):
for abi in filter(lambda x: type(x) is Class, abis):
abi.version = version
for sdkver in filter(lambda v: v in structs, reversed(SDK_VERSIONS)):
abis = [structs[sdkver][a] for a in ABIS]
@ -1198,16 +1204,22 @@ def classify_struct(name):
compat = next((k for k, v in prev if is_always_compatible(v)), None)
if compat:
versions[sdkver] = versions[compat]
set_class_version(abis, compat)
else:
[abi.set_used() for abi in abis] # make sure order is computed
versions[sdkver] = f"{name}_{sdkver}"
prev += [(sdkver, abis)]
set_class_version(abis, sdkver)
if unique:
unique_structs.append(name)
if len(set(versions.values())) == 1:
versions = {sdkver: name for sdkver in versions.keys()}
for sdkver in filter(lambda v: v in structs, reversed(SDK_VERSIONS)):
abis = [structs[sdkver][a] for a in ABIS]
set_class_version(abis, "")
return versions

View File

@ -17,6 +17,34 @@ WINE_DEFAULT_DEBUG_CHANNEL(steamclient);
CREATE_TYPE_INFO_VTABLE;
#ifdef __ASM_USE_THISCALL_WRAPPER
#define DEFINE_VTBL_WRAPPER(off) \
__ASM_GLOBAL_FUNC(vtbl_wrapper_ ## off, \
"popl %eax\n\t" \
"popl %ecx\n\t" \
"pushl %eax\n\t" \
"movl 0(%ecx), %eax\n\t" \
"jmp *" #off "(%eax)\n\t")
DEFINE_VTBL_WRAPPER(0);
DEFINE_VTBL_WRAPPER(4);
DEFINE_VTBL_WRAPPER(8);
DEFINE_VTBL_WRAPPER(12);
DEFINE_VTBL_WRAPPER(16);
DEFINE_VTBL_WRAPPER(20);
DEFINE_VTBL_WRAPPER(24);
DEFINE_VTBL_WRAPPER(28);
DEFINE_VTBL_WRAPPER(32);
DEFINE_VTBL_WRAPPER(36);
DEFINE_VTBL_WRAPPER(40);
DEFINE_VTBL_WRAPPER(44);
DEFINE_VTBL_WRAPPER(48);
DEFINE_VTBL_WRAPPER(52);
DEFINE_VTBL_WRAPPER(56);
#endif
char g_tmppath[PATH_MAX];
static CRITICAL_SECTION steamclient_cs = { NULL, -1, 0, 0, 0, 0 };
@ -324,6 +352,40 @@ static void execute_pending_callbacks(void)
params.callback->warning_message_hook.severity, wine_dbgstr_a( params.callback->warning_message_hook.msg ) );
params.callback->warning_message_hook.pFunction( params.callback->warning_message_hook.severity, params.callback->warning_message_hook.msg );
break;
case CALL_IFACE_VTABLE_0:
TRACE( "CALL_IFACE_VTABLE_0 iface %p, arg0 %#jx, arg1 %#jx, arg2 %#jx.\n", params.callback->call_iface_vtable.iface,
params.callback->call_iface_vtable.arg0, params.callback->call_iface_vtable.arg1, params.callback->call_iface_vtable.arg2 );
CALL_VTBL_FUNC( params.callback->call_iface_vtable.iface, 0, void, (void *, intptr_t, intptr_t, intptr_t), (params.callback->call_iface_vtable.iface,
params.callback->call_iface_vtable.arg0, params.callback->call_iface_vtable.arg1, params.callback->call_iface_vtable.arg2) );
break;
case CALL_IFACE_VTABLE_1:
TRACE( "CALL_IFACE_VTABLE_1 iface %p, arg0 %#jx, arg1 %#jx, arg2 %#jx.\n", params.callback->call_iface_vtable.iface,
params.callback->call_iface_vtable.arg0, params.callback->call_iface_vtable.arg1, params.callback->call_iface_vtable.arg2 );
CALL_VTBL_FUNC( params.callback->call_iface_vtable.iface, 4, void, (void *, intptr_t, intptr_t, intptr_t), (params.callback->call_iface_vtable.iface,
params.callback->call_iface_vtable.arg0, params.callback->call_iface_vtable.arg1, params.callback->call_iface_vtable.arg2) );
break;
case CALL_IFACE_VTABLE_2:
TRACE( "CALL_IFACE_VTABLE_2 iface %p, arg0 %#jx, arg1 %#jx, arg2 %#jx.\n", params.callback->call_iface_vtable.iface,
params.callback->call_iface_vtable.arg0, params.callback->call_iface_vtable.arg1, params.callback->call_iface_vtable.arg2 );
CALL_VTBL_FUNC( params.callback->call_iface_vtable.iface, 8, void, (void *, intptr_t, intptr_t, intptr_t), (params.callback->call_iface_vtable.iface,
params.callback->call_iface_vtable.arg0, params.callback->call_iface_vtable.arg1, params.callback->call_iface_vtable.arg2) );
break;
case CALL_IFACE_VTABLE_0_ADD_PLAYER_TO_LIST:
TRACE( "CALL_IFACE_VTABLE_0_ADD_PLAYER_TO_LIST iface %p, name %s, score %u, time_played %f.\n", params.callback->add_player_to_list.iface,
params.callback->add_player_to_list.name, params.callback->add_player_to_list.score, params.callback->add_player_to_list.time_played );
CALL_VTBL_FUNC( params.callback->add_player_to_list.iface, 0, void, (void *, const char *, int32_t, float), (params.callback->add_player_to_list.iface,
params.callback->add_player_to_list.name, params.callback->add_player_to_list.score, params.callback->add_player_to_list.time_played) );
break;
case CALL_IFACE_VTABLE_0_RULES_RESPONDED:
{
const char *value = params.callback->rules_responded.rule_and_value + strlen( params.callback->rules_responded.rule_and_value ) + 1;
TRACE( "CALL_IFACE_VTABLE_0_RULES_RESPONDED iface %p, rule %s, value %s.\n", params.callback->rules_responded.iface,
params.callback->rules_responded.rule_and_value, value );
CALL_VTBL_FUNC( params.callback->rules_responded.iface, 0, void, (void *, const char *, const char *), (params.callback->rules_responded.iface,
params.callback->rules_responded.rule_and_value, value) );
break;
}
}
}

View File

@ -2539,12 +2539,18 @@ typedef struct u_ISteamMatchmakingRulesResponse u32_ISteamMatchmakingRulesRespon
typedef struct w_ISteamMatchmakingRulesResponse w_ISteamMatchmakingRulesResponse;
typedef struct w_ISteamMatchmakingRulesResponse w64_ISteamMatchmakingRulesResponse;
typedef struct w_ISteamMatchmakingRulesResponse w32_ISteamMatchmakingRulesResponse;
typedef struct u_ISteamMatchmakingServerListResponse u_ISteamMatchmakingServerListResponse;
typedef struct u_ISteamMatchmakingServerListResponse u64_ISteamMatchmakingServerListResponse;
typedef struct u_ISteamMatchmakingServerListResponse u32_ISteamMatchmakingServerListResponse;
typedef struct w_ISteamMatchmakingServerListResponse w_ISteamMatchmakingServerListResponse;
typedef struct w_ISteamMatchmakingServerListResponse w64_ISteamMatchmakingServerListResponse;
typedef struct w_ISteamMatchmakingServerListResponse w32_ISteamMatchmakingServerListResponse;
typedef struct u_ISteamMatchmakingServerListResponse_106 u_ISteamMatchmakingServerListResponse_106;
typedef struct u_ISteamMatchmakingServerListResponse_106 u64_ISteamMatchmakingServerListResponse_106;
typedef struct u_ISteamMatchmakingServerListResponse_106 u32_ISteamMatchmakingServerListResponse_106;
typedef struct w_ISteamMatchmakingServerListResponse_106 w_ISteamMatchmakingServerListResponse_106;
typedef struct w_ISteamMatchmakingServerListResponse_106 w64_ISteamMatchmakingServerListResponse_106;
typedef struct w_ISteamMatchmakingServerListResponse_106 w32_ISteamMatchmakingServerListResponse_106;
typedef struct u_ISteamMatchmakingServerListResponse_099u u_ISteamMatchmakingServerListResponse_099u;
typedef struct u_ISteamMatchmakingServerListResponse_099u u64_ISteamMatchmakingServerListResponse_099u;
typedef struct u_ISteamMatchmakingServerListResponse_099u u32_ISteamMatchmakingServerListResponse_099u;
typedef struct w_ISteamMatchmakingServerListResponse_099u w_ISteamMatchmakingServerListResponse_099u;
typedef struct w_ISteamMatchmakingServerListResponse_099u w64_ISteamMatchmakingServerListResponse_099u;
typedef struct w_ISteamMatchmakingServerListResponse_099u w32_ISteamMatchmakingServerListResponse_099u;
typedef struct u_ISteamNetworkingConnectionCustomSignaling u_ISteamNetworkingConnectionCustomSignaling;
typedef struct u_ISteamNetworkingConnectionCustomSignaling u64_ISteamNetworkingConnectionCustomSignaling;
typedef struct u_ISteamNetworkingConnectionCustomSignaling u32_ISteamNetworkingConnectionCustomSignaling;
@ -5608,7 +5614,7 @@ struct u_ISteamMatchmakingRulesResponse
#endif /* __cplusplus */
};
struct w_ISteamMatchmakingServerListResponse
struct w_ISteamMatchmakingServerListResponse_106
{
#ifdef __cplusplus
virtual void ServerResponded( void *, int32_t ) = 0;
@ -5617,7 +5623,7 @@ struct w_ISteamMatchmakingServerListResponse
#endif /* __cplusplus */
};
struct u_ISteamMatchmakingServerListResponse
struct u_ISteamMatchmakingServerListResponse_106
{
#ifdef __cplusplus
virtual void ServerResponded( void *, int32_t ) = 0;
@ -5626,6 +5632,24 @@ struct u_ISteamMatchmakingServerListResponse
#endif /* __cplusplus */
};
struct w_ISteamMatchmakingServerListResponse_099u
{
#ifdef __cplusplus
virtual void ServerResponded( int32_t ) = 0;
virtual void ServerFailedToRespond( int32_t ) = 0;
virtual void RefreshComplete( uint32_t ) = 0;
#endif /* __cplusplus */
};
struct u_ISteamMatchmakingServerListResponse_099u
{
#ifdef __cplusplus
virtual void ServerResponded( int32_t ) = 0;
virtual void ServerFailedToRespond( int32_t ) = 0;
virtual void RefreshComplete( uint32_t ) = 0;
#endif /* __cplusplus */
};
struct w_ISteamNetworkingConnectionCustomSignaling
{
#ifdef __cplusplus

View File

@ -1,307 +0,0 @@
/* Linux-to-Windows conversions (i.e. callbacks) here. */
#include "unix_private.h"
#include "cxx.h"
WINE_DEFAULT_DEBUG_CHANNEL(steamclient);
#ifdef __i386__
#define DEFINE_VTBL_WRAPPER(off) \
__ASM_GLOBAL_FUNC(vtbl_wrapper_ ## off, \
"popl %eax\n\t" \
"popl %ecx\n\t" \
"pushl %eax\n\t" \
"movl 0(%ecx), %eax\n\t" \
"jmp *" #off "(%eax)\n\t")
DEFINE_VTBL_WRAPPER(0);
DEFINE_VTBL_WRAPPER(4);
DEFINE_VTBL_WRAPPER(8);
DEFINE_VTBL_WRAPPER(12);
DEFINE_VTBL_WRAPPER(16);
DEFINE_VTBL_WRAPPER(20);
DEFINE_VTBL_WRAPPER(24);
DEFINE_VTBL_WRAPPER(28);
DEFINE_VTBL_WRAPPER(32);
DEFINE_VTBL_WRAPPER(36);
DEFINE_VTBL_WRAPPER(40);
DEFINE_VTBL_WRAPPER(44);
DEFINE_VTBL_WRAPPER(48);
#endif
/***** ISteamMatchmakingServerListResponse *****/
typedef struct winServerListResponse {
const vtable_ptr *vtable;
} winServerListResponse;
struct gccServerListResponse {
void *vtable;
struct winServerListResponse *win_side;
};
void gccServerListResponse_ServerResponded( struct gccServerListResponse *_this, void *hRequest, int iServer )
{
TRACE("%p/%p\n", _this, _this->win_side);
CALL_VTBL_FUNC( _this->win_side, 0, void, (winServerListResponse *, void *, int),
(_this->win_side, hRequest, iServer) );
}
void gccServerListResponse_ServerFailedToRespond( struct gccServerListResponse *_this, void *hRequest, int iServer )
{
TRACE("%p/%p\n", _this, _this->win_side);
CALL_VTBL_FUNC( _this->win_side, 4, void, (winServerListResponse *, void *, int),
(_this->win_side, hRequest, iServer) );
}
void gccServerListResponse_RefreshComplete( struct gccServerListResponse *_this, void *hRequest, uint32_t response )
{
TRACE("%p/%p\n", _this, _this->win_side);
CALL_VTBL_FUNC( _this->win_side, 8, void, (winServerListResponse *, void *, uint32_t),
(_this->win_side, hRequest, response) );
}
struct gccServerListResponseVtbl {
void (*ServerResponded)( struct gccServerListResponse *, void *, int );
void (*ServerFailedToRespond)( struct gccServerListResponse *, void *, int );
void (*RefreshComplete)( struct gccServerListResponse *, void *, uint32_t );
} gccServerListResponse_vtbl = {
gccServerListResponse_ServerResponded,
gccServerListResponse_ServerFailedToRespond,
gccServerListResponse_RefreshComplete
};
void gccServerListResponse001_ServerResponded(struct gccServerListResponse *_this, int iServer)
{
TRACE("%p/%p\n", _this, _this->win_side);
CALL_VTBL_FUNC(_this->win_side, 0, void, (winServerListResponse *, int), (_this->win_side, iServer));
}
void gccServerListResponse001_ServerFailedToRespond(struct gccServerListResponse *_this, int iServer)
{
TRACE("%p/%p\n", _this, _this->win_side);
CALL_VTBL_FUNC(_this->win_side, 4, void, (winServerListResponse *, int), (_this->win_side, iServer));
}
void gccServerListResponse001_RefreshComplete( struct gccServerListResponse *_this, uint32_t response )
{
TRACE("%p/%p\n", _this, _this->win_side);
CALL_VTBL_FUNC( _this->win_side, 8, void, (winServerListResponse *, uint32_t), (_this->win_side, response) );
}
struct gccServerListResponse001Vtbl {
void (*ServerResponded)(struct gccServerListResponse *, int);
void (*ServerFailedToRespond)(struct gccServerListResponse *, int);
void (*RefreshComplete)( struct gccServerListResponse *, uint32_t );
} gccServerListResponse001_vtbl = {
gccServerListResponse001_ServerResponded,
gccServerListResponse001_ServerFailedToRespond,
gccServerListResponse001_RefreshComplete
};
struct u_ISteamMatchmakingServerListResponse *create_LinuxISteamMatchmakingServerListResponse( void *win, const char *version )
{
struct gccServerListResponse *ret;
if (!win)
return NULL;
/* FIXME: When is it save to free this? CancelServerQuery? */
ret = (struct gccServerListResponse *)HeapAlloc(GetProcessHeap(), 0, sizeof(*ret));
if(!ret)
return NULL;
if (strcmp( version, "ISteamMatchmakingServers_SteamMatchMakingServers001" ) == 0)
{
ret->vtable = &gccServerListResponse001_vtbl;
}
else
{
ret->vtable = &gccServerListResponse_vtbl;
}
ret->win_side = (struct winServerListResponse*)win;
return (struct u_ISteamMatchmakingServerListResponse *)ret;
}
/***** ISteamMatchmakingPingResponse *****/
typedef struct winPingResponse {
const vtable_ptr *vtable;
} winPingResponse;
struct gccPingResponse {
void *vtable;
struct winPingResponse *win_side;
};
struct gameserveritem_t;
void gccPingResponse_ServerResponded( struct gccPingResponse *_this, struct gameserveritem_t *server )
{
TRACE("%p/%p\n", _this, _this->win_side);
CALL_VTBL_FUNC( _this->win_side, 0, void, (winPingResponse *, struct gameserveritem_t *),
(_this->win_side, server) );
}
void gccPingResponse_ServerFailedToRespond(struct gccPingResponse *_this)
{
TRACE("%p/%p\n", _this, _this->win_side);
CALL_VTBL_FUNC(_this->win_side, 4, void, (winPingResponse *), (_this->win_side));
}
struct gccPingResponseVtbl {
void (*ServerResponded)( struct gccPingResponse *, struct gameserveritem_t * );
void (*ServerFailedToRespond)(struct gccPingResponse *);
} gccPingResponse_vtbl = {
gccPingResponse_ServerResponded,
gccPingResponse_ServerFailedToRespond
};
struct u_ISteamMatchmakingPingResponse *create_LinuxISteamMatchmakingPingResponse( void *win, const char *version )
{
struct gccPingResponse *ret;
if (!win)
return NULL;
ret = (struct gccPingResponse *)HeapAlloc(GetProcessHeap(), 0, sizeof(*ret));
if(!ret)
return NULL;
ret->vtable = &gccPingResponse_vtbl;
ret->win_side = (struct winPingResponse*)win;
return (struct u_ISteamMatchmakingPingResponse *)ret;
}
/***** ISteamMatchmakingPlayersResponse *****/
typedef struct winPlayersResponse {
const vtable_ptr *vtable;
} winPlayersResponse;
struct gccPlayersResponse {
void *vtable;
struct winPlayersResponse *win_side;
};
void gccPlayersResponse_AddPlayerToList(struct gccPlayersResponse *_this, const char *pchName, int nScore, float flTimePlayed)
{
TRACE("%p/%p\n", _this, _this->win_side);
CALL_VTBL_FUNC(_this->win_side, 0, void, (winPlayersResponse *, const char *, int, float), (_this->win_side, pchName, nScore, flTimePlayed));
}
void gccPlayersResponse_PlayersFailedToRespond(struct gccPlayersResponse *_this)
{
TRACE("%p/%p\n", _this, _this->win_side);
CALL_VTBL_FUNC(_this->win_side, 4, void, (winPlayersResponse *), (_this->win_side));
}
void gccPlayersResponse_PlayersRefreshComplete(struct gccPlayersResponse *_this)
{
TRACE("%p/%p\n", _this, _this->win_side);
CALL_VTBL_FUNC(_this->win_side, 8, void, (winPlayersResponse *), (_this->win_side));
}
struct gccPlayersResponseVtbl {
void (*AddPlayerToList)(struct gccPlayersResponse *, const char *, int, float);
void (*PlayersFailedToRespond)(struct gccPlayersResponse *);
void (*PlayersRefreshComplete)(struct gccPlayersResponse *);
} gccPlayersResponse_vtbl = {
gccPlayersResponse_AddPlayerToList,
gccPlayersResponse_PlayersFailedToRespond,
gccPlayersResponse_PlayersRefreshComplete
};
struct u_ISteamMatchmakingPlayersResponse *create_LinuxISteamMatchmakingPlayersResponse( void *win, const char *version )
{
struct gccPlayersResponse *ret;
if (!win)
return NULL;
ret = (struct gccPlayersResponse *)HeapAlloc(GetProcessHeap(), 0, sizeof(*ret));
if(!ret)
return NULL;
ret->vtable = &gccPlayersResponse_vtbl;
ret->win_side = (struct winPlayersResponse*)win;
return (struct u_ISteamMatchmakingPlayersResponse *)ret;
}
/***** ISteamMatchmakingRulesResponse *****/
typedef struct winRulesResponse {
const vtable_ptr *vtable;
} winRulesResponse;
struct gccRulesResponse {
void *vtable;
struct winRulesResponse *win_side;
};
void gccRulesResponse_RulesResponded(struct gccRulesResponse *_this, const char *pchRule, const char *pchValue)
{
TRACE("%p/%p\n", _this, _this->win_side);
CALL_VTBL_FUNC(_this->win_side, 0, void, (winRulesResponse *, const char *, const char *), (_this->win_side, pchRule, pchValue));
}
void gccRulesResponse_RulesFailedToRespond(struct gccRulesResponse *_this)
{
TRACE("%p/%p\n", _this, _this->win_side);
CALL_VTBL_FUNC(_this->win_side, 4, void, (winRulesResponse *), (_this->win_side));
}
void gccRulesResponse_RulesRefreshComplete(struct gccRulesResponse *_this)
{
TRACE("%p/%p\n", _this, _this->win_side);
CALL_VTBL_FUNC(_this->win_side, 8, void, (winRulesResponse *), (_this->win_side));
}
struct gccRulesResponseVtbl {
void (*RulesResponded)(struct gccRulesResponse *, const char *, const char*);
void (*RulesFailedToRespond)(struct gccRulesResponse *);
void (*RulesRefreshComplete)(struct gccRulesResponse *);
} gccRulesResponse_vtbl = {
gccRulesResponse_RulesResponded,
gccRulesResponse_RulesFailedToRespond,
gccRulesResponse_RulesRefreshComplete
};
struct u_ISteamMatchmakingRulesResponse *create_LinuxISteamMatchmakingRulesResponse( void *win, const char *version )
{
struct gccRulesResponse *ret;
if (!win)
return NULL;
ret = (struct gccRulesResponse *)HeapAlloc(GetProcessHeap(), 0, sizeof(*ret));
if(!ret)
return NULL;
ret->vtable = &gccRulesResponse_vtbl;
ret->win_side = (struct winRulesResponse*)win;
return (struct u_ISteamMatchmakingRulesResponse *)ret;
}
struct u_ISteamNetworkingConnectionCustomSignaling *create_LinuxISteamNetworkingConnectionCustomSignaling( void *win, const char *version )
{
FIXME( "not implemented!\n" );
return NULL;
}
struct u_ISteamNetworkingCustomSignalingRecvContext *create_LinuxISteamNetworkingCustomSignalingRecvContext( void *win, const char *version )
{
FIXME( "not implemented!\n" );
return NULL;
}

View File

@ -18,12 +18,10 @@ extern "C"
{
#endif /* __cplusplus */
extern struct u_ISteamMatchmakingServerListResponse *create_LinuxISteamMatchmakingServerListResponse( void *win, const char *version ) DECLSPEC_HIDDEN;
extern struct u_ISteamMatchmakingPingResponse *create_LinuxISteamMatchmakingPingResponse( void *win, const char *version ) DECLSPEC_HIDDEN;
extern struct u_ISteamMatchmakingPlayersResponse *create_LinuxISteamMatchmakingPlayersResponse( void *win, const char *version ) DECLSPEC_HIDDEN;
extern struct u_ISteamMatchmakingRulesResponse *create_LinuxISteamMatchmakingRulesResponse( void *win, const char *version ) DECLSPEC_HIDDEN;
extern struct u_ISteamNetworkingConnectionCustomSignaling *create_LinuxISteamNetworkingConnectionCustomSignaling(void *win, const char *version) DECLSPEC_HIDDEN;
extern struct u_ISteamNetworkingCustomSignalingRecvContext *create_LinuxISteamNetworkingCustomSignalingRecvContext(void *win, const char *version) DECLSPEC_HIDDEN;
struct w_steam_iface;
extern void queue_vtable_callback( struct w_steam_iface *w_iface, enum callback_type type, uint64_t arg0, uint64_t arg1, uint64_t arg2 );
extern void queue_vtable_callback_0_add_player_to_list( struct w_steam_iface *w_iface, const char *pchName, int nScore, float flTimePlayed );
extern void queue_vtable_callback_0_rules_responded( struct w_steam_iface *w_iface, const char *pchRule, const char *pchValue );
extern uint32_t manual_convert_nNativeKeyCode( uint32_t win_vk );

View File

@ -147,12 +147,12 @@ struct u_ISteamMatchmaking_SteamMatchMaking001
struct u_ISteamMatchmakingServers_SteamMatchMakingServers001
{
#ifdef __cplusplus
virtual void RequestInternetServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse * ) = 0;
virtual void RequestLANServerList( uint32_t, u_ISteamMatchmakingServerListResponse * ) = 0;
virtual void RequestFriendsServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse * ) = 0;
virtual void RequestFavoritesServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse * ) = 0;
virtual void RequestHistoryServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse * ) = 0;
virtual void RequestSpectatorServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse * ) = 0;
virtual void RequestInternetServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse_099u * ) = 0;
virtual void RequestLANServerList( uint32_t, u_ISteamMatchmakingServerListResponse_099u * ) = 0;
virtual void RequestFriendsServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse_099u * ) = 0;
virtual void RequestFavoritesServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse_099u * ) = 0;
virtual void RequestHistoryServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse_099u * ) = 0;
virtual void RequestSpectatorServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse_099u * ) = 0;
virtual gameserveritem_t_105 * GetServerDetails( uint32_t, int32_t ) = 0;
virtual void CancelQuery( uint32_t ) = 0;
virtual void RefreshQuery( uint32_t ) = 0;
@ -1196,12 +1196,12 @@ struct u_ISteamUser_SteamUser013
struct u_ISteamMatchmakingServers_SteamMatchMakingServers002
{
#ifdef __cplusplus
virtual void * RequestInternetServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse * ) = 0;
virtual void * RequestLANServerList( uint32_t, u_ISteamMatchmakingServerListResponse * ) = 0;
virtual void * RequestFriendsServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse * ) = 0;
virtual void * RequestFavoritesServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse * ) = 0;
virtual void * RequestHistoryServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse * ) = 0;
virtual void * RequestSpectatorServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse * ) = 0;
virtual void * RequestInternetServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse_106 * ) = 0;
virtual void * RequestLANServerList( uint32_t, u_ISteamMatchmakingServerListResponse_106 * ) = 0;
virtual void * RequestFriendsServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse_106 * ) = 0;
virtual void * RequestFavoritesServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse_106 * ) = 0;
virtual void * RequestHistoryServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse_106 * ) = 0;
virtual void * RequestSpectatorServerList( uint32_t, MatchMakingKeyValuePair_t **, uint32_t, u_ISteamMatchmakingServerListResponse_106 * ) = 0;
virtual void ReleaseRequest( void * ) = 0;
virtual gameserveritem_t_105 * GetServerDetails( void *, int32_t ) = 0;
virtual void CancelQuery( void * ) = 0;

View File

@ -2,6 +2,8 @@
#include <stdlib.h>
WINE_DEFAULT_DEBUG_CHANNEL(steamclient);
static void receive_messages_utow_144( uint32_t count, u_SteamNetworkingMessage_t_144 **u_msgs,
w_SteamNetworkingMessage_t_144 **w_msgs )
{
@ -606,3 +608,379 @@ NTSTATUS ISteamNetworkingUtils_SteamNetworkingUtils004_SetConfigValue( void *arg
return 0;
}
struct SteamMatchmakingServerListResponse_099u : u_ISteamMatchmakingServerListResponse_099u
{
struct w_steam_iface *w_iface;
virtual void ServerResponded( int32_t );
virtual void ServerFailedToRespond( int32_t );
virtual void RefreshComplete( uint32_t );
};
void SteamMatchmakingServerListResponse_099u::ServerResponded( int32_t iServer )
{
queue_vtable_callback( this->w_iface, CALL_IFACE_VTABLE_0, (intptr_t)iServer, 0, 0 );
}
void SteamMatchmakingServerListResponse_099u::ServerFailedToRespond( int32_t iServer )
{
queue_vtable_callback( this->w_iface, CALL_IFACE_VTABLE_1, (intptr_t)iServer, 0, 0 );
}
void SteamMatchmakingServerListResponse_099u::RefreshComplete( uint32_t response )
{
queue_vtable_callback( this->w_iface, CALL_IFACE_VTABLE_2, (intptr_t)response, 0, 0 );
}
u_ISteamMatchmakingServerListResponse_099u *create_LinuxISteamMatchmakingServerListResponse_099u( void *win )
{
SteamMatchmakingServerListResponse_099u *ret;
if (!win) return NULL;
if (!(ret = new SteamMatchmakingServerListResponse_099u())) return NULL;
ret->w_iface = (struct w_steam_iface *)win;
return ret;
}
struct SteamMatchmakingServerListResponse_106 : u_ISteamMatchmakingServerListResponse_106
{
struct w_steam_iface *w_iface;
virtual void ServerResponded( void *, int32_t );
virtual void ServerFailedToRespond( void *, int32_t );
virtual void RefreshComplete( void *, uint32_t );
};
void SteamMatchmakingServerListResponse_106::ServerResponded( void *hRequest, int32_t iServer )
{
queue_vtable_callback( this->w_iface, CALL_IFACE_VTABLE_0, (intptr_t)hRequest, (intptr_t)iServer, 0 );
}
void SteamMatchmakingServerListResponse_106::ServerFailedToRespond( void *hRequest, int32_t iServer )
{
queue_vtable_callback( this->w_iface, CALL_IFACE_VTABLE_1, (intptr_t)hRequest, (intptr_t)iServer, 0 );
}
void SteamMatchmakingServerListResponse_106::RefreshComplete( void *hRequest, uint32_t response )
{
queue_vtable_callback( this->w_iface, CALL_IFACE_VTABLE_2, (intptr_t)hRequest, (intptr_t)response, 0 );
}
u_ISteamMatchmakingServerListResponse_106 *create_LinuxISteamMatchmakingServerListResponse_106( void *win )
{
SteamMatchmakingServerListResponse_106 *ret;
if (!win) return NULL;
if (!(ret = new SteamMatchmakingServerListResponse_106())) return NULL;
ret->w_iface = (struct w_steam_iface *)win;
return ret;
}
struct SteamMatchmakingPingResponse : u_ISteamMatchmakingPingResponse
{
struct w_steam_iface *w_iface;
virtual void ServerResponded( gameserveritem_t_105 * );
virtual void ServerFailedToRespond( );
};
void SteamMatchmakingPingResponse::ServerResponded( gameserveritem_t_105 *server )
{
queue_vtable_callback( this->w_iface, CALL_IFACE_VTABLE_0, (intptr_t)server, 0, 0 );
}
void SteamMatchmakingPingResponse::ServerFailedToRespond(void)
{
queue_vtable_callback( this->w_iface, CALL_IFACE_VTABLE_1, 0, 0, 0 );
}
struct u_ISteamMatchmakingPingResponse *create_LinuxISteamMatchmakingPingResponse( void *win )
{
SteamMatchmakingPingResponse *ret;
if (!win) return NULL;
if (!(ret = new SteamMatchmakingPingResponse())) return NULL;
ret->w_iface = (struct w_steam_iface *)win;
return ret;
}
struct SteamMatchmakingPlayersResponse : u_ISteamMatchmakingPlayersResponse
{
struct w_steam_iface *w_iface;
virtual void AddPlayerToList( const char *, int32_t, float );
virtual void PlayersFailedToRespond( );
virtual void PlayersRefreshComplete( );
};
void SteamMatchmakingPlayersResponse::AddPlayerToList(const char *pchName, int nScore, float flTimePlayed)
{
queue_vtable_callback_0_add_player_to_list( this->w_iface, pchName, nScore, flTimePlayed );
}
void SteamMatchmakingPlayersResponse::PlayersFailedToRespond(void)
{
queue_vtable_callback( this->w_iface, CALL_IFACE_VTABLE_1, 0, 0, 0 );
}
void SteamMatchmakingPlayersResponse::PlayersRefreshComplete(void)
{
queue_vtable_callback( this->w_iface, CALL_IFACE_VTABLE_2, 0, 0, 0 );
}
struct u_ISteamMatchmakingPlayersResponse *create_LinuxISteamMatchmakingPlayersResponse( void *win )
{
struct SteamMatchmakingPlayersResponse *ret;
if (!win) return NULL;
if (!(ret = new SteamMatchmakingPlayersResponse())) return NULL;
ret->w_iface = (struct w_steam_iface *)win;
return ret;
}
struct SteamMatchmakingRulesResponse : u_ISteamMatchmakingRulesResponse
{
struct w_steam_iface *w_iface;
virtual void RulesResponded( const char *, const char * );
virtual void RulesFailedToRespond( );
virtual void RulesRefreshComplete( );
};
void SteamMatchmakingRulesResponse::RulesResponded(const char *pchRule, const char *pchValue)
{
queue_vtable_callback_0_rules_responded( this->w_iface, pchRule, pchValue );
}
void SteamMatchmakingRulesResponse::RulesFailedToRespond(void)
{
queue_vtable_callback( this->w_iface, CALL_IFACE_VTABLE_1, 0, 0, 0 );
}
void SteamMatchmakingRulesResponse::RulesRefreshComplete(void)
{
queue_vtable_callback( this->w_iface, CALL_IFACE_VTABLE_2, 0, 0, 0 );
}
struct u_ISteamMatchmakingRulesResponse *create_LinuxISteamMatchmakingRulesResponse( void *win )
{
SteamMatchmakingRulesResponse *ret;
if (!win) return NULL;
if (!(ret = new SteamMatchmakingRulesResponse())) return NULL;
ret->w_iface = (struct w_steam_iface *)win;
return ret;
}
struct u_ISteamNetworkingConnectionCustomSignaling *create_LinuxISteamNetworkingConnectionCustomSignaling( void *win )
{
FIXME( "not implemented!\n" );
return NULL;
}
struct u_ISteamNetworkingCustomSignalingRecvContext *create_LinuxISteamNetworkingCustomSignalingRecvContext( void *win )
{
FIXME( "not implemented!\n" );
return NULL;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_RequestInternetServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestInternetServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestInternetServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side;
u_ISteamMatchmakingServerListResponse_099u *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse_099u( params->pRequestServersResponse );
iface->RequestInternetServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_RequestLANServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestLANServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestLANServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side;
u_ISteamMatchmakingServerListResponse_099u *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse_099u( params->pRequestServersResponse );
iface->RequestLANServerList( params->iApp, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFriendsServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFriendsServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFriendsServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side;
u_ISteamMatchmakingServerListResponse_099u *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse_099u( params->pRequestServersResponse );
iface->RequestFriendsServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFavoritesServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFavoritesServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFavoritesServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side;
u_ISteamMatchmakingServerListResponse_099u *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse_099u( params->pRequestServersResponse );
iface->RequestFavoritesServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_RequestHistoryServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestHistoryServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestHistoryServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side;
u_ISteamMatchmakingServerListResponse_099u *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse_099u( params->pRequestServersResponse );
iface->RequestHistoryServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_RequestSpectatorServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestSpectatorServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestSpectatorServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side;
u_ISteamMatchmakingServerListResponse_099u *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse_099u( params->pRequestServersResponse );
iface->RequestSpectatorServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_PingServer( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_PingServer_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_PingServer_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side;
u_ISteamMatchmakingPingResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingPingResponse( params->pRequestServersResponse );
params->_ret = iface->PingServer( params->unIP, params->usPort, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_PlayerDetails( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_PlayerDetails_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_PlayerDetails_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side;
u_ISteamMatchmakingPlayersResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingPlayersResponse( params->pRequestServersResponse );
params->_ret = iface->PlayerDetails( params->unIP, params->usPort, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers001_ServerRules( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_ServerRules_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers001_ServerRules_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side;
u_ISteamMatchmakingRulesResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingRulesResponse( params->pRequestServersResponse );
params->_ret = iface->ServerRules( params->unIP, params->usPort, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_RequestInternetServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestInternetServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestInternetServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side;
u_ISteamMatchmakingServerListResponse_106 *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse_106( params->pRequestServersResponse );
params->_ret = iface->RequestInternetServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side;
u_ISteamMatchmakingServerListResponse_106 *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse_106( params->pRequestServersResponse );
params->_ret = iface->RequestLANServerList( params->iApp, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side;
u_ISteamMatchmakingServerListResponse_106 *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse_106( params->pRequestServersResponse );
params->_ret = iface->RequestFriendsServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side;
u_ISteamMatchmakingServerListResponse_106 *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse_106( params->pRequestServersResponse );
params->_ret = iface->RequestFavoritesServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side;
u_ISteamMatchmakingServerListResponse_106 *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse_106( params->pRequestServersResponse );
params->_ret = iface->RequestHistoryServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServerList( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServerList_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServerList_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side;
u_ISteamMatchmakingServerListResponse_106 *u_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse_106( params->pRequestServersResponse );
params->_ret = iface->RequestSpectatorServerList( params->iApp, params->ppchFilters, params->nFilters, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_PingServer( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_PingServer_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_PingServer_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side;
u_ISteamMatchmakingPingResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingPingResponse( params->pRequestServersResponse );
params->_ret = iface->PingServer( params->unIP, params->usPort, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_PlayerDetails( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_PlayerDetails_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_PlayerDetails_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side;
u_ISteamMatchmakingPlayersResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingPlayersResponse( params->pRequestServersResponse );
params->_ret = iface->PlayerDetails( params->unIP, params->usPort, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamMatchmakingServers_SteamMatchMakingServers002_ServerRules( void *args )
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_ServerRules_params *params = (struct ISteamMatchmakingServers_SteamMatchMakingServers002_ServerRules_params *)args;
struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct u_ISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side;
u_ISteamMatchmakingRulesResponse *u_pRequestServersResponse = create_LinuxISteamMatchmakingRulesResponse( params->pRequestServersResponse );
params->_ret = iface->ServerRules( params->unIP, params->usPort, u_pRequestServersResponse );
return 0;
}
NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets006_ConnectP2PCustomSignaling( void *args )
{
struct ISteamNetworkingSockets_SteamNetworkingSockets006_ConnectP2PCustomSignaling_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets006_ConnectP2PCustomSignaling_params *)args;
struct u_ISteamNetworkingSockets_SteamNetworkingSockets006 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets006 *)params->linux_side;
u_ISteamNetworkingConnectionCustomSignaling *u_pSignaling = create_LinuxISteamNetworkingConnectionCustomSignaling( params->pSignaling );
params->_ret = iface->ConnectP2PCustomSignaling( u_pSignaling, params->pPeerIdentity, params->nOptions, params->pOptions );
return 0;
}
NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets006_ReceivedP2PCustomSignal( void *args )
{
struct ISteamNetworkingSockets_SteamNetworkingSockets006_ReceivedP2PCustomSignal_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets006_ReceivedP2PCustomSignal_params *)args;
struct u_ISteamNetworkingSockets_SteamNetworkingSockets006 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets006 *)params->linux_side;
u_ISteamNetworkingCustomSignalingRecvContext *u_pContext = create_LinuxISteamNetworkingCustomSignalingRecvContext( params->pContext );
params->_ret = iface->ReceivedP2PCustomSignal( params->pMsg, params->cbMsg, u_pContext );
return 0;
}
NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets008_ConnectP2PCustomSignaling( void *args )
{
struct ISteamNetworkingSockets_SteamNetworkingSockets008_ConnectP2PCustomSignaling_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets008_ConnectP2PCustomSignaling_params *)args;
struct u_ISteamNetworkingSockets_SteamNetworkingSockets008 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets008 *)params->linux_side;
u_ISteamNetworkingConnectionCustomSignaling *u_pSignaling = create_LinuxISteamNetworkingConnectionCustomSignaling( params->pSignaling );
params->_ret = iface->ConnectP2PCustomSignaling( u_pSignaling, params->pPeerIdentity, params->nOptions, params->pOptions );
return 0;
}
NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets008_ReceivedP2PCustomSignal( void *args )
{
struct ISteamNetworkingSockets_SteamNetworkingSockets008_ReceivedP2PCustomSignal_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets008_ReceivedP2PCustomSignal_params *)args;
struct u_ISteamNetworkingSockets_SteamNetworkingSockets008 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets008 *)params->linux_side;
u_ISteamNetworkingCustomSignalingRecvContext *u_pContext = create_LinuxISteamNetworkingCustomSignalingRecvContext( params->pContext );
params->_ret = iface->ReceivedP2PCustomSignal( params->pMsg, params->cbMsg, u_pContext );
return 0;
}

View File

@ -16,6 +16,71 @@ struct callback_entry
static struct list callbacks = LIST_INIT( callbacks );
static pthread_mutex_t callbacks_lock = PTHREAD_MUTEX_INITIALIZER;
extern void queue_vtable_callback( struct w_steam_iface *w_iface, enum callback_type type, uint64_t arg0, uint64_t arg1, uint64_t arg2 )
{
struct callback_entry *entry;
uint32_t size = 0;
size += sizeof(struct callback_entry);
if (!(entry = (struct callback_entry *)malloc( size ))) return;
entry->callback.type = type;
size -= offsetof( struct callback_entry, callback );
entry->callback.size = size;
entry->callback.call_iface_vtable.iface = w_iface;
entry->callback.call_iface_vtable.arg0 = arg0;
entry->callback.call_iface_vtable.arg1 = arg1;
entry->callback.call_iface_vtable.arg2 = arg2;
pthread_mutex_lock( &callbacks_lock );
list_add_tail( &callbacks, &entry->entry );
pthread_mutex_unlock( &callbacks_lock );
}
extern void queue_vtable_callback_0_add_player_to_list( struct w_steam_iface *w_iface, const char *pchName, int nScore, float flTimePlayed )
{
uint32_t name_size = strlen( pchName ) + 1, size = name_size;
struct callback_entry *entry;
size += sizeof(struct callback_entry);
if (!(entry = (struct callback_entry *)malloc( size ))) return;
entry->callback.type = CALL_IFACE_VTABLE_0_ADD_PLAYER_TO_LIST;
size -= offsetof( struct callback_entry, callback );
entry->callback.size = size;
entry->callback.add_player_to_list.iface = w_iface;
entry->callback.add_player_to_list.score = nScore;
entry->callback.add_player_to_list.time_played = flTimePlayed;
memcpy( (char *)entry->callback.add_player_to_list.name, pchName, name_size );
pthread_mutex_lock( &callbacks_lock );
list_add_tail( &callbacks, &entry->entry );
pthread_mutex_unlock( &callbacks_lock );
}
extern void queue_vtable_callback_0_rules_responded( struct w_steam_iface *w_iface, const char *pchRule, const char *pchValue )
{
uint32_t rule_size = strlen( pchRule ) + 1, value_size = strlen( pchValue ) + 1, size = rule_size + value_size;
struct callback_entry *entry;
size += sizeof(struct callback_entry);
if (!(entry = (struct callback_entry *)malloc( size ))) return;
entry->callback.type = CALL_IFACE_VTABLE_0_RULES_RESPONDED;
size -= offsetof( struct callback_entry, callback );
entry->callback.size = size;
entry->callback.rules_responded.iface = w_iface;
memcpy( (char *)entry->callback.rules_responded.rule_and_value, pchRule, rule_size );
memcpy( (char *)entry->callback.rules_responded.rule_and_value + rule_size, pchValue, value_size );
pthread_mutex_lock( &callbacks_lock );
list_add_tail( &callbacks, &entry->entry );
pthread_mutex_unlock( &callbacks_lock );
}
static w_FSteamNetworkingSocketsDebugOutput w_steam_networking_socket_debug_output;
static void u_steam_networking_socket_debug_output( uint32_t nType, const char *pszMsg )
{

View File

@ -34,6 +34,11 @@ enum callback_type
{
SOCKETS_DEBUG_OUTPUT = 1,
WARNING_MESSAGE_HOOK,
CALL_IFACE_VTABLE_0,
CALL_IFACE_VTABLE_1,
CALL_IFACE_VTABLE_2,
CALL_IFACE_VTABLE_0_ADD_PLAYER_TO_LIST,
CALL_IFACE_VTABLE_0_RULES_RESPONDED,
};
struct callback
@ -56,6 +61,28 @@ struct callback
int32_t severity;
const char msg[1];
} warning_message_hook;
struct
{
struct w_steam_iface *iface;
uint64_t arg0;
uint64_t arg1;
uint64_t arg2;
} call_iface_vtable;
struct
{
struct w_steam_iface *iface;
int32_t score;
float time_played;
const char name[1];
} add_player_to_list;
struct
{
struct w_steam_iface *iface;
const char rule_and_value[1];
} rules_responded;
};
};

View File

@ -36885,14 +36885,14 @@ struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestInternetServer
uint32_t iApp;
MatchMakingKeyValuePair_t **ppchFilters;
uint32_t nFilters;
w_ISteamMatchmakingServerListResponse *pRequestServersResponse;
w_ISteamMatchmakingServerListResponse_099u *pRequestServersResponse;
};
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestLANServerList_params
{
struct u_steam_iface *linux_side;
uint32_t iApp;
w_ISteamMatchmakingServerListResponse *pRequestServersResponse;
w_ISteamMatchmakingServerListResponse_099u *pRequestServersResponse;
};
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFriendsServerList_params
@ -36901,7 +36901,7 @@ struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFriendsServerL
uint32_t iApp;
MatchMakingKeyValuePair_t **ppchFilters;
uint32_t nFilters;
w_ISteamMatchmakingServerListResponse *pRequestServersResponse;
w_ISteamMatchmakingServerListResponse_099u *pRequestServersResponse;
};
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFavoritesServerList_params
@ -36910,7 +36910,7 @@ struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFavoritesServe
uint32_t iApp;
MatchMakingKeyValuePair_t **ppchFilters;
uint32_t nFilters;
w_ISteamMatchmakingServerListResponse *pRequestServersResponse;
w_ISteamMatchmakingServerListResponse_099u *pRequestServersResponse;
};
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestHistoryServerList_params
@ -36919,7 +36919,7 @@ struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestHistoryServerL
uint32_t iApp;
MatchMakingKeyValuePair_t **ppchFilters;
uint32_t nFilters;
w_ISteamMatchmakingServerListResponse *pRequestServersResponse;
w_ISteamMatchmakingServerListResponse_099u *pRequestServersResponse;
};
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestSpectatorServerList_params
@ -36928,7 +36928,7 @@ struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestSpectatorServe
uint32_t iApp;
MatchMakingKeyValuePair_t **ppchFilters;
uint32_t nFilters;
w_ISteamMatchmakingServerListResponse *pRequestServersResponse;
w_ISteamMatchmakingServerListResponse_099u *pRequestServersResponse;
};
struct ISteamMatchmakingServers_SteamMatchMakingServers001_GetServerDetails_params
@ -37012,7 +37012,7 @@ struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestInternetServer
uint32_t iApp;
MatchMakingKeyValuePair_t **ppchFilters;
uint32_t nFilters;
w_ISteamMatchmakingServerListResponse *pRequestServersResponse;
w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse;
};
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList_params
@ -37020,7 +37020,7 @@ struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList_
struct u_steam_iface *linux_side;
void *_ret;
uint32_t iApp;
w_ISteamMatchmakingServerListResponse *pRequestServersResponse;
w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse;
};
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerList_params
@ -37030,7 +37030,7 @@ struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerL
uint32_t iApp;
MatchMakingKeyValuePair_t **ppchFilters;
uint32_t nFilters;
w_ISteamMatchmakingServerListResponse *pRequestServersResponse;
w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse;
};
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServerList_params
@ -37040,7 +37040,7 @@ struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServe
uint32_t iApp;
MatchMakingKeyValuePair_t **ppchFilters;
uint32_t nFilters;
w_ISteamMatchmakingServerListResponse *pRequestServersResponse;
w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse;
};
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerList_params
@ -37050,7 +37050,7 @@ struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerL
uint32_t iApp;
MatchMakingKeyValuePair_t **ppchFilters;
uint32_t nFilters;
w_ISteamMatchmakingServerListResponse *pRequestServersResponse;
w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse;
};
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServerList_params
@ -37060,7 +37060,7 @@ struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServe
uint32_t iApp;
MatchMakingKeyValuePair_t **ppchFilters;
uint32_t nFilters;
w_ISteamMatchmakingServerListResponse *pRequestServersResponse;
w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse;
};
struct ISteamMatchmakingServers_SteamMatchMakingServers002_ReleaseRequest_params

View File

@ -20,7 +20,7 @@ DEFINE_THISCALL_WRAPPER(winISteamMatchmakingServers_SteamMatchMakingServers001_P
DEFINE_THISCALL_WRAPPER(winISteamMatchmakingServers_SteamMatchMakingServers001_ServerRules, 16)
DEFINE_THISCALL_WRAPPER(winISteamMatchmakingServers_SteamMatchMakingServers001_CancelServerQuery, 8)
void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestInternetServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse *pRequestServersResponse)
void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestInternetServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_099u *pRequestServersResponse)
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestInternetServerList_params params =
{
@ -34,7 +34,7 @@ void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestIn
STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers001_RequestInternetServerList, &params );
}
void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestLANServerList(struct w_steam_iface *_this, uint32_t iApp, w_ISteamMatchmakingServerListResponse *pRequestServersResponse)
void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestLANServerList(struct w_steam_iface *_this, uint32_t iApp, w_ISteamMatchmakingServerListResponse_099u *pRequestServersResponse)
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestLANServerList_params params =
{
@ -46,7 +46,7 @@ void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestLA
STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers001_RequestLANServerList, &params );
}
void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestFriendsServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse *pRequestServersResponse)
void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestFriendsServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_099u *pRequestServersResponse)
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFriendsServerList_params params =
{
@ -60,7 +60,7 @@ void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestFr
STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFriendsServerList, &params );
}
void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestFavoritesServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse *pRequestServersResponse)
void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestFavoritesServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_099u *pRequestServersResponse)
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFavoritesServerList_params params =
{
@ -74,7 +74,7 @@ void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestFa
STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers001_RequestFavoritesServerList, &params );
}
void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestHistoryServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse *pRequestServersResponse)
void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestHistoryServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_099u *pRequestServersResponse)
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestHistoryServerList_params params =
{
@ -88,7 +88,7 @@ void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestHi
STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers001_RequestHistoryServerList, &params );
}
void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestSpectatorServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse *pRequestServersResponse)
void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestSpectatorServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_099u *pRequestServersResponse)
{
struct ISteamMatchmakingServers_SteamMatchMakingServers001_RequestSpectatorServerList_params params =
{
@ -278,7 +278,7 @@ DEFINE_THISCALL_WRAPPER(winISteamMatchmakingServers_SteamMatchMakingServers002_P
DEFINE_THISCALL_WRAPPER(winISteamMatchmakingServers_SteamMatchMakingServers002_ServerRules, 16)
DEFINE_THISCALL_WRAPPER(winISteamMatchmakingServers_SteamMatchMakingServers002_CancelServerQuery, 8)
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestInternetServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse *pRequestServersResponse)
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestInternetServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse)
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestInternetServerList_params params =
{
@ -293,7 +293,7 @@ void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_Request
return params._ret;
}
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList(struct w_steam_iface *_this, uint32_t iApp, w_ISteamMatchmakingServerListResponse *pRequestServersResponse)
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList(struct w_steam_iface *_this, uint32_t iApp, w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse)
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList_params params =
{
@ -306,7 +306,7 @@ void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_Request
return params._ret;
}
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse *pRequestServersResponse)
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse)
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerList_params params =
{
@ -321,7 +321,7 @@ void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_Request
return params._ret;
}
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse *pRequestServersResponse)
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse)
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServerList_params params =
{
@ -336,7 +336,7 @@ void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_Request
return params._ret;
}
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse *pRequestServersResponse)
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse)
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerList_params params =
{
@ -351,7 +351,7 @@ void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_Request
return params._ret;
}
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse *pRequestServersResponse)
void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServerList(struct w_steam_iface *_this, uint32_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32_t nFilters, w_ISteamMatchmakingServerListResponse_106 *pRequestServersResponse)
{
struct ISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServerList_params params =
{

View File

@ -49,7 +49,7 @@ __ASM_BLOCK_END
struct w_steam_iface *create_winISteamNetworkingFakeUDPPort_SteamNetworkingFakeUDPPort001(void *u_iface)
{
struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), 0, sizeof(struct w_steam_iface));
struct w_steam_iface *r = alloc_mem_for_iface(sizeof(struct w_steam_iface), "SteamNetworkingFakeUDPPort001");
TRACE("-> %p\n", r);
r->vtable = alloc_vtable(&winISteamNetworkingFakeUDPPort_SteamNetworkingFakeUDPPort001_vtable, 4, "SteamNetworkingFakeUDPPort001");
r->u_iface = u_iface;