But I know you are really just here because I post alot of code, so drink up!
bool CColSphere::TestPlane(const CColPlane &s, float tcount)
// the distance from this spheres center point
// to the planes center point. dot product to get
// distance in planes normal direction.
float d = (s.Direction * (s.Internal - Internal));
if(d <= -Radius) // on backside on planes normal?
return false; // dont test the back
// move it for this time frame and test to see if
// we are now less than the spheres radius distance
// sphere to plane on planes normal.
Vector3 moving = (Direction * (Velocity / (1.0f / tcount)));
Vector3 test = moving+Internal;
d = (s.Direction * (s.Internal - test));
if(d >= Radius) // still 'in-front'
return false; // no hit
return true; // went from, in-front to (atleast) into plane
Next test on the list is going to be the planes with/heigh check. Should be a sinch, but dont worry, I'll screw it up.