1
2; SP1IsRectInRect
3; 05.2006 aralbrec, Sprite Pack v3.0
4; sinclair spectrum version
5; uses rectangles library
6
7PUBLIC SP1IsRectInRect
8EXTERN RIsRectInRect8
9
10; Determines if two 8-bit rectangles overlap.
11;
12; enter : de = & sp1_Rect #1
13;         hl = & sp1_Rect #2
14; exit  : carry flag set = overlap detected
15; uses  : af,bc,de,hl,af',bc',de',hl'
16
17.SP1IsRectInRect
18
19   ld a,(de)
20   inc de
21   push de
22   ex af,af                  ; a' = rect #1 y coord
23   ld a,(hl)                 ; a = rect #2 y coord
24   inc hl
25   ld d,(hl)
26   inc hl
27   ld e,(hl)
28   inc hl
29   ex (sp),hl
30   ld b,(hl)
31   inc hl
32   ld c,(hl)
33   inc hl
34   push hl
35   exx
36   pop hl
37   ld c,(hl)
38   ld d,a
39   ex af,af
40   ld b,a
41   pop hl
42   ld e,(hl)
43   exx
44   jp RIsRectInRect8
45