nuclear@18: #include nuclear@18: #include nuclear@18: #include nuclear@18: #include "cfg.h" nuclear@18: nuclear@18: Config cfg; nuclear@18: nuclear@18: Config::Config() nuclear@18: { nuclear@18: width = 800; nuclear@18: height = 600; nuclear@18: stereo = false; nuclear@18: level_file = "0.level"; nuclear@18: tileset_file = "default.tileset"; nuclear@42: use_deferred = true; nuclear@18: } nuclear@18: nuclear@18: bool Config::parse_args(int argc, char **argv) nuclear@18: { nuclear@18: for(int i=1; ix\n"); nuclear@25: return false; nuclear@25: } nuclear@25: } else if(strcmp(argv[i], "-stereo") == 0) { nuclear@25: stereo = true; nuclear@25: } else if(strcmp(argv[i], "-level") == 0) { nuclear@25: level_file = argv[++i]; nuclear@25: } else if(strcmp(argv[i], "-tileset") == 0) { nuclear@25: tileset_file = argv[++i]; nuclear@42: } else if(strcmp(argv[i], "-no-deferred") == 0) { nuclear@42: use_deferred = false; nuclear@25: } else if(strcmp(argv[i], "-h") == 0 || strcmp(argv[i], "-help") == 0) { nuclear@25: printf("Usage: %s [options]\n", argv[0]); nuclear@25: printf(" -s WxH window size (resolution)\n"); nuclear@25: printf(" -level specify which level file to load\n"); nuclear@25: printf(" -tileset specify which tileset to use\n"); nuclear@25: printf(" -stereo enable stereoscopic rendering\n"); nuclear@42: printf(" -no-deferred disable deferred renderer\n"); nuclear@25: printf(" -h/-help print usage information and exit\n"); nuclear@25: exit(0); nuclear@25: nuclear@25: } else { nuclear@25: fprintf(stderr, "unrecognized option: %s\n", argv[i]); nuclear@18: return false; nuclear@18: } nuclear@18: } else { nuclear@25: level_file = argv[i]; nuclear@18: } nuclear@18: } nuclear@18: return true; nuclear@18: }