コード例 #1
0
ファイル: tz_amode.c プロジェクト: SonnyJim/freewpc
/* 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);
}
コード例 #2
0
ファイル: tnf.c プロジェクト: SonnyJim/freewpc
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 ();
}
コード例 #3
0
ファイル: combos.c プロジェクト: CardonaPinball/freewpc
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
コード例 #4
0
ファイル: huxley.c プロジェクト: CardonaPinball/freewpc_DM
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
コード例 #5
0
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 ();
}
コード例 #6
0
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
コード例 #7
0
ファイル: rocket.c プロジェクト: CardonaPinball/freewpc
/* 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 ();
}
コード例 #8
0
ファイル: deffs2.c プロジェクト: SonnyJim/freewpc
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);
	}
}
コード例 #9
0
ファイル: tz_amode.c プロジェクト: SonnyJim/freewpc
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);
	}
}
コード例 #10
0
ファイル: eject.c プロジェクト: CardonaPinball/freewpc_DM
/****************************************************************************
 *
 * 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
コード例 #11
0
/****************************************************************************
 *
 * 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
コード例 #12
0
ファイル: deffs.c プロジェクト: Dmilo/freewpc
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;
		}
	}
}
コード例 #13
0
ファイル: cryoprison.c プロジェクト: CardonaPinball/freewpc
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
コード例 #14
0
ファイル: slot.c プロジェクト: SonnyJim/freewpc
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 ();

}
コード例 #15
0
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
コード例 #16
0
ファイル: wasteland.c プロジェクト: CardonaPinball/freewpc_DM
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
コード例 #17
0
ファイル: wasteland.c プロジェクト: CardonaPinball/freewpc_DM
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
コード例 #18
0
ファイル: superjets.c プロジェクト: CardonaPinball/freewpc_DM
/****************************************************************************
 *
 * 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
コード例 #19
0
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);
//		}
	}
}
コード例 #20
0
ファイル: pb_lock.c プロジェクト: SonnyJim/freewpc
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 ();
}
コード例 #21
0
ファイル: tnf.c プロジェクト: SonnyJim/freewpc
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 ();
}
コード例 #22
0
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);
}
コード例 #23
0
ファイル: amode.c プロジェクト: aeneas-flippers-be/freewpc
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);

}
コード例 #24
0
/****************************************************************************
 *
 * 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
}
コード例 #25
0
ファイル: dmdtest.c プロジェクト: lolzmania/freewpc
void dmd_show_color_pattern (void)
{
    U8 color;

    dmd_alloc_pair ();
    for (color = 0; color < 4; color++)
        dmd_fill_color_pattern (color);
    dmd_show2 ();
}
コード例 #26
0
ファイル: rollovers.c プロジェクト: CardonaPinball/freewpc
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
コード例 #27
0
ファイル: jets.c プロジェクト: SonnyJim/freewpc
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 ();
}
コード例 #28
0
ファイル: wasteland.c プロジェクト: CardonaPinball/freewpc_DM
/****************************************************************************
 *
 * 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
コード例 #29
0
ファイル: gumball.c プロジェクト: SonnyJim/freewpc
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 ();
}
コード例 #30
0
/****************************************************************************
 *
 * 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
}