Exemple #1
0
CALLSET_ENTRY (jets, jet_hit)
{
//	task_recreate_gid (GID_JETS, jet_hit_task);
	//score_copy (temp_score, current_score);
	flasher_pulse (FLASH_RIGHT_HELMET);
	/* Make a sound, based on level */
	
	if (!free_timer_test (timer_jets_level_up))
		sound_send (jet_sounds[jets_level][jets_sound_index]);
	jets_sound_index++;
	if (jets_sound_index > 2)
		jets_sound_index = 0;
	
	if (timed_mode_running_p (&jets_frenzy_mode))
	{
		score (SC_500K);
	}
	else if (score_compare (total_jets_score, score_table[SC_500K]) >= 0)
	{
		timed_mode_begin (&jets_frenzy_mode);
		score (SC_500K);
		score_add (jets_frenzy_total, score_table[SC_500K]);

	}
	else
	{
		/* Score the hit, based on level */	
		score_add (total_jets_score, score_table[jets_hit_scores[jets_level]]);
		score_long (score_table[jets_hit_scores[jets_level]]);
		bounded_increment (jets_hit, 255);
		/* Level up if needed */
		if (jets_hit >= jets_needed[jets_level])
		{
			bounded_increment (jets_level, 4);
			score_long (score_table[jets_level_up_scores[jets_level]]);
			jets_hit = 0;
			free_timer_restart (timer_jets_level_up, TIME_2S);
			sound_send (SND_WHOOSH_UP_1);
		}
	
		if ((score_compare (total_jets_score, score_table[SC_250K]) >= 0) && !flag_test (FLAG_250K_JETS))
			callset_invoke (wheel_award_jets);
		deff_restart (DEFF_JET_HIT);
	}

}
Exemple #2
0
void jet_hit_deff (void)
{
	seg_alloc_clean ();
	if (free_timer_test (timer_jets_level_up))
	{
		sprintf ("JETS NOW", jets_level);
		seg_write_row_center (0, sprintf_buffer);
		sprintf ("%s", jets_hit_text[jets_level]);
		seg_write_row_center (1, sprintf_buffer);
	}
	else
	{
		sprintf ("%d JETS", (jets_needed[jets_level] - jets_hit));
		seg_write_row_center (0, sprintf_buffer);
		sprintf ("TILL LEVEL UP"); 
		seg_write_row_center (1, sprintf_buffer);
	}
	seg_show ();
	task_sleep (TIME_500MS);
	deff_exit ();
}
Exemple #3
0
bool hurryup_timer_pause (void)
{
	if (free_timer_test (hurryup_pause_timer))
		return TRUE;
	return system_timer_pause ();
}