climb: more progress

can go to next scene, also flame looks better
This commit is contained in:
Vince Weaver 2024-09-10 00:06:47 -04:00
parent 0dd367795a
commit b6202fa141
9 changed files with 124 additions and 71 deletions

View File

@ -85,7 +85,7 @@ climbing_sprites: climbing_sprites.o
ld65 -o climbing_sprites climbing_sprites.o -C $(LINKER_SCRIPTS)/apple2_a000.inc
climbing_sprites.o: climbing_sprites.s \
sprites/flame_sprites.inc \
sprites/climb_flame_sprites.inc \
sprites/climb_sprites.inc
ca65 -o climbing_sprites.o climbing_sprites.s -l climbing_sprites.lst

View File

@ -38,6 +38,7 @@ cliff_climb:
sta PEASANT_STEPS
sta FLAME_COUNT
sta CLIMB_COUNT
sta MAP_LOCATION
lda #10
sta PEASANT_X
@ -49,49 +50,8 @@ cliff_climb:
sta HGR_PAGE
jsr hgr_make_tables
;========================
; Load Priority graphics
;========================
lda #<priority_data
sta ZX0_src
lda #>priority_data
sta ZX0_src+1
lda #$20 ; temporarily load to $2000
jsr full_decomp
; copy to $400
jsr gr_copy_to_page1
;=============================
;==========================
; Load Background Graphics
;===========================
load_image:
lda #<bg_data
sta ZX0_src
lda #>bg_data
sta ZX0_src+1
lda #$20
jsr full_decomp
jsr hgr_copy ; copy to page2
bit PAGE2
jsr load_graphics
;========================
; Load Peasant Sprites
@ -389,7 +349,7 @@ flame_good:
jsr check_keyboard
lda LEVEL_OVER
bne done_cliff
bne top_cliff
; delay
@ -399,11 +359,67 @@ flame_good:
jmp game_loop
done_cliff:
top_cliff:
inc MAP_LOCATION
jsr load_graphics
lda #0
sta WHICH_LOAD
sta LEVEL_OVER
jmp game_loop
load_graphics:
;========================
; Load Priority graphics
;========================
ldx MAP_LOCATION
lda priority_data_l,X
sta ZX0_src
lda priority_data_h,X
sta ZX0_src+1
lda #$20 ; temporarily load to $2000
jsr full_decomp
; copy to $400
jsr gr_copy_to_page1
;=============================
;==========================
; Load Background Graphics
;===========================
ldx MAP_LOCATION
lda bg_data_l,X
sta ZX0_src
lda bg_data_h,X
sta ZX0_src+1
lda #$20
jsr full_decomp
jsr hgr_copy ; copy to page2
bit PAGE2
rts
.include "wait.s"
.include "hgr_tables.s"
@ -429,14 +445,28 @@ done_cliff:
.include "gr_offsets.s"
bg_data:
priority_data_l:
.byte <priority_cliff1,<priority_cliff2,<priority_cliff3
priority_data_h:
.byte >priority_cliff1,>priority_cliff2,>priority_cliff3
bg_data_l:
.byte <bg_cliff1,<bg_cliff2,<bg_cliff3
bg_data_h:
.byte >bg_cliff1,>bg_cliff2,>bg_cliff3
bg_cliff1:
.incbin "cliff_graphics/cliff_base.hgr.zx02"
bg_cliff2:
.incbin "cliff_graphics/cliff2.hgr.zx02"
bg_cliff3:
.incbin "cliff_graphics/cliff3.hgr.zx02"
priority_data:
priority_cliff1:
.incbin "cliff_graphics/cliff_base_priority.zx02"
priority_cliff2:
.incbin "cliff_graphics/cliff2_priority.zx02"
priority_cliff3:
.incbin "cliff_graphics/cliff3_priority.zx02"
sprites:

View File

@ -5,7 +5,7 @@ climb_sprites_xsize:
.byte 3, 3, 3, 3 ; down ; 12
flame_sprites_xsize:
.byte 2, 2, 2 ; right ; 16
.byte 2, 2, 2 ; left ; 19
.byte 3, 3, 3 ; left ; 19
.byte 2, 2, 2 ; up ; 22
.byte 2, 2, 2 ; down ; 25
fall_sprites_xsize:
@ -102,7 +102,7 @@ climb_mask_data_h:
.byte >climb_u0_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_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
fall_mask_data_h:
@ -115,4 +115,4 @@ splat_mask_data_h:
.include "sprites/climb_sprites.inc"
.include "sprites/flame_sprites.inc"
.include "sprites/climb_flame_sprites.inc"

View File

