From 24cc5d54a0f95426610d2c3c67d424663f5d5fe8 Mon Sep 17 00:00:00 2001 From: bones_was_here Date: Sat, 11 Jun 2022 15:16:30 +1000 Subject: [PATCH] Fix GCC 11 warns: use uninitialized in R_CanSeeBox Introduced in 8ab339588b127e88e27bfa08f6eccbf9400b51f9 Signed-off-by: bones_was_here --- gl_rmain.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gl_rmain.c b/gl_rmain.c index f9bc7499..4a51bd2b 100644 --- a/gl_rmain.c +++ b/gl_rmain.c @@ -3960,13 +3960,13 @@ qbool R_CanSeeBox(int numsamples, vec_t eyejitter, vec_t entboxenlarge, vec_t en if (BoxesOverlap(boxmins, boxmaxs, eyemins, eyemaxs)) return true; + VectorCopy(eye, start); // try specific positions in the box first - note that these can be cached if (r_cullentities_trace_entityocclusion.integer) { for (i = 0; i < sizeof(positions) / sizeof(positions[0]); i++) { trace_t trace; - VectorCopy(eye, start); end[0] = boxmins[0] + (boxmaxs[0] - boxmins[0]) * positions[i][0]; end[1] = boxmins[1] + (boxmaxs[1] - boxmins[1]) * positions[i][1]; end[2] = boxmins[2] + (boxmaxs[2] - boxmins[2]) * positions[i][2]; @@ -3977,8 +3977,13 @@ qbool R_CanSeeBox(int numsamples, vec_t eyejitter, vec_t entboxenlarge, vec_t en return true; } } - else if (model->brush.TraceLineOfSight(model, start, end, padmins, padmaxs)) - return true; + else + { + // try center + VectorMAM(0.5f, boxmins, 0.5f, boxmaxs, end); + if (model->brush.TraceLineOfSight(model, start, end, padmins, padmaxs)) + return true; + } // try various random positions for (j = 0; j < numsamples; j++) -- 2.39.2