/* 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 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 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 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
/* Rocket animation contributed by highrise */ void rocket_deff (void) { /* Show loading frames and wait for kick */ U16 fno; for (fno = IMG_ROCKET_LOAD_START; fno <= IMG_ROCKET_LOAD_END; fno += 2) { dmd_alloc_pair (); frame_draw (fno); dmd_overlay_onto_color (); dmd_show2 (); task_sleep (TIME_66MS); dmd_map_overlay (); } task_sleep (TIME_200MS); /* Rocket takes 500ms before kick * load animation takes 400ms */ /* Launch rocket */ for (fno = IMG_NEWROCKET_START; fno <= IMG_NEWROCKET_END; fno += 2) { dmd_alloc_pair_clean (); frame_draw (fno); dmd_show2 (); task_sleep (TIME_33MS); } 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); } }
static inline void draw_bttzmelt (void) { amode_page_start (); U16 fno; dmd_alloc_pair_clean (); for (fno = IMG_BTTZMELT_START; fno <= IMG_BTTZMELT_MIDDLE; fno += 2) { dmd_alloc_pair (); frame_draw (fno); dmd_show2 (); if (amode_page_changed) return; task_sleep (TIME_100MS); } amode_sleep_sec (2); for (fno = IMG_BTTZMELT_MIDDLE; fno <= IMG_BTTZMELT_END; fno += 2) { dmd_alloc_pair (); frame_draw (fno); dmd_show2 (); if (amode_page_changed) break; task_sleep (TIME_100MS); } }
/**************************************************************************** * * 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
/**************************************************************************** * * 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 mb_running_deff (void) { extern U8 mb_targets_left; target_change: dmd_map_overlay (); frame_draw (IMG_UFO); font_render_string_center (&font_mono5, 92, 5, "MULTIBALL"); dmd_rough_copy (64, 2, 64, 6); if (mb_targets_left == 0) sprintf ("SUPER JACKPOT LIT"); else if (mb_targets_left == 1) sprintf ("%d TARGET LEFT", mb_targets_left); else sprintf ("%d TARGETS LEFT", mb_targets_left); font_render_string_center (&font_var5, 88, 27, sprintf_buffer); U8 t = mb_targets_left; score_change: for (;;) { dmd_map_overlay (); sprintf_current_score (); dmd_rough_erase (64, 11, 64, 10); font_render_string_center (&font_mono9, 92, 16, sprintf_buffer); dmd_rough_copy (64, 11, 64, 10); for (;;) { score_update_start (); dmd_map_overlay (); dmd_dup_mapped (); dmd_show2 (); task_sleep (TIME_200MS); if (score_update_required ()) goto score_change; dmd_map_overlay (); dmd_dup_mapped (); dmd_rough_erase (64, 11, 64, 10); dmd_flip_low_high (); dmd_rough_erase (64, 11, 64, 10); dmd_flip_low_high (); dmd_show2 (); task_sleep (TIME_200MS); if (score_update_required ()) goto score_change; } } }
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
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 car_chase_frame_bitfade_fast (U16 frame){ dmd_sched_transition (&trans_bitfade_fast); dmd_alloc_pair (); frame_draw(frame); dmd_show2 (); task_sleep (TIME_100MS); }//end of mode_effect_deff
void wasteland_jackpot_effect_deff(void) { U16 fno; if (DM_IN_DMD_TEST) { if (++wasteland_MessageCounter > 4) wasteland_MessageCounter = 0; } else wasteland_MessageCounter = random_scaled(5); dmd_alloc_pair_clean (); task_create_gid1 (GID_WASTELAND_JACKPOT_SOUND, wasteland_jackpot_sounds_task); switch (wasteland_MessageCounter) { case 0: wasteland_animation_display_effect (IMG_WASTELAND_A2_START, IMG_WASTELAND_A2_END); wasteland_frame_with_words_display_steel_effect (IMG_WASTELAND_A2_END, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "JACKPOT"); break; case 1: wasteland_animation_display_effect (IMG_WASTELAND_A3_START, IMG_WASTELAND_A3_END); wasteland_frame_with_words_display_steel_effect (IMG_WASTELAND_A3_END, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "JACKPOT"); break; case 2: wasteland_animation_display_effect (IMG_WASTELAND_A1_START, IMG_WASTELAND_A1_END); wasteland_frame_with_words_display_steel_effect (IMG_WASTELAND_A1_END, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "JACKPOT"); break; default: case 3: //4 wasteland_animation_display_effect (IMG_JACKPOT_START, IMG_JACKPOT_END); for (fno = IMG_JACKPOT_END; fno >= IMG_JACKPOT_START; fno -= 2) { dmd_alloc_pair (); frame_draw(fno); dmd_show2 (); task_sleep (TIME_100MS); } break; }//end of switch deff_exit (); }//end of mode_effect_deff
void wasteland_frame_bitfade_fast (U16 frame){ dmd_sched_transition (&trans_bitfade_fast); dmd_alloc_pair (); frame_draw(frame); dmd_show2 (); task_sleep (TIME_100MS); }//end of function
/**************************************************************************** * * 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 clock_millions_mode_deff (void) { //U16 fno; for (;;) { // for (fno = IMG_CLOCK_START; fno <= IMG_CLOCK_END; fno += 2) // { dmd_alloc_pair_clean (); // dmd_map_overlay (); // dmd_clean_page_low (); font_render_string_center (&font_nayupixel10, 64, 5, "CLOCK MILLIONS"); sprintf_current_score (); font_render_string_center (&font_quadrit, 64, 16, sprintf_buffer); psprintf ("SHOOT CLOCK 1 MORE TIME", "SHOOT CLOCK %d MORE TIMES", 6 - clock_mode_hits); font_render_string_center (&font_var5, 64, 27, sprintf_buffer); sprintf ("%d", clock_millions_mode_timer); font_render_string (&font_var5, 2, 2, sprintf_buffer); font_render_string_right (&font_var5, 126, 2, sprintf_buffer); // dmd_text_outline (); // dmd_alloc_pair (); //frame_draw (fno); dmd_copy_low_to_high (); callset_invoke (score_overlay); // dmd_overlay_outline (); dmd_show2 (); task_sleep (TIME_66MS); // } } }
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 tnf_deff (void) { bool blink_on = TRUE; tnf_x = 0; tnf_y = 0; timer_restart_free (GID_TNF_TIMER, TIME_4S); while (tnf_buttons_pressed < 100 && task_find_gid (GID_TNF_TIMER)) { dmd_alloc_pair_clean (); if (blink_on) { font_render_string_center (&font_mono5, 64, 4, "HIT FLIPPER BUTTONS"); blink_on = FALSE; } else blink_on = TRUE; psprintf ("%d DOINK", "%d DOINKS", tnf_buttons_pressed); font_render_string_center (&font_term6, 60 + tnf_x, 12 + tnf_y, sprintf_buffer); dmd_copy_low_to_high (); callset_invoke (score_overlay); draw_progress_bar (&tnf_progress_bar); dmd_show2 (); task_sleep (TIME_66MS); } deff_exit (); }
void prison_break_frame_bitfade_fast (U16 frame){ dmd_sched_transition (&trans_bitfade_fast); dmd_alloc_pair (); frame_draw(frame); dmd_show2 (); task_sleep (TIME_100MS); }
CALLSET_ENTRY (bigfoot_amode, amode_page) { dmd_alloc_pair (); frame_draw (IMG_BFOOTLOGO); dmd_sched_transition (&trans_scroll_up_slow); dmd_show2 (); task_sleep_sec (2); dmd_alloc_low_clean (); font_render_string_center (&font_var5, 64, 5, "BIGFOOT"); font_render_string_center (&font_var5, 64, 12, "NEW GAME RULES"); font_render_string_center (&font_var5, 64, 19, "DESIGNED BY"); font_render_string_center (&font_var5, 64, 26, "AENEAS VERHE"); dmd_sched_transition (&trans_scroll_up_slow); dmd_show_low (); task_sleep_sec (2); dmd_alloc_pair (); frame_draw (IMG_FLIPLOGO); dmd_sched_transition (&trans_scroll_up_slow); dmd_show2 (); task_sleep_sec (2); dmd_alloc_pair (); frame_draw (IMG_BFOOTLOGO); dmd_sched_transition (&trans_scroll_up_slow); dmd_show2 (); task_sleep_sec (2); dmd_alloc_low_clean (); font_render_string_center (&font_var5, 64, 5, "PROGRAMMED IN"); font_render_string_center (&font_var5, 64, 12, "FREEWPC AND"); font_render_string_center (&font_var5, 64, 19, "RELEASED UNDER THE GNU"); font_render_string_center (&font_var5, 64, 26, "GENERAL PUBLIC LICENSE."); dmd_sched_transition (&trans_scroll_up_slow); dmd_show_low (); task_sleep_sec (1); dmd_alloc_pair (); frame_draw (IMG_BFOOTLOGO); dmd_sched_transition (&trans_scroll_up_slow); dmd_show2 (); task_sleep_sec (2); }
/**************************************************************************** * * display effects * ****************************************************************************/ void prison_break_animation_display_effect (U16 start_frame, U16 end_frame){ U16 fno; for (fno = start_frame; fno <= end_frame; fno += 2) { dmd_alloc_pair (); frame_draw(fno); dmd_show2 (); task_sleep (TIME_100MS); }//end of inner loop }
void dmd_show_color_pattern (void) { U8 color; dmd_alloc_pair (); for (color = 0; color < 4; color++) dmd_fill_color_pattern (color); dmd_show2 (); }
void rollovers_animation_display_effect_reverse (U16 start_frame, U16 end_frame){ U16 fno; for (fno = start_frame; fno >= end_frame; fno -= 2) { dmd_alloc_pair (); frame_draw(fno); dmd_show2 (); task_sleep (TIME_100MS); }//end of inner loop }//end of function
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 (); }
/**************************************************************************** * * display effects * ****************************************************************************/ void wasteland_super_jackpot_deff (void) { sound_start (ST_SPEECH, SPCH_AHHHGGG, SL_2S, PRI_GAME_QUICK2); U16 fno; for (fno = IMG_SUPER_JACKPOT_START; fno <= IMG_SUPER_JACKPOT_END; fno += 2) { dmd_alloc_pair (); frame_draw(fno); dmd_show2 (); task_sleep (TIME_100MS); } for (fno = IMG_SUPER_JACKPOT_END; fno >= IMG_SUPER_JACKPOT_START; fno -= 2) { dmd_alloc_pair (); frame_draw(fno); dmd_show2 (); task_sleep (TIME_100MS); } speech_start (SPCH_SUPER_JACKPOT, SL_1S); task_sleep_sec (1); deff_exit (); }//end of function
void gumball_deff (void) { sound_send (SND_GUMBALL_LOAD_START); //music_effect_start (SND_GUMBALL_LOAD_START, SL_3S); // task_recreate_gid (GID_GUMBALL_MUSIC_BUG, gumball_music_bug_task); U16 fno; for (fno = IMG_GUMBALL_START; fno <= IMG_GUMBALL_END; fno += 2) { dmd_alloc_pair (); frame_draw (fno); dmd_show2 (); task_sleep (TIME_100MS); } /* Show last two frames two times */ for (fno = 0 ; fno > 3; fno++) { dmd_alloc_pair (); frame_draw (IMG_GUMBALL_END - 2); dmd_show2 (); task_sleep (TIME_100MS); dmd_alloc_pair (); frame_draw (IMG_GUMBALL_END); dmd_show2 (); task_sleep (TIME_100MS); } music_effect_start (SND_GUMBALL_LOAD_END, SL_3S); task_sleep_sec (2); for (fno = 0; fno < 20; fno++) { dmd_alloc_pair_clean (); dmd_clean_page_low (); psprintf("1 GUMBALL", "%d GUMBALLS", gumball_collected_count); font_render_string_center (&font_fireball, 64, 8, sprintf_buffer); sprintf("%d MILLION", gumball_score); font_render_string_center (&font_quadrit, 64, 22, sprintf_buffer); dmd_copy_low_to_high (); callset_invoke (score_overlay); dmd_show2 (); task_sleep (TIME_100MS); } deff_exit (); }
/**************************************************************************** * * DMD display and sound effects * ****************************************************************************/ void car_chase_animation_display_effect (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_alloc_pair (); frame_draw(fno); dmd_show2 (); task_sleep (TIME_100MS); }//end of inner loop }