![]() |
Routines |
| Prev: 56265 | Up: Map | Next: 56418 |
|
Used by the routines at Dispatch_Handlers and Handler_Combination.
|
||||
| Handler_EventTimer | 56358 | LD A,(25759) | Return if *EventTimer is zero. | |
| 56361 | OR A | |||
| 56362 | RET Z | Decrease *EventTimer by one. | ||
| 56363 | DEC A | |||
| 56364 | LD (25759),A | |||
| 56367 | OR A | Return if the timer is still running. | ||
| 56368 | RET NZ | Jump to Dispatch_Events with *PendingEvent. | ||
| 56369 | LD A,(25760) | |||
| 56372 | JP Dispatch_Events | |||
|
This entry point is used by the routines at Handler_MovingObjects and Handler_Enemies.
Reverse an object's horizontal/vertical direction.
|
||||
| Reverse_Direction | 56375 | LD A,(IX+9) | Negate *IX+9 and *IX+8. | |
| 56378 | DEC A | |||
| 56379 | XOR 255 | |||
| 56381 | LD (IX+9),A | |||
| 56384 | LD A,(IX+8) | |||
| 56387 | DEC A | Return if the vertical delta is now zero. | ||
| 56388 | XOR 255 | |||
| 56390 | LD (IX+8),A | Toggle bit 7 of *IX+7. | ||
| 56393 | RET Z | |||
| 56394 | LD A,128 | |||
| 56396 | XOR (IX+7) | Return. | ||
| 56399 | LD (IX+7),A | |||
| 56402 | RET | |||
|
This entry point is used by the routine at Handler_Enemies.
Pause when leaving a non-zero room.
|
||||
| Pause_LeavingRoom | 56403 | PUSH AF | Stash AF on the stack. | |
| 56404 | LD A,(25762) | Jump to Pause_LeavingRoom_Done if *CurrentRoom is zero. | ||
| 56407 | OR A | |||
| 56408 | JR Z,Pause_LeavingRoom_Done | |||
| 56410 | LD BC,1000 | Call JumpTable_Delay with a pause of 1000. | ||
| 56413 | CALL JumpTable_Delay | |||
| Pause_LeavingRoom_Done | 56416 | POP AF | Restore AF from the stack. | |
| 56417 | RET | Return. | ||
| Prev: 56265 | Up: Map | Next: 56418 |