mirror of
https://github.com/ValveSoftware/Proton.git
synced 2025-01-26 05:28:15 +03:00
lsteamclient: Fixup gameID parameter for SteamUser008_InitiateGameConnection().
CW-Bug-Id: #20195
This commit is contained in:
parent
e03828cdc3
commit
cd60b70756
@ -25,11 +25,6 @@ CSteamID cppISteamUser_SteamUser008_GetSteamID(void *linux_side)
|
||||
return ((ISteamUser*)linux_side)->GetSteamID();
|
||||
}
|
||||
|
||||
int cppISteamUser_SteamUser008_InitiateGameConnection(void *linux_side, void * pBlob, int cbMaxBlob, CSteamID steamID, CGameID gameID, uint32 unIPServer, uint16 usPortServer, bool bSecure, void * pvSteam2GetEncryptionKey, int cbSteam2GetEncryptionKey)
|
||||
{
|
||||
return ((ISteamUser*)linux_side)->InitiateGameConnection((void *)pBlob, (int)cbMaxBlob, (CSteamID)steamID, (CGameID)gameID, (uint32)unIPServer, (uint16)usPortServer, (bool)bSecure, (void *)pvSteam2GetEncryptionKey, (int)cbSteam2GetEncryptionKey);
|
||||
}
|
||||
|
||||
void cppISteamUser_SteamUser008_TerminateGameConnection(void *linux_side, uint32 unIPServer, uint16 usPortServer)
|
||||
{
|
||||
((ISteamUser*)linux_side)->TerminateGameConnection((uint32)unIPServer, (uint16)usPortServer);
|
||||
|
@ -266,6 +266,9 @@ manually_handled_methods = {
|
||||
"DestroyFakeUDPPort",
|
||||
"ReceiveMessages"
|
||||
],
|
||||
"cppISteamUser_SteamUser008": [
|
||||
"InitiateGameConnection"
|
||||
],
|
||||
}
|
||||
|
||||
# manual converters for simple types (function pointers)
|
||||
|
43
lsteamclient/steamclient_manual_099y.cpp
Normal file
43
lsteamclient/steamclient_manual_099y.cpp
Normal file
@ -0,0 +1,43 @@
|
||||
extern "C" {
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(steamclient);
|
||||
}
|
||||
|
||||
#include "steam_defs.h"
|
||||
#pragma push_macro("__cdecl")
|
||||
#undef __cdecl
|
||||
#include "steamworks_sdk_099y/steam_api.h"
|
||||
#pragma pop_macro("__cdecl")
|
||||
#include "steamclient_private.h"
|
||||
|
||||
class ISteamUser_linux
|
||||
{
|
||||
public:
|
||||
virtual HSteamUser GetHSteamUser() = 0;
|
||||
virtual bool BLoggedOn() = 0;
|
||||
virtual CSteamID GetSteamID() = 0;
|
||||
|
||||
/* CGameID -> CGameID &.
|
||||
* Windows side follows the prototype in the header while Linux
|
||||
* steamclient treats gameID parameter as pointer. */
|
||||
virtual int InitiateGameConnection( void *pBlob, int cbMaxBlob, CSteamID steamID, CGameID &gameID, uint32 unIPServer, uint16 usPortServer, bool bSecure, void *pvSteam2GetEncryptionKey, int cbSteam2GetEncryptionKey ) = 0;
|
||||
|
||||
virtual void TerminateGameConnection( uint32 unIPServer, uint16 usPortServer ) = 0;
|
||||
virtual void TrackAppUsageEvent( CGameID gameID, int eAppUsageEvent, const char *pchExtraInfo = "" ) = 0;
|
||||
virtual void RefreshSteam2Login() = 0;
|
||||
};
|
||||
|
||||
extern "C" {
|
||||
int cppISteamUser_SteamUser008_InitiateGameConnection(void *linux_side, void * pBlob, int cbMaxBlob, CSteamID steamID, CGameID gameID, uint32 unIPServer, uint16 usPortServer,
|
||||
bool bSecure, void * pvSteam2GetEncryptionKey, int cbSteam2GetEncryptionKey)
|
||||
{
|
||||
WARN("Manual call fixup.\n");
|
||||
return ((ISteamUser_linux *)linux_side)->InitiateGameConnection(pBlob, cbMaxBlob, steamID, gameID, unIPServer, usPortServer,
|
||||
bSecure, pvSteam2GetEncryptionKey, cbSteam2GetEncryptionKey);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user