void CNetworkStringTable::TriggerCallbacks( int tick_ack ) { if ( m_changeFunc == NULL ) return; COM_TimestampedLog( "Change(%s):Start", GetTableName() ); int count = m_pItems->Count(); for ( int i = 0; i < count; i++ ) { CNetworkStringTableItem *pItem = &m_pItems->Element( i ); // mirror is up to date if ( pItem->GetTickChanged() <= tick_ack ) continue; int userDataSize; const void *pUserData = pItem->GetUserData( &userDataSize ); // fire the callback function ( *m_changeFunc )( m_pObject, this, i, GetString( i ), pUserData ); } COM_TimestampedLog( "Change(%s):End", GetTableName() ); }
//----------------------------------------------------------------------------- // Level startup, shutdown //----------------------------------------------------------------------------- void CPrecacheRegister::LevelInitPreEntity() { COM_TimestampedLog( "LevelInitPreEntity - PreCache - Start" ); g_pPrecacheSystem->Cache( g_pPrecacheHandler, GLOBAL, NULL, true, RESOURCE_LIST_INVALID, false ); COM_TimestampedLog( "LevelInitPreEntity - PreCache - Finish" ); #ifdef CLIENT_DLL //FIXME: Double check this //Finally, force the cache of these materials COM_TimestampedLog( "LevelInitPreEntity - CacheUsedMaterials - Start" ); materials->CacheUsedMaterials(); COM_TimestampedLog( "LevelInitPreEntity - CacheUsedMaterials - Finish" ); #endif }
void CGameClient::ActivatePlayer( void ) { CBaseClient::ActivatePlayer(); COM_TimestampedLog( "CGameClient::ActivatePlayer -start" ); // call the spawn function if ( !sv.m_bLoadgame ) { g_ServerGlobalVariables.curtime = sv.GetTime(); COM_TimestampedLog( "g_pServerPluginHandler->ClientPutInServer" ); g_pServerPluginHandler->ClientPutInServer( edict, m_Name ); } COM_TimestampedLog( "g_pServerPluginHandler->ClientActive" ); g_pServerPluginHandler->ClientActive( edict, sv.m_bLoadgame ); COM_TimestampedLog( "g_pServerPluginHandler->ClientSettingsChanged" ); g_pServerPluginHandler->ClientSettingsChanged( edict ); COM_TimestampedLog( "GetTestScriptMgr()->CheckPoint" ); GetTestScriptMgr()->CheckPoint( "client_connected" ); // don't send signonstate to client, client will switch to FULL as soon // as the first full entity update packets has been received // fire a activate event IGameEvent *event = g_GameEventManager.CreateEvent( "player_activate" ); if ( event ) { event->SetInt( "userid", GetUserID() ); g_GameEventManager.FireEvent( event ); } COM_TimestampedLog( "CGameClient::ActivatePlayer -end" ); }
//----------------------------------------------------------------------------- // Purpose: // Input : *i - // *s - //----------------------------------------------------------------------------- void TraceInit( const char *i, const char *s, int listnum ) { g_InitTracker.Init( i, s, listnum ); COM_TimestampedLog( "%s", i ); }
void CWorld::Precache( void ) { COM_TimestampedLog( "CWorld::Precache - Start" ); g_WorldEntity = this; g_fGameOver = false; g_pLastSpawn = NULL; g_Language.SetValue( LANGUAGE_ENGLISH ); // TODO use VGUI to get current language #ifndef INFESTED_DLL ConVarRef stepsize( "sv_stepsize" ); stepsize.SetValue( 24 ); #endif ConVarRef roomtype( "room_type" ); roomtype.SetValue( 0 ); // Set up game rules Assert( !g_pGameRules ); if (g_pGameRules) { delete g_pGameRules; } InstallGameRules(); Assert( g_pGameRules ); g_pGameRules->Init(); CSoundEnt::InitSoundEnt(); // UNDONE: Make most of these things server systems or precache_registers // ================================================= // Activities // ================================================= ActivityList_Free(); RegisterSharedActivities(); EventList_Free(); RegisterSharedEvents(); // Only allow precaching between LevelInitPreEntity and PostEntity CBaseEntity::SetAllowPrecache( true ); COM_TimestampedLog( "IGameSystem::LevelInitPreEntityAllSystems" ); IGameSystem::LevelInitPreEntityAllSystems( STRING( GetModelName() ) ); COM_TimestampedLog( "g_pGameRules->CreateStandardEntities()" ); // Create the player resource g_pGameRules->CreateStandardEntities(); COM_TimestampedLog( "InitBodyQue()" ); InitBodyQue(); COM_TimestampedLog( "SENTENCEG_Init()" ); // init sentence group playback stuff from sentences.txt. // ok to call this multiple times, calls after first are ignored. SENTENCEG_Init(); COM_TimestampedLog( "PrecacheStandardParticleSystems()" ); // Precache standard particle systems PrecacheStandardParticleSystems( ); // the area based ambient sounds MUST be the first precache_sounds COM_TimestampedLog( "W_Precache()" ); // player precaches W_Precache (); // get weapon precaches COM_TimestampedLog( "ClientPrecache()" ); ClientPrecache(); COM_TimestampedLog( "PrecacheTempEnts()" ); // precache all temp ent stuff CBaseTempEntity::PrecacheTempEnts(); COM_TimestampedLog( "LightStyles" ); // // Setup light animation tables. 'a' is total darkness, 'z' is maxbright. // for ( int i = 0; i < ARRAYSIZE(g_DefaultLightstyles); i++ ) { engine->LightStyle( i, GetDefaultLightstyleString(i) ); } // styles 32-62 are assigned by the light program for switchable lights // 63 testing engine->LightStyle(63, "a"); COM_TimestampedLog( "InitializeAINetworks" ); // ================================================= // Load and Init AI Networks // ================================================= CAI_NetworkManager::InitializeAINetworks(); // ================================================= // Load and Init AI Schedules // ================================================= COM_TimestampedLog( "LoadAllSchedules" ); g_AI_SchedulesManager.LoadAllSchedules(); // ================================================= // Initialize NPC Relationships // ================================================= COM_TimestampedLog( "InitDefaultAIRelationships" ); g_pGameRules->InitDefaultAIRelationships(); COM_TimestampedLog( "InitInteractionSystem" ); CBaseCombatCharacter::InitInteractionSystem(); COM_TimestampedLog( "g_pGameRules->Precache" ); // Call the gamerules precache after the AI precache so that games can precache NPCs that are always loaded g_pGameRules->Precache(); if ( m_iszChapterTitle != NULL_STRING ) { DevMsg( 2, "Chapter title: %s\n", STRING(m_iszChapterTitle) ); CMessage *pMessage = (CMessage *)CBaseEntity::Create( "env_message", vec3_origin, vec3_angle, NULL ); if ( pMessage ) { pMessage->SetMessage( m_iszChapterTitle ); m_iszChapterTitle = NULL_STRING; // send the message entity a play message command, delayed by 1 second pMessage->AddSpawnFlags( SF_MESSAGE_ONCE ); pMessage->SetThink( &CMessage::SUB_CallUseToggle ); pMessage->SetNextThink( gpGlobals->curtime + 1.0f ); } } g_iszFuncBrushClassname = AllocPooledString("func_brush"); if ( m_iszDetailSpriteMaterial.Get() != NULL_STRING ) { PrecacheMaterial( STRING( m_iszDetailSpriteMaterial.Get() ) ); } COM_TimestampedLog( "CWorld::Precache - Finish" ); }
//----------------------------------------------------------------------------- // One-time setup, based on the initially selected mod // FIXME: This should move into the launcher! //----------------------------------------------------------------------------- bool CEngineAPI::OnStartup( void *pInstance, const char *pStartupModName ) { // This fixes a bug on certain machines where the input will // stop coming in for about 1 second when someone hits a key. // (true means to disable priority boost) if ( IsPC() ) { SetThreadPriorityBoost( GetCurrentThread(), true ); } // FIXME: Turn videomode + game into IAppSystems? // Try to create the window COM_TimestampedLog( "game->Init" ); // This has to happen before CreateGameWindow to set up the instance // for use by the code that creates the window if ( !game->Init( pInstance ) ) { goto onStartupError; } // Try to create the window COM_TimestampedLog( "videomode->Init" ); // This needs to be after Shader_Init and registry->Init // This way mods can have different default video settings if ( !videomode->Init( ) ) { goto onStartupShutdownGame; } // We need to access the registry to get various settings (specifically, // InitMaterialSystemConfig requires it). if ( !InitRegistry( pStartupModName ) ) { goto onStartupShutdownVideoMode; } materials->ModInit(); // Setup the material system config record, CreateGameWindow depends on it // (when we're running stand-alone) InitMaterialSystemConfig( InEditMode() ); #if defined( _X360 ) XBX_NotifyCreateListener( XNOTIFY_SYSTEM|XNOTIFY_LIVE|XNOTIFY_XMP ); #endif ShutdownRegistry(); return true; // Various error conditions onStartupShutdownVideoMode: videomode->Shutdown(); onStartupShutdownGame: game->Shutdown(); onStartupError: return false; }