From b5c28eeea83dad33988b8b1a70e1ad17439e2f33 Mon Sep 17 00:00:00 2001 From: James R Date: Wed, 11 Oct 2023 18:23:23 -0700 Subject: [PATCH 1/2] draw_bbox_col: draw to software buffer --- src/r_bbox.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/r_bbox.c b/src/r_bbox.c index af444e148..2350d702e 100644 --- a/src/r_bbox.c +++ b/src/r_bbox.c @@ -92,11 +92,10 @@ draw_bbox_col col->y = (centeryfrac - FixedMul(bb->tz, yscale)); col->h = FixedMul(bb->height, yscale); - // Using this function is TOO EASY! - V_DrawFill( - viewwindowx + col->x, - viewwindowy + col->y / FRACUNIT, 1, - col->h / FRACUNIT, V_NOSCALESTART | bb->color); + if (col->x >= 0 && col->x < viewwidth) + { + raster_bbox_seg(col->x, col->y, col->h, bb->color); + } } static void From bdf2e87cb8d4ed17a1b1c28197ac373d424d7b7a Mon Sep 17 00:00:00 2001 From: James R Date: Fri, 13 Oct 2023 01:33:09 -0700 Subject: [PATCH 2/2] renderhitbox: fix raster errors at screen edge --- src/r_bbox.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/r_bbox.c b/src/r_bbox.c index 2350d702e..3654565a8 100644 --- a/src/r_bbox.c +++ b/src/r_bbox.c @@ -56,11 +56,11 @@ raster_bbox_seg { y /= FRACUNIT; + h = y + (FixedCeil(abs(h)) / FRACUNIT); + if (y < 0) y = 0; - h = y + (FixedCeil(abs(h)) / FRACUNIT); - if (h >= viewheight) h = viewheight; @@ -124,9 +124,6 @@ draw_bbox_row x1 = a->x; x2 = b->x; - if (x2 >= viewwidth) - x2 = viewwidth - 1; - if (x1 == x2 || x1 >= viewwidth || x2 < 0) return; @@ -154,6 +151,9 @@ draw_bbox_row x1 = 0; } + if (x2 >= viewwidth) + x2 = viewwidth - 1; + while (x1 < x2) { raster_bbox_seg(x1, y1, s1, bb->color);