//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // //============================================================================= //Gamestats was built for ep1, so this file is going to be amazingly short seeing as how ep1 set the standard #include "cbase.h" #include "ep1_gamestats.h" #include "tier1/utlbuffer.h" static CEP1GameStats s_CEP1GS_ThisJustSitsInMemory; // A bit of a hack to redirect the gamestats API for ep2 (ep3, etc.) extern CBaseGameStats *g_pEP2GameStats; CEP1GameStats::CEP1GameStats( void ) { gamestats = &s_CEP1GS_ThisJustSitsInMemory; } CBaseGameStats *CEP1GameStats::OnInit( CBaseGameStats *pCurrentGameStats, char const *gamedir ) { if ( !Q_stricmp( gamedir, "ep2" ) ) { return g_pEP2GameStats; } return pCurrentGameStats; } const char *CEP1GameStats::GetStatSaveFileName( void ) { return "ep1_gamestats.dat"; //overriding the default for backwards compatibility with release stat tracking code } const char *CEP1GameStats::GetStatUploadRegistryKeyName( void ) { return "GameStatsUpload_Ep1"; //overriding the default for backwards compatibility with release stat tracking code } static char const *ep1Maps[] = { "ep1_citadel_00", "ep1_citadel_01", "ep1_citadel_02", "ep1_citadel_02b", "ep1_citadel_03", "ep1_citadel_04", "ep1_c17_00", "ep1_c17_00a", "ep1_c17_01", "ep1_c17_02", "ep1_c17_02b", "ep1_c17_02a", "ep1_c17_05", "ep1_c17_06", }; bool CEP1GameStats::UserPlayedAllTheMaps( void ) { int c = ARRAYSIZE( ep1Maps ); for ( int i = 0; i < c; ++i ) { int idx = m_BasicStats.m_MapTotals.Find( ep1Maps[ i ] ); if( idx == m_BasicStats.m_MapTotals.InvalidIndex() ) return false; } return true; }