mirror of
https://gitlab.com/Mr_Goldberg/goldberg_emulator.git
synced 2024-12-24 03:48:10 +01:00
Try to fix the flat api get public ip function.
This commit is contained in:
parent
60b627163a
commit
a2f8fec816
3 changed files with 15 additions and 2 deletions
|
@ -134,6 +134,12 @@ Steam_Client *get_steam_clientserver_old()
|
|||
return get_steam_client();
|
||||
}
|
||||
|
||||
static bool steamclient_has_ipv6_functions_flag;
|
||||
bool steamclient_has_ipv6_functions()
|
||||
{
|
||||
return steamclient_has_ipv6_functions_flag;
|
||||
}
|
||||
|
||||
static void *create_client_interface(const char *ver)
|
||||
{
|
||||
if (strstr(ver, "SteamClient") == ver) {
|
||||
|
@ -167,8 +173,10 @@ static void *create_client_interface(const char *ver)
|
|||
steam_client = (ISteamClient019 *)get_steam_client();
|
||||
} else if (strcmp(ver, STEAMCLIENT_INTERFACE_VERSION) == 0) {
|
||||
steam_client = (ISteamClient *)get_steam_client();
|
||||
steamclient_has_ipv6_functions_flag = true;
|
||||
} else {
|
||||
steam_client = (ISteamClient *)get_steam_client();
|
||||
steamclient_has_ipv6_functions_flag = true;
|
||||
}
|
||||
|
||||
return steam_client;
|
||||
|
|
|
@ -26,3 +26,4 @@
|
|||
#endif
|
||||
|
||||
Steam_Client *get_steam_client();
|
||||
bool steamclient_has_ipv6_functions();
|
|
@ -4909,10 +4909,14 @@ STEAMAPI_API SteamAPICall_t SteamAPI_ISteamGameServer_GetServerReputation(intptr
|
|||
return ((ISteamGameServer *)instancePtr)->GetServerReputation();
|
||||
}
|
||||
|
||||
STEAMAPI_API struct SteamIPAddress_t SteamAPI_ISteamGameServer_GetPublicIP(intptr_t instancePtr)
|
||||
STEAMAPI_API uint32 SteamAPI_ISteamGameServer_GetPublicIP(intptr_t instancePtr, void *instancePtr_possible)
|
||||
{
|
||||
//TODO: check if this actually works (ret value changed from uint32 to struct)
|
||||
return ((ISteamGameServer *)instancePtr)->GetPublicIP();
|
||||
if (steamclient_has_ipv6_functions()) {
|
||||
return ((ISteamGameServer012 *)instancePtr_possible)->GetPublicIP_old();
|
||||
} else {
|
||||
return ((ISteamGameServer012 *)instancePtr)->GetPublicIP_old();
|
||||
}
|
||||
}
|
||||
|
||||
STEAMAPI_API bool SteamAPI_ISteamGameServer_HandleIncomingPacket(intptr_t instancePtr, const void * pData, int cbData, uint32 srcIP, uint16 srcPort)
|
||||
|
|
Loading…
Reference in a new issue