in POFs there is no smoothing data at all, it's totally decomposed into surface normals.
in order for Kaz to find the angle he'd need to, for every polygon, find the angle between every normal on that polygon and the normals on every other polygon that shared that point, and then he'd only get a guess, a _range_ of values that _could_ have been used to generate those normals, he'd then probly have to do a **** ton of comparasons between polygons to try and find the fewest sets of angles that would fit into this range, it would probably be a good guess on very complex models, but I can almost garentee that you'd end up with totaly diferent groupings of polygons in the materials it generates.
now, we could cach the data in some extra chunck that would get ignored by FSO, or we could use a trick I've been itching to use for a while were we tack data to the end of a polygon, and just set the offset and size values of the subchuncks so this data exsists outside were FS would look, but still somewere easy to find.
but realisticly, the best option for now would probly be to check if a polygon is full-smooth, or flat, if it isn't either it's auto-faceted, and just use 32 as the angle (truespace's default) it'll probly be good enough most of the time.
oh, hey, kaz while you are tinkering with that code, there was something I wanted to try for a while, could you make it so that if the reflectance shader in the material used on a poly was 'translucency' then it would flip the lighting normals of that polygon? I think that could be used for some very neat efects.