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_LOGLEVEL,
OPT_LANGUAGE, OPT_LANGUAGE,
OPT_LANGDIR, OPT_LANGDIR,
OPT_VBO OPT_VBO,
OPT_MOD
}; };
option options[] = option options[] =
@ -221,6 +222,7 @@ ParseArgsStatus CApplication::ParseArguments(int argc, char *argv[])
{ "language", required_argument, nullptr, OPT_LANGUAGE }, { "language", required_argument, nullptr, OPT_LANGUAGE },
{ "langdir", required_argument, nullptr, OPT_LANGDIR }, { "langdir", required_argument, nullptr, OPT_LANGDIR },
{ "vbo", required_argument, nullptr, OPT_VBO }, { "vbo", required_argument, nullptr, OPT_VBO },
{ "mod", required_argument, nullptr, OPT_MOD },
{ nullptr, 0, nullptr, 0} { 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(" -language lang set language (one of: en, de, fr, pl, ru)\n");
GetLogger()->Message(" -langdir path set custom language directory path\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(" -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; return PARSE_ARGS_HELP;
} }
case OPT_DEBUG: case OPT_DEBUG:
@ -338,6 +341,13 @@ ParseArgsStatus CApplication::ParseArguments(int argc, char *argv[])
break; break;
} }
case OPT_MOD:
{
GetLogger()->Info("Loading mod from \"%s\"\n", optarg);
CResourceManager::AddLocation(optarg, true);
break;
}
default: default:
assert(false); // should never get here 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 CLogger logger; // single istance of logger
CResourceManager manager(argv[0]); CResourceManager manager(argv[0]);
manager.AddLocation(COLOBOT_DEFAULT_DATADIR); manager.AddLocation(COLOBOT_DEFAULT_DATADIR, false);
// Initialize static string arrays // Initialize static string arrays
InitializeRestext(); InitializeRestext();