示例#1
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 ();
}
示例#2
0
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 ();
}
示例#3
0
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
示例#4
0
/****************************************************************************
 *
 * 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
示例#5
0
void wasteland_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, 84, 1, "WASTE");
		if (ballsave_test_active()) {
			sprintf ("%d BALL SAVE", ballsave_get_timer());
			font_render_string_center (&font_var5, 50, DMD_MED_CY_BOTTOM_LINE + 3, sprintf_buffer);
		}
		else {
			if (WL_TOGGLE == 0) 		{ sprintf ("15 MILLION"); font_render_string_right (&font_fixed6, 85, 21, sprintf_buffer); }
			else if (WL_TOGGLE == 1)	{ sprintf ("JACKPOT LIT"); font_render_string_right (&font_fixed6, 92, 21, sprintf_buffer); }
			else if (WL_TOGGLE == 2)	{
				sprintf ("%d JACKPOTS MADE", wasteland_jackpot_shots_made);
				font_render_string_right (&font_var5, 85, 19, sprintf_buffer);

				if (get_is_super_jackpot_lit()) sprintf ("SUPER LIT");
				else sprintf ("SHOOT %d ENABLE SUPER", 5 - (wasteland_jackpot_shots_made % 5) );
				font_render_string_right (&font_var5, 95, 26, sprintf_buffer);
			}
		}
		dmd_show_low ();
		task_sleep (TIME_1S);
		if (++wasteland_display_counter % 5 == 0) { if (++WL_TOGGLE > 2) WL_TOGGLE = 0; } //change WL_TOGGLE once per second
	}//END OF ENDLESS LOOP
}//end of function
示例#6
0
void prison_break_effect_deff(void) {
	U8 i = 0;
	U8 toggle = 0;
	for (;;) {
		i++;
		if (i % 5 == 0) if (++toggle >= 3) toggle = 0;//change TOGGLE once per n seconds
		dmd_alloc_pair_clean();
		//right side status display
		ll_score_draw_ball ();


		//left side display

			font_render_string_left (&font_halobold12, 1, 0, "BREAK");
			font_render_string_right (&font_halobold12, 99, 9, "OUT");

			if (ballsave_test_active()) {
				sprintf ("%d BALL SAVE", ballsave_get_timer());
			}
			else
			if (toggle == 1) 		sprintf ("%d SEC LEFT", prison_break_mode_timer);
		else if (toggle == 2)	sprintf ("%d HIT", prison_break_mode_shots_made);
		else if (toggle == 0)	sprintf ("SHOOT EVERYTHING");
		font_render_string_center (&font_var5, 50, DMD_MED_CY_BOTTOM_LINE + 3, sprintf_buffer);

		sprintf_score (prison_break_mode_score);
		font_render_string_center (&font_var5, 50, 28, sprintf_buffer);
		dmd_show_low ();
		task_sleep (TIME_1S);
	}//END OF ENDLESS LOOP
}//end of mode_effect_deff
示例#7
0
void cryoprison_effect_deff (void) {
	dmd_alloc_pair_clean();

	for (;;) {
		dmd_draw_thin_border (dmd_low_buffer);

		font_render_string_center (&font_steel, DMD_MIDDLE_X, DMD_BIG_CY_Top - 2, "CRYOPRISON");

		sprintf_score(current_score);
		font_render_string_center (&font_var5, DMD_MIDDLE_X, DMD_SMALL_CY_3 - 2, sprintf_buffer);

		if (CRYO_TOGGLE == 0) 		{ sprintf ("15 MILLION"); font_render_string_center (&font_steel, DMD_MIDDLE_X, DMD_BIG_CY_Bot - 2, sprintf_buffer); }
		else if (CRYO_TOGGLE == 1)	{ sprintf ("JACKPOT LIT"); font_render_string_center (&font_steel, DMD_MIDDLE_X, DMD_BIG_CY_Bot - 2, sprintf_buffer); }
		else if (CRYO_TOGGLE == 2)	{sprintf ("%d JACKPOTS", cryoprison_jackpot_shots_made); font_render_string_center (&font_steel, DMD_MIDDLE_X, DMD_BIG_CY_Bot - 2, sprintf_buffer); }
		else if (CRYO_TOGGLE == 3)	{ if (flag_test(FLAG_IS_SUPER_JACKPOT_ACTIVATED) )	sprintf ("SUPER LIT");
									else 											sprintf ("%d FOR SUPER", 5 - (cryoprison_jackpot_shots_made % 5) );
									font_render_string_center (&font_steel, DMD_MIDDLE_X,  DMD_BIG_CY_Bot - 2, sprintf_buffer); }

		show_snake(snake_pos);  // takes approx 1.5 seconds

		if (snake_pos < 7) snake_pos ++;
		else snake_pos = 0;

		if (++cryoprison_display_counter % 7 == 0) { if (++CRYO_TOGGLE > 3) CRYO_TOGGLE = 0; } //change CRYO_TOGGLE once per second
	}//END OF ENDLESS LOOP
}//end of function
示例#8
0
文件: deffs.c 项目: Dmilo/freewpc
void jackpot_deff (void)
{
	dmd_alloc_low_clean ();
	font_render_string_center (&font_fixed6, 64, 10, "JACKPOT");
	sprintf_score (last_score);
	font_render_string_center (&font_fixed6, 64, 22, sprintf_buffer);
	dmd_show_low ();
	task_sleep (TIME_2S+TIME_166MS);
	deff_exit ();
}
示例#9
0
文件: deffs.c 项目: Dmilo/freewpc
void mb_super_award_deff (void)
{
	dmd_alloc_low_clean ();
	font_render_string_center (&font_fixed6, 64, 10, "SUPER JACKPOT");
	sprintf_score (last_score);
	font_render_string_center (&font_fixed6, 64, 22, sprintf_buffer);
	dmd_show_low ();
	task_sleep (TIME_3S);
	deff_exit ();
}
示例#10
0
void super_jackpot_deff (void)
{
	seg_alloc_clean ();
	seg_write_row_center (0, "SUPER JACKPOT");
	sprintf_score (super_jackpot_value);
	seg_write_row_center (1, sprintf_buffer);
	seg_show ();
	task_sleep_sec (2);
	deff_exit ();
}
示例#11
0
文件: deffs.c 项目: Dmilo/freewpc
void mb_increase_jackpot_deff (void)
{
	extern score_t mb_super_value;
	dmd_alloc_low_clean ();
	font_render_string_center (&font_mono5, 64, 7, "SUPER JACKPOT AT");
	sprintf_score (mb_super_value);
	font_render_string_center (&font_fixed6, 64, 16, sprintf_buffer);
	dmd_show_low ();
	task_sleep (TIME_2S);
	deff_exit ();
}
示例#12
0
void gangway_collect_deff (void)
{
	seg_alloc_clean ();
	seg_write_row_center (0, "GANGWAY");
	sprintf_score (score_deff_get ());
	seg_write_row_center (1, sprintf_buffer);
	seg_sched_transition (&seg_trans_center_out);
	seg_show ();
	task_sleep_sec (2);
	deff_exit ();
}
示例#13
0
文件: jets.c 项目: hydra/freewpc
void tsm_mode_total_deff (void)
{
	dmd_alloc_low_clean ();
	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_show_low ();
	task_sleep_sec (4);
	deff_exit ();
}
示例#14
0
文件: loop.c 项目: hydra/freewpc
void loop_deff (void)
{
	seg_alloc_clean ();
	psprintf ("1 LOOP", "%d LOOPS", total_loops);
	seg_write_row_center (0, sprintf_buffer);
	sprintf_score (score_deff_get ());
	seg_write_row_center (1, sprintf_buffer);
	seg_show ();
	task_sleep_sec (2);
	deff_exit ();
}
示例#15
0
void clock_millions_mode_total_deff (void)
{
	sound_send (SND_CLOCK_GONG);
	dmd_alloc_low_clean ();
	font_render_string_center (&font_fixed6, 64, 5, "CLOCK MILLIONS");
	sprintf_score (clock_mode_score);
	font_render_string_center (&font_fixed6, 64, 16, sprintf_buffer);
	font_render_string_center (&font_var5, 64, 27, "POINTS EARNED FROM MODE");
	dmd_show_low ();
	task_sleep_sec (4);
	deff_exit ();
}
示例#16
0
void free_kick_deff (void)
{
	dmd_alloc_low_clean ();
	sprintf ("%d KICKS", free_kicks);
	font_render_string_center (&font_fixed6, 64, 5, sprintf_buffer);
	sprintf_score (score_deff_get ());
	font_render_string_center (&font_fixed6, 64, 15, sprintf_buffer);
	sprintf ("NEXT SHOT = %dX", free_kick_multiplier);
	font_render_string_center (&font_var5, 64, 25, sprintf_buffer);
	dmd_show_low ();
	task_sleep_sec (2);
	deff_exit ();
}
示例#17
0
文件: format.c 项目: Mole23/freewpc
/**
 * Format a replay score adjustment.
 * The adjustment system only allows for at most 256 different settings per
 * adjustment.  For replay scores, 0 means the replay level is OFF, and
 * 1-255 refer to specific replay values.
 */
