Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SmallBulletCollision: ;E=Y D=X (bullet)
- ld hl,$8E01 ;starting off with byte needed to see if anything is there
- ld bc,$0A08 ;ten enemies, using C as a constant for adjustments
- SmallBulletCollisionLoop:
- xor a
- cp (hl)
- jr z,SmallBulletCollisionSkip
- inc L
- inc L
- inc L ;position Y
- ld a,(hl)
- sub e ;bY-eY. 10-12. Carry means no collide
- jr nc,SmallBulletCollisionSkipY
- add a,c
- jr nc,SmallBulletCollisionSkipY
- inc L
- ld a,(hl) ;position X
- sub d ;same deal as above. Skipping comments.
- jr nc,SmallBulletCollisionSkipX
- add a,c ;
- jr nc,SmallBulletCollisionSkipX
- ;Collision happened. We may trash this bullet entry now via calling.
- ld c,1 ;BASE WEAPON POWER
- call DamageEnemy
- jp PBTDestroy
- SmallBulletCollisionSkip:
- ld a,20
- jp _
- SmallBulletCollisionSkipY:
- ld a,17
- jp _
- SmallBulletCollisionSkipX:
- ld a,16
- _:
- add a,L
- ld L,a
- djnz SmallBulletCollisionLoop
- SmallBulletCollisionBossCheck:
- xor a
- cp (hl)
- jp z,SmallBulletCollideReturn
- inc L
- inc L
- inc L ;position Y
- ld a,(hl)
- sub e ;bY-eY. 10-12. Carry means no collide
- jp nc,SmallBulletCollideReturn
- add a,c ;(bY-eY)-8. (22-20)-8. Carry means CAN collide, else no collide
- jp nc,SmallBulletCollideReturn
- inc L
- ld a,(hl) ;position X
- sub d ;same deal as above. Skipping comments.
- jp nc,SmallBulletCollideReturn
- add a,c ;
- jp nc,SmallBulletCollideReturn
- ld c,1 ;BASE POWER
- call DamageBoss
- jp PBTDestroy
- SmallBulletCollideReturn;
- jp (ix)
- ;2
Advertisement
Add Comment
Please, Sign In to add comment