Fixed unnecessary ray tests being performed
This commit is contained in:
parent
2d6dfad2d3
commit
f967519a77
|
@ -43,6 +43,11 @@ void CCollisionNode::Draw(FRenderOptions /*Options*/, int /*ComponentIndex*/, ER
|
||||||
mpCollision->DrawWireframe();
|
mpCollision->DrawWireframe();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CCollisionNode::RayAABoxIntersectTest(CRayCollisionTester& /*rTester*/, const SViewInfo& /*rkViewInfo*/)
|
||||||
|
{
|
||||||
|
// todo
|
||||||
|
}
|
||||||
|
|
||||||
SRayIntersection CCollisionNode::RayNodeIntersectTest(const CRay& /*rkRay*/, u32 /*AssetID*/, const SViewInfo& /*rkViewInfo*/)
|
SRayIntersection CCollisionNode::RayNodeIntersectTest(const CRay& /*rkRay*/, u32 /*AssetID*/, const SViewInfo& /*rkViewInfo*/)
|
||||||
{
|
{
|
||||||
// todo
|
// todo
|
||||||
|
|
|
@ -13,6 +13,7 @@ public:
|
||||||
ENodeType NodeType();
|
ENodeType NodeType();
|
||||||
void AddToRenderer(CRenderer *pRenderer, const SViewInfo& rkViewInfo);
|
void AddToRenderer(CRenderer *pRenderer, const SViewInfo& rkViewInfo);
|
||||||
void Draw(FRenderOptions Options, int ComponentIndex, ERenderCommand Command, const SViewInfo& rkViewInfo);
|
void Draw(FRenderOptions Options, int ComponentIndex, ERenderCommand Command, const SViewInfo& rkViewInfo);
|
||||||
|
void RayAABoxIntersectTest(CRayCollisionTester& rTester, const SViewInfo& rkViewInfo);
|
||||||
SRayIntersection RayNodeIntersectTest(const CRay& rkRay, u32 AssetID, const SViewInfo& rkViewInfo);
|
SRayIntersection RayNodeIntersectTest(const CRay& rkRay, u32 AssetID, const SViewInfo& rkViewInfo);
|
||||||
void SetCollision(CCollisionMeshGroup *pCollision);
|
void SetCollision(CCollisionMeshGroup *pCollision);
|
||||||
};
|
};
|
||||||
|
|
|
@ -56,6 +56,7 @@ CScriptExtra* CScriptExtra::CreateExtra(CScriptNode *pNode)
|
||||||
case 0x53505041: // "SPPA" SplinePath (DKCR)
|
case 0x53505041: // "SPPA" SplinePath (DKCR)
|
||||||
case 0x5043544C: // "PCTL" PathControl (DKCR)
|
case 0x5043544C: // "PCTL" PathControl (DKCR)
|
||||||
case 0x434C5043: // "CLPC" ClingPathControl (DKCR)
|
case 0x434C5043: // "CLPC" ClingPathControl (DKCR)
|
||||||
|
if (pNode->Instance()->Area()->Game() == eReturns)
|
||||||
pExtra = new CSplinePathExtra(pObj, pNode->Scene(), pNode);
|
pExtra = new CSplinePathExtra(pObj, pNode->Scene(), pNode);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,7 @@ public:
|
||||||
|
|
||||||
// Default implementations for CSceneNode
|
// Default implementations for CSceneNode
|
||||||
virtual ENodeType NodeType() { return eScriptExtraNode; }
|
virtual ENodeType NodeType() { return eScriptExtraNode; }
|
||||||
|
virtual void RayAABoxIntersectTest(CRayCollisionTester& /*rTester*/, const SViewInfo& /*rkViewInfo*/) {}
|
||||||
virtual SRayIntersection RayNodeIntersectTest(const CRay& /*rkRay*/, u32 /*AssetID*/, const SViewInfo& /*rkViewInfo*/)
|
virtual SRayIntersection RayNodeIntersectTest(const CRay& /*rkRay*/, u32 /*AssetID*/, const SViewInfo& /*rkViewInfo*/)
|
||||||
{
|
{
|
||||||
SRayIntersection out;
|
SRayIntersection out;
|
||||||
|
|
Loading…
Reference in New Issue