Routines |
Prev: 44751 | Up: Map | Next: 44993 |
Used by the routine at GamePlayEntry.
|
||||
GamePlay_Start | 44783 | CALL StoreEntity | Call StoreEntity. | |
44786 | CALL 41356 | Call 41356. | ||
Is Sabreman yellow?
|
||||
44789 | LD A,(IX+5) | A=IX+5 (entity colour). | ||
44792 | CP 70 | If the colour is 70 jump to HandlerYellowOrchid. | ||
44794 | JR Z,HandlerYellowOrchid | |||
44796 | CALL HandlerOrchidTimer | Call HandlerOrchidTimer. | ||
44799 | LD A,16 | Write 16 to 38573. | ||
44801 | LD (38573),A | |||
44804 | LD A,(IX+2) | |||
44807 | AND A | |||
44808 | JP NZ,43397 | |||
44811 | LD DE,0 | DE=0000. | ||
44814 | CALL HandlerControls | Call HandlerControls. | ||
Is Sabreman magenta?
|
||||
44817 | LD A,(IX+5) | A=IX+5 (entity colour). | ||
44820 | CP 67 | If the colour is not 67 jump to GamePlay_Controls. | ||
44822 | JR NZ,GamePlay_Controls | |||
Handles reversing the controls as a result of the magenta orchid.
|
||||
44824 | LD A,C | A=C. | ||
44825 | XOR %00001111 | |||
44827 | LD C,A | C=A. | ||
This entry point is used by the routine at 44596.
|
||||
GamePlay_Controls | 44828 | LD A,C | A=C. | |
44829 | LD (38572),A | Write A to 38572. | ||
44832 | LD A,E | A=E. | ||
44833 | LD B,7 | B=7. | ||
44835 | BIT 1,C | |||
44837 | JR Z,GamePlay_Start_0 | |||
44839 | ADD A,B | |||
GamePlay_Start_0 | 44840 | BIT 0,C | ||
44842 | JR Z,GamePlay_Start_1 | |||
44844 | SUB B | |||
GamePlay_Start_1 | 44845 | LD E,A | ||
44846 | LD A,D | |||
44847 | BIT 3,C | |||
44849 | JR Z,GamePlay_Start_2 | |||
44851 | ADD A,B | |||
GamePlay_Start_2 | 44852 | BIT 2,C | ||
44854 | JR Z,GamePlay_Start_3 | |||
44856 | SUB B | |||
GamePlay_Start_3 | 44857 | LD D,A | ||
44858 | CALL GamePlay_Start_7 | Call GamePlay_Start_7. | ||
44861 | CALL 45032 | Call 45032. | ||
44864 | LD BC,5646 | BC=5646. | ||
44867 | CALL 47132 | Call 47132. | ||
44870 | CALL 45139 | Call 45139. | ||
44873 | CALL 43757 | Call 43757. | ||
44876 | LD (IX+3),E | |||
44879 | LD (IX+4),D | |||
44882 | CALL NZ,48971 | |||
Is Sabreman white?
|
||||
44885 | LD A,(IX+5) | A=IX+5 (entity colour). | ||
44888 | CP 71 | If the colour is not 71 jump to GamePlay_Start_4. | ||
44890 | JR NZ,GamePlay_Start_4 | |||
44892 | LD A,(38572) | |||
44895 | BIT 4,A | |||
44897 | JR Z,GamePlay_Start_4 | |||
44899 | CALL 44479 | Call 44479. | ||
GamePlay_Start_4 | 44902 | LD A,(IX+6) | ||
44905 | LD B,1 | B=1. | ||
44907 | CALL 45127 | Call 45127. | ||
44910 | LD (IX+6),A | |||
44913 | LD A,(IX+7) | |||
44916 | CALL 45127 | Call 45127. | ||
44919 | LD (IX+7),A | |||
This entry point is used by the routine at HandlerYellowOrchid_StandUp.
|
||||
GamePlay_Start_5 | 44922 | CALL DisplayEntity | Call DisplayEntity. | |
44925 | LD A,(38576) | A=OrchidEffectTimer. | ||
44928 | AND A | If A is zero, jump to 47908. | ||
44929 | JP Z,47908 | |||
44932 | CP 47 | Is A 47? | ||
44934 | JP NC,47908 | |||
44937 | AND %00001111 | Keep only bits 0-3. | ||
44939 | CP 8 | |||
44941 | JR NC,GamePlay_Start_6 | |||
44943 | AND %00000111 | Keep only bits 0-2. | ||
44945 | CALL Z,48838 | |||
44948 | LD A,(IX+5) | |||
44951 | PUSH AF | |||
44952 | LD (IX+5),71 | Set IX+5 (entity colour) to 71 (white). | ||
44956 | CALL 47908 | Call 47908. | ||
44959 | POP AF | |||
44960 | LD (IX+5),A | |||
44963 | RET | Return. | ||
GamePlay_Start_6 | 44964 | AND %00000111 | Keep only bits 0-2. | |
44966 | CALL Z,48838 | |||
44969 | JP 47908 | Jump to 47908. | ||
GamePlay_Start_7 | 44972 | LD A,E | ||
44973 | ADD A,(IX+6) | |||
44976 | CALL 44993 | Call 44993. | ||
44979 | LD (IX+6),A | |||
44982 | LD A,D | |||
44983 | ADD A,(IX+7) | |||
44986 | CALL 44993 | Call 44993. | ||
44989 | LD (IX+7),A | |||
44992 | RET | Return. |
Prev: 44751 | Up: Map | Next: 44993 |