From 9b1a3cb34996ffe7ea954d8c0eee955b3404b4f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Fri, 29 Sep 2023 11:03:44 +0200 Subject: [PATCH] lsteamclient: Move the client wrapper creation to the unix side. CW-Bug-Id: #22729 --- ...kingServers_SteamMatchMakingServers001.cpp | 27 +++++++++----- ...kingServers_SteamMatchMakingServers002.cpp | 27 +++++++++----- ...rkingSockets_SteamNetworkingSockets006.hpp | 6 ++-- ...rkingSockets_SteamNetworkingSockets008.hpp | 6 ++-- lsteamclient/gen_wrapper.py | 15 ++++---- lsteamclient/steamclient_wrappers.c | 7 ++-- lsteamclient/winISteamMatchmakingServers.c | 36 +++++++++---------- lsteamclient/winISteamNetworkingSockets.c | 8 ++--- 8 files changed, 78 insertions(+), 54 deletions(-) diff --git a/lsteamclient/cppISteamMatchmakingServers_SteamMatchMakingServers001.cpp b/lsteamclient/cppISteamMatchmakingServers_SteamMatchMakingServers001.cpp index 932837a7..02712a52 100644 --- a/lsteamclient/cppISteamMatchmakingServers_SteamMatchMakingServers001.cpp +++ b/lsteamclient/cppISteamMatchmakingServers_SteamMatchMakingServers001.cpp @@ -37,37 +37,43 @@ struct cppISteamMatchmakingServers_SteamMatchMakingServers001 void cppISteamMatchmakingServers_SteamMatchMakingServers001_RequestInternetServerList( struct cppISteamMatchmakingServers_SteamMatchMakingServers001_RequestInternetServerList_params *params ) { struct cppISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct cppISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side; - iface->RequestInternetServerList( params->iApp, params->ppchFilters, params->nFilters, params->pRequestServersResponse ); + void /*ISteamMatchmakingServerListResponse*/ *lin_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers001"); + iface->RequestInternetServerList( params->iApp, params->ppchFilters, params->nFilters, lin_pRequestServersResponse ); } void cppISteamMatchmakingServers_SteamMatchMakingServers001_RequestLANServerList( struct cppISteamMatchmakingServers_SteamMatchMakingServers001_RequestLANServerList_params *params ) { struct cppISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct cppISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side; - iface->RequestLANServerList( params->iApp, params->pRequestServersResponse ); + void /*ISteamMatchmakingServerListResponse*/ *lin_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers001"); + iface->RequestLANServerList( params->iApp, lin_pRequestServersResponse ); } void cppISteamMatchmakingServers_SteamMatchMakingServers001_RequestFriendsServerList( struct cppISteamMatchmakingServers_SteamMatchMakingServers001_RequestFriendsServerList_params *params ) { struct cppISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct cppISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side; - iface->RequestFriendsServerList( params->iApp, params->ppchFilters, params->nFilters, params->pRequestServersResponse ); + void /*ISteamMatchmakingServerListResponse*/ *lin_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers001"); + iface->RequestFriendsServerList( params->iApp, params->ppchFilters, params->nFilters, lin_pRequestServersResponse ); } void cppISteamMatchmakingServers_SteamMatchMakingServers001_RequestFavoritesServerList( struct cppISteamMatchmakingServers_SteamMatchMakingServers001_RequestFavoritesServerList_params *params ) { struct cppISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct cppISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side; - iface->RequestFavoritesServerList( params->iApp, params->ppchFilters, params->nFilters, params->pRequestServersResponse ); + void /*ISteamMatchmakingServerListResponse*/ *lin_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers001"); + iface->RequestFavoritesServerList( params->iApp, params->ppchFilters, params->nFilters, lin_pRequestServersResponse ); } void cppISteamMatchmakingServers_SteamMatchMakingServers001_RequestHistoryServerList( struct cppISteamMatchmakingServers_SteamMatchMakingServers001_RequestHistoryServerList_params *params ) { struct cppISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct cppISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side; - iface->RequestHistoryServerList( params->iApp, params->ppchFilters, params->nFilters, params->pRequestServersResponse ); + void /*ISteamMatchmakingServerListResponse*/ *lin_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers001"); + iface->RequestHistoryServerList( params->iApp, params->ppchFilters, params->nFilters, lin_pRequestServersResponse ); } void cppISteamMatchmakingServers_SteamMatchMakingServers001_RequestSpectatorServerList( struct cppISteamMatchmakingServers_SteamMatchMakingServers001_RequestSpectatorServerList_params *params ) { struct cppISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct cppISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side; - iface->RequestSpectatorServerList( params->iApp, params->ppchFilters, params->nFilters, params->pRequestServersResponse ); + void /*ISteamMatchmakingServerListResponse*/ *lin_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers001"); + iface->RequestSpectatorServerList( params->iApp, params->ppchFilters, params->nFilters, lin_pRequestServersResponse ); } void cppISteamMatchmakingServers_SteamMatchMakingServers001_GetServerDetails( struct cppISteamMatchmakingServers_SteamMatchMakingServers001_GetServerDetails_params *params ) @@ -109,19 +115,22 @@ void cppISteamMatchmakingServers_SteamMatchMakingServers001_RefreshServer( struc void cppISteamMatchmakingServers_SteamMatchMakingServers001_PingServer( struct cppISteamMatchmakingServers_SteamMatchMakingServers001_PingServer_params *params ) { struct cppISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct cppISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side; - params->_ret = iface->PingServer( params->unIP, params->usPort, params->pRequestServersResponse ); + void /*ISteamMatchmakingPingResponse*/ *lin_pRequestServersResponse = create_LinuxISteamMatchmakingPingResponse(params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers001"); + params->_ret = iface->PingServer( params->unIP, params->usPort, lin_pRequestServersResponse ); } void cppISteamMatchmakingServers_SteamMatchMakingServers001_PlayerDetails( struct cppISteamMatchmakingServers_SteamMatchMakingServers001_PlayerDetails_params *params ) { struct cppISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct cppISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side; - params->_ret = iface->PlayerDetails( params->unIP, params->usPort, params->pRequestServersResponse ); + void /*ISteamMatchmakingPlayersResponse*/ *lin_pRequestServersResponse = create_LinuxISteamMatchmakingPlayersResponse(params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers001"); + params->_ret = iface->PlayerDetails( params->unIP, params->usPort, lin_pRequestServersResponse ); } void cppISteamMatchmakingServers_SteamMatchMakingServers001_ServerRules( struct cppISteamMatchmakingServers_SteamMatchMakingServers001_ServerRules_params *params ) { struct cppISteamMatchmakingServers_SteamMatchMakingServers001 *iface = (struct cppISteamMatchmakingServers_SteamMatchMakingServers001 *)params->linux_side; - params->_ret = iface->ServerRules( params->unIP, params->usPort, params->pRequestServersResponse ); + void /*ISteamMatchmakingRulesResponse*/ *lin_pRequestServersResponse = create_LinuxISteamMatchmakingRulesResponse(params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers001"); + params->_ret = iface->ServerRules( params->unIP, params->usPort, lin_pRequestServersResponse ); } void cppISteamMatchmakingServers_SteamMatchMakingServers001_CancelServerQuery( struct cppISteamMatchmakingServers_SteamMatchMakingServers001_CancelServerQuery_params *params ) diff --git a/lsteamclient/cppISteamMatchmakingServers_SteamMatchMakingServers002.cpp b/lsteamclient/cppISteamMatchmakingServers_SteamMatchMakingServers002.cpp index 913dcc17..9a265b3a 100644 --- a/lsteamclient/cppISteamMatchmakingServers_SteamMatchMakingServers002.cpp +++ b/lsteamclient/cppISteamMatchmakingServers_SteamMatchMakingServers002.cpp @@ -39,37 +39,43 @@ struct cppISteamMatchmakingServers_SteamMatchMakingServers002 void cppISteamMatchmakingServers_SteamMatchMakingServers002_RequestInternetServerList( struct cppISteamMatchmakingServers_SteamMatchMakingServers002_RequestInternetServerList_params *params ) { struct cppISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct cppISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side; - params->_ret = iface->RequestInternetServerList( params->iApp, params->ppchFilters, params->nFilters, params->pRequestServersResponse ); + void /*ISteamMatchmakingServerListResponse*/ *lin_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers002"); + params->_ret = iface->RequestInternetServerList( params->iApp, params->ppchFilters, params->nFilters, lin_pRequestServersResponse ); } void cppISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList( struct cppISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList_params *params ) { struct cppISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct cppISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side; - params->_ret = iface->RequestLANServerList( params->iApp, params->pRequestServersResponse ); + void /*ISteamMatchmakingServerListResponse*/ *lin_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers002"); + params->_ret = iface->RequestLANServerList( params->iApp, lin_pRequestServersResponse ); } void cppISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerList( struct cppISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerList_params *params ) { struct cppISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct cppISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side; - params->_ret = iface->RequestFriendsServerList( params->iApp, params->ppchFilters, params->nFilters, params->pRequestServersResponse ); + void /*ISteamMatchmakingServerListResponse*/ *lin_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers002"); + params->_ret = iface->RequestFriendsServerList( params->iApp, params->ppchFilters, params->nFilters, lin_pRequestServersResponse ); } void cppISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServerList( struct cppISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServerList_params *params ) { struct cppISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct cppISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side; - params->_ret = iface->RequestFavoritesServerList( params->iApp, params->ppchFilters, params->nFilters, params->pRequestServersResponse ); + void /*ISteamMatchmakingServerListResponse*/ *lin_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers002"); + params->_ret = iface->RequestFavoritesServerList( params->iApp, params->ppchFilters, params->nFilters, lin_pRequestServersResponse ); } void cppISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerList( struct cppISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerList_params *params ) { struct cppISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct cppISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side; - params->_ret = iface->RequestHistoryServerList( params->iApp, params->ppchFilters, params->nFilters, params->pRequestServersResponse ); + void /*ISteamMatchmakingServerListResponse*/ *lin_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers002"); + params->_ret = iface->RequestHistoryServerList( params->iApp, params->ppchFilters, params->nFilters, lin_pRequestServersResponse ); } void cppISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServerList( struct cppISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServerList_params *params ) { struct cppISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct cppISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side; - params->_ret = iface->RequestSpectatorServerList( params->iApp, params->ppchFilters, params->nFilters, params->pRequestServersResponse ); + void /*ISteamMatchmakingServerListResponse*/ *lin_pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers002"); + params->_ret = iface->RequestSpectatorServerList( params->iApp, params->ppchFilters, params->nFilters, lin_pRequestServersResponse ); } void cppISteamMatchmakingServers_SteamMatchMakingServers002_ReleaseRequest( struct cppISteamMatchmakingServers_SteamMatchMakingServers002_ReleaseRequest_params *params ) @@ -117,19 +123,22 @@ void cppISteamMatchmakingServers_SteamMatchMakingServers002_RefreshServer( struc void cppISteamMatchmakingServers_SteamMatchMakingServers002_PingServer( struct cppISteamMatchmakingServers_SteamMatchMakingServers002_PingServer_params *params ) { struct cppISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct cppISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side; - params->_ret = iface->PingServer( params->unIP, params->usPort, params->pRequestServersResponse ); + void /*ISteamMatchmakingPingResponse*/ *lin_pRequestServersResponse = create_LinuxISteamMatchmakingPingResponse(params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers002"); + params->_ret = iface->PingServer( params->unIP, params->usPort, lin_pRequestServersResponse ); } void cppISteamMatchmakingServers_SteamMatchMakingServers002_PlayerDetails( struct cppISteamMatchmakingServers_SteamMatchMakingServers002_PlayerDetails_params *params ) { struct cppISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct cppISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side; - params->_ret = iface->PlayerDetails( params->unIP, params->usPort, params->pRequestServersResponse ); + void /*ISteamMatchmakingPlayersResponse*/ *lin_pRequestServersResponse = create_LinuxISteamMatchmakingPlayersResponse(params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers002"); + params->_ret = iface->PlayerDetails( params->unIP, params->usPort, lin_pRequestServersResponse ); } void cppISteamMatchmakingServers_SteamMatchMakingServers002_ServerRules( struct cppISteamMatchmakingServers_SteamMatchMakingServers002_ServerRules_params *params ) { struct cppISteamMatchmakingServers_SteamMatchMakingServers002 *iface = (struct cppISteamMatchmakingServers_SteamMatchMakingServers002 *)params->linux_side; - params->_ret = iface->ServerRules( params->unIP, params->usPort, params->pRequestServersResponse ); + void /*ISteamMatchmakingRulesResponse*/ *lin_pRequestServersResponse = create_LinuxISteamMatchmakingRulesResponse(params->pRequestServersResponse, "ISteamMatchmakingServers_SteamMatchMakingServers002"); + params->_ret = iface->ServerRules( params->unIP, params->usPort, lin_pRequestServersResponse ); } void cppISteamMatchmakingServers_SteamMatchMakingServers002_CancelServerQuery( struct cppISteamMatchmakingServers_SteamMatchMakingServers002_CancelServerQuery_params *params ) diff --git a/lsteamclient/cppISteamNetworkingSockets_SteamNetworkingSockets006.hpp b/lsteamclient/cppISteamNetworkingSockets_SteamNetworkingSockets006.hpp index 46bcf324..b93b6cac 100644 --- a/lsteamclient/cppISteamNetworkingSockets_SteamNetworkingSockets006.hpp +++ b/lsteamclient/cppISteamNetworkingSockets_SteamNetworkingSockets006.hpp @@ -232,13 +232,15 @@ void cppISteamNetworkingSockets_SteamNetworkingSockets006_GetGameCoordinatorServ void cppISteamNetworkingSockets_SteamNetworkingSockets006_ConnectP2PCustomSignaling( struct cppISteamNetworkingSockets_SteamNetworkingSockets006_ConnectP2PCustomSignaling_params *params ) { struct cppISteamNetworkingSockets_SteamNetworkingSockets006 *iface = (struct cppISteamNetworkingSockets_SteamNetworkingSockets006 *)params->linux_side; - params->_ret = iface->ConnectP2PCustomSignaling( params->pSignaling, params->pPeerIdentity, params->nOptions, params->pOptions ); + void /*ISteamNetworkingConnectionCustomSignaling*/ *lin_pSignaling = create_LinuxISteamNetworkingConnectionCustomSignaling(params->pSignaling, "ISteamNetworkingSockets_SteamNetworkingSockets006"); + params->_ret = iface->ConnectP2PCustomSignaling( lin_pSignaling, params->pPeerIdentity, params->nOptions, params->pOptions ); } void cppISteamNetworkingSockets_SteamNetworkingSockets006_ReceivedP2PCustomSignal( struct cppISteamNetworkingSockets_SteamNetworkingSockets006_ReceivedP2PCustomSignal_params *params ) { struct cppISteamNetworkingSockets_SteamNetworkingSockets006 *iface = (struct cppISteamNetworkingSockets_SteamNetworkingSockets006 *)params->linux_side; - params->_ret = iface->ReceivedP2PCustomSignal( params->pMsg, params->cbMsg, params->pContext ); + void /*ISteamNetworkingCustomSignalingRecvContext*/ *lin_pContext = create_LinuxISteamNetworkingCustomSignalingRecvContext(params->pContext, "ISteamNetworkingSockets_SteamNetworkingSockets006"); + params->_ret = iface->ReceivedP2PCustomSignal( params->pMsg, params->cbMsg, lin_pContext ); } #ifdef __cplusplus diff --git a/lsteamclient/cppISteamNetworkingSockets_SteamNetworkingSockets008.hpp b/lsteamclient/cppISteamNetworkingSockets_SteamNetworkingSockets008.hpp index 30c8ed13..f0e09f16 100644 --- a/lsteamclient/cppISteamNetworkingSockets_SteamNetworkingSockets008.hpp +++ b/lsteamclient/cppISteamNetworkingSockets_SteamNetworkingSockets008.hpp @@ -255,13 +255,15 @@ void cppISteamNetworkingSockets_SteamNetworkingSockets008_GetGameCoordinatorServ void cppISteamNetworkingSockets_SteamNetworkingSockets008_ConnectP2PCustomSignaling( struct cppISteamNetworkingSockets_SteamNetworkingSockets008_ConnectP2PCustomSignaling_params *params ) { struct cppISteamNetworkingSockets_SteamNetworkingSockets008 *iface = (struct cppISteamNetworkingSockets_SteamNetworkingSockets008 *)params->linux_side; - params->_ret = iface->ConnectP2PCustomSignaling( params->pSignaling, params->pPeerIdentity, params->nOptions, params->pOptions ); + void /*ISteamNetworkingConnectionCustomSignaling*/ *lin_pSignaling = create_LinuxISteamNetworkingConnectionCustomSignaling(params->pSignaling, "ISteamNetworkingSockets_SteamNetworkingSockets008"); + params->_ret = iface->ConnectP2PCustomSignaling( lin_pSignaling, params->pPeerIdentity, params->nOptions, params->pOptions ); } void cppISteamNetworkingSockets_SteamNetworkingSockets008_ReceivedP2PCustomSignal( struct cppISteamNetworkingSockets_SteamNetworkingSockets008_ReceivedP2PCustomSignal_params *params ) { struct cppISteamNetworkingSockets_SteamNetworkingSockets008 *iface = (struct cppISteamNetworkingSockets_SteamNetworkingSockets008 *)params->linux_side; - params->_ret = iface->ReceivedP2PCustomSignal( params->pMsg, params->cbMsg, params->pContext ); + void /*ISteamNetworkingCustomSignalingRecvContext*/ *lin_pContext = create_LinuxISteamNetworkingCustomSignalingRecvContext(params->pContext, "ISteamNetworkingSockets_SteamNetworkingSockets008"); + params->_ret = iface->ReceivedP2PCustomSignal( params->pMsg, params->cbMsg, lin_pContext ); } void cppISteamNetworkingSockets_SteamNetworkingSockets008_GetCertificateRequest( struct cppISteamNetworkingSockets_SteamNetworkingSockets008_GetCertificateRequest_params *params ) diff --git a/lsteamclient/gen_wrapper.py b/lsteamclient/gen_wrapper.py index b38fbb7e..7ed1b1d1 100755 --- a/lsteamclient/gen_wrapper.py +++ b/lsteamclient/gen_wrapper.py @@ -885,6 +885,8 @@ def handle_method_cpp(method, classname, cppname, 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} @@ -941,6 +943,9 @@ def handle_method_cpp(method, classname, cppname, out): else: out(f' {declspec(param, f"lin_{name}", "u_")} = manual_convert_{method.name}_{name}( params->{name} );\n') + for name, param in sorted(need_wrapper.items()): + out(f' {declspec(param, f"lin_{name}", None)} = create_Linux{underlying_type(param.type).spelling}(params->{name}, "{classname}_{klass.version}");\n') + if returns_void: out(u' ') elif returns_record: @@ -952,6 +957,7 @@ def handle_method_cpp(method, classname, cppname, out): pfx = '&' if param.type.kind == TypeKind.POINTER else '' if name in need_convert: return f"{pfx}lin_{name}" if name in manual_convert: return f"lin_{name}" + if name in need_wrapper: return f"lin_{name}" return f'params->{name}' params = [param_call(n, p) for n, p in zip(names[1:], method.get_arguments())] @@ -996,18 +1002,15 @@ def handle_method_c(method, winclassname, cppname, out): ret = "*" if returns_record else "" ret = f'{declspec(method.result_type, ret, "win")} ' - types = [p.type for p in method.get_arguments()] names = [p.spelling if p.spelling != "" else f'_{chr(0x61 + i)}' for i, p in enumerate(method.get_arguments())] params = [declspec(p, names[i], "win") for i, p in enumerate(method.get_arguments())] if returns_record: params = [f'{declspec(method.result_type, "*_ret", "win")}'] + params - types = [method.result_type] + types names = ['_ret'] + names params = ['struct w_steam_iface *_this'] + params - types = [None] + types names = ['_this'] + names out(f'{ret}__thiscall {winclassname}_{method.name}({", ".join(params)})\n') @@ -1016,11 +1019,7 @@ def handle_method_c(method, winclassname, cppname, out): out(f' struct {cppname}_{method.name}_params params =\n') out(u' {\n') out(u' .linux_side = _this->u_iface,\n') - for type, name in zip(types[1:], names[1:]): - iface = type.get_pointee().spelling if type.kind == TypeKind.POINTER else None - out(f' .{name} = ') - if iface not in WRAPPED_CLASSES: out(f'{name},\n') - else: out(f'create_Linux{iface}({name}, "{winclassname}"),\n') + for name in names[1:]: out(f' .{name} = {name},\n') out(u' };\n') should_gen_callback = "GetAPICallResult" in method.name diff --git a/lsteamclient/steamclient_wrappers.c b/lsteamclient/steamclient_wrappers.c index bc7c5e6c..81ff6437 100644 --- a/lsteamclient/steamclient_wrappers.c +++ b/lsteamclient/steamclient_wrappers.c @@ -116,9 +116,12 @@ void *create_LinuxISteamMatchmakingServerListResponse(void *win, const char *ver if(!ret) return NULL; - if(strcmp(version, "winISteamMatchmakingServers_SteamMatchMakingServers001") == 0){ + if (strcmp( version, "ISteamMatchmakingServers_SteamMatchMakingServers001" ) == 0) + { ret->vtable = &gccServerListResponse001_vtbl; - }else{ + } + else + { ret->vtable = &gccServerListResponse_vtbl; } ret->win_side = (struct winServerListResponse*)win; diff --git a/lsteamclient/winISteamMatchmakingServers.c b/lsteamclient/winISteamMatchmakingServers.c index cc52a8a1..26819b2a 100644 --- a/lsteamclient/winISteamMatchmakingServers.c +++ b/lsteamclient/winISteamMatchmakingServers.c @@ -33,7 +33,7 @@ void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestIn .iApp = iApp, .ppchFilters = ppchFilters, .nFilters = nFilters, - .pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(pRequestServersResponse, "winISteamMatchmakingServers_SteamMatchMakingServers001"), + .pRequestServersResponse = pRequestServersResponse, }; TRACE("%p\n", _this); cppISteamMatchmakingServers_SteamMatchMakingServers001_RequestInternetServerList( ¶ms ); @@ -45,7 +45,7 @@ void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestLA { .linux_side = _this->u_iface, .iApp = iApp, - .pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(pRequestServersResponse, "winISteamMatchmakingServers_SteamMatchMakingServers001"), + .pRequestServersResponse = pRequestServersResponse, }; TRACE("%p\n", _this); cppISteamMatchmakingServers_SteamMatchMakingServers001_RequestLANServerList( ¶ms ); @@ -59,7 +59,7 @@ void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestFr .iApp = iApp, .ppchFilters = ppchFilters, .nFilters = nFilters, - .pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(pRequestServersResponse, "winISteamMatchmakingServers_SteamMatchMakingServers001"), + .pRequestServersResponse = pRequestServersResponse, }; TRACE("%p\n", _this); cppISteamMatchmakingServers_SteamMatchMakingServers001_RequestFriendsServerList( ¶ms ); @@ -73,7 +73,7 @@ void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestFa .iApp = iApp, .ppchFilters = ppchFilters, .nFilters = nFilters, - .pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(pRequestServersResponse, "winISteamMatchmakingServers_SteamMatchMakingServers001"), + .pRequestServersResponse = pRequestServersResponse, }; TRACE("%p\n", _this); cppISteamMatchmakingServers_SteamMatchMakingServers001_RequestFavoritesServerList( ¶ms ); @@ -87,7 +87,7 @@ void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestHi .iApp = iApp, .ppchFilters = ppchFilters, .nFilters = nFilters, - .pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(pRequestServersResponse, "winISteamMatchmakingServers_SteamMatchMakingServers001"), + .pRequestServersResponse = pRequestServersResponse, }; TRACE("%p\n", _this); cppISteamMatchmakingServers_SteamMatchMakingServers001_RequestHistoryServerList( ¶ms ); @@ -101,7 +101,7 @@ void __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_RequestSp .iApp = iApp, .ppchFilters = ppchFilters, .nFilters = nFilters, - .pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(pRequestServersResponse, "winISteamMatchmakingServers_SteamMatchMakingServers001"), + .pRequestServersResponse = pRequestServersResponse, }; TRACE("%p\n", _this); cppISteamMatchmakingServers_SteamMatchMakingServers001_RequestSpectatorServerList( ¶ms ); @@ -185,7 +185,7 @@ int32_t __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_PingSe .linux_side = _this->u_iface, .unIP = unIP, .usPort = usPort, - .pRequestServersResponse = create_LinuxISteamMatchmakingPingResponse(pRequestServersResponse, "winISteamMatchmakingServers_SteamMatchMakingServers001"), + .pRequestServersResponse = pRequestServersResponse, }; TRACE("%p\n", _this); cppISteamMatchmakingServers_SteamMatchMakingServers001_PingServer( ¶ms ); @@ -199,7 +199,7 @@ int32_t __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_Player .linux_side = _this->u_iface, .unIP = unIP, .usPort = usPort, - .pRequestServersResponse = create_LinuxISteamMatchmakingPlayersResponse(pRequestServersResponse, "winISteamMatchmakingServers_SteamMatchMakingServers001"), + .pRequestServersResponse = pRequestServersResponse, }; TRACE("%p\n", _this); cppISteamMatchmakingServers_SteamMatchMakingServers001_PlayerDetails( ¶ms ); @@ -213,7 +213,7 @@ int32_t __thiscall winISteamMatchmakingServers_SteamMatchMakingServers001_Server .linux_side = _this->u_iface, .unIP = unIP, .usPort = usPort, - .pRequestServersResponse = create_LinuxISteamMatchmakingRulesResponse(pRequestServersResponse, "winISteamMatchmakingServers_SteamMatchMakingServers001"), + .pRequestServersResponse = pRequestServersResponse, }; TRACE("%p\n", _this); cppISteamMatchmakingServers_SteamMatchMakingServers001_ServerRules( ¶ms ); @@ -295,7 +295,7 @@ void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_Request .iApp = iApp, .ppchFilters = ppchFilters, .nFilters = nFilters, - .pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(pRequestServersResponse, "winISteamMatchmakingServers_SteamMatchMakingServers002"), + .pRequestServersResponse = pRequestServersResponse, }; TRACE("%p\n", _this); cppISteamMatchmakingServers_SteamMatchMakingServers002_RequestInternetServerList( ¶ms ); @@ -308,7 +308,7 @@ void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_Request { .linux_side = _this->u_iface, .iApp = iApp, - .pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(pRequestServersResponse, "winISteamMatchmakingServers_SteamMatchMakingServers002"), + .pRequestServersResponse = pRequestServersResponse, }; TRACE("%p\n", _this); cppISteamMatchmakingServers_SteamMatchMakingServers002_RequestLANServerList( ¶ms ); @@ -323,7 +323,7 @@ void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_Request .iApp = iApp, .ppchFilters = ppchFilters, .nFilters = nFilters, - .pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(pRequestServersResponse, "winISteamMatchmakingServers_SteamMatchMakingServers002"), + .pRequestServersResponse = pRequestServersResponse, }; TRACE("%p\n", _this); cppISteamMatchmakingServers_SteamMatchMakingServers002_RequestFriendsServerList( ¶ms ); @@ -338,7 +338,7 @@ void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_Request .iApp = iApp, .ppchFilters = ppchFilters, .nFilters = nFilters, - .pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(pRequestServersResponse, "winISteamMatchmakingServers_SteamMatchMakingServers002"), + .pRequestServersResponse = pRequestServersResponse, }; TRACE("%p\n", _this); cppISteamMatchmakingServers_SteamMatchMakingServers002_RequestFavoritesServerList( ¶ms ); @@ -353,7 +353,7 @@ void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_Request .iApp = iApp, .ppchFilters = ppchFilters, .nFilters = nFilters, - .pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(pRequestServersResponse, "winISteamMatchmakingServers_SteamMatchMakingServers002"), + .pRequestServersResponse = pRequestServersResponse, }; TRACE("%p\n", _this); cppISteamMatchmakingServers_SteamMatchMakingServers002_RequestHistoryServerList( ¶ms ); @@ -368,7 +368,7 @@ void * __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_Request .iApp = iApp, .ppchFilters = ppchFilters, .nFilters = nFilters, - .pRequestServersResponse = create_LinuxISteamMatchmakingServerListResponse(pRequestServersResponse, "winISteamMatchmakingServers_SteamMatchMakingServers002"), + .pRequestServersResponse = pRequestServersResponse, }; TRACE("%p\n", _this); cppISteamMatchmakingServers_SteamMatchMakingServers002_RequestSpectatorServerList( ¶ms ); @@ -464,7 +464,7 @@ int32_t __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_PingSe .linux_side = _this->u_iface, .unIP = unIP, .usPort = usPort, - .pRequestServersResponse = create_LinuxISteamMatchmakingPingResponse(pRequestServersResponse, "winISteamMatchmakingServers_SteamMatchMakingServers002"), + .pRequestServersResponse = pRequestServersResponse, }; TRACE("%p\n", _this); cppISteamMatchmakingServers_SteamMatchMakingServers002_PingServer( ¶ms ); @@ -478,7 +478,7 @@ int32_t __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_Player .linux_side = _this->u_iface, .unIP = unIP, .usPort = usPort, - .pRequestServersResponse = create_LinuxISteamMatchmakingPlayersResponse(pRequestServersResponse, "winISteamMatchmakingServers_SteamMatchMakingServers002"), + .pRequestServersResponse = pRequestServersResponse, }; TRACE("%p\n", _this); cppISteamMatchmakingServers_SteamMatchMakingServers002_PlayerDetails( ¶ms ); @@ -492,7 +492,7 @@ int32_t __thiscall winISteamMatchmakingServers_SteamMatchMakingServers002_Server .linux_side = _this->u_iface, .unIP = unIP, .usPort = usPort, - .pRequestServersResponse = create_LinuxISteamMatchmakingRulesResponse(pRequestServersResponse, "winISteamMatchmakingServers_SteamMatchMakingServers002"), + .pRequestServersResponse = pRequestServersResponse, }; TRACE("%p\n", _this); cppISteamMatchmakingServers_SteamMatchMakingServers002_ServerRules( ¶ms ); diff --git a/lsteamclient/winISteamNetworkingSockets.c b/lsteamclient/winISteamNetworkingSockets.c index c2770887..8925bd4d 100644 --- a/lsteamclient/winISteamNetworkingSockets.c +++ b/lsteamclient/winISteamNetworkingSockets.c @@ -1409,7 +1409,7 @@ uint32_t __thiscall winISteamNetworkingSockets_SteamNetworkingSockets006_Connect struct cppISteamNetworkingSockets_SteamNetworkingSockets006_ConnectP2PCustomSignaling_params params = { .linux_side = _this->u_iface, - .pSignaling = create_LinuxISteamNetworkingConnectionCustomSignaling(pSignaling, "winISteamNetworkingSockets_SteamNetworkingSockets006"), + .pSignaling = pSignaling, .pPeerIdentity = pPeerIdentity, .nOptions = nOptions, .pOptions = pOptions, @@ -1426,7 +1426,7 @@ bool __thiscall winISteamNetworkingSockets_SteamNetworkingSockets006_ReceivedP2P .linux_side = _this->u_iface, .pMsg = pMsg, .cbMsg = cbMsg, - .pContext = create_LinuxISteamNetworkingCustomSignalingRecvContext(pContext, "winISteamNetworkingSockets_SteamNetworkingSockets006"), + .pContext = pContext, }; TRACE("%p\n", _this); cppISteamNetworkingSockets_SteamNetworkingSockets006_ReceivedP2PCustomSignal( ¶ms ); @@ -2000,7 +2000,7 @@ uint32_t __thiscall winISteamNetworkingSockets_SteamNetworkingSockets008_Connect struct cppISteamNetworkingSockets_SteamNetworkingSockets008_ConnectP2PCustomSignaling_params params = { .linux_side = _this->u_iface, - .pSignaling = create_LinuxISteamNetworkingConnectionCustomSignaling(pSignaling, "winISteamNetworkingSockets_SteamNetworkingSockets008"), + .pSignaling = pSignaling, .pPeerIdentity = pPeerIdentity, .nOptions = nOptions, .pOptions = pOptions, @@ -2017,7 +2017,7 @@ bool __thiscall winISteamNetworkingSockets_SteamNetworkingSockets008_ReceivedP2P .linux_side = _this->u_iface, .pMsg = pMsg, .cbMsg = cbMsg, - .pContext = create_LinuxISteamNetworkingCustomSignalingRecvContext(pContext, "winISteamNetworkingSockets_SteamNetworkingSockets008"), + .pContext = pContext, }; TRACE("%p\n", _this); cppISteamNetworkingSockets_SteamNetworkingSockets008_ReceivedP2PCustomSignal( ¶ms );