- added / updated commandline params to auto start or connect to a network game server

This commit is contained in:
Mark Vejvoda 2010-08-21 06:47:00 +00:00
parent b99d1f7421
commit 5a42638060
2 changed files with 21 additions and 5 deletions

View File

@ -50,6 +50,8 @@ bool gameInitialized = false;
const char *GAME_ARGS[] = { const char *GAME_ARGS[] = {
"--help", "--help",
"--client",
"--server",
"--version", "--version",
"--opengl-info", "--opengl-info",
"--validate-techtrees", "--validate-techtrees",
@ -58,6 +60,8 @@ const char *GAME_ARGS[] = {
enum GAME_ARG_TYPE { enum GAME_ARG_TYPE {
GAME_ARG_HELP = 0, GAME_ARG_HELP = 0,
GAME_ARG_CLIENT,
GAME_ARG_SERVER,
GAME_ARG_VERSION, GAME_ARG_VERSION,
GAME_ARG_OPENGL_INFO, GAME_ARG_OPENGL_INFO,
GAME_ARG_VALIDATE_TECHTREES, GAME_ARG_VALIDATE_TECHTREES,
@ -451,6 +455,8 @@ int glestMain(int argc, char** argv){
printf("Commandline Parameter:\t\tDescription:"); printf("Commandline Parameter:\t\tDescription:");
printf("\n----------------------\t\t------------"); printf("\n----------------------\t\t------------");
printf("\n%s\t\t\t\tdisplays this help text.",GAME_ARGS[GAME_ARG_HELP]); printf("\n%s\t\t\t\tdisplays this help text.",GAME_ARGS[GAME_ARG_HELP]);
printf("\n%s=x\t\t\tAuto connects to a network server at IP or hostname x",GAME_ARGS[GAME_ARG_CLIENT]);
printf("\n%s\t\t\tAuto creates a network server.",GAME_ARGS[GAME_ARG_SERVER]);
printf("\n%s\t\t\tdisplays the version string of this program.",GAME_ARGS[GAME_ARG_VERSION]); printf("\n%s\t\t\tdisplays the version string of this program.",GAME_ARGS[GAME_ARG_VERSION]);
printf("\n%s\t\t\tdisplays your video driver's OpenGL information.",GAME_ARGS[GAME_ARG_OPENGL_INFO]); printf("\n%s\t\t\tdisplays your video driver's OpenGL information.",GAME_ARGS[GAME_ARG_OPENGL_INFO]);
printf("\n%s=x\t\tdisplays a report detailing any known problems related",GAME_ARGS[GAME_ARG_VALIDATE_TECHTREES]); printf("\n%s=x\t\tdisplays a report detailing any known problems related",GAME_ARGS[GAME_ARG_VALIDATE_TECHTREES]);
@ -618,11 +624,19 @@ int glestMain(int argc, char** argv){
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
//parse command line //parse command line
if(argc==2 && string(argv[1])=="-server"){ if(hasCommandArgument(argc, argv,GAME_ARGS[GAME_ARG_SERVER]) == true) {
program->initServer(mainWindow); program->initServer(mainWindow);
} }
else if(argc==3 && string(argv[1])=="-client"){ else if(hasCommandArgument(argc, argv,string(GAME_ARGS[GAME_ARG_CLIENT]) + string("=")) == true) {
program->initClient(mainWindow, Ip(argv[2])); int foundParamIndIndex = -1;
hasCommandArgument(argc, argv,string(GAME_ARGS[GAME_ARG_CLIENT]) + string("="),&foundParamIndIndex);
string serverToConnectTo = argv[foundParamIndIndex];
vector<string> paramPartTokens;
Tokenize(serverToConnectTo,paramPartTokens,"=");
if(paramPartTokens.size() >= 2) {
string autoConnectServer = paramPartTokens[1];
program->initClient(mainWindow, autoConnectServer);
}
} }
else{ else{
program->initNormal(mainWindow); program->initNormal(mainWindow);
@ -634,7 +648,7 @@ int glestMain(int argc, char** argv){
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] OpenGL Info:\n%s\n",__FILE__,__FUNCTION__,__LINE__,renderer.getGlInfo().c_str()); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] OpenGL Info:\n%s\n",__FILE__,__FUNCTION__,__LINE__,renderer.getGlInfo().c_str());
if(hasCommandArgument(argc, argv,GAME_ARGS[GAME_ARG_OPENGL_INFO]) == true) { if(hasCommandArgument(argc, argv,GAME_ARGS[GAME_ARG_OPENGL_INFO]) == true) {
Renderer &renderer= Renderer::getInstance(); //Renderer &renderer= Renderer::getInstance();
printf("%s",renderer.getGlInfo().c_str()); printf("%s",renderer.getGlInfo().c_str());
delete mainWindow; delete mainWindow;

View File

@ -124,7 +124,8 @@ MenuStateJoinGame::MenuStateJoinGame(Program *program, MainMenu *mainMenu, bool
if(connect) if(connect)
{ {
labelServerIp.setText(serverIp.getString() + "_"); labelServerIp.setText(serverIp.getString() + "_");
connectToServer();
autoConnectToServer = true;
} }
else else
{ {
@ -133,6 +134,7 @@ MenuStateJoinGame::MenuStateJoinGame(Program *program, MainMenu *mainMenu, bool
chatManager.init(&console, -1); chatManager.init(&console, -1);
} }
MenuStateJoinGame::~MenuStateJoinGame() { MenuStateJoinGame::~MenuStateJoinGame() {
abortAutoFind = true; abortAutoFind = true;
} }