@ -18,20 +18,25 @@
# include "steam_client.h"
# include "settings_parser.h"
# include <condition_variable>
static std : : condition_variable kill_background_thread_cv ;
static std : : atomic_bool kill_background_thread ;
static void background_thread ( Steam_Client * client )
{
PRINT_DEBUG ( " background thread starting \n " ) ;
std : : mutex mtx ;
std : : unique_lock < std : : mutex > lck ( mtx ) ;
while ( 1 ) {
std : : this_thread : : sleep_for ( std : : chrono : : seconds ( 1 ) ) ;
global_mutex . lock ( ) ;
if ( ! client - > network - > isAlive ( ) ) {
global_mutex . unlock ( ) ;
//delete network;
PRINT_DEBUG ( " background thread exit \n " ) ;
return ;
if ( kill_background_thread | | kill_background_thread_cv . wait_for ( lck , std : : chrono : : seconds ( 1 ) ) ! = std : : cv_status : : timeout ) {
if ( kill_background_thread ) {
PRINT_DEBUG ( " background thread exit \n " ) ;
return ;
}
}
global_mutex . lock ( ) ;
PRINT_DEBUG ( " background thread run \n " ) ;
client - > network - > Run ( ) ;
client - > steam_matchmaking - > RunBackground ( ) ;
@ -154,15 +159,24 @@ void Steam_Client::setAppID(uint32 appid)
HSteamPipe Steam_Client : : CreateSteamPipe ( )
{
PRINT_DEBUG ( " CreateSteamPipe \n " ) ;
return CLIENT_STEAM_PIPE ;
HSteamPipe pipe = steam_pipe_counter + + ;
PRINT_DEBUG ( " creating pipe %i \n " , pipe ) ;
steam_pipes [ pipe ] = Steam_Pipe : : NO_USER ;
return pipe ;
}
// Releases a previously created communications pipe
// NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling
bool Steam_Client : : BReleaseSteamPipe ( HSteamPipe hSteamPipe )
{
PRINT_DEBUG ( " BReleaseSteamPipe \n " ) ;
return true ;
PRINT_DEBUG ( " BReleaseSteamPipe %i \n " , hSteamPipe ) ;
if ( steam_pipes . count ( hSteamPipe ) ) {
steam_pipes . erase ( hSteamPipe ) ;
return true ;
}
return false ;
}
// connects to an existing global user, failing if none exists
@ -170,7 +184,13 @@ bool Steam_Client::BReleaseSteamPipe( HSteamPipe hSteamPipe )
// NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling
HSteamUser Steam_Client : : ConnectToGlobalUser ( HSteamPipe hSteamPipe )
{
PRINT_DEBUG ( " ConnectToGlobalUser \n " ) ;
PRINT_DEBUG ( " ConnectToGlobalUser %i \n " , hSteamPipe ) ;
if ( ! steam_pipes . count ( hSteamPipe ) ) {
return 0 ;
}
userLogIn ( ) ;
steam_pipes [ hSteamPipe ] = Steam_Pipe : : CLIENT ;
return CLIENT_HSTEAMUSER ;
}
@ -179,13 +199,19 @@ HSteamUser Steam_Client::ConnectToGlobalUser( HSteamPipe hSteamPipe )
HSteamUser Steam_Client : : CreateLocalUser ( HSteamPipe * phSteamPipe , EAccountType eAccountType )
{
PRINT_DEBUG ( " CreateLocalUser %p %i \n " , phSteamPipe , eAccountType ) ;
if ( eAccountType = = k_EAccountTypeIndividual ) {
if ( phSteamPipe ) * phSteamPipe = CLIENT_STEAM_PIPE ;
return CLIENT_HSTEAMUSER ;
} else {
if ( phSteamPipe ) * phSteamPipe = SERVER_STEAM_PIPE ;
return SERVER_HSTEAMUSER ;
}
//if (eAccountType == k_EAccountTypeIndividual) {
//Is this actually used?
//if (phSteamPipe) *phSteamPipe = CLIENT_STEAM_PIPE;
//return CLIENT_HSTEAMUSER;
//} else { //k_EAccountTypeGameServer
serverInit ( ) ;
HSteamPipe pipe = CreateSteamPipe ( ) ;
if ( phSteamPipe ) * phSteamPipe = pipe ;
steam_pipes [ pipe ] = Steam_Pipe : : SERVER ;
steamclient_server_inited = true ;
return SERVER_HSTEAMUSER ;
//}
}
HSteamUser Steam_Client : : CreateLocalUser ( HSteamPipe * phSteamPipe )
@ -198,13 +224,16 @@ HSteamUser Steam_Client::CreateLocalUser( HSteamPipe *phSteamPipe )
void Steam_Client : : ReleaseUser ( HSteamPipe hSteamPipe , HSteamUser hUser )
{
PRINT_DEBUG ( " ReleaseUser \n " ) ;
if ( hUser = = SERVER_HSTEAMUSER & & steam_pipes . count ( hSteamPipe ) ) {
steamclient_server_inited = false ;
}
}
// retrieves the ISteamUser interface associated with the handle
ISteamUser * Steam_Client : : GetISteamUser ( HSteamUser hSteamUser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamUser %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamUser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamUser ) return NULL ;
if ( strcmp ( pchVersion , " SteamUser009 " ) = = 0 ) {
return ( ISteamUser * ) ( void * ) ( ISteamUser009 * ) steam_user ;
@ -241,7 +270,7 @@ ISteamUser *Steam_Client::GetISteamUser( HSteamUser hSteamUser, HSteamPipe hStea
ISteamGameServer * Steam_Client : : GetISteamGameServer ( HSteamUser hSteamUser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamGameServer %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamUser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamUser ) return NULL ;
if ( strcmp ( pchVersion , " SteamGameServer005 " ) = = 0 ) {
return ( ISteamGameServer * ) ( void * ) ( ISteamGameServer005 * ) steam_gameserver ;
@ -284,7 +313,7 @@ void Steam_Client::SetLocalIPBinding( const SteamIPAddress_t &unIP, uint16 usPor
ISteamFriends * Steam_Client : : GetISteamFriends ( HSteamUser hSteamUser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamFriends %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamUser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamUser ) return NULL ;
if ( strcmp ( pchVersion , " SteamFriends004 " ) = = 0 ) {
return ( ISteamFriends * ) ( void * ) ( ISteamFriends004 * ) steam_friends ;
@ -325,11 +354,11 @@ ISteamFriends *Steam_Client::GetISteamFriends( HSteamUser hSteamUser, HSteamPipe
ISteamUtils * Steam_Client : : GetISteamUtils ( HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamUtils %s \n " , pchVersion ) ;
if ( ! hSteamPipe) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) ) return NULL ;
Steam_Utils * steam_utils_temp ;
if ( hSteamPipe = = S ERVER_STEAM_PIPE ) {
if ( steam_pipes[ hSteamPipe] = = S team_Pipe: : S ERVER) {
steam_utils_temp = steam_gameserver_utils ;
} else {
steam_utils_temp = steam_utils ;
@ -362,7 +391,7 @@ ISteamUtils *Steam_Client::GetISteamUtils( HSteamPipe hSteamPipe, const char *pc
ISteamMatchmaking * Steam_Client : : GetISteamMatchmaking ( HSteamUser hSteamUser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamMatchmaking %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamUser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamUser ) return NULL ;
if ( strcmp ( pchVersion , " SteamMatchMaking001 " ) = = 0 ) {
//TODO
@ -399,7 +428,7 @@ ISteamMatchmaking *Steam_Client::GetISteamMatchmaking( HSteamUser hSteamUser, HS
ISteamMatchmakingServers * Steam_Client : : GetISteamMatchmakingServers ( HSteamUser hSteamUser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamMatchmakingServers %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamUser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamUser ) return NULL ;
return steam_matchmaking_servers ;
}
@ -407,7 +436,7 @@ ISteamMatchmakingServers *Steam_Client::GetISteamMatchmakingServers( HSteamUser
void * Steam_Client : : GetISteamGenericInterface ( HSteamUser hSteamUser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamGenericInterface %s \n " , pchVersion ) ;
if ( ! hSteamPipe) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) ) return NULL ;
bool server = false ;
if ( hSteamUser = = SERVER_HSTEAMUSER ) {
@ -536,7 +565,7 @@ void *Steam_Client::GetISteamGenericInterface( HSteamUser hSteamUser, HSteamPipe
ISteamUserStats * Steam_Client : : GetISteamUserStats ( HSteamUser hSteamUser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamUserStats %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamUser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamUser ) return NULL ;
if ( strcmp ( pchVersion , " STEAMUSERSTATS_INTERFACE_VERSION001 " ) = = 0 ) {
//TODO
@ -573,7 +602,7 @@ ISteamUserStats *Steam_Client::GetISteamUserStats( HSteamUser hSteamUser, HSteam
ISteamGameServerStats * Steam_Client : : GetISteamGameServerStats ( HSteamUser hSteamuser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamGameServerStats %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamuser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamuser ) return NULL ;
return steam_gameserverstats ;
}
@ -581,7 +610,7 @@ ISteamGameServerStats *Steam_Client::GetISteamGameServerStats( HSteamUser hSteam
ISteamApps * Steam_Client : : GetISteamApps ( HSteamUser hSteamUser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamApps %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamUser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamUser ) return NULL ;
if ( hSteamUser = = SERVER_HSTEAMUSER ) {
return steam_gameserver_apps ;
}
@ -593,7 +622,7 @@ ISteamApps *Steam_Client::GetISteamApps( HSteamUser hSteamUser, HSteamPipe hStea
ISteamNetworking * Steam_Client : : GetISteamNetworking ( HSteamUser hSteamUser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamNetworking %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamUser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamUser ) return NULL ;
Steam_Networking * steam_networking_temp ;
@ -626,7 +655,7 @@ ISteamNetworking *Steam_Client::GetISteamNetworking( HSteamUser hSteamUser, HSte
ISteamRemoteStorage * Steam_Client : : GetISteamRemoteStorage ( HSteamUser hSteamuser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamRemoteStorage %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamuser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamuser ) return NULL ;
if ( strcmp ( pchVersion , " STEAMREMOTESTORAGE_INTERFACE_VERSION001 " ) = = 0 ) {
return ( ISteamRemoteStorage * ) ( void * ) ( ISteamRemoteStorage001 * ) steam_remote_storage ;
@ -667,7 +696,7 @@ ISteamRemoteStorage *Steam_Client::GetISteamRemoteStorage( HSteamUser hSteamuser
ISteamScreenshots * Steam_Client : : GetISteamScreenshots ( HSteamUser hSteamuser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamScreenshots %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamuser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamuser ) return NULL ;
return steam_screenshots ;
}
@ -701,14 +730,25 @@ void Steam_Client::SetWarningMessageHook( SteamAPIWarningMessageHook_t pFunction
bool Steam_Client : : BShutdownIfAllPipesClosed ( )
{
PRINT_DEBUG ( " BShutdownIfAllPipesClosed \n " ) ;
return true ;
if ( ! steam_pipes . size ( ) ) {
if ( background_keepalive . joinable ( ) ) {
kill_background_thread = true ;
kill_background_thread_cv . notify_one ( ) ;
background_keepalive . join ( ) ;
}
PRINT_DEBUG ( " all pipes closed \n " ) ;
return true ;
}
return false ;
}
// Expose HTTP interface
ISteamHTTP * Steam_Client : : GetISteamHTTP ( HSteamUser hSteamuser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamHTTP %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamuser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamuser ) return NULL ;
if ( hSteamuser = = SERVER_HSTEAMUSER ) {
return steam_gameserver_http ;
}
@ -720,14 +760,14 @@ ISteamHTTP *Steam_Client::GetISteamHTTP( HSteamUser hSteamuser, HSteamPipe hStea
void * Steam_Client : : DEPRECATED_GetISteamUnifiedMessages ( HSteamUser hSteamuser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " DEPRECATED_GetISteamUnifiedMessages %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamuser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamuser ) return NULL ;
return ( void * ) ( ISteamUnifiedMessages * ) steam_unified_messages ;
}
ISteamUnifiedMessages * Steam_Client : : GetISteamUnifiedMessages ( HSteamUser hSteamuser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamUnifiedMessages %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamuser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamuser ) return NULL ;
return steam_unified_messages ;
}
@ -735,7 +775,7 @@ ISteamUnifiedMessages *Steam_Client::GetISteamUnifiedMessages( HSteamUser hSteam
ISteamController * Steam_Client : : GetISteamController ( HSteamUser hSteamUser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamController %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamUser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamUser ) return NULL ;
if ( strcmp ( pchVersion , " STEAMCONTROLLER_INTERFACE_VERSION " ) = = 0 ) {
return ( ISteamController * ) ( void * ) ( ISteamController001 * ) steam_controller ;
@ -763,7 +803,7 @@ ISteamController *Steam_Client::GetISteamController( HSteamUser hSteamUser, HSte
ISteamUGC * Steam_Client : : GetISteamUGC ( HSteamUser hSteamUser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamUGC %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamUser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamUser ) return NULL ;
Steam_UGC * steam_ugc_temp ;
if ( hSteamUser = = SERVER_HSTEAMUSER ) {
@ -815,7 +855,7 @@ ISteamUGC *Steam_Client::GetISteamUGC( HSteamUser hSteamUser, HSteamPipe hSteamP
ISteamAppList * Steam_Client : : GetISteamAppList ( HSteamUser hSteamUser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamAppList %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamUser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamUser ) return NULL ;
return steam_applist ;
}
@ -823,7 +863,7 @@ ISteamAppList *Steam_Client::GetISteamAppList( HSteamUser hSteamUser, HSteamPipe
ISteamMusic * Steam_Client : : GetISteamMusic ( HSteamUser hSteamuser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamMusic %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamuser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamuser ) return NULL ;
return steam_music ;
}
@ -831,7 +871,7 @@ ISteamMusic *Steam_Client::GetISteamMusic( HSteamUser hSteamuser, HSteamPipe hSt
ISteamMusicRemote * Steam_Client : : GetISteamMusicRemote ( HSteamUser hSteamuser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamMusicRemote %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamuser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamuser ) return NULL ;
return steam_musicremote ;
}
@ -839,7 +879,7 @@ ISteamMusicRemote *Steam_Client::GetISteamMusicRemote(HSteamUser hSteamuser, HSt
ISteamHTMLSurface * Steam_Client : : GetISteamHTMLSurface ( HSteamUser hSteamuser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamHTMLSurface %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamuser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamuser ) return NULL ;
if ( strcmp ( pchVersion , " STEAMHTMLSURFACE_INTERFACE_VERSION_001 " ) = = 0 ) {
return ( ISteamHTMLSurface * ) ( void * ) ( ISteamHTMLSurface001 * ) steam_HTMLsurface ;
@ -888,7 +928,7 @@ void Steam_Client::Remove_SteamAPI_CPostAPIResultInProcess( SteamAPI_PostAPIResu
ISteamInventory * Steam_Client : : GetISteamInventory ( HSteamUser hSteamuser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamInventory %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamuser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamuser ) return NULL ;
Steam_Inventory * steam_inventory_temp ;
Settings * settings_temp ;
SteamCallBacks * callbacks_temp ;
@ -917,7 +957,7 @@ ISteamInventory *Steam_Client::GetISteamInventory( HSteamUser hSteamuser, HSteam
ISteamVideo * Steam_Client : : GetISteamVideo ( HSteamUser hSteamuser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamVideo %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamuser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamuser ) return NULL ;
return steam_video ;
}
@ -925,21 +965,21 @@ ISteamVideo *Steam_Client::GetISteamVideo( HSteamUser hSteamuser, HSteamPipe hSt
ISteamParentalSettings * Steam_Client : : GetISteamParentalSettings ( HSteamUser hSteamuser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamParentalSettings %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamuser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamuser ) return NULL ;
return steam_parental ;
}
ISteamMasterServerUpdater * Steam_Client : : GetISteamMasterServerUpdater ( HSteamUser hSteamUser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamMasterServerUpdater %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamUser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamUser ) return NULL ;
return steam_masterserver_updater ;
}
ISteamContentServer * Steam_Client : : GetISteamContentServer ( HSteamUser hSteamUser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamContentServer %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamUser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamUser ) return NULL ;
return NULL ;
}
@ -947,7 +987,7 @@ ISteamContentServer *Steam_Client::GetISteamContentServer( HSteamUser hSteamUser
ISteamGameSearch * Steam_Client : : GetISteamGameSearch ( HSteamUser hSteamuser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamGameSearch %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamuser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamuser ) return NULL ;
return steam_game_search ;
}
@ -956,7 +996,7 @@ ISteamGameSearch *Steam_Client::GetISteamGameSearch( HSteamUser hSteamuser, HSte
ISteamInput * Steam_Client : : GetISteamInput ( HSteamUser hSteamUser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamInput %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamUser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamUser ) return NULL ;
return steam_controller ;
}
@ -965,7 +1005,7 @@ ISteamInput *Steam_Client::GetISteamInput( HSteamUser hSteamUser, HSteamPipe hSt
ISteamParties * Steam_Client : : GetISteamParties ( HSteamUser hSteamUser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamParties %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamUser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamUser ) return NULL ;
return steam_parties ;
}
@ -973,7 +1013,7 @@ ISteamParties *Steam_Client::GetISteamParties( HSteamUser hSteamUser, HSteamPipe
ISteamRemotePlay * Steam_Client : : GetISteamRemotePlay ( HSteamUser hSteamUser , HSteamPipe hSteamPipe , const char * pchVersion )
{
PRINT_DEBUG ( " GetISteamRemotePlay %s \n " , pchVersion ) ;
if ( ! hSteamPipe | | ! hSteamUser ) return NULL ;
if ( ! steam_pipes. count ( hSteamPipe) | | ! hSteamUser ) return NULL ;
return steam_remoteplay ;
}