Game_object *find_closest(int shapenum, int dist = 24) { return find_closest(&shapenum, 1, dist); }
Game_object *Game_object::find_closest ( Tile_coord pos, int *shapenums,  int num_shapes, int dist ) { Game_object_vector vec; int i; for (i = 0; i < num_shapes; i++)  find_nearby(vec, pos, shapenums[i], dist, 0xb0); int cnt = vec.size(); if (!cnt) return (0); Game_object *closest = 0; int best_dist = 10000;  for (Game_object_vector::const_iterator it = vec.begin(); it != vec.end(); ++it) { Game_object *obj = *it; int dist = obj->get_tile().distance(pos); if (dist < best_dist) { closest = obj; best_dist = dist; } } return (closest); }
	Game_object *find_closest(int shapenum, int dist = 24)		{ return find_closest(&shapenum, 1, dist); }