|  | Routines | 
| Prev: 60721 | Up: Map | Next: 61040 | 
|  | ||||||||||||||||||||
| 60866 | LD A,(53783) | A=*Active_MonsterControl. | ||||||||||||||||||
| 60869 | AND %00001111 | Keep only bits 0-3. | ||||||||||||||||||
| 60871 | LD B,A | B=A. | ||||||||||||||||||
| 60872 | BIT 3,B | Jump to 60901 if bit 3 of B is set. | ||||||||||||||||||
| 60874 | JR NZ,60901 | |||||||||||||||||||
| 60876 | BIT 2,B | Jump to 61002 if bit 2 of B is set. | ||||||||||||||||||
| 60878 | JP NZ,61002 | |||||||||||||||||||
| 60881 | LD A,(53831) | A=*Flag_Orientation. | ||||||||||||||||||
| 
Moves the orientation flag into the carry flag.
 | ||||||||||||||||||||
| 60884 | RRCA | Rotate A right one position, setting the carry flag if bit 0 was set. | ||||||||||||||||||
| 60885 | JR C,60894 | Jump to 60894 if the carry flag is set. | ||||||||||||||||||
| 60887 | BIT 1,B | Jump to 60946 if bit 1 of B is set. | ||||||||||||||||||
| 60889 | JR NZ,60946 | |||||||||||||||||||
| 60891 | JP 61318 | Jump to 61318. | ||||||||||||||||||
| 60894 | BIT 1,B | Jump to 60946 if bit 1 of B is not set. | ||||||||||||||||||
| 60896 | JR Z,60946 | |||||||||||||||||||
| 60898 | JP 61318 | Jump to 61318. | ||||||||||||||||||
| 60901 | LD HL,65025 | HL=65025. | ||||||||||||||||||
| 60904 | LD DE,65027 | DE=65027. | ||||||||||||||||||
| 60907 | CALL 62290 | Call 62290. | ||||||||||||||||||
| 60910 | LD A,22 | Write 22 to *JumpTable_Pointer. | ||||||||||||||||||
| 60912 | LD (53828),A | |||||||||||||||||||
| 60915 | LD H,254 | H=254. | ||||||||||||||||||
| 60917 | LD D,H | D=H. | ||||||||||||||||||
| 60918 | LD L,1 | L=1. | ||||||||||||||||||
| 60920 | LD E,0 | E=0. | ||||||||||||||||||
| 60922 | CALL Monster_CalculatePosition | Call Monster_CalculatePosition. | ||||||||||||||||||
| 
The routine at DrawMonsterSprite handles which monster to display.
 | ||||||||||||||||||||
| 60925 | LD A,37 | A=sprite ID 37. 
 | ||||||||||||||||||
| 60927 | CALL DrawMonsterSprite | Call DrawMonsterSprite. | ||||||||||||||||||
| 60930 | LD H,2 | H=2. | ||||||||||||||||||
| 60932 | LD L,1 | L=1. | ||||||||||||||||||
| 60934 | LD D,H | D=H. | ||||||||||||||||||
| 60935 | LD E,0 | E=0. | ||||||||||||||||||
| 60937 | CALL Monster_CalculatePosition | Call Monster_CalculatePosition. | ||||||||||||||||||
| 
The routine at DrawMonsterSprite handles which monster to display.
 | ||||||||||||||||||||
| 60940 | LD A,31 | A=sprite ID 31. 
 | ||||||||||||||||||
| 60942 | CALL DrawMonsterSprite | Call DrawMonsterSprite. | ||||||||||||||||||
| 60945 | RET | Return. | ||||||||||||||||||
| 60946 | LD HL,260 | HL=260. | ||||||||||||||||||
| 60949 | LD DE,256 | DE=256. | ||||||||||||||||||
| 60952 | CALL 62290 | Call 62290. | ||||||||||||||||||
| 60955 | LD A,23 | Write 23 to *JumpTable_Pointer. | ||||||||||||||||||
| 60957 | LD (53828),A | |||||||||||||||||||
| 
Set the co-ordinates for where to draw.
 | ||||||||||||||||||||
| 60960 | LD BC,(53837) | BC=*Active_MonsterXPosition/Active_MonsterYPosition. | ||||||||||||||||||
| 60964 | INC B | Increment B by two. | ||||||||||||||||||
| 60965 | INC B | |||||||||||||||||||
| 60966 | LD A,(53831) | A=*Flag_Orientation. | ||||||||||||||||||
| 60969 | XOR %00000001 | Flip bit 0. | ||||||||||||||||||
| 60971 | ADD A,C | A+=C. | ||||||||||||||||||
| 60972 | LD C,A | C=A. | ||||||||||||||||||
| 
The routine at DrawMonsterSprite handles which monster to display.
 | ||||||||||||||||||||
| 60973 | LD A,31 | A=sprite ID 31. 
 | ||||||||||||||||||
| 60975 | CALL DrawMonsterSprite | Call DrawMonsterSprite. | ||||||||||||||||||
| 
Again, set the co-ordinates for where to draw.
 | ||||||||||||||||||||
| 60978 | LD BC,(53837) | BC=*Active_MonsterXPosition/Active_MonsterYPosition. | ||||||||||||||||||
| 60982 | LD A,(53831) | A=*Flag_Orientation. | ||||||||||||||||||
| 60985 | SUB C | A-=C. | ||||||||||||||||||
| 60986 | CPL | Invert the bits in A. | ||||||||||||||||||
| 60987 | INC A | Increment A by one. | ||||||||||||||||||
| 60988 | LD C,A | C=A. | ||||||||||||||||||
| 60989 | LD A,(53831) | A=*Flag_Orientation. | ||||||||||||||||||
| 60992 | XOR %00000001 | Flip bit 0. | ||||||||||||||||||
| 60994 | ADD A,C | A+=C. | ||||||||||||||||||
| 60995 | LD C,A | C=A. | ||||||||||||||||||
| 
The routine at DrawMonsterSprite handles which monster to display.
 | ||||||||||||||||||||
| 60996 | LD A,29 | A=sprite ID 29. 
 | ||||||||||||||||||
| 60998 | CALL DrawMonsterSprite | Call DrawMonsterSprite. | ||||||||||||||||||
| 61001 | RET | Return. | ||||||||||||||||||
| 61002 | LD HL,771 | HL=771. | ||||||||||||||||||
| 61005 | LD DE,769 | DE=769. | ||||||||||||||||||
| 61008 | CALL 62290 | Call 62290. | ||||||||||||||||||
| 61011 | LD A,25 | Write 25 to *JumpTable_Pointer. | ||||||||||||||||||
| 61013 | LD (53828),A | |||||||||||||||||||
| 
Set the co-ordinates for where to draw.
 | ||||||||||||||||||||
| 61016 | LD BC,(53837) | BC=*Active_MonsterXPosition/Active_MonsterYPosition. | ||||||||||||||||||
| 61020 | LD A,(53831) | A=*Flag_Orientation. | ||||||||||||||||||
| 61023 | SUB C | A-=C. | ||||||||||||||||||
| 61024 | CPL | Invert the bits in A. | ||||||||||||||||||
| 61025 | INC A | Increment A by one. | ||||||||||||||||||
| 61026 | LD C,A | C=A. | ||||||||||||||||||
| 61027 | LD A,(53831) | A=*Flag_Orientation. | ||||||||||||||||||
| 61030 | XOR %00000001 | Flip bit 0. | ||||||||||||||||||
| 61032 | ADD A,C | A+=C. | ||||||||||||||||||
| 61033 | LD C,A | C=A. | ||||||||||||||||||
| 
The routine at DrawMonsterSprite handles which monster to display.
 | ||||||||||||||||||||
| 61034 | LD A,11 | A=sprite ID 11. 
 | ||||||||||||||||||
| 61036 | CALL DrawMonsterSprite | Call DrawMonsterSprite. | ||||||||||||||||||
| 61039 | RET | Return. | ||||||||||||||||||
| Prev: 60721 | Up: Map | Next: 61040 |