mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-09-27 17:16:25 +00:00
peasant: work on jhonka ending
This commit is contained in:
@@ -36,9 +36,10 @@ jhonka_core.o: jhonka_core.s ../zp.inc ../hardware.inc ../qload.inc \
|
||||
../location_common/init_common.s \
|
||||
sprites_jhonka/sprites_jhonka.inc \
|
||||
sprites_jhonka/sprites_riches.inc \
|
||||
sprites_jhonka/sprites_beat.inc \
|
||||
../move_peasant_new.s ../draw_peasant_new.s \
|
||||
../new_map_location.s ../keyboard.s \
|
||||
../wait_a_bit.s borders.s \
|
||||
../wait_a_bit.s borders.s jhonka_beat.s \
|
||||
jhonka_actions.s draw_jhonka.s update_bg.s
|
||||
ca65 -o jhonka_core.o jhonka_core.s -l jhonka_core.lst
|
||||
|
||||
|
@@ -74,24 +74,44 @@ jhonka_y:
|
||||
.byte 121,121,121,124,124,124
|
||||
|
||||
sprites_xsize:
|
||||
.byte 5,5,6,6,5,6 ; jhonka0..jhonka5
|
||||
.byte 5,5,6,6 ; jhonka0..jhonka3
|
||||
.byte 5,5,6,6 ; jhonka4..jhonka7
|
||||
.byte 5,6 ; jhonka8..jhonka9
|
||||
|
||||
sprites_ysize:
|
||||
.byte 24,26,26,23,31,24,24,26 ; jhonka0..jhonka5
|
||||
.byte 24,26,26,23 ; jhonka0..jhonka3
|
||||
.byte 24,26,26,23 ; jhonka4..jhonka7
|
||||
.byte 31,24 ; jhonka8..jhonka9
|
||||
|
||||
; note: 6 never used?
|
||||
|
||||
; 0 = club on left, club down, knees bent
|
||||
; 1 = club on left, club down, standing
|
||||
; 2 = club on left, club out, standing
|
||||
; 3 = club of left, club out, knees bent
|
||||
; 4 = club on right, club down, knees bent
|
||||
; 5 = club on right, club down, standing
|
||||
; 6 = club on right, club out, standing
|
||||
; 7 = club of right, club out, knees bent
|
||||
; 8 = club on right, club raised
|
||||
; 9 = club on right, club hitting
|
||||
|
||||
sprites_data_l:
|
||||
.byte <jhonka0_sprite,<jhonka1_sprite,<jhonka2_sprite
|
||||
.byte <jhonka3_sprite,<jhonka4_sprite,<jhonka5_sprite
|
||||
.byte <jhonka0_sprite,<jhonka1_sprite,<jhonka2_sprite,<jhonka3_sprite
|
||||
.byte <jhonka4_sprite,<jhonka5_sprite,<jhonka6_sprite,<jhonka7_sprite
|
||||
.byte <jhonka8_sprite,<jhonka9_sprite
|
||||
|
||||
sprites_data_h:
|
||||
.byte >jhonka0_sprite,>jhonka1_sprite,>jhonka2_sprite
|
||||
.byte >jhonka3_sprite,>jhonka4_sprite,>jhonka5_sprite
|
||||
.byte >jhonka0_sprite,>jhonka1_sprite,>jhonka2_sprite,>jhonka3_sprite
|
||||
.byte >jhonka4_sprite,>jhonka5_sprite,>jhonka6_sprite,>jhonka7_sprite
|
||||
.byte >jhonka8_sprite,>jhonka9_sprite
|
||||
|
||||
sprites_mask_l:
|
||||
.byte <jhonka0_mask,<jhonka1_mask,<jhonka2_mask
|
||||
.byte <jhonka3_mask,<jhonka4_mask,<jhonka5_mask
|
||||
.byte <jhonka0_mask,<jhonka1_mask,<jhonka2_mask,<jhonka3_mask
|
||||
.byte <jhonka4_mask,<jhonka5_mask,<jhonka6_mask,<jhonka7_mask
|
||||
.byte <jhonka8_mask,<jhonka9_mask
|
||||
|
||||
sprites_mask_h:
|
||||
.byte >jhonka0_mask,>jhonka1_mask,>jhonka2_mask
|
||||
.byte >jhonka3_mask,>jhonka4_mask,>jhonka5_mask
|
||||
.byte >jhonka0_mask,>jhonka1_mask,>jhonka2_mask,>jhonka3_mask
|
||||
.byte >jhonka4_mask,>jhonka5_mask,>jhonka6_mask,>jhonka7_mask
|
||||
.byte >jhonka8_mask,>jhonka9_mask
|
||||
|
@@ -249,6 +249,17 @@ jhonka_verb_yes:
|
||||
|
||||
; we don't need to restore verb table because we're dying?
|
||||
|
||||
|
||||
ldx #<jhonka_yes_message
|
||||
ldy #>jhonka_yes_message
|
||||
jsr partial_message_step
|
||||
|
||||
jsr jhonka_beat
|
||||
|
||||
ldx #<jhonka_yes_message2
|
||||
ldy #>jhonka_yes_message2
|
||||
jsr finish_parse_message
|
||||
|
||||
; this kills you
|
||||
lda #LOAD_GAME_OVER
|
||||
sta WHICH_LOAD
|
||||
@@ -256,13 +267,7 @@ jhonka_verb_yes:
|
||||
lda #NEW_FROM_DISK
|
||||
sta LEVEL_OVER
|
||||
|
||||
ldx #<jhonka_yes_message
|
||||
ldy #>jhonka_yes_message
|
||||
jsr partial_message_step
|
||||
|
||||
ldx #<jhonka_yes_message2
|
||||
ldy #>jhonka_yes_message2
|
||||
jmp finish_parse_message
|
||||
rts
|
||||
|
||||
|
||||
;=================
|
||||
|
120
games/peasant/location_jhonka/jhonka_beat.s
Normal file
120
games/peasant/location_jhonka/jhonka_beat.s
Normal file
@@ -0,0 +1,120 @@
|
||||
;===================
|
||||
; draw jhonka beat
|
||||
;===================
|
||||
; draw jhonka as he beats us up
|
||||
|
||||
; you say "yes"
|
||||
; prints the "I KILL YOU" message, while still jumping?
|
||||
; Jhonka/you initial position X=112,87
|
||||
; flips left/right somehow
|
||||
; 0 arm out, X=140 Y=113
|
||||
; 1 arm out, X=140 Y=122
|
||||
; 2 club down, X=126, Y=116
|
||||
; 3 arm out, X=126 Y=107
|
||||
; 4 arm out,knees bent X=133, Y=99
|
||||
; 5 again, X=126 Y=96
|
||||
; 6 club down, knees bent, X=126 Y=95
|
||||
; 7 attack1, X=119, Y=88
|
||||
; 8 attack2, X=119, Y=87 peasant=1, 105,86
|
||||
; 9 attack1, X=119, Y=88 peasant=1, 105,86
|
||||
;10 attack2, X=119, Y=87 peasant=2, 105,88
|
||||
;11 attack1, X=119, Y=88 peasant=2, 105,88
|
||||
;12 attack2, X=119, Y=87 peasant=3, 105,90
|
||||
;13 attack1, X=119, Y=88 peasant=3, 105,90
|
||||
;14 attack2, X=119, Y=87 peasant=4, 105,95
|
||||
;15 attack1, X=119, Y=88 peasant=4, 105,95
|
||||
;16 attack2, X=119, Y=87 peasant=5, 98,103
|
||||
;17 attack1, X=119, Y=88 peasant=5, 98,103
|
||||
; then leave showing as print message
|
||||
|
||||
|
||||
jhonka_beat:
|
||||
lda #0
|
||||
sta BEAT_COUNT
|
||||
|
||||
lda #SUPPRESS_JHONKA
|
||||
sta SUPPRESS_DRAWING
|
||||
|
||||
beat_loop:
|
||||
|
||||
jsr update_screen
|
||||
|
||||
; draw peasant if needed
|
||||
|
||||
; draw jhonka
|
||||
|
||||
ldy BEAT_COUNT
|
||||
|
||||
lda beat_x,Y
|
||||
sta SPRITE_X
|
||||
lda beat_y,Y
|
||||
sta SPRITE_Y
|
||||
|
||||
ldx beat_which,Y
|
||||
|
||||
jsr hgr_draw_sprite_mask
|
||||
|
||||
jsr hgr_page_flip
|
||||
|
||||
jsr wait_until_keypress
|
||||
|
||||
;=========================
|
||||
; move to next frame
|
||||
|
||||
inc BEAT_COUNT
|
||||
|
||||
lda BEAT_COUNT
|
||||
cmp #18
|
||||
bne beat_loop
|
||||
|
||||
done_beat:
|
||||
|
||||
lda #0
|
||||
sta SUPPRESS_DRAWING
|
||||
|
||||
rts
|
||||
|
||||
; 0 arm out, X=140 Y=113
|
||||
; 1 arm out, X=140 Y=122
|
||||
; 2 club down, X=126, Y=116
|
||||
; 3 arm out, X=126 Y=107
|
||||
; 4 arm out,knees bent X=133, Y=99
|
||||
; 5 again, X=126 Y=96
|
||||
; 6 club down, knees bent, X=126 Y=95
|
||||
; 7 attack1, X=119, Y=88
|
||||
; 8 attack2, X=119, Y=87 peasant=1, 105,86
|
||||
; 9 attack1, X=119, Y=88 peasant=1, 105,86
|
||||
;10 attack2, X=119, Y=87 peasant=2, 105,88
|
||||
;11 attack1, X=119, Y=88 peasant=2, 105,88
|
||||
;12 attack2, X=119, Y=87 peasant=3, 105,90
|
||||
;13 attack1, X=119, Y=88 peasant=3, 105,90
|
||||
;14 attack2, X=119, Y=87 peasant=4, 105,95
|
||||
;15 attack1, X=119, Y=88 peasant=4, 105,95
|
||||
;16 attack2, X=119, Y=87 peasant=5, 98,103
|
||||
;17 attack1, X=119, Y=88 peasant=5, 98,103
|
||||
|
||||
beat_x:
|
||||
.byte 20,20,18,18, 19,18,18,17
|
||||
.byte 17,17,17,17, 17,17,17,17
|
||||
.byte 17,17
|
||||
|
||||
beat_y:
|
||||
.byte 113,122,116,107, 99,96,95,88
|
||||
.byte 87, 88, 87, 88, 87,88,87,88
|
||||
.byte 87, 88
|
||||
|
||||
|
||||
beat_which:
|
||||
.byte 7,7,4,5, 7,7,4,8
|
||||
.byte 9,8,9,8, 9,8,9,8
|
||||
.byte 9,8
|
||||
|
||||
; note: 6 never used?
|
||||
|
||||
; 4 = club on right, club down, knees bent
|
||||
; 5 = club on right, club down, standing
|
||||
; 6 = club on right, club out, standing
|
||||
; 7 = club of right, club out, knees bent
|
||||
; 8 = club on right, club raised
|
||||
; 9 = club on right, club hitting
|
||||
|
@@ -173,7 +173,9 @@ really_level_over:
|
||||
.include "draw_jhonka.s"
|
||||
.include "sprites_jhonka/sprites_jhonka.inc"
|
||||
.include "sprites_jhonka/sprites_riches.inc"
|
||||
.include "sprites_jhonka/sprites_beat.inc"
|
||||
.include "update_bg.s"
|
||||
.include "jhonka_beat.s"
|
||||
|
||||
USE_BG_PALETTE=1
|
||||
.include "../hgr_routines/hgr_sprite_mask.s"
|
||||
@@ -192,13 +194,22 @@ update_screen:
|
||||
jsr hgr_copy_faster
|
||||
|
||||
;=====================
|
||||
; always draw peasant
|
||||
; draw peasant
|
||||
|
||||
lda SUPPRESS_DRAWING
|
||||
and #SUPPRESS_PEASANT
|
||||
bne skip_draw_peasant
|
||||
jsr draw_peasant
|
||||
skip_draw_peasant:
|
||||
|
||||
;=====================
|
||||
; draw jhonka
|
||||
|
||||
lda SUPPRESS_DRAWING
|
||||
and #SUPPRESS_JHONKA
|
||||
bne skip_draw_jhonka
|
||||
|
||||
jsr draw_jhonka
|
||||
skip_draw_jhonka:
|
||||
|
||||
rts
|
||||
|
@@ -1,6 +1,6 @@
|
||||
HGR_SPRITE = ../../../../utils/hgr-utils/hgr_make_sprite
|
||||
|
||||
all: sprites_jhonka.inc sprites_riches.inc
|
||||
all: sprites_jhonka.inc sprites_riches.inc sprites_beat.inc
|
||||
|
||||
|
||||
sprites_jhonka.inc: sprites_jhonka.png
|
||||
@@ -9,19 +9,36 @@ sprites_jhonka.inc: sprites_jhonka.png
|
||||
$(HGR_SPRITE) -l jhonka1_sprite sprites_jhonka.png 56 31 90 57 >> sprites_jhonka.inc
|
||||
$(HGR_SPRITE) -l jhonka2_sprite sprites_jhonka.png 98 31 139 57 >> sprites_jhonka.inc
|
||||
$(HGR_SPRITE) -l jhonka3_sprite sprites_jhonka.png 154 34 195 57 >> sprites_jhonka.inc
|
||||
$(HGR_SPRITE) -l jhonka4_sprite sprites_jhonka.png 14 121 48 152 >> sprites_jhonka.inc
|
||||
$(HGR_SPRITE) -l jhonka5_sprite sprites_jhonka.png 49 128 90 152 >> sprites_jhonka.inc
|
||||
$(HGR_SPRITE) -l jhonka8_sprite sprites_jhonka.png 14 121 48 152 >> sprites_jhonka.inc
|
||||
$(HGR_SPRITE) -l jhonka9_sprite sprites_jhonka.png 49 128 90 152 >> sprites_jhonka.inc
|
||||
$(HGR_SPRITE) -l jhonka0_mask sprites_jhonka.png 14 62 48 86 >> sprites_jhonka.inc
|
||||
$(HGR_SPRITE) -l jhonka1_mask sprites_jhonka.png 56 60 90 86 >> sprites_jhonka.inc
|
||||
$(HGR_SPRITE) -l jhonka2_mask sprites_jhonka.png 98 60 139 86 >> sprites_jhonka.inc
|
||||
$(HGR_SPRITE) -l jhonka3_mask sprites_jhonka.png 154 63 195 86 >> sprites_jhonka.inc
|
||||
$(HGR_SPRITE) -l jhonka4_mask sprites_jhonka.png 14 154 48 185 >> sprites_jhonka.inc
|
||||
$(HGR_SPRITE) -l jhonka5_mask sprites_jhonka.png 49 161 90 185 >> sprites_jhonka.inc
|
||||
$(HGR_SPRITE) -l jhonka8_mask sprites_jhonka.png 14 154 48 185 >> sprites_jhonka.inc
|
||||
$(HGR_SPRITE) -l jhonka9_mask sprites_jhonka.png 49 161 90 185 >> sprites_jhonka.inc
|
||||
|
||||
sprites_riches.inc: sprites_riches.png
|
||||
$(HGR_SPRITE) -s -l nostack_sprite sprites_riches.png 154 55 181 72 > sprites_riches.inc
|
||||
$(HGR_SPRITE) -s -l riches_sprite sprites_riches.png 91 100 139 126 >> sprites_riches.inc
|
||||
|
||||
clean:
|
||||
rm -f *~ sprites_jhonka.inc
|
||||
sprites_beat.inc: sprites_beaten.png
|
||||
$(HGR_SPRITE) -s -l smash1_sprite sprites_beaten.png 98 88 111 119 > sprites_beat.inc
|
||||
$(HGR_SPRITE) -s -l smash2_sprite sprites_beaten.png 126 91 139 119 >> sprites_beat.inc
|
||||
$(HGR_SPRITE) -s -l smash3_sprite sprites_beaten.png 154 93 167 119 >> sprites_beat.inc
|
||||
$(HGR_SPRITE) -s -l smash4_sprite sprites_beaten.png 182 98 195 119 >> sprites_beat.inc
|
||||
$(HGR_SPRITE) -s -l smash5_sprite sprites_beaten.png 203 106 223 119 >> sprites_beat.inc
|
||||
$(HGR_SPRITE) -l jhonka4_sprite sprites_beaten.png 14 33 48 57 >> sprites_beat.inc
|
||||
$(HGR_SPRITE) -l jhonka5_sprite sprites_beaten.png 56 31 90 57 >> sprites_beat.inc
|
||||
$(HGR_SPRITE) -l jhonka6_sprite sprites_beaten.png 98 31 139 57 >> sprites_beat.inc
|
||||
$(HGR_SPRITE) -l jhonka7_sprite sprites_beaten.png 154 34 195 57 >> sprites_beat.inc
|
||||
$(HGR_SPRITE) -l jhonka4_mask sprites_beaten.png 14 62 48 86 >> sprites_beat.inc
|
||||
$(HGR_SPRITE) -l jhonka5_mask sprites_beaten.png 56 60 90 86 >> sprites_beat.inc
|
||||
$(HGR_SPRITE) -l jhonka6_mask sprites_beaten.png 98 60 139 86 >> sprites_beat.inc
|
||||
$(HGR_SPRITE) -l jhonka7_mask sprites_beaten.png 154 63 195 86 >> sprites_beat.inc
|
||||
|
||||
|
||||
|
||||
clean:
|
||||
rm -f *~ sprites_jhonka.inc sprites_riches.inc sprites_beat.inc
|
||||
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
@@ -342,6 +342,7 @@ SUPPRESS_DRAWING=$C5 ; don't draw peasant
|
||||
CUSTOM_PEASANT= $08
|
||||
SUPPRESS_KEEPER= $10
|
||||
SUPPRESS_ARROW = $20
|
||||
SUPPRESS_JHONKA = $40
|
||||
|
||||
SAVED_Y1 = $C7 ; climb (for now)
|
||||
SAVED_Y2 = $C8 ; climb
|
||||
@@ -362,6 +363,7 @@ SLEEP_COUNT = $C9 ; trogdor
|
||||
MUD_COUNT = $C9 ; puddle
|
||||
HAY_JUMP_COUNT = $C9 ; hay
|
||||
|
||||
BEAT_COUNT = $CA ; jhonka
|
||||
BUCKET_STATE = $CA ; well
|
||||
IN_QUIZ = $CA ; outer1/2/3,jhonka
|
||||
GARY_COUNT = $CA ; gary
|
||||
|
Reference in New Issue
Block a user