Пример #1
0
/* the main program when not doing a compile */
static int ccache_main(int argc, char *argv[])
{
	int c;
	size_t v;

	while ((c = getopt(argc, argv, "hszcCF:M:V")) != -1) {
		switch (c) {
		case 'V':
			printf("ccache version %s\n", CCACHE_VERSION);
			printf("Copyright Andrew Tridgell 2002\n");
			printf("Released under the GNU GPL v2 or later\n");
			exit(0);

		case 'h':
			usage();
			exit(0);
			
		case 's':
			stats_summary();
			break;

		case 'c':
			cleanup_all(cache_dir);
			printf("Cleaned cache\n");
			break;

		case 'C':
			wipe_all(cache_dir);
			printf("Cleared cache\n");
			break;

		case 'z':
			stats_zero();
			printf("Statistics cleared\n");
			break;

		case 'F':
			v = atoi(optarg);
			stats_set_limits(v, -1);
			printf("Set cache file limit to %u\n", (unsigned)v);
			break;

		case 'M':
			v = value_units(optarg);
			stats_set_limits(-1, v);
			printf("Set cache size limit to %uk\n", (unsigned)v);
			break;

		default:
			usage();
			exit(1);
		}
	}

	return 0;
}
Пример #2
0
char	*get_out_map_file_name( char *s )
{
	long	i;
	const long	max_i = LOOP_MAX_1000;
	static char	fname[FILE_NAME_MAX_LEN + 1];
	static char	num_s[10 + 1];
	long	y;
	ask_t	ask;

	set_map_total( 0, 0, MAP_MAX_X, MAP_MAX_Y );
	wipe_all();

	/* デフォルトのファイル名を生成 */
	for( i = 0; i < max_i; i++ ){
		sn_printf( num_s, 10, STR_EXT_NAME_OUT_MAP, i );

		str_nz_cpy( fname, dir_name_game, FILE_NAME_MAX_LEN );
		str_max_n_cat( fname, STR_SLASH,
				FILE_NAME_MAX_LEN );
		str_max_n_cat( fname, STR_DIR_NAME_OUT_MAP,
				FILE_NAME_MAX_LEN );
		str_max_n_cat( fname, STR_SLASH,
				FILE_NAME_MAX_LEN );
		str_max_n_cat( fname, STR_FILE_NAME_OUT_MAP,
				FILE_NAME_MAX_LEN );
		str_max_n_cat( fname, num_s,
				FILE_NAME_MAX_LEN );

		if( !chk_exist_file( fname ) )
			break;
	}
	if( i >= max_i )
		return NULL;

	y = 0;
	print_str( 0, y, MSG_OUT_MAP_FILE_1 );
	y++;
	print_str( 0, y, MSG_OUT_MAP_FILE_2, fname );
	y++;

	/* ファイル名を入力 */
	str_nz_cpy( s, fname, FILE_NAME_MAX_LEN );
	game_gets( -1, -1, MSG_OUT_MAP_FILE_1,
			s, FILE_NAME_MAX_LEN, TRUE );

	if( s[0] == '\0' ){
		str_nz_cpy( s, fname, FILE_NAME_MAX_LEN );
	} else if( (s[0] == '/') || (s[0] == '~') ){
		str_nz_cpy( fname, s, FILE_NAME_MAX_LEN );
	} else {
		str_nz_cpy( fname, dir_name_game, FILE_NAME_MAX_LEN );
		str_max_n_cat( fname, STR_SLASH,
				FILE_NAME_MAX_LEN );
		str_max_n_cat( fname, STR_DIR_NAME_OUT_MAP,
				FILE_NAME_MAX_LEN );
		str_max_n_cat( fname, STR_SLASH,
				FILE_NAME_MAX_LEN );
		str_max_n_cat( fname, s,
				FILE_NAME_MAX_LEN );

		str_nz_cpy( s, fname, FILE_NAME_MAX_LEN );
	}

	print_str( 0, y, MSG_OUT_MAP_FILE_3, fname );
	y++;

	/* 本当に出力するか確認をとる */
	ask = exec_menu_ask( MSG_OUT_MAP_FILE_ASK_OK, ASK_NO, FALSE );

	wipe_menu();

	switch( ask ){
	case ASK_YES:
		return s;
	case ASK_NO:
	case ASK_CANCEL:
	case ASK_ERR:
		break;
	}

	return NULL;
}
Пример #3
0
bool_t	draw_space( bool_t flg_draw_staff_roll )
{
	long	sx, sy, sw, sh;
	long	mx, my;
	long	fl;
	long	max_n, i;

	move_space();

	g_frame++;
	do {
		if( !flg_draw_staff_roll )
			break;
		if( get_scene() != SCENE_N_ENDING_STAFF_ROLL )
			break;
		if( (g_frame % g_roll_frame_n) != 0 )
			break;

		staff_roll_y += 1;
		wipe_all();

		break;
	} while( 0 );

	sx = 0;
	sy = 0;
	sw = SCREEN_WIDTH;
	sh = SCREEN_HEIGHT;
	mx = sx + sw / 2;
	my = sy + sh / 2;

	max_n = get_star_n();
	fl = max_n / FLICKER_N;
	if( fl < 1 )
		fl = 1;

	for( i = 0; i < max_n; i++ ){
		long drx, dry;
		long zz;

		zz = g_space.star[i].z + 1;
		drx = mx + g_space.star[i].x / zz / 16;
		dry = my + g_space.star[i].y / zz / 32;

		wipe_star( g_space.star[i].drx, g_space.star[i].dry );
		if( dry < sh )
			draw_star( drx, dry, zz );

		g_space.star[i].drx = drx;
		g_space.star[i].dry = dry;

		if( (i % fl) == 0 )
			if( flg_draw_staff_roll )
				draw_staff_roll();
	}

	if( flg_draw_staff_roll )
		draw_staff_roll();

	set_crsr( 0, 0 );
	sleep_msec( 100 );

	return TRUE;
}