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 |