mirror of
https://github.com/Detanup01/gbe_fork.git
synced 2024-11-30 14:25:36 +08:00
Merge pull request #42 from universal963/patch-2
Correct undocumented api in `ISteamNetworkingSockets010` and `ISteamNetworkingSockets011`
This commit is contained in:
commit
712482f286
@ -490,9 +490,6 @@ public:
|
||||
/// - k_EResultInvalidParam - nLanes is bad
|
||||
EResult GetConnectionRealTimeStatus( HSteamNetConnection hConn, SteamNetConnectionRealTimeStatus_t *pStatus, int nLanes, SteamNetConnectionRealTimeLaneStatus_t *pLanes );
|
||||
|
||||
// based on reversing the vftable returned from original steamclient64.dll
|
||||
bool GetConnectionRealTimeStatus_old( HSteamNetConnection hConn, SteamNetConnectionRealTimeStatus_t *pStatus );
|
||||
|
||||
/// Fetch the next available message(s) from the socket, if any.
|
||||
/// Returns the number of messages returned into your array, up to nMaxMessages.
|
||||
/// If the connection handle is invalid, -1 is returned.
|
||||
|
@ -950,24 +950,6 @@ EResult Steam_Networking_Sockets::GetConnectionRealTimeStatus( HSteamNetConnecti
|
||||
return k_EResultOK;
|
||||
}
|
||||
|
||||
// based on reversing the vftable returned from original steamclient64.dll
|
||||
bool Steam_Networking_Sockets::GetConnectionRealTimeStatus_old( HSteamNetConnection hConn, SteamNetConnectionRealTimeStatus_t *pStatus )
|
||||
{
|
||||
PRINT_DEBUG("undocumented API, interface v10-11");
|
||||
/*
|
||||
...
|
||||
xor r9d, r9d // int nLanes = 0
|
||||
mov qword ptr ss:[rsp+0x20], 0x0 // SteamNetConnectionRealTimeLaneStatus_t *pLanes = nullptr
|
||||
...
|
||||
call qword ptr ds:[rax+0x80] // call GetConnectionRealTimeStatus(hConn, pStatus, nLanes, pLanes)
|
||||
test eax, eax
|
||||
setne al if (eax !=0) { al=1 } else { al=0 }
|
||||
...
|
||||
ret
|
||||
*/
|
||||
return GetConnectionRealTimeStatus(hConn, pStatus, 0, nullptr) != EResult::k_EResultNone;
|
||||
}
|
||||
|
||||
/// Fetch the next available message(s) from the socket, if any.
|
||||
/// Returns the number of messages returned into your array, up to nMaxMessages.
|
||||
/// If the connection handle is invalid, -1 is returned.
|
||||
@ -1022,10 +1004,19 @@ bool Steam_Networking_Sockets::GetConnectionInfo( HSteamNetConnection hConn, Ste
|
||||
bool Steam_Networking_Sockets::GetQuickConnectionStatus( HSteamNetConnection hConn, SteamNetworkingQuickConnectionStatus *pStats )
|
||||
{
|
||||
PRINT_DEBUG_ENTRY();
|
||||
if (!pStats)
|
||||
return false;
|
||||
|
||||
return GetConnectionRealTimeStatus(hConn, pStats, 0, NULL) == k_EResultOK;
|
||||
// based on reversing the vftable returned from original steamclient64.dll
|
||||
/*
|
||||
...
|
||||
xor r9d, r9d // int nLanes = 0
|
||||
mov qword ptr ss:[rsp+0x20], 0x0 // SteamNetConnectionRealTimeLaneStatus_t *pLanes = nullptr
|
||||
...
|
||||
call qword ptr ds:[rax+0x80] // call GetConnectionRealTimeStatus(hConn, pStatus, nLanes, pLanes)
|
||||
test eax, eax
|
||||
setne al if (eax !=0) { al=1 } else { al=0 }
|
||||
...
|
||||
ret
|
||||
*/
|
||||
return GetConnectionRealTimeStatus(hConn, pStats, 0, NULL) != k_EResultNone;
|
||||
}
|
||||
|
||||
|
||||
|
@ -301,8 +301,9 @@ public:
|
||||
/// Returns basic information about the high-level state of the connection.
|
||||
virtual bool GetConnectionInfo( HSteamNetConnection hConn, SteamNetConnectionInfo_t *pInfo ) = 0;
|
||||
|
||||
// based on reversing the vftable returned from original steamclient64.dll
|
||||
virtual bool GetConnectionRealTimeStatus_old( HSteamNetConnection hConn, SteamNetConnectionRealTimeStatus_t *pStatus ) = 0;
|
||||
/// Returns a small set of information about the real-time state of the connection
|
||||
/// Returns false if the connection handle is invalid, or the connection has ended.
|
||||
virtual bool GetQuickConnectionStatus( HSteamNetConnection hConn, SteamNetworkingQuickConnectionStatus *pStats ) = 0;
|
||||
|
||||
/// Returns detailed connection stats in text format. Useful
|
||||
/// for dumping to a log, etc.
|
||||
|
@ -301,8 +301,9 @@ public:
|
||||
/// Returns basic information about the high-level state of the connection.
|
||||
virtual bool GetConnectionInfo( HSteamNetConnection hConn, SteamNetConnectionInfo_t *pInfo ) = 0;
|
||||
|
||||
// based on reversing the vftable returned from original steamclient64.dll
|
||||
virtual bool GetConnectionRealTimeStatus_old( HSteamNetConnection hConn, SteamNetConnectionRealTimeStatus_t *pStatus ) = 0;
|
||||
/// Returns a small set of information about the real-time state of the connection
|
||||
/// Returns false if the connection handle is invalid, or the connection has ended.
|
||||
virtual bool GetQuickConnectionStatus( HSteamNetConnection hConn, SteamNetworkingQuickConnectionStatus *pStats ) = 0;
|
||||
|
||||
/// Returns detailed connection stats in text format. Useful
|
||||
/// for dumping to a log, etc.
|
||||
|
Loading…
Reference in New Issue
Block a user