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();
 | 
					    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)
 | 
					static void *create_client_interface(const char *ver)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if (strstr(ver, "SteamClient") == ver) {
 | 
					    if (strstr(ver, "SteamClient") == ver) {
 | 
				
			||||||
| 
						 | 
					@ -167,8 +173,10 @@ static void *create_client_interface(const char *ver)
 | 
				
			||||||
            steam_client = (ISteamClient019 *)get_steam_client();
 | 
					            steam_client = (ISteamClient019 *)get_steam_client();
 | 
				
			||||||
        } else if (strcmp(ver, STEAMCLIENT_INTERFACE_VERSION) == 0) {
 | 
					        } else if (strcmp(ver, STEAMCLIENT_INTERFACE_VERSION) == 0) {
 | 
				
			||||||
            steam_client = (ISteamClient *)get_steam_client();
 | 
					            steam_client = (ISteamClient *)get_steam_client();
 | 
				
			||||||
 | 
					            steamclient_has_ipv6_functions_flag = true;
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            steam_client = (ISteamClient *)get_steam_client();
 | 
					            steam_client = (ISteamClient *)get_steam_client();
 | 
				
			||||||
 | 
					            steamclient_has_ipv6_functions_flag = true;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return steam_client;
 | 
					        return steam_client;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -26,3 +26,4 @@
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Steam_Client *get_steam_client();
 | 
					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();
 | 
					    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)
 | 
					    //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)
 | 
					STEAMAPI_API bool SteamAPI_ISteamGameServer_HandleIncomingPacket(intptr_t instancePtr, const void * pData, int cbData, uint32 srcIP, uint16 srcPort)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue