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:
parent
a0d5bea9ec
commit
059ada52d0
2 changed files with 60 additions and 60 deletions
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue