H: high priority
L: low priority
-[H] Scrolling is broken, if you fastly reverse around the middle of the screen
- the scrolling has sudden hickups. Also the scrollstart position still isn't
- the same as before the changes.
+[H] The scrollstart position still isn't the same as before the changes.
[H] Frame ratio code has been changed and so the animation may need tuning.
Somebody do some testing and change the definitions regarding this.
[M] When aborting a level, lives and score should remain the same as they
were before. Solution: make more dependency between the game engine and worldmap
or just backup those variables before starting a level.
+[L] Backscroll is really messed up right now :)
[L] change lispreader to throw exceptions instead of simply assert() on
syntax error
[L] tux sometimes makes short jumps in the endsequence, mostly when
if(scrolling_timer.check())
{
float final_scroll_x;
- if (tux.dir == RIGHT)
+ if (tux.physic.get_velocity_x() > 0)
final_scroll_x = tux_pos_x - (screen->w - X_SPACE);
- else// if (tux.dir == LEFT)// && )
+ else if (tux.physic.get_velocity_x() < 0)
final_scroll_x = tux_pos_x - X_SPACE;
scroll_x += ((final_scroll_x - scroll_x) / (CHANGE_DIR_SCROLL_SPEED)) * frame_ratio;
else
{
- if (tux.dir == RIGHT && scroll_x < tux_pos_x - (screen->w - X_SPACE))
+ if (tux.physic.get_velocity_x() > 0 && scroll_x < tux_pos_x - (screen->w - X_SPACE))
scroll_x = tux_pos_x - (screen->w - X_SPACE);
- else if (tux.dir == LEFT && scroll_x > tux_pos_x - X_SPACE && (level->back_scrolling || debug_mode))
+ else if (tux.physic.get_velocity_x() < 0 && scroll_x > tux_pos_x - X_SPACE && (level->back_scrolling || debug_mode))
scroll_x = tux_pos_x - X_SPACE;
}