bah, j'ai trouvé une solution:
switch ((*pEnvironment)->toki.sprite.direction)
{
case DIRECTION_LEFT:
if ((*pEnvironment)->toki.startJump.x-(*pEnvironment)->toki.sprite.location.x < TILE_WIDTH)
(*pEnvironment)->toki.sprite.location.x-=(*pEnvironment)->toki.speed.cx;
else
{
// jump over
(*pEnvironment)->toki.nJumping=0;
// check if fall...
if (!Fall(pEnvironment))
Land(pEnvironment);
}
break;
case DIRECTION_RIGHT:
if ((*pEnvironment)->toki.sprite.location.x-(*pEnvironment)->toki.startJump.x < TILE_WIDTH)
(*pEnvironment)->toki.sprite.location.x+=(*pEnvironment)->toki.speed.cx;
else
{
// jump over
(*pEnvironment)->toki.nJumping=0;
// check if fall...
if (!Fall(pEnvironment))
Land(pEnvironment);
}
break;
default:
break;
}
et là, ça marche bien