From 4b67386a697c27186b6eb4809bea9547372dacd7 Mon Sep 17 00:00:00 2001 From: Piotr Dziwinski Date: Mon, 17 Sep 2012 23:41:53 +0200 Subject: Change of background image handling - removed old 4 quarter backgrounds - fixes in texture loading - other minor fixes --- src/app/app.cpp | 18 ++++++++++-------- src/app/app.h | 13 ++++++++++++- src/app/main.cpp | 7 ++++++- 3 files changed, 28 insertions(+), 10 deletions(-) (limited to 'src/app') diff --git a/src/app/app.cpp b/src/app/app.cpp index 610cdbb..ab02b11 100644 --- a/src/app/app.cpp +++ b/src/app/app.cpp @@ -144,7 +144,7 @@ CApplication::~CApplication() DestroyTimeStamp(m_lastTimeStamp); } -bool CApplication::ParseArguments(int argc, char *argv[]) +ParseArgsStatus CApplication::ParseArguments(int argc, char *argv[]) { bool waitDataDir = false; bool waitLogLevel = false; @@ -178,7 +178,7 @@ bool CApplication::ParseArguments(int argc, char *argv[]) else if (arg == "none") GetLogger()->SetLogLevel(LOG_NONE); else - return false; + return PARSE_ARGS_FAIL; continue; } @@ -194,7 +194,7 @@ bool CApplication::ParseArguments(int argc, char *argv[]) else if (arg == "pl") m_language = LANG_POLISH; else - return false; + return PARSE_ARGS_FAIL; continue; } @@ -216,7 +216,8 @@ bool CApplication::ParseArguments(int argc, char *argv[]) } else if (arg == "-help") { - GetLogger()->Message("COLOBOT\n"); + GetLogger()->Message("\n"); + GetLogger()->Message("COLOBOT GOLD pre-alpha\n"); GetLogger()->Message("\n"); GetLogger()->Message("List of available options:\n"); GetLogger()->Message(" -help this help\n"); @@ -224,20 +225,20 @@ bool CApplication::ParseArguments(int argc, char *argv[]) GetLogger()->Message(" -debug enable debug mode (more info printed in logs)\n"); GetLogger()->Message(" -loglevel level set log level to level (one of: trace, debug, info, warn, error, none)\n"); GetLogger()->Message(" -language lang set language (one of: en, de, fr, pl)\n"); - return true; + return PARSE_ARGS_HELP; } else { m_exitCode = 1; - return false; + return PARSE_ARGS_FAIL; } } // Args not given? if (waitDataDir || waitLogLevel || waitLanguage) - return false; + return PARSE_ARGS_FAIL; - return true; + return PARSE_ARGS_OK; } bool CApplication::Create() @@ -280,6 +281,7 @@ bool CApplication::Create() break; } + setenv("LANGUAGE", locale.c_str(), 1); setlocale(LC_ALL, locale.c_str()); std::string trPath = m_dataPath + std::string("/i18n"); diff --git a/src/app/app.h b/src/app/app.h index 1834a67..1275d10 100644 --- a/src/app/app.h +++ b/src/app/app.h @@ -146,6 +146,17 @@ struct InputBinding } }; +/** + * \enum ParseArgsStatus + * \brief State of parsing commandline arguments + */ +enum ParseArgsStatus +{ + PARSE_ARGS_OK = 1, //! < all ok + PARSE_ARGS_FAIL = 2, //! < invalid syntax + PARSE_ARGS_HELP = 3 //! < -help requested +}; + struct ApplicationPrivate; /** @@ -201,7 +212,7 @@ public: public: //! Parses commandline arguments - bool ParseArguments(int argc, char *argv[]); + ParseArgsStatus ParseArguments(int argc, char *argv[]); //! Initializes the application bool Create(); //! Main event loop diff --git a/src/app/main.cpp b/src/app/main.cpp index 0d885f7..084ca30 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -78,11 +78,16 @@ int main(int argc, char *argv[]) CApplication app; // single instance of the application - if (! app.ParseArguments(argc, argv)) + ParseArgsStatus status = app.ParseArguments(argc, argv); + if (status == PARSE_ARGS_FAIL) { SystemDialog(SDT_ERROR, "COLOBOT - Fatal Error", "Invalid commandline arguments!\n"); return app.GetExitCode(); } + else if (status == PARSE_ARGS_HELP) + { + return app.GetExitCode(); + } int code = 0; -- cgit v1.2.3-1-g7c22