Added -mod commandline argument to add additional locations to physfs

dev-mp
krzys-h 2014-07-24 22:46:47 +02:00
parent 7131abd385
commit 17041e718b
2 changed files with 12 additions and 2 deletions

View File

@ -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
}

View File

@ -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();