mirror of
https://gitlab.com/Mr_Goldberg/goldberg_emulator.git
synced 2024-11-27 14:08:39 +01:00
Fix flat api crash.
This commit is contained in:
parent
b1eb33ec2c
commit
b189fbf260
1 changed files with 19 additions and 3 deletions
22
dll/flat.cpp
22
dll/flat.cpp
|
@ -1144,12 +1144,28 @@ STEAMAPI_API bool SteamAPI_ISteamUtils_IsSteamChinaLauncher( ISteamUtils* self )
|
||||||
|
|
||||||
STEAMAPI_API bool SteamAPI_ISteamUtils_InitFilterText( ISteamUtils* self, uint32 unFilterOptions )
|
STEAMAPI_API bool SteamAPI_ISteamUtils_InitFilterText( ISteamUtils* self, uint32 unFilterOptions )
|
||||||
{
|
{
|
||||||
return (self)->InitFilterText(unFilterOptions);
|
//Note: older function only has less arguments
|
||||||
|
int test1 = ((char *)self - (char*)get_steam_client()->steam_utils);
|
||||||
|
int test2 = ((char *)self - (char*)get_steam_client()->steam_gameserver_utils);
|
||||||
|
auto ptr = get_steam_client()->steam_gameserver_utils;
|
||||||
|
if (test1 >= 0 && (test2 < 0 || test1 < test2)) {
|
||||||
|
ptr = get_steam_client()->steam_utils;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (ptr)->InitFilterText(unFilterOptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
int SteamAPI_ISteamUtils_FilterText( ISteamUtils* self, ETextFilteringContext eContext, uint64_steamid sourceSteamID, const char * pchInputMessage, char * pchOutFilteredText, uint32 nByteSizeOutFilteredText )
|
STEAMAPI_API int SteamAPI_ISteamUtils_FilterText( ISteamUtils* self, ETextFilteringContext eContext, uint64_steamid sourceSteamID, const char * pchInputMessage, char * pchOutFilteredText, uint32 nByteSizeOutFilteredText )
|
||||||
{
|
{
|
||||||
return (self)->FilterText(eContext, sourceSteamID, pchInputMessage, pchOutFilteredText, nByteSizeOutFilteredText);
|
//Note: older function only has less arguments
|
||||||
|
int test1 = ((char *)self - (char*)get_steam_client()->steam_utils);
|
||||||
|
int test2 = ((char *)self - (char*)get_steam_client()->steam_gameserver_utils);
|
||||||
|
auto ptr = get_steam_client()->steam_gameserver_utils;
|
||||||
|
if (test1 >= 0 && (test2 < 0 || test1 < test2)) {
|
||||||
|
ptr = get_steam_client()->steam_utils;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (ptr)->FilterText(eContext, sourceSteamID, pchInputMessage, pchOutFilteredText, nByteSizeOutFilteredText);
|
||||||
}
|
}
|
||||||
|
|
||||||
STEAMAPI_API ESteamIPv6ConnectivityState SteamAPI_ISteamUtils_GetIPv6ConnectivityState( ISteamUtils* self, ESteamIPv6ConnectivityProtocol eProtocol )
|
STEAMAPI_API ESteamIPv6ConnectivityState SteamAPI_ISteamUtils_GetIPv6ConnectivityState( ISteamUtils* self, ESteamIPv6ConnectivityProtocol eProtocol )
|
||||||
|
|
Loading…
Reference in a new issue