@@ -12,6 +12,7 @@ static const char *LB_HIGHSCORE = "Highscore";
1212static const char * LB_QUICKPLAY_HIGHSCORE = "Quickplay Highscore" ;
1313static const char * LB_ARCADE_HIGHSCORE = "Arcade Highscore" ;
1414static const char * LB_ROGUE_HIGHSCORE = "Rogue Highscore" ;
15+ static const char * LB_MAGE_HIGHSCORE = "Mage Highscore" ;
1516static const char * LB_WARRIOR_HIGHSCORE = "Warrior Highscore" ;
1617static const char * LB_KILLS = "Most Kills" ;
1718static char * lb_weekly = NULL ;
@@ -22,7 +23,8 @@ static Achievement g_Achievements[] = {
2223 _ACH_ID (LIGHTS_ON , "Omnidirectional light" ),
2324 _ACH_ID (BACK_TO_WORK , "Back to work" ),
2425 _ACH_ID (DRAGON_SLAYER , "Platinum dragon slayer" ),
25- _ACH_ID (ROGUE_LIKE , "Rogue-like" )
26+ _ACH_ID (ROGUE_LIKE , "Rogue-like" ),
27+ _ACH_ID (MAGICAL , "Magical" )
2628};
2729static Uint8 numAchievements = 6 ;
2830
@@ -35,6 +37,7 @@ static Sint64 m_hArcadeHighscoreLeaderboard = 0;
3537static Sint64 m_hKillsLeaderboard = 0 ;
3638static Sint64 m_hRogueHighscore = 0 ;
3739static Sint64 m_hWarriorHighscore = 0 ;
40+ static Sint64 m_hMageHighscore = 0 ;
3841static Sint64 m_hWeeklyHighscore = 0 ;
3942
4043static Timer * requestDataTimer = NULL ;
@@ -70,6 +73,8 @@ leaderboard_received(Sint64 hLeaderboard, const char *name)
7073 m_hKillsLeaderboard = hLeaderboard ;
7174 else if (strcmp (LB_ROGUE_HIGHSCORE , name ) == 0 )
7275 m_hRogueHighscore = hLeaderboard ;
76+ else if (strcmp (LB_MAGE_HIGHSCORE , name ) == 0 )
77+ m_hMageHighscore = hLeaderboard ;
7378 else if (strcmp (LB_WARRIOR_HIGHSCORE , name ) == 0 )
7479 m_hWarriorHighscore = hLeaderboard ;
7580 else if (strcmp (LB_QUICKPLAY_HIGHSCORE , name ) == 0 )
@@ -124,6 +129,8 @@ request_data_queue_run(void)
124129 c_SteamUserStats_FindLeaderboard (LB_KILLS );
125130 else if (!m_hRogueHighscore )
126131 c_SteamUserStats_FindLeaderboard (LB_ROGUE_HIGHSCORE );
132+ else if (!m_hMageHighscore )
133+ c_SteamUserStats_FindLeaderboard (LB_MAGE_HIGHSCORE );
127134 else if (!m_hWarriorHighscore )
128135 c_SteamUserStats_FindLeaderboard (LB_WARRIOR_HIGHSCORE );
129136 else if (!m_hWeeklyHighscore )
@@ -183,6 +190,13 @@ void steam_register_arcade_score(Sint32 nScore, const int32_t * details, int32_t
183190 c_SteamUserStats_UploadLeaderboardScore (m_hArcadeHighscoreLeaderboard , nScore , details , nDetails );
184191}
185192
193+ void steam_register_mage_score (Sint32 nScore , const int32_t * details , int32_t nDetails )
194+ {
195+ if (!m_hMageHighscore )
196+ return ;
197+ c_SteamUserStats_UploadLeaderboardScore (m_hMageHighscore , nScore , details , nDetails );
198+ }
199+
186200void steam_register_warrior_score (Sint32 nScore , const int32_t * details , int32_t nDetails )
187201{
188202 if (!m_hWarriorHighscore )
0 commit comments