summaryrefslogtreecommitdiffstats
path: root/src/app
diff options
context:
space:
mode:
authorPiotr Dziwinski <piotrdz@gmail.com>2012-09-17 23:41:53 +0200
committerPiotr Dziwinski <piotrdz@gmail.com>2012-09-17 23:41:53 +0200
commit4b67386a697c27186b6eb4809bea9547372dacd7 (patch)
tree0e8a35b847abb6d999d926a6e5b0f10d84768f15 /src/app
parent844e11db4f394004258cdca8f8fd8bc95c41a985 (diff)
downloadcolobot-4b67386a697c27186b6eb4809bea9547372dacd7.tar.gz
colobot-4b67386a697c27186b6eb4809bea9547372dacd7.tar.bz2
colobot-4b67386a697c27186b6eb4809bea9547372dacd7.zip
Change of background image handling
- removed old 4 quarter backgrounds - fixes in texture loading - other minor fixes
Diffstat (limited to 'src/app')
-rw-r--r--src/app/app.cpp18
-rw-r--r--src/app/app.h13
-rw-r--r--src/app/main.cpp7
3 files changed, 28 insertions, 10 deletions
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;