X-Git-Url: https://jasonwoof.com/gitweb/?p=vor.git;a=blobdiff_plain;f=args.c;h=5056239aed206fcc5fb828474d74c28486f63678;hp=9eb3ee73e23cf1a824a32dede58edf21716f484d;hb=HEAD;hpb=4a469ea97150b43af9990db9baa31849ff186516 diff --git a/args.c b/args.c index 9eb3ee7..81a9b16 100644 --- a/args.c +++ b/args.c @@ -2,77 +2,40 @@ #include #include #include "args.h" -#include "config.h" - -// Gameplay Variations -float opt_bounciness; -float opt_gamespeed; -float opt_max_lead; +#include +#include "vorconfig.h" // Look and Feel int opt_fullscreen; -int opt_music; int opt_sound; +int opt_autopilot; + static void show_help(void) { puts("Dodge the rocks until you die."); putchar('\n'); - puts(" Gameplay Variations:"); - puts(" -b, --bounciness=N% Keep N% of speed when hitting edges (default 50%)"); - puts(" -g, --game-speed=N% 50-200% (default 100%)"); - putchar('\n'); - puts(" Look and Feel:"); puts(" -f, --full-screen"); - puts(" -m, --music Enable music"); puts(" -s, --silent No explosion sounds or music"); - putchar('\n'); - puts(" Informational:"); - puts(" -?, --help Give this help list"); puts(" -V, --version Print program version"); + puts(" -?, --help Give this help list"); putchar('\n'); - puts("Mandatory or optional arguments to long options are also mandatory or optional"); - puts("for any corresponding short options."); - putchar('\n'); - puts("Report bugs at http://jasonwoof.com/contact.pl"); + puts("Report bugs at https://jasonwoof.com/contact"); } int short_opt(char c, char *arg) { - int i; - switch(c) { - case 'b': if(!arg || sscanf(arg, "%d%%", &i) != 1 || i < 0 || i > 100) { - fprintf(stderr, "bad --bounciness (-b) value (should be 0-100%%)\n\n"); - return 0; - } - opt_bounciness = (float)i / 100; - *arg = 0; - break; case 'f': opt_fullscreen = 1; break; - case 'g': if(!arg || sscanf(arg, "%d%%", &i) != 1 || i < 50 || i > 200) { - fprintf(stderr, "bad --game-speed (-g) value (should be 50-200%%)\n\n"); - return 0; - } - opt_gamespeed = (float)i / 100; - *arg = 0; - break; - case 'l': if(sscanf(arg, "%f", &opt_max_lead) != 1) { - fprintf(stderr, "bad --max-lead (-l) value (must be a number)\n\n"); - return 0; - } - opt_max_lead *= XSIZE; - *arg = 0; - break; - case 'm': opt_music = 1; break; - case 's': opt_sound = 0; opt_music = 0; break; + case 's': opt_sound = 0; break; case 'V': - printf("Variations on Rockdodger %s\n", VERSION); + printf("Variations on Rockdodger %s\n", PACKAGE_VERSION); exit(0); case '?': case 'h': return 0; + case 'a': opt_autopilot = 1; break; default: fprintf(stderr, "unknown option -%c\n\n", c); return 0; @@ -87,17 +50,9 @@ parse_short_opts(const char *s, char *arg) return short_opt(*s, arg); } -static char *long_opts[] = { - "bounciness", "game-speed", - "full-screen", "music", "silent", - "help", "version" -}; +static char *long_opts[] = { "full-screen", "silent", "version", "help", "autopilot" }; -static char short_opts[] = { - 'b', 'g', - 'f', 'm', 's', - 'h', 'V' -}; +static char short_opts[] = { 'f', 's', 'V', 'h', 'a' }; int parse_long_opt(const char *s, char *arg) @@ -114,15 +69,9 @@ parse_long_opt(const char *s, char *arg) void init_opts(void) { - // Gameplay Variations - opt_bounciness = 0.50; // lose 50% when you hit the screen edge. - opt_gamespeed = 1.00; // Run game at full speed. - opt_max_lead = 1.00*XSIZE; // you can get 1 screen ahead. - - // Look and Feel opt_fullscreen = 0; opt_sound = 1; - opt_music = 1; + opt_autopilot = 0; } int