Prev: 56673 Up: Map Next: 56783
56723: Handle Overlap Second
Used by the routine at HandleOverlap.
Moves the entity clear of the overlap in the second direction. Entities of type 5 are changed to type 13.
Input
IX The entity
HandleOverlapSecond 56723 LD A,(IX+0) A puff becomes a sparkle.
56726 SUB 5
56728 JR NZ,HandleOverlapSecond_Shot
56730 LD (IX+35),4 The sparkle's countdown is 4 its frame is 0 its type is 13 and its height is 8.
56734 LD (IX+1),A
56737 LD (IX+0),13
56741 LD (IX+23),8
HandleOverlapSecond_Shot 56745 LD A,(IX+0) When the type is a shot.
56748 AND 31
56750 CP 14
56752 JR NZ,HandleOverlapSecond_Move
56754 SET 7,(IX+22) Set bit 7 of the width byte.
HandleOverlapSecond_Move 56758 PUSH IX Move the y coordinate back by the y overlap.
56760 INC IX
56762 INC IX
56764 INC IX
56766 LD HL,(56785)
56769 CALL MoveEntityBack
56772 POP IX
This entry point is used by the routine at HandleOverlapFirst.
HandleOverlapSecond_Clear 56774 LD A,(IX+30) Leave bits 6 and 7 of the flags.
56777 AND 192
56779 LD (IX+30),A
56782 RET Return.
Prev: 56673 Up: Map Next: 56783