{
holding_something = false;
- bbox.set_size(32, 32);
+ bbox.set_size(31.8, 31.8);
size = SMALL;
got_power = NONE_POWER;
}
#endif
+ // extend/shrink tux collision rectangle so that we fall through/walk over 1
+ // tile holes
+ if(vx > MAX_WALK_XM) {
+ bbox.set_width(33);
+ } else {
+ bbox.set_width(31.8);
+ }
+
physic.set_velocity(vx, vy);
physic.set_acceleration(ax, ay);
}
{
duck = true;
bbox.move(Vector(0, 32));
- bbox.set_height(32);
+ bbox.set_height(31.8);
}
else if(input.down == UP && size == BIG && duck)
{
// try if we can really unduck
bbox.move(Vector(0, -32));
- bbox.set_height(64);
+ bbox.set_height(63.8);
duck = false;
// FIXME
#if 0
} else {
// undo the ducking changes
bbox.move(Vector(0, 32));
- bbox.set_height(32);
+ bbox.set_height(31.8);
}
#endif
}
return;
size = BIG;
- bbox.set_height(64);
+ bbox.set_height(63.8);
bbox.move(Vector(0, -32));
if(animate)
growing_timer.start(GROWING_TIME);
safe_timer.start(TUX_SAFE_TIME + GROWING_TIME);
size = SMALL;
- bbox.set_height(32);
+ bbox.set_height(31.8);
duck = false;
}
}
{
got_power = NONE_POWER;
size = SMALL;
- bbox.set_height(32);
+ bbox.set_height(31.8);
}
void