| Routines

7400: Calculate appropriate coordinates for a message box

Used by the routines at 7414, 74C8 and F4CC. Returns with the coordinates of the messenger's head in DE.
Input
H | Messenger's character number (0xC8-0xCD)
7400 | LD L,$01 | Point HL at byte 0x01 of the character's buffer
7402 | LD E,(HL) | E=character's x-coordinate
7403 | INC E | E=x-coordinate of the character's head
7404 | DEC L | L=0x00
7405 | LD A,(HL) | A=character's animatory state
7406 | AND $07 | Keep only bits 0-2
7408 | CP $06 | Set the zero flag if the character is sitting on the floor
740A | LD A,$00 | The y-coordinate offset should be 0 if the character is standing
740C | JR NZ,$740F | Jump if character is standing
740E | INC A | A=1 (one level lower if the character is sitting on the floor)
740F | LD L,$02 | Point HL at byte 0x02 of the character's buffer
7411 | ADD A,(HL) | Add the character's y-coordinate and the offset
7412 | LD D,A | D=y-coordinate of the character's head
7413 | RET |