| Prev: 76AC | Up: Map | Next: 76DA |
76AF: Right-facing balloon movement.
|
Handles terrain collision checks and movement for a right-facing balloon.
|
||||||||||||
| operate_balloon_right | 76AF | PUSH BC | Check terrain 32 pixels right of sprite origin (past right edge). Reverse on collision. | |||||||||
| 76B0 | LD A,C | |||||||||||
| 76B1 | ADD A,$20 | |||||||||||
| 76B3 | LD C,A | |||||||||||
| 76B4 | CALL calculate_pixel_address | |||||||||||
| 76B7 | LD A,(HL) | |||||||||||
| 76B8 | POP BC | |||||||||||
| 76B9 | CP $00 | |||||||||||
| 76BB | CALL NZ,reverse_balloon_direction | |||||||||||
| 76BE | PUSH BC | Check terrain 24 pixels right, 8 pixels down (bottom row). Reverse on collision. | ||||||||||
| 76BF | LD A,C | |||||||||||
| 76C0 | ADD A,$18 | |||||||||||
| 76C2 | LD C,A | |||||||||||
| 76C3 | LD A,B | |||||||||||
| 76C4 | ADD A,$08 | |||||||||||
| 76C6 | LD B,A | |||||||||||
| 76C7 | CALL calculate_pixel_address | |||||||||||
| 76CA | LD A,(HL) | |||||||||||
| 76CB | POP BC | |||||||||||
| 76CC | CP $00 | |||||||||||
| 76CE | CALL NZ,reverse_balloon_direction | |||||||||||
| 76D1 | LD ($8B0A),BC | Save position, move right by 2 pixels, jump to render at operate_balloon_shared. | ||||||||||
| 76D5 | INC C | |||||||||||
| 76D6 | INC C | |||||||||||
| 76D7 | JP operate_balloon_shared | |||||||||||
| Prev: 76AC | Up: Map | Next: 76DA |