void CBaseGameStats_Driver::LevelInitPreEntity() { m_bInLevel = true; m_bFirstLevel = false; PossibleMapChange(); m_flPauseStartTime = 0.0f; m_flLevelStartTime = gpGlobals->realtime; gamestats->Event_LevelInit(); if( gamestats->AutoSave_OnLevelInit() ) gamestats->SaveToFileNOW(); if( gamestats->AutoUpload_OnLevelInit() ) gamestats->UploadStatsFileNOW(); }
void CBaseGameStats_Driver::LevelInitPreEntity() { m_bInLevel = true; m_bFirstLevel = false; if ( Q_stricmp( s_szPseudoUniqueID, "unknown" ) == 0 ) { // "unknown" means this is a dedicated server and we weren't able to generate a unique ID (e.g. Linux server). // Change the unique ID to be a hash of IP & port. We couldn't do this earlier because IP is not known until level // init time. ConVar *hostip = cvar->FindVar( "hostip" ); ConVar *hostport = cvar->FindVar( "hostport" ); if ( hostip && hostport ) { int crcInput[2]; crcInput[0] = hostip->GetInt(); crcInput[1] = hostport->GetInt(); if ( crcInput[0] && crcInput[1] ) { CRC32_t crc = CRC32_ProcessSingleBuffer( crcInput, sizeof( crcInput ) ); Q_snprintf( s_szPseudoUniqueID, ARRAYSIZE( s_szPseudoUniqueID ), "H:%x", crc ); } } } PossibleMapChange(); m_flPauseStartTime = 0.0f; m_flLevelStartTime = gpGlobals->realtime; gamestats->Event_LevelInit(); #ifdef GAME_DLL if ( gamestats->UseOldFormat() ) { if( gamestats->AutoSave_OnLevelInit() ) gamestats->SaveToFileNOW(); if( gamestats->AutoUpload_OnLevelInit() ) gamestats->UploadStatsFileNOW(); } #endif }
void CBaseGameStats_Driver::OnRestore() { PossibleMapChange(); gamestats->Event_LoadGame(); }