cmd options
This commit is contained in:
parent
fbdddb1cd9
commit
8ba4ca3ffb
3 changed files with 82 additions and 6 deletions
|
@ -1,4 +1,9 @@
|
||||||
Klassische Kepler Kriege
|
Klassische Kepler Kriege
|
||||||
===
|
========================
|
||||||
|
|
||||||
Game based on NewtonWars (https://github.com/Draradech/NewtonWars), rewritten in C++ with some more fancy OpenGL shitz.
|
Game based on NewtonWars (https://github.com/Draradech/NewtonWars), rewritten in C++ with some more fancy OpenGL shitz.
|
||||||
|
|
||||||
|
dependencies
|
||||||
|
------------
|
||||||
|
|
||||||
|
libepoxy-dev
|
||||||
|
|
|
@ -1,12 +1,62 @@
|
||||||
#include "opengl.h"
|
#include "opengl.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <getopt.h>
|
||||||
|
|
||||||
//#include "triangle_window.h"
|
//#include "triangle_window.h"
|
||||||
#include "game_window.h"
|
#include "game_window.h"
|
||||||
|
#include "options.hpp"
|
||||||
|
|
||||||
int main(int argc, const char *argv[]) {
|
|
||||||
GameWindow window(500, 500);
|
using namespace std;
|
||||||
window.set_maxfps(60.0);
|
|
||||||
window.loop();
|
int main(int argc, char *argv[]) {
|
||||||
window.stop();
|
|
||||||
|
char c;
|
||||||
|
|
||||||
|
static struct option long_options[] =
|
||||||
|
{
|
||||||
|
/* These options set a flag. */
|
||||||
|
// {"verbose", no_argument, &verbose_flag, 1},
|
||||||
|
// {"brief", no_argument, &verbose_flag, 0},
|
||||||
|
/* These options don’t set a flag.
|
||||||
|
We distinguish them by their indices. */
|
||||||
|
// {"add", no_argument, 0, 'a'},
|
||||||
|
// {"append", no_argument, 0, 'b'},
|
||||||
|
// {"delete", required_argument, 0, 'd'},
|
||||||
|
// {"create", required_argument, 0, 'c'},
|
||||||
|
{"fps", no_argument, 0, 'f'},
|
||||||
|
{0, 0, 0, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
int option_index = 0;
|
||||||
|
|
||||||
|
while(1){
|
||||||
|
c = getopt_long (argc, argv, "abc:d:f",
|
||||||
|
long_options, &option_index);
|
||||||
|
if (c == -1)
|
||||||
|
break;
|
||||||
|
|
||||||
|
switch (c)
|
||||||
|
{
|
||||||
|
case 'f':
|
||||||
|
SET_FLAG(SHOW_FPS,true);
|
||||||
|
break;
|
||||||
|
/*case 'c':
|
||||||
|
cvalue = optarg;
|
||||||
|
break;
|
||||||
|
*/
|
||||||
|
|
||||||
|
case '?':
|
||||||
|
/* getopt_long already printed an error message. */
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GameWindow window(500, 500);
|
||||||
|
window.set_maxfps(60.0);
|
||||||
|
window.loop();
|
||||||
|
window.stop();
|
||||||
}
|
}
|
||||||
|
|
21
game/options.hpp
Normal file
21
game/options.hpp
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
|
||||||
|
#define TEST_FLAG1 0
|
||||||
|
#define SHOW_FPS 1
|
||||||
|
#define TEST_FLAG2 2
|
||||||
|
//...
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define SET_FLAG(x,y) optionsFlags&=(~((1)<<x));optionsFlags|=((y&1)<<x)
|
||||||
|
#define ISSET_FLAG(x) (optionsFlags&((1)<<x))
|
||||||
|
uint64_t optionsFlags;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* usage:
|
||||||
|
* SET_FLAG(SHOW_FPS,true);
|
||||||
|
*
|
||||||
|
* if(ISSET_FLAG(SHOW_FPS)){
|
||||||
|
* ...
|
||||||
|
* }
|
||||||
|
*/
|
Loading…
Reference in a new issue