riven_hgr: auto-generate pointers from png

This commit is contained in:
Vince Weaver 2024-05-15 00:17:57 -04:00
parent fc8e3c657e
commit 103e8dcfcd
7 changed files with 83 additions and 913 deletions

View File

@ -52,6 +52,7 @@ dome.o: dome.s zp.inc hardware.inc \
hgr_sprite.s hgr_tables.s \
keyboard.s \
hgr_14x14_sprite.s \
graphics_sprites/pointer_sprites.inc \
graphics_dome/dome_graphics.inc
ca65 -o dome.o dome.s -l dome.lst

View File

@ -1,862 +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
finger_grab_sprite:
;===============
; grab sprite
;===============
grab_sprite_l: ; X 654 3 210
.byte $00 ; 0 000 0 000
.byte $4c ; 0 100 1 100
.byte $4c ; 0 100 1 100
.byte $58 ; 0 101 1 000
.byte $58 ; 0 101 1 000
.byte $70 ; 0 111 0 000
.byte $73 ; 0 111 0 011
.byte $77 ; 0 111 0 111
.byte $7e ; 0 111 1 110
.byte $7c ; 0 111 1 100
.byte $7c ; 0 111 1 100
.byte $78 ; 0 111 1 000
.byte $70 ; 0 111 0 000
.byte $60 ; 0 110 0 000
grab_sprite_r: ; X 654 3 210
.byte $00 ; 0 000 0 000
.byte $0d ; 0 000 1 101
.byte $0d ; 0 000 1 101
.byte $0d ; 0 000 1 101
.byte $6d ; 0 110 1 101
.byte $6f ; 0 110 1 111
.byte $7f ; 0 111 1 111
.byte $3f ; 0 011 1 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 $0f ; 0 000 1 111
.byte $0f ; 0 000 1 111
grab_mask_l: ; X 654 3 210
.byte $b3 ; 1 011 0 011
.byte $81 ; 1 000 0 001
.byte $81 ; 1 000 0 001
.byte $83 ; 1 000 0 011
.byte $83 ; 1 000 0 011
.byte $84 ; 1 000 0 100
.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 $c7 ; 1 100 0 111
.byte $c7 ; 1 100 1 111
grab_mask_r: ; X 654 3 210
.byte $f2 ; 1 111 0 010
.byte $e0 ; 1 110 0 000
.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 $80 ; 1 100 0 000
.byte $c0 ; 1 100 0 000
.byte $e0 ; 1 110 0 000
.byte $e0 ; 1 110 0 000
;======================
; finger left
;======================
; TODO
finger_left_sprite:
finger_left_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
finger_left_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
finger_left_mask_l: ; X 654 3 210
.byte $ff ; 1 001 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 011
.byte $ff ; 1 000 0 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
finger_left_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
;====================
; finger right
;====================
; TODO
finger_right_sprite:
finger_right_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
finger_right_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
finger_right_mask_l: ; X 654 3 210
.byte $ff ; 1 001 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 011
.byte $ff ; 1 000 0 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
finger_right_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
;====================
; Finger turn left
;====================
finger_turn_left_sprite:
finger_turn_left_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
finger_turn_left_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
finger_turn_left_mask_l: ; X 654 3 210
.byte $ff ; 1 001 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 011
.byte $ff ; 1 000 0 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
finger_turn_left_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
;=====================
; Finger turn right
;=====================
; TODO
finger_turn_right_sprite:
finger_turn_right_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
finger_turn_right_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
finger_turn_right_mask_l: ; X 654 3 210
.byte $ff ; 1 001 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 011
.byte $ff ; 1 000 0 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
finger_turn_right_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
;=====================
; finger match
;=====================
; TODO
finger_match_sprite:
.if 0
finger_match_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
finger_match_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
finger_match_mask_l: ; X 654 3 210
.byte $ff ; 1 001 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 011
.byte $ff ; 1 000 0 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
finger_match_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
.endif
;======================
; finger match lit
;======================
; TODO
finger_match_lit_sprite:
.if 0
finger_match_lit_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
finger_match_lit_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
finger_match_lit_mask_l: ; X 654 3 210
.byte $ff ; 1 001 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 011
.byte $ff ; 1 000 0 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
finger_match_lit_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
.endif
;=========================
; finger key sprite
;=========================
; TODO
finger_key_sprite:
.if 0
finger_key_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
finger_key_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
finger_key_mask_l: ; X 654 3 210
.byte $ff ; 1 001 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 011
.byte $ff ; 1 000 0 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
finger_key_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
.endif
;===========================
; finger red sprite
;===========================
; TODO
finger_red_page_sprite:
finger_red_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
finger_red_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
finger_red_mask_l: ; X 654 3 210
.byte $ff ; 1 001 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 011
.byte $ff ; 1 000 0 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
finger_red_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
;=====================
; finger blue sprite
;=====================
; TODO
finger_blue_page_sprite:
finger_blue_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
finger_blue_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
finger_blue_mask_l: ; X 654 3 210
.byte $ff ; 1 001 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 011
.byte $ff ; 1 000 0 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
finger_blue_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
;========================
; finger white page
;========================
; TODO
finger_white_page_sprite:
finger_white_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
finger_white_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
finger_white_mask_l: ; X 654 3 210
.byte $ff ; 1 001 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 000
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 001
.byte $ff ; 1 000 0 011
.byte $ff ; 1 000 0 111
.byte $ff ; 1 000 1 111
.byte $ff ; 1 000 1 111
finger_white_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

