cliff: test using compressed sprites

This commit is contained in:
Vince Weaver 2024-09-03 12:42:45 -04:00
parent d6412c531a
commit 911b6b7d09
2 changed files with 33 additions and 93 deletions

View File

@ -35,20 +35,23 @@ cliff.o: cliff.s zx02_optim.s \
random16.s \
cliff_graphics/cliff_base.hgr.zx02 \
sprites/enemy_sprites.inc \
sprites/walk_sprites.inc \
sprites/flame_sprites.inc \
zp.inc hardware.inc \
walking_sprites.zx02
ca65 -o cliff.o cliff.s -l cliff.lst
####
# sprites/walk_sprites.inc \
# sprites/flame_sprites.inc \
walking_sprites.zx02: walking_sprites
$(ZX02) -f walking_sprites walking_sprites.zx02
walking_sprites: walking_sprites.o
ld65 -o walking_sprites walking_sprites.o -C $(LINKER_SCRIPTS)/apple2_a000.inc
walking_sprites.o: walking_sprites.s sprites/walk_sprites.inc
walking_sprites.o: walking_sprites.s \
sprites/flame_sprites.inc \
sprites/walk_sprites.inc
ca65 -o walking_sprites.o walking_sprites.s -l walking_sprites.lst

View File

@ -50,9 +50,9 @@ cliff_base:
sta HGR_PAGE
jsr hgr_make_tables
;===================
; Load graphics
;===================
;========================
; Load Priority graphics
;========================
lda #<priority_data
sta ZX0_src
@ -73,13 +73,11 @@ cliff_base:
;==========================
; Load Image
; Load Background Graphics
;===========================
load_image:
; size in ldsizeh:ldsizel (f1/f0)
lda #<bg_data
sta ZX0_src
lda #>bg_data
@ -96,6 +94,20 @@ load_image:
;========================
; Load Peasant Sprites
;========================
lda #<walking_sprite_data
sta ZX0_src
lda #>walking_sprite_data
sta ZX0_src+1
lda #$a0
jsr full_decomp
;==========================
;==========================
; main loop
@ -514,89 +526,14 @@ rock_y:
.include "hgr_sprite_bg_mask.s"
.include "sprites/walk_sprites.inc"
walking_sprite_data:
.incbin "walking_sprites.zx02"
.include "sprites/flame_sprites.inc"
peasant_sprite_offset = $a000
walk_sprites_xsize:
.byte 2, 2, 2, 2, 2, 2 ; right ; 0
.byte 2, 2, 2, 2, 2, 2 ; left ; 6
.byte 2, 2, 2, 2, 2, 2 ; up ; 12
.byte 2, 2, 2, 2, 2, 2 ; down ; 18
flame_sprites_xsize:
.byte 2, 2, 2 ; right ; 24
.byte 2, 2, 2 ; left ; 27
.byte 2, 2, 2 ; up ; 30
.byte 2, 2, 2 ; down ; 33
walk_sprites_ysize:
.byte 30, 30, 30, 30, 30, 30 ; right
.byte 30, 30, 30, 30, 30, 30 ; left
.byte 30, 30, 30, 30, 30, 30 ; up
.byte 30, 30, 30, 30, 30, 30 ; down
flame_sprites_ysize:
.byte 9, 9, 9 ; right
.byte 9, 9, 9 ; left
.byte 9, 9, 9 ; up
.byte 9, 9, 9 ; down
walk_sprites_data_l:
.byte <walk_r0_sprite,<walk_r1_sprite,<walk_r2_sprite
.byte <walk_r3_sprite,<walk_r4_sprite,<walk_r5_sprite
.byte <walk_l0_sprite,<walk_l1_sprite,<walk_l2_sprite
.byte <walk_l3_sprite,<walk_l4_sprite,<walk_l5_sprite
.byte <walk_u0_sprite,<walk_u1_sprite,<walk_u2_sprite
.byte <walk_u3_sprite,<walk_u4_sprite,<walk_u5_sprite
.byte <walk_d0_sprite,<walk_d1_sprite,<walk_d2_sprite
.byte <walk_d3_sprite,<walk_d4_sprite,<walk_d5_sprite
flame_sprites_data_l:
.byte <flame_r0_sprite,<flame_r1_sprite,<flame_r2_sprite
.byte <flame_l0_sprite,<flame_l1_sprite,<flame_l2_sprite
.byte <flame_u0_sprite,<flame_u1_sprite,<flame_u2_sprite
.byte <flame_d0_sprite,<flame_d1_sprite,<flame_d2_sprite
walk_sprites_data_h:
.byte >walk_r0_sprite,>walk_r1_sprite,>walk_r2_sprite
.byte >walk_r3_sprite,>walk_r4_sprite,>walk_r5_sprite
.byte >walk_l0_sprite,>walk_l1_sprite,>walk_l2_sprite
.byte >walk_l3_sprite,>walk_l4_sprite,>walk_l5_sprite
.byte >walk_u0_sprite,>walk_u1_sprite,>walk_u2_sprite
.byte >walk_u3_sprite,>walk_u4_sprite,>walk_u5_sprite
.byte >walk_d0_sprite,>walk_d1_sprite,>walk_d2_sprite
.byte >walk_d3_sprite,>walk_d4_sprite,>walk_d5_sprite
flame_sprites_data_h:
.byte >flame_r0_sprite,>flame_r1_sprite,>flame_r2_sprite
.byte >flame_l0_sprite,>flame_l1_sprite,>flame_l2_sprite
.byte >flame_u0_sprite,>flame_u1_sprite,>flame_u2_sprite
.byte >flame_d0_sprite,>flame_d1_sprite,>flame_d2_sprite
walk_mask_data_l:
.byte <walk_r0_mask,<walk_r1_mask,<walk_r2_mask
.byte <walk_r3_mask,<walk_r4_mask,<walk_r5_mask
.byte <walk_l0_mask,<walk_l1_mask,<walk_l2_mask
.byte <walk_l3_mask,<walk_l4_mask,<walk_l5_mask
.byte <walk_u0_mask,<walk_u1_mask,<walk_u2_mask
.byte <walk_u3_mask,<walk_u4_mask,<walk_u5_mask
.byte <walk_d0_mask,<walk_d1_mask,<walk_d2_mask
.byte <walk_d3_mask,<walk_d4_mask,<walk_d5_mask
flame_mask_data_l:
.byte <flame_r0_mask,<flame_r1_mask,<flame_r2_mask
.byte <flame_l0_mask,<flame_l1_mask,<flame_l2_mask
.byte <flame_u0_mask,<flame_u1_mask,<flame_u2_mask
.byte <flame_d0_mask,<flame_d1_mask,<flame_d2_mask
walk_mask_data_h:
.byte >walk_r0_mask,>walk_r1_mask,>walk_r2_mask
.byte >walk_r3_mask,>walk_r4_mask,>walk_r5_mask
.byte >walk_l0_mask,>walk_l1_mask,>walk_l2_mask
.byte >walk_l3_mask,>walk_l4_mask,>walk_l5_mask
.byte >walk_u0_mask,>walk_u1_mask,>walk_u2_mask
.byte >walk_u3_mask,>walk_u4_mask,>walk_u5_mask
.byte >walk_d0_mask,>walk_d1_mask,>walk_d2_mask
.byte >walk_d3_mask,>walk_d4_mask,>walk_d5_mask
flame_mask_data_h:
.byte >flame_r0_mask,>flame_r1_mask,>flame_r2_mask
.byte >flame_l0_mask,>flame_r1_mask,>flame_l2_mask
.byte >flame_u0_mask,>flame_u1_mask,>flame_u2_mask
.byte >flame_d0_mask,>flame_d1_mask,>flame_d2_mask
walk_sprites_xsize = peasant_sprite_offset+0
walk_sprites_ysize = peasant_sprite_offset+36
walk_sprites_data_l = peasant_sprite_offset+72
walk_sprites_data_h = peasant_sprite_offset+108
walk_mask_data_l = peasant_sprite_offset+144
walk_mask_data_h = peasant_sprite_offset+180