X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=laserbrain_demo;a=blobdiff_plain;f=src%2Fopt.cc;h=7f3d4bb69b0f437afa70b8aaf4e7eb86fabffb18;hp=9226785206e33bbff57c72d371555f3974ac177c;hb=3ee6226e6c7110280b4cc05a9c776eed3bfe6555;hpb=c5c29f4044110dd153ee5ca3b018c812d518a053 diff --git a/src/opt.cc b/src/opt.cc index 9226785..7f3d4bb 100644 --- a/src/opt.cc +++ b/src/opt.cc @@ -9,15 +9,22 @@ Options opt; Options def_opt = { 1280, 800, false, // vr - false // fullscreen + false, // fullscreen + 0, // scene file + true, // music + true, // reflections + 0 // data url }; enum { OPT_SIZE, OPT_VR, - OPT_SRGB, OPT_FULLSCREEN, OPT_WINDOWED, + OPT_SCENEFILE, + OPT_MUSIC, + OPT_REFLECT, + OPT_DATAURL, OPT_HELP }; @@ -27,6 +34,10 @@ static optcfg_option options[] = { {0, "vr", OPT_VR, "enable VR mode"}, {'f', "fullscreen", OPT_FULLSCREEN, "run in fullscreen mode"}, {'w', "windowed", OPT_WINDOWED, "run in windowed mode"}, + {0, "scene", OPT_SCENEFILE, "scene file to open"}, + {'m', "music", OPT_MUSIC, "play background audio"}, + {'r', "reflect", OPT_REFLECT, "render reflections"}, + {0, "url", OPT_DATAURL, "data URL"}, {'h', "help", OPT_HELP, "print usage and exit"}, OPTCFG_OPTIONS_END }; @@ -89,8 +100,24 @@ static int opt_handler(optcfg *oc, int optid, void *cls) opt.fullscreen = !is_enabled(oc); break; + case OPT_SCENEFILE: + opt.scenefile = strdup(optcfg_next_value(oc)); + break; + + case OPT_MUSIC: + opt.music = is_enabled(oc); + break; + + case OPT_REFLECT: + opt.reflect = is_enabled(oc); + break; + + case OPT_DATAURL: + opt.data_url = strdup(optcfg_next_value(oc)); + break; + case OPT_HELP: - printf("Usage: vrfileman [options]\nOptions:\n"); + printf("Usage: demo [options]\nOptions:\n"); optcfg_print_options(oc); exit(0); } @@ -99,6 +126,10 @@ static int opt_handler(optcfg *oc, int optid, void *cls) static int arg_handler(optcfg *oc, const char *arg, void *cls) { - fprintf(stderr, "unexpected argument: %s\n", arg); - return -1; + if(opt.scenefile) { + fprintf(stderr, "unexpected argument: %s\n", arg); + return -1; + } + opt.scenefile = arg; + return 0; }