From 71bb22dc280f38d5ad04de5195a2c717e4f28180 Mon Sep 17 00:00:00 2001 From: Eric Wasylishen Date: Mon, 6 Sep 2021 14:20:51 -0600 Subject: [PATCH] qbsp: auto switch to extended limits formats --- qbsp/writebsp.cc | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/qbsp/writebsp.cc b/qbsp/writebsp.cc index ec03ad88..144a945b 100644 --- a/qbsp/writebsp.cc +++ b/qbsp/writebsp.cc @@ -442,7 +442,23 @@ WriteBSPFile() BSPX_AddLump(&bspdata, "BRUSHLIST", map.exported_bspxbrushes.data(), map.exported_bspxbrushes.size()); } - ConvertBSPFormat(&bspdata, options.target_version); + if (!ConvertBSPFormat(&bspdata, options.target_version)) { + const bspversion_t* highLimitsFormat = nullptr; + + if (options.target_version == &bspver_q1) { + highLimitsFormat = &bspver_bsp2; + } else if (options.target_version == &bspver_h2) { + highLimitsFormat = &bspver_h2bsp2; + } else if (options.target_version == &bspver_q2) { + highLimitsFormat = &bspver_qbism; + } else { + Error("No high limits version of %s available", options.target_version->name); + } + + logprint("NOTE: limits exceeded for %s - switching to %s\n", options.target_version->name, highLimitsFormat->name); + + Q_assert(ConvertBSPFormat(&bspdata, highLimitsFormat)); + } StripExtension(options.szBSPName); strcat(options.szBSPName, ".bsp");