@ -116,6 +116,8 @@ really_exit:
.include "graphics_dome/dome_graphics.inc"
.include "common_sprites.inc"
;.include "common_sprites.inc"
.include "graphics_sprites/pointer_sprites.inc"
.include "leveldata_dome.inc"

View File

@ -80,9 +80,9 @@ really_draw_grab:
and #DIRECTION_ONLY_POINT
bne special_but_point
lda #<finger_grab_sprite
lda #<grab_sprite
sta INL
lda #>finger_grab_sprite
lda #>grab_sprite
jmp finger_draw
special_but_point:
@ -110,7 +110,9 @@ really_not_special:
; otherwise, finger_point
finger_point:
.if 0
; holding item takes precednce
lda HOLDING_ITEM
cmp #HOLDING_MATCH
@ -168,11 +170,12 @@ white_finger:
sta INL
lda #>finger_white_page_sprite
jmp finger_draw
.endif
real_finger_point:
lda #<finger_point_sprite
lda #<point_sprite
sta INL
lda #>finger_point_sprite
lda #>point_sprite
jmp finger_draw
check_cursor_left:
@ -217,17 +220,17 @@ finger_left:
lda #1
sta IN_LEFT
lda #<finger_left_sprite
lda #<left_sprite
sta INL
lda #>finger_left_sprite
lda #>left_sprite
jmp finger_draw
finger_right:
lda #1
sta IN_RIGHT
lda #<finger_right_sprite
lda #<right_sprite
sta INL
lda #>finger_right_sprite
lda #>right_sprite
jmp finger_draw
finger_uturn_left:
@ -235,9 +238,9 @@ finger_uturn_left:
lda #2
sta IN_LEFT
lda #<finger_turn_left_sprite
lda #<uturn_left_sprite
sta INL
lda #>finger_turn_left_sprite
lda #>uturn_left_sprite
jmp finger_draw
finger_uturn_right:
@ -245,9 +248,9 @@ finger_uturn_right:
lda #2
sta IN_RIGHT
lda #<finger_turn_right_sprite
lda #<uturn_right_sprite
sta INL
lda #>finger_turn_right_sprite
lda #>uturn_right_sprite
jmp finger_draw
finger_draw:

View File

@ -0,0 +1,42 @@
include ../../../Makefile.inc
ZX02 = ~/research/6502_compression/zx02.git/build/zx02 -f
PNG_TO_HGR = ../../../utils/hgr-utils/png2hgr
LINKER_SCRIPTS = ../../../linker_scripts
DOS33 = ../../../utils/dos33fs-utils/dos33
EMPTY_DISK = ../../../empty_disk/empty.dsk
TOKENIZE = ../../../utils/asoft_basic-utils/tokenize_asoft
PNG2GR = ../../../utils/gr-utils/png2gr
PNG2SPRITES = ../../../utils/gr-utils/png2sprites
HGR_SPRITE = ../../../utils/hgr-utils/hgr_make_sprite
all: pointer_sprites.inc
####
pointer_sprites.inc: pointer_sprites.png
$(HGR_SPRITE) -l point_sprite pointer_sprites.png 0 0 13 14 > pointer_sprites.inc
$(HGR_SPRITE) -l point_mask pointer_sprites.png 0 15 13 29 >> pointer_sprites.inc
$(HGR_SPRITE) -l grab_sprite pointer_sprites.png 28 0 41 14 >> pointer_sprites.inc
$(HGR_SPRITE) -l grab_mask pointer_sprites.png 28 15 41 29 >> pointer_sprites.inc
$(HGR_SPRITE) -l right_sprite pointer_sprites.png 0 30 13 44 >> pointer_sprites.inc
$(HGR_SPRITE) -l right_mask pointer_sprites.png 0 45 13 59 >> pointer_sprites.inc
$(HGR_SPRITE) -l left_sprite pointer_sprites.png 28 30 41 44 >> pointer_sprites.inc
$(HGR_SPRITE) -l left_mask pointer_sprites.png 28 45 41 59 >> pointer_sprites.inc
$(HGR_SPRITE) -l uturn_right_sprite pointer_sprites.png 0 60 13 74 >> pointer_sprites.inc
$(HGR_SPRITE) -l uturn_right_mask pointer_sprites.png 0 75 13 89 >> pointer_sprites.inc
$(HGR_SPRITE) -l uturn_left_sprite pointer_sprites.png 28 60 41 74 >> pointer_sprites.inc
$(HGR_SPRITE) -l uturn_left_mask pointer_sprites.png 28 75 41 89 >> pointer_sprites.inc
####
clean:
rm -f *~ *.o *.lst *.zx02 *.hgr pointer_sprites.inc

Binary file not shown.

After

Width:  |  Height:  |  Size: 950 B

View File

@ -5,87 +5,71 @@
; SPRITE in INL/INH
; Location at CURSOR_X CURSOR_Y
; left sprite AT INL/INH
; right sprite at INL/INH + 14
; left mask at INL/INH + 28
; right mask at INL/INH + 42
; sprite at INL/INH
; mask at INL/INH + 28
hgr_draw_sprite_14x14:
; set up pointers
; set up pointers for sprite
lda INL
sta hds_smc1+1
lda INH
sta hds_smc1+2
clc
lda INL
adc #14
sta hds_smc2+1
lda INH
adc #0
sta hds_smc1+2
sta hds_smc2+2
; setup pointers for mask
clc
lda INL
adc #28
sta hds_smc3+1
lda INH
adc #0
sta hds_smc3+2
clc
lda INL
adc #42
sta hds_smc4+1
lda INH
adc #0
sta hds_smc3+2
sta hds_smc4+2
ldx #0
hgr_14x14_sprite_yloop:
txa
pha
lsr ; get Ypos from X
clc
adc CURSOR_Y
tax
lda hposn_high,X
tay ; point GBASL/GBASH to Ypos row
lda hposn_high,Y
sta GBASH
lda hposn_low,X
lda hposn_low,Y
sta GBASL
; ldx #0
; ldy #0
; pla
; tax
; calc GBASL/GBASH
; jsr HPOSN ; (Y,X),(A) (values stored in HGRX,XH,Y)
ldy CURSOR_X ; point to Xpos
pla
tax
ldy CURSOR_X
lda (GBASL),Y
lda (GBASL),Y ; load background color
hds_smc3:
and point_mask_l,X
and point_mask,X
hds_smc1:
ora point_sprite_l,X
ora point_sprite,X
sta (GBASL),Y
iny
inx
lda (GBASL),Y
hds_smc4:
and point_mask_r,X
and point_mask,X
hds_smc2:
ora point_sprite_r,X
ora point_sprite,X
sta (GBASL),Y
inx
cpx #14
cpx #28
bne hgr_14x14_sprite_yloop
rts