From: Lukas Krickl Date: Wed, 1 Oct 2025 15:24:49 +0000 (+0200) Subject: rectangle: wip optimizing rectangle point test X-Git-Url: https://git.krickl.dev/?a=commitdiff_plain;h=0c5d654c6a45111badc4a95a93e1b9f70fff8750;p=gbrg%2F.git rectangle: wip optimizing rectangle point test --- diff --git a/src/rectangle.s b/src/rectangle.s index be8db69..528c1cb 100644 --- a/src/rectangle.s +++ b/src/rectangle.s @@ -159,29 +159,37 @@ rect_br: ; a == 1: inside ; a == 0: not inside rect_point_test: - ; top left + ; bottom left push hl - call rect_tl + inc hl ; skip mask + + ; load bottom left point + ld a, [hl+] + ld d, a ; d = y + ld a, [hl] + ld e, a ; e = x pop hl - ld a, b ; compare y points + ld a, b ; compare y cp a, d - jr c, @no_collision REL - ld a, c ; compare x position + jr nc, @no_collision REL + ld a, c ; compare x cp a, e jr c, @no_collision REL - - ; bottom left + + ; top left push hl - call rect_bl + call rect_tl pop hl - ld a, b ; compare y + ld a, b ; compare y points cp a, d - jr nc, @no_collision REL - ld a, c ; compare x + jr c, @no_collision REL + ld a, c ; compare x position cp a, e jr c, @no_collision REL + + ; top right push hl