Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define M_PIXEL_SHIFT .DB %00110111, $CB,$11,$17,$29
- Sprite_Copy_Mask:
- _DoSprite5:
- DI
- LD (_save5),SP
- LD SP,HL
- SLA E
- SLA E
- LD L,E
- LD H,0
- LD D,H
- ADD HL,HL
- ADD HL,DE
- LD E,A
- SRA E
- SRA E
- SRA E
- JP P,_Pos5
- DEC D
- _Pos5:
- ADD HL,DE
- LD DE,PlotSScreen
- ADD HL,DE
- AND 7
- JR Z,_Aligned5
- DEC A
- LD C, A
- ADD A,A
- ADD A,A
- ADD A, C
- LD (_Jump5),A
- _Loop5:
- POP DE
- XOR A
- LD C,D
- LD D,A
- DEC A
- EX DE,HL
- _Jump5 =$+1
- JR $
- M_PIXEL_SHIFT
- M_PIXEL_SHIFT
- M_PIXEL_SHIFT
- M_PIXEL_SHIFT
- M_PIXEL_SHIFT
- M_PIXEL_SHIFT
- M_PIXEL_SHIFT
- EX DE,HL
- push af
- ld a, d
- MaskedClip1:
- ld d, a
- ld a, e
- MaskedClip2:
- ld e, a
- pop af
- MaskedClip3:
- AND (HL)
- XOR D
- _ClipLeft5:
- LD (HL),A
- INC HL
- LD A,C
- MaskedClip4:
- AND (HL)
- XOR E
- _ClipRight5:
- LD (HL),A
- LD DE,11
- ADD HL,DE
- WideMask2:
- ;May need to pop de again
- nop
- DJNZ _Loop5
- _Done5:
- LD (IX),$77
- _save5 =$+1
- LD SP,0
- RET
- _Aligned5:
- LD DE,12
- LD A,B
- _ALoop5:
- POP BC
- EX AF,AF'
- LD A,(HL)
- AND B
- XOR C
- LD (HL),A
- WideMask:
- ;May need to pop bc again
- nop
- ADD HL,DE
- EX AF,AF'
- DEC A
- JP NZ,_ALoop5
- JP _Done5
- nop
- End_Sprite_Copy_Mask:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement