lsteamclient: Use unix callbacks for custom client classes.
CW-Bug-Id: #22729
This commit is contained in:
parent
bc000612cd
commit
5a552fbe77
17 changed files with 641 additions and 581 deletions
|
@ -9,7 +9,6 @@ SOURCES = \
|
|||
steam_networking_manual.c \
|
||||
steamclient_generated.c \
|
||||
steamclient_main.c \
|
||||
steamclient_wrappers.c \
|
||||
winISteamAppList.c \
|
||||
winISteamApps.c \
|
||||
winISteamAppTicket.c \
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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 );
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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 )
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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, ¶ms );
|
||||
}
|
||||
|
||||
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, ¶ms );
|
||||
}
|
||||
|
||||
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, ¶ms );
|
||||
}
|
||||
|
||||
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, ¶ms );
|
||||
}
|
||||
|
||||
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, ¶ms );
|
||||
}
|
||||
|
||||
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 =
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue