api
[vg.git] / vg_steam_friends.h
index 587e7fc84271fe48cf0b039aeaa2287de5a11a02..4bcbebba95e0418c822cd21a3b024c91b4e98ac7 100644 (file)
  #pragma pack( push, 8 )
 #endif 
 
+typedef enum EPersonaChange EPersonaChange;
+enum EPersonaChange
+{
+       k_EPersonaChangeName            = 0x0001,
+       k_EPersonaChangeStatus          = 0x0002,
+       k_EPersonaChangeComeOnline      = 0x0004,
+       k_EPersonaChangeGoneOffline     = 0x0008,
+       k_EPersonaChangeGamePlayed      = 0x0010,
+       k_EPersonaChangeGameServer      = 0x0020,
+       k_EPersonaChangeAvatar          = 0x0040,
+       k_EPersonaChangeJoinedSource= 0x0080,
+       k_EPersonaChangeLeftSource      = 0x0100,
+       k_EPersonaChangeRelationshipChanged = 0x0200,
+       k_EPersonaChangeNameFirstSet = 0x0400,
+       k_EPersonaChangeBroadcast = 0x0800,
+       k_EPersonaChangeNickname =      0x1000,
+       k_EPersonaChangeSteamLevel = 0x2000,
+       k_EPersonaChangeRichPresence = 0x4000,
+};
+
+typedef enum EActivateGameOverlayToWebPageMode 
+             EActivateGameOverlayToWebPageMode;
+enum EActivateGameOverlayToWebPageMode
+{
+       k_EActivateGameOverlayToWebPageMode_Default = 0,
+       k_EActivateGameOverlayToWebPageMode_Modal = 1
+};
+
+typedef enum EOverlayToStoreFlag EOverlayToStoreFlag;
+enum EOverlayToStoreFlag
+{
+       k_EOverlayToStoreFlag_None = 0,
+       k_EOverlayToStoreFlag_AddToCart = 1,
+       k_EOverlayToStoreFlag_AddToCartAndShow = 2,
+};
+
 /* ... */
 typedef struct GameOverlayActivated_t GameOverlayActivated_t;
 struct GameOverlayActivated_t
 {
-       u8 m_bActive;   // true if it's just been activated, false otherwise
+       steamapi_bool m_bActive;
 };
 enum { k_iGameOverlayActivated = k_iSteamFriendsCallbacks + 31 };
 
+typedef struct PersonaStateChange_t PersonaStateChange_t;
+struct PersonaStateChange_t
+{
+       u64 m_ulSteamID;                // steamID of the friend who changed
+       int m_nChangeFlags;             // what's changed
+};
+enum { k_iPersonaStateChange = k_iSteamFriendsCallbacks + 4 };
+
 #pragma pack(pop)
 
 typedef void ISteamFriends;
@@ -31,4 +75,20 @@ const char *SteamAPI_ISteamFriends_GetPersonaName( ISteamFriends* self );
 const char *SteamAPI_ISteamFriends_GetFriendPersonaName( ISteamFriends* self,
                                                          u64 steamIDFriend );
 
+steamapi_bool SteamAPI_ISteamFriends_RequestUserInformation( 
+      ISteamFriends* self, u64_steamid steamIDUser, 
+      steamapi_bool bRequireNameOnly );
+
+void SteamAPI_ISteamFriends_ActivateGameOverlay( ISteamFriends* self, 
+      const char * pchDialog );
+void SteamAPI_ISteamFriends_ActivateGameOverlayToUser( ISteamFriends* self, 
+      const char * pchDialog, u64_steamid steamID );
+void SteamAPI_ISteamFriends_ActivateGameOverlayToWebPage( ISteamFriends* self, 
+      const char * pchURL, EActivateGameOverlayToWebPageMode eMode );
+void SteamAPI_ISteamFriends_ActivateGameOverlayToStore( ISteamFriends* self, 
+      AppId_t nAppID, EOverlayToStoreFlag eFlag );
+void SteamAPI_ISteamFriends_SetPlayedWith( ISteamFriends* self, 
+      u64_steamid steamIDUserPlayedWith );
+void SteamAPI_ISteamFriends_ActivateGameOverlayInviteDialog( ISteamFriends* self, u64_steamid steamIDLobby );
+
 #endif /* VG_STEAM_FRIENDS_H */