| 2516 | F32 max_xzdist = sr + cr; |
| 2517 | |
| 2518 | return !(xzdist2 > SQR(max_xzdist)); |
| 2519 | } |
| 2520 | |
| 2521 | void xVec3AddScaled(xVec3* o, const xVec3* v, F32 s) |
| 2522 | { |
| 2523 | o->x += v->x * s; |
| 2524 | o->y += v->y * s; |
| 2525 | o->z += v->z * s; |
| 2526 | } |
| 2527 | |
| 2528 | void xVec3Cross(xVec3* o, const xVec3* a, const xVec3* b) |
| 2529 | { |
| 2530 | o->x = a->y * b->z - b->y * a->z; |
| 2531 | o->y = a->z * b->x - b->z * a->x; |
| 2532 | o->z = a->x * b->y - b->x * a->y; |
| 2533 | } |
| 2534 | |
| 2535 | F32 xVec3Length2(const xVec3* vec) |