nuclear@1: #include nuclear@1: #include nuclear@1: #include nuclear@0: #include "opt.h" nuclear@0: nuclear@1: Options opt; nuclear@1: nuclear@1: static void default_opt() nuclear@1: { nuclear@1: opt.xsz = 800; nuclear@1: opt.ysz = 450; nuclear@1: opt.stereo = false; nuclear@1: nuclear@1: opt.world_size[0] = opt.world_size[1] = 128; nuclear@1: opt.world_size[2] = 64; nuclear@1: nuclear@1: opt.gen_noise_scale = 1.0f; nuclear@1: } nuclear@1: nuclear@0: bool parse_opt(int argc, char **argv) nuclear@0: { nuclear@1: default_opt(); nuclear@1: nuclear@1: for(int i=1; ix\n"); nuclear@1: return false; nuclear@1: } nuclear@1: } else if(strcmp(argv[i], "-world") == 0) { nuclear@1: if(sscanf(argv[++i], "%dx%dx%d", opt.world_size, opt.world_size + 1, opt.world_size + 2) != 3) { nuclear@1: fprintf(stderr, "-world must be followed by xx\n"); nuclear@1: return false; nuclear@1: } nuclear@1: } else if(strcmp(argv[i], "-genscale") == 0) { nuclear@1: char *endp; nuclear@1: opt.gen_noise_scale = strtod(argv[++i], &endp); nuclear@1: if(endp == argv[i]) { nuclear@1: fprintf(stderr, "-genscale must be followed by a scaling factor\n"); nuclear@1: return false; nuclear@1: } nuclear@1: } else if(strcmp(argv[i], "-stereo") == 0) { nuclear@1: opt.stereo = true; nuclear@1: } else { nuclear@1: fprintf(stderr, "invalid option: %s\n", argv[i]); nuclear@1: return false; nuclear@1: } nuclear@1: } else { nuclear@1: fprintf(stderr, "unexpected argument: %s\n", argv[i]); nuclear@1: return false; nuclear@1: } nuclear@1: } nuclear@0: return true; nuclear@0: }