The only way to determine the shape of a wall with Half-Life is to read the BSP data. There's no other way. It also renders the "checking connection" step obsolete since there is no obstruction between a point and another in a BSP volume. At this cost you might consider using a navmesh instead since that's exactly it *hint* *hint*
