current function and implementation status --

Code:
//////////////////////////////////////
//////////////////////////////////////
//************************************
// TYPES
//

typedef void* 		Nav_Thread;
#define tilemesh  2

//////////////////////////////////////
//////////////////////////////////////
//************************************
// HELPER/DEBUG FUNCTIONS

my_polygon*  get_polygons  ();
my_triangle* get_triangles (my_polygon* polygon);

int 	get_polycount ();
float ceiling		  (float val);

void save_debugmesh (char* filename);
void save_merged    (void* mesh , char* filename);
void calc_bbox      (ENTITY *ent , int chunk , var *min , var *max);

VECTOR* vec_edge            (VECTOR *from);
VECTOR* nav_random_points   (int points);
VECTOR* nearest_navpoint    (VECTOR* from);
VECTOR* random_point_around (VECTOR* from , float radius);

//////////////////////////////////////
//////////////////////////////////////
//************************************
// BUILD PARAM FUNCTIONS
//
typedef struct custombuild
{
	float CellSize;
	float CellHeight;
	float AgentHeight;
	float AgentRadius;
	float AgentMaxClimb;
	float AgentMaxSlope;
	float RegionMinSize;
	float RegionMergeSize;
	float EdgeMaxLen;
	float EdgeMaxError;
	float VertsPerPoly;
	float DetailSampleDist;
	float DetailSampleMaxError;
	int   monotonePartitioning;
	float TileSize;
	int   navtype;
	int   buildalltiles;
}custombuild;

custombuild* create_custombuild ();
custombuild* load_custombuild   (char* filename);

void remove_custombuild (custombuild* mybuild);
int export_custombuild  (char* filename , custombuild *step);

//////////////////////////////////////
//////////////////////////////////////
//************************************
// NAVBUILDER OBJECT FUNCTIONS
//

int is_valid_navbuilder ();
void create_navbuilder  ();
void destroy_navbuilder ();

Nav_Thread init_navbuilder (custombuild* step);

//////////////////////////////////////
//////////////////////////////////////
//************************************
// STANDARD PATH-FINDING FUNCTIONS
//

VECTOR* findpath (VECTOR *from , VECTOR* to , int *num_points);

//////////////////////////////////////
//////////////////////////////////////
//************************************
// CROWD/AGENT FUNCTIONS
//

-------BUSY 

//////////////////////////////////////
//////////////////////////////////////
//************************************
// INPUT GEOMETRY FUNCTIONS
//

void mesh_from_level_blocks		  (ENTITY* level , int chunks);
void* mesh_from_level_blocks_chunk (ENTITY* level , int chunks);

void transform_mesh_ent	  (void* mesh , ENTITY* ent);
void transform_mesh_arg   (void* mesh , ANGLE* angle , VECTOR* scale , VECTOR* pos);

void* mesh_from_ent		  (ENTITY* ent);
void  mesh_from_hmp		  (ENTITY* ent , int chunks);
void* mesh_from_hmp_chunk (ENTITY* ent , int chunk);

void* mesh_from_obj_file  (char* filename);
void* mesh_from_buffers	  (D3DVERTEX* vbuffer , short* tbuffer , int verts , int tris);

int get_vertcount (void* mesh);
int get_tricount  (void* mesh);

int*   get_tbuffer (void* mesh);
float* get_vbuffer (void* mesh);

void save_mesh  (void* mesh ,char* filename);
void* load_mesh (char* filename);

//////////////////////////////////////
//////////////////////////////////////
//************************************
// TILE MANIPULATION FUNCTIONS
//

void remove_all_tiles ();
void remove_tile			  (VECTOR* pos);
void save_all_tiles		  (char* filename);
void load_all_tiles		  (char* filename);
void remove_tiles_bbox	  (VECTOR* bmin , VECTOR* bmax);
void remove_tiles_ent_box (ENTITY *ent , int chunk);

Nav_Thread build_all_tiles ();
Nav_Thread build_tile			 (VECTOR* pos);
Nav_Thread build_tiles_bbox	 (VECTOR* bmin , VECTOR* bmax);
Nav_Thread build_tiles_ent_box (ENTITY *ent , int chunk);


//build from multible entity boxes in a list all at once
void clear_temp_entlist();
Nav_Thread build_tiles_box_entlist();

void rem_temp_entlist (ENTITY* ent , int chunk);
void add_temp_entlist (ENTITY* ent , int chunk);


//build from multible positions in a list all at once 
void clear_temp_pntlist ();
Nav_Thread build_tiles_pntlist ();

void rem_temp_pntlist (VECTOR* pnt , int id);
void add_temp_pntlist (VECTOR* pnt , int id);

//////////////////////////////////////
//////////////////////////////////////
//************************************
// INPUT GEOMETRY LIST FUNCTIONS
//
void  clear_meshlist ();
void  add_meshlist   (void* mesh);
void  rem_meshlist   (void* mesh);

void  rem_meshlist_ent  (ENTITY* ent , int chunk);
void* get_meshlist_ent	(ENTITY* ent , int chunk);

//////////////////////////////////////
//////////////////////////////////////
//************************************
// THREAD STATUS (DONE/BUSY)
//
int thread_alive (void* thandle);



Compulsive compiler