summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorkrzys-h <krzys_h@interia.pl>2014-07-24 22:46:47 +0200
committerkrzys-h <krzys_h@interia.pl>2014-07-24 22:46:47 +0200
commit17041e718b35b766df099dfaeaf4e7cc3cc63fa6 (patch)
treeb6c2d281d51c7bd1eda5f2656b478449ae5c0ef9 /src
parent7131abd385bb370328e7c59e8a6b70d160b2effc (diff)
downloadcolobot-17041e718b35b766df099dfaeaf4e7cc3cc63fa6.tar.gz
colobot-17041e718b35b766df099dfaeaf4e7cc3cc63fa6.tar.bz2
colobot-17041e718b35b766df099dfaeaf4e7cc3cc63fa6.zip
Added -mod commandline argument to add additional locations to physfs
Diffstat (limited to 'src')
-rw-r--r--src/app/app.cpp12
-rw-r--r--src/app/main.cpp2
2 files changed, 12 insertions, 2 deletions
diff --git a/src/app/app.cpp b/src/app/app.cpp
index c245838..cf509f9 100644
--- a/src/app/app.cpp
+++ b/src/app/app.cpp
@@ -208,7 +208,8 @@ ParseArgsStatus CApplication::ParseArguments(int argc, char *argv[])
OPT_LOGLEVEL,
OPT_LANGUAGE,
OPT_LANGDIR,
- OPT_VBO
+ OPT_VBO,
+ OPT_MOD
};
option options[] =
@@ -221,6 +222,7 @@ ParseArgsStatus CApplication::ParseArguments(int argc, char *argv[])
{ "language", required_argument, nullptr, OPT_LANGUAGE },
{ "langdir", required_argument, nullptr, OPT_LANGDIR },
{ "vbo", required_argument, nullptr, OPT_VBO },
+ { "mod", required_argument, nullptr, OPT_MOD },
{ nullptr, 0, nullptr, 0}
};
@@ -259,6 +261,7 @@ ParseArgsStatus CApplication::ParseArguments(int argc, char *argv[])
GetLogger()->Message(" -language lang set language (one of: en, de, fr, pl, ru)\n");
GetLogger()->Message(" -langdir path set custom language directory path\n");
GetLogger()->Message(" -vbo mode set OpenGL VBO mode (one of: auto, enable, disable)\n");
+ GetLogger()->Message(" -mod path load datadir mod from given path\n");
return PARSE_ARGS_HELP;
}
case OPT_DEBUG:
@@ -338,6 +341,13 @@ ParseArgsStatus CApplication::ParseArguments(int argc, char *argv[])
break;
}
+ case OPT_MOD:
+ {
+ GetLogger()->Info("Loading mod from \"%s\"\n", optarg);
+ CResourceManager::AddLocation(optarg, true);
+
+ break;
+ }
default:
assert(false); // should never get here
}
diff --git a/src/app/main.cpp b/src/app/main.cpp
index 324acc2..6ba8da2 100644
--- a/src/app/main.cpp
+++ b/src/app/main.cpp
@@ -79,7 +79,7 @@ int SDL_MAIN_FUNC(int argc, char *argv[])
{
CLogger logger; // single istance of logger
CResourceManager manager(argv[0]);
- manager.AddLocation(COLOBOT_DEFAULT_DATADIR);
+ manager.AddLocation(COLOBOT_DEFAULT_DATADIR, false);
// Initialize static string arrays
InitializeRestext();