Refactor, GLFW->SDL
[vg.git] / vg_steam_user_stats.h
diff --git a/vg_steam_user_stats.h b/vg_steam_user_stats.h
new file mode 100644 (file)
index 0000000..1b5691f
--- /dev/null
@@ -0,0 +1,44 @@
+#ifndef VG_STEAM_USER_STATS_H
+#define VG_STEAM_USER_STATS_H
+
+#include "vg_steam.h"
+
+#if defined( VALVE_CALLBACK_PACK_SMALL )
+ #pragma pack( push, 4 )
+#elif defined( VALVE_CALLBACK_PACK_LARGE )
+ #pragma pack( push, 8 )
+#endif 
+
+typedef struct UserStatsReceived_t UserStatsReceived_t;
+struct UserStatsReceived_t
+{
+       u64                m_nGameID;           // Game these stats are for
+       EResult         m_eResult;              // Success / error fetching the stats
+       CSteamID           m_steamIDUser;       // The user for whom the stats are retrieved for
+};
+enum { k_iUserStatsReceived = k_iSteamUserStatsCallbacks + 1 };
+
+#pragma pack(pop)
+
+typedef void ISteamUserStats;
+ISteamUserStats *SteamAPI_SteamUserStats_v012(void);
+ISteamUserStats *SteamAPI_SteamUserStats(void)
+{
+   return SteamAPI_SteamUserStats_v012();
+}
+
+int SteamAPI_ISteamUserStats_RequestCurrentStats( ISteamUserStats* self );
+
+int SteamAPI_ISteamUserStats_GetAchievement( ISteamUserStats *self,
+                                             const char *pchName, 
+                                             int *pbAchieved );
+
+int SteamAPI_ISteamUserStats_SetAchievement( ISteamUserStats *self,
+                                             const char *pchName );
+
+int SteamAPI_ISteamUserStats_ClearAchievement( ISteamUserStats *self,
+                                               const char *pchName );
+
+int SteamAPI_ISteamUserStats_StoreStats( ISteamUserStats* self );
+
+#endif /* VG_STEAM_USER_STATS_H */