![]() |
Routines |
| Prev: 54855 | Up: Map | Next: 54990 |
|
Used by the routine at TestGroupObjects.
Tests the entity against a block with TestBlockOverlap after widening the x and y edges by half the matching extent, less four. For the test, the edge path takes its size from A, and a miss on z returns the distance instead of setting the flags to 255. The edges and those two patches are put back.
|
||||||||
| TestWideOverlap | 54914 | PUSH BC | Remember the caller's count. | |||||
| 54915 | LD A,79 | Make the edge path take its size from A. | ||||||
| 54917 | LD (55062),A | |||||||
| 54920 | LD HL,(55015) | Widen the x edge by half the x extent, less four. | ||||||
| 54923 | LD B,0 | |||||||
| 54925 | PUSH HL | |||||||
| 54926 | LD C,(IX+11) | |||||||
| 54929 | SRL C | |||||||
| 54931 | ADD HL,BC | |||||||
| 54932 | LD C,4 | |||||||
| 54934 | SBC HL,BC | |||||||
| 54936 | LD (55015),HL | |||||||
| 54939 | LD HL,(55032) | Widen the y edge by half the y extent, less four. | ||||||
| 54942 | PUSH HL | |||||||
| 54943 | LD C,(IX+12) | |||||||
| 54946 | SRL C | |||||||
| 54948 | ADD HL,BC | |||||||
| 54949 | LD C,4 | |||||||
| 54951 | SBC HL,BC | |||||||
| 54953 | LD (55032),HL | |||||||
| 54956 | LD HL,(55098) | A miss on z returns the distance instead of failing. | ||||||
| 54959 | PUSH HL | |||||||
| 54960 | LD A,111 | |||||||
| 54962 | LD H,A | |||||||
| 54963 | LD L,24 | |||||||
| 54965 | LD (55098),HL | |||||||
| 54968 | CALL TestBlockOverlap | Test the widened block. | ||||||
| 54971 | POP HL | Put the edges and that branch back. | ||||||
| 54972 | LD (55098),HL | |||||||
| 54975 | POP HL | |||||||
| 54976 | LD (55032),HL | |||||||
| 54979 | POP HL | |||||||
| 54980 | LD (55015),HL | |||||||
| 54983 | LD A,72 | Put the edge path back to taking its size from B. | ||||||
| 54985 | LD (55062),A | |||||||
| 54988 | POP BC | Restore the caller's count. | ||||||
| 54989 | RET | Return. | ||||||
| Prev: 54855 | Up: Map | Next: 54990 |