/* 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; }
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; }
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; }