//========================================== // AI_InitNavigationData // Setup nodes & links for this map //========================================== void AI_InitNavigationData(void) { int i; int newlinks; int newjumplinks; int linkscount; int servernodesstart = 0; //Init nodes arrays nav.num_nodes = 0; memset( nodes, 0, sizeof(nav_node_t) * MAX_NODES ); memset( pLinks, 0, sizeof(nav_plink_t) * MAX_NODES ); //Load nodes from file nav.loaded = AI_LoadPLKFile( level.mapname ); if( !nav.loaded ) { Com_Printf( "AI: FAILED to load nodes file.\n"); return; } servernodesstart = nav.num_nodes; for( linkscount = 0, i = 0; i< nav.num_nodes; i++ ) linkscount += pLinks[i].numLinks; //create nodes for map entities AI_CreateNodesForEntities(); newlinks = AI_LinkServerNodes( servernodesstart ); newjumplinks = AI_LinkCloseNodes_JumpPass( servernodesstart ); Com_Printf("-------------------------------------\n" ); Com_Printf(" : AI: Nodes Initialized.\n" ); Com_Printf(" : loaded nodes:%i.\n", servernodesstart ); Com_Printf(" : added nodes:%i.\n", nav.num_nodes - servernodesstart ); Com_Printf(" : total nodes:%i.\n", nav.num_nodes ); Com_Printf(" : loaded links:%i.\n", linkscount ); Com_Printf(" : added links:%i.\n", newlinks ); Com_Printf(" : added jump links:%i.\n", newjumplinks ); }
/* * AI_InitNavigationData * Setup nodes & links for this map */ void AI_InitNavigationData( qboolean silent ) { int i; int linkscount; memset( &nav, 0, sizeof( nav ) ); memset( nodes, 0, sizeof( nav_node_t ) * MAX_NODES ); memset( pLinks, 0, sizeof( nav_plink_t ) * MAX_NODES ); if( developer->integer && !silent ) { G_Printf( "-------------------------------------\n" ); G_Printf( " : AI version: %s\n", AI_VERSION_STRING ); } // Load nodes from file if( !AI_LoadPLKFile( level.mapname ) ) { if( !silent ) G_Printf( " : AI FAILED to load navigation file.\n" ); return; } nav.serverNodesStart = nav.num_nodes; if( developer->integer && !silent ) { G_Printf( " : \n" ); G_Printf( " : loaded nodes:%i.\n", nav.num_nodes ); for( linkscount = 0, i = 0; i < nav.num_nodes; i++ ) linkscount += pLinks[i].numLinks; G_Printf( " : loaded links:%i.\n", linkscount ); } }