Hi,
the bottom of the screen has a trigonometric relation with the camera arc. It may be computed only once when view arc or screen resolution changes.

Code:
_ent->skill20 = fcos(0.5 * camera->arc, _distance);
_ent->skill21 = 0;
_ent->skill22 = _sizeY - fsin(0.5 * camera->arc, _distance) * screen_size.y / screen_size.x;
...
vec_set(&_ent->x, &_ent->skill20);
vec_rotate(&_ent->x, &camera->pan);
vec_add(&_ent->x, &camera->x);
_ent->pan = ang(camera->pan - 180);
_ent->tilt = -camera->tilt;
_ent->roll = -camera->roll;



_distance is the distance to the camera and _sizeY is the sprites max_y value (0.5 * bmap_height * scale_y).

Salud!