Well if you're going to have the planet behind everything, that's no problem. Simply do a search for obj_render_all(), then look before it for anything else that's rendered (eg the existing planets). Render the planet using model_render, then use the zbuffer clear function (gr_zbuffer_clear() or something, I forget). Cockpits are done like that, except they're done after everything else has been rendered.
If you want to scale it, all you need to do is move it closer to the camera when it's rendered, ie pass a different position to model_render than its actual position.
- Do object position - camera position = relative object position (using vm_vec_sub)
- relative object position * scalar constant = new relative object position (using vm_vec_scale; note that the scalar constant would have to be between 0 and 1.)
- camera position + new relative object position = final object position (using vm_vec_add)
Once you had the 'final' object position you would pass that along to model_render. In this way, you would make it possible to enlarge objects by making the renderer treat them as if they're closer than they really are. Since it doesn't matter where they actually are - because you're clearing the zbuffer - the planets will appear huge and massive. You could even screw around with the FOV some to make them look better, as long as you set it back afterwards. But IIRC, changing the FOV is a costly operation in terms of video card resources.
So really, there's no reason to go messing around with the massive chunks of code in modelrender.cpp. Just do everything with the model_render function. You might want to look at object_render() and obj_render_all() to get a feel for how the function is used.
But that assumes that you're talking about planets, which apparently you're not. All of a sudden, 'lightspeed' has entered the mix. So you want to implement 3D planets, atmospheric landings, and a new warp effect all at the same time, and have someone else do the majority of the work? That's not going to work at all. Those things all need to be handled one at a time in order to be done properly.