![]() |
Routines |
| Prev: EF0A | Up: Map | Next: EF50 |
|
||||||||||||||
|
TODO; this is likely used for punching collision detection.
Set the co-ordinates for where to draw.
|
||||||||||||||
| Monster_CalculatePosition | EF38 | LD BC,($D24D) | BC=*Active_MonsterXPosition/Active_MonsterYPosition. | |||||||||||
|
Which number is added is determined by which direction the monster is facing.
|
||||||||||||||
| EF3C | LD A,($D247) | A=*Flag_Orientation (will be 00 or 01). | ||||||||||||
|
Moves the orientation flag into the carry flag.
|
||||||||||||||
| EF3F | RRCA | Rotate A right one position, setting the carry flag if bit 0 was set. | ||||||||||||
| EF40 | JR C,Monster_CalculatePosition_FacingLeft | Jump to Monster_CalculatePosition_FacingLeft if the carry flag is set. | ||||||||||||
|
If the monster is facing right; add HL to BC.
|
||||||||||||||
| EF42 | LD A,B | B+=H. | ||||||||||||
| EF43 | ADD A,H | |||||||||||||
| EF44 | LD B,A | |||||||||||||
| EF45 | LD A,C | C+=L. | ||||||||||||
| EF46 | ADD A,L | |||||||||||||
| EF47 | LD C,A | |||||||||||||
| EF48 | RET | Return. | ||||||||||||
|
If the monster is facing left; add DE to BC.
|
||||||||||||||
| Monster_CalculatePosition_FacingLeft | EF49 | LD A,B | B+=D. | |||||||||||
| EF4A | ADD A,D | |||||||||||||
| EF4B | LD B,A | |||||||||||||
| EF4C | LD A,C | C+=E. | ||||||||||||
| EF4D | ADD A,E | |||||||||||||
| EF4E | LD C,A | |||||||||||||
| EF4F | RET | Return. | ||||||||||||
| Prev: EF0A | Up: Map | Next: EF50 |