![]() |
Routines |
| Prev: 44479 | Up: Map | Next: 44596 |
|
|
||||
| PlayerMovement | 44496 | CALL StoreEntity | Call StoreEntity. | |
| 44499 | CALL 41356 | Call 41356. | ||
| 44502 | LD A,16 | Write 16 to 38573. | ||
| 44504 | LD (38573),A | |||
| 44507 | LD A,(IX+2) | |||
| 44510 | AND A | |||
| 44511 | JP NZ,43397 | |||
|
Initialise the player movement (0000 == no movement).
|
||||
| 44514 | LD DE,0 | DE=0000. | ||
| 44517 | CALL HandlerControls | Call HandlerControls. | ||
|
Check if the player is under the influence of an orchid.
|
||||
| 44520 | LD A,(IX+5) | A=the colour of the player. | ||
| 44523 | CP 71 | If the player is not using attribute 71 (white) then jump to 44596. | ||
| 44525 | JR NZ,44596 | |||
|
Controllers for player controls.
Handle "fire".
|
||||
| 44527 | BIT 4,C | Jump to 44596 if "fire" was pressed. | ||
| 44529 | JR Z,44596 | |||
|
Handle "right".
|
||||
| 44531 | BIT 1,C | Jump to PlayerMovement_Left if "right" was pressed. | ||
| 44533 | JR Z,PlayerMovement_Left | |||
|
Update movement for moving right.
|
||||
| 44535 | LD A,E | E=E+32. | ||
| 44536 | ADD A,32 | |||
| 44538 | LD E,A | |||
|
Handle "left".
|
||||
| PlayerMovement_Left | 44539 | BIT 0,C | Jump to PlayerMovement_Down if "left" was pressed. | |
| 44541 | JR Z,PlayerMovement_Down | |||
|
Update movement for moving left.
|
||||
| 44543 | LD A,E | E=E-32. | ||
| 44544 | SUB 32 | |||
| 44546 | LD E,A | |||
|
Handle "down".
|
||||
| PlayerMovement_Down | 44547 | BIT 2,C | Jump to PlayerMovement_Up if "down" was pressed. | |
| 44549 | JR Z,PlayerMovement_Up | |||
|
Update movement for moving down.
|
||||
| 44551 | LD A,D | D=D-32. | ||
| 44552 | SUB 32 | |||
| 44554 | LD D,A | |||
|
Handle "up".
|
||||
| PlayerMovement_Up | 44555 | BIT 3,C | Jump to PlayerMovement_0 if "up" was pressed. | |
| 44557 | JR Z,PlayerMovement_0 | |||
|
Update movement for moving up.
|
||||
| 44559 | LD A,D | D=D+32. | ||
| 44560 | ADD A,32 | |||
| 44562 | LD D,A | |||
|
Update the player Actor Entity.
|
||||
| PlayerMovement_0 | 44563 | LD (IX+6),E | Write E to IX+6. | |
| 44566 | LD (IX+7),D | Write D to IX+7. | ||
| 44569 | CALL 45032 | Call 45032. | ||
| 44572 | LD BC,5646 | BC=5646. | ||
| 44575 | CALL 47132 | Call 47132. | ||
| 44578 | CALL 44619 | Call 44619. | ||
| 44581 | CALL 43757 | Call 43757. | ||
| 44584 | LD (IX+3),E | Write E to IX+3 (sprite x co-ordinate). | ||
| 44587 | LD (IX+4),D | Write D to IX+4 (sprite y co-ordinate). | ||
| 44590 | CALL NZ,48971 | |||
| 44593 | JP 44381 | Jump to 44381. | ||
| Prev: 44479 | Up: Map | Next: 44596 |