diff --git a/include/vis/vis.hh b/include/vis/vis.hh index ea13a13b..277dd44a 100644 --- a/include/vis/vis.hh +++ b/include/vis/vis.hh @@ -259,6 +259,6 @@ public: } // namespace settings -extern settings::vis_settings options; +extern settings::vis_settings vis_options; int vis_main(int argc, const char **argv); diff --git a/vis/flow.cc b/vis/flow.cc index ff98ccb3..0c665128 100644 --- a/vis/flow.cc +++ b/vis/flow.cc @@ -264,7 +264,7 @@ static void RecursiveLeafFlow(int leafnum, threaddata_t *thread, pstack_t &prevs c_portaltest++; /* TEST 0 :: source -> pass -> target */ - if (options.level.value() > 0) { + if (vis_options.level.value() > 0) { if (stack.numseparators[0]) { for (j = 0; j < stack.numseparators[0]; j++) { stack.pass = ClipStackWinding(stack.pass, stack, stack.separators[0][j]); @@ -283,7 +283,7 @@ static void RecursiveLeafFlow(int leafnum, threaddata_t *thread, pstack_t &prevs } /* TEST 1 :: pass -> source -> target */ - if (options.level.value() > 1) { + if (vis_options.level.value() > 1) { if (stack.numseparators[1]) { for (j = 0; j < stack.numseparators[1]; j++) { stack.pass = ClipStackWinding(stack.pass, stack, stack.separators[1][j]); @@ -301,7 +301,7 @@ static void RecursiveLeafFlow(int leafnum, threaddata_t *thread, pstack_t &prevs } /* TEST 2 :: target -> pass -> source */ - if (options.level.value() > 2) { + if (vis_options.level.value() > 2) { ClipToSeparators(stack.pass, stack.portalplane, prevstack.pass, stack.source, 2, stack); if (!stack.source) { FreeStackWinding(stack.pass, stack); @@ -310,7 +310,7 @@ static void RecursiveLeafFlow(int leafnum, threaddata_t *thread, pstack_t &prevs } /* TEST 3 :: pass -> target -> source */ - if (options.level.value() > 3) { + if (vis_options.level.value() > 3) { ClipToSeparators(prevstack.pass, prevstack.portalplane, stack.pass, stack.source, 3, stack); if (!stack.source) { FreeStackWinding(stack.pass, stack); @@ -429,9 +429,9 @@ static void BasePortalThread(size_t portalnum) if (j == w.size()) continue; // no points on back - if (options.visdist.value() > 0) { - if (tp.winding.distFromPortal(p) > options.visdist.value() || - p.winding.distFromPortal(tp) > options.visdist.value()) + if (vis_options.visdist.value() > 0) { + if (tp.winding.distFromPortal(p) > vis_options.visdist.value() || + p.winding.distFromPortal(tp) > vis_options.visdist.value()) continue; } diff --git a/vis/soundpvs.cc b/vis/soundpvs.cc index 3d5e3a16..df42dafc 100644 --- a/vis/soundpvs.cc +++ b/vis/soundpvs.cc @@ -98,15 +98,15 @@ void CalcAmbientSounds(mbsp_t *bsp) info = &bsp->texinfo[surf->texinfo]; const auto &miptex = bsp->dtex.textures[info->miptex]; - if (!Q_strncasecmp(miptex.name.data(), "sky", 3) && !options.noambientsky.value()) + if (!Q_strncasecmp(miptex.name.data(), "sky", 3) && !vis_options.noambientsky.value()) ambient_type = AMBIENT_SKY; - else if (!Q_strncasecmp(miptex.name.data(), "*water", 6) && !options.noambientwater.value()) + else if (!Q_strncasecmp(miptex.name.data(), "*water", 6) && !vis_options.noambientwater.value()) ambient_type = AMBIENT_WATER; - else if (!Q_strncasecmp(miptex.name.data(), "*04water", 8) && !options.noambientwater.value()) + else if (!Q_strncasecmp(miptex.name.data(), "*04water", 8) && !vis_options.noambientwater.value()) ambient_type = AMBIENT_WATER; - else if (!Q_strncasecmp(miptex.name.data(), "*slime", 6) && !options.noambientslime.value()) + else if (!Q_strncasecmp(miptex.name.data(), "*slime", 6) && !vis_options.noambientslime.value()) ambient_type = AMBIENT_WATER; // AMBIENT_SLIME; - else if (!Q_strncasecmp(miptex.name.data(), "*lava", 5) && !options.noambientlava.value()) + else if (!Q_strncasecmp(miptex.name.data(), "*lava", 5) && !vis_options.noambientlava.value()) ambient_type = AMBIENT_LAVA; else continue; diff --git a/vis/state.cc b/vis/state.cc index df2ff18c..15a2025c 100644 --- a/vis/state.cc +++ b/vis/state.cc @@ -143,7 +143,7 @@ void SaveVisState(void) state.version = VIS_STATE_VERSION; state.numportals = numportals; state.numleafs = portalleafs; - state.testlevel = options.visdist.value(); + state.testlevel = vis_options.visdist.value(); state.time_elapsed = (uint32_t)(statetime - starttime).count(); out <= state; @@ -200,7 +200,7 @@ bool LoadVisState(void) dvisstate_t state; dportal_t pstate; - if (options.nostate.value()) { + if (vis_options.nostate.value()) { return false; } diff --git a/vis/vis.cc b/vis/vis.cc index fbc778d0..20c4b832 100644 --- a/vis/vis.cc +++ b/vis/vis.cc @@ -74,7 +74,7 @@ void vis_settings::initialize(int argc, const char **argv) } } // namespace settings -settings::vis_settings options; +settings::vis_settings vis_options; fs::path portalfile, statefile, statetmpfile; @@ -514,7 +514,7 @@ static void ClusterFlow(int clusternum, leafbits_t &buffer, mbsp_t *bsp) void CalcPortalVis(const mbsp_t *bsp) { // fastvis just uses mightsee for a very loose bound - if (options.fast.value()) { + if (vis_options.fast.value()) { for (auto &p : portals) { p.visbits = p.mightsee; p.status = pstat_done; @@ -700,23 +700,24 @@ int vis_main(int argc, const char **argv) bspdata_t bspdata; const bspversion_t *loadversion; - options.run(argc, argv); + vis_options.run(argc, argv); - logging::init(fs::path(options.sourceMap).replace_filename(options.sourceMap.stem().string() + "-vis").replace_extension("log"), options); + logging::init(fs::path(vis_options.sourceMap).replace_filename(vis_options.sourceMap.stem().string() + "-vis").replace_extension("log"), + vis_options); stateinterval = std::chrono::minutes(5); /* 5 minutes */ starttime = statetime = I_FloatTime(); - LoadBSPFile(options.sourceMap, &bspdata); + LoadBSPFile(vis_options.sourceMap, &bspdata); - bspdata.version->game->init_filesystem(options.sourceMap, options); + bspdata.version->game->init_filesystem(vis_options.sourceMap, vis_options); loadversion = bspdata.version; ConvertBSPFormat(&bspdata, &bspver_generic); mbsp_t &bsp = std::get(bspdata.bsp); - if (options.phsonly.value()) + if (vis_options.phsonly.value()) { if (bsp.loadversion->game->id != GAME_QUAKE_II) { FError("need a Q2-esque BSP for -phsonly"); @@ -732,11 +733,11 @@ int vis_main(int argc, const char **argv) } else { - portalfile = fs::path(options.sourceMap).replace_extension("prt"); + portalfile = fs::path(vis_options.sourceMap).replace_extension("prt"); LoadPortals(portalfile, &bsp); - statefile = fs::path(options.sourceMap).replace_extension("vis"); - statetmpfile = fs::path(options.sourceMap).replace_extension("vi0"); + statefile = fs::path(vis_options.sourceMap).replace_extension("vis"); + statetmpfile = fs::path(vis_options.sourceMap).replace_extension("vi0"); if (bsp.loadversion->game->id != GAME_QUAKE_II) { uncompressed.resize(portalleafs * leafbytes_real); @@ -766,12 +767,12 @@ int vis_main(int argc, const char **argv) /* Convert data format back if necessary */ ConvertBSPFormat(&bspdata, loadversion); - WriteBSPFile(options.sourceMap, &bspdata); + WriteBSPFile(vis_options.sourceMap, &bspdata); endtime = I_FloatTime(); logging::print("{:.2} elapsed\n", (endtime - starttime)); - if (options.autoclean.value()) { + if (vis_options.autoclean.value()) { CleanVisState(); }