1
0
Fork 0
forked from len0rd/rockbox

Make sure the time is updated before blocking in button_get()

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5477 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Linus Nielsen Feltzing 2004-12-03 07:36:11 +00:00
parent a0d5bea9ec
commit 059ada52d0
2 changed files with 60 additions and 60 deletions

View file

@ -911,6 +911,31 @@ void game_init(void)
while (1)
{
rb->lcd_clear_display();
redraw();
/*TODO: CENTER ALL TEXT!!!!*/
rb->snprintf(plevel,sizeof(plevel),"Speed - %d",level);
rb->lcd_putsxy(LCD_WIDTH/2 - 30,5, plevel);
#if CONFIG_KEYPAD == RECORDER_PAD
rb->snprintf(plevel,sizeof(plevel),"F1 - Maze %d",level_from_file);
rb->lcd_putsxy(18, 20, plevel);
if(game_type==0)
rb->lcd_putsxy(18, 30, "F3 - Game A");
else
rb->lcd_putsxy(18, 30, "F3 - Game B");
#elif CONFIG_KEYPAD == ONDIO_PAD
rb->snprintf(plevel,sizeof(plevel),"Left - Maze %d",level_from_file);
rb->lcd_putsxy(18, 20, plevel);
if(game_type==0)
rb->lcd_putsxy(12, 30, "Right - Game A");
else
rb->lcd_putsxy(12, 30, "Right - Game B");
#endif
rb->snprintf(phscore,sizeof(phscore),"Hi Score: %d",hiscore);
rb->lcd_putsxy(LCD_WIDTH/2 - 37,50, phscore);
rb->lcd_update();
button=rb->button_get(true);
switch (button)
{
@ -957,31 +982,6 @@ void game_init(void)
}
break;
}
rb->lcd_clear_display();
redraw();
/*TODO: CENTER ALL TEXT!!!!*/
rb->snprintf(plevel,sizeof(plevel),"Speed - %d",level);
rb->lcd_putsxy(LCD_WIDTH/2 - 30,5, plevel);
#if CONFIG_KEYPAD == RECORDER_PAD
rb->snprintf(plevel,sizeof(plevel),"F1 - Maze %d",level_from_file);
rb->lcd_putsxy(18, 20, plevel);
if(game_type==0)
rb->lcd_putsxy(18, 30, "F3 - Game A");
else
rb->lcd_putsxy(18, 30, "F3 - Game B");
#elif CONFIG_KEYPAD == ONDIO_PAD
rb->snprintf(plevel,sizeof(plevel),"Left - Maze %d",level_from_file);
rb->lcd_putsxy(18, 20, plevel);
if(game_type==0)
rb->lcd_putsxy(12, 30, "Right - Game A");
else
rb->lcd_putsxy(12, 30, "Right - Game B");
#endif
rb->snprintf(phscore,sizeof(phscore),"Hi Score: %d",hiscore);
rb->lcd_putsxy(LCD_WIDTH/2 - 37,50, phscore);
rb->lcd_update();
}
}

View file

@ -111,6 +111,41 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
while (!done)
{
if (counting)
{
stopwatch = prev_total + *rb->current_tick - start_at;
}
else
{
stopwatch = prev_total;
}
ticks_to_string(stopwatch,0,32,buf);
rb->lcd_puts(0, TIMER_Y, buf);
if(update_lap)
{
lap_start = curr_lap - lap_scroll;
for (lap = lap_start; lap > lap_start - LAP_LINES; lap--)
{
if (lap > 0)
{
ticks_to_string(lap_times[(lap-1)%MAX_LAPS],lap,32,buf);
rb->lcd_puts_scroll(0, LAP_Y + lap_start - lap, buf);
}
else
{
rb->lcd_puts(0, LAP_Y + lap_start - lap,
" ");
}
}
update_lap = false;
}
#ifdef HAVE_LCD_BITMAP
rb->lcd_update();
#endif
if (! counting)
{
button = rb->button_get(true);
@ -187,41 +222,6 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
return PLUGIN_USB_CONNECTED;
break;
}
if (counting)
{
stopwatch = prev_total + *rb->current_tick - start_at;
}
else
{
stopwatch = prev_total;
}
ticks_to_string(stopwatch,0,32,buf);
rb->lcd_puts(0, TIMER_Y, buf);
if(update_lap)
{
lap_start = curr_lap - lap_scroll;
for (lap = lap_start; lap > lap_start - LAP_LINES; lap--)
{
if (lap > 0)
{
ticks_to_string(lap_times[(lap-1)%MAX_LAPS],lap,32,buf);
rb->lcd_puts_scroll(0, LAP_Y + lap_start - lap, buf);
}
else
{
rb->lcd_puts(0, LAP_Y + lap_start - lap,
" ");
}
}
update_lap = false;
}
#ifdef HAVE_LCD_BITMAP
rb->lcd_update();
#endif
}
return PLUGIN_OK;
}