jetpac | Routines |
Prev: 6d9c | Up: Map | Next: 6e1b |
|
||||||||||||
6de9 | ld hl,$5d00 | HL=Jetman object | ||||||||||
6dec | ld e,$00 | Default value for E | ||||||||||
6dee | ld a,(hl) | Jetman direction | ||||||||||
6def | and $3f | |||||||||||
6df1 | dec a | Jump if A - 1 == 0 | ||||||||||
6df2 | jr z,$6df6 | |||||||||||
6df4 | dec a | |||||||||||
6df5 | ret nz | Return if A is not zero | ||||||||||
6df6 | inc hl | HL=Jetman X position | ||||||||||
6df7 | ld a,(hl) | |||||||||||
6df8 | sub (ix+$01) | Jetman X position - Alien X position | ||||||||||
6dfb | jp p,$6e00 | Make sure we have a positive byte | ||||||||||
6dfe | neg | |||||||||||
6e00 | cp $0c | Return if A >= 12 | ||||||||||
6e02 | ret nc | |||||||||||
6e03 | inc hl | HL=Jetman Y position | ||||||||||
6e04 | ld a,(hl) | |||||||||||
6e05 | sub (ix+$02) | Jetman Y position - Alien Y position | ||||||||||
6e08 | jp p,$6e14 | Set D to 15 if it's still a positive number | ||||||||||
6e0b | neg | else: negate it | ||||||||||
6e0d | ld d,(ix+$07) | D=alien sprite height | ||||||||||
6e10 | add a,$0e | |||||||||||
6e12 | jr $6e16 | Compare and return | ||||||||||
6e14 | ld d,$15 | default D to 21 | ||||||||||
6e16 | cp d | Return $00 if D >= A | ||||||||||
6e17 | ret nc | |||||||||||
6e18 | ld e,$01 | |||||||||||
6e1a | ret | else return $01 |
Prev: 6d9c | Up: Map | Next: 6e1b |