MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / xRayHitsTikiLandableEnt

Function xRayHitsTikiLandableEnt

src/SB/Core/x/xScene.cpp:508–557  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

506}
507
508void xRayHitsTikiLandableEnt(xScene* sc, xRay3* r, xQCData* qcr, xEnt* ent, void* colldata)
509{
510 xCollis* coll = (xCollis*)colldata;
511 xCollis c;
512
513 if (ent->chkby == XENT_COLLTYPE_NONE)
514 {
515 return;
516 }
517
518 if (ent->collType == XENT_COLLTYPE_NPC)
519 {
520 return;
521 }
522
523 if (ent->baseType == eBaseTypeBoulder)
524 {
525 return;
526 }
527
528 if (qcr && !xQuickCullIsects(qcr, &ent->bound.qcd))
529 {
530 return;
531 }
532
533 xRayHitsBound(r, &ent->bound, &c);
534
535 if (!(c.flags & 0x1))
536 {
537 return;
538 }
539
540 if (ent->collLev == 0x5)
541 {
542 iRayHitsModel(r, ent->model, &c);
543
544 if (!(c.flags & 0x1))
545 {
546 return;
547 }
548 }
549
550 if (c.dist < coll->dist)
551 {
552 coll->dist = c.dist;
553 coll->oid = ent->id;
554 coll->optr = ent;
555 coll->mptr = ent->model;
556 }
557}
558
559void xRayHitsEnt(xScene* sc, xRay3* r, xQCData* qcr, xEnt* ent, void* colldata)
560{

Callers

nothing calls this directly

Calls 3

xQuickCullIsectsFunction · 0.70
xRayHitsBoundFunction · 0.70
iRayHitsModelFunction · 0.50

Tested by

no test coverage detected