![]() |
Routines |
| Prev: EF5C | Up: Map | Next: EFD3 |
|
Used by the routine at Handler_Events.
Event 08: start an actor walking.
|
||||
| Event_StartActor | EF8A | LD IX,($6430) | IX=*ReferenceActors. | |
| Event_StartActor_Target | EF8E | LD A,(IX+$00) | Return if the terminator FF is reached. | |
| EF91 | CP $FF | |||
| EF93 | RET Z | |||
| EF94 | BIT 7,A | Jump to Event_StartActor_Continue if this actor is hidden. | ||
| EF96 | JR NZ,Event_StartActor_Continue | |||
| EF98 | LD A,(IX+$08) | Jump to Event_StartActor_Continue if the actor already has a delta. | ||
| EF9B | OR (IX+$09) | |||
| EF9E | JR NZ,Event_StartActor_Continue | |||
| EFA0 | LD A,(IX+$05) | Jump to Event_StartActor_Skip if there is no horizontal destination. | ||
| EFA3 | OR A | |||
| EFA4 | JR Z,Event_StartActor_Skip | |||
| EFA6 | CP (IX+$00) | Jump to Event_StartActor_Branch if the actor is left of the destination. | ||
| EFA9 | JR NC,Event_StartActor_Branch | |||
| EFAB | LD (IX+$08),$FE | Write FE as the horizontal delta. | ||
| EFAF | JR Event_StartActor_Continue | Jump to Event_StartActor_Continue. | ||
| Event_StartActor_Branch | EFB1 | LD (IX+$08),$02 | Write 02 as the horizontal delta. | |
| EFB5 | JR Event_StartActor_Continue | Jump to Event_StartActor_Continue. | ||
| Event_StartActor_Skip | EFB7 | LD A,(IX+$06) | Jump to Event_StartActor_Continue if there is no vertical destination. | |
| EFBA | OR A | |||
| EFBB | JR Z,Event_StartActor_Continue | |||
| EFBD | CP (IX+$01) | Jump to Event_StartActor_Branch2 if the actor is above the destination. | ||
| EFC0 | JR NC,Event_StartActor_Branch2 | |||
| EFC2 | LD (IX+$09),$FE | Write FE as the vertical delta. | ||
| EFC6 | JR Event_StartActor_Continue | Jump to Event_StartActor_Continue. | ||
| Event_StartActor_Branch2 | EFC8 | LD (IX+$09),$02 | Write 02 as the vertical delta. | |
| Event_StartActor_Continue | EFCC | LD DE,$000D | IX+=000D. | |
| EFCF | ADD IX,DE | |||
| EFD1 | JR Event_StartActor_Target | Jump to Event_StartActor_Target. | ||
| Prev: EF5C | Up: Map | Next: EFD3 |