From 1c5b6a90d0515d7070a628c1c2d71649b9da2ec1 Mon Sep 17 00:00:00 2001 From: quou Date: Tue, 1 Oct 2024 19:02:58 +1000 Subject: ren_clear respects clip --- render.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'render.c') diff --git a/render.c b/render.c index 34416c0..dc9962f 100644 --- a/render.c +++ b/render.c @@ -32,9 +32,14 @@ void ren_end(Renderer* r) { } void ren_clear(Renderer* r) { - int e = r->w * r->h >> 5, i; - for (i = 0; i < e; i++) - r->t[i] = 0; + int i, j; + for (j = r->clip[1]; j < r->clip[3]; j++) + for (i = r->clip[0]; i < r->clip[2]; i++) { + int idx = i + j * r->w; + int bit = 1 << (idx & 0x1f); + bit = ~bit; + r->t[idx >> 5] &= bit; + } } void ren_char(Renderer* r, int x, int y, char ch) { -- cgit v1.2.3-54-g00ecf