Try to fix the flat api get public ip function.
							parent
							
								
									60b627163a
								
							
						
					
					
						commit
						a2f8fec816
					
				| 
						 | 
				
			
			@ -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 New Issue