diff options
author | Jon Santmyer <jon@jonsantmyer.com> | 2022-07-03 11:24:05 -0400 |
---|---|---|
committer | Jon Santmyer <jon@jonsantmyer.com> | 2022-07-03 11:24:05 -0400 |
commit | 7d71827c25ff1ab47c03aaa26f63a9a754b3d549 (patch) | |
tree | 896eb9b61a3bc3be90d068b12ac38f07b99ffce5 /src/main.cpp | |
parent | 3d101c5638ef573993f387a2cecbb794e6e056e6 (diff) | |
download | systemviewer-7d71827c25ff1ab47c03aaa26f63a9a754b3d549.tar.gz systemviewer-7d71827c25ff1ab47c03aaa26f63a9a754b3d549.tar.bz2 systemviewer-7d71827c25ff1ab47c03aaa26f63a9a754b3d549.zip |
Condensed solar system csv files into one.
Add argument parser for help and different systems
Diffstat (limited to 'src/main.cpp')
-rw-r--r-- | src/main.cpp | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/src/main.cpp b/src/main.cpp index 9ff09a6..5fafaf8 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,21 +1,42 @@ #include <iostream> #include "game.hpp" +#include "diargs.hpp" #include <sys/ioctl.h> #include <fcntl.h> #include <unistd.h> +void +printusage(int err) +{ + std::cout << "systemviewer " << VERSION << std::endl << + "Usage: systemviewer [OPTION]... [FILE]" << std::endl << + "With no FILE, FILE is assumed to be data/sol.csv" << std::endl << + "-h --help : print this message" << std::endl; + + std::exit(err); +} + int main(int argc, char **argv) { - (void)argc; - (void)argv; + std::string system = "dat/sol.csv"; + bool helpflag; + + diargs::ArgsPair args{argc, argv}; + diargs::ArgumentList arglist( + diargs::OrderedArgument<std::string>(system), + diargs::ToggleArgument<bool>("help", 'h', helpflag, true) + ); + diargs::ArgumentParser(printusage, arglist, args); + + if(helpflag) printusage(0); struct winsize w; ioctl(STDOUT_FILENO, TIOCGWINSZ, &w); fcntl(STDIN_FILENO, F_SETFL, fcntl(0, F_GETFL) | O_NONBLOCK); - Game::setup(w.ws_col, w.ws_row); + Game::setup(w.ws_col, w.ws_row, system); while(Game::running()) { Game::turn(); |