Tweak wave times, fix Unit modification

This commit is contained in:
2024-02-13 15:55:14 +01:00
parent d8c7bb7074
commit 40712e13a9
4 changed files with 52 additions and 45 deletions

View File

@@ -122,20 +122,20 @@ void entityUpdateKinematic(ecs_iter_t *it) {
steering[i] = Vector2Normalize(steering[i]);
// velocity += steering * dt
Vector2 accel = Vector2Scale(steering[i], dt);
accel = Vector2Scale(accel, unit->acceleration);
accel = Vector2Scale(accel, unit[i].acceleration);
velocity[i] = Vector2Add(velocity[i], accel);
// Apply deceleration
if (Vector2LengthSqr(steering[i]) == 0) {
// velocity *= (1.0 - decel)
velocity[i] = Vector2Scale(velocity[i], 1.0 - unit->deceleration);
velocity[i] = Vector2Scale(velocity[i], 1.0 - unit[i].deceleration);
}
// Reset steering
steering[i] = Vector2Zero();
// Check for speeding and clip
const f32 maxSpeed = unit->maxSpeed;
const f32 maxSpeed = unit[i].maxSpeed;
if (Vector2Length(velocity[i]) > maxSpeed) {
velocity[i] = Vector2Normalize(velocity[i]);
velocity[i] = Vector2Scale(velocity[i], maxSpeed);