![]() |
Routines |
| Prev: E496 | Up: Map | Next: E51B |
|
Used by the routine at Limit_Eagle_Vertical_Movement.
Moves the eagle and Sabreman into the next room. There is an entry point for each direction, and the first one (Move_Eagle_To_Next_Room) is for the room above. The eagle and Sabreman are put at the opposite edge of the new room, and the room is drawn.
|
||||||||
| Move_Eagle_To_Next_Room | E4CA | DEC (IX+$04) | Move the eagle to the room above. | |||||
| E4CD | LD A,$A8 | Set the y position of the eagle to A8. | ||||||
| E4CF | LD (IX+$03),A | |||||||
| E4D2 | LD A,$B8 | Set the y position of Sabreman to B8. | ||||||
| E4D4 | LD ($8F23),A | |||||||
| Move_Eagle_To_Next_Room_Set_Room_Y | E4D7 | LD A,(IX+$04) | Fetch the room y of the eagle. | |||||
| E4DA | LD ($8F1E),A | Set the room y of Sabreman. | ||||||
| Move_Eagle_To_Next_Room_Draw | E4DD | LD (IX+$0F),$01 | Set the redraw flags of the eagle to 01 so that it is drawn without being erased first. | |||||
| E4E1 | CALL Update_Object_Sprite | Draw the eagle. | ||||||
| E4E4 | JP Draw_Room | Jump to Draw_Room. | ||||||
|
This entry point is used by the routine at Limit_Eagle_Vertical_Movement.
|
||||||||
| Move_Eagle_To_Room_Below | E4E7 | INC (IX+$04) | Move the eagle to the room below. | |||||
| E4EA | LD A,$28 | Set the y position of the eagle to 28. | ||||||
| E4EC | LD (IX+$03),A | |||||||
| E4EF | LD A,$38 | Set the y position of Sabreman to 38. | ||||||
| E4F1 | LD ($8F23),A | |||||||
| E4F4 | JR Move_Eagle_To_Next_Room_Set_Room_Y | Jump to Move_Eagle_To_Next_Room_Set_Room_Y. | ||||||
|
This entry point is used by the routine at Limit_Eagle_Sideways_Movement.
|
||||||||
| Move_Eagle_To_Room_On_Left | E4F6 | DEC (IX+$02) | Move the eagle to the room on the left. | |||||
| E4F9 | LD A,$E7 | Set the x position of the eagle and of Sabreman to E7. | ||||||
| E4FB | LD (IX+$01),A | |||||||
| E4FE | LD ($8F22),A | |||||||
| Move_Eagle_To_Next_Room_Set_Room_X | E501 | LD A,(IX+$02) | Fetch the room x of the eagle. | |||||
| E504 | LD ($8F1C),A | Set the room x of Sabreman. | ||||||
| E507 | LD A,$11 | Set the contact flags of Sabreman to 11. | ||||||
| E509 | LD ($8F25),A | |||||||
| E50C | JR Move_Eagle_To_Next_Room_Draw | Jump to Move_Eagle_To_Next_Room_Draw. | ||||||
|
This entry point is used by the routine at Limit_Eagle_Sideways_Movement.
|
||||||||
| Move_Eagle_To_Room_On_Right | E50E | INC (IX+$02) | Move the eagle to the room on the right. | |||||
| E511 | LD A,$08 | Set the x position of the eagle and of Sabreman to 08. | ||||||
| E513 | LD (IX+$01),A | |||||||
| E516 | LD ($8F22),A | |||||||
| E519 | JR Move_Eagle_To_Next_Room_Set_Room_X | Jump to Move_Eagle_To_Next_Room_Set_Room_X. | ||||||
| Prev: E496 | Up: Map | Next: E51B |