summaryrefslogtreecommitdiffstats
path: root/src/app
diff options
context:
space:
mode:
authorkrzys-h <krzys_h@interia.pl>2013-12-26 22:13:04 +0100
committerkrzys-h <krzys_h@interia.pl>2013-12-26 22:13:04 +0100
commit0f57809f5112a6e4acbc2cb95d92be2cf6108a0c (patch)
tree5bf5c3ff4d0e93fd1cb856c121616b63285462bc /src/app
parent3a78d587bd781d7bd5429dc777522d43129952c1 (diff)
downloadcolobot-0f57809f5112a6e4acbc2cb95d92be2cf6108a0c.tar.gz
colobot-0f57809f5112a6e4acbc2cb95d92be2cf6108a0c.tar.bz2
colobot-0f57809f5112a6e4acbc2cb95d92be2cf6108a0c.zip
Added scene test mode
... and fixed a "small" bug in previous commit ;)
Diffstat (limited to 'src/app')
-rw-r--r--src/app/app.cpp15
-rw-r--r--src/app/app.h5
2 files changed, 19 insertions, 1 deletions
diff --git a/src/app/app.cpp b/src/app/app.cpp
index 32fec89..80d0480 100644
--- a/src/app/app.cpp
+++ b/src/app/app.cpp
@@ -153,6 +153,8 @@ CApplication::CApplication()
m_runSceneName = "";
m_runSceneRank = 0;
+
+ m_sceneTest = false;
m_language = LANGUAGE_ENV;
@@ -186,7 +188,6 @@ CApplication::~CApplication()
m_eventQueue = nullptr;
delete m_profile;
- m_profile = nullptr;
delete m_iMan;
m_iMan = nullptr;
@@ -225,6 +226,7 @@ ParseArgsStatus CApplication::ParseArguments(int argc, char *argv[])
OPT_HELP = 1,
OPT_DEBUG,
OPT_RUNSCENE,
+ OPT_SCENETEST,
OPT_LOGLEVEL,
OPT_LANGUAGE,
OPT_DATADIR,
@@ -239,6 +241,7 @@ ParseArgsStatus CApplication::ParseArguments(int argc, char *argv[])
{ "help", no_argument, nullptr, OPT_HELP },
{ "debug", required_argument, nullptr, OPT_DEBUG },
{ "runscene", required_argument, nullptr, OPT_RUNSCENE },
+ { "scenetest", no_argument, nullptr, OPT_SCENETEST },
{ "loglevel", required_argument, nullptr, OPT_LOGLEVEL },
{ "language", required_argument, nullptr, OPT_LANGUAGE },
{ "datadir", required_argument, nullptr, OPT_DATADIR },
@@ -280,6 +283,7 @@ ParseArgsStatus CApplication::ParseArguments(int argc, char *argv[])
GetLogger()->Message(" -help this help\n");
GetLogger()->Message(" -debug modes enable debug modes (more info printed in logs; see code for reference of modes)\n");
GetLogger()->Message(" -runscene sceneNNN run given scene on start\n");
+ GetLogger()->Message(" -scenetest win every mission right after it's loaded\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, ru)\n");
GetLogger()->Message(" -datadir path set custom data directory path\n");
@@ -318,6 +322,11 @@ ParseArgsStatus CApplication::ParseArguments(int argc, char *argv[])
GetLogger()->Info("Running scene '%s%d' on start\n", m_runSceneName.c_str(), m_runSceneRank);
break;
}
+ case OPT_SCENETEST:
+ {
+ m_sceneTest = true;
+ break;
+ }
case OPT_LOGLEVEL:
{
LogLevel logLevel;
@@ -1859,3 +1868,7 @@ bool CApplication::GetProtoMode() const
return m_protoMode;
}
+bool CApplication::GetSceneTestMode()
+{
+ return m_sceneTest;
+}
diff --git a/src/app/app.h b/src/app/app.h
index 6b02f67..789ee3e 100644
--- a/src/app/app.h
+++ b/src/app/app.h
@@ -362,6 +362,8 @@ public:
//@}
bool GetProtoMode() const;
+
+ bool GetSceneTestMode();
protected:
//! Creates the window's SDL_Surface
@@ -494,6 +496,9 @@ protected:
std::string m_runSceneName;
int m_runSceneRank;
//@}
+
+ //! Scene test mode
+ bool m_sceneTest;
const char* m_standardDataDirs[DIR_MAX];