void plunge_ball_deff (void) { dmd_alloc_pair (); dmd_clean_page_low (); sprintf ("PLAYER %d", player_up); font_render_string_center (&font_fixed6, 64, 9, sprintf_buffer); dmd_draw_border (dmd_low_buffer); dmd_copy_low_to_high (); #ifdef MACHINE_LAUNCH_SWITCH font_render_string_center (&font_fixed6, 64, 22, "PRESS LAUNCH"); #else font_render_string_center (&font_fixed6, 64, 22, "PLUNGE THE BALL"); #endif deff_swap_low_high (13, TIME_300MS); deff_exit (); }
/** Display effect that runs during the extra ball buyin */ void buyin_offer_deff (void) { U8 prev_timer; extern U8 buyin_offer_timer; #if (MACHINE_DMD == 1) dmd_sched_transition (&trans_bitfade_slow); #else seg_sched_transition (&seg_trans_fast_center_out); #endif while (buyin_offer_timer > 0) { prev_timer = buyin_offer_timer; dmd_alloc_low_clean (); dmd_draw_border (dmd_low_buffer); font_render_string_center (&font_term6, 64, 5, "CONTINUE GAME"); #if (MACHINE_DMD == 1) sprintf ("%d", buyin_offer_timer); font_render_string_left (&font_mono5, 4, 3, sprintf_buffer); font_render_string_right (&font_mono5, 123, 3, sprintf_buffer); if (buyin_offer_timer % 2) { font_render_string_center (&font_bitmap8, 64, 16, "INSERT COINS"); font_render_string_center (&font_bitmap8, 64, 26, "FOR EXTRA BALL"); } else { font_render_string_center (&font_bitmap8, 64, 16, "THEN PRESS"); font_render_string_center (&font_bitmap8, 64, 26, "BUY EXTRA BALL"); } #else sprintf ("%d SECS", buyin_offer_timer); seg_write_row_center (1, sprintf_buffer); #endif dmd_show_low (); while (prev_timer == buyin_offer_timer) task_sleep (TIME_133MS); } task_sleep (TIME_1500MS); deff_exit (); }
void status_report_deff (void) { status_page_init (); font_render_string_center (&font_fixed6, 64, 16, "STATUS REPORT"); status_page_complete (); status_page_init (); sprintf ("BALL %d", ball_up); font_render_string_center (&font_mono5, 64, 11, sprintf_buffer); credits_render (); font_render_string_center (&font_mono5, 64, 21, sprintf_buffer); status_page_complete (); status_page_init (); replay_draw (); status_page_complete (); #ifdef CONFIG_RTC rtc_show_date_time (); dmd_draw_border (dmd_low_buffer); status_page_complete (); #endif #ifdef DEBUGGER status_page_init (); sprintf ("CNT %1d MIS %1d", counted_balls, missing_balls); font_render_string_center (&font_mono5, 64, 11, sprintf_buffer); sprintf ("LIVE %1d KLOCKS %1d", live_balls, kickout_locks); font_render_string_center (&font_mono5, 64, 22, sprintf_buffer); status_page_complete (); #endif /* Allow other modules to report status as well. * The order is unspecified. */ callset_invoke (status_report); deff_exit (); }
void status_page_init (void) { dmd_alloc_low_clean (); dmd_draw_border (dmd_low_buffer); }