Friction, velocity, rendering

This commit is contained in:
2025-10-09 09:44:17 -05:00
parent c31bcf7f6a
commit 7622f81309
7 changed files with 93 additions and 75 deletions

View File

@@ -56,12 +56,21 @@ void entityUpdate(entity_t *entity) {
worldChunkPosAdd(&entity->position[i], entity->velocity[i]);
if(entity->velocity[i] < 0) {
entity->velocity[i] += ENTITY_FRICTION;
if(entity->velocity[i] >= -ENTITY_MIN_VELOCITY) entity->velocity[i] = 0;
} else {
entity->velocity[i] -= ENTITY_FRICTION;
if(entity->velocity[i] <= ENTITY_MIN_VELOCITY) entity->velocity[i] = 0;
// Friction
worldsubtile_t v = entity->velocity[i];
if (v > 0) {
v -= ENTITY_FRICTION;
if (v < ENTITY_MIN_VELOCITY) v = 0;
} else if (v < 0) {
v += ENTITY_FRICTION;
if (v > -ENTITY_MIN_VELOCITY) v = 0;
}
if ((v > 0 && v < ENTITY_FRICTION) || (v < 0 && v > -ENTITY_FRICTION)) {
v = 0;
}
entity->velocity[i] = v;
}
}