static void gui_demo_update_thumbs(void) { int i; for (i = 0; i < ARRAYSIZE(thumbs) && thumbs[i].shot && thumbs[i].name; i++) { gui_set_image(thumbs[i].shot, DEMO_GET(items, thumbs[i].item)->shot); gui_set_label(thumbs[i].name, DEMO_GET(items, thumbs[i].item)->name); } }
static void gui_demo_update_status(int i) { const struct demo *d; if (!total) return; d = DEMO_GET(items, i < total ? i : 0); if (!d) return; gui_set_label(name_id, d->name); gui_set_label(date_id, date_to_str(d->date)); gui_set_label(player_id, d->player); if (d->status == GAME_GOAL) gui_set_color(status_id, gui_grn, gui_grn); else gui_set_color(status_id, gui_red, gui_red); gui_set_label(status_id, status_to_str(d->status)); gui_set_count(coin_id, d->coins); gui_set_clock(time_id, d->timer); }
static int demo_action(int i) { audio_play(AUD_MENU, 1.0f); switch (i) { case GUI_BACK: return goto_state(&st_title); case GUI_NEXT: first += DEMO_STEP; return goto_state(&st_demo); break; case GUI_PREV: first -= DEMO_STEP; return goto_state(&st_demo); break; case GUI_NULL: return 1; break; default: if (progress_replay(DEMO_GET(items, i)->filename)) { last_viewed = i; demo_play_goto(0); return goto_state(&st_demo_play); } break; } return 1; }