void replay_score_render (U8 val)
{
	if (val == 0)
	{
		sprintf ("OFF");
	}
	else
	{
		score_t score;
		score_zero (score);
		replay_code_to_score (score, val);
		sprintf_score (score);
	}
}
示例#18
0
文件: jets.c 项目: SonnyJim/freewpc
CALLSET_ENTRY (jet, status_report)
{
	status_page_init ();
	sprintf ("JET LEVEL %d", jets_level);
	font_render_string_center (&font_mono5, 64, 11, sprintf_buffer);
	sprintf ("%d JETS", jets_hit);
	font_render_string_center (&font_mono5, 64, 21, sprintf_buffer);
	status_page_complete ();

	status_page_init ();
	sprintf ("TOTAL JET SCORE");
	font_render_string_center (&font_mono5, 64, 11, sprintf_buffer);
	sprintf_score (total_jets_score);
	font_render_string_center (&font_mono5, 64, 21, sprintf_buffer);
	status_page_complete ();
}
示例#19
0
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
示例#20
0
文件: format.c 项目: SonnyJim/freewpc
/**
 * Format a replay score adjustment.
 * The adjustment system only allows for at most 256 different settings per
 * adjustment.  For replay scores, 0 means the replay level is OFF, and
 * 1-255 refer to specific replay values.
 *
 * The machine should define a function that returns the score associated
 * with a certain level, and then define MACHINE_REPLAY_CODE_TO_SCORE
 * as an alias to that function.  It should be placed in the __machine__
 * region.
 *
 * You should also define MACHINE_REPLAY_SCORE_CHOICES as the number of
 * valid, non-zero replay levels that are acceptable as input.
 */
