65 lines
2.6 KiB
C++
65 lines
2.6 KiB
C++
#ifdef _WIN64
|
|
#define GAMEOVERLAY_LIB "gameoverlayrenderer64.dll"
|
|
#define STEAMCLIENT_LIB "steamclient64.dll"
|
|
#define STEAM_REGISTRY_PATH "Software\\Wow6432Node\\Valve\\Steam"
|
|
#else
|
|
#define GAMEOVERLAY_LIB "gameoverlayrenderer.dll"
|
|
#define STEAMCLIENT_LIB "steamclient.dll"
|
|
#define STEAM_REGISTRY_PATH "Software\\Valve\\Steam"
|
|
#endif
|
|
|
|
namespace Steam
|
|
{
|
|
class ISteamClient008
|
|
{
|
|
public:
|
|
virtual void* CreateSteamPipe() = 0;
|
|
virtual bool ReleaseSteamPipe(void* hSteamPipe) = 0;
|
|
virtual void* ConnectToGlobalUser(void* hSteamPipe) = 0;
|
|
virtual void* CreateLocalUser(void* *phSteamPipe, int eAccountType) = 0;
|
|
virtual void ReleaseUser(void* hSteamPipe, void* hUser) = 0;
|
|
virtual void *GetISteamUser(void* hSteamUser, void* hSteamPipe, const char *pchVersion) = 0;
|
|
virtual void *GetISteamGameServer(void* hSteamUser, void* hSteamPipe, const char *pchVersion) = 0;
|
|
virtual void SetLocalIPBinding(uint32_t unIP, uint16_t usPort) = 0;
|
|
virtual void *GetISteamFriends(void* hSteamUser, void* hSteamPipe, const char *pchVersion) = 0;
|
|
virtual void *GetISteamUtils(void* hSteamPipe, const char *pchVersion) = 0;
|
|
virtual void *GetISteamMatchmaking(void* hSteamUser, void* hSteamPipe, const char *pchVersion) = 0;
|
|
virtual void *GetISteamMasterServerUpdater(void* hSteamUser, void* hSteamPipe, const char *pchVersion) = 0;
|
|
virtual void *GetISteamMatchmakingServers(void* hSteamUser, void* hSteamPipe, const char *pchVersion) = 0;
|
|
virtual void *GetISteamGenericInterface(void* hSteamUser, void* hSteamPipe, const char *pchVersion) = 0;
|
|
virtual void *GetISteamUserStats(void* hSteamUser, void* hSteamPipe, const char *pchVersion) = 0;
|
|
virtual void *GetISteamApps(void* hSteamUser, void* hSteamPipe, const char *pchVersion) = 0;
|
|
virtual void *GetISteamNetworking(void* hSteamUser, void* hSteamPipe, const char *pchVersion) = 0;
|
|
virtual void*GetISteamRemoteStorage(void* hSteamuser, void* hSteamPipe, const char *pchVersion) = 0;
|
|
virtual void RunFrame() = 0;
|
|
virtual uint32_t GetIPCCallCount() = 0;
|
|
virtual void SetWarningMessageHook(void* pFunction) = 0;
|
|
};
|
|
|
|
class Proxy
|
|
{
|
|
public:
|
|
static bool Inititalize();
|
|
static void Uninititalize();
|
|
|
|
//Overlay related proxies
|
|
static void SetOverlayNotificationPosition(uint32_t eNotificationPosition);
|
|
static bool IsOverlayEnabled();
|
|
static bool BOverlayNeedsPresent();
|
|
|
|
static Friends* SteamFriends;
|
|
static Utils* SteamUtils;
|
|
|
|
private:
|
|
static ::Utils::Library Client;
|
|
static ::Utils::Library Overlay;
|
|
|
|
static ISteamClient008* SteamClient;
|
|
|
|
static void* SteamPipe;
|
|
static void* SteamUser;
|
|
|
|
static std::string GetSteamDirectory();
|
|
};
|
|
}
|