diff --git a/Runtime/Graphics/CSimpleShadow.cpp b/Runtime/Graphics/CSimpleShadow.cpp index f96dd24d3..ceb2f37f0 100644 --- a/Runtime/Graphics/CSimpleShadow.cpp +++ b/Runtime/Graphics/CSimpleShadow.cpp @@ -67,8 +67,10 @@ void CSimpleShadow::Calculate(const zeus::CAABox& aabb, const zeus::CTransform& } if (height > 0.1f + halfHeight) { - TUniqueId cid = kInvalidUniqueId; EntityList nearList; + mgr.BuildNearList(nearList, pos, zeus::skDown, x40_maxObjHeight, CMaterialFilter::MakeInclude(CMaterialList(EMaterialTypes::Floor)), nullptr); + + TUniqueId cid = kInvalidUniqueId; CRayCastResult resD = CGameCollision::RayDynamicIntersection(mgr, cid, pos, zeus::skDown, x40_maxObjHeight, CMaterialFilter::skPassEverything, nearList); if (resD.IsValid() && resD.GetT() < height) { diff --git a/Runtime/Graphics/CSimpleShadow.hpp b/Runtime/Graphics/CSimpleShadow.hpp index 453e19db8..cfa1d72f1 100644 --- a/Runtime/Graphics/CSimpleShadow.hpp +++ b/Runtime/Graphics/CSimpleShadow.hpp @@ -29,7 +29,7 @@ public: bool Valid() const { return x48_24_collision; } zeus::CAABox GetMaxShadowBox(const zeus::CAABox& aabb) const; zeus::CAABox GetBounds() const; - void SetAlwaysCalculateRadius(bool) { x48_25_alwaysCalculateRadius = true; } + void SetAlwaysCalculateRadius(bool b) { x48_25_alwaysCalculateRadius = b; } float GetMaxObjectHeight() const { return x40_maxObjHeight; } void SetUserAlpha(float a) { x38_userAlpha = a; } const zeus::CTransform& GetTransform() const { return x0_xf; }