diff --git a/Build/Configurations/SRB2-22.cfg b/Build/Configurations/SRB2-22.cfg index 67dbd3a..a8f9021 100644 --- a/Build/Configurations/SRB2-22.cfg +++ b/Build/Configurations/SRB2-22.cfg @@ -83,7 +83,7 @@ defaultskytextures defaultlumpname = "MAP01"; // Default testing parameters -testparameters = "-file \"%AP\" \"%F\" -warp %L"; +testparameters = "-folder \"%AF\" -file \"%AA\" \"%F\" -warp %L"; testshortpaths = true; // Default nodebuilder configurations diff --git a/Source/Core/General/Launcher.cs b/Source/Core/General/Launcher.cs index 7c1da9c..fcb303a 100644 --- a/Source/Core/General/Launcher.cs +++ b/Source/Core/General/Launcher.cs @@ -103,6 +103,8 @@ namespace CodeImp.DoomBuilder DataLocation iwadloc; string p_wp = "", p_wf = ""; string p_ap = "", p_apq = ""; + string p_aa = "", p_aaq = ""; + string p_af = "", p_afq = ""; string p_l1 = "", p_l2 = ""; string p_nm = ""; string f = tempwad; @@ -153,11 +155,31 @@ namespace CodeImp.DoomBuilder { p_ap += General.GetShortFilePath(dl.location) + " "; p_apq += "\"" + General.GetShortFilePath(dl.location) + "\" "; + if (dl.type == DataLocation.RESOURCE_WAD || dl.type == DataLocation.RESOURCE_PK3) + { + p_aa += General.GetShortFilePath(dl.location) + " "; + p_aaq += "\"" + General.GetShortFilePath(dl.location) + "\" "; + } + else + { + p_af += General.GetShortFilePath(dl.location) + " "; + p_afq += "\"" + General.GetShortFilePath(dl.location) + "\" "; + } } else { p_ap += dl.location + " "; p_apq += "\"" + dl.location + "\" "; + if (dl.type == DataLocation.RESOURCE_WAD || dl.type == DataLocation.RESOURCE_PK3) + { + p_aa += dl.location + " "; + p_aaq += "\"" + dl.location + "\" "; + } + else + { + p_af += dl.location + " "; + p_afq += "\"" + dl.location + "\" "; + } } } } @@ -166,6 +188,10 @@ namespace CodeImp.DoomBuilder // Trim last space from resource file locations p_ap = p_ap.TrimEnd(' '); p_apq = p_apq.TrimEnd(' '); + p_aa = p_aa.TrimEnd(' '); + p_aaq = p_aaq.TrimEnd(' '); + p_af = p_af.TrimEnd(' '); + p_afq = p_afq.TrimEnd(' '); // Try finding the L1 and L2 numbers from the map name string numstr = ""; @@ -230,7 +256,11 @@ namespace CodeImp.DoomBuilder outp = outp.Replace("%L2", p_l2); outp = outp.Replace("%L", General.Map.Options.CurrentName); outp = outp.Replace("\"%AP\"", p_apq); + outp = outp.Replace("\"%AA\"", p_aaq); + outp = outp.Replace("\"%AF\"", p_afq); outp = outp.Replace("%AP", p_ap); + outp = outp.Replace("%AA", p_aa); + outp = outp.Replace("%AF", p_af); outp = outp.Replace("%S", skill.ToString()); outp = outp.Replace("%NM", p_nm); outp = outp + " +skin " + skin.ToLowerInvariant(); diff --git a/Source/Core/Windows/ConfigForm.resx b/Source/Core/Windows/ConfigForm.resx index 4d1eea3..1d7b686 100644 --- a/Source/Core/Windows/ConfigForm.resx +++ b/Source/Core/Windows/ConfigForm.resx @@ -182,6 +182,8 @@ %L1 - The first number found in the map lump name (as is set in the map options window). %L2 - The second number found in the map lump name (as is set in the map options window). %AP - All resource files, except the first IWAD, with full paths included. +%AA - All archives (WAD and PK3 files), except the first IWAD, with full paths included. +%AF - All folder resources, with full paths included. %S - Skill number at which to test. %NM - Either -nomonsters when testing without monsters, or nothing at all.