void replay_score_render (U8 val)
{
    if (val == 0)
    {
        sprintf ("OFF");
        return;
    }
#ifdef MACHINE_REPLAY_CODE_TO_SCORE
    extern __machine__ void MACHINE_REPLAY_CODE_TO_SCORE (score_t, U8);
    score_t score;
    score_zero (score);
    MACHINE_REPLAY_CODE_TO_SCORE (score, val);
    sprintf_score (score);
#else
#warning "machine does not define replay levels"
    sprintf ("CODE %d", val);
#endif
}
示例#21
0
void prison_break_hit_effect_deff(void) {
	if (DM_IN_DMD_TEST) { if (++prison_break_MessageCounter > 6) 	prison_break_MessageCounter = 0; }
	else prison_break_MessageCounter = random_scaled(7);

	dmd_alloc_pair_clean ();
	sound_start (ST_SAMPLE, EXPLOSION, SL_2S, PRI_GAME_QUICK2);
	switch (prison_break_MessageCounter) {
		default:
		case 0:
			prison_break_animation_display_effect (IMG_CHIEF_EARLE2_START, IMG_CHIEF_EARLE2_END);
			sprintf_score (prison_break_mode_score);
			frame_with_words_display_v5prc_effect (IMG_CHIEF_EARLE2_END, DMD_MIDDLE_X + 20, DMD_BIG_CY_Top, sprintf_buffer);
			break;
		case 1:
			prison_break_animation_display_effect (IMG_JAIL_BREAK_START, IMG_JAIL_BREAK_END);
			sprintf_score (prison_break_mode_score);
			frame_with_words_display_v5prc_effect (IMG_JAIL_BREAK_END, DMD_MIDDLE_X + 20, DMD_BIG_CY_Top, sprintf_buffer);
			break;
		case 2:
			prison_break_animation_display_effect (IMG_ASSOC_BOB_START, IMG_ASSOC_BOB_END);
			sprintf_score (prison_break_mode_score);
			frame_with_words_display_v5prc_effect (IMG_ASSOC_BOB_END, DMD_MIDDLE_X + 20, DMD_BIG_CY_Top, sprintf_buffer);
			break;
		case 3:
			prison_break_animation_display_effect (IMG_PRISON_BREAKOUT_B_START, IMG_PRISON_BREAKOUT_B_MID);
			sprintf_score (prison_break_mode_score);
			frame_with_words_display_v5prc_effect (IMG_PRISON_BREAKOUT_B_MID, DMD_MIDDLE_X + 20, DMD_BIG_CY_Top, sprintf_buffer);
			break;
		case 4:
			prison_break_animation_display_effect (IMG_PRISON_BREAKOUT_B_MID, IMG_PRISON_BREAKOUT_B_END);
			sprintf_score (prison_break_mode_score);
			frame_with_words_display_v5prc_effect (IMG_PRISON_BREAKOUT_B_END, DMD_MIDDLE_X + 20, DMD_BIG_CY_Top, sprintf_buffer);
			break;
		case 5:
			prison_break_animation_display_effect (IMG_PRISON_BREAK_D1_START, IMG_PRISON_BREAK_D1_END);
			sprintf_score (prison_break_mode_score);
			frame_with_words_display_v5prc_effect (IMG_PRISON_BREAK_D1_END, DMD_MIDDLE_X + 20, DMD_BIG_CY_Top, sprintf_buffer);
			break;
		case 6:
			prison_break_animation_display_effect (IMG_PRISON_BREAK_D2_START, IMG_PRISON_BREAK_D2_END);
			sprintf_score (prison_break_mode_score);
			frame_with_words_display_v5prc_effect (IMG_PRISON_BREAK_D2_END, DMD_MIDDLE_X + 20, DMD_BIG_CY_Top, sprintf_buffer);
			break;
		}//end of switch
	task_sleep (TIME_500MS);
	deff_exit ();
}//end of mode_effect_deff
示例#22
0
文件: jets.c 项目: SonnyJim/freewpc
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 ();
}
示例#23
0
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
示例#24
0
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
示例#25
0
文件: slot.c 项目: SonnyJim/freewpc
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 ();
}
示例#26
0
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
示例#27
0
void super_jackpot_value_deff (void)
{
	seg_alloc_clean ();
	seg_write_row_center (0, "SUPER JACKPOT");
	seg_write_row_center (1, "VALUE");
	seg_show ();
	task_sleep_sec (1);
	
	if (total_body_parts > 0)
	{
		score_zero (super_jackpot_calc);
		score_add (super_jackpot_calc, score_table[SC_50K]);
		score_mul (super_jackpot_calc, total_body_parts);

		seg_alloc_clean ();
		psprintf ("1 BODY PART", "%d BODY PARTS", total_body_parts);
		seg_write_row_center (0, sprintf_buffer);
		sprintf_score (super_jackpot_calc);
		seg_write_row_center (1, sprintf_buffer);
		seg_show ();
		task_sleep_sec (1);
	}

	score_zero (super_jackpot_calc);
	switch (mpf_level)
	{
		case 0:
			score_add (super_jackpot_calc, score_table[SC_100K]);
			break;
		case 1:
			score_add (super_jackpot_calc, score_table[SC_200K]);
			break;
		case 2:
			score_add (super_jackpot_calc, score_table[SC_300K]);
			break;
		case 3:
			score_add (super_jackpot_calc, score_table[SC_500K]);
			break;
		default:
			break;
	}
	seg_alloc_clean ();
	sprintf ("MPF LEVEL");
	seg_write_row_center (0, sprintf_buffer);
	sprintf_score (super_jackpot_calc);
	seg_write_row_center (1, sprintf_buffer);
	seg_show ();
	task_sleep_sec (1);
	


	score_zero (super_jackpot_calc);
	switch (rightramp_level)
	{
		case 0:
			score_add (super_jackpot_calc, score_table[SC_50K]);
			break;
		case 1:
			score_add (super_jackpot_calc, score_table[SC_100K]);
			break;
		case 2:
			score_add (super_jackpot_calc, score_table[SC_500K]);
			break;
		case 3:
			score_add (super_jackpot_calc, score_table[SC_1M]);
			break;
		default:
			break;
	}
	seg_alloc_clean ();
	sprintf ("RIGHT RAMP");
	seg_write_row_center (0, sprintf_buffer);
	sprintf_score (super_jackpot_calc);
	seg_write_row_center (1, sprintf_buffer);
	seg_show ();
	task_sleep_sec (1);
	
	score_zero (super_jackpot_calc);
	if (score_compare (total_jets_score, score_table[SC_500K]) >= 0)
		score_add (super_jackpot_calc, score_table[SC_500K]);
	else if (score_compare (total_jets_score, score_table[SC_100K]) >= 0)
		score_add (super_jackpot_calc, score_table[SC_100K]);
	else if (score_compare (total_jets_score, score_table[SC_50K]) >= 0)
		score_add (super_jackpot_calc, score_table[SC_50K]);
	else if (score_compare (total_jets_score, score_table[SC_25K]) >= 0)
		score_add (super_jackpot_calc, score_table[SC_25K]);
	
	seg_alloc_clean ();
	sprintf ("JETS");
	seg_write_row_center (0, sprintf_buffer);
	sprintf_score (super_jackpot_calc);
	seg_write_row_center (1, sprintf_buffer);
	seg_show ();
	task_sleep_sec (1);
	
	score_zero (super_jackpot_calc);
	switch (left_loop_level)
	{
		case 0:
			score_add (super_jackpot_calc, score_table[SC_25K]);
			break;
		case 1:
			score_add (super_jackpot_calc, score_table[SC_50K]);
			break;
		case 2:
			score_add (super_jackpot_calc, score_table[SC_100K]);
			break;
		case 3:
			score_add (super_jackpot_calc, score_table[SC_500K]);
			break;
		default:
			break;
	}
	
	seg_alloc_clean ();
	sprintf ("LEFT LOOP");
	seg_write_row_center (0, sprintf_buffer);
	sprintf_score (super_jackpot_calc);
	seg_write_row_center (1, sprintf_buffer);
	seg_show ();
	task_sleep_sec (1);
	
	score_zero (super_jackpot_calc);
	switch (right_loop_level)
	{
		case 0:
			score_add (super_jackpot_calc, score_table[SC_25K]);
			break;
		case 1:
			score_add (super_jackpot_calc, score_table[SC_50K]);
			break;
		case 2:
			score_add (super_jackpot_calc, score_table[SC_100K]);
			break;
		case 3:
			score_add (super_jackpot_calc, score_table[SC_500K]);
			break;
		default:
			break;
	}
	seg_alloc_clean ();
	sprintf ("RIGHT LOOP");
	seg_write_row_center (0, sprintf_buffer);
	sprintf_score (super_jackpot_calc);
	seg_write_row_center (1, sprintf_buffer);
	seg_show ();
	task_sleep_sec (1);
	
	deff_exit ();
}