diff options
Diffstat (limited to 'internal_rewrite/ISteamClient.hpp')
| -rw-r--r-- | internal_rewrite/ISteamClient.hpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/internal_rewrite/ISteamClient.hpp b/internal_rewrite/ISteamClient.hpp new file mode 100644 index 0000000..190607f --- /dev/null +++ b/internal_rewrite/ISteamClient.hpp @@ -0,0 +1,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;
+};
|
