mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-14 13:33:48 +00:00
peasant: lightning more or less working
This commit is contained in:
parent
8eb1e9885e
commit
35d8b590a1
@ -13,7 +13,7 @@ cliff_heights.o: cliff_heights.s \
|
|||||||
../zp.inc ../hardware.inc ../qload.inc ../version.inc \
|
../zp.inc ../hardware.inc ../qload.inc ../version.inc \
|
||||||
../inventory/inventory.inc \
|
../inventory/inventory.inc \
|
||||||
../parse_input.inc \
|
../parse_input.inc \
|
||||||
cliff_actions.s \
|
cliff_actions.s draw_lightning.s \
|
||||||
../text/DIALOG_CLIFF_HEIGHTS.ZX02 ../text/dialog_cliff_heights.inc \
|
../text/DIALOG_CLIFF_HEIGHTS.ZX02 ../text/dialog_cliff_heights.inc \
|
||||||
graphics_heights/ciff_heights_graphics.inc \
|
graphics_heights/ciff_heights_graphics.inc \
|
||||||
graphics_heights/priority_cliff_heights.inc \
|
graphics_heights/priority_cliff_heights.inc \
|
||||||
|
@ -232,27 +232,16 @@ game_loop:
|
|||||||
bmi oops_new_location
|
bmi oops_new_location
|
||||||
bne level_over
|
bne level_over
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;=====================
|
;=====================
|
||||||
; draw lightning
|
; draw lightning
|
||||||
|
|
||||||
lda FRAME
|
lda MAP_LOCATION
|
||||||
and #$3
|
cmp #LOCATION_CLIFF_HEIGHTS
|
||||||
tax
|
bne no_lightning
|
||||||
|
jsr draw_lightning
|
||||||
; ldx #0
|
no_lightning:
|
||||||
lda big_lightning_l,X
|
|
||||||
sta INL
|
|
||||||
lda big_lightning_h,X
|
|
||||||
sta INH
|
|
||||||
|
|
||||||
lda big_lightning_x,X
|
|
||||||
sta CURSOR_X
|
|
||||||
lda big_lightning_y,X
|
|
||||||
sta CURSOR_Y
|
|
||||||
|
|
||||||
jsr hgr_draw_sprite
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;=====================
|
;=====================
|
||||||
; always draw peasant
|
; always draw peasant
|
||||||
@ -426,25 +415,7 @@ cliff_text_zx02:
|
|||||||
robe_sprite_data:
|
robe_sprite_data:
|
||||||
.incbin "../sprites_peasant/robe_sprites.zx02"
|
.incbin "../sprites_peasant/robe_sprites.zx02"
|
||||||
|
|
||||||
.include "sprites_heights/lightning_sprites.inc"
|
|
||||||
.include "sprites_heights/ron_sprites.inc"
|
.include "sprites_heights/ron_sprites.inc"
|
||||||
|
|
||||||
big_lightning_l:
|
.include "draw_lightning.s"
|
||||||
.byte <big_lightning0,<big_lightning1,<big_lightning2,<big_lightning3
|
|
||||||
small_lightning_l:
|
|
||||||
.byte <small_lightning0,<small_lightning1,<small_lightning2,<small_lightning3
|
|
||||||
|
|
||||||
big_lightning_h:
|
|
||||||
.byte >big_lightning0,>big_lightning1,>big_lightning2,>big_lightning3
|
|
||||||
small_lightning_h:
|
|
||||||
.byte >small_lightning0,>small_lightning1,>small_lightning2,>small_lightning3
|
|
||||||
|
|
||||||
big_lightning_x:
|
|
||||||
.byte 13,11,10,10
|
|
||||||
small_lightning_x:
|
|
||||||
.byte 2,2,2,2
|
|
||||||
|
|
||||||
big_lightning_y:
|
|
||||||
.byte 27,27,27,27
|
|
||||||
small_lightning_y:
|
|
||||||
.byte 39,39,39,39
|
|
||||||
|
159
games/peasant/cliff_heights/draw_lightning.s
Normal file
159
games/peasant/cliff_heights/draw_lightning.s
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
;=====================
|
||||||
|
; draw lightning
|
||||||
|
;=====================
|
||||||
|
|
||||||
|
draw_lightning:
|
||||||
|
|
||||||
|
;=====================
|
||||||
|
; check big
|
||||||
|
|
||||||
|
lda big_lightning_out
|
||||||
|
bne draw_big_lightning
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
; see if need to start
|
||||||
|
jsr random8
|
||||||
|
|
||||||
|
and #$3f ; 1/64 chance
|
||||||
|
bne done_big_lightning
|
||||||
|
|
||||||
|
;=====================
|
||||||
|
; draw big
|
||||||
|
draw_big_lightning:
|
||||||
|
|
||||||
|
inc big_lightning_out
|
||||||
|
|
||||||
|
ldx big_lightning_out
|
||||||
|
lda big_lightning_pattern,X
|
||||||
|
bpl keep_drawing_big_lightning
|
||||||
|
|
||||||
|
;===============
|
||||||
|
; done drawing
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sta big_lightning_out
|
||||||
|
beq done_big_lightning ; bra
|
||||||
|
|
||||||
|
|
||||||
|
keep_drawing_big_lightning:
|
||||||
|
|
||||||
|
tax
|
||||||
|
lda big_lightning_l,X
|
||||||
|
sta INL
|
||||||
|
lda big_lightning_h,X
|
||||||
|
sta INH
|
||||||
|
|
||||||
|
lda big_lightning_x,X
|
||||||
|
sta CURSOR_X
|
||||||
|
lda big_lightning_y,X
|
||||||
|
sta CURSOR_Y
|
||||||
|
|
||||||
|
jsr hgr_draw_sprite
|
||||||
|
|
||||||
|
done_big_lightning:
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
; check small
|
||||||
|
|
||||||
|
lda small_lightning_out
|
||||||
|
bne draw_small_lightning
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
; see if need to start
|
||||||
|
jsr random8
|
||||||
|
|
||||||
|
and #$3f ; 1/64 chance
|
||||||
|
bne done_small_lightning
|
||||||
|
|
||||||
|
;=====================
|
||||||
|
; draw small
|
||||||
|
draw_small_lightning:
|
||||||
|
|
||||||
|
inc small_lightning_out
|
||||||
|
|
||||||
|
ldx small_lightning_out
|
||||||
|
lda small_lightning_pattern,X
|
||||||
|
bpl keep_drawing_small_lightning
|
||||||
|
|
||||||
|
;===============
|
||||||
|
; done drawing
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sta small_lightning_out
|
||||||
|
beq done_small_lightning ; bra
|
||||||
|
|
||||||
|
|
||||||
|
keep_drawing_small_lightning:
|
||||||
|
|
||||||
|
tax
|
||||||
|
lda small_lightning_l,X
|
||||||
|
sta INL
|
||||||
|
lda small_lightning_h,X
|
||||||
|
sta INH
|
||||||
|
|
||||||
|
lda small_lightning_x,X
|
||||||
|
sta CURSOR_X
|
||||||
|
lda small_lightning_y,X
|
||||||
|
sta CURSOR_Y
|
||||||
|
|
||||||
|
jsr hgr_draw_sprite
|
||||||
|
|
||||||
|
done_small_lightning:
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
.include "sprites_heights/lightning_sprites.inc"
|
||||||
|
|
||||||
|
big_lightning_l:
|
||||||
|
.byte <big_lightning0,<big_lightning1,<big_lightning2,<big_lightning3
|
||||||
|
small_lightning_l:
|
||||||
|
.byte <small_lightning0,<small_lightning1,<small_lightning2,<small_lightning3
|
||||||
|
|
||||||
|
big_lightning_h:
|
||||||
|
.byte >big_lightning0,>big_lightning1,>big_lightning2,>big_lightning3
|
||||||
|
small_lightning_h:
|
||||||
|
.byte >small_lightning0,>small_lightning1,>small_lightning2,>small_lightning3
|
||||||
|
|
||||||
|
big_lightning_x:
|
||||||
|
.byte 10,12,10,10
|
||||||
|
small_lightning_x:
|
||||||
|
.byte 2,2,2,2
|
||||||
|
|
||||||
|
big_lightning_y:
|
||||||
|
.byte 26,26,26,26
|
||||||
|
small_lightning_y:
|
||||||
|
.byte 39,39,39,39
|
||||||
|
|
||||||
|
|
||||||
|
; patterns ; assume 1/4 the frame rate?
|
||||||
|
; big lightning: 1 (8) 2
|
||||||
|
; 2 (7) 2
|
||||||
|
; 3 (11) 3
|
||||||
|
; 0 (4) 1
|
||||||
|
; 3 (7) 2
|
||||||
|
; 0 (6) 2
|
||||||
|
; 3 (6) 2
|
||||||
|
; 0,done 1,ff
|
||||||
|
|
||||||
|
big_lightning_pattern:
|
||||||
|
.byte 1,1,2,2,3,3,3,0,3,3,0,0,3,3,0,$FF
|
||||||
|
|
||||||
|
; small lightning:
|
||||||
|
; 1 (5) 2
|
||||||
|
; 2 (6) 2
|
||||||
|
; 3 (10) 3
|
||||||
|
; 0 (5) 1
|
||||||
|
; 3 (7) 2
|
||||||
|
; 0 (4) 2
|
||||||
|
; 3 (6) 2
|
||||||
|
; 0 done 1,ff
|
||||||
|
|
||||||
|
small_lightning_pattern:
|
||||||
|
.byte 1,1,2,2,3,3,3,0,3,3,0,0,3,3,0,$ff
|
||||||
|
|
||||||
|
big_lightning_out:
|
||||||
|
.byte $00
|
||||||
|
|
||||||
|
small_lightning_out:
|
||||||
|
.byte $00
|
||||||
|
|
@ -3,14 +3,14 @@ HGR_SPRITE = ../../../../utils/hgr-utils/hgr_make_sprite
|
|||||||
all: lightning_sprites.inc ron_sprites.inc
|
all: lightning_sprites.inc ron_sprites.inc
|
||||||
|
|
||||||
lightning_sprites.inc: lightning.png
|
lightning_sprites.inc: lightning.png
|
||||||
$(HGR_SPRITE) -s -l small_lightning0 lightning.png 14 3 27 15 > lightning_sprites.inc
|
$(HGR_SPRITE) -s -l small_lightning1 lightning.png 14 3 27 14 > lightning_sprites.inc
|
||||||
$(HGR_SPRITE) -s -l small_lightning1 lightning.png 42 3 62 21 >> lightning_sprites.inc
|
$(HGR_SPRITE) -s -l small_lightning2 lightning.png 42 3 69 21 >> lightning_sprites.inc
|
||||||
$(HGR_SPRITE) -s -l small_lightning2 lightning.png 77 3 104 29 >> lightning_sprites.inc
|
$(HGR_SPRITE) -s -l small_lightning3 lightning.png 84 3 111 29 >> lightning_sprites.inc
|
||||||
$(HGR_SPRITE) -s -l small_lightning3 lightning.png 119 3 146 29 >> lightning_sprites.inc
|
$(HGR_SPRITE) -s -l small_lightning0 lightning.png 126 3 153 29 >> lightning_sprites.inc
|
||||||
$(HGR_SPRITE) -s -l big_lightning0 lightning.png 14 51 34 91 >> lightning_sprites.inc
|
$(HGR_SPRITE) -s -l big_lightning1 lightning.png 14 51 41 91 >> lightning_sprites.inc
|
||||||
$(HGR_SPRITE) -s -l big_lightning1 lightning.png 49 51 83 103 >> lightning_sprites.inc
|
$(HGR_SPRITE) -s -l big_lightning2 lightning.png 56 51 97 103 >> lightning_sprites.inc
|
||||||
$(HGR_SPRITE) -s -l big_lightning2 lightning.png 98 51 146 118 >> lightning_sprites.inc
|
$(HGR_SPRITE) -s -l big_lightning3 lightning.png 112 51 167 118 >> lightning_sprites.inc
|
||||||
$(HGR_SPRITE) -s -l big_lightning3 lightning.png 161 51 209 118 >> lightning_sprites.inc
|
$(HGR_SPRITE) -s -l big_lightning0 lightning.png 182 51 237 118 >> lightning_sprites.inc
|
||||||
|
|
||||||
ron_sprites.inc: heights_sprites.png
|
ron_sprites.inc: heights_sprites.png
|
||||||
$(HGR_SPRITE) -s -l ron0 heights_sprites.png 14 32 27 61 > ron_sprites.inc
|
$(HGR_SPRITE) -s -l ron0 heights_sprites.png 14 32 27 61 > ron_sprites.inc
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.7 KiB |
Loading…
x
Reference in New Issue
Block a user