projectile.cpp 474 B
#include "objects/projectile.hpp"
#include "terrain.hpp"
#include "settings.hpp"
void projectile::simulateParabolic(float dt) {
if (pos[2] < evaluate_terrain_height(pos[0], pos[1])) {
pos = { 0, 0, -1 };
v = { 0,0,0 };
}else {
pos += v * dt;
v[2] -= 10 * dt;
is_active = false;
}
}
void projectile::simulateStraightLine(float dt) {
if (pos[2] > evaluate_terrain_height(pos[0], pos[1])) {
pos += v * dt;
v[2] -= 0.1 * dt;
}
else is_active = false;
}