@ -59,8 +59,12 @@ done_draw_peasant:
peasant_climb_offsets:
.byte 8, 0, 4, 12
; note, when climbing, flame is on right for both up and down
; left seems to be same as up
peasant_flame_offsets:
.byte 22,16,19,25
; .byte 22,16,19,25
.byte 25,16,19,25
; note: animation actually 5 frames

View File

@ -134,7 +134,7 @@ peasant_y_toobig:
jsr move_map_south
lda #45 ; new X location
lda #45 ; new Y location
jmp done_movey
@ -144,7 +144,7 @@ peasant_y_negative:
jsr move_map_north
lda #160 ; new X location
lda #160 ; new Y location
jmp done_movey

View File

@ -151,7 +151,7 @@ do_move_peasant_y:
;============================
peasant_y_toobig:
jsr move_map_south
; jsr move_map_south
lda #12 ; new Y location
@ -161,9 +161,12 @@ peasant_y_toobig:
;============================
peasant_y_negative:
jsr move_map_north
; jsr move_map_north
lda #160 ; new Y location
lda #$FF
sta LEVEL_OVER
lda #158 ; new Y location
jmp done_movey

View File

@ -1,6 +1,6 @@
HGR_SPRITE = ../../../../utils/hgr-utils/hgr_make_sprite
all: enemy_sprites.inc walk_sprites.inc \
all: enemy_sprites.inc walk_sprites.inc climb_flame_sprites.inc \
climb_sprites.inc robe_sprites.inc flame_sprites.inc
enemy_sprites.inc: enemy_sprites.png
@ -72,17 +72,6 @@ climb_sprites.inc: climb_sprites.png
$(HGR_SPRITE) -l climb_s1_sprite climb_sprites.png 238 121 258 142 >> climb_sprites.inc
$(HGR_SPRITE) -l climb_s1_mask climb_sprites.png 238 145 258 166 >> climb_sprites.inc
robe_sprites.inc: robe_sprites.png
$(HGR_SPRITE) -l robe_r0_sprite robe_sprites.png 14 32 27 62 > robe_sprites.inc
$(HGR_SPRITE) -l robe_r0_mask robe_sprites.png 14 63 27 93 >> robe_sprites.inc
@ -211,7 +200,34 @@ flame_sprites.inc: flame_sprites.png
$(HGR_SPRITE) -l flame_d2_sprite flame_sprites.png 154 147 167 156 >> flame_sprites.inc
$(HGR_SPRITE) -l flame_d2_mask flame_sprites.png 154 157 167 166 >> flame_sprites.inc
climb_flame_sprites.inc: climb_flame_sprites.png
$(HGR_SPRITE) -l flame_r0_sprite climb_flame_sprites.png 14 25 27 34 > climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_r0_mask climb_flame_sprites.png 14 35 27 44 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_r1_sprite climb_flame_sprites.png 42 25 55 34 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_r1_mask climb_flame_sprites.png 42 35 55 44 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_r2_sprite climb_flame_sprites.png 70 25 83 34 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_r2_mask climb_flame_sprites.png 70 35 83 44 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_l0_sprite climb_flame_sprites.png 98 25 118 34 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_l0_mask climb_flame_sprites.png 98 35 118 44 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_l1_sprite climb_flame_sprites.png 126 25 146 34 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_l1_mask climb_flame_sprites.png 126 35 146 44 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_l2_sprite climb_flame_sprites.png 154 25 174 34 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_l2_mask climb_flame_sprites.png 154 35 174 44 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_u0_sprite climb_flame_sprites.png 14 147 27 156 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_u0_mask climb_flame_sprites.png 14 157 27 166 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_u1_sprite climb_flame_sprites.png 42 147 55 156 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_u1_mask climb_flame_sprites.png 42 157 55 166 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_u2_sprite climb_flame_sprites.png 70 147 83 156 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_u2_mask climb_flame_sprites.png 70 157 83 166 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_d0_sprite climb_flame_sprites.png 98 147 111 156 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_d0_mask climb_flame_sprites.png 98 157 111 166 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_d1_sprite climb_flame_sprites.png 126 147 139 156 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_d1_mask climb_flame_sprites.png 126 157 139 166 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_d2_sprite climb_flame_sprites.png 154 147 167 156 >> climb_flame_sprites.inc
$(HGR_SPRITE) -l flame_d2_mask climb_flame_sprites.png 154 157 167 166 >> climb_flame_sprites.inc
clean:
rm -f *~ enemy_sprites.inc robe_sprites.inc flame_sprites.inc \
walk_sprites.inc climb_sprites.inc
walk_sprites.inc climb_sprites.inc climb_flame_sprites.inc

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@ -79,7 +79,7 @@ walk_mask_data_h:
.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_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