Files
omath/source/projectile_prediction/projectile.cpp
2025-03-21 04:30:17 +03:00

22 lines
854 B
C++

//
// Created by Vlad on 6/9/2024.
//
#include "omath/projectile_prediction/Projectile.hpp"
#include <omath/engines/source_engine/Formulas.hpp>
namespace omath::projectile_prediction
{
Vector3<float> Projectile::PredictPosition(const float pitch, const float yaw, const float time, const float gravity) const
{
auto currentPos = m_origin + source_engine::ForwardVector({source_engine::PitchAngle::FromDegrees(-pitch),
source_engine::YawAngle::FromDegrees(yaw),
source_engine::RollAngle::FromDegrees(0)}) *
m_launchSpeed * time;
currentPos.z -= (gravity * m_gravityScale) * (time * time) * 0.5f;
return currentPos;
}
} // namespace omath::prediction