53 lines
1.2 KiB
C++
Executable File
53 lines
1.2 KiB
C++
Executable File
#ifndef RC_STEAM_H_INCLUDED
|
|
#define RC_STEAM_H_INCLUDED
|
|
|
|
#include <iostream>
|
|
#include <steam/steam_api.h>
|
|
#include <steam/isteamuserstats.h>
|
|
|
|
#define _ACH_ID( id, name ) { id, #id, name, "", 0, 0 }
|
|
struct Achievement_t
|
|
{
|
|
int m_eAchievementID;
|
|
const char *m_pchAchievementID;
|
|
char m_rgchName[128];
|
|
char m_rgchDescription[256];
|
|
bool m_bAchieved;
|
|
int m_iIconImage;
|
|
};
|
|
|
|
|
|
class CSteamAchievements
|
|
{
|
|
private:
|
|
int64 m_iAppID; // Our current AppID
|
|
Achievement_t *m_pAchievements; // Achievements data
|
|
int m_iNumAchievements; // The number of Achievements
|
|
bool m_bInitialized; // Have we called Request stats and received the callback?
|
|
|
|
public:
|
|
CSteamAchievements(Achievement_t *Achievements, int NumAchievements);
|
|
~CSteamAchievements();
|
|
|
|
void OutputDebugString(std::string dbg_string);
|
|
|
|
bool RequestStats();
|
|
bool SetAchievement(const char* ID);
|
|
|
|
int64 GetAppID();
|
|
|
|
STEAM_CALLBACK( CSteamAchievements, OnUserStatsReceived, UserStatsReceived_t,
|
|
m_CallbackUserStatsReceived );
|
|
STEAM_CALLBACK( CSteamAchievements, OnUserStatsStored, UserStatsStored_t,
|
|
m_CallbackUserStatsStored );
|
|
STEAM_CALLBACK( CSteamAchievements, OnAchievementStored,
|
|
UserAchievementStored_t, m_CallbackAchievementStored );
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif // RC_STEAM_H_INCLUDED
|