diff options
author | Simon Howard | 2010-04-18 17:15:20 +0000 |
---|---|---|
committer | Simon Howard | 2010-04-18 17:15:20 +0000 |
commit | 38c31575d255e1b2ff71f9de2c4d16664e8fb1e9 (patch) | |
tree | d67692c26ff72ea638a02f280c59e1bef15c7b2b /src | |
parent | 8069d8a0fdf30516cb6eff6d6a9e2990061f95c1 (diff) | |
download | chocolate-doom-38c31575d255e1b2ff71f9de2c4d16664e8fb1e9.tar.gz chocolate-doom-38c31575d255e1b2ff71f9de2c4d16664e8fb1e9.tar.bz2 chocolate-doom-38c31575d255e1b2ff71f9de2c4d16664e8fb1e9.zip |
Add WAD merging command line options to Heretic.
Subversion-branch: /branches/raven-branch
Subversion-revision: 1903
Diffstat (limited to 'src')
-rw-r--r-- | src/heretic/d_main.c | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/src/heretic/d_main.c b/src/heretic/d_main.c index 52e4239f..5fa2d5f9 100644 --- a/src/heretic/d_main.c +++ b/src/heretic/d_main.c @@ -46,6 +46,7 @@ #include "m_controls.h" #include "p_local.h" #include "s_sound.h" +#include "w_merge.h" #include "v_video.h" #define STARTUP_WINDOW_X 17 @@ -908,6 +909,132 @@ void D_DoomMain(void) D_AddFile(iwadfile); +#ifdef FEATURE_WAD_MERGE + + // Merged PWADs are loaded first, because they are supposed to be + // modified IWADs. + + //! + // @arg <files> + // @category mod + // + // Simulates the behavior of deutex's -merge option, merging a PWAD + // into the main IWAD. Multiple files may be specified. + // + + p = M_CheckParm("-merge"); + + if (p > 0) + { + for (p = p + 1; p<myargc && myargv[p][0] != '-'; ++p) + { + char *filename; + + filename = D_TryFindWADByName(myargv[p]); + + printf(" merging %s\n", filename); + W_MergeFile(filename); + } + } + + // NWT-style merging: + + // NWT's -merge option: + + //! + // @arg <files> + // @category mod + // + // Simulates the behavior of NWT's -merge option. Multiple files + // may be specified. + + p = M_CheckParm("-nwtmerge"); + + if (p > 0) + { + for (p = p + 1; p<myargc && myargv[p][0] != '-'; ++p) + { + char *filename; + + filename = D_TryFindWADByName(myargv[p]); + + printf(" performing NWT-style merge of %s\n", filename); + W_NWTDashMerge(filename); + } + } + + // Add flats + + //! + // @arg <files> + // @category mod + // + // Simulates the behavior of NWT's -af option, merging flats into + // the main IWAD directory. Multiple files may be specified. + // + + p = M_CheckParm("-af"); + + if (p > 0) + { + for (p = p + 1; p<myargc && myargv[p][0] != '-'; ++p) + { + char *filename; + + filename = D_TryFindWADByName(myargv[p]); + + printf(" merging flats from %s\n", filename); + W_NWTMergeFile(filename, W_NWT_MERGE_FLATS); + } + } + + //! + // @arg <files> + // @category mod + // + // Simulates the behavior of NWT's -as option, merging sprites + // into the main IWAD directory. Multiple files may be specified. + // + + p = M_CheckParm("-as"); + + if (p > 0) + { + for (p = p + 1; p<myargc && myargv[p][0] != '-'; ++p) + { + char *filename; + + filename = D_TryFindWADByName(myargv[p]); + + printf(" merging sprites from %s\n", filename); + W_NWTMergeFile(filename, W_NWT_MERGE_SPRITES); + } + } + + //! + // @arg <files> + // @category mod + // + // Equivalent to "-af <files> -as <files>". + // + + p = M_CheckParm("-aa"); + + if (p > 0) + { + for (p = p + 1; p<myargc && myargv[p][0] != '-'; ++p) + { + char *filename; + + filename = D_TryFindWADByName(myargv[p]); + + printf(" merging sprites and flats from %s\n", filename); + W_NWTMergeFile(filename, W_NWT_MERGE_SPRITES | W_NWT_MERGE_FLATS); + } + } + +#endif + // -FILE [filename] [filename] ... // Add files to the wad list. p = M_CheckParm("-file"); |