diff --git a/src/d_iwad.cpp b/src/d_iwad.cpp index f7656e9d4b..70e7bcb30c 100644 --- a/src/d_iwad.cpp +++ b/src/d_iwad.cpp @@ -262,10 +262,10 @@ void FIWadManager::ParseIWadInfo(const char *fn, const char *data, int datasize, // //========================================================================== -FIWadManager::FIWadManager(const char *fn) +FIWadManager::FIWadManager(const char *fn, const char *optfn) { - FResourceFile *resfile = FResourceFile::OpenResourceFile(fn, true); - if (resfile != NULL) + FResourceFile *resfile = FResourceFile::OpenResourceFile(optfn, true); + if (resfile != NULL && 0) { uint32_t cnt = resfile->LumpCount(); for(int i=cnt-1; i>=0; i--) @@ -280,10 +280,10 @@ FIWadManager::FIWadManager(const char *fn) } } delete resfile; - } - if (mIWadNames.Size() == 0 || mIWadInfos.Size() == 0) - { - I_FatalError("No IWAD definitions found"); + if (mIWadNames.Size() == 0 || mIWadInfos.Size() == 0) + { + I_FatalError("No IWAD definitions found"); + } } } diff --git a/src/d_main.cpp b/src/d_main.cpp index 930f1893dc..1aa67e9b48 100644 --- a/src/d_main.cpp +++ b/src/d_main.cpp @@ -2338,7 +2338,7 @@ void D_DoomMain (void) FString optionalwad = BaseFileSearch(OPTIONALWAD, NULL, true); - iwad_man = new FIWadManager(basewad); + iwad_man = new FIWadManager(basewad, optionalwad); // Now that we have the IWADINFO, initialize the autoload ini sections. GameConfig->DoAutoloadSetup(iwad_man); @@ -2368,7 +2368,7 @@ void D_DoomMain (void) if (iwad_man == NULL) { - iwad_man = new FIWadManager(basewad); + iwad_man = new FIWadManager(basewad, optionalwad); } const FIWADInfo *iwad_info = iwad_man->FindIWAD(allwads, iwad, basewad, optionalwad); gameinfo.gametype = iwad_info->gametype; diff --git a/src/d_main.h b/src/d_main.h index 764850aa9c..f19aa66714 100644 --- a/src/d_main.h +++ b/src/d_main.h @@ -151,7 +151,7 @@ class FIWadManager void AddIWADCandidates(const char *dir); void ValidateIWADs(); public: - FIWadManager(const char *fn); + FIWadManager(const char *fn, const char *fnopt); const FIWADInfo *FindIWAD(TArray &wadfiles, const char *iwad, const char *basewad, const char *optionalwad); const FString *GetAutoname(unsigned int num) const { diff --git a/wadsrc/static/iwadinfo.txt b/wadsrc_extra/static/iwadinfo.txt similarity index 100% rename from wadsrc/static/iwadinfo.txt rename to wadsrc_extra/static/iwadinfo.txt