mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-13 23:26:22 +00:00
Lots of CParasite implementations
This commit is contained in:
@@ -3,9 +3,111 @@
|
||||
namespace urde
|
||||
{
|
||||
|
||||
zeus::CVector3f CSteeringBehaviors::Flee(const CPhysicsActor& actor,
|
||||
const zeus::CVector3f& v0) const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
zeus::CVector3f CSteeringBehaviors::Seek(const CPhysicsActor& actor,
|
||||
const zeus::CVector3f& v0) const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
zeus::CVector3f CSteeringBehaviors::Arrival(const CPhysicsActor& actor,
|
||||
const zeus::CVector3f& v0, float f1) const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
zeus::CVector3f CSteeringBehaviors::Pursuit(const CPhysicsActor& actor,
|
||||
const zeus::CVector3f& v0, const zeus::CVector3f& v1) const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
zeus::CVector3f CSteeringBehaviors::Separation(const CPhysicsActor& actor,
|
||||
const zeus::CVector3f& v0, float f1) const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
zeus::CVector3f CSteeringBehaviors::Alignment(const CPhysicsActor& actor,
|
||||
rstl::reserved_vector<TUniqueId, 1024>& list, const CStateManager& mgr) const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
zeus::CVector3f CSteeringBehaviors::Cohesion(const CPhysicsActor& actor,
|
||||
rstl::reserved_vector<TUniqueId, 1024>& list, float f1, const CStateManager& mgr) const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
zeus::CVector3f CSteeringBehaviors::Flee2D(const CPhysicsActor& actor,
|
||||
const zeus::CVector2f& v0) const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
zeus::CVector3f CSteeringBehaviors::Arrival2D(const CPhysicsActor& actor,
|
||||
const zeus::CVector2f& v0, float f1) const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
bool CSteeringBehaviors::SolveQuadratic(float f30, float f31, float f3, float f4, float& out1, float& out2)
|
||||
{
|
||||
float f1 = f31 * f31 - 4.f * f30 * f3;
|
||||
if (f1 > FLT_EPSILON && std::fabs(f1) < FLT_EPSILON)
|
||||
return false;
|
||||
|
||||
out1 = -f31 + std::sqrt(f1) / 2.f * f30;
|
||||
out2 = -f31 - std::sqrt(f1) / 2.f * f30;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CSteeringBehaviors::SolveCubic(
|
||||
const rstl::reserved_vector<float, 4>& in, rstl::reserved_vector<float, 4>& out)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CSteeringBehaviors::SolveQuartic(
|
||||
const rstl::reserved_vector<float, 5>& in, rstl::reserved_vector<float, 4>& out)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
zeus::CVector3f CSteeringBehaviors::ProjectLinearIntersection(const zeus::CVector3f& v0, float f1,
|
||||
const zeus::CVector3f& v1, const zeus::CVector3f& v2, zeus::CVector3f& v3)
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
zeus::CVector3f CSteeringBehaviors::ProjectLinearIntersection(const zeus::CVector3f& v0, float f1,
|
||||
const zeus::CVector3f& v1, const zeus::CVector3f& v2, const zeus::CVector3f& v3, zeus::CVector3f& v4)
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
zeus::CVector3f CSteeringBehaviors::ProjectOrbitalIntersection(const zeus::CVector3f& v0, float f1,
|
||||
const zeus::CVector3f& v1, const zeus::CVector3f& v2, const zeus::CVector3f& v3, zeus::CVector3f& v4)
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
zeus::CVector3f CSteeringBehaviors::ProjectOrbitalIntersection(const zeus::CVector3f& v0, float f1,
|
||||
const zeus::CVector3f& v1, const zeus::CVector3f& v2, const zeus::CVector3f& v3,
|
||||
const zeus::CVector3f& v4, zeus::CVector3f& v5)
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
zeus::CVector3f
|
||||
CSteeringBehaviors::ProjectOrbitalPosition(const zeus::CVector3f& pos, const zeus::CVector3f& vel,
|
||||
const zeus::CVector3f& orbitPoint, float dt, float preThinkDt)
|
||||
const zeus::CVector3f& orbitPoint, float dt, float preThinkDt)
|
||||
{
|
||||
zeus::CVector3f usePos = pos;
|
||||
if (vel.canBeNormalized())
|
||||
@@ -35,15 +137,4 @@ CSteeringBehaviors::ProjectOrbitalPosition(const zeus::CVector3f& pos, const zeu
|
||||
return usePos;
|
||||
}
|
||||
|
||||
bool CSteeringBehaviors::SolveQuadratic(float f30, float f31, float f3, float f4, float& out1, float& out2)
|
||||
{
|
||||
float f1 = f31 * f31 - 4.f * f30 * f3;
|
||||
if (f1 > FLT_EPSILON && std::fabs(f1) < FLT_EPSILON)
|
||||
return false;
|
||||
|
||||
out1 = -f31 + std::sqrt(f1) / 2.f * f30;
|
||||
out2 = -f31 - std::sqrt(f1) / 2.f * f30;
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user