void destroy_map() { int i; #ifdef EXTRA_DEBUG ERR(); #endif have_a_map = 0; clear_bbox_tree(main_bbox_tree); //kill the tile and height map if(tile_map) { free (tile_map); tile_map = NULL; } memset(tile_list,0,sizeof(tile_list)); tile_map_size_x = tile_map_size_y = 0; if(height_map) { free (height_map); height_map = NULL; } #ifndef MAP_EDITOR2 ///kill the pathfinding tile map if(pf_tile_map) { free(pf_tile_map); pf_tile_map = NULL; if (pf_follow_path) pf_destroy_path(); } #endif //kill the 3d objects links destroy_all_3d_objects(); //kill the 2d objects links destroy_all_2d_objects(); //kill the lights links for(i=0;i<MAX_LIGHTS;i++) { if(lights_list[i]) { free(lights_list[i]); lights_list[i]= NULL; //kill any refference to it } } num_lights= 0; #ifdef CLUSTER_INSIDES destroy_clusters_array (); #endif }
void free_bbox_tree(BBOX_TREE* bbox_tree) { if (bbox_tree != NULL) { clear_bbox_tree(bbox_tree); free(bbox_tree); bbox_tree = NULL; } else BBOX_TREE_LOG_INFO("bbox_tree"); }