summaryrefslogtreecommitdiff
path: root/cheat/internal_rewrite/ISteamClient.hpp
blob: 190607f6056c98f87681d4cacc488acfb2e4ef44 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include "util.hpp"
using SteamPipeHandle = uint32_t;
using SteamUserHandle = uint32_t;

enum game_coordinator_result_t {
	result_ok,
	result_no_message,
	result_small_buffer,
	result_not_logged_on,
	result_invalid,

};

class ISteamFriends {
public:
	bool set_rich_presence( const char* key, const char* value ) {
		return util::get_vfunc< 43, bool >( this, key, value );
	}

	void clear_rich_presence( ) {
		util::get_vfunc< 44, void >( this );
	}
};

class ISteamClient {
public:

	void* GetISteamFriends( SteamUserHandle user, SteamPipeHandle pipe, const char* name ) {
		return util::get_vfunc< 8, void* >( this, user, pipe, name );
	}

	void* GetISteamGenericInterface( SteamUserHandle user, SteamPipeHandle pipe, const char* name ) {
		return util::get_vfunc< 12, void* >( this, user, pipe, name );
	}

};

class ISteamGameCoordinator {
public:
	virtual game_coordinator_result_t send_message( uint32_t msg_type, const void* pub_data, uint32_t data ) = 0;
	virtual bool IsMessageAvailable( uint32_t* msg_size ) = 0;
	virtual game_coordinator_result_t RetrieveMessage( uint32_t* msg_type, void* pub_dest, uint32_t dest, uint32_t* msg_size ) = 0;
};