From 5eeb45228cd31692266ec5974330b691222b36b8 Mon Sep 17 00:00:00 2001 From: James R Date: Wed, 6 Mar 2024 18:28:33 -0800 Subject: [PATCH] DEVELOP: add debugtraversemax cvar to improve sight check consistency --- src/cvars.cpp | 6 ++++++ src/doomdef.h | 3 +++ src/doomtype.h | 1 + src/p_sight.c | 6 +++++- 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/cvars.cpp b/src/cvars.cpp index 495305827..7d6aad888 100644 --- a/src/cvars.cpp +++ b/src/cvars.cpp @@ -834,6 +834,12 @@ consvar_t cv_restrictskinchange = OnlineCheat("restrictskinchange", "Yes").yes_n consvar_t cv_spbtest = OnlineCheat("spbtest", "Off").on_off().description("SPB can never target a player"); consvar_t cv_showgremlins = OnlineCheat("showgremlins", "No").yes_no().description("Show line collision errors"); consvar_t cv_timescale = OnlineCheat(cvlist_timer)("timescale", "1.0").floating_point().min_max(FRACUNIT/20, 20*FRACUNIT).description("Overclock or slow down the game"); + +#ifdef DEVELOP + // change the default value in doomdef.h (so it affects release builds too) + consvar_t cv_debugtraversemax = OnlineCheat("debugtraversemax", TOSTR2(TRAVERSE_MAX)).min_max(0, 255).description("Improve line-of-sight detection (waypoints) but may slow down the game"); +#endif + consvar_t cv_ufo_follow = OnlineCheat("ufo_follow", "0").min_max(0, MAXPLAYERS).description("Make UFO Catcher folow this player"); consvar_t cv_ufo_health = OnlineCheat("ufo_health", "-1").min_max(-1, 100).description("Override UFO Catcher health -- applied at spawn or when value is changed"); diff --git a/src/doomdef.h b/src/doomdef.h index bdaeb556a..5f1cf9488 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -724,6 +724,9 @@ extern int #undef UPDATE_ALERT #endif +// p_sight.c +#define TRAVERSE_MAX 2 + /// Other karma comeback modes //#define OTHERKARMAMODES diff --git a/src/doomtype.h b/src/doomtype.h index d8db69c2b..49e2d11d8 100644 --- a/src/doomtype.h +++ b/src/doomtype.h @@ -360,6 +360,7 @@ typedef UINT32 tic_t; #endif #define TOSTR(x) #x +#define TOSTR2(x) TOSTR(x) // expand x first /* preprocessor dumb and needs second macro to expand input */ #define WSTRING2(s) L ## s diff --git a/src/p_sight.c b/src/p_sight.c index c145ffbfd..37b485c25 100644 --- a/src/p_sight.c +++ b/src/p_sight.c @@ -52,7 +52,11 @@ typedef struct static INT32 sightcounts[2]; -#define TRAVERSE_MAX (2) +#ifdef DEVELOP +extern consvar_t cv_debugtraversemax; +#undef TRAVERSE_MAX +#define TRAVERSE_MAX (cv_debugtraversemax.value) +#endif // // P_DivlineSide