* nothing.
*/
-static char steam_username_at_startup[128];
+static char steam_username_at_startup[128] = "Unassigned";
static void recv_steam_warning( int severity, const char *msg )
{
static const char *steam_achievement_names[] =
{
- "ALBERT", "MARC",
+ "ALBERT", "MARC", "JANET", "BERNADETTA",
"ROUTE_MPY", "ROUTE_MPG", "ROUTE_MPB", "ROUTE_MPR",
- "ROUTE_TO", "ROUTE_TC"
+ "ROUTE_TO", "ROUTE_TC", "CITY_COMPLETE", "MTZERO_SILVER", "MTZERO_GOLD",
+ "80FT"
};
static void steam_store_achievements(void)
}
}
-static void steam_set_achievement( const char *name )
-{
+static void update_ach_models(void);
+static void steam_set_achievement( const char *name ){
+ if( skaterift.demo_mode )
+ return;
+
+ /* hack lol */
+ if( !strcmp(name,"MARC") ) skaterift.achievements |= 0x1;
+ if( !strcmp(name,"ALBERT") ) skaterift.achievements |= 0x2;
+ if( !strcmp(name,"JANET") ) skaterift.achievements |= 0x4;
+ if( !strcmp(name,"BERNADETTA") ) skaterift.achievements |= 0x8;
+ update_ach_models();
+
if( steam_ready && steam_stats_ready ){
if( SteamAPI_ISteamUserStats_SetAchievement( hSteamUserStats, name ) ){
vg_success( "Achievement set! '%s'\n", name );
+
}
else{
vg_warn( "Failed to set achievement: %s\n", name );
vg_info( "Recieved stats for: %lu (user: %lu)\n", rec->m_nGameID,
rec->m_steamIDUser );
steam_stats_ready = 1;
+
+ steamapi_bool set = 0;
+ if( SteamAPI_ISteamUserStats_GetAchievement(
+ hSteamUserStats, "MARC", &set ) ){
+ if( set ) skaterift.achievements |= 0x1;
+ }
+ if( SteamAPI_ISteamUserStats_GetAchievement(
+ hSteamUserStats, "ALBERT", &set ) ){
+ if( set ) skaterift.achievements |= 0x2;
+ }
+ if( SteamAPI_ISteamUserStats_GetAchievement(
+ hSteamUserStats, "JANET", &set ) ){
+ if( set ) skaterift.achievements |= 0x4;
+ }
+ if( SteamAPI_ISteamUserStats_GetAchievement(
+ hSteamUserStats, "BERNADETTA", &set ) ){
+ if( set ) skaterift.achievements |= 0x8;
+ }
+ update_ach_models();
}
else{
vg_error( "Error recieveing stats for user (%u)\n", rec->m_eResult );