I think the widespread use of recalc_refdef (and force_fullscreen) was the result of a rushed merge of the renderer and video code (I do seem to remember sprinkling them around). This cleans the two out of the client code.