http://triptohell.info/moodles/junk/tyr_smoothnstuff.zip
adds a _smooth key to your func_detail entities that smooths the normals across surfaces.
you might want to use -anglescale 1 or the equivelent field in order to prevent quake's harsh boundaries between lit and unlit areas.
the qbsp flags the various surfaces. it doesn't currently support smoothing groups, but it would be the qbsp that would need to generate dupe verts for surfaces with different groups (this ensures that engines with specular effects can work correctly).
also adds a few other things that I've been messing around with. check the readme (be warned that much of the extra stuff only works with fte, but not always to the detriment of other engines - _lmscale has a well-defined fallback).
there's probably other issues with it - I'm not the intended audience so I'm kinda lazy where it comes to testing.
per-surface flags would be really nice right now... but yeah, map editors.