; Comprueba si el área ha colisionado con el personaje
; @entrada HL: _CHAR_X del personaje
; @entrada [_36B_AUXVARS + 0]: Límite izquierdo del área
; @entrada [_36B_AUXVARS + 1]: Límite derecho del área
; @entrada [_36B_AUXVARS + 2]: Límite superior del área
; @entrada [_36B_AUXVARS + 3]: Límite inferior del área
; @salida Carry: Subido si ha colisionado, bajado si no
; @salida HL: _CHAR_X del personaje
chk_area_coll_char:
ld c, [hl] ; _CHAR_X
ld a, [_36B_AUXVARS + 0] ; Límite izquierdo del área
cp c
ret nc ; Coordenada X del personaje inferior al límite izquierdo
ld a, [_36B_AUXVARS + 1] ; Límite derecho del área
cp c
jr c, chk_area_coll_char_0 ; Coordenada X del personaje superior al límite derecho
inc hl
ld a, [hld] ; _CHAR_Y
ld c, a
ld a, [_36B_AUXVARS + 2] ; Límite superior del área
cp c
ret nc ; Coordenada Y del personaje inferior al límite superior
ld a, [_36B_AUXVARS + 3] ; Límite inferior del área
cp c
jr c, chk_area_coll_char_0 ; Coordenada Y del personaje superior al límite inferior
; Colisionan
scf ; Subimos el flag de carry
ret
chk_area_coll_char_0:
xor a ; Bajamos el flag de carry
ret