2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 00:27:42 +00:00

Update hecl, various fixes

This commit is contained in:
2018-01-15 04:36:04 -08:00
parent 533b8775d4
commit 9255f0eeb0
6 changed files with 70 additions and 30 deletions

View File

@@ -1,4 +1,6 @@
#include "CScriptDebris.hpp"
#include "Collision/CCollisionInfoList.hpp"
#include "Particle/CElementGen.hpp"
#include "TCastTo.hpp"
namespace urde
@@ -11,8 +13,8 @@ CScriptDebris::CScriptDebris(TUniqueId uid, std::string_view name, const CEntity
: CPhysicsActor(uid, active, name, info, xf, std::move(mData),
CMaterialList(EMaterialTypes::Solid, EMaterialTypes::Debris),
mData.GetBounds(xf.getRotation()), SMoverData(f2), aParams, 0.3f, 0.1f)
{
{
}
CScriptDebris::CScriptDebris(TUniqueId uid, std::string_view name, const CEntityInfo& info, const zeus::CTransform& xf,
@@ -26,7 +28,7 @@ CScriptDebris::CScriptDebris(TUniqueId uid, std::string_view name, const CEntity
: CPhysicsActor(uid, active, name, info, xf, std::move(mData),
CMaterialList(EMaterialTypes::Solid, EMaterialTypes::Debris),
mData.GetBounds(xf.getRotation()), SMoverData(1.f), aParams, 0.3f, 0.1f)
{
{
}
void CScriptDebris::Accept(IVisitor& visitor)
@@ -34,4 +36,25 @@ void CScriptDebris::Accept(IVisitor& visitor)
visitor.Visit(this);
}
rstl::optional_object<zeus::CAABox> CScriptDebris::GetTouchBounds() const
{
return {};
}
void CScriptDebris::CollidedWith(TUniqueId, const CCollisionInfoList& colList, CStateManager&)
{
if (colList.GetCount() == 0)
return;
if (x282_24_)
{
x274_ = x270_;
SetVelocityWR(zeus::CVector3f::skZero);
}
else
{
x2c8_collisionNormal = colList.GetItem(0).GetNormalLeft();
}
}
}