/**************************************************************************** * * DISPLAY EFFECTS * ****************************************************************************/ void eject_effect_deff(void) { U16 fno; dmd_clean_page_high ();// dmd_clean_page_low ();// switch (++ejectDeffCounter % 2) { default: case 0: for (fno = IMG_EYE_B_START; fno <= IMG_EYE_B_END; fno += 2) { dmd_alloc_pair (); frame_draw(fno); dmd_show2 (); task_sleep (TIME_66MS); }//end of inner loop for (fno = IMG_EYE_B_END - 2; fno >= IMG_EYE_B_START + 6; fno -= 2) { dmd_alloc_pair (); frame_draw(fno); dmd_show2 (); task_sleep (TIME_66MS); }//end of inner loop for (fno = IMG_EYE_B_START + 4; fno >= IMG_EYE_B_START + 2; fno -= 2) { dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_halobold12, DMD_MIDDLE_X, DMD_BIG_CY_Top, "RETINA"); font_render_string_center (&font_halobold12, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "SCAN"); dmd_text_outline (); dmd_alloc_pair (); frame_draw(fno); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_66MS); }//end of inner loop break; case 1: for (fno = IMG_EYE_START; fno <= IMG_EYE_27; fno += 2) { dmd_alloc_pair (); frame_draw(fno); dmd_show2 (); task_sleep (TIME_66MS); }//end of inner loop dmd_alloc_pair_clean ();// Clean both pages for (fno = IMG_EYE_28; fno <= IMG_EYE_END; fno += 2) { dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_halobold12, DMD_MIDDLE_X, DMD_BIG_CY_Top, "RETINA"); font_render_string_center (&font_halobold12, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "SCAN"); dmd_text_outline (); dmd_alloc_pair (); frame_draw(fno); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_66MS); }//end of inner loop break; }//end of switch deff_exit (); }//end of mode_effect_deff
void cryoprison_start_effect_deff(void) { U16 fno; dmd_alloc_pair_clean ();// Clean both pages cryoprison_animation_display_effect (IMG_CRYOPRISON_E1_START, IMG_CRYOPRISON_E1_END); cryoprison_frame_bitfade_fast(IMG_CRYOPRISON_E2_START); cryoprison_animation_display_effect (IMG_CRYOPRISON_E2_START, IMG_CRYOPRISON_E2_END); cryoprison_frame_bitfade_fast(IMG_CAPSIMON_C_START); dmd_alloc_pair_clean ();// Clean both pages for (fno = IMG_CAPSIMON_C_START; fno <= IMG_CAPSIMON_C_END; fno += 2) { dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_steel, DMD_MIDDLE_X - 30, DMD_BIG_CY_Top, "CRYO"); font_render_string_center (&font_steel, DMD_MIDDLE_X - 20, DMD_BIG_CY_Bot, "PRISON"); dmd_text_outline (); dmd_alloc_pair (); frame_draw(fno); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_100MS); }//end of inner loop task_sleep_sec (2); deff_exit (); }//end of mode_effect_deff
/**************************************************************************** * * display effects * ****************************************************************************/ void superjets_effect_deff(void) { U8 sj_swap = 0; U8 TOGGLE = 0; dmd_alloc_pair_clean ();// Clean both pages for (;;) { dmd_map_overlay (); dmd_clean_page_low (); //right side status display ll_score_draw_ball (); //left side display sprintf_score (superjets_mode_score); font_render_string_right (&font_var5, 98, 25, sprintf_buffer); if (ballsave_test_active()) { sprintf ("%d BALL SAVE", ballsave_get_timer()); } else { sprintf ("%d SEC, %d TO GOAL", superjets_mode_timer, superjets_goal - superjets_mode_shots_made); } font_render_string_right (&font_var5, 98, 0, sprintf_buffer); dmd_text_outline (); dmd_alloc_pair (); sj_counter++; if (sj_counter % 3 == 1) frame_draw(IMG_SUPERJETS_1); if (sj_counter % 3 == 2) frame_draw(IMG_SUPERJETS_2); if (sj_counter % 3 == 0) frame_draw(IMG_SUPERJETS_3); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_500MS); if (++sj_swap % 4 == 0) { if (++TOGGLE > 1) TOGGLE = 0; } //change TOGGLE once xx second dmd_alloc_pair_clean ();// Clean both pages }//END OF ENDLESS LOOP deff_exit(); }//end of mode_effect_deff
void tnf_exit_deff (void) { dmd_alloc_pair_clean (); U16 fno; sound_send (SND_CLOCK_CHAOS_END_BOOM); for (fno = IMG_EXPLODE_START; fno <= IMG_EXPLODE_END; fno += 2) { dmd_map_overlay (); dmd_clean_page_low (); sprintf_score (tnf_score); font_render_string_center (&font_fixed6, 64, 8, sprintf_buffer); font_render_string_center (&font_var5, 64, 20, "POINTS EARNED FROM DOINKS"); dmd_text_outline (); dmd_alloc_pair (); frame_draw (fno); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_33MS); } if (tnf_buttons_pressed >= tnf_target) sound_send (SND_OOH_GIMME_SHELTER); else sound_send (SND_RETURN_TO_YOUR_HOMES); dmd_alloc_pair_clean (); sprintf_score (tnf_score); font_render_string_center (&font_fixed6, 64, 8, sprintf_buffer); font_render_string_center (&font_var5, 64, 20, "POINTS EARNED FROM DOINKS"); dmd_copy_low_to_high (); dmd_show2 (); task_sleep_sec (2); deff_exit (); }
void shoot_camera_deff (void) { if (timed_mode_running_p (&hitch_mode)) sprintf ("SHOOT HITCH"); else sprintf ("SHOOT CAMERA"); if (event_did_follow (loop, ball_grab)) { dmd_alloc_pair_clean (); U16 fno; for (fno = IMG_LOOP_START; fno < IMG_LOOP_END; fno += 2) { dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_bitoutline, 64, 16, sprintf_buffer); dmd_text_outline (); dmd_alloc_pair (); frame_draw (fno); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_66MS); } /* Get rid of the last dirty frame */ dmd_alloc_pair_clean (); font_render_string_center (&font_bitoutline, 64, 16, sprintf_buffer); dmd_copy_low_to_high (); dmd_show2 (); flash_and_exit_deff2 (10, TIME_66MS); } else { flash_and_exit_deff2 (15, TIME_66MS); } }
/* We have to inline these so the return skips the page properly */ static inline void show_silverball (const char *line1, const char *line2) { amode_page_start (); U16 fno; for (fno = IMG_SILVERBALL_START; fno <= IMG_SILVERBALL_END; fno += 2) { dmd_alloc_pair (); frame_draw (fno); dmd_show2 (); task_sleep (TIME_66MS); if (amode_page_changed) break; } amode_sleep_sec (1); for (fno = 0; fno < 7; fno++) { dmd_alloc_pair_clean (); dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_steel, 64, 12, line1); if (fno > 2) font_render_string_center (&font_var5, 64, 24, line2); dmd_text_outline (); dmd_alloc_pair (); frame_draw (IMG_SILVERBALL_END); dmd_overlay_outline (); dmd_show2 (); amode_sleep_sec (1); } dmd_sched_transition (&trans_bitfade_slow); }
void sslot_mode_deff (void) { U16 fno; dmd_alloc_pair_clean (); for (;;) { for (fno = IMG_REELSTRIP_START; fno <= IMG_REELSTRIP_END; fno += 2) { dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_nayupixel10, 64, 5, "SHOOT SLOT MACHINE"); sprintf_current_score (); font_render_string_center (&font_cowboy, 64, 14, sprintf_buffer); font_render_string_center (&font_bitcube10, 64, 25, sslot_award_names[sslot_award_index]); sprintf ("%d", sslot_mode_timer); font_render_string (&font_var5, 8, 16, sprintf_buffer); font_render_string_right (&font_var5, 120, 16, sprintf_buffer); dmd_text_outline (); dmd_alloc_pair (); frame_draw (fno); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_66MS); } } deff_exit (); }
void lock_powerball_deff (void) { sound_send (SND_TOO_HOT_TO_HANDLE); U16 fno; dmd_alloc_pair_clean (); timer_restart_free (GID_LOCK_POWERBALL, TIME_5S); while (task_find_gid (GID_LOCK_POWERBALL)) { ball_search_timer_reset (); for (fno = IMG_POWERBALL_START; fno <= IMG_POWERBALL_END; fno += 2) { dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_fireball, 64, 9, "LOCK BALL"); font_render_string_left (&font_var5, 10, 24, "LEFT: NO"); font_render_string_right (&font_var5, 118, 24, "RIGHT: YES"); dmd_text_outline (); dmd_alloc_pair (); frame_draw (fno); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_33MS); } } deff_exit (); }
void laser_shot_deff(void) { U16 fno; dmd_alloc_pair_clean ();// Clean both pages task_create_gid1 (GID_laser_shot_SOUND, laser_shot_sounds_task); for (fno = IMG_LASER_SHOT1; fno <= IMG_LASER_SHOT6; fno += 2) { dmd_alloc_pair (); frame_draw(fno); dmd_show2 (); task_sleep (TIME_100MS); }//end of for loop for (fno = IMG_LASER_SHOT4; fno <= IMG_LASER_SHOT6; fno += 2) { dmd_alloc_pair (); frame_draw(fno); dmd_show2 (); task_sleep (TIME_100MS); }//end of for loop dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_fixed6, DMD_MIDDLE_X, DMD_BIG_CY_Top, "LASER"); font_render_string_center (&font_fixed6, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "SHOT"); dmd_text_outline (); dmd_alloc_pair (); frame_draw(IMG_LASER_SHOT6); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_500MS); deff_exit (); }//end of deff
void vm_effect_deff(void) { U16 fno; sound_start (ST_EFFECT, SUBWAY2, SL_2S, SP_NORMAL); for (fno = IMG_COMBO1_START; fno <= IMG_COMBO1_END; fno += 2) { dmd_alloc_pair (); frame_draw(fno); dmd_show2 (); task_sleep (TIME_100MS); }//end of for loop sound_start (ST_EFFECT, SUBWAY2, SL_2S, SP_NORMAL); dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_term6, DMD_MIDDLE_X - 20, DMD_MED_CY_2 + 6, "VIDEO MODE"); font_render_string_center (&font_term6, DMD_MIDDLE_X + 45, DMD_MED_CY_3, "READY"); sprintf ("%d", combo_counter); font_render_string_center (&font_fixed10, DMD_MIDDLE_X - 15, DMD_MED_CY_1 + 4, sprintf_buffer); dmd_text_outline (); dmd_alloc_pair (); frame_draw(IMG_COMBO1_END); dmd_overlay_outline (); dmd_show2 (); task_sleep_sec (2); deff_exit (); }//end of deff
void huxley_info_effect_deff(void) { U16 fno; dmd_alloc_pair_clean (); for (fno = IMG_HUXLEY_E_START; fno <= IMG_HUXLEY_E_END; fno += 2) { dmd_alloc_pair (); frame_draw(fno); dmd_show2 (); task_sleep (TIME_100MS); }//end of for loop dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_halobold12, DMD_MIDDLE_X - 20, DMD_BIG_CY_Top, "HUXLEY"); if (flag_test (FLAG_IS_HUXLEY_ENABLED) ) font_render_string_center (&font_halobold12, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "READY"); else font_render_string_center (&font_halobold12, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "1 MILLION"); dmd_text_outline (); dmd_alloc_pair (); frame_draw(IMG_HUXLEY_E_END); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_1S); deff_exit (); }//end of mode_effect_deff
void clock_millions_explode_deff (void) { dmd_alloc_pair_clean (); U16 fno; sound_send (SND_GREED_MODE_BOOM); for (fno = IMG_EXPLODE_START; fno <= IMG_EXPLODE_END; fno += 2) { dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_fixed6, 64, 10, "CLOCK DESTROYED"); font_render_string_center (&font_var5, 64, 21, "20 MILLION"); dmd_text_outline (); dmd_alloc_pair (); frame_draw (fno); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_33MS); } dmd_alloc_pair_clean (); font_render_string_center (&font_fixed6, 64, 10, "CLOCK DESTROYED"); font_render_string_center (&font_var5, 64, 21, "20 MILLION"); dmd_copy_low_to_high (); dmd_show2 (); task_sleep_sec (2); deff_exit (); }
void fortress_frame_with_words_display_steel_effect (U16 frame, U8 x, U8 y, char *words){ dmd_alloc_pair_clean ();// Clean both pages dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_halobold12, DMD_MIDDLE_X, DMD_BIG_CY_Top, "FORTRESS"); font_render_string_center (&font_halobold12, x, y, words); dmd_text_outline (); dmd_alloc_pair (); frame_draw(frame); dmd_overlay_outline (); dmd_show2 (); }
void frame_with_words_display_v5prc_effect (U16 frame, U8 x, U8 y, char *words){ dmd_alloc_pair_clean ();// Clean both pages dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_halobold12, x, y, words); dmd_text_outline (); dmd_alloc_pair (); frame_draw(frame); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_100MS); }
void clock_millions_hit_deff (void) { U16 fno; U16 img_start = 0; U16 img_end = 0; dmd_alloc_pair_clean (); switch (random_scaled (3)) { case 0: img_start = IMG_FLASH_START; img_end = IMG_FLASH_END; break; case 1: img_start = IMG_FLASHCENTRE_START; img_end = IMG_FLASHCENTRE_END; break; case 2: img_start = IMG_FLASHLEFT_START; img_end = IMG_FLASHLEFT_END; break; } for (fno = img_start; fno < img_end; fno += 2) { U8 x = random_scaled (4); U8 y = random_scaled (4); dmd_map_overlay (); dmd_clean_page_low (); psprintf ("CLOCK HIT %d TIME", "CLOCK HIT %d TIMES", clock_mode_hits); font_render_string_center (&font_fixed6, 64 + x, 10 + y, sprintf_buffer); sprintf_score (clock_mode_score); font_render_string_center (&font_var5, 64, 21, sprintf_buffer); dmd_text_outline (); dmd_alloc_pair (); frame_draw (fno); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_33MS); } /* Redraw it so the 'HITS' text is centred */ dmd_clean_page_low (); dmd_clean_page_high (); dmd_alloc_low (); psprintf ("CLOCK HIT %d TIME", "CLOCK HIT %d TIMES", clock_mode_hits); font_render_string_center (&font_fixed6, 64, 10, sprintf_buffer); sprintf_score (clock_mode_score); font_render_string_center (&font_var5, 64, 21, sprintf_buffer); dmd_show_low (); task_sleep_sec (2); deff_exit (); }
void car_frame_with_words_display_fipps_effect (U16 frame, U8 x, U8 y, char *words){ dmd_alloc_pair_clean ();// Clean both pages dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_fipps, x, y, words); dmd_text_outline (); dmd_alloc_pair (); frame_draw(frame); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_100MS); }//end of mode_effect_deff
void cryoprison_frame_with_words_display_steel_effect (U16 frame, U8 x, U8 y, char *words){ dmd_alloc_pair_clean ();// Clean both pages dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_var5, DMD_MIDDLE_X, DMD_SMALL_CY_1, "CRYOPRISON"); font_render_string_center (&font_steel, x, y, words); dmd_text_outline (); dmd_alloc_pair (); frame_draw(frame); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_100MS); }
void wasteland_frame_with_words_display_steel_effect (U16 frame, U8 x, U8 y, char *words){ dmd_alloc_pair_clean ();// Clean both pages dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_halobold12, DMD_MIDDLE_X, DMD_BIG_CY_Top, "WASTELAND"); font_render_string_center (&font_halobold12, x, y, words); dmd_text_outline (); dmd_alloc_pair (); frame_draw(frame); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_500MS); }//end of function
/**************************************************************************** * * display effects * ****************************************************************************/ void extra_ball_effect_deff(void) { U8 eb_rnd_sound; U16 fno; dmd_alloc_pair_clean ();// Clean both pages if (system_config.swear_sounds == YES) { //this doubles the chance that a swear would occur eb_rnd_sound = random_scaled(5); if (eb_rnd_sound == 4) eb_rnd_sound = 3; } else if (system_config.extra_sounds == YES) eb_rnd_sound = random_scaled(3); else eb_rnd_sound = random_scaled(2); sound_start (ST_EFFECT, EXTRA_BALL_SOUND, SL_2S, SP_NORMAL); for (fno = IMG_FREEZER1_START; fno <= IMG_FREEZER1_END; fno += 2) { dmd_alloc_pair (); frame_draw(fno); dmd_show2 (); task_sleep (TIME_66MS); }//end of for loop for (fno = IMG_FREEZER2_START; fno <= IMG_FREEZER2_END; fno += 2) { dmd_alloc_pair (); frame_draw(fno); dmd_show2 (); task_sleep (TIME_66MS); }//end of for loop switch (eb_rnd_sound) { case 0: sound_start (ST_SPEECH, SPCH_EXTRABALL_WES, SL_4S, 3); break; case 1: sound_start (ST_SPEECH, SPCH_EXTRABALL_SLY, SL_4S, PRI_GAME_QUICK3); break; case 2: sound_start (ST_SPEECH, SPCH_LOVE_THOSE_EXTRA_BALLS_GIRL, SL_4S, PRI_GAME_QUICK3); break; case 3: sound_start (ST_SPEECH, SPCH_VLGR_REALLY_LICKED_AS_SNDRA, SL_4S, PRI_GAME_QUICK3); break; }//end of switch for (fno = IMG_FREEZER3_START; fno <= IMG_FREEZER3_END; fno += 2) { dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_halobold12, DMD_MIDDLE_X - 15, DMD_BIG_CY_Top, "EXTRA"); font_render_string_center (&font_halobold12, DMD_MIDDLE_X - 15, DMD_BIG_CY_Bot, "BALL"); dmd_text_outline (); dmd_alloc_pair (); frame_draw(fno); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_66MS); }//end of for loop deff_exit (); }//end of mode_effect_deff
void sslot_award_deff (void) { sprintf_score (score_deff_get ()); U16 fno; U8 y = 20; for (fno = IMG_ODDCHANGE_START; fno < IMG_ODDCHANGE_END; fno += 2) { dmd_alloc_pair_clean (); y--; dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_var5, 64, y, "SLOT MACHINE AWARD"); dmd_text_outline (); dmd_alloc_pair (); frame_draw (fno); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_16MS); } for (fno = IMG_FLASHCENTRE_START; fno < IMG_FLASHCENTRE_END; fno += 2) { dmd_alloc_pair_clean (); dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_var5, 64, y, "SLOT MACHINE AWARD"); font_render_string_center (&font_bitcube10, 64, 20, sslot_award_names[sslot_award_index_stored]); dmd_text_outline (); dmd_alloc_pair (); frame_draw (fno); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_16MS); } task_sleep_sec (2); deff_exit (); }
void huxley_effect_deff(void) { U8 frame = 0; U8 frame_counter = 0; for (;;) { //change the background every 5 seconds or so if (++frame_counter % 10 == 0) { if (frame >= 11) frame = 0; else frame ++; play_huxley_sounds(); } dmd_alloc_pair_clean(); dmd_map_overlay (); dmd_clean_page_low (); dmd_draw_thin_border (dmd_low_buffer); sprintf_score(current_score); font_render_string_center (&font_var5, DMD_MIDDLE_X, DMD_SMALL_CY_1, sprintf_buffer); sprintf ("%d", huxley_mode_timer); font_render_string_center (&font_var5, DMD_MIDDLE_X - 50, DMD_SMALL_CY_5, sprintf_buffer); font_render_string_center (&font_var5, DMD_MIDDLE_X + 50, DMD_SMALL_CY_5, sprintf_buffer); sprintf_score (huxley_mode_score); font_render_string_center (&font_var5, DMD_MIDDLE_X, DMD_SMALL_CY_5, sprintf_buffer); switch (frame) { case 0: font_render_string_center (&font_fipps, DMD_MIDDLE_X + 35, DMD_BIG_CY_Top + 5, "HUXLEY"); break; //ok case 2: font_render_string_center (&font_fipps, DMD_MIDDLE_X + 35, DMD_BIG_CY_Bot, "HUXLEY"); break; //ok case 4: font_render_string_center (&font_fipps, DMD_MIDDLE_X + 35, DMD_BIG_CY_Bot, "HUXLEY"); break; //ok case 6: font_render_string_center (&font_fipps, DMD_MIDDLE_X + 35, DMD_BIG_CY_Bot, "HUXLEY"); break; //ok case 8: font_render_string_center (&font_fipps, DMD_MIDDLE_X + 35, DMD_BIG_CY_Top + 5, "HUXLEY"); break; //ok case 10: font_render_string_center (&font_fipps, DMD_MIDDLE_X - 35, DMD_BIG_CY_Top + 5, "HUXLEY"); break; //ok }//end of switch dmd_text_outline (); dmd_alloc_pair (); switch (frame) { default: case 0: frame_draw(IMG_HUXLEY_END_SCENE_START); break; case 1: frame_draw(IMG_HUXLEY_END_SCENE_1); break; case 2: frame_draw(IMG_HUXLEY_END_SCENE_2); break; case 3: frame_draw(IMG_HUXLEY_END_SCENE_3); break; case 4: frame_draw(IMG_HUXLEY_END_SCENE_4); break; case 5: frame_draw(IMG_HUXLEY_END_SCENE_5); break; case 6: frame_draw(IMG_HUXLEY_END_SCENE_6); break; case 7: frame_draw(IMG_HUXLEY_END_SCENE_7); break; case 8: frame_draw(IMG_HUXLEY_END_SCENE_8); break; case 9: frame_draw(IMG_HUXLEY_END_SCENE_9); break; case 10: frame_draw(IMG_HUXLEY_END_SCENE_10); break; case 11: frame_draw(IMG_HUXLEY_END_SCENE_11); break; }//end of switch dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_500MS); }//END OF ENDLESS LOOP }//end of mode_effect_deff
void car_chase_animation_display_effect_w_words (U16 start_frame, U16 end_frame){ U16 fno; dmd_alloc_pair_clean ();// Clean both pages for (fno = start_frame; fno <= end_frame; fno += 2) { dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_fipps, DMD_MIDDLE_X - 20, DMD_BIG_CY_Top, "CAR_CHASE"); dmd_text_outline (); dmd_alloc_pair (); frame_draw(fno); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_100MS); }//end of inner loop }//end of mode_effect_deff
void huxley_info_effect_deff(void) { U16 fno; dmd_alloc_pair_clean (); dmd_sched_transition (&trans_bitfade_slow); for (fno = IMG_HUXLEY_B2_START; fno <= IMG_HUXLEY_B2_END; fno += 2) { dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_fipps, DMD_MIDDLE_X - 20, DMD_BIG_CY_Bot, "HUXLEY"); dmd_text_outline (); dmd_alloc_pair (); frame_draw(fno); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_100MS); }//end of for loop deff_exit (); }//end of mode_effect_deff
void jets_level_up_deff (void) { dmd_alloc_pair_clean (); U16 fno; sound_send (SND_GLASS_BREAKS); for (fno = IMG_EXPLODE_START; fno < IMG_EXPLODE_END; fno += 2) { dmd_map_overlay (); dmd_clean_page_low (); if (fno > 4) { sprintf ("TOWN SQUARE LEVEL %d", jets_bonus_level); font_render_string_center (&font_mono5, 64, 7, sprintf_buffer); /* We don't use scoreget as it's likely another score * has been awarded */ sprintf("%d MILLION", jetscore); font_render_string_center (&font_fireball, 64, 20, sprintf_buffer); } dmd_text_outline (); dmd_alloc_pair (); frame_draw (fno); callset_invoke (score_overlay); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_33MS); } for (fno = 0; fno < 10; fno++) { dmd_alloc_pair_clean (); sprintf ("TOWN SQUARE LEVEL %d", jets_bonus_level); font_render_string_center (&font_mono5, 64, 7, sprintf_buffer); /* We don't use scoreget as it's likely another score * has been awarded */ sprintf("%d MILLION", jetscore); font_render_string_center (&font_fireball, 64, 20, sprintf_buffer); dmd_copy_low_to_high (); callset_invoke (score_overlay); dmd_show2 (); task_sleep (TIME_100MS); } deff_exit (); }
void tsm_mode_total_deff (void) { dmd_alloc_pair_clean (); dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_fixed6, 64, 5, "TSM OVER"); sprintf_score (tsm_mode_total); font_render_string_center (&font_fixed6, 64, 16, sprintf_buffer); font_render_string_center (&font_var5, 64, 27, "POINTS EARNED FROM MODE"); dmd_text_outline (); dmd_alloc_pair (); frame_draw (IMG_CITY); dmd_overlay_outline (); dmd_show2 (); task_sleep_sec (2); dmd_sched_transition (&trans_bitfade_fast); deff_exit (); }
void sssmb_running_deff (void) { U16 fno; for (;;) { for (fno = IMG_BOLT_TESLA_START; fno <= IMG_BOLT_TESLA_END; fno += 2) { dmd_alloc_pair_clean (); dmd_map_overlay (); dmd_clean_page_low (); font_render_string_left (&font_bitoutline, 1, 1, "SKILL"); font_render_string_left (&font_quadrit, 54, 2, "MULTIBALL"); sprintf_current_score (); font_render_string_center (&font_cowboy, 64, 16, sprintf_buffer); 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_text_outline (); dmd_alloc_pair (); frame_draw (fno); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_66MS); } } }
void fortress_effect_deff (void) { dmd_alloc_pair_clean(); for (;;) { dmd_map_overlay (); dmd_clean_page_low (); dmd_draw_thin_border (dmd_low_buffer); if (fortress_ballsave) { sprintf ("BS"); font_render_string_center (&font_var5, 6, 12, sprintf_buffer); } sprintf_score(current_score); font_render_string_center (&font_var5, DMD_MIDDLE_X, DMD_SMALL_CY_3+1, sprintf_buffer); font_render_string_center (&font_halobold12, DMD_MIDDLE_X, DMD_BIG_CY_Top, "FORTRESS"); if (fortress_display_counter % 10 != 0) { //draw for 9/10 and blank for 1/10 if (FORT_TOGGLE == 0) { sprintf ("10 MILLION"); font_render_string_center (&font_fixed6, DMD_MIDDLE_X, DMD_BIG_CY_Bot+1, sprintf_buffer); } else if (FORT_TOGGLE == 1) { sprintf ("JACKPOT LIT"); font_render_string_center (&font_fixed6, DMD_MIDDLE_X, DMD_BIG_CY_Bot+1, sprintf_buffer); } else if (FORT_TOGGLE == 2) { sprintf ("%d JACKPOTS MADE", fortress_jackpot_shots_made); font_render_string_center (&font_var5, DMD_MIDDLE_X, DMD_SMALL_CY_4, sprintf_buffer); if (get_is_super_jackpot_lit()) sprintf ("SUPER JACKPOT LIT"); else sprintf ("SHOOT %d TO LIGHT SUPER", 5 - (fortress_jackpot_shots_made % 5) ); font_render_string_center (&font_var5, DMD_MIDDLE_X, DMD_SMALL_CY_BOTTOM_LINE, sprintf_buffer); } } else sprintf (""); dmd_text_outline (); dmd_alloc_pair (); frame_draw(IMG_FORTRESS_RUN_0 + fortress_effect_deff_table[fortress_display_counter]); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_200MS); 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
static inline void show_sonny_jim (void) { amode_page_start (); dmd_alloc_pair_clean (); /* Draw a 'white' background for the transition */ dmd_invert_page (dmd_low_buffer); dmd_invert_page (dmd_high_buffer); dmd_show2 (); /* sonny_jim should emerge from the bottom */ dmd_sched_transition (&trans_scroll_up); dmd_alloc_pair (); frame_draw (IMG_SONNY_JIM); /* Start the transition */ dmd_show2 (); /* Paint the text on */ dmd_map_overlay (); dmd_clean_page_low (); font_render_string_right (&font_var5, 126, 7, "NOT AN ORDINARY DAY OR"); font_render_string_right (&font_var5, 122, 18, "AN ORDINARY PLAYER"); dmd_text_outline (); dmd_alloc_pair (); frame_draw (IMG_SONNY_JIM); dmd_overlay_outline (); dmd_show2 (); task_create_anon (amode_talking_task); amode_sleep_sec (4); /* Now just draw sonny_jim again */ dmd_alloc_pair (); frame_draw (IMG_SONNY_JIM); dmd_show2 (); /* Exit stage right */ dmd_sched_transition (&trans_scroll_down); /* Draw a 'white' background for the transition again */ dmd_alloc_pair_clean (); dmd_invert_page (dmd_low_buffer); dmd_invert_page (dmd_high_buffer); dmd_show2 (); dmd_sched_transition (&trans_bitfade_slow); }
/**************************************************************************** * * display effects * ****************************************************************************/ void freeze_effect_deff(void) { U16 fno; dmd_alloc_pair_clean (); sound_start (ST_EFFECT, SIREN, SL_4S, PRI_GAME_QUICK5); for (fno = IMG_CONTROLLER_START; fno <= IMG_FREEZE_A_END; fno += 2) { dmd_alloc_pair_clean (); frame_draw(fno); dmd_show2 (); task_sleep (TIME_100MS); }//end of inner loop task_sleep (TIME_300MS); dmd_alloc_pair_clean ();// Clean both pages dmd_map_overlay (); dmd_clean_page_low (); if ( flag_test(FLAG_IS_MULTIBALL_ENABLED) ) { font_render_string_center (&font_halobold12, DMD_MIDDLE_X, DMD_BIG_CY_Top, "MULTIBALL"); font_render_string_center (&font_halobold12, DMD_MIDDLE_X + 10, DMD_BIG_CY_Bot, "READY"); } else { font_render_string_center (&font_halobold12, DMD_MIDDLE_X, DMD_BIG_CY_Top, "FREEZE"); } dmd_text_outline (); dmd_alloc_pair (); frame_draw(IMG_FREEZE_A_END); dmd_overlay_outline (); dmd_show2 (); if (DM_IN_DMD_TEST) freeze_MessageCounter++; if (flag_test(FLAG_IS_MULTIBALL_ENABLED)) { if ( (lock_SoundCounter++ % 2) == 0 )//check if even sound_start (ST_SPEECH, SPCH_MULTIBALL_ACTIVATED, SL_4S, PRI_GAME_QUICK5); else sound_start (ST_SPEECH, SPCH_SHOOT_LEFT_LOOP, SL_4S, PRI_GAME_QUICK5); } task_sleep_sec (1); deff_exit (); }//end of mode_effect_deff
void extra_ball_effect_deff(void) { U8 eb_rnd_sound; U16 fno; dmd_alloc_pair_clean ();// Clean both pages eb_rnd_sound = random_scaled(2); sound_start (ST_EFFECT, EXTRA_BALL_SOUND, SL_2S, SP_NORMAL); for (fno = IMG_FREEZER1_START; fno <= IMG_FREEZER1_END; fno += 2) { dmd_alloc_pair (); frame_draw(fno); dmd_show2 (); task_sleep (TIME_66MS); }//end of for loop for (fno = IMG_FREEZER2_START; fno <= IMG_FREEZER2_END; fno += 2) { dmd_alloc_pair (); frame_draw(fno); dmd_show2 (); task_sleep (TIME_66MS); }//end of for loop if (eb_rnd_sound) sound_start (ST_SPEECH, SPCH_EXTRABALL_WES, SL_2S, SP_NORMAL); else sound_start (ST_SPEECH, SPCH_EXTRABALL_SLY, SL_2S, SP_NORMAL); for (fno = IMG_FREEZER3_START; fno <= IMG_FREEZER3_END; fno += 2) { dmd_map_overlay (); dmd_clean_page_low (); font_render_string_center (&font_fireball, DMD_MIDDLE_X - 25, DMD_BIG_CY_Top, "EXTRA"); font_render_string_center (&font_fireball, DMD_MIDDLE_X - 25, DMD_BIG_CY_Bot, "BALL"); dmd_text_outline (); dmd_alloc_pair (); frame_draw(fno); dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_66MS); }//end of for loop deff_exit (); }//end of mode_effect_deff