lemm: update pointer sprites

This commit is contained in:
Vince Weaver 2022-03-13 00:46:46 -05:00
parent 6bf430ca5a
commit d471b5f22b
6 changed files with 146 additions and 79 deletions

View File

@ -42,6 +42,7 @@ lemm.o: lemm.s zp.inc hardware.inc \
intro_level1.s update_time.s hgr_sprite.s draw_flames.s \
draw_door.s move_lemming.s draw_lemming.s \
interrupt_handler.s keyboard.s \
pointer_sprites.inc \
level1.s
ca65 -o lemm.o lemm.s -l lemm.lst

View File

@ -1,72 +0,0 @@
finger_point_sprite:
;===============
; point sprite
;===============
point_sprite_l: ; X 654 3 210
.byte $00 ; 0 000 0 000
.byte $60 ; 0 110 0 000
.byte $60 ; 0 110 0 000
.byte $60 ; 0 110 0 000
.byte $60 ; 0 110 0 000
.byte $63 ; 0 110 0 011
.byte $66 ; 0 110 0 110
.byte $2c ; 0 010 1 100
.byte $6c ; 0 110 1 100
.byte $78 ; 0 111 1 000
.byte $70 ; 0 111 0 000
.byte $70 ; 0 111 0 000
.byte $60 ; 0 110 0 000
.byte $60 ; 0 110 0 000
point_sprite_r: ; X 654 3 210
.byte $00 ; 0 000 0 000
.byte $00 ; 0 000 0 000
.byte $00 ; 0 000 0 000
.byte $00 ; 0 000 0 000
.byte $00 ; 0 000 0 000
.byte $0A ; 0 000 1 010
.byte $2A ; 0 010 1 010
.byte $2D ; 0 010 1 101
.byte $37 ; 0 011 0 111
.byte $3F ; 0 011 1 111
.byte $3F ; 0 011 1 111
.byte $1F ; 0 001 1 111
.byte $1F ; 0 001 1 111
.byte $1F ; 0 001 1 111
point_mask_l: ; X 654 3 210
.byte $9f ; 1 001 1 111
.byte $8f ; 1 000 1 111
.byte $8f ; 1 000 1 111
.byte $8f ; 1 000 1 111
.byte $88 ; 1 000 1 000
.byte $80 ; 1 000 0 000
.byte $80 ; 1 000 0 000
.byte $80 ; 1 000 0 000
.byte $81 ; 1 000 0 001
.byte $81 ; 1 000 0 001
.byte $83 ; 1 000 0 011
.byte $87 ; 1 000 0 111
.byte $8f ; 1 000 1 111
.byte $8f ; 1 000 1 111
point_mask_r: ; X 654 3 210
.byte $ff ; 1 111 1 111
.byte $fe ; 1 111 1 110
.byte $fe ; 1 111 1 110
.byte $fe ; 1 111 1 110
.byte $e0 ; 1 110 0 000
.byte $80 ; 1 000 0 000
.byte $80 ; 1 000 0 000
.byte $80 ; 1 000 0 000
.byte $80 ; 1 000 0 000
.byte $80 ; 1 000 0 000
.byte $80 ; 1 000 0 000
.byte $80 ; 1 000 0 000
.byte $c0 ; 1 100 0 000
.byte $c0 ; 1 100 0 000

View File

@ -43,9 +43,9 @@ draw_pointer:
lda #<point_sprite_l
lda #<crosshair_sprite_l
sta INL
lda #>point_sprite_l
lda #>crosshair_sprite_l
sta INH
jsr hgr_draw_sprite_14x14

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -73,18 +73,18 @@ hgr_14x14_sprite_yloop:
lda (GBASL),Y
hds_smc3:
and point_mask_l,X
and crosshair_mask_l,X
hds_smc1:
ora point_sprite_l,X
ora crosshair_sprite_l,X
sta (GBASL),Y
iny
lda (GBASL),Y
hds_smc4:
and point_mask_r,X
and crosshair_mask_r,X
hds_smc2:
ora point_sprite_r,X
ora crosshair_sprite_r,X
sta (GBASL),Y
inx
@ -204,4 +204,4 @@ save_left_14x14:
.include "common_sprites.inc"
.include "pointer_sprites.inc"

View File

@ -0,0 +1,138 @@
crosshair_sprite:
;===============
; crosshair sprite
;===============
crosshair_sprite_l: ; X 654 3 210
.byte $40 ; 0 100 0 000
.byte $00 ; 0 000 0 000
.byte $40 ; 0 100 0 000
.byte $00 ; 0 000 0 000
.byte $40 ; 0 100 0 000
.byte $00 ; 0 000 0 000
.byte $73 ; 0 111 0 011
.byte $73 ; 0 111 0 011
.byte $00 ; 0 000 0 000
.byte $40 ; 0 100 0 000
.byte $00 ; 0 000 0 000
.byte $40 ; 0 100 0 000
.byte $00 ; 0 000 0 000
.byte $40 ; 0 100 0 000
crosshair_sprite_r: ; X 654 3 210
.byte $01 ; 0 000 0 001
.byte $00 ; 0 000 0 000
.byte $01 ; 0 000 0 001
.byte $00 ; 0 000 0 000
.byte $01 ; 0 000 0 001
.byte $00 ; 0 000 0 000
.byte $66 ; 0 110 0 110
.byte $66 ; 0 110 0 110
.byte $00 ; 0 000 0 000
.byte $01 ; 0 000 0 001
.byte $00 ; 0 000 0 000
.byte $01 ; 0 000 0 001
.byte $00 ; 0 000 0 000
.byte $01 ; 0 000 0 001
crosshair_mask_l: ; X 654 3 210
.byte $bf ; 0 100 0 000
.byte $ff ; 0 000 0 000
.byte $bf ; 0 100 0 000
.byte $ff ; 0 000 0 000
.byte $bf ; 0 100 0 000
.byte $ff ; 0 000 0 000
.byte $8c ; 0 111 0 011
.byte $8c ; 0 111 0 011
.byte $ff ; 0 000 0 000
.byte $bf ; 0 100 0 000
.byte $ff ; 0 000 0 000
.byte $bf ; 0 100 0 000
.byte $ff ; 0 000 0 000
.byte $bf ; 0 100 0 000
crosshair_mask_r: ; X 654 3 210
.byte $fe ; 0 000 0 001
.byte $ff ; 0 000 0 000
.byte $fe ; 0 000 0 001
.byte $ff ; 0 000 0 000
.byte $fe ; 0 000 0 001
.byte $ff ; 0 000 0 000
.byte $99 ; 0 110 0 110
.byte $99 ; 0 110 0 110
.byte $ff ; 0 000 0 000
.byte $fe ; 0 000 0 001
.byte $ff ; 0 000 0 000
.byte $fe ; 0 000 0 001
.byte $ff ; 0 000 0 000
.byte $fe ; 0 000 0 001
;==================
; select sprite
;==================
select_sprite_l: ; X 654 3 210
.byte $7f ; 0 111 1 111
.byte $03 ; 0 000 0 011
.byte $03 ; 0 000 0 011
.byte $03 ; 0 000 0 011
.byte $03 ; 0 000 0 011
.byte $03 ; 0 000 0 011
.byte $03 ; 0 000 0 011
.byte $03 ; 0 000 0 011
.byte $03 ; 0 000 0 011
.byte $03 ; 0 000 0 011
.byte $03 ; 0 000 0 011
.byte $03 ; 0 000 0 011
.byte $03 ; 0 000 0 011
.byte $7f ; 0 111 1 111
select_sprite_r: ; X 654 3 210
.byte $7f ; 0 111 1 111
.byte $60 ; 0 110 0 000
.byte $60 ; 0 110 0 000
.byte $60 ; 0 110 0 000
.byte $60 ; 0 110 0 000
.byte $60 ; 0 110 0 000
.byte $60 ; 0 110 0 000
.byte $60 ; 0 110 0 000
.byte $60 ; 0 110 0 000
.byte $60 ; 0 110 0 000
.byte $60 ; 0 110 0 000
.byte $60 ; 0 110 0 000
.byte $60 ; 0 110 0 000
.byte $7f ; 0 111 1 111
select_mask_l: ; X 654 3 210
.byte $80 ; 0 111 1 111
.byte $fc ; 0 000 0 011
.byte $fc ; 0 000 0 011
.byte $fc ; 0 000 0 011
.byte $fc ; 0 000 0 011
.byte $fc ; 0 000 0 011
.byte $fc ; 0 000 0 011
.byte $fc ; 0 000 0 011
.byte $fc ; 0 000 0 011
.byte $fc ; 0 000 0 011
.byte $fc ; 0 000 0 011
.byte $fc ; 0 000 0 011
.byte $fc ; 0 000 0 011
.byte $80 ; 0 111 1 111
select_mask_r: ; X 654 3 210
.byte $80 ; 0 111 1 111
.byte $9f ; 0 110 0 000
.byte $9f ; 0 110 0 000
.byte $9f ; 0 110 0 000
.byte $9f ; 0 110 0 000
.byte $9f ; 0 110 0 000
.byte $9f ; 0 110 0 000
.byte $9f ; 0 110 0 000
.byte $9f ; 0 110 0 000
.byte $9f ; 0 110 0 000
.byte $9f ; 0 110 0 000
.byte $9f ; 0 110 0 000
.byte $9f ; 0 110 0 000
.byte $80 ; 0 111 1 111