//=========================================================================== // called when the library is first loaded // // Parameter: - // Returns: - // Changes Globals: - //=========================================================================== int AAS_Setup(void) { aasworld.maxclients = (int) LibVarValue("maxclients", "128"); aasworld.maxentities = (int) LibVarValue("maxentities", "1024"); // as soon as it's set to 1 the routing cache will be saved saveroutingcache = LibVar("saveroutingcache", "0"); //allocate memory for the entities if (aasworld.entities) FreeMemory(aasworld.entities); aasworld.entities = (aas_entity_t *) GetClearedHunkMemory(aasworld.maxentities * sizeof(aas_entity_t)); //invalidate all the entities AAS_InvalidateEntities(); //force some recalculations //LibVarSet("forceclustering", "1"); //force clustering calculation //LibVarSet("forcereachability", "1"); //force reachability calculation aasworld.numframes = 0; return BLERR_NOERROR; } //end of the function AAS_Setup
//=========================================================================== // called at the start of every frame // // Parameter: - // Returns: - // Changes Globals: - //=========================================================================== int AAS_StartFrame(float time) { // Ridah, do each of the aasworlds int i; for(i = 0; i < MAX_AAS_WORLDS; i++) { AAS_SetCurrentWorld(i); (*aasworld).time = time; //invalidate the entities AAS_InvalidateEntities(); //initialize AAS AAS_ContinueInit(time); //update team deaths AAS_UpdateTeamDeath(); // (*aasworld).frameroutingupdates = 0; // /* Ridah, disabled for speed if (LibVarGetValue("showcacheupdates")) { AAS_RoutingInfo(); LibVarSet("showcacheupdates", "0"); } //end if if (LibVarGetValue("showmemoryusage")) { PrintUsedMemorySize(); LibVarSet("showmemoryusage", "0"); } //end if if (LibVarGetValue("memorydump")) { PrintMemoryLabels(); LibVarSet("memorydump", "0"); } //end if */ } //end if (*aasworld).numframes++; return BLERR_NOERROR; } //end of the function AAS_StartFrame
//=========================================================================== // called when the library is first loaded // // Parameter: - // Returns: - // Changes Globals: - //=========================================================================== int AAS_Setup( void ) { // Ridah, just use the default world for entities AAS_SetCurrentWorld( 0 ); ( *aasworlds ).maxclients = (int) LibVarValue( "maxclients", "128" ); ( *aasworlds ).maxentities = (int) LibVarValue( "maxentities", "1024" ); //allocate memory for the entities if ( ( *aasworld ).entities ) { FreeMemory( ( *aasworld ).entities ); } ( *aasworld ).entities = (aas_entity_t *) GetClearedHunkMemory( ( *aasworld ).maxentities * sizeof( aas_entity_t ) ); //invalidate all the entities AAS_InvalidateEntities(); //force some recalculations //LibVarSet("forceclustering", "1"); //force clustering calculation //LibVarSet("forcereachability", "1"); //force reachability calculation ( *aasworld ).numframes = 0; return BLERR_NOERROR; } //end of the function AAS_Setup
//=========================================================================== // called at the start of every frame // // Parameter: - // Returns: - // Changes Globals: - //=========================================================================== int AAS_StartFrame(float time) { aasworld.time = time; //unlink all entities that were not updated last frame AAS_UnlinkInvalidEntities(); //invalidate the entities AAS_InvalidateEntities(); //initialize AAS AAS_ContinueInit(time); // aasworld.frameroutingupdates = 0; // if (bot_developer) { if (LibVarGetValue("showcacheupdates")) { AAS_RoutingInfo(); LibVarSet("showcacheupdates", "0"); } //end if if (LibVarGetValue("showmemoryusage")) { PrintUsedMemorySize(); LibVarSet("showmemoryusage", "0"); } //end if if (LibVarGetValue("memorydump")) { PrintMemoryLabels(); LibVarSet("memorydump", "0"); } //end if } //end if // if (saveroutingcache->value) { AAS_WriteRouteCache(); LibVarSet("saveroutingcache", "0"); } //end if // aasworld.numframes++; return BLERR_NOERROR; } //end of the function AAS_StartFrame