Routines |
Prev: ADBF | Up: Map | Next: AE34 |
|
||||
PlayerMovement | ADD0 | CALL StoreEntity | Call StoreEntity. | |
ADD3 | CALL $A18C | Call A18C. | ||
ADD6 | LD A,$10 | Write 10 to 96AD. | ||
ADD8 | LD ($96AD),A | |||
ADDB | LD A,(IX+$02) | |||
ADDE | AND A | |||
ADDF | JP NZ,$A985 | |||
Initialise the player movement (0000 == no movement).
|
||||
ADE2 | LD DE,$0000 | DE=0000. | ||
ADE5 | CALL HandlerControls | Call HandlerControls. | ||
Check if the player is under the influence of an orchid.
|
||||
ADE8 | LD A,(IX+$05) | A=the colour of the player. | ||
ADEB | CP $47 | If the player is not using attribute 47 (white) then jump to AE34. | ||
ADED | JR NZ,$AE34 | |||
Controllers for player controls.
Handle "fire".
|
||||
ADEF | BIT 4,C | Jump to AE34 if "fire" was pressed. | ||
ADF1 | JR Z,$AE34 | |||
Handle "right".
|
||||
ADF3 | BIT 1,C | Jump to PlayerMovement_Left if "right" was pressed. | ||
ADF5 | JR Z,PlayerMovement_Left | |||
Update movement for moving right.
|
||||
ADF7 | LD A,E | E=E+20. | ||
ADF8 | ADD A,$20 | |||
ADFA | LD E,A | |||
Handle "left".
|
||||
PlayerMovement_Left | ADFB | BIT 0,C | Jump to PlayerMovement_Down if "left" was pressed. | |
ADFD | JR Z,PlayerMovement_Down | |||
Update movement for moving left.
|
||||
ADFF | LD A,E | E=E-20. | ||
AE00 | SUB $20 | |||
AE02 | LD E,A | |||
Handle "down".
|
||||
PlayerMovement_Down | AE03 | BIT 2,C | Jump to PlayerMovement_Up if "down" was pressed. | |
AE05 | JR Z,PlayerMovement_Up | |||
Update movement for moving down.
|
||||
AE07 | LD A,D | D=D-20. | ||
AE08 | SUB $20 | |||
AE0A | LD D,A | |||
Handle "up".
|
||||
PlayerMovement_Up | AE0B | BIT 3,C | Jump to PlayerMovement_0 if "up" was pressed. | |
AE0D | JR Z,PlayerMovement_0 | |||
Update movement for moving up.
|
||||
AE0F | LD A,D | D=D+20. | ||
AE10 | ADD A,$20 | |||
AE12 | LD D,A | |||
Update the player Actor Entity.
|
||||
PlayerMovement_0 | AE13 | LD (IX+$06),E | Write E to IX+06. | |
AE16 | LD (IX+$07),D | Write D to IX+07. | ||
AE19 | CALL $AFE8 | Call AFE8. | ||
AE1C | LD BC,$160E | BC=160E. | ||
AE1F | CALL $B81C | Call B81C. | ||
AE22 | CALL $AE4B | Call AE4B. | ||
AE25 | CALL $AAED | Call AAED. | ||
AE28 | LD (IX+$03),E | Write E to IX+03 (sprite x co-ordinate). | ||
AE2B | LD (IX+$04),D | Write D to IX+04 (sprite y co-ordinate). | ||
AE2E | CALL NZ,$BF4B | |||
AE31 | JP $AD5D | Jump to AD5D. |
Prev: ADBF | Up: Map | Next: AE34 |