The following patch (against r601) is a temporary but good workaround to "sanitize" those junk near/far values. I just pass the values as they are to the "CNew3D::CalcViewport" function, the sanitization process take place inside it. I've taken extra care to avoid any strange corner case, but as always, testing is encouraged.
This fixes the issues in Ocean Hunter described in the above links, plus many other little ones in Star Wars Trilogy, Skichamp intro, and maybe others I'm not aware of.
Good testing
