And so it begins...
Checknode builds.
More work getting functions to return values as opposed to using globals. Might have screwed up. Dunno.
Bubble out return type for tracing.
Moved currentFraction from TestBrush.
Pass in TraceResult, not fraction as I was losing the collsion type.
Renamed pathFollowed to pathFraction.
Updated code after reading Q3 code.
Trying to clean up by setting default values instead of using if statement, and putting varible declarations in the context they belong to.
Got rid of else statement by using early returns instead.
Changes code order and removed prototypes. Started adding sphere and box support for tracing.
Added note about passing registers
Removed trace type if statments by always assume it's a box and sphere test (with offset or radius set to 0 if they aren't
Simplified calculations, and updated comments. Gave up using a lambda to return a lambda as it didn't work and looked ugly in code.
Since boxMin and boxMax are pointers (optional) no need to test for bounding. Removed a comment and added a TODO (return collision surface normal).
Reduced some comments and added some todos.
Got rid of the TraceBounds enum as it's no longer needed. Can deduce from passed parameters instead.
Moved the bounds into their own struct.
Moved the ray start and end into the bounds struct.
Return collision plane, Removed unneeded comments, clarified others.