/** * See if a factory reset is needed. The 'init_ok' event is * thrown and any catchers can return FALSE if a factory reset * should occur. The accept button must be pressed afterwards * to confirm. */ void factory_reset_if_required (void) { if (!callset_invoke_boolean (init_ok)) { deff_stop (DEFF_SYSTEM_RESET); #ifdef CONFIG_DMD_OR_ALPHA dmd_alloc_low_clean (); font_render_string_center (&font_mono5, 64, 10, "FACTORY SETTINGS"); font_render_string_center (&font_mono5, 64, 20, "RESTORED"); dmd_show_low (); #endif factory_reset (); task_sleep_sec (4); warm_reboot (); } }
void tsm_mode_deff (void) { for (;;) { dmd_alloc_low_clean (); font_render_string_center (&font_var5, 64, 5, "TOWN SQUARE MADNESS"); sprintf_current_score (); font_render_string_center (&font_fixed6, 64, 16, sprintf_buffer); font_render_string_center (&font_var5, 64, 27, "JETS AT 500K"); sprintf ("%d", tsm_mode_timer); font_render_string (&font_var5, 2, 2, sprintf_buffer); font_render_string_right (&font_var5, 126, 2, sprintf_buffer); dmd_show_low (); task_sleep (TIME_200MS); } }
static void diag_message_flash (void) { U8 n; dmd_clean_page_high (); for (n = 0; n < 5; n++) { task_sleep (TIME_200MS); dmd_show_high (); task_sleep (TIME_100MS); dmd_show_low (); sound_send (SND_TEST_ALERT); } task_sleep_sec (1); barrier (); }
void sslot_mode_deff (void) { for (;;) { dmd_alloc_low_clean (); font_render_string_center (&font_var5, 64, 5, "SHOOT SLOT MACHINE"); sprintf_current_score (); font_render_string_center (&font_fixed6, 64, 16, sprintf_buffer); font_render_string_center (&font_var5, 64, 27, sslot_award_names[sslot_award_index]); sprintf ("%d", sslot_mode_timer); font_render_string (&font_var5, 2, 2, sprintf_buffer); font_render_string_right (&font_var5, 126, 2, sprintf_buffer); dmd_show_low (); task_sleep (TIME_200MS); } }
void skill_menu_draw(void) { dbprintf ("skill_menu: drawing menu, selection:%d\n", skill_menu_selection); dmd_alloc_low_clean (); // every 5 seconds toggle left hand side of the menu screen between instructions for the menu and instructions for the shot skill_menu_draw_count++; // 2 = alternate between 2 things if (skill_menu_draw_count % (SKILL_SHOW_SHOT_INFO * 2) > SKILL_SHOW_SHOT_INFO) { current_skill_menu_text = &skill_menu_text[skill_menu_selection + 1]; } else { current_skill_menu_text = skill_menu_text[0]; } //dmd_draw_border (dmd_low_buffer); // 5 = y offset, 5 = height, 2 = space between lines font_render_string_center (&font_var5, 32, 6, current_skill_menu_text[0]); font_render_string_center (&font_var5, 32, 6 + 5 + 2, current_skill_menu_text[1]); font_render_string_center (&font_var5, 32, 6 + 5 + 5 + 2 + 2, current_skill_menu_text[2]); // 5 = y offset, 5 = height, 4 = space between lines // bigger gap between lines, so we can draw box around them // TODO draw boxes round each item font_render_string_center (&font_var5, 96, 5, "ROLLOVER"); font_render_string_center (&font_var5, 96, 13, "SKIDPAD"); font_render_string_center (&font_var5, 96, 4 + 5 + 5 + 4 + 3, "DRAGRACE"); font_render_string_center (&font_var5, 64, 29, "USE FLIPPERS TO SELECT"); // TODO flash box around selected item switch (skill_menu_selection) { case SKILL_ROLLOVER: font_render_string_center (&font_var5, 70, 5, ">"); font_render_string_center (&font_var5, 122, 5, "<"); break; case SKILL_SKIDPAD: font_render_string_center (&font_var5, 70, 13, ">"); font_render_string_center (&font_var5, 122, 13, "<"); break; case SKILL_QUICK_MB: font_render_string_center (&font_var5, 70, 3 + 6 + 6 + 4 + 2, ">"); font_render_string_center (&font_var5, 122, 3 + 6 + 6 + 4 + 2, "<"); break; } dmd_show_low (); }
void car_chase_effect_deff(void) { U8 i = 0; for (;;) { if (++i % 5 == 0) { sound_start (ST_SAMPLE, CAR_SKID, SL_2S, PRI_GAME_QUICK5); dmd_sched_transition (&trans_scroll_left_fast); } dmd_alloc_low_clean (); font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Top, "CAR_CHASE"); sprintf ("%d SEC LEFT, %d HIT", car_chase_mode_timer, car_chase_mode_shots_made); font_render_string_center (&font_var5, DMD_MIDDLE_X, DMD_SMALL_CY_3, sprintf_buffer); sprintf_score (car_chase_mode_score); font_render_string_center (&font_term6, DMD_MIDDLE_X, DMD_MED_CY_3, sprintf_buffer); dmd_show_low (); task_sleep (TIME_500MS); }//END OF ENDLESS LOOP }//end of mode_effect_deff
void pb_test_draw (void) { dmd_alloc_low_clean (); font_render_string_center (&font_mono5, 64, 0, "POWERBALL TEST"); if (pb_location == PB_MISSING) sprintf ("LOST"); else if (pb_location & PB_IN_LOCK) sprintf ("LOCK"); else if (pb_location & PB_IN_TROUGH) sprintf ("TROUGH"); else if (pb_location & PB_IN_GUMBALL) sprintf ("GUMBALL"); else if (pb_location & PB_IN_PLAY) sprintf ("P.F."); else if (pb_location & PB_MAYBE_IN_PLAY) sprintf ("NOT SURE"); else sprintf ("ERROR"); font_render_string_left (&font_mono5, 0, 6, sprintf_buffer); if (pb_location & (PB_IN_LOCK | PB_IN_TROUGH)) { sprintf ("POS. %d", pb_depth); font_render_string_right (&font_mono5, 127, 6, sprintf_buffer); } sprintf ("TROUGH SW. %s", switch_poll_logical (SW_TROUGH_PROXIMITY) ? "CLOSED" : "OPEN"); font_render_string_left (&font_mono5, 0, 12, sprintf_buffer); sprintf ("SLOT SW. %s", switch_poll_logical (SW_SLOT_PROXIMITY) ? "CLOSED" : "OPEN"); font_render_string_left (&font_mono5, 0, 18, sprintf_buffer); switch (pb_test_command) { case KICK_TROUGH: sprintf ("REL. TROUGH"); break; case KICK_LOCK: sprintf ("REL. LOCK"); break; case RELEASE_GUMBALL: sprintf ("REL. GUMBALL"); break; case LOAD_GUMBALL: sprintf ("LOAD GUMBALL"); break; } font_render_string_left (&font_mono5, 0, 24, sprintf_buffer); dmd_show_low (); }
void car_chase_start_effect_deff(void) { sound_start (ST_SAMPLE, CAR_SKID, SL_2S, PRI_GAME_QUICK5); car_chase_animation_display_effect (IMG_CARCHASE_A_START, IMG_CARCHASE_A_END); car_chase_animation_display_effect (IMG_CARCHASE_B_START, IMG_CARCHASE_B_END); car_chase_animation_display_effect (IMG_CARCHASE_C_START, IMG_CARCHASE_C_END); car_chase_animation_display_effect (IMG_CARCHASE_D_START, IMG_CARCHASE_D_END); dmd_sched_transition (&trans_scroll_left_fast); dmd_alloc_low_clean (); sound_start (ST_SAMPLE, CAR_SKID, SL_2S, PRI_GAME_QUICK5); font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Cent, "SHOOT RAMPS"); dmd_show_low (); task_sleep_sec (1); deff_exit (); }//end of mode_effect_deff
void shoot_hitch_deff (void) { dmd_alloc_low_clean (); dmd_sched_transition (&trans_scroll_left); if (hurryup_active ()) { font_render_string_center (&font_fireball, 64, 8, "SHOOT"); font_render_string_center (&font_quadrit, 64, 22, "POWER PAYOFF"); } else { font_render_string_center (&font_quadrit, 64, 6, "SHOOT HITCHHIKER"); font_render_string_center (&font_quadrit, 64, 22, "TO UNLOCK POWER"); } dmd_show_low (); task_sleep_sec (1); deff_exit (); }
void dragrace_draw( void ) { dmd_alloc_low_clean (); font_render_string_center (&font_supercar9, 64, 10, "DRAGRACE"); // TODO replace these counters with pretty dragrace progress animation/graphics. /* sprintf("%d", dragrace_counter); font_render_string_center (&font_supercar9, 64, 20, sprintf_buffer); */ sprintf("%s %d", car_names[player_car], player_car_position); font_render_string_center (&font_var5, 64, 20, sprintf_buffer); sprintf("%s %d", car_names[computer_car], computer_car_position); font_render_string_center (&font_var5, 64, 29, sprintf_buffer); dmd_show_low (); }
void amode_score_page (void) { dmd_alloc_low_clean (); scores_draw (); dmd_show_low (); /* Hold the scores up for a while longer than usual * in tournament mode or when triggered by a right button hold */ if (system_config.tournament_mode == YES || amode_show_scores_long) { /* Don't allow the player to skip past the scores for 10 seconds */ timer_restart_free (GID_AMODE_BUTTON_DEBOUNCE, TIME_10S); amode_show_scores_long = FALSE; amode_page_end (120); } else amode_page_end (5); }
/** The display effect for a non-fatal error */ void nonfatal_error_deff (void) { #ifdef DEBUGGER dmd_alloc_low_clean (); sprintf ("NONFATAL %ld", system_audits.non_fatal_errors); font_render_string_center (&font_mono5, 64, 10, sprintf_buffer); sprintf ("ERRNO %i GID %i", last_nonfatal_error_code, last_nonfatal_error_gid); font_render_string_center (&font_mono5, 64, 20, sprintf_buffer); dmd_show_low (); sound_send (SND_TEST_ALERT); task_sleep (TIME_200MS); sound_send (SND_TEST_ALERT); task_sleep (TIME_200MS); sound_send (SND_TEST_ALERT); task_sleep_sec (4); #endif deff_exit (); }
void rollover_completed_deff (void) { dmd_alloc_low_clean (); if (rollover_count % 4 == 0) { font_render_string_center (&font_cowboy, 64, 8, "CAMERA"); font_render_string_center (&font_cowboy, 64, 18, "LIT"); sound_send (SND_CAMERA_PICTURE_EJECT_2); } else { font_render_string_center (&font_quadrit, 64, 8, "ROLLOVER"); font_render_string_center (&font_quadrit, 64, 18, "COMPLETED"); sound_send (SND_GLASS_BREAKS); } dmd_show_low (); task_sleep_sec (1); deff_exit (); }
void dragrace_winner_anim(void) { dragracedbprintf ("dragrace_winner_anim: start\n"); //ball_search_timer_reset(); // TODO sound // TODO animation/graphics lamp_tristate_on(LM_LEFT_TREE_GREEN); lamp_tristate_off(LM_RIGHT_TREE_GREEN); lamp_tristate_off(LM_LEFT_TREE_RED); lamp_tristate_on(LM_RIGHT_TREE_RED); dmd_alloc_low_clean (); font_render_string_center (&font_supercar9, 64, 16, "WINNER"); dmd_show_low (); task_sleep_sec(3); dragracedbprintf ("dragrace_winner_anim: exit\n"); }
void pitstop_award_draw(void) { dmd_alloc_low_clean (); // draw list of non-elimited awards for (pitstop_award_index = 0; pitstop_award_index < PITSTOP_AWARD_ITEMS; pitstop_award_index++) { pitstop_award = selected_pitstop_awards[pitstop_award_index]; if (pitstop_award != DISABLED_AWARD) { #ifdef DEBUG_PITSTOP_AWARD dbprintf("drawing award: %d, %d, %s\n", pitstop_award_index, pitstop_award, pitstop_award_options_titles[pitstop_award]); #endif font_render_string_center (&font_var5, 64, 5 + (6 * pitstop_award_index), pitstop_award_options_titles[pitstop_award]); } #ifdef DEBUG_PITSTOP_AWARD else { dbprintf("skipping award: %d, %d, %s\n", pitstop_award_index, pitstop_award, pitstop_award_options_titles[pitstop_award]); } #endif } dmd_show_low(); }
void sssmb_running_deff (void) { for (;;) { score_update_start (); dmd_alloc_pair (); dmd_clean_page_low (); font_render_string_center (&font_term6, 64, 4, "SKILL MULTIBALL"); sprintf_current_score (); font_render_string_center (&font_fixed6, 64, 16, sprintf_buffer); dmd_copy_low_to_high (); if (timer_find_gid (GID_SSSMB_DIVERT_DEBOUNCE)) { sprintf ("SKILL SHOT SCORES JACKPOT"); } else if (sssmb_ramps_to_divert == 0) { sprintf ("SHOOT LEFT RAMP NOW"); } else if (sssmb_ramps_to_divert == 1) { sprintf ("1 RAMP FOR SKILL SHOT"); } else { sprintf ("%d RAMPS FOR SKILL SHOT", sssmb_ramps_to_divert); } font_render_string_center (&font_var5, 64, 26, sprintf_buffer); dmd_show_low (); while (!score_update_required ()) { task_sleep (TIME_66MS); dmd_show_other (); } } }
/** 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 tz_clock_test_draw (void) { extern __machine__ U8 tz_clock_gettime (void); U8 intervals; U8 hour; U8 minute; dmd_alloc_low_clean (); font_render_string_center (&font_var5, 64, 2, "CLOCK MECH. TEST"); switch (clock_test_setting) { case -3: sprintf ("REV. FAST"); break; case -2: sprintf ("REV. MID"); break; case -1: sprintf ("REV. SLOW"); break; case 0: sprintf ("NO SPEED"); break; case 1: sprintf ("FWD. SLOW"); break; case 2: sprintf ("FWD. MID"); break; case 3: sprintf ("FWD. FAST"); break; } font_render_string_center (&font_var5, 32, 11, sprintf_buffer); font_render_string_center (&font_var5, 96, 11, clock_can_run ? "RUNNING" : "STOPPED"); intervals = tz_clock_gettime (); hour = intervals / 4; minute = (intervals % 4 * 15); //sprintf ("%02d:%02d", hour, minute); sprintf ("MIN: %02X", clock_minute_sw); font_render_string_center (&font_var5, 32, 18, sprintf_buffer); sprintf ("HOUR: %d", clock_hour); font_render_string_center (&font_var5, 32, 24, sprintf_buffer); sprintf ("SW.: %02X", clock_sw); font_render_string_center (&font_var5, 96, 18, sprintf_buffer); sprintf ("ACTIVE: %02X", (clock_sw_seen_active & clock_sw_seen_inactive)); font_render_string_center (&font_var5, 96, 24, sprintf_buffer); dmd_show_low (); }
void print_header (void) { if (print_header_needed == FALSE) return; print_header_needed = FALSE; printer_pageno++; /** * Just before printing the page header, see if the PAUSE EVERY PAGE * setting is on. If so, the user must press Enter before the page * is written. This would be for printers that need paper manually fed * into them. */ if (printer_config.pause_every_page == YES) { dmd_alloc_low_clean (); font_render_string_center (&font_mono5, 64, 11, "PRESS ENTER"); font_render_string_center (&font_mono5, 64, 21, "FOR NEXT PAGE"); dmd_show_low (); while (!switch_poll (SW_ENTER)) task_sleep (TIME_66MS); while (switch_poll (SW_ENTER)) task_sleep (TIME_66MS); } /* Print the actual page header. * Note that we do not use sprintf() here, as that has been * seen to cause stack overflows. We opt for a much simpler * approach whereby the tilde character is substituted with * the real page number. This limits reports to 9 pages. * The proper solution would be to use fork a separate * task to work around the stack size limitation. */ print_string (printout_name); print_line_right ("PAGE ~"); print_nl (); }
void player_tournament_ready_deff (void) { U8 timer; dmd_alloc_low_clean (); #if (MACHINE_DMD == 1) font_render_string_center (&font_fixed6, 64, 5, "TOURNAMENT"); font_render_string_center (&font_fixed6, 64, 16, "MODE ENABLED"); #else font_render_string_center (&font_var5, 64, 5, "TOURNAMENT MODE"); #endif font_render_string_center (&font_var5, 64, 28, "PRESS START NOW"); dmd_show_low (); timer = 7; do { task_sleep_sec (1); } while (--timer != 0); tournament_mode_enabled = OFF; deff_exit (); }
void tom_trunk_test_draw (void) { dmd_alloc_low_clean (); font_render_string_center (&font_mono5, 64, 2, "TRUNK MOTOR TEST"); switch (tom_trunk_test_mode) { case -2: sprintf ("REV. FAST"); break; case -1: sprintf ("REV. SLOW"); break; case 0: sprintf ("NO SPEED"); break; case 1: sprintf ("FWD. SLOW"); break; case 2: sprintf ("FWD. FAST"); break; } font_render_string_center (&font_mono5, 32, 11, sprintf_buffer); font_render_string_center (&font_mono5, 96, 11, tom_trunk_motor_on ? "RUNNING" : "STOPPED"); sprintf ("POS %1d", trunk_curr_pos); font_render_string_center (&font_mono5, 96, 18, sprintf_buffer); dmd_show_low (); }
void fortress_effect_deff (void) { for (;;) { dmd_clean_page_low (); //right side status display ll_score_draw_ball (); //left side display sprintf_score(current_score); font_render_string_center (&font_var5, 50, 13, sprintf_buffer); font_render_string_right (&font_halobold12, 100, 1, "FORTRESS"); if (fortress_ballsave) { sprintf ("%d BALL SAVE", fortress_ballsave); font_render_string_center (&font_var5, 50, DMD_MED_CY_BOTTOM_LINE + 3, sprintf_buffer); } else if (fortress_display_counter % 4 != 0) { //draw for 9/10 and blank for 1/10 if (FORT_TOGGLE == 0) { sprintf ("10 MILLION"); font_render_string_right (&font_fixed6, 85, 21, sprintf_buffer); } else if (FORT_TOGGLE == 1) { sprintf ("JACKPOT LIT"); font_render_string_right (&font_fixed6, 92, 21, sprintf_buffer); } else if (FORT_TOGGLE == 2) { sprintf ("%d JACKPOTS MADE", fortress_jackpot_shots_made); font_render_string_right (&font_var5, 85, 19, sprintf_buffer); if (get_is_super_jackpot_lit()) sprintf ("SUPER JACKPOT LIT"); else sprintf ("SHOOT %d ENABLE SUPER", 5 - (fortress_jackpot_shots_made % 5) ); font_render_string_right (&font_var5, 95, 26, sprintf_buffer); } } else sprintf (""); dmd_show_low(); task_sleep (TIME_1S); if (++fortress_display_counter >= 30) fortress_display_counter = 0; if (fortress_display_counter % 20 == 0) { if (++FORT_TOGGLE > 2) FORT_TOGGLE = 0; //change FORT_TOGGLE once per if (DM_IN_DMD_TEST) score (FORTRESS_MB_SCORE); } }//END OF ENDLESS LOOP }//end of function
void huxley_effect_deff(void) { for (;;) { dmd_clean_page_low (); //right side status display ll_score_draw_ball (); //left side display sprintf_score(current_score); font_render_string_right (&font_var5, 98, 26, sprintf_buffer); font_render_string_center (&font_halobold12, 50, 5, "HUXLEY"); if (ballsave_test_active()) { sprintf ("%d BALL SAVE", ballsave_get_timer()); font_render_string_right (&font_var5, 88, 27, sprintf_buffer); } else font_render_string_right (&font_term6, 98, 14, "1 MILLION"); sprintf ("%d", huxley_mode_timer); font_render_string_left (&font_halobold12, 1, 14, sprintf_buffer); dmd_show_low(); task_sleep (TIME_1S); }//END OF ENDLESS LOOP deff_exit (); }//end of mode_effect_deff
void bpt_display (void) { #if (MACHINE_DMD == 1) dmd_alloc_low_clean (); sprintf ("%p", bpt_mem_addr); font_render_string_left (&font_bitmap8, 0, 0, sprintf_buffer); sprintf ("%02X %02X %02X %02X", bpt_mem_addr[0], bpt_mem_addr[1], bpt_mem_addr[2], bpt_mem_addr[3]); font_render_string_left (&font_bitmap8, 40, 0, sprintf_buffer); if (new_fatal_error) { sprintf ("ERR %d GID %d", (U8)system_audits.lockup1_addr, (U8)system_audits.lockup1_pid_lef); font_render_string_left (&font_bitmap8, 0, 8, sprintf_buffer); } else if (task_getpid ()) { sprintf ("PID %p GID %d", task_getpid (), task_getgid ()); font_render_string_left (&font_bitmap8, 0, 8, sprintf_buffer); sprintf ("%02X%02X %02X", bpt_addr[0], bpt_addr[1]-2, bpt_addr[2]); font_render_string_left (&font_bitmap8, 0, 16, sprintf_buffer); } else { font_render_string_left (&font_bitmap8, 0, 8, "BREAK"); } sprintf ("C%04lX", prev_log_callset); font_render_string_left (&font_bitmap8, 0, 24, sprintf_buffer); dmd_show_low (); #endif }
void huxley_start_effect_deff(void) { dmd_alloc_pair_clean (); sound_start (ST_SAMPLE, EXPLOSION, SL_2S, PRI_GAME_QUICK5); font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Top, "LENINA"); font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "HUXLEY"); dmd_show_low(); task_sleep (TIME_500MS); sound_start (ST_SPEECH, SPCH_SOME_ACTION, SL_4S, PRI_GAME_QUICK5); dmd_sched_transition (&trans_scroll_down); dmd_alloc_pair_clean (); huxley_animation_display_effect (IMG_HUXLEY_A_START, IMG_HUXLEY_A_END); sound_start (ST_SAMPLE, EXPLOSION, SL_2S, PRI_GAME_QUICK5); dmd_sched_transition (&trans_scroll_down); dmd_alloc_pair_clean (); font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Top, "STANDUPS"); font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "1 MILLION"); dmd_show_low(); task_sleep (TIME_300MS); sound_start (ST_SPEECH, SPCH_WEEAHOO, SL_4S, PRI_GAME_QUICK5); dmd_sched_transition (&trans_scroll_down); dmd_alloc_pair_clean (); huxley_animation_display_effect (IMG_HUXLEY_B1_START, IMG_HUXLEY_B1_END); sound_start (ST_SAMPLE, EXPLOSION, SL_2S, PRI_GAME_QUICK5); dmd_sched_transition (&trans_scroll_down); dmd_alloc_pair_clean (); font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Top, "REBOUNDS"); font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "1 MILLION"); dmd_show_low(); task_sleep (TIME_300MS); sound_start (ST_SPEECH, SPCH_EXCUSE_ME, SL_4S, PRI_GAME_QUICK5); dmd_sched_transition (&trans_scroll_down); dmd_alloc_pair_clean (); huxley_animation_display_effect (IMG_HUXLEY_B2_START, IMG_HUXLEY_B2_END); sound_start (ST_SAMPLE, EXPLOSION, SL_2S, PRI_GAME_QUICK5); dmd_sched_transition (&trans_scroll_down); dmd_alloc_pair_clean (); font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Top, "ORBITS"); font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "1 MILLION"); dmd_show_low(); task_sleep (TIME_300MS); sound_start (ST_SPEECH, SPCH_WHAT_ARE_YOU_DOING, SL_4S, PRI_GAME_QUICK5); dmd_sched_transition (&trans_scroll_down); dmd_alloc_pair_clean (); huxley_animation_display_effect (IMG_HUXLEY_D_START, IMG_HUXLEY_D_END); sound_start (ST_SAMPLE, EXPLOSION, SL_2S, PRI_GAME_QUICK5); dmd_sched_transition (&trans_scroll_down); dmd_alloc_pair_clean (); font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Top, "RAMPS"); font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "1 MILLION"); dmd_show_low(); task_sleep (TIME_300MS); sound_start (ST_SPEECH, SPCH_I_GOT_IT, SL_4S, PRI_GAME_QUICK5); dmd_sched_transition (&trans_scroll_down); dmd_alloc_pair_clean (); huxley_animation_display_effect (IMG_HUXLEY_E_START, IMG_HUXLEY_E_END); sound_start (ST_SAMPLE, EXPLOSION, SL_2S, PRI_GAME_QUICK5); dmd_sched_transition (&trans_scroll_down); dmd_alloc_pair_clean (); font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Top, "SUBWAY"); font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "1 MILLION"); dmd_show_low(); task_sleep (TIME_300MS); deff_exit (); }//end of mode_effect_deff
void message_end (void) { dmd_show_low (); task_sleep (TIME_2S+TIME_166MS); deff_exit (); }
void amode_credits_page (void) { credits_draw (); dmd_show_low (); amode_page_end (1); }