From a0919bf3451267337d2b2696e4c38fb68cc7a229 Mon Sep 17 00:00:00 2001 From: Kp Date: Sun, 11 Oct 2015 22:21:00 +0000 Subject: [PATCH] Add support for -add-missions-dir --- common/include/args.h | 1 + similar/misc/args.cpp | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/common/include/args.h b/common/include/args.h index e536add38..be89d3f14 100644 --- a/common/include/args.h +++ b/common/include/args.h @@ -75,6 +75,7 @@ struct Arg : prohibit_void_ptr { int SysMaxFPS; std::string SysHogDir; + std::string SysMissionDir; std::string SysPilot; std::string SysRecordDemoNameTemplate; bool SysShowCmdHelp; diff --git a/similar/misc/args.cpp b/similar/misc/args.cpp index 205635dde..c75b3fcf4 100644 --- a/similar/misc/args.cpp +++ b/similar/misc/args.cpp @@ -200,6 +200,10 @@ static void ReadCmdArgs(Inilist &ini, Arglist &Args) GameArg.SysMaxFPS = arg_integer(pp, end); else if (!d_stricmp(p, "-hogdir")) GameArg.SysHogDir = arg_string(pp, end); +#if PHYSFS_VER_MAJOR >= 2 + else if (!d_stricmp(p, "-add-missions-dir")) + GameArg.SysMissionDir = arg_string(pp, end); +#endif else if (!d_stricmp(p, "-nohogdir")) { /* No effect on non-Unix. Ignore it so that players can @@ -395,6 +399,10 @@ static void PostProcessGameArg() GameArg.SysMaxFPS = MINIMUM_FPS; else if (GameArg.SysMaxFPS > MAXIMUM_FPS) GameArg.SysMaxFPS = MAXIMUM_FPS; +#if PHYSFS_VER_MAJOR >= 2 + if (!GameArg.SysMissionDir.empty()) + PHYSFS_mount(GameArg.SysMissionDir.c_str(), MISSION_DIR, 1); +#endif static char sdl_disable_lock_keys[] = "SDL_DISABLE_LOCK_KEYS=0"; if (CGameArg.CtlNoStickyKeys) // Must happen before SDL_Init!