MCPcopy Create free account
hub / github.com/TombEngine/TombEngine / GetStaticLosCollision

Function GetStaticLosCollision

TombEngine/Game/collision/Los.cpp:457–475  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

455 }
456
457 std::optional<StaticLosCollisionData> GetStaticLosCollision(const Vector3& origin, int roomNumber, const Vector3& dir, float dist, bool collideOnlySolid)
458 {
459 // Run through static LOS collisions.
460 auto los = GetLosCollision(origin, roomNumber, dir, dist, false, false, true);
461 for (auto& staticLos : los.Statics)
462 {
463 // Check if static is solid (if applicable).
464 if (collideOnlySolid && !(staticLos.Static->Flags & StaticMeshFlags::SM_SOLID))
465 continue;
466
467 // Check if static is collidable.
468 if (!(staticLos.Static->Flags & StaticMeshFlags::SM_COLLISION))
469 continue;
470
471 return staticLos;
472 }
473
474 return std::nullopt;
475 }
476
477 std::pair<GameVector, GameVector> GetRayFrom2DPosition(const Vector2& screenPos)
478 {

Callers 2

TestGroundMovementSetupFunction · 0.85
TestMonkeySwingSetupFunction · 0.85

Calls 1

GetLosCollisionFunction · 0.85

Tested by 2

TestGroundMovementSetupFunction · 0.68
TestMonkeySwingSetupFunction · 0.68