Fix urchin sometimes not bouncing
parent
b46097f735
commit
4e51f01cea
|
@ -878,7 +878,7 @@ void tile_collision_system(Scene_t* scene)
|
||||||
if ((collide_side & (1<<2)) || (collide_side & (1<<3)))
|
if ((collide_side & (1<<2)) || (collide_side & (1<<3)))
|
||||||
{
|
{
|
||||||
Vector2 check_pos = p_ent->position;
|
Vector2 check_pos = p_ent->position;
|
||||||
check_pos.x += p_ctransform->velocity.x * scene->delta_time;
|
check_pos.x += (signbit(p_ctransform->velocity.x) ? -1: 1);
|
||||||
if (check_collision_at(p_ent, check_pos, p_bbox->size, &tilemap))
|
if (check_collision_at(p_ent, check_pos, p_bbox->size, &tilemap))
|
||||||
{
|
{
|
||||||
p_ctransform->velocity.x *= -p_ctransform->bounce_coeff;
|
p_ctransform->velocity.x *= -p_ctransform->bounce_coeff;
|
||||||
|
@ -889,7 +889,7 @@ void tile_collision_system(Scene_t* scene)
|
||||||
if ((collide_side & (1<<1)) || (collide_side & (1)))
|
if ((collide_side & (1<<1)) || (collide_side & (1)))
|
||||||
{
|
{
|
||||||
Vector2 check_pos = p_ent->position;
|
Vector2 check_pos = p_ent->position;
|
||||||
check_pos.y += p_ctransform->velocity.y * scene->delta_time;
|
check_pos.y += (signbit(p_ctransform->velocity.y) ? -1: 1);
|
||||||
if (check_collision_at(p_ent, check_pos, p_bbox->size, &tilemap))
|
if (check_collision_at(p_ent, check_pos, p_bbox->size, &tilemap))
|
||||||
{
|
{
|
||||||
p_ctransform->velocity.y *= -p_ctransform->bounce_coeff;
|
p_ctransform->velocity.y *= -p_ctransform->bounce_coeff;
|
||||||
|
|
Loading…
Reference in New Issue