diff --git a/dll/dll/steam_utils.h b/dll/dll/steam_utils.h index 7a06bcb4..3d46e67c 100644 --- a/dll/dll/steam_utils.h +++ b/dll/dll/steam_utils.h @@ -25,6 +25,7 @@ class Steam_Utils : +public ISteamUtils001, public ISteamUtils002, public ISteamUtils003, public ISteamUtils004, diff --git a/dll/steam_client_interface_getter.cpp b/dll/steam_client_interface_getter.cpp index 1953adc6..4c6b2b09 100644 --- a/dll/steam_client_interface_getter.cpp +++ b/dll/steam_client_interface_getter.cpp @@ -209,7 +209,10 @@ ISteamUtils *Steam_Client::GetISteamUtils( HSteamPipe hSteamPipe, const char *pc steam_utils_temp = steam_utils; } - if (strcmp(pchVersion, "SteamUtils002") == 0) { + + if (strcmp(pchVersion, "SteamUtils001") == 0) { + return reinterpret_cast(static_cast(steam_utils_temp)); + } else if (strcmp(pchVersion, "SteamUtils002") == 0) { return reinterpret_cast(static_cast(steam_utils_temp)); } else if (strcmp(pchVersion, "SteamUtils003") == 0) { return reinterpret_cast(static_cast(steam_utils_temp)); // ISteamUtils003 Not found in public Archive, must be between 1.02-1.03 diff --git a/sdk/steam/isteamutils001.h b/sdk/steam/isteamutils001.h new file mode 100644 index 00000000..6f4b7b3d --- /dev/null +++ b/sdk/steam/isteamutils001.h @@ -0,0 +1,34 @@ + +#ifndef ISTEAMUTILS001_H +#define ISTEAMUTILS001_H +#ifdef STEAM_WIN32 +#pragma once +#endif + +class ISteamUtils001 +{ +public: + // return the number of seconds since the user + virtual uint32 GetSecondsSinceAppActive() = 0; + virtual uint32 GetSecondsSinceComputerActive() = 0; + + // the universe this client is connecting to + virtual EUniverse GetConnectedUniverse() = 0; + + // Steam server time - in PST, number of seconds since January 1, 1970 (i.e unix time) + virtual uint32 GetServerRealTime() = 0; + + // returns the 2 digit ISO 3166-1-alpha-2 format country code this client is running in (as looked up via an IP-to-location database) + // e.g "US" or "UK". + virtual const char *GetIPCountry() = 0; + + // returns true if the image exists, and valid sizes were filled out + virtual bool GetImageSize( int iImage, uint32 *pnWidth, uint32 *pnHeight ) = 0; + + // returns true if the image exists, and the buffer was successfully filled out + // results are returned in RGBA format + // the destination buffer size should be 4 * height * width * sizeof(char) + virtual bool GetImageRGBA( int iImage, uint8 *pubDest, int nDestBufferSize ) = 0; +}; + +#endif // ISTEAMUTILS001_H diff --git a/sdk/steam/steam_api.h b/sdk/steam/steam_api.h index 8ef2a072..ac794306 100644 --- a/sdk/steam/steam_api.h +++ b/sdk/steam/steam_api.h @@ -73,6 +73,7 @@ #include "isteamfriends015.h" #include "isteamfriends016.h" #include "isteamutils.h" +#include "isteamutils001.h" #include "isteamutils002.h" #include "isteamutils003.h" #include "isteamutils004.h"