;;; $8886: Enemy projectile block collision reaction - horizontal ;;;
{
;; Parameters:
;;     X: Block index (multiple of 2)
;;     $14: Enemy projectile X velocity (used only for sign)
;;     $1A: Number of blocks left to check (0 if final (bottom) block)
;;     $1C: Enemy projectile X radius
;;     $1E: Enemy projectile Y radius
;;     $20: Enemy projectile Y block span
;;     $22: Target boundary position (left/right depending on sign of enemy projectile velocity)
;; Returns:
;;     Carry: Set if collision, clear otherwise

$86:8886 DA PHX
$86:8887 8E C4 0D STX $0DC4 [$7E:0DC4] ;\
$86:888A 4E C4 0D LSR $0DC4 [$7E:0DC4] ;} Current block index = [X] / 2
$86:888D BF 02 00 7F LDA $7F0002,x[$7F:00F8];\
$86:8891 29 00 F0 AND #$F000 ;|
$86:8894 EB XBA ;|
$86:8895 4A LSR A ;|
$86:8896 4A LSR A ;} Execute [$8846 + (block type) * 2]
$86:8897 4A LSR A ;|
$86:8898 AA TAX ;|
$86:8899 FC 46 88 JSR ($8846,x)[$86:858A];/
$86:889C FA PLX
$86:889D 60 RTS
}