Prev: 59865 Up: Map Next: 60051
59874: Routine at E9E2
Used by the routines at Handler_Player and Handler_Pirates.
59874 LD A,C A=C.
59875 SUB (IX+13) A-=*IX+13.
59878 JR Z,59892 Jump to 59892 if the result is zero.
59880 CP 255 Compare A with 255.
59882 PUSH AF Stash AF on the stack.
59883 CALL Z,59933 Call 59933 was equal to 255 (on line 59880).
59886 POP AF Restore AF from the stack.
59887 CALL NZ,59960 Call 59960 was not equal to 255 (on line 59880).
59890 JR 59903 Jump to 59903.
59892 LD A,E Jump to 59903 if E is equal to *IX+11.
59893 CP (IX+11)
59896 JR Z,59903
59898 CP 3 Call 59960 if E is equal to 3.
59900 CALL Z,59960
59903 LD A,B A=B.
59904 SUB (IX+14) A-=*IX+14.
59907 JR Z,59921 Jump to 59921 if the result is zero.
59909 CP 255 Compare A with 255.
59911 PUSH AF Stash AF on the stack.
59912 CALL Z,60024 Call 60024 if A was equal to 255 (on line 59909).
59915 POP AF Restore AF from the stack.
59916 CALL NZ,59992 Call 59992 if A was not equal to 255 (on line 59909).
59919 JR 59932 Jump to 59932.
59921 LD A,D Jump to 59932 if D is equal to *IX+15.
59922 CP (IX+15)
59925 JR Z,59932
59927 CP 3 Call 59992 if D is equal to 3.
59929 CALL Z,59992
59932 RET Return.
59933 PUSH BC Stash BC and DE on the stack.
59934 PUSH DE
59935 LD C,(IX+13) C=*IX+13.
59938 LD B,(IX+14) B=*IX+14.
59941 LD D,(IX+8) D=*IX+8.
59944 LD E,1 E=1.
59946 LD A,(IX+15) Jump to 59954 if *IX+15 is equal to 3.
59949 CP 3
59951 JR Z,59954
59953 INC D Increment D by one.
59954 CALL PrintSpriteUpdateBuffer Call PrintSpriteUpdateBuffer.
59957 POP DE Restore DE and BC from the stack.
59958 POP BC
59959 RET Return.
59960 PUSH BC Stash BC and DE on the stack.
59961 PUSH DE
59962 LD A,(IX+13) A=*IX+13.
59965 LD C,(IX+7) C=*IX+7.
59968 SUB C A-=C.
59969 LD C,A C=A.
59970 LD B,(IX+14) B=*IX+14.
59973 LD D,(IX+8) D=*IX+8.
59976 LD E,1 E=1.
59978 LD A,(IX+3) Jump to 59986 if *IX+3 is equal to 3.
59981 CP 3
59983 JR Z,59986
59985 INC D Increment D by one.
59986 CALL PrintSpriteUpdateBuffer Call PrintSpriteUpdateBuffer.
59989 POP DE Restore DE and BC from the stack.
59990 POP BC
59991 RET Return.
59992 PUSH BC Stash BC and DE on the stack.
59993 PUSH DE
59994 LD A,(IX+14) A=*IX+14.
59997 LD D,(IX+8) D=*IX+8.
60000 SUB D A-=D.
60001 LD B,A B=A.
60002 LD E,(IX+7) E=*IX+7.
60005 LD C,(IX+13) C=*IX+13.
60008 LD D,1 D=1.
60010 LD A,(IX+2) Jump to 60018 if *IX+2 is equal to 3.
60013 CP 3
60015 JR Z,60018
60017 INC E Increment E by one.
60018 CALL PrintSpriteUpdateBuffer Call PrintSpriteUpdateBuffer.
60021 POP DE Restore DE and BC from the stack.
60022 POP BC
60023 RET Return.
60024 PUSH BC Stash BC and DE on the stack.
60025 PUSH DE
60026 LD C,(IX+13) C=*IX+13.
60029 LD B,(IX+14) B=*IX+14.
60032 LD D,1 D=1.
60034 LD E,(IX+7) E=*IX+7.
60037 LD A,(IX+11) Jump to 60045 if *IX+11 is equal to 3.
60040 CP 3
60042 JR Z,60045
60044 INC E Increment E by one.
60045 CALL PrintSpriteUpdateBuffer Call PrintSpriteUpdateBuffer.
60048 POP DE Restore DE and BC from the stack.
60049 POP BC
60050 RET Return.
Prev: 59865 Up: Map Next